@artblocks/contracts 1.0.1 → 1.0.3

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 (199) hide show
  1. package/README.md +67 -154
  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 +22 -4
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +42 -5
  6. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  7. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  10. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  23. package/artifacts/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol}/GenArt721CoreV2_ENGINE_FLEX.json +3 -3
  24. package/artifacts/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol}/GenArt721CoreV2_PBAB.json +3 -3
  25. package/artifacts/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol}/GenArt721CoreV2_PRTNR.json +3 -3
  26. package/artifacts/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol}/GenArt721MinterBurner_PBAB.json +3 -3
  27. package/artifacts/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol}/GenArt721MinterDAExp_PBAB.json +3 -3
  28. package/artifacts/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol}/GenArt721Minter_PBAB.json +3 -3
  29. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +1960 -0
  30. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2247 -0
  31. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +2247 -0
  32. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +401 -0
  33. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +2281 -0
  34. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol/IAdminACLV0_PROHIBITION.json +359 -0
  35. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +1094 -0
  36. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +242 -0
  37. package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
  38. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +41 -4
  39. package/artifacts/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +111 -0
  40. package/artifacts/contracts/interfaces/0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +172 -0
  41. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +1034 -0
  42. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +30 -0
  43. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +162 -0
  44. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +162 -0
  45. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +137 -13
  46. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +1060 -0
  47. package/artifacts/contracts/interfaces/0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +429 -0
  48. package/artifacts/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +30 -0
  49. package/artifacts/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +24 -0
  50. package/artifacts/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +207 -0
  51. package/artifacts/contracts/interfaces/0.8.x/IWETH.sol/IWETH.json +55 -0
  52. package/artifacts/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol}/BytecodeStorage.json +3 -3
  53. package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +163 -0
  54. package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +10 -0
  55. package/artifacts/contracts/libs/0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  56. package/artifacts/contracts/libs/0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
  57. package/artifacts/contracts/libs/0.8.x/SSTORE2.sol/SSTORE2.json +10 -0
  58. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  59. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  60. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  61. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  62. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +295 -0
  63. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  64. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +692 -0
  65. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  66. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  67. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  68. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  69. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  70. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +104 -124
  71. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  72. package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +1289 -0
  73. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  74. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  75. package/artifacts/contracts/mock/{BytecodeTextCR_DMock.sol/BytecodeTextCR_DMock.json → BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json} +4 -4
  76. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +135 -0
  77. package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +301 -0
  78. package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +33 -0
  79. package/artifacts/contracts/mock/DeadReceiverMock.sol/DeadReceiverMock.json +2 -2
  80. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +114 -0
  81. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
  82. package/artifacts/contracts/mock/GasLimitReceiverBidderMock.sol/GasLimitReceiverBidderMock.json +46 -0
  83. package/artifacts/contracts/mock/GasLimitReceiverMock.sol/GasLimitReceiverMock.json +28 -0
  84. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +22 -4
  85. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
  86. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +440 -0
  87. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +39 -0
  88. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  89. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  90. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  91. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  92. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +51 -0
  93. package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +118 -0
  94. package/artifacts/contracts/{BasicRandomizer.sol → randomizer/deprecated/BasicRandomizer.sol}/BasicRandomizer.json +3 -3
  95. package/artifacts/contracts/randomizer/deprecated/BasicRandomizerBase_v0_0_0.sol/RandomizerBase.json +10 -0
  96. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +229 -0
  97. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +102 -0
  98. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +30 -0
  99. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +231 -0
  100. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
  101. package/contracts/AdminACLV0.sol +1 -1
  102. package/contracts/AdminACLV1.sol +1 -1
  103. package/contracts/DependencyRegistryV0.sol +89 -141
  104. package/contracts/GenArt721CoreV3.sol +160 -204
  105. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +1 -1
  106. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +1 -1
  107. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +1 -1
  108. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +1 -1
  109. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +1 -1
  110. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +1 -1
  111. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +1 -1
  112. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +1 -1
  113. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +1 -1
  114. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +1 -1
  115. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +1 -1
  116. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +1 -1
  117. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +1 -1
  118. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +1 -1
  119. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +1 -1
  120. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +1 -1
  121. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +1 -1
  122. package/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol} +2 -2
  123. package/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol} +2 -2
  124. package/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol} +3 -3
  125. package/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol} +2 -2
  126. package/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol} +2 -2
  127. package/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol} +2 -2
  128. package/contracts/{GenArt721CoreV3_Engine.sol → engine/V3/GenArt721CoreV3_Engine.sol} +163 -216
  129. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +2283 -0
  130. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +2293 -0
  131. package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +281 -0
  132. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +2354 -0
  133. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +123 -0
  134. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +29 -0
  135. package/contracts/engine-registry/CoreRegistryV1.sol +254 -0
  136. package/contracts/engine-registry/EngineRegistryV0.sol +1 -1
  137. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +164 -190
  138. package/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol +62 -0
  139. package/contracts/interfaces/0.8.x/ICoreRegistryV1.sol +27 -0
  140. package/contracts/interfaces/0.8.x/IDelegationRegistry.sol +1 -1
  141. package/contracts/interfaces/0.8.x/IDependencyRegistryCompatibleV0.sol +1 -1
  142. package/contracts/interfaces/0.8.x/IDependencyRegistryV0.sol +1 -1
  143. package/contracts/interfaces/0.8.x/IEngineRegistryV0.sol +1 -1
  144. package/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol +164 -0
  145. package/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol +11 -0
  146. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol +42 -0
  147. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol +0 -8
  148. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +132 -0
  149. package/contracts/interfaces/0.8.x/IMinterFilterV1.sol +158 -0
  150. package/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol +16 -0
  151. package/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol +1 -1
  152. package/contracts/interfaces/0.8.x/IRandomizerV2.sol +2 -5
  153. package/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol +10 -0
  154. package/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol +105 -0
  155. package/contracts/interfaces/0.8.x/IWETH.sol +11 -0
  156. package/contracts/libs/0.8.x/BytecodeStorageV1.sol +399 -0
  157. package/contracts/libs/0.8.x/SSTORE2.sol +109 -0
  158. package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +1 -1
  159. package/contracts/libs/integration-refs/weth9/weth9.sol +765 -0
  160. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +36 -48
  161. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +756 -0
  162. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +27 -35
  163. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +17 -22
  164. package/contracts/minter-suite/Minters/MinterDALinV4.sol +16 -18
  165. package/contracts/minter-suite/Minters/MinterHolderV4.sol +20 -20
  166. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +14 -16
  167. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +37 -36
  168. package/contracts/minter-suite/Minters/MinterSEAV0.sol +1273 -0
  169. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +12 -12
  170. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +10 -11
  171. package/contracts/mock/{BytecodeTextCR_DMock.sol → BytecodeV0TextCR_DMock.sol} +5 -5
  172. package/contracts/mock/BytecodeV1LibCallsMock.sol +114 -0
  173. package/contracts/mock/BytecodeV1TextCR_DMock.sol +233 -0
  174. package/contracts/mock/DeadReceiverBidderMock.sol +23 -0
  175. package/contracts/mock/DeadReceiverMock.sol +1 -1
  176. package/contracts/mock/DummySharedMinter.sol +75 -0
  177. package/contracts/mock/GasLimitReceiverBidderMock.sol +23 -0
  178. package/contracts/mock/GasLimitReceiverMock.sol +19 -0
  179. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +14 -27
  180. package/contracts/mock/MockAdminACLV0.sol +1 -1
  181. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +207 -0
  182. package/contracts/mock/OriginRegisterMock.sol +27 -0
  183. package/contracts/mock/RandomizerV2_NoAssignMock.sol +3 -12
  184. package/contracts/mock/ReentrancySEAMock.sol +36 -0
  185. package/contracts/mock/SSTORE2Mock.sol +93 -0
  186. package/contracts/{BasicRandomizer.sol → randomizer/deprecated/BasicRandomizer.sol} +1 -1
  187. package/contracts/randomizer/deprecated/BasicRandomizerBase_v0_0_0.sol +23 -0
  188. package/contracts/{BasicPolyptychRandomizerV0.sol → randomizer/deprecated/PolyptychRandomizerV0.sol} +20 -29
  189. package/contracts/{BasicRandomizerV2.sol → randomizer/deprecated/RandomizerV2.sol} +6 -14
  190. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +30 -0
  191. package/contracts/randomizer/shared/SharedRandomizerV0.sol +245 -0
  192. package/package.json +36 -30
  193. package/.env.example +0 -10
  194. package/artifacts/contracts/BasicPolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +0 -229
  195. package/artifacts/contracts/BasicRandomizerV2.sol/BasicRandomizerV2.json +0 -102
  196. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +0 -1942
  197. package/artifacts/contracts/engine-registry/future/EngineRegistryV1.sol/EngineRegistryV1.json +0 -109
  198. package/contracts/engine-registry/future/EngineRegistryV1.sol +0 -86
  199. /package/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol} +0 -0
@@ -1,1942 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "GenArt721CoreV3_Engine",
4
- "sourceName": "contracts/GenArt721CoreV3_Engine.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "string",
10
- "name": "_tokenName",
11
- "type": "string"
12
- },
13
- {
14
- "internalType": "string",
15
- "name": "_tokenSymbol",
16
- "type": "string"
17
- },
18
- {
19
- "internalType": "address",
20
- "name": "_renderProviderAddress",
21
- "type": "address"
22
- },
23
- {
24
- "internalType": "address",
25
- "name": "_platformProviderAddress",
26
- "type": "address"
27
- },
28
- {
29
- "internalType": "address",
30
- "name": "_randomizerContract",
31
- "type": "address"
32
- },
33
- {
34
- "internalType": "address",
35
- "name": "_adminACLContract",
36
- "type": "address"
37
- },
38
- {
39
- "internalType": "uint248",
40
- "name": "_startingProjectId",
41
- "type": "uint248"
42
- },
43
- {
44
- "internalType": "bool",
45
- "name": "_autoApproveArtistSplitProposals",
46
- "type": "bool"
47
- },
48
- {
49
- "internalType": "address",
50
- "name": "_engineRegistryContract",
51
- "type": "address"
52
- }
53
- ],
54
- "stateMutability": "nonpayable",
55
- "type": "constructor"
56
- },
57
- {
58
- "anonymous": false,
59
- "inputs": [
60
- {
61
- "indexed": true,
62
- "internalType": "uint256",
63
- "name": "_projectId",
64
- "type": "uint256"
65
- }
66
- ],
67
- "name": "AcceptedArtistAddressesAndSplits",
68
- "type": "event"
69
- },
70
- {
71
- "anonymous": false,
72
- "inputs": [
73
- {
74
- "indexed": true,
75
- "internalType": "address",
76
- "name": "owner",
77
- "type": "address"
78
- },
79
- {
80
- "indexed": true,
81
- "internalType": "address",
82
- "name": "approved",
83
- "type": "address"
84
- },
85
- {
86
- "indexed": true,
87
- "internalType": "uint256",
88
- "name": "tokenId",
89
- "type": "uint256"
90
- }
91
- ],
92
- "name": "Approval",
93
- "type": "event"
94
- },
95
- {
96
- "anonymous": false,
97
- "inputs": [
98
- {
99
- "indexed": true,
100
- "internalType": "address",
101
- "name": "owner",
102
- "type": "address"
103
- },
104
- {
105
- "indexed": true,
106
- "internalType": "address",
107
- "name": "operator",
108
- "type": "address"
109
- },
110
- {
111
- "indexed": false,
112
- "internalType": "bool",
113
- "name": "approved",
114
- "type": "bool"
115
- }
116
- ],
117
- "name": "ApprovalForAll",
118
- "type": "event"
119
- },
120
- {
121
- "anonymous": false,
122
- "inputs": [
123
- {
124
- "indexed": true,
125
- "internalType": "address",
126
- "name": "_to",
127
- "type": "address"
128
- },
129
- {
130
- "indexed": true,
131
- "internalType": "uint256",
132
- "name": "_tokenId",
133
- "type": "uint256"
134
- }
135
- ],
136
- "name": "Mint",
137
- "type": "event"
138
- },
139
- {
140
- "anonymous": false,
141
- "inputs": [
142
- {
143
- "indexed": true,
144
- "internalType": "address",
145
- "name": "_currentMinter",
146
- "type": "address"
147
- }
148
- ],
149
- "name": "MinterUpdated",
150
- "type": "event"
151
- },
152
- {
153
- "anonymous": false,
154
- "inputs": [
155
- {
156
- "indexed": true,
157
- "internalType": "address",
158
- "name": "previousOwner",
159
- "type": "address"
160
- },
161
- {
162
- "indexed": true,
163
- "internalType": "address",
164
- "name": "newOwner",
165
- "type": "address"
166
- }
167
- ],
168
- "name": "OwnershipTransferred",
169
- "type": "event"
170
- },
171
- {
172
- "anonymous": false,
173
- "inputs": [
174
- {
175
- "indexed": true,
176
- "internalType": "bytes32",
177
- "name": "_field",
178
- "type": "bytes32"
179
- }
180
- ],
181
- "name": "PlatformUpdated",
182
- "type": "event"
183
- },
184
- {
185
- "anonymous": false,
186
- "inputs": [
187
- {
188
- "indexed": true,
189
- "internalType": "uint256",
190
- "name": "_projectId",
191
- "type": "uint256"
192
- },
193
- {
194
- "indexed": true,
195
- "internalType": "bytes32",
196
- "name": "_update",
197
- "type": "bytes32"
198
- }
199
- ],
200
- "name": "ProjectUpdated",
201
- "type": "event"
202
- },
203
- {
204
- "anonymous": false,
205
- "inputs": [
206
- {
207
- "indexed": true,
208
- "internalType": "uint256",
209
- "name": "_projectId",
210
- "type": "uint256"
211
- },
212
- {
213
- "indexed": false,
214
- "internalType": "address",
215
- "name": "_artistAddress",
216
- "type": "address"
217
- },
218
- {
219
- "indexed": false,
220
- "internalType": "address",
221
- "name": "_additionalPayeePrimarySales",
222
- "type": "address"
223
- },
224
- {
225
- "indexed": false,
226
- "internalType": "uint256",
227
- "name": "_additionalPayeePrimarySalesPercentage",
228
- "type": "uint256"
229
- },
230
- {
231
- "indexed": false,
232
- "internalType": "address",
233
- "name": "_additionalPayeeSecondarySales",
234
- "type": "address"
235
- },
236
- {
237
- "indexed": false,
238
- "internalType": "uint256",
239
- "name": "_additionalPayeeSecondarySalesPercentage",
240
- "type": "uint256"
241
- }
242
- ],
243
- "name": "ProposedArtistAddressesAndSplits",
244
- "type": "event"
245
- },
246
- {
247
- "anonymous": false,
248
- "inputs": [
249
- {
250
- "indexed": true,
251
- "internalType": "address",
252
- "name": "from",
253
- "type": "address"
254
- },
255
- {
256
- "indexed": true,
257
- "internalType": "address",
258
- "name": "to",
259
- "type": "address"
260
- },
261
- {
262
- "indexed": true,
263
- "internalType": "uint256",
264
- "name": "tokenId",
265
- "type": "uint256"
266
- }
267
- ],
268
- "name": "Transfer",
269
- "type": "event"
270
- },
271
- {
272
- "inputs": [
273
- {
274
- "internalType": "string",
275
- "name": "_projectName",
276
- "type": "string"
277
- },
278
- {
279
- "internalType": "address payable",
280
- "name": "_artistAddress",
281
- "type": "address"
282
- }
283
- ],
284
- "name": "addProject",
285
- "outputs": [],
286
- "stateMutability": "nonpayable",
287
- "type": "function"
288
- },
289
- {
290
- "inputs": [
291
- {
292
- "internalType": "uint256",
293
- "name": "_projectId",
294
- "type": "uint256"
295
- },
296
- {
297
- "internalType": "string",
298
- "name": "_script",
299
- "type": "string"
300
- }
301
- ],
302
- "name": "addProjectScript",
303
- "outputs": [],
304
- "stateMutability": "nonpayable",
305
- "type": "function"
306
- },
307
- {
308
- "inputs": [],
309
- "name": "admin",
310
- "outputs": [
311
- {
312
- "internalType": "address",
313
- "name": "",
314
- "type": "address"
315
- }
316
- ],
317
- "stateMutability": "view",
318
- "type": "function"
319
- },
320
- {
321
- "inputs": [
322
- {
323
- "internalType": "address",
324
- "name": "_sender",
325
- "type": "address"
326
- },
327
- {
328
- "internalType": "address",
329
- "name": "_contract",
330
- "type": "address"
331
- },
332
- {
333
- "internalType": "bytes4",
334
- "name": "_selector",
335
- "type": "bytes4"
336
- }
337
- ],
338
- "name": "adminACLAllowed",
339
- "outputs": [
340
- {
341
- "internalType": "bool",
342
- "name": "",
343
- "type": "bool"
344
- }
345
- ],
346
- "stateMutability": "nonpayable",
347
- "type": "function"
348
- },
349
- {
350
- "inputs": [],
351
- "name": "adminACLContract",
352
- "outputs": [
353
- {
354
- "internalType": "contract IAdminACLV0",
355
- "name": "",
356
- "type": "address"
357
- }
358
- ],
359
- "stateMutability": "view",
360
- "type": "function"
361
- },
362
- {
363
- "inputs": [
364
- {
365
- "internalType": "uint256",
366
- "name": "_projectId",
367
- "type": "uint256"
368
- },
369
- {
370
- "internalType": "address payable",
371
- "name": "_artistAddress",
372
- "type": "address"
373
- },
374
- {
375
- "internalType": "address payable",
376
- "name": "_additionalPayeePrimarySales",
377
- "type": "address"
378
- },
379
- {
380
- "internalType": "uint256",
381
- "name": "_additionalPayeePrimarySalesPercentage",
382
- "type": "uint256"
383
- },
384
- {
385
- "internalType": "address payable",
386
- "name": "_additionalPayeeSecondarySales",
387
- "type": "address"
388
- },
389
- {
390
- "internalType": "uint256",
391
- "name": "_additionalPayeeSecondarySalesPercentage",
392
- "type": "uint256"
393
- }
394
- ],
395
- "name": "adminAcceptArtistAddressesAndSplits",
396
- "outputs": [],
397
- "stateMutability": "nonpayable",
398
- "type": "function"
399
- },
400
- {
401
- "inputs": [
402
- {
403
- "internalType": "address",
404
- "name": "to",
405
- "type": "address"
406
- },
407
- {
408
- "internalType": "uint256",
409
- "name": "tokenId",
410
- "type": "uint256"
411
- }
412
- ],
413
- "name": "approve",
414
- "outputs": [],
415
- "stateMutability": "nonpayable",
416
- "type": "function"
417
- },
418
- {
419
- "inputs": [],
420
- "name": "artblocksDependencyRegistryAddress",
421
- "outputs": [
422
- {
423
- "internalType": "address",
424
- "name": "",
425
- "type": "address"
426
- }
427
- ],
428
- "stateMutability": "view",
429
- "type": "function"
430
- },
431
- {
432
- "inputs": [],
433
- "name": "autoApproveArtistSplitProposals",
434
- "outputs": [
435
- {
436
- "internalType": "bool",
437
- "name": "",
438
- "type": "bool"
439
- }
440
- ],
441
- "stateMutability": "view",
442
- "type": "function"
443
- },
444
- {
445
- "inputs": [
446
- {
447
- "internalType": "address",
448
- "name": "owner",
449
- "type": "address"
450
- }
451
- ],
452
- "name": "balanceOf",
453
- "outputs": [
454
- {
455
- "internalType": "uint256",
456
- "name": "",
457
- "type": "uint256"
458
- }
459
- ],
460
- "stateMutability": "view",
461
- "type": "function"
462
- },
463
- {
464
- "inputs": [],
465
- "name": "coreType",
466
- "outputs": [
467
- {
468
- "internalType": "string",
469
- "name": "",
470
- "type": "string"
471
- }
472
- ],
473
- "stateMutability": "pure",
474
- "type": "function"
475
- },
476
- {
477
- "inputs": [],
478
- "name": "coreVersion",
479
- "outputs": [
480
- {
481
- "internalType": "string",
482
- "name": "",
483
- "type": "string"
484
- }
485
- ],
486
- "stateMutability": "pure",
487
- "type": "function"
488
- },
489
- {
490
- "inputs": [],
491
- "name": "defaultBaseURI",
492
- "outputs": [
493
- {
494
- "internalType": "string",
495
- "name": "",
496
- "type": "string"
497
- }
498
- ],
499
- "stateMutability": "view",
500
- "type": "function"
501
- },
502
- {
503
- "inputs": [],
504
- "name": "forbidNewProjects",
505
- "outputs": [],
506
- "stateMutability": "nonpayable",
507
- "type": "function"
508
- },
509
- {
510
- "inputs": [
511
- {
512
- "internalType": "uint256",
513
- "name": "tokenId",
514
- "type": "uint256"
515
- }
516
- ],
517
- "name": "getApproved",
518
- "outputs": [
519
- {
520
- "internalType": "address",
521
- "name": "",
522
- "type": "address"
523
- }
524
- ],
525
- "stateMutability": "view",
526
- "type": "function"
527
- },
528
- {
529
- "inputs": [
530
- {
531
- "internalType": "uint256",
532
- "name": "_index",
533
- "type": "uint256"
534
- }
535
- ],
536
- "name": "getHistoricalRandomizerAt",
537
- "outputs": [
538
- {
539
- "internalType": "address",
540
- "name": "",
541
- "type": "address"
542
- }
543
- ],
544
- "stateMutability": "view",
545
- "type": "function"
546
- },
547
- {
548
- "inputs": [
549
- {
550
- "internalType": "uint256",
551
- "name": "_projectId",
552
- "type": "uint256"
553
- },
554
- {
555
- "internalType": "uint256",
556
- "name": "_price",
557
- "type": "uint256"
558
- }
559
- ],
560
- "name": "getPrimaryRevenueSplits",
561
- "outputs": [
562
- {
563
- "internalType": "uint256",
564
- "name": "renderProviderRevenue_",
565
- "type": "uint256"
566
- },
567
- {
568
- "internalType": "address payable",
569
- "name": "renderProviderAddress_",
570
- "type": "address"
571
- },
572
- {
573
- "internalType": "uint256",
574
- "name": "platformProviderRevenue_",
575
- "type": "uint256"
576
- },
577
- {
578
- "internalType": "address payable",
579
- "name": "platformProviderAddress_",
580
- "type": "address"
581
- },
582
- {
583
- "internalType": "uint256",
584
- "name": "artistRevenue_",
585
- "type": "uint256"
586
- },
587
- {
588
- "internalType": "address payable",
589
- "name": "artistAddress_",
590
- "type": "address"
591
- },
592
- {
593
- "internalType": "uint256",
594
- "name": "additionalPayeePrimaryRevenue_",
595
- "type": "uint256"
596
- },
597
- {
598
- "internalType": "address payable",
599
- "name": "additionalPayeePrimaryAddress_",
600
- "type": "address"
601
- }
602
- ],
603
- "stateMutability": "view",
604
- "type": "function"
605
- },
606
- {
607
- "inputs": [
608
- {
609
- "internalType": "uint256",
610
- "name": "_tokenId",
611
- "type": "uint256"
612
- }
613
- ],
614
- "name": "getRoyalties",
615
- "outputs": [
616
- {
617
- "internalType": "address payable[]",
618
- "name": "recipients",
619
- "type": "address[]"
620
- },
621
- {
622
- "internalType": "uint256[]",
623
- "name": "bps",
624
- "type": "uint256[]"
625
- }
626
- ],
627
- "stateMutability": "view",
628
- "type": "function"
629
- },
630
- {
631
- "inputs": [
632
- {
633
- "internalType": "address",
634
- "name": "owner",
635
- "type": "address"
636
- },
637
- {
638
- "internalType": "address",
639
- "name": "operator",
640
- "type": "address"
641
- }
642
- ],
643
- "name": "isApprovedForAll",
644
- "outputs": [
645
- {
646
- "internalType": "bool",
647
- "name": "",
648
- "type": "bool"
649
- }
650
- ],
651
- "stateMutability": "view",
652
- "type": "function"
653
- },
654
- {
655
- "inputs": [
656
- {
657
- "internalType": "address",
658
- "name": "_minter",
659
- "type": "address"
660
- }
661
- ],
662
- "name": "isMintWhitelisted",
663
- "outputs": [
664
- {
665
- "internalType": "bool",
666
- "name": "",
667
- "type": "bool"
668
- }
669
- ],
670
- "stateMutability": "view",
671
- "type": "function"
672
- },
673
- {
674
- "inputs": [
675
- {
676
- "internalType": "address",
677
- "name": "_to",
678
- "type": "address"
679
- },
680
- {
681
- "internalType": "uint256",
682
- "name": "_projectId",
683
- "type": "uint256"
684
- },
685
- {
686
- "internalType": "address",
687
- "name": "_by",
688
- "type": "address"
689
- }
690
- ],
691
- "name": "mint_Ecf",
692
- "outputs": [
693
- {
694
- "internalType": "uint256",
695
- "name": "_tokenId",
696
- "type": "uint256"
697
- }
698
- ],
699
- "stateMutability": "nonpayable",
700
- "type": "function"
701
- },
702
- {
703
- "inputs": [],
704
- "name": "minterContract",
705
- "outputs": [
706
- {
707
- "internalType": "address",
708
- "name": "",
709
- "type": "address"
710
- }
711
- ],
712
- "stateMutability": "view",
713
- "type": "function"
714
- },
715
- {
716
- "inputs": [],
717
- "name": "name",
718
- "outputs": [
719
- {
720
- "internalType": "string",
721
- "name": "",
722
- "type": "string"
723
- }
724
- ],
725
- "stateMutability": "view",
726
- "type": "function"
727
- },
728
- {
729
- "inputs": [],
730
- "name": "newProjectsForbidden",
731
- "outputs": [
732
- {
733
- "internalType": "bool",
734
- "name": "",
735
- "type": "bool"
736
- }
737
- ],
738
- "stateMutability": "view",
739
- "type": "function"
740
- },
741
- {
742
- "inputs": [],
743
- "name": "nextProjectId",
744
- "outputs": [
745
- {
746
- "internalType": "uint256",
747
- "name": "",
748
- "type": "uint256"
749
- }
750
- ],
751
- "stateMutability": "view",
752
- "type": "function"
753
- },
754
- {
755
- "inputs": [],
756
- "name": "numHistoricalRandomizers",
757
- "outputs": [
758
- {
759
- "internalType": "uint256",
760
- "name": "",
761
- "type": "uint256"
762
- }
763
- ],
764
- "stateMutability": "view",
765
- "type": "function"
766
- },
767
- {
768
- "inputs": [],
769
- "name": "owner",
770
- "outputs": [
771
- {
772
- "internalType": "address",
773
- "name": "",
774
- "type": "address"
775
- }
776
- ],
777
- "stateMutability": "view",
778
- "type": "function"
779
- },
780
- {
781
- "inputs": [
782
- {
783
- "internalType": "uint256",
784
- "name": "tokenId",
785
- "type": "uint256"
786
- }
787
- ],
788
- "name": "ownerOf",
789
- "outputs": [
790
- {
791
- "internalType": "address",
792
- "name": "",
793
- "type": "address"
794
- }
795
- ],
796
- "stateMutability": "view",
797
- "type": "function"
798
- },
799
- {
800
- "inputs": [],
801
- "name": "platformProviderPrimarySalesAddress",
802
- "outputs": [
803
- {
804
- "internalType": "address payable",
805
- "name": "",
806
- "type": "address"
807
- }
808
- ],
809
- "stateMutability": "view",
810
- "type": "function"
811
- },
812
- {
813
- "inputs": [],
814
- "name": "platformProviderPrimarySalesPercentage",
815
- "outputs": [
816
- {
817
- "internalType": "uint256",
818
- "name": "",
819
- "type": "uint256"
820
- }
821
- ],
822
- "stateMutability": "view",
823
- "type": "function"
824
- },
825
- {
826
- "inputs": [],
827
- "name": "platformProviderSecondarySalesAddress",
828
- "outputs": [
829
- {
830
- "internalType": "address payable",
831
- "name": "",
832
- "type": "address"
833
- }
834
- ],
835
- "stateMutability": "view",
836
- "type": "function"
837
- },
838
- {
839
- "inputs": [],
840
- "name": "platformProviderSecondarySalesBPS",
841
- "outputs": [
842
- {
843
- "internalType": "uint256",
844
- "name": "",
845
- "type": "uint256"
846
- }
847
- ],
848
- "stateMutability": "view",
849
- "type": "function"
850
- },
851
- {
852
- "inputs": [
853
- {
854
- "internalType": "uint256",
855
- "name": "_projectId",
856
- "type": "uint256"
857
- }
858
- ],
859
- "name": "projectArtistPaymentInfo",
860
- "outputs": [
861
- {
862
- "internalType": "address",
863
- "name": "artistAddress",
864
- "type": "address"
865
- },
866
- {
867
- "internalType": "address",
868
- "name": "additionalPayeePrimarySales",
869
- "type": "address"
870
- },
871
- {
872
- "internalType": "uint256",
873
- "name": "additionalPayeePrimarySalesPercentage",
874
- "type": "uint256"
875
- },
876
- {
877
- "internalType": "address",
878
- "name": "additionalPayeeSecondarySales",
879
- "type": "address"
880
- },
881
- {
882
- "internalType": "uint256",
883
- "name": "additionalPayeeSecondarySalesPercentage",
884
- "type": "uint256"
885
- },
886
- {
887
- "internalType": "uint256",
888
- "name": "secondaryMarketRoyaltyPercentage",
889
- "type": "uint256"
890
- }
891
- ],
892
- "stateMutability": "view",
893
- "type": "function"
894
- },
895
- {
896
- "inputs": [
897
- {
898
- "internalType": "uint256",
899
- "name": "_projectId",
900
- "type": "uint256"
901
- }
902
- ],
903
- "name": "projectDetails",
904
- "outputs": [
905
- {
906
- "internalType": "string",
907
- "name": "projectName",
908
- "type": "string"
909
- },
910
- {
911
- "internalType": "string",
912
- "name": "artist",
913
- "type": "string"
914
- },
915
- {
916
- "internalType": "string",
917
- "name": "description",
918
- "type": "string"
919
- },
920
- {
921
- "internalType": "string",
922
- "name": "website",
923
- "type": "string"
924
- },
925
- {
926
- "internalType": "string",
927
- "name": "license",
928
- "type": "string"
929
- }
930
- ],
931
- "stateMutability": "view",
932
- "type": "function"
933
- },
934
- {
935
- "inputs": [
936
- {
937
- "internalType": "uint256",
938
- "name": "_projectId",
939
- "type": "uint256"
940
- }
941
- ],
942
- "name": "projectIdToAdditionalPayeePrimarySales",
943
- "outputs": [
944
- {
945
- "internalType": "address payable",
946
- "name": "",
947
- "type": "address"
948
- }
949
- ],
950
- "stateMutability": "view",
951
- "type": "function"
952
- },
953
- {
954
- "inputs": [
955
- {
956
- "internalType": "uint256",
957
- "name": "_projectId",
958
- "type": "uint256"
959
- }
960
- ],
961
- "name": "projectIdToAdditionalPayeePrimarySalesPercentage",
962
- "outputs": [
963
- {
964
- "internalType": "uint256",
965
- "name": "",
966
- "type": "uint256"
967
- }
968
- ],
969
- "stateMutability": "view",
970
- "type": "function"
971
- },
972
- {
973
- "inputs": [
974
- {
975
- "internalType": "uint256",
976
- "name": "_projectId",
977
- "type": "uint256"
978
- }
979
- ],
980
- "name": "projectIdToAdditionalPayeeSecondarySales",
981
- "outputs": [
982
- {
983
- "internalType": "address payable",
984
- "name": "",
985
- "type": "address"
986
- }
987
- ],
988
- "stateMutability": "view",
989
- "type": "function"
990
- },
991
- {
992
- "inputs": [
993
- {
994
- "internalType": "uint256",
995
- "name": "_projectId",
996
- "type": "uint256"
997
- }
998
- ],
999
- "name": "projectIdToAdditionalPayeeSecondarySalesPercentage",
1000
- "outputs": [
1001
- {
1002
- "internalType": "uint256",
1003
- "name": "",
1004
- "type": "uint256"
1005
- }
1006
- ],
1007
- "stateMutability": "view",
1008
- "type": "function"
1009
- },
1010
- {
1011
- "inputs": [
1012
- {
1013
- "internalType": "uint256",
1014
- "name": "_projectId",
1015
- "type": "uint256"
1016
- }
1017
- ],
1018
- "name": "projectIdToArtistAddress",
1019
- "outputs": [
1020
- {
1021
- "internalType": "address payable",
1022
- "name": "",
1023
- "type": "address"
1024
- }
1025
- ],
1026
- "stateMutability": "view",
1027
- "type": "function"
1028
- },
1029
- {
1030
- "inputs": [
1031
- {
1032
- "internalType": "uint256",
1033
- "name": "_projectId",
1034
- "type": "uint256"
1035
- }
1036
- ],
1037
- "name": "projectIdToSecondaryMarketRoyaltyPercentage",
1038
- "outputs": [
1039
- {
1040
- "internalType": "uint256",
1041
- "name": "",
1042
- "type": "uint256"
1043
- }
1044
- ],
1045
- "stateMutability": "view",
1046
- "type": "function"
1047
- },
1048
- {
1049
- "inputs": [
1050
- {
1051
- "internalType": "uint256",
1052
- "name": "_projectId",
1053
- "type": "uint256"
1054
- },
1055
- {
1056
- "internalType": "uint256",
1057
- "name": "_index",
1058
- "type": "uint256"
1059
- }
1060
- ],
1061
- "name": "projectScriptByIndex",
1062
- "outputs": [
1063
- {
1064
- "internalType": "string",
1065
- "name": "",
1066
- "type": "string"
1067
- }
1068
- ],
1069
- "stateMutability": "view",
1070
- "type": "function"
1071
- },
1072
- {
1073
- "inputs": [
1074
- {
1075
- "internalType": "uint256",
1076
- "name": "_projectId",
1077
- "type": "uint256"
1078
- },
1079
- {
1080
- "internalType": "uint256",
1081
- "name": "_index",
1082
- "type": "uint256"
1083
- }
1084
- ],
1085
- "name": "projectScriptBytecodeAddressByIndex",
1086
- "outputs": [
1087
- {
1088
- "internalType": "address",
1089
- "name": "",
1090
- "type": "address"
1091
- }
1092
- ],
1093
- "stateMutability": "view",
1094
- "type": "function"
1095
- },
1096
- {
1097
- "inputs": [
1098
- {
1099
- "internalType": "uint256",
1100
- "name": "_projectId",
1101
- "type": "uint256"
1102
- }
1103
- ],
1104
- "name": "projectScriptDetails",
1105
- "outputs": [
1106
- {
1107
- "internalType": "string",
1108
- "name": "scriptTypeAndVersion",
1109
- "type": "string"
1110
- },
1111
- {
1112
- "internalType": "string",
1113
- "name": "aspectRatio",
1114
- "type": "string"
1115
- },
1116
- {
1117
- "internalType": "uint256",
1118
- "name": "scriptCount",
1119
- "type": "uint256"
1120
- }
1121
- ],
1122
- "stateMutability": "view",
1123
- "type": "function"
1124
- },
1125
- {
1126
- "inputs": [
1127
- {
1128
- "internalType": "uint256",
1129
- "name": "_projectId",
1130
- "type": "uint256"
1131
- }
1132
- ],
1133
- "name": "projectStateData",
1134
- "outputs": [
1135
- {
1136
- "internalType": "uint256",
1137
- "name": "invocations",
1138
- "type": "uint256"
1139
- },
1140
- {
1141
- "internalType": "uint256",
1142
- "name": "maxInvocations",
1143
- "type": "uint256"
1144
- },
1145
- {
1146
- "internalType": "bool",
1147
- "name": "active",
1148
- "type": "bool"
1149
- },
1150
- {
1151
- "internalType": "bool",
1152
- "name": "paused",
1153
- "type": "bool"
1154
- },
1155
- {
1156
- "internalType": "uint256",
1157
- "name": "completedTimestamp",
1158
- "type": "uint256"
1159
- },
1160
- {
1161
- "internalType": "bool",
1162
- "name": "locked",
1163
- "type": "bool"
1164
- }
1165
- ],
1166
- "stateMutability": "view",
1167
- "type": "function"
1168
- },
1169
- {
1170
- "inputs": [
1171
- {
1172
- "internalType": "uint256",
1173
- "name": "_projectId",
1174
- "type": "uint256"
1175
- }
1176
- ],
1177
- "name": "projectURIInfo",
1178
- "outputs": [
1179
- {
1180
- "internalType": "string",
1181
- "name": "projectBaseURI",
1182
- "type": "string"
1183
- }
1184
- ],
1185
- "stateMutability": "view",
1186
- "type": "function"
1187
- },
1188
- {
1189
- "inputs": [
1190
- {
1191
- "internalType": "uint256",
1192
- "name": "_projectId",
1193
- "type": "uint256"
1194
- },
1195
- {
1196
- "internalType": "address payable",
1197
- "name": "_artistAddress",
1198
- "type": "address"
1199
- },
1200
- {
1201
- "internalType": "address payable",
1202
- "name": "_additionalPayeePrimarySales",
1203
- "type": "address"
1204
- },
1205
- {
1206
- "internalType": "uint256",
1207
- "name": "_additionalPayeePrimarySalesPercentage",
1208
- "type": "uint256"
1209
- },
1210
- {
1211
- "internalType": "address payable",
1212
- "name": "_additionalPayeeSecondarySales",
1213
- "type": "address"
1214
- },
1215
- {
1216
- "internalType": "uint256",
1217
- "name": "_additionalPayeeSecondarySalesPercentage",
1218
- "type": "uint256"
1219
- }
1220
- ],
1221
- "name": "proposeArtistPaymentAddressesAndSplits",
1222
- "outputs": [],
1223
- "stateMutability": "nonpayable",
1224
- "type": "function"
1225
- },
1226
- {
1227
- "inputs": [
1228
- {
1229
- "internalType": "uint256",
1230
- "name": "",
1231
- "type": "uint256"
1232
- }
1233
- ],
1234
- "name": "proposedArtistAddressesAndSplitsHash",
1235
- "outputs": [
1236
- {
1237
- "internalType": "bytes32",
1238
- "name": "",
1239
- "type": "bytes32"
1240
- }
1241
- ],
1242
- "stateMutability": "view",
1243
- "type": "function"
1244
- },
1245
- {
1246
- "inputs": [],
1247
- "name": "randomizerContract",
1248
- "outputs": [
1249
- {
1250
- "internalType": "contract IRandomizerV2",
1251
- "name": "",
1252
- "type": "address"
1253
- }
1254
- ],
1255
- "stateMutability": "view",
1256
- "type": "function"
1257
- },
1258
- {
1259
- "inputs": [
1260
- {
1261
- "internalType": "uint256",
1262
- "name": "_projectId",
1263
- "type": "uint256"
1264
- }
1265
- ],
1266
- "name": "removeProjectLastScript",
1267
- "outputs": [],
1268
- "stateMutability": "nonpayable",
1269
- "type": "function"
1270
- },
1271
- {
1272
- "inputs": [],
1273
- "name": "renderProviderPrimarySalesAddress",
1274
- "outputs": [
1275
- {
1276
- "internalType": "address payable",
1277
- "name": "",
1278
- "type": "address"
1279
- }
1280
- ],
1281
- "stateMutability": "view",
1282
- "type": "function"
1283
- },
1284
- {
1285
- "inputs": [],
1286
- "name": "renderProviderPrimarySalesPercentage",
1287
- "outputs": [
1288
- {
1289
- "internalType": "uint256",
1290
- "name": "",
1291
- "type": "uint256"
1292
- }
1293
- ],
1294
- "stateMutability": "view",
1295
- "type": "function"
1296
- },
1297
- {
1298
- "inputs": [],
1299
- "name": "renderProviderSecondarySalesAddress",
1300
- "outputs": [
1301
- {
1302
- "internalType": "address payable",
1303
- "name": "",
1304
- "type": "address"
1305
- }
1306
- ],
1307
- "stateMutability": "view",
1308
- "type": "function"
1309
- },
1310
- {
1311
- "inputs": [],
1312
- "name": "renderProviderSecondarySalesBPS",
1313
- "outputs": [
1314
- {
1315
- "internalType": "uint256",
1316
- "name": "",
1317
- "type": "uint256"
1318
- }
1319
- ],
1320
- "stateMutability": "view",
1321
- "type": "function"
1322
- },
1323
- {
1324
- "inputs": [],
1325
- "name": "renounceOwnership",
1326
- "outputs": [],
1327
- "stateMutability": "nonpayable",
1328
- "type": "function"
1329
- },
1330
- {
1331
- "inputs": [
1332
- {
1333
- "internalType": "address",
1334
- "name": "from",
1335
- "type": "address"
1336
- },
1337
- {
1338
- "internalType": "address",
1339
- "name": "to",
1340
- "type": "address"
1341
- },
1342
- {
1343
- "internalType": "uint256",
1344
- "name": "tokenId",
1345
- "type": "uint256"
1346
- }
1347
- ],
1348
- "name": "safeTransferFrom",
1349
- "outputs": [],
1350
- "stateMutability": "nonpayable",
1351
- "type": "function"
1352
- },
1353
- {
1354
- "inputs": [
1355
- {
1356
- "internalType": "address",
1357
- "name": "from",
1358
- "type": "address"
1359
- },
1360
- {
1361
- "internalType": "address",
1362
- "name": "to",
1363
- "type": "address"
1364
- },
1365
- {
1366
- "internalType": "uint256",
1367
- "name": "tokenId",
1368
- "type": "uint256"
1369
- },
1370
- {
1371
- "internalType": "bytes",
1372
- "name": "data",
1373
- "type": "bytes"
1374
- }
1375
- ],
1376
- "name": "safeTransferFrom",
1377
- "outputs": [],
1378
- "stateMutability": "nonpayable",
1379
- "type": "function"
1380
- },
1381
- {
1382
- "inputs": [
1383
- {
1384
- "internalType": "address",
1385
- "name": "operator",
1386
- "type": "address"
1387
- },
1388
- {
1389
- "internalType": "bool",
1390
- "name": "approved",
1391
- "type": "bool"
1392
- }
1393
- ],
1394
- "name": "setApprovalForAll",
1395
- "outputs": [],
1396
- "stateMutability": "nonpayable",
1397
- "type": "function"
1398
- },
1399
- {
1400
- "inputs": [
1401
- {
1402
- "internalType": "uint256",
1403
- "name": "_tokenId",
1404
- "type": "uint256"
1405
- },
1406
- {
1407
- "internalType": "bytes32",
1408
- "name": "_hashSeed",
1409
- "type": "bytes32"
1410
- }
1411
- ],
1412
- "name": "setTokenHash_8PT",
1413
- "outputs": [],
1414
- "stateMutability": "nonpayable",
1415
- "type": "function"
1416
- },
1417
- {
1418
- "inputs": [],
1419
- "name": "startingProjectId",
1420
- "outputs": [
1421
- {
1422
- "internalType": "uint256",
1423
- "name": "",
1424
- "type": "uint256"
1425
- }
1426
- ],
1427
- "stateMutability": "view",
1428
- "type": "function"
1429
- },
1430
- {
1431
- "inputs": [
1432
- {
1433
- "internalType": "bytes4",
1434
- "name": "interfaceId",
1435
- "type": "bytes4"
1436
- }
1437
- ],
1438
- "name": "supportsInterface",
1439
- "outputs": [
1440
- {
1441
- "internalType": "bool",
1442
- "name": "",
1443
- "type": "bool"
1444
- }
1445
- ],
1446
- "stateMutability": "view",
1447
- "type": "function"
1448
- },
1449
- {
1450
- "inputs": [],
1451
- "name": "symbol",
1452
- "outputs": [
1453
- {
1454
- "internalType": "string",
1455
- "name": "",
1456
- "type": "string"
1457
- }
1458
- ],
1459
- "stateMutability": "view",
1460
- "type": "function"
1461
- },
1462
- {
1463
- "inputs": [
1464
- {
1465
- "internalType": "uint256",
1466
- "name": "_projectId",
1467
- "type": "uint256"
1468
- }
1469
- ],
1470
- "name": "toggleProjectIsActive",
1471
- "outputs": [],
1472
- "stateMutability": "nonpayable",
1473
- "type": "function"
1474
- },
1475
- {
1476
- "inputs": [
1477
- {
1478
- "internalType": "uint256",
1479
- "name": "_projectId",
1480
- "type": "uint256"
1481
- }
1482
- ],
1483
- "name": "toggleProjectIsPaused",
1484
- "outputs": [],
1485
- "stateMutability": "nonpayable",
1486
- "type": "function"
1487
- },
1488
- {
1489
- "inputs": [
1490
- {
1491
- "internalType": "uint256",
1492
- "name": "_tokenId",
1493
- "type": "uint256"
1494
- }
1495
- ],
1496
- "name": "tokenIdToHash",
1497
- "outputs": [
1498
- {
1499
- "internalType": "bytes32",
1500
- "name": "",
1501
- "type": "bytes32"
1502
- }
1503
- ],
1504
- "stateMutability": "view",
1505
- "type": "function"
1506
- },
1507
- {
1508
- "inputs": [
1509
- {
1510
- "internalType": "uint256",
1511
- "name": "_tokenId",
1512
- "type": "uint256"
1513
- }
1514
- ],
1515
- "name": "tokenIdToHashSeed",
1516
- "outputs": [
1517
- {
1518
- "internalType": "bytes12",
1519
- "name": "",
1520
- "type": "bytes12"
1521
- }
1522
- ],
1523
- "stateMutability": "view",
1524
- "type": "function"
1525
- },
1526
- {
1527
- "inputs": [
1528
- {
1529
- "internalType": "uint256",
1530
- "name": "_tokenId",
1531
- "type": "uint256"
1532
- }
1533
- ],
1534
- "name": "tokenIdToProjectId",
1535
- "outputs": [
1536
- {
1537
- "internalType": "uint256",
1538
- "name": "_projectId",
1539
- "type": "uint256"
1540
- }
1541
- ],
1542
- "stateMutability": "pure",
1543
- "type": "function"
1544
- },
1545
- {
1546
- "inputs": [
1547
- {
1548
- "internalType": "uint256",
1549
- "name": "_tokenId",
1550
- "type": "uint256"
1551
- }
1552
- ],
1553
- "name": "tokenURI",
1554
- "outputs": [
1555
- {
1556
- "internalType": "string",
1557
- "name": "",
1558
- "type": "string"
1559
- }
1560
- ],
1561
- "stateMutability": "view",
1562
- "type": "function"
1563
- },
1564
- {
1565
- "inputs": [
1566
- {
1567
- "internalType": "address",
1568
- "name": "from",
1569
- "type": "address"
1570
- },
1571
- {
1572
- "internalType": "address",
1573
- "name": "to",
1574
- "type": "address"
1575
- },
1576
- {
1577
- "internalType": "uint256",
1578
- "name": "tokenId",
1579
- "type": "uint256"
1580
- }
1581
- ],
1582
- "name": "transferFrom",
1583
- "outputs": [],
1584
- "stateMutability": "nonpayable",
1585
- "type": "function"
1586
- },
1587
- {
1588
- "inputs": [
1589
- {
1590
- "internalType": "address",
1591
- "name": "newOwner",
1592
- "type": "address"
1593
- }
1594
- ],
1595
- "name": "transferOwnership",
1596
- "outputs": [],
1597
- "stateMutability": "nonpayable",
1598
- "type": "function"
1599
- },
1600
- {
1601
- "inputs": [
1602
- {
1603
- "internalType": "address",
1604
- "name": "_artblocksDependencyRegistryAddress",
1605
- "type": "address"
1606
- }
1607
- ],
1608
- "name": "updateArtblocksDependencyRegistryAddress",
1609
- "outputs": [],
1610
- "stateMutability": "nonpayable",
1611
- "type": "function"
1612
- },
1613
- {
1614
- "inputs": [
1615
- {
1616
- "internalType": "string",
1617
- "name": "_defaultBaseURI",
1618
- "type": "string"
1619
- }
1620
- ],
1621
- "name": "updateDefaultBaseURI",
1622
- "outputs": [],
1623
- "stateMutability": "nonpayable",
1624
- "type": "function"
1625
- },
1626
- {
1627
- "inputs": [
1628
- {
1629
- "internalType": "address",
1630
- "name": "_address",
1631
- "type": "address"
1632
- }
1633
- ],
1634
- "name": "updateMinterContract",
1635
- "outputs": [],
1636
- "stateMutability": "nonpayable",
1637
- "type": "function"
1638
- },
1639
- {
1640
- "inputs": [
1641
- {
1642
- "internalType": "uint256",
1643
- "name": "_projectId",
1644
- "type": "uint256"
1645
- },
1646
- {
1647
- "internalType": "address payable",
1648
- "name": "_artistAddress",
1649
- "type": "address"
1650
- }
1651
- ],
1652
- "name": "updateProjectArtistAddress",
1653
- "outputs": [],
1654
- "stateMutability": "nonpayable",
1655
- "type": "function"
1656
- },
1657
- {
1658
- "inputs": [
1659
- {
1660
- "internalType": "uint256",
1661
- "name": "_projectId",
1662
- "type": "uint256"
1663
- },
1664
- {
1665
- "internalType": "string",
1666
- "name": "_projectArtistName",
1667
- "type": "string"
1668
- }
1669
- ],
1670
- "name": "updateProjectArtistName",
1671
- "outputs": [],
1672
- "stateMutability": "nonpayable",
1673
- "type": "function"
1674
- },
1675
- {
1676
- "inputs": [
1677
- {
1678
- "internalType": "uint256",
1679
- "name": "_projectId",
1680
- "type": "uint256"
1681
- },
1682
- {
1683
- "internalType": "string",
1684
- "name": "_aspectRatio",
1685
- "type": "string"
1686
- }
1687
- ],
1688
- "name": "updateProjectAspectRatio",
1689
- "outputs": [],
1690
- "stateMutability": "nonpayable",
1691
- "type": "function"
1692
- },
1693
- {
1694
- "inputs": [
1695
- {
1696
- "internalType": "uint256",
1697
- "name": "_projectId",
1698
- "type": "uint256"
1699
- },
1700
- {
1701
- "internalType": "string",
1702
- "name": "_newBaseURI",
1703
- "type": "string"
1704
- }
1705
- ],
1706
- "name": "updateProjectBaseURI",
1707
- "outputs": [],
1708
- "stateMutability": "nonpayable",
1709
- "type": "function"
1710
- },
1711
- {
1712
- "inputs": [
1713
- {
1714
- "internalType": "uint256",
1715
- "name": "_projectId",
1716
- "type": "uint256"
1717
- },
1718
- {
1719
- "internalType": "string",
1720
- "name": "_projectDescription",
1721
- "type": "string"
1722
- }
1723
- ],
1724
- "name": "updateProjectDescription",
1725
- "outputs": [],
1726
- "stateMutability": "nonpayable",
1727
- "type": "function"
1728
- },
1729
- {
1730
- "inputs": [
1731
- {
1732
- "internalType": "uint256",
1733
- "name": "_projectId",
1734
- "type": "uint256"
1735
- },
1736
- {
1737
- "internalType": "string",
1738
- "name": "_projectLicense",
1739
- "type": "string"
1740
- }
1741
- ],
1742
- "name": "updateProjectLicense",
1743
- "outputs": [],
1744
- "stateMutability": "nonpayable",
1745
- "type": "function"
1746
- },
1747
- {
1748
- "inputs": [
1749
- {
1750
- "internalType": "uint256",
1751
- "name": "_projectId",
1752
- "type": "uint256"
1753
- },
1754
- {
1755
- "internalType": "uint24",
1756
- "name": "_maxInvocations",
1757
- "type": "uint24"
1758
- }
1759
- ],
1760
- "name": "updateProjectMaxInvocations",
1761
- "outputs": [],
1762
- "stateMutability": "nonpayable",
1763
- "type": "function"
1764
- },
1765
- {
1766
- "inputs": [
1767
- {
1768
- "internalType": "uint256",
1769
- "name": "_projectId",
1770
- "type": "uint256"
1771
- },
1772
- {
1773
- "internalType": "string",
1774
- "name": "_projectName",
1775
- "type": "string"
1776
- }
1777
- ],
1778
- "name": "updateProjectName",
1779
- "outputs": [],
1780
- "stateMutability": "nonpayable",
1781
- "type": "function"
1782
- },
1783
- {
1784
- "inputs": [
1785
- {
1786
- "internalType": "uint256",
1787
- "name": "_projectId",
1788
- "type": "uint256"
1789
- },
1790
- {
1791
- "internalType": "uint256",
1792
- "name": "_scriptId",
1793
- "type": "uint256"
1794
- },
1795
- {
1796
- "internalType": "string",
1797
- "name": "_script",
1798
- "type": "string"
1799
- }
1800
- ],
1801
- "name": "updateProjectScript",
1802
- "outputs": [],
1803
- "stateMutability": "nonpayable",
1804
- "type": "function"
1805
- },
1806
- {
1807
- "inputs": [
1808
- {
1809
- "internalType": "uint256",
1810
- "name": "_projectId",
1811
- "type": "uint256"
1812
- },
1813
- {
1814
- "internalType": "bytes32",
1815
- "name": "_scriptTypeAndVersion",
1816
- "type": "bytes32"
1817
- }
1818
- ],
1819
- "name": "updateProjectScriptType",
1820
- "outputs": [],
1821
- "stateMutability": "nonpayable",
1822
- "type": "function"
1823
- },
1824
- {
1825
- "inputs": [
1826
- {
1827
- "internalType": "uint256",
1828
- "name": "_projectId",
1829
- "type": "uint256"
1830
- },
1831
- {
1832
- "internalType": "uint256",
1833
- "name": "_secondMarketRoyalty",
1834
- "type": "uint256"
1835
- }
1836
- ],
1837
- "name": "updateProjectSecondaryMarketRoyaltyPercentage",
1838
- "outputs": [],
1839
- "stateMutability": "nonpayable",
1840
- "type": "function"
1841
- },
1842
- {
1843
- "inputs": [
1844
- {
1845
- "internalType": "uint256",
1846
- "name": "_projectId",
1847
- "type": "uint256"
1848
- },
1849
- {
1850
- "internalType": "string",
1851
- "name": "_projectWebsite",
1852
- "type": "string"
1853
- }
1854
- ],
1855
- "name": "updateProjectWebsite",
1856
- "outputs": [],
1857
- "stateMutability": "nonpayable",
1858
- "type": "function"
1859
- },
1860
- {
1861
- "inputs": [
1862
- {
1863
- "internalType": "uint256",
1864
- "name": "renderProviderPrimarySalesPercentage_",
1865
- "type": "uint256"
1866
- },
1867
- {
1868
- "internalType": "uint256",
1869
- "name": "platformProviderPrimarySalesPercentage_",
1870
- "type": "uint256"
1871
- }
1872
- ],
1873
- "name": "updateProviderPrimarySalesPercentages",
1874
- "outputs": [],
1875
- "stateMutability": "nonpayable",
1876
- "type": "function"
1877
- },
1878
- {
1879
- "inputs": [
1880
- {
1881
- "internalType": "address payable",
1882
- "name": "_renderProviderPrimarySalesAddress",
1883
- "type": "address"
1884
- },
1885
- {
1886
- "internalType": "address payable",
1887
- "name": "_renderProviderSecondarySalesAddress",
1888
- "type": "address"
1889
- },
1890
- {
1891
- "internalType": "address payable",
1892
- "name": "_platformProviderPrimarySalesAddress",
1893
- "type": "address"
1894
- },
1895
- {
1896
- "internalType": "address payable",
1897
- "name": "_platformProviderSecondarySalesAddress",
1898
- "type": "address"
1899
- }
1900
- ],
1901
- "name": "updateProviderSalesAddresses",
1902
- "outputs": [],
1903
- "stateMutability": "nonpayable",
1904
- "type": "function"
1905
- },
1906
- {
1907
- "inputs": [
1908
- {
1909
- "internalType": "uint256",
1910
- "name": "_renderProviderSecondarySalesBPS",
1911
- "type": "uint256"
1912
- },
1913
- {
1914
- "internalType": "uint256",
1915
- "name": "_platformProviderSecondarySalesBPS",
1916
- "type": "uint256"
1917
- }
1918
- ],
1919
- "name": "updateProviderSecondarySalesBPS",
1920
- "outputs": [],
1921
- "stateMutability": "nonpayable",
1922
- "type": "function"
1923
- },
1924
- {
1925
- "inputs": [
1926
- {
1927
- "internalType": "address",
1928
- "name": "_randomizerAddress",
1929
- "type": "address"
1930
- }
1931
- ],
1932
- "name": "updateRandomizerAddress",
1933
- "outputs": [],
1934
- "stateMutability": "nonpayable",
1935
- "type": "function"
1936
- }
1937
- ],
1938
- "bytecode": "0x60c0604052600e8054600560a11b60ff60a01b199182168117909255600f8054909116909117905560fa60118190556013553480156200003e57600080fd5b5060405162006ab938038062006ab98339810160408190526200006191620007f9565b8888600062000071838262000983565b50600162000080828262000983565b5050506200009d620000976200034360201b60201c565b62000347565b866001600160a01b038116620000e95760405162461bcd60e51b815260206004820152601b602482015260008051602062006a9983398151915260448201526064015b60405180910390fd5b866001600160a01b038116620001315760405162461bcd60e51b815260206004820152601b602482015260008051602062006a998339815191526044820152606401620000e0565b866001600160a01b038116620001795760405162461bcd60e51b815260206004820152601b602482015260008051602062006a998339815191526044820152606401620000e0565b866001600160a01b038116620001c15760405162461bcd60e51b815260206004820152601b602482015260008051602062006a998339815191526044820152606401620000e0565b85151560a0526001600160f81b038716608052620001e28b808c806200037f565b620001ed8962000409565b620001f88862000347565b620002436200021b306001600160a01b03166200049160201b620040cc1760201c565b6040516020016200022d919062000a4f565b60408051601f19818403018152919052620004af565b601580547fff00000000000000000000000000000000000000000000000000000000000000166001600160f81b0389161790556040516c1b995e1d141c9bda9958dd1259609a1b9060008051602062006a7983398151915290600090a260405163f889b3ed60e01b81523060048201526576332e312e3160d01b60248201527f47656e417274373231436f726556335f456e67696e650000000000000000000060448201526001600160a01b0386169063f889b3ed90606401600060405180830381600087803b1580156200031757600080fd5b505af11580156200032c573d6000803e3d6000fd5b505050505050505050505050505050505062000b17565b3390565b6200035d81620004ec60201b620040e21760201c565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b600f80546001600160a01b038085166001600160a01b03199283161790925560128054848416908316179055600e805487841690831617905560108054928616929091169190911790556040517f70726f766964657253616c6573416464726573736573000000000000000000009060008051602062006a7983398151915290600090a250505050565b600880546001600160a01b0383166001600160a01b031991821681179092556009805460018101825560009182527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af01805490921690921790556040517072616e646f6d697a65724164647265737360781b9160008051602062006a7983398151915291a250565b6060620004a96001600160a01b03831660146200053e565b92915050565b6016620004bd828262000983565b506040516d64656661756c744261736555524960901b9060008051602062006a7983398151915290600090a250565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060006200054f83600262000ab7565b6200055c90600262000ad1565b6001600160401b03811115620005765762000576620006fe565b6040519080825280601f01601f191660200182016040528015620005a1576020820181803683370190505b509050600360fc1b81600081518110620005bf57620005bf62000ae7565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620005f157620005f162000ae7565b60200101906001600160f81b031916908160001a90535060006200061784600262000ab7565b6200062490600162000ad1565b90505b6001811115620006a6576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200065c576200065c62000ae7565b1a60f81b82828151811062000675576200067562000ae7565b60200101906001600160f81b031916908160001a90535060049490941c936200069e8162000afd565b905062000627565b508315620006f75760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620000e0565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200073157818101518382015260200162000717565b50506000910152565b600082601f8301126200074c57600080fd5b81516001600160401b0380821115620007695762000769620006fe565b604051601f8301601f19908116603f01168101908282118183101715620007945762000794620006fe565b81604052838152866020858801011115620007ae57600080fd5b620007c184602083016020890162000714565b9695505050505050565b80516001600160a01b0381168114620007e357600080fd5b919050565b80518015158114620007e357600080fd5b60008060008060008060008060006101208a8c0312156200081957600080fd5b89516001600160401b03808211156200083157600080fd5b6200083f8d838e016200073a565b9a5060208c01519150808211156200085657600080fd5b50620008658c828d016200073a565b9850506200087660408b01620007cb565b96506200088660608b01620007cb565b95506200089660808b01620007cb565b9450620008a660a08b01620007cb565b60c08b01519094506001600160f81b0381168114620008c457600080fd5b9250620008d460e08b01620007e8565b9150620008e56101008b01620007cb565b90509295985092959850929598565b600181811c908216806200090957607f821691505b6020821081036200092a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200097e57600081815260208120601f850160051c81016020861015620009595750805b601f850160051c820191505b818110156200097a5782815560010162000965565b5050505b505050565b81516001600160401b038111156200099f576200099f620006fe565b620009b781620009b08454620008f4565b8462000930565b602080601f831160018114620009ef5760008415620009d65750858301515b600019600386901b1c1916600185901b1785556200097a565b600085815260208120601f198616915b8281101562000a2057888601518255948401946001909101908401620009ff565b508582101562000a3f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b7f68747470733a2f2f746f6b656e2e617274626c6f636b732e696f2f000000000081526000825162000a8981601b85016020870162000714565b602f60f81b601b939091019283015250601c01919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620004a957620004a962000aa1565b80820180821115620004a957620004a962000aa1565b634e487b7160e01b600052603260045260246000fd5b60008162000b0f5762000b0f62000aa1565b506000190190565b60805160a051615f1262000b6760003960008181610b4c0152611f59015260008181610c9401528181611d4501528181612483015281816126c901528181613c0801526142e00152615f126000f3fe608060405234801561001057600080fd5b50600436106104145760003560e01c8063715018a611610223578063b75395e01161012c578063b75395e014610a4d578063b7b04fae14610a60578063b88d4fde14610a73578063b971136814610a86578063bb3bafd614610a8e578063bd3d10e714610aaf578063c34a03b514610ac2578063c6c7c5bf14610ad5578063c87b56dd14610ae8578063cc90e72514610afb578063d03c390c14610b0e578063db21a84614610b21578063db2ff86114610b34578063e6032df214610b47578063e935b7b114610b6e578063e985e9c514610b7f578063eb9cd5d414610b92578063ed8abfda14610bb4578063f2fde38b14610bde578063f313d73314610bf1578063f851a44014610c87578063f893c07b14610c8f57600080fd5b8063715018a61461081757806376ee6fab1461081f5780638639415b146108325780638c3c9cdd1461088d5780638da5cb5b146108a05780638dd91a56146108a857806392f00233146108cc57806395d89b41146108df5780639a02e4fa146108e7578063a11ec70a1461091e578063a22cb46514610931578063a3b2cca614610944578063a47d29cb14610957578063abcbb7b414610983578063ac11fa1c1461098b578063acad0124146109ab578063acd4c66f146109be578063ad0305ce146109d0578063ad2cdfc4146109f2578063ae45ad9814610a1f578063b1656ba314610a27578063b168762214610a3a57600080fd5b806328ec8f501161032557806328ec8f501461063c5780632b274166146106695780632b65e67d1461067c5780632b8258c51461068f5780632d9c02051461069857806330ef4c5f146106ab57806336c7c12c146106bd57806337859963146106d057806338c8e468146106e35780633bb225531461070f5780633e48e8481461071857806341814cd31461072b57806342842e0e1461073e57806348337282146107515780634e1d64af146107645780635508fd521461076c57806358b9a5a914610780578063621a1f74146107b85780636352211e146107cb57806369d14faf146107de5780636c907b7f146107f157806370a082311461080457600080fd5b80611e3c146104195780615de51461042e5780630132c6971461045457806301856fd41461046757806301ffc9a71461047a57806304143a5c1461049d57806306fdde03146104a5578063081812fc146104ba578063095ea7b3146104e55780630d170673146104f85780630e79c9281461050b5780630ea5613f1461051e5780630ebeb0ee1461056857806317df5366146105915780631ab6014c146105a45780631b689c0b146105b75780631c05cad7146105ca5780631e9bef46146105dd5780632302cbda146105f0578063230448b11461060357806323b872dd1461061657806325b75d6814610629575b600080fd5b61042c610427366004614fd1565b610cb6565b005b61044161043c366004615008565b610e08565b6040519081526020015b60405180910390f35b61042c61046236600461504a565b6110ac565b61042c610475366004614fd1565b611230565b61048d610488366004615098565b611348565b604051901515815260200161044b565b61042c611373565b6104ad6113fb565b60405161044b9190615105565b6104cd6104c8366004615118565b61148d565b6040516001600160a01b03909116815260200161044b565b61042c6104f3366004615131565b6114b4565b61042c610506366004615208565b6115c9565b61042c610519366004615208565b6116ac565b61053161052c366004615118565b611926565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c00161044b565b6104cd610576366004615118565b6000908152600c60205260409020546001600160a01b031690565b6007546104cd906001600160a01b031681565b600f546104cd906001600160a01b031681565b6104416105c5366004615118565b611989565b61042c6105d836600461524e565b611998565b600a546104cd906001600160a01b031681565b61042c6105fe3660046152aa565b611a7a565b61048d6106113660046152de565b611ad4565b61042c61062436600461531e565b611b80565b61042c610637366004615208565b611bb1565b61044161064a366004615118565b6000908152600c6020526040902060010154600160a01b900460ff1690565b61042c61067736600461535f565b611c97565b61042c61068a36600461537c565b611d42565b61044160135481565b6104ad6106a6366004615118565b612149565b600f54600160a01b900460ff16610441565b6008546104cd906001600160a01b031681565b61042c6106de366004615208565b6121ee565b6104cd6106f1366004615118565b6000908152600c60205260409020600101546001600160a01b031690565b61044160115481565b61042c610726366004615208565b61226f565b6010546104cd906001600160a01b031681565b61042c61074c36600461531e565b612313565b61042c61075f36600461535f565b61232e565b6104ad6123d0565b60155461048d90600160f81b900460ff1681565b6104cd61078e366004614fd1565b6000918252600b60209081526040808420928452600990920190529020546001600160a01b031690565b6104416107c6366004615118565b6123e9565b6104cd6107d9366004615118565b61244b565b61042c6107ec3660046153e3565b612480565b61042c6107ff36600461535f565b6125c7565b61044161081236600461535f565b612626565b61042c6126ac565b61042c61082d36600461537c565b6126c6565b610845610840366004614fd1565b61295c565b604080519889526001600160a01b0397881660208a015288019590955292851660608701526080860191909152831660a085015260c08401521660e08201526101000161044b565b6104ad61089b366004614fd1565b612a65565b6104cd612ac4565b6108bb6108b6366004615118565b612ad8565b60405161044b959493929190615408565b6014546104cd906001600160a01b031681565b6104ad612dcc565b6109116108f5366004615118565b600090815260026020526040902054600160a01b900460a01b90565b60405161044b9190615475565b61042c61092c366004615118565b612ddb565b61042c61093f366004615498565b612e66565b61042c610952366004615208565b612e75565b6104cd610965366004615118565b6000908152600c60205260409020600201546001600160a01b031690565b6104ad612f61565b610441610999366004615118565b600d6020526000908152604090205481565b61042c6109b9366004615208565b612fef565b600e54600160a01b900460ff16610441565b61048d6109de36600461535f565b6014546001600160a01b0390811691161490565b610441610a00366004615118565b6000908152600c6020526040902060020154600160a01b900460ff1690565b6104ad613140565b61042c610a353660046154c6565b613164565b6104cd610a48366004615118565b6132ea565b600e546104cd906001600160a01b031681565b61042c610a6e366004615208565b613362565b61042c610a81366004615515565b61344b565b600954610441565b610aa1610a9c366004615118565b613483565b60405161044b929190615594565b61042c610abd366004614fd1565b613735565b61042c610ad0366004614fd1565b613821565b6012546104cd906001600160a01b031681565b6104ad610af6366004615118565b613921565b61042c610b09366004615618565b613a28565b61042c610b1c366004615118565b613bd6565b61042c610b2f366004614fd1565b613cad565b61042c610b42366004615118565b613d8e565b61048d7f000000000000000000000000000000000000000000000000000000000000000081565b6015546001600160f81b0316610441565b61048d610b8d36600461565e565b613f52565b610ba5610ba0366004615118565b613f80565b60405161044b9392919061568c565b610441610bc2366004615118565b6000908152600c6020526040902054600160a01b900460ff1690565b61042c610bec36600461535f565b61404c565b610c49610bff366004615118565b6000908152600c60205260409020600281015481546001909201546001600160a01b03808316948482169460ff600160a01b95869004811695938516948490048116939091041690565b604080516001600160a01b039788168152958716602087015285019390935293166060830152608082019290925260a081019190915260c00161044b565b6104cd6140c2565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b81610cc081614134565b610ce55760405162461bcd60e51b8152600401610cdc906156c2565b60405180910390fd5b60008381526002602052604090206008546001600160a01b03163314610d475760405162461bcd60e51b815260206004820152601760248201527613db9b1e481c985b991bdb5a5e995c881b585e481cd95d604a1b6044820152606401610cdc565b8054600160a01b900460a01b6001600160a01b03191615610da35760405162461bcd60e51b8152602060048201526016602482015275151bdad95b881a185cda08185b1c9958591e481cd95d60521b6044820152606401610cdc565b82610de45760405162461bcd60e51b8152602060048201526011602482015270139bc81e995c9bc81a185cda081cd95959607a1b6044820152606401610cdc565b805460a09390931c600160a01b026001600160a01b03909316929092179091555050565b6014546000906001600160a01b03163314610e655760405162461bcd60e51b815260206004820152601e60248201527f4d757374206d696e742066726f6d206d696e74657220636f6e747261637400006044820152606401610cdc565b6000838152600b60205260409020805462ffffff808216916001830191630100000090910416808310610eda5760405162461bcd60e51b815260206004820152601f60248201527f4d757374206e6f7420657863656564206d617820696e766f636174696f6e73006044820152606401610cdc565b8354600160881b900460ff1680610f0d57506000878152600c60205260409020600201546001600160a01b038781169116145b610f595760405162461bcd60e51b815260206004820181905260248201527f50726f6a656374206d75737420657869737420616e64206265206163746976656044820152606401610cdc565b8354600160901b900460ff161580610f8d57506000878152600c60205260409020600201546001600160a01b038781169116145b610fd15760405162461bcd60e51b8152602060048201526015602482015274283ab931b430b9b2b99030b932903830bab9b2b21760591b6044820152606401610cdc565b835462ffffff191662ffffff8381169182178655848116620f42408a02019190831690036110025761100288614151565b61100c89826141a9565b600854604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b15801561105257600080fd5b505af1158015611066573d6000803e3d6000fd5b50506040518392506001600160a01b038c1691507f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590600090a398975050505050505050565b6000828152600c602052604090206002015482906001600160a01b031633146110e75760405162461bcd60e51b8152600401610cdc906156f3565b6000838152600b60205260409020805462ffffff80821691630100000090048116908516106111645760405162461bcd60e51b8152602060048201526024808201527f6d6178496e766f636174696f6e73206d6179206f6e6c79206265206465637265604482015263185cd95960e21b6064820152608401610cdc565b808462ffffff1610156111ce5760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c79206d617820696e766f636174696f6e73206774652063757272656e7460448201526b20696e766f636174696f6e7360a01b6064820152608401610cdc565b815465ffffff0000001916630100000062ffffff8616021782556040516d6d6178496e766f636174696f6e7360901b908690600080516020615ebd83398151915290600090a3808462ffffff16036112295761122985614151565b5050505050565b8161123a816142db565b6112565760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c6020526040902060020154839062615bf560e21b906001600160a01b031633148061128e575061128e333083611ad4565b6112aa5760405162461bcd60e51b8152600401610cdc90615742565b6000858152600b602052604090819020906112c89086906001614375565b6113115760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b6044820152606401610cdc565b60078101859055604051697363726970745479706560b01b908790600080516020615ebd83398151915290600090a3505050505050565b60006001600160e01b03198216635d9dd7eb60e11b148061136d575061136d826143e8565b92915050565b6301050e9760e21b611386333083611ad4565b6113a25760405162461bcd60e51b8152600401610cdc90615777565b601554600160f81b900460ff16156113f05760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903337b93134b23232b760791b6044820152606401610cdc565b6113f8614438565b50565b60606000805461140a906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054611436906157a7565b80156114835780601f1061145857610100808354040283529160200191611483565b820191906000526020600020905b81548152906001019060200180831161146657829003601f168201915b5050505050905090565b600061149882614490565b506000908152600460205260409020546001600160a01b031690565b60006114bf8261244b565b9050806001600160a01b0316836001600160a01b03160361152c5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610cdc565b336001600160a01b038216148061154857506115488133613f52565b6115ba5760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610cdc565b6115c483836144b5565b505050565b816115d3816142db565b6115ef5760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c60205260409020600201548390630d17067360e01b906001600160a01b03163314806116285750611628333083611ad4565b6116445760405162461bcd60e51b8152600401610cdc90615742565b8380516000036116665760405162461bcd60e51b8152600401610cdc906157db565b6000868152600b602052604090206001016116818682615873565b50604051636e616d6560e01b908790600080516020615ebd83398151915290600090a3505050505050565b816116b6816142db565b6116d25760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c602052604090206002015483906301cf392560e31b906001600160a01b031633148061170b575061170b333083611ad4565b6117275760405162461bcd60e51b8152600401610cdc90615742565b8380516000036117495760405162461bcd60e51b8152600401610cdc906157db565b84518590600b81111561179d5760405162461bcd60e51b815260206004820152601c60248201527b41737065637420726174696f20666f726d617420746f6f206c6f6e6760201b6044820152606401610cdc565b60008060005b838110156118895760008582815181106117bf576117bf61592c565b01602001516001600160f81b0319169050600360fc1b81108015906117f25750603960f81b6001600160f81b0319821611155b15611801576001925050611877565b6001600160f81b03198116601760f91b036118255783611825576001935050611877565b60405162461bcd60e51b815260206004820152602160248201527f496d70726f7065726c7920666f726d61747465642061737065637420726174696044820152606f60f81b6064820152608401610cdc565b8061188181615958565b9150506117a3565b50806118d55760405162461bcd60e51b815260206004820152601b60248201527a41737065637420726174696f20686173206e6f206e756d6265727360281b6044820152606401610cdc565b60008a8152600b602052604090206008016118f08a82615873565b506040516a617370656374526174696f60a81b908b90600080516020615ebd83398151915290600090a350505050505050505050565b6000818152600b60205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b03169161197c886142db565b1591505091939550919395565b600061136d620f424083615987565b631c05cad760e01b6119ab333083611ad4565b6119c75760405162461bcd60e51b8152600401610cdc90615777565b846001600160a01b0381166119ee5760405162461bcd60e51b8152600401610cdc9061599b565b846001600160a01b038116611a155760405162461bcd60e51b8152600401610cdc9061599b565b846001600160a01b038116611a3c5760405162461bcd60e51b8152600401610cdc9061599b565b846001600160a01b038116611a635760405162461bcd60e51b8152600401610cdc9061599b565b611a6f89898989614523565b505050505050505050565b63118165ed60e11b611a8d333083611ad4565b611aa95760405162461bcd60e51b8152600401610cdc90615777565b818051600003611acb5760405162461bcd60e51b8152600401610cdc906157db565b6115c4836145a5565b600080611adf612ac4565b6001600160a01b031614158015611b785750600a546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af1158015611b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7891906159d0565b949350505050565b611b8a33826145df565b611ba65760405162461bcd60e51b8152600401610cdc906159ed565b6115c483838361463d565b81611bbb816142db565b611bd75760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c602052604090206002015483906304b6ebad60e31b906001600160a01b0316331480611c105750611c10333083611ad4565b611c2c5760405162461bcd60e51b8152600401610cdc90615742565b838051600003611c4e5760405162461bcd60e51b8152600401610cdc906157db565b6000868152600b60205260409020600501611c698682615873565b50604051666c6963656e736560c81b908790600080516020615ebd83398151915290600090a3505050505050565b631593a0b360e11b611caa333083611ad4565b611cc65760405162461bcd60e51b8152600401610cdc90615777565b816001600160a01b038116611ced5760405162461bcd60e51b8152600401610cdc9061599b565b600780546001600160a01b0319166001600160a01b03851617905560405178646570656e64656e637952656769737472794164647265737360381b90600080516020615e9d83398151915290600090a2505050565b857f00000000000000000000000000000000000000000000000000000000000000008110158015611d7d57506015546001600160f81b031681105b611d995760405162461bcd60e51b8152600401610cdc90615a3b565b6000878152600c602052604090206002015487906001600160a01b03163314611dd45760405162461bcd60e51b8152600401610cdc906156f3565b866001600160a01b038116611dfb5760405162461bcd60e51b8152600401610cdc9061599b565b6000898152600c6020526040902060648711801590611e1b575060648511155b611e555760405162461bcd60e51b815260206004820152600b60248201526a4d6178206f66203130302560a81b6044820152606401610cdc565b861580611e6a57506001600160a01b03881615155b611eb65760405162461bcd60e51b815260206004820152601d60248201527f5072696d617279207061796565206973207a65726f20616464726573730000006044820152606401610cdc565b841580611ecb57506001600160a01b03861615155b611f175760405162461bcd60e51b815260206004820152601f60248201527f5365636f6e64617279207061796565206973207a65726f2061646472657373006044820152606401610cdc565b897f6ff7d102bb3657a26dcbbcd299d821a066718a7cf76ae7cd98279f18b74da8ac8a8a8a8a8a604051611f4f959493929190615a6e565b60405180910390a27f000000000000000000000000000000000000000000000000000000000000000080611ff557600282015482546001600160a01b039182168c831614916000918116908c161480611faf57506001600160a01b038b16155b60018501549091506000906001600160a01b038b811691161480611fda57506001600160a01b038a16155b9050828015611fe65750815b8015611fef5750805b93505050505b80156120fd576000801b600d60008d815260200190815260200160002081905550898260020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550888260000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550878260020160146101000a81548160ff021916908360ff160217905550868260010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550858260010160146101000a81548160ff021916908360ff1602179055508a7fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a261213c565b8989898989604051602001612116959493929190615a6e565b60408051601f19818403018152918152815160209283012060008e8152600d9093529120555b5050505050505050505050565b6000818152600b60205260409020600601805460609190612169906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612195906157a7565b80156121e25780601f106121b7576101008083540402835291602001916121e2565b820191906000526020600020905b8154815290600101906020018083116121c557829003601f168201915b50505050509050919050565b6000828152600c602052604090206002015482906001600160a01b031633146122295760405162461bcd60e51b8152600401610cdc906156f3565b6000838152600b602052604090206004016122448382615873565b50604051667765627369746560c81b908490600080516020615ebd83398151915290600090a3505050565b6000828152600c602052604090206002015482906001600160a01b031633146122aa5760405162461bcd60e51b8152600401610cdc906156f3565b8180516000036122cc5760405162461bcd60e51b8152600401610cdc906157db565b6000848152600b602052604090206006016122e78482615873565b50604051666261736555524960c81b908590600080516020615ebd83398151915290600090a350505050565b6115c48383836040518060200160405280600081525061344b565b632419b94160e11b612341333083611ad4565b61235d5760405162461bcd60e51b8152600401610cdc90615777565b816001600160a01b0381166123845760405162461bcd60e51b8152600401610cdc9061599b565b601480546001600160a01b0319166001600160a01b0385169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a2505050565b60606123e46576332e312e3160d01b6147d9565b905090565b600081815260026020526040812054600160a01b900460a01b6001600160a01b03198116820361241c5750600092915050565b8060405160200161242d9190615475565b60405160208183030381529060405280519060200120915050919050565b6000818152600260205260408120546001600160a01b03168061136d5760405162461bcd60e51b8152600401610cdc90615aa1565b817f000000000000000000000000000000000000000000000000000000000000000081101580156124bb57506015546001600160f81b031681105b6124d75760405162461bcd60e51b8152600401610cdc90615a3b565b826369d14faf60e01b6124eb333083611ad4565b8061252a575060006124fb612ac4565b6001600160a01b031614801561252a57506000828152600c60205260409020600201546001600160a01b031633145b6125465760405162461bcd60e51b8152600401610cdc90615ad3565b836001600160a01b03811661256d5760405162461bcd60e51b8152600401610cdc9061599b565b6000868152600c602052604080822060020180546001600160a01b0319166001600160a01b038916179055516c6172746973744164647265737360981b918891600080516020615ebd8339815191529190a3505050505050565b636c907b7f60e01b6125da333083611ad4565b6125f65760405162461bcd60e51b8152600401610cdc90615777565b816001600160a01b03811661261d5760405162461bcd60e51b8152600401610cdc9061599b565b6115c483614844565b60006001600160a01b0382166126905760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610cdc565b506001600160a01b031660009081526003602052604090205490565b6126b46148cb565b6126bc614438565b6126c461492a565b565b857f0000000000000000000000000000000000000000000000000000000000000000811015801561270157506015546001600160f81b031681105b61271d5760405162461bcd60e51b8152600401610cdc90615a3b565b866376ee6fab60e01b612731333083611ad4565b8061277057506000612741612ac4565b6001600160a01b031614801561277057506000828152600c60205260409020600201546001600160a01b031633145b61278c5760405162461bcd60e51b8152600401610cdc90615ad3565b876001600160a01b0381166127b35760405162461bcd60e51b8152600401610cdc9061599b565b88888888886040516020016127cc959493929190615a6e565b60408051601f19818403018152918152815160209283012060008d8152600d9093529120541461283b5760405162461bcd60e51b815260206004820152601a602482015279135d5cdd081b585d18da08185c9d1a5cdd081c1c9bdc1bdcd85b60321b6044820152606401610cdc565b6000600c60008c81526020019081526020016000209050898160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550888160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550878160020160146101000a81548160ff021916908360ff160217905550868160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550858160010160146101000a81548160ff021916908360ff1602179055506000801b600d60008d8152602001908152602001600020819055508a7fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a25050505050505050505050565b6000828152600c60205260408120600e548291829182918291829182918291908a9060649061299590600160a01b900460ff1683615b2b565b61299f9190615987565b99506129ab8a82615b42565b600f549091506064906129c890600160a01b900460ff168d615b2b565b6129d29190615987565b97506129de8882615b42565b60028301549091506064906129fd90600160a01b900460ff1683615b2b565b612a079190615987565b9350612a138482615b42565b600e54600f546001600160a01b039182169b5016975095508515612a425760028201546001600160a01b031694505b8315612a565781546001600160a01b031692505b50509295985092959890939650565b6000828152600b60205260409020805460609190600160301b900462ffffff168310612aa157505060408051602081019091526000815261136d565b6000838152600982016020526040902054611b78906001600160a01b031661493c565b60006123e46006546001600160a01b031690565b60608060608060606000600b60008881526020019081526020016000209050806001018054612b06906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612b32906157a7565b8015612b7f5780601f10612b5457610100808354040283529160200191612b7f565b820191906000526020600020905b815481529060010190602001808311612b6257829003601f168201915b50505050509550806002018054612b95906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc1906157a7565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509450806003018054612c24906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612c50906157a7565b8015612c9d5780601f10612c7257610100808354040283529160200191612c9d565b820191906000526020600020905b815481529060010190602001808311612c8057829003601f168201915b50505050509350806004018054612cb3906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612cdf906157a7565b8015612d2c5780601f10612d0157610100808354040283529160200191612d2c565b820191906000526020600020905b815481529060010190602001808311612d0f57829003601f168201915b50505050509250806005018054612d42906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612d6e906157a7565b8015612dbb5780601f10612d9057610100808354040283529160200191612dbb565b820191906000526020600020905b815481529060010190602001808311612d9e57829003601f168201915b505050505091505091939590929450565b60606001805461140a906157a7565b6000818152600c602052604090206002015481906001600160a01b03163314612e165760405162461bcd60e51b8152600401610cdc906156f3565b6000828152600b6020526040808220805460ff60901b198116600160901b9182900460ff161590910217905551651c185d5cd95960d21b918491600080516020615ebd8339815191529190a35050565b612e713383836149c7565b5050565b612e7e826142db565b612e9957612e9433306351d9665360e11b611ad4565b612eb7565b6000828152600c60205260409020600201546001600160a01b031633145b612f185760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c7920617274697374207768656e20756e6c6f636b65642c206f776e657260448201526b081dda195b881b1bd8dad95960a21b6064820152608401610cdc565b6000828152600b60205260409020600301612f338282615873565b506040516a3232b9b1b934b83a34b7b760a91b908390600080516020615ebd83398151915290600090a35050565b60168054612f6e906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612f9a906157a7565b8015612fe75780601f10612fbc57610100808354040283529160200191612fe7565b820191906000526020600020905b815481529060010190602001808311612fca57829003601f168201915b505050505081565b81612ff9816142db565b6130155760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c60205260409020600201548390632b2b404960e21b906001600160a01b031633148061304e575061304e333083611ad4565b61306a5760405162461bcd60e51b8152600401610cdc90615742565b83805160000361308c5760405162461bcd60e51b8152600401610cdc906157db565b6000868152600b602052604090206130a386614a91565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b03949094169390931790925582546130f592919004166001615b55565b815462ffffff91909116600160301b0262ffffff60301b19909116178155604051651cd8dc9a5c1d60d21b908890600080516020615ebd83398151915290600090a350505050505050565b60606123e47547656e417274373231436f726556335f456e67696e6560501b6147d9565b8261316e816142db565b61318a5760405162461bcd60e51b8152600401610cdc90615718565b6000848152600c6020526040902060020154849063b1656ba360e01b906001600160a01b03163314806131c357506131c3333083611ad4565b6131df5760405162461bcd60e51b8152600401610cdc90615742565b8380516000036132015760405162461bcd60e51b8152600401610cdc906157db565b6000878152600b602052604090208054600160301b900462ffffff1687106132635760405162461bcd60e51b81526020600482015260156024820152747363726970744964206f7574206f662072616e676560581b6044820152606401610cdc565b6000878152600982016020526040902054613286906001600160a01b0316614b19565b61328f86614a91565b600088815260098301602052604080822080546001600160a01b0319166001600160a01b0394909416939093179092559051651cd8dc9a5c1d60d21b918a91600080516020615ebd8339815191529190a35050505050505050565b60095460009082106133345760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606401610cdc565b600982815481106133475761334761592c565b6000918252602090912001546001600160a01b031692915050565b8161336c816142db565b6133885760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c60205260409020600201548390635bd827d760e11b906001600160a01b03163314806133c157506133c1333083611ad4565b6133dd5760405162461bcd60e51b8152600401610cdc90615742565b8380516000036133ff5760405162461bcd60e51b8152600401610cdc906157db565b6000868152600b6020526040902060020161341a8682615873565b50604051696172746973744e616d6560b01b908790600080516020615ebd83398151915290600090a3505050505050565b61345533836145df565b6134715760405162461bcd60e51b8152600401610cdc906159ed565b61347d84848484614bd0565b50505050565b6060808261349081614134565b6134ac5760405162461bcd60e51b8152600401610cdc906156c2565b60408051600480825260a082019092529060208201608080368337505060408051600480825260a0820190925292955090506020820160808036833701905050915060006134f985611989565b6000818152600c6020526040812080546001820154939450909260ff600160a01b9283900481169392909104169082613533836064615b42565b61353d9190615b2b565b9050600061354b8484615b2b565b60115460135491925090600084156135c55760028801548c516001600160a01b03909116908d90839081106135825761358261592c565b6001600160a01b0390921660209283029190910190910152848b826135a681615958565b9350815181106135b8576135b861592c565b6020026020010181815250505b83156136335760018801548c516001600160a01b03909116908d90839081106135f0576135f061592c565b6001600160a01b0390921660209283029190910190910152838b8261361481615958565b9350815181106136265761362661592c565b6020026020010181815250505b821561369f576010548c516001600160a01b03909116908d908390811061365c5761365c61592c565b6001600160a01b0390921660209283029190910190910152828b8261368081615958565b9350815181106136925761369261592c565b6020026020010181815250505b811561370b576012548c516001600160a01b03909116908d90839081106136c8576136c861592c565b6001600160a01b0390921660209283029190910190910152818b826136ec81615958565b9350815181106136fe576136fe61592c565b6020026020010181815250505b80600411156137265780600403808d51038d52808c51038c52505b50505050505050505050915091565b63bd3d10e760e01b613748333083611ad4565b6137645760405162461bcd60e51b8152600401610cdc90615777565b60646137708385615b78565b11156137b95760405162461bcd60e51b81526020600482015260186024820152774d61782073756d206f66204f4e455f48554e44524544202560401b6044820152606401610cdc565b600e805460ff808616600160a01b90810260ff60a01b1993841617909355600f805491861690930291161790556040517970726f76696465725072696d61727950657263656e746167657360301b90600080516020615e9d83398151915290600090a2505050565b6000828152600c602052604090206002015482906001600160a01b0316331461385c5760405162461bcd60e51b8152600401610cdc906156f3565b605f8211156138cc5760405162461bcd60e51b815260206004820152603660248201527f4d6178206f66204152544953545f4d41585f5345434f4e444152595f524f594160448201527513151657d4115490d153951051d1481c195c98d95b9d60521b6064820152608401610cdc565b6000838152600c6020526040808220805460ff60a01b1916600160a01b60ff8716021790555170726f79616c747950657263656e7461676560781b918591600080516020615ebd8339815191529190a3505050565b60608161392d81614134565b6139495760405162461bcd60e51b8152600401610cdc906156c2565b6000600b600061395886611989565b81526020019081526020016000206006018054613974906157a7565b80601f01602080910402602001604051908101604052809291908181526020018280546139a0906157a7565b80156139ed5780601f106139c2576101008083540402835291602001916139ed565b820191906000526020600020905b8154815290600101906020018083116139d057829003601f168201915b50505050509050806139fe85614c03565b604051602001613a0f929190615ba7565b6040516020818303038152906040529250505b50919050565b63cc90e72560e01b613a3b333083611ad4565b613a575760405162461bcd60e51b8152600401610cdc90615777565b828051600003613a795760405162461bcd60e51b8152600401610cdc906157db565b826001600160a01b038116613aa05760405162461bcd60e51b8152600401610cdc9061599b565b601554600160f81b900460ff1615613af35760405162461bcd60e51b81526020600482015260166024820152752732bb90383937b532b1ba39903337b93134b23232b760511b6044820152606401610cdc565b6015546001600160f81b03166000818152600c6020908152604080832060020180546001600160a01b0319166001600160a01b038a16179055600b9091529020600101613b408782615873565b506000818152600b60205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b01178155600601613b7d601682615bd6565b50613b89816001615ca2565b601580546001600160f81b0319166001600160f81b03929092169190911790556040516618dc99585d195960ca1b908290600080516020615ebd83398151915290600090a3505050505050565b63340f0e4360e21b613be9333083611ad4565b613c055760405162461bcd60e51b8152600401610cdc90615777565b817f00000000000000000000000000000000000000000000000000000000000000008110158015613c4057506015546001600160f81b031681105b613c5c5760405162461bcd60e51b8152600401610cdc90615a3b565b6000838152600b6020526040808220805460ff60881b198116600160881b9182900460ff1615909102179055516561637469766560d01b918591600080516020615ebd8339815191529190a3505050565b636d90d42360e11b613cc0333083611ad4565b613cdc5760405162461bcd60e51b8152600401610cdc90615777565b612710613ce98385615b78565b1115613d4f5760405162461bcd60e51b815260206004820152602f60248201527f4d61782073756d206f66204d41585f50524f56494445525f5345434f4e44415260448201526e595f53414c45535f4250532042505360881b6064820152608401610cdc565b601183905560138290556040517370726f76696465725365636f6e6461727942505360601b90600080516020615e9d83398151915290600090a2505050565b80613d98816142db565b613db45760405162461bcd60e51b8152600401610cdc90615718565b6000828152600c6020526040902060020154829063db2ff86160e01b906001600160a01b0316331480613ded5750613ded333083611ad4565b613e095760405162461bcd60e51b8152600401610cdc90615742565b6000848152600b602052604090208054600160301b900462ffffff16613e715760405162461bcd60e51b815260206004820152601e60248201527f746865726520617265206e6f207363726970747320746f2072656d6f766500006044820152606401610cdc565b8054613ebb906009830190600090613e9790600190600160301b900462ffffff16615cc2565b62ffffff1681526020810191909152604001600020546001600160a01b0316614b19565b80546009820190600090613edd90600190600160301b900462ffffff16615cc2565b62ffffff908116825260208201929092526040908101600090812080546001600160a01b0319169055835462ffffff60301b198116600160301b918290048516600019019094160292909217835551651cd8dc9a5c1d60d21b918791600080516020615ebd8339815191529190a35050505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000818152600b60205260408120600781015460609283929091613fa3906147d9565b9350806008018054613fb4906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054613fe0906157a7565b801561402d5780601f106140025761010080835404028352916020019161402d565b820191906000526020600020905b81548152906001019060200180831161401057829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b6140546148cb565b6001600160a01b0381166140b95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cdc565b6113f881614d03565b60006123e4612ac4565b606061136d6001600160a01b0383166014614d2e565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000908152600260205260409020546001600160a01b0316151590565b6000818152600b6020526040808220805467ffffffffffffffff60481b1916600160481b426001600160401b031602179055516818dbdb5c1b195d195960ba1b918391600080516020615ebd8339815191529190a350565b6001600160a01b0382166141ff5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610cdc565b61420881614134565b156142545760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606401610cdc565b6001600160a01b038216600090815260036020526040812080546001929061427d908490615b78565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000817f0000000000000000000000000000000000000000000000000000000000000000811015801561431857506015546001600160f81b031681105b6143345760405162461bcd60e51b8152600401610cdc90615a3b565b6000838152600b6020526040902054600160481b90046001600160401b03168015808061436c57506224ea0061436a8342615b42565b105b95945050505050565b600080805b60208160ff1610156143d4576000868260ff166020811061439d5761439d61592c565b1a905080158015906143b2575060808160ff16105b156143cb578560ff168160ff16036143cb578260010192505b5060010161437a565b8360ff168260ff1614925050509392505050565b60006001600160e01b031982166380ac58cd60e01b148061441957506001600160e01b03198216635b5e139f60e01b145b8061136d57506301ffc9a760e01b6001600160e01b031983161461136d565b601554600160f81b900460ff166126c457601580546001600160f81b0316600160f81b179055604051733732bba83937b532b1ba39a337b93134b23232b760611b90600080516020615e9d83398151915290600090a2565b61449981614134565b6113f85760405162461bcd60e51b8152600401610cdc90615aa1565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906144ea8261244b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600f80546001600160a01b038085166001600160a01b03199283161790925560128054848416908316179055600e805487841690831617905560108054928616929091169190911790556040517570726f766964657253616c657341646472657373657360501b90600080516020615e9d83398151915290600090a250505050565b60166145b18282615873565b506040516d64656661756c744261736555524960901b90600080516020615e9d83398151915290600090a250565b6000806145eb8361244b565b9050806001600160a01b0316846001600160a01b0316148061461257506146128185613f52565b80611b785750836001600160a01b031661462b8461148d565b6001600160a01b031614949350505050565b826001600160a01b03166146508261244b565b6001600160a01b0316146146b45760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610cdc565b6001600160a01b0382166147165760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610cdc565b6147216000826144b5565b6001600160a01b038316600090815260036020526040812080546001929061474a908490615b42565b90915550506001600160a01b0382166000908152600360205260408120805460019290614778908490615b78565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b606060005b828160ff16602081106147f3576147f361592c565b1a60f81b6001600160f81b03191615801590614812575060208160ff16105b15614829578061482181615cde565b9150506147de565b60405191506040820160405280825282602083015250919050565b600880546001600160a01b0383166001600160a01b031991821681179092556009805460018101825560009182527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af01805490921690921790556040517072616e646f6d697a65724164647265737360781b91600080516020615e9d83398151915291a250565b336148d4612ac4565b6001600160a01b0316146126c45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cdc565b6149326148cb565b6126c46000614d03565b6060813b606881108061494d575080155b1561499a5760405162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374417353746f726167653a2052656164204572726f720000006044820152606401610cdc565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b816001600160a01b0316836001600160a01b031603614a245760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610cdc565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000803083604051602001614aa7929190615cfd565b60405160208183030381529060405290508051602082016000f091506001600160a01b038216613a225760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610cdc565b6000816001600160a01b0316604051614b3d906001600160f81b0319815260010190565b6000604051808303816000865af19150503d8060008114614b7a576040519150601f19603f3d011682016040523d82523d6000602084013e614b7f565b606091505b5050905080612e715760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374417353746f726167653a2044656c657465204572726f72006044820152606401610cdc565b614bdb84848461463d565b614be784848484614ed0565b61347d5760405162461bcd60e51b8152600401610cdc90615dc5565b606081600003614c2a5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115614c545780614c3e81615958565b9150614c4d9050600a83615987565b9150614c2e565b6000816001600160401b03811115614c6e57614c6e61515d565b6040519080825280601f01601f191660200182016040528015614c98576020820181803683370190505b5090505b8415611b7857614cad600183615b42565b9150614cba600a86615e17565b614cc5906030615b78565b60f81b818381518110614cda57614cda61592c565b60200101906001600160f81b031916908160001a905350614cfc600a86615987565b9450614c9c565b614d0c816140e2565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60606000614d3d836002615b2b565b614d48906002615b78565b6001600160401b03811115614d5f57614d5f61515d565b6040519080825280601f01601f191660200182016040528015614d89576020820181803683370190505b509050600360fc1b81600081518110614da457614da461592c565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110614dd357614dd361592c565b60200101906001600160f81b031916908160001a9053506000614df7846002615b2b565b614e02906001615b78565b90505b6001811115614e7a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110614e3657614e3661592c565b1a60f81b828281518110614e4c57614e4c61592c565b60200101906001600160f81b031916908160001a90535060049490941c93614e7381615e2b565b9050614e05565b508315614ec95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610cdc565b9392505050565b60006001600160a01b0384163b15614fc657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290614f14903390899088908890600401615e42565b6020604051808303816000875af1925050508015614f4f575060408051601f3d908101601f19168201909252614f4c91810190615e7f565b60015b614fac573d808015614f7d576040519150601f19603f3d011682016040523d82523d6000602084013e614f82565b606091505b508051600003614fa45760405162461bcd60e51b8152600401610cdc90615dc5565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611b78565b506001949350505050565b60008060408385031215614fe457600080fd5b50508035926020909101359150565b6001600160a01b03811681146113f857600080fd5b60008060006060848603121561501d57600080fd5b833561502881614ff3565b925060208401359150604084013561503f81614ff3565b809150509250925092565b6000806040838503121561505d57600080fd5b82359150602083013562ffffff8116811461507757600080fd5b809150509250929050565b6001600160e01b0319811681146113f857600080fd5b6000602082840312156150aa57600080fd5b8135614ec981615082565b60005b838110156150d05781810151838201526020016150b8565b50506000910152565b600081518084526150f18160208601602086016150b5565b601f01601f19169290920160200192915050565b602081526000614ec960208301846150d9565b60006020828403121561512a57600080fd5b5035919050565b6000806040838503121561514457600080fd5b823561514f81614ff3565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b038084111561518d5761518d61515d565b604051601f8501601f19908116603f011681019082821181831017156151b5576151b561515d565b816040528093508581528686860111156151ce57600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126151f957600080fd5b614ec983833560208501615173565b6000806040838503121561521b57600080fd5b8235915060208301356001600160401b0381111561523857600080fd5b615244858286016151e8565b9150509250929050565b6000806000806080858703121561526457600080fd5b843561526f81614ff3565b9350602085013561527f81614ff3565b9250604085013561528f81614ff3565b9150606085013561529f81614ff3565b939692955090935050565b6000602082840312156152bc57600080fd5b81356001600160401b038111156152d257600080fd5b611b78848285016151e8565b6000806000606084860312156152f357600080fd5b83356152fe81614ff3565b9250602084013561530e81614ff3565b9150604084013561503f81615082565b60008060006060848603121561533357600080fd5b833561533e81614ff3565b9250602084013561534e81614ff3565b929592945050506040919091013590565b60006020828403121561537157600080fd5b8135614ec981614ff3565b60008060008060008060c0878903121561539557600080fd5b8635955060208701356153a781614ff3565b945060408701356153b781614ff3565b93506060870135925060808701356153ce81614ff3565b8092505060a087013590509295509295509295565b600080604083850312156153f657600080fd5b82359150602083013561507781614ff3565b60a08152600061541b60a08301886150d9565b828103602084015261542d81886150d9565b9050828103604084015261544181876150d9565b9050828103606084015261545581866150d9565b9050828103608084015261546981856150d9565b98975050505050505050565b6001600160a01b031991909116815260200190565b80151581146113f857600080fd5b600080604083850312156154ab57600080fd5b82356154b681614ff3565b915060208301356150778161548a565b6000806000606084860312156154db57600080fd5b833592506020840135915060408401356001600160401b038111156154ff57600080fd5b61550b868287016151e8565b9150509250925092565b6000806000806080858703121561552b57600080fd5b843561553681614ff3565b9350602085013561554681614ff3565b92506040850135915060608501356001600160401b0381111561556857600080fd5b8501601f8101871361557957600080fd5b61558887823560208401615173565b91505092959194509250565b604080825283519082018190526000906020906060840190828701845b828110156155d65781516001600160a01b0316845292840192908401906001016155b1565b5050508381038285015284518082528583019183019060005b8181101561560b578351835292840192918401916001016155ef565b5090979650505050505050565b6000806040838503121561562b57600080fd5b82356001600160401b0381111561564157600080fd5b61564d858286016151e8565b925050602083013561507781614ff3565b6000806040838503121561567157600080fd5b823561567c81614ff3565b9150602083013561507781614ff3565b60608152600061569f60608301866150d9565b82810360208401526156b181866150d9565b915050826040830152949350505050565b602080825260179082015276151bdad95b88125108191bd95cc81b9bdd08195e1a5cdd604a1b604082015260600190565b6020808252600b908201526a13db9b1e48185c9d1a5cdd60aa1b604082015260600190565b60208082526010908201526f13db9b1e481a59881d5b9b1bd8dad95960821b604082015260600190565b6020808252818101527f4f6e6c7920617274697374206f722041646d696e2041434c20616c6c6f776564604082015260600190565b60208082526016908201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b604082015260600190565b600181811c908216806157bb57607f821691505b602082108103613a2257634e487b7160e01b600052602260045260246000fd5b6020808252601b908201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b604082015260600190565b601f8211156115c457600081815260208120601f850160051c810160208610156158375750805b601f850160051c820191505b8181101561585657828155600101615843565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b0381111561588c5761588c61515d565b6158a08161589a84546157a7565b84615810565b602080601f8311600181146158cf57600084156158bd5750858301515b6158c7858261585e565b865550615856565b600085815260208120601f198616915b828110156158fe578886015182559484019460019091019084016158df565b508582101561591c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161596a5761596a615942565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261599657615996615971565b500490565b6020808252601b908201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b604082015260600190565b6000602082840312156159e257600080fd5b8151614ec98161548a565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b602080825260199082015278141c9bda9958dd08125108191bd95cc81b9bdd08195e1a5cdd603a1b604082015260600190565b6001600160a01b039586168152938516602085015260408401929092529092166060820152608081019190915260a00190565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b60208082526038908201527f4f6e6c792041646d696e2041434c20616c6c6f7765642c206f722061727469736040820152771d081a59881bdddb995c881a185cc81c995b9bdd5b98d95960421b606082015260800190565b808202811582820484141761136d5761136d615942565b8181038181111561136d5761136d615942565b62ffffff818116838216019080821115615b7157615b71615942565b5092915050565b8082018082111561136d5761136d615942565b60008151615b9d8185602086016150b5565b9290920192915050565b60008351615bb98184602088016150b5565b835190830190615bcd8183602088016150b5565b01949350505050565b818103615be1575050565b615beb82546157a7565b6001600160401b03811115615c0257615c0261515d565b615c108161589a84546157a7565b6000601f821160018114615c3e5760008315615c2c5750848201545b615c36848261585e565b855550611229565b600085815260209020601f19841690600086815260209020845b83811015615c785782860154825560019586019590910190602001615c58565b508583101561591c5793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160f81b03818116838216019080821115615b7157615b71615942565b62ffffff828116828216039080821115615b7157615b71615942565b600060ff821660ff8103615cf457615cf4615942565b60010192915050565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e830152615da26053830160008152600c0190565b615db8818660601b6001600160601b0319169052565b61436c6014820185615b8b565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600082615e2657615e26615971565b500690565b600081615e3a57615e3a615942565b506000190190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615e75908301846150d9565b9695505050505050565b600060208284031215615e9157600080fd5b8151614ec98161508256fe8b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d009b96a30340e86d03ce4be42f94ac02d7b27b4a4cdae942beb69026718dfe66afca26469706673582212204ce6db8c5c59a6371eb860166117475b1b960400da2d42edbcd2f872fd75a3c764736f6c634300081100338b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d0094d75737420696e707574206e6f6e2d7a65726f20616464726573730000000000",
1939
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106104145760003560e01c8063715018a611610223578063b75395e01161012c578063b75395e014610a4d578063b7b04fae14610a60578063b88d4fde14610a73578063b971136814610a86578063bb3bafd614610a8e578063bd3d10e714610aaf578063c34a03b514610ac2578063c6c7c5bf14610ad5578063c87b56dd14610ae8578063cc90e72514610afb578063d03c390c14610b0e578063db21a84614610b21578063db2ff86114610b34578063e6032df214610b47578063e935b7b114610b6e578063e985e9c514610b7f578063eb9cd5d414610b92578063ed8abfda14610bb4578063f2fde38b14610bde578063f313d73314610bf1578063f851a44014610c87578063f893c07b14610c8f57600080fd5b8063715018a61461081757806376ee6fab1461081f5780638639415b146108325780638c3c9cdd1461088d5780638da5cb5b146108a05780638dd91a56146108a857806392f00233146108cc57806395d89b41146108df5780639a02e4fa146108e7578063a11ec70a1461091e578063a22cb46514610931578063a3b2cca614610944578063a47d29cb14610957578063abcbb7b414610983578063ac11fa1c1461098b578063acad0124146109ab578063acd4c66f146109be578063ad0305ce146109d0578063ad2cdfc4146109f2578063ae45ad9814610a1f578063b1656ba314610a27578063b168762214610a3a57600080fd5b806328ec8f501161032557806328ec8f501461063c5780632b274166146106695780632b65e67d1461067c5780632b8258c51461068f5780632d9c02051461069857806330ef4c5f146106ab57806336c7c12c146106bd57806337859963146106d057806338c8e468146106e35780633bb225531461070f5780633e48e8481461071857806341814cd31461072b57806342842e0e1461073e57806348337282146107515780634e1d64af146107645780635508fd521461076c57806358b9a5a914610780578063621a1f74146107b85780636352211e146107cb57806369d14faf146107de5780636c907b7f146107f157806370a082311461080457600080fd5b80611e3c146104195780615de51461042e5780630132c6971461045457806301856fd41461046757806301ffc9a71461047a57806304143a5c1461049d57806306fdde03146104a5578063081812fc146104ba578063095ea7b3146104e55780630d170673146104f85780630e79c9281461050b5780630ea5613f1461051e5780630ebeb0ee1461056857806317df5366146105915780631ab6014c146105a45780631b689c0b146105b75780631c05cad7146105ca5780631e9bef46146105dd5780632302cbda146105f0578063230448b11461060357806323b872dd1461061657806325b75d6814610629575b600080fd5b61042c610427366004614fd1565b610cb6565b005b61044161043c366004615008565b610e08565b6040519081526020015b60405180910390f35b61042c61046236600461504a565b6110ac565b61042c610475366004614fd1565b611230565b61048d610488366004615098565b611348565b604051901515815260200161044b565b61042c611373565b6104ad6113fb565b60405161044b9190615105565b6104cd6104c8366004615118565b61148d565b6040516001600160a01b03909116815260200161044b565b61042c6104f3366004615131565b6114b4565b61042c610506366004615208565b6115c9565b61042c610519366004615208565b6116ac565b61053161052c366004615118565b611926565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c00161044b565b6104cd610576366004615118565b6000908152600c60205260409020546001600160a01b031690565b6007546104cd906001600160a01b031681565b600f546104cd906001600160a01b031681565b6104416105c5366004615118565b611989565b61042c6105d836600461524e565b611998565b600a546104cd906001600160a01b031681565b61042c6105fe3660046152aa565b611a7a565b61048d6106113660046152de565b611ad4565b61042c61062436600461531e565b611b80565b61042c610637366004615208565b611bb1565b61044161064a366004615118565b6000908152600c6020526040902060010154600160a01b900460ff1690565b61042c61067736600461535f565b611c97565b61042c61068a36600461537c565b611d42565b61044160135481565b6104ad6106a6366004615118565b612149565b600f54600160a01b900460ff16610441565b6008546104cd906001600160a01b031681565b61042c6106de366004615208565b6121ee565b6104cd6106f1366004615118565b6000908152600c60205260409020600101546001600160a01b031690565b61044160115481565b61042c610726366004615208565b61226f565b6010546104cd906001600160a01b031681565b61042c61074c36600461531e565b612313565b61042c61075f36600461535f565b61232e565b6104ad6123d0565b60155461048d90600160f81b900460ff1681565b6104cd61078e366004614fd1565b6000918252600b60209081526040808420928452600990920190529020546001600160a01b031690565b6104416107c6366004615118565b6123e9565b6104cd6107d9366004615118565b61244b565b61042c6107ec3660046153e3565b612480565b61042c6107ff36600461535f565b6125c7565b61044161081236600461535f565b612626565b61042c6126ac565b61042c61082d36600461537c565b6126c6565b610845610840366004614fd1565b61295c565b604080519889526001600160a01b0397881660208a015288019590955292851660608701526080860191909152831660a085015260c08401521660e08201526101000161044b565b6104ad61089b366004614fd1565b612a65565b6104cd612ac4565b6108bb6108b6366004615118565b612ad8565b60405161044b959493929190615408565b6014546104cd906001600160a01b031681565b6104ad612dcc565b6109116108f5366004615118565b600090815260026020526040902054600160a01b900460a01b90565b60405161044b9190615475565b61042c61092c366004615118565b612ddb565b61042c61093f366004615498565b612e66565b61042c610952366004615208565b612e75565b6104cd610965366004615118565b6000908152600c60205260409020600201546001600160a01b031690565b6104ad612f61565b610441610999366004615118565b600d6020526000908152604090205481565b61042c6109b9366004615208565b612fef565b600e54600160a01b900460ff16610441565b61048d6109de36600461535f565b6014546001600160a01b0390811691161490565b610441610a00366004615118565b6000908152600c6020526040902060020154600160a01b900460ff1690565b6104ad613140565b61042c610a353660046154c6565b613164565b6104cd610a48366004615118565b6132ea565b600e546104cd906001600160a01b031681565b61042c610a6e366004615208565b613362565b61042c610a81366004615515565b61344b565b600954610441565b610aa1610a9c366004615118565b613483565b60405161044b929190615594565b61042c610abd366004614fd1565b613735565b61042c610ad0366004614fd1565b613821565b6012546104cd906001600160a01b031681565b6104ad610af6366004615118565b613921565b61042c610b09366004615618565b613a28565b61042c610b1c366004615118565b613bd6565b61042c610b2f366004614fd1565b613cad565b61042c610b42366004615118565b613d8e565b61048d7f000000000000000000000000000000000000000000000000000000000000000081565b6015546001600160f81b0316610441565b61048d610b8d36600461565e565b613f52565b610ba5610ba0366004615118565b613f80565b60405161044b9392919061568c565b610441610bc2366004615118565b6000908152600c6020526040902054600160a01b900460ff1690565b61042c610bec36600461535f565b61404c565b610c49610bff366004615118565b6000908152600c60205260409020600281015481546001909201546001600160a01b03808316948482169460ff600160a01b95869004811695938516948490048116939091041690565b604080516001600160a01b039788168152958716602087015285019390935293166060830152608082019290925260a081019190915260c00161044b565b6104cd6140c2565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b81610cc081614134565b610ce55760405162461bcd60e51b8152600401610cdc906156c2565b60405180910390fd5b60008381526002602052604090206008546001600160a01b03163314610d475760405162461bcd60e51b815260206004820152601760248201527613db9b1e481c985b991bdb5a5e995c881b585e481cd95d604a1b6044820152606401610cdc565b8054600160a01b900460a01b6001600160a01b03191615610da35760405162461bcd60e51b8152602060048201526016602482015275151bdad95b881a185cda08185b1c9958591e481cd95d60521b6044820152606401610cdc565b82610de45760405162461bcd60e51b8152602060048201526011602482015270139bc81e995c9bc81a185cda081cd95959607a1b6044820152606401610cdc565b805460a09390931c600160a01b026001600160a01b03909316929092179091555050565b6014546000906001600160a01b03163314610e655760405162461bcd60e51b815260206004820152601e60248201527f4d757374206d696e742066726f6d206d696e74657220636f6e747261637400006044820152606401610cdc565b6000838152600b60205260409020805462ffffff808216916001830191630100000090910416808310610eda5760405162461bcd60e51b815260206004820152601f60248201527f4d757374206e6f7420657863656564206d617820696e766f636174696f6e73006044820152606401610cdc565b8354600160881b900460ff1680610f0d57506000878152600c60205260409020600201546001600160a01b038781169116145b610f595760405162461bcd60e51b815260206004820181905260248201527f50726f6a656374206d75737420657869737420616e64206265206163746976656044820152606401610cdc565b8354600160901b900460ff161580610f8d57506000878152600c60205260409020600201546001600160a01b038781169116145b610fd15760405162461bcd60e51b8152602060048201526015602482015274283ab931b430b9b2b99030b932903830bab9b2b21760591b6044820152606401610cdc565b835462ffffff191662ffffff8381169182178655848116620f42408a02019190831690036110025761100288614151565b61100c89826141a9565b600854604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b15801561105257600080fd5b505af1158015611066573d6000803e3d6000fd5b50506040518392506001600160a01b038c1691507f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590600090a398975050505050505050565b6000828152600c602052604090206002015482906001600160a01b031633146110e75760405162461bcd60e51b8152600401610cdc906156f3565b6000838152600b60205260409020805462ffffff80821691630100000090048116908516106111645760405162461bcd60e51b8152602060048201526024808201527f6d6178496e766f636174696f6e73206d6179206f6e6c79206265206465637265604482015263185cd95960e21b6064820152608401610cdc565b808462ffffff1610156111ce5760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c79206d617820696e766f636174696f6e73206774652063757272656e7460448201526b20696e766f636174696f6e7360a01b6064820152608401610cdc565b815465ffffff0000001916630100000062ffffff8616021782556040516d6d6178496e766f636174696f6e7360901b908690600080516020615ebd83398151915290600090a3808462ffffff16036112295761122985614151565b5050505050565b8161123a816142db565b6112565760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c6020526040902060020154839062615bf560e21b906001600160a01b031633148061128e575061128e333083611ad4565b6112aa5760405162461bcd60e51b8152600401610cdc90615742565b6000858152600b602052604090819020906112c89086906001614375565b6113115760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b6044820152606401610cdc565b60078101859055604051697363726970745479706560b01b908790600080516020615ebd83398151915290600090a3505050505050565b60006001600160e01b03198216635d9dd7eb60e11b148061136d575061136d826143e8565b92915050565b6301050e9760e21b611386333083611ad4565b6113a25760405162461bcd60e51b8152600401610cdc90615777565b601554600160f81b900460ff16156113f05760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903337b93134b23232b760791b6044820152606401610cdc565b6113f8614438565b50565b60606000805461140a906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054611436906157a7565b80156114835780601f1061145857610100808354040283529160200191611483565b820191906000526020600020905b81548152906001019060200180831161146657829003601f168201915b5050505050905090565b600061149882614490565b506000908152600460205260409020546001600160a01b031690565b60006114bf8261244b565b9050806001600160a01b0316836001600160a01b03160361152c5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610cdc565b336001600160a01b038216148061154857506115488133613f52565b6115ba5760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610cdc565b6115c483836144b5565b505050565b816115d3816142db565b6115ef5760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c60205260409020600201548390630d17067360e01b906001600160a01b03163314806116285750611628333083611ad4565b6116445760405162461bcd60e51b8152600401610cdc90615742565b8380516000036116665760405162461bcd60e51b8152600401610cdc906157db565b6000868152600b602052604090206001016116818682615873565b50604051636e616d6560e01b908790600080516020615ebd83398151915290600090a3505050505050565b816116b6816142db565b6116d25760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c602052604090206002015483906301cf392560e31b906001600160a01b031633148061170b575061170b333083611ad4565b6117275760405162461bcd60e51b8152600401610cdc90615742565b8380516000036117495760405162461bcd60e51b8152600401610cdc906157db565b84518590600b81111561179d5760405162461bcd60e51b815260206004820152601c60248201527b41737065637420726174696f20666f726d617420746f6f206c6f6e6760201b6044820152606401610cdc565b60008060005b838110156118895760008582815181106117bf576117bf61592c565b01602001516001600160f81b0319169050600360fc1b81108015906117f25750603960f81b6001600160f81b0319821611155b15611801576001925050611877565b6001600160f81b03198116601760f91b036118255783611825576001935050611877565b60405162461bcd60e51b815260206004820152602160248201527f496d70726f7065726c7920666f726d61747465642061737065637420726174696044820152606f60f81b6064820152608401610cdc565b8061188181615958565b9150506117a3565b50806118d55760405162461bcd60e51b815260206004820152601b60248201527a41737065637420726174696f20686173206e6f206e756d6265727360281b6044820152606401610cdc565b60008a8152600b602052604090206008016118f08a82615873565b506040516a617370656374526174696f60a81b908b90600080516020615ebd83398151915290600090a350505050505050505050565b6000818152600b60205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b03169161197c886142db565b1591505091939550919395565b600061136d620f424083615987565b631c05cad760e01b6119ab333083611ad4565b6119c75760405162461bcd60e51b8152600401610cdc90615777565b846001600160a01b0381166119ee5760405162461bcd60e51b8152600401610cdc9061599b565b846001600160a01b038116611a155760405162461bcd60e51b8152600401610cdc9061599b565b846001600160a01b038116611a3c5760405162461bcd60e51b8152600401610cdc9061599b565b846001600160a01b038116611a635760405162461bcd60e51b8152600401610cdc9061599b565b611a6f89898989614523565b505050505050505050565b63118165ed60e11b611a8d333083611ad4565b611aa95760405162461bcd60e51b8152600401610cdc90615777565b818051600003611acb5760405162461bcd60e51b8152600401610cdc906157db565b6115c4836145a5565b600080611adf612ac4565b6001600160a01b031614158015611b785750600a546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af1158015611b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7891906159d0565b949350505050565b611b8a33826145df565b611ba65760405162461bcd60e51b8152600401610cdc906159ed565b6115c483838361463d565b81611bbb816142db565b611bd75760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c602052604090206002015483906304b6ebad60e31b906001600160a01b0316331480611c105750611c10333083611ad4565b611c2c5760405162461bcd60e51b8152600401610cdc90615742565b838051600003611c4e5760405162461bcd60e51b8152600401610cdc906157db565b6000868152600b60205260409020600501611c698682615873565b50604051666c6963656e736560c81b908790600080516020615ebd83398151915290600090a3505050505050565b631593a0b360e11b611caa333083611ad4565b611cc65760405162461bcd60e51b8152600401610cdc90615777565b816001600160a01b038116611ced5760405162461bcd60e51b8152600401610cdc9061599b565b600780546001600160a01b0319166001600160a01b03851617905560405178646570656e64656e637952656769737472794164647265737360381b90600080516020615e9d83398151915290600090a2505050565b857f00000000000000000000000000000000000000000000000000000000000000008110158015611d7d57506015546001600160f81b031681105b611d995760405162461bcd60e51b8152600401610cdc90615a3b565b6000878152600c602052604090206002015487906001600160a01b03163314611dd45760405162461bcd60e51b8152600401610cdc906156f3565b866001600160a01b038116611dfb5760405162461bcd60e51b8152600401610cdc9061599b565b6000898152600c6020526040902060648711801590611e1b575060648511155b611e555760405162461bcd60e51b815260206004820152600b60248201526a4d6178206f66203130302560a81b6044820152606401610cdc565b861580611e6a57506001600160a01b03881615155b611eb65760405162461bcd60e51b815260206004820152601d60248201527f5072696d617279207061796565206973207a65726f20616464726573730000006044820152606401610cdc565b841580611ecb57506001600160a01b03861615155b611f175760405162461bcd60e51b815260206004820152601f60248201527f5365636f6e64617279207061796565206973207a65726f2061646472657373006044820152606401610cdc565b897f6ff7d102bb3657a26dcbbcd299d821a066718a7cf76ae7cd98279f18b74da8ac8a8a8a8a8a604051611f4f959493929190615a6e565b60405180910390a27f000000000000000000000000000000000000000000000000000000000000000080611ff557600282015482546001600160a01b039182168c831614916000918116908c161480611faf57506001600160a01b038b16155b60018501549091506000906001600160a01b038b811691161480611fda57506001600160a01b038a16155b9050828015611fe65750815b8015611fef5750805b93505050505b80156120fd576000801b600d60008d815260200190815260200160002081905550898260020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550888260000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550878260020160146101000a81548160ff021916908360ff160217905550868260010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550858260010160146101000a81548160ff021916908360ff1602179055508a7fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a261213c565b8989898989604051602001612116959493929190615a6e565b60408051601f19818403018152918152815160209283012060008e8152600d9093529120555b5050505050505050505050565b6000818152600b60205260409020600601805460609190612169906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612195906157a7565b80156121e25780601f106121b7576101008083540402835291602001916121e2565b820191906000526020600020905b8154815290600101906020018083116121c557829003601f168201915b50505050509050919050565b6000828152600c602052604090206002015482906001600160a01b031633146122295760405162461bcd60e51b8152600401610cdc906156f3565b6000838152600b602052604090206004016122448382615873565b50604051667765627369746560c81b908490600080516020615ebd83398151915290600090a3505050565b6000828152600c602052604090206002015482906001600160a01b031633146122aa5760405162461bcd60e51b8152600401610cdc906156f3565b8180516000036122cc5760405162461bcd60e51b8152600401610cdc906157db565b6000848152600b602052604090206006016122e78482615873565b50604051666261736555524960c81b908590600080516020615ebd83398151915290600090a350505050565b6115c48383836040518060200160405280600081525061344b565b632419b94160e11b612341333083611ad4565b61235d5760405162461bcd60e51b8152600401610cdc90615777565b816001600160a01b0381166123845760405162461bcd60e51b8152600401610cdc9061599b565b601480546001600160a01b0319166001600160a01b0385169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a2505050565b60606123e46576332e312e3160d01b6147d9565b905090565b600081815260026020526040812054600160a01b900460a01b6001600160a01b03198116820361241c5750600092915050565b8060405160200161242d9190615475565b60405160208183030381529060405280519060200120915050919050565b6000818152600260205260408120546001600160a01b03168061136d5760405162461bcd60e51b8152600401610cdc90615aa1565b817f000000000000000000000000000000000000000000000000000000000000000081101580156124bb57506015546001600160f81b031681105b6124d75760405162461bcd60e51b8152600401610cdc90615a3b565b826369d14faf60e01b6124eb333083611ad4565b8061252a575060006124fb612ac4565b6001600160a01b031614801561252a57506000828152600c60205260409020600201546001600160a01b031633145b6125465760405162461bcd60e51b8152600401610cdc90615ad3565b836001600160a01b03811661256d5760405162461bcd60e51b8152600401610cdc9061599b565b6000868152600c602052604080822060020180546001600160a01b0319166001600160a01b038916179055516c6172746973744164647265737360981b918891600080516020615ebd8339815191529190a3505050505050565b636c907b7f60e01b6125da333083611ad4565b6125f65760405162461bcd60e51b8152600401610cdc90615777565b816001600160a01b03811661261d5760405162461bcd60e51b8152600401610cdc9061599b565b6115c483614844565b60006001600160a01b0382166126905760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610cdc565b506001600160a01b031660009081526003602052604090205490565b6126b46148cb565b6126bc614438565b6126c461492a565b565b857f0000000000000000000000000000000000000000000000000000000000000000811015801561270157506015546001600160f81b031681105b61271d5760405162461bcd60e51b8152600401610cdc90615a3b565b866376ee6fab60e01b612731333083611ad4565b8061277057506000612741612ac4565b6001600160a01b031614801561277057506000828152600c60205260409020600201546001600160a01b031633145b61278c5760405162461bcd60e51b8152600401610cdc90615ad3565b876001600160a01b0381166127b35760405162461bcd60e51b8152600401610cdc9061599b565b88888888886040516020016127cc959493929190615a6e565b60408051601f19818403018152918152815160209283012060008d8152600d9093529120541461283b5760405162461bcd60e51b815260206004820152601a602482015279135d5cdd081b585d18da08185c9d1a5cdd081c1c9bdc1bdcd85b60321b6044820152606401610cdc565b6000600c60008c81526020019081526020016000209050898160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550888160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550878160020160146101000a81548160ff021916908360ff160217905550868160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550858160010160146101000a81548160ff021916908360ff1602179055506000801b600d60008d8152602001908152602001600020819055508a7fc582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73860405160405180910390a25050505050505050505050565b6000828152600c60205260408120600e548291829182918291829182918291908a9060649061299590600160a01b900460ff1683615b2b565b61299f9190615987565b99506129ab8a82615b42565b600f549091506064906129c890600160a01b900460ff168d615b2b565b6129d29190615987565b97506129de8882615b42565b60028301549091506064906129fd90600160a01b900460ff1683615b2b565b612a079190615987565b9350612a138482615b42565b600e54600f546001600160a01b039182169b5016975095508515612a425760028201546001600160a01b031694505b8315612a565781546001600160a01b031692505b50509295985092959890939650565b6000828152600b60205260409020805460609190600160301b900462ffffff168310612aa157505060408051602081019091526000815261136d565b6000838152600982016020526040902054611b78906001600160a01b031661493c565b60006123e46006546001600160a01b031690565b60608060608060606000600b60008881526020019081526020016000209050806001018054612b06906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612b32906157a7565b8015612b7f5780601f10612b5457610100808354040283529160200191612b7f565b820191906000526020600020905b815481529060010190602001808311612b6257829003601f168201915b50505050509550806002018054612b95906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612bc1906157a7565b8015612c0e5780601f10612be357610100808354040283529160200191612c0e565b820191906000526020600020905b815481529060010190602001808311612bf157829003601f168201915b50505050509450806003018054612c24906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612c50906157a7565b8015612c9d5780601f10612c7257610100808354040283529160200191612c9d565b820191906000526020600020905b815481529060010190602001808311612c8057829003601f168201915b50505050509350806004018054612cb3906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612cdf906157a7565b8015612d2c5780601f10612d0157610100808354040283529160200191612d2c565b820191906000526020600020905b815481529060010190602001808311612d0f57829003601f168201915b50505050509250806005018054612d42906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612d6e906157a7565b8015612dbb5780601f10612d9057610100808354040283529160200191612dbb565b820191906000526020600020905b815481529060010190602001808311612d9e57829003601f168201915b505050505091505091939590929450565b60606001805461140a906157a7565b6000818152600c602052604090206002015481906001600160a01b03163314612e165760405162461bcd60e51b8152600401610cdc906156f3565b6000828152600b6020526040808220805460ff60901b198116600160901b9182900460ff161590910217905551651c185d5cd95960d21b918491600080516020615ebd8339815191529190a35050565b612e713383836149c7565b5050565b612e7e826142db565b612e9957612e9433306351d9665360e11b611ad4565b612eb7565b6000828152600c60205260409020600201546001600160a01b031633145b612f185760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c7920617274697374207768656e20756e6c6f636b65642c206f776e657260448201526b081dda195b881b1bd8dad95960a21b6064820152608401610cdc565b6000828152600b60205260409020600301612f338282615873565b506040516a3232b9b1b934b83a34b7b760a91b908390600080516020615ebd83398151915290600090a35050565b60168054612f6e906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054612f9a906157a7565b8015612fe75780601f10612fbc57610100808354040283529160200191612fe7565b820191906000526020600020905b815481529060010190602001808311612fca57829003601f168201915b505050505081565b81612ff9816142db565b6130155760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c60205260409020600201548390632b2b404960e21b906001600160a01b031633148061304e575061304e333083611ad4565b61306a5760405162461bcd60e51b8152600401610cdc90615742565b83805160000361308c5760405162461bcd60e51b8152600401610cdc906157db565b6000868152600b602052604090206130a386614a91565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b03949094169390931790925582546130f592919004166001615b55565b815462ffffff91909116600160301b0262ffffff60301b19909116178155604051651cd8dc9a5c1d60d21b908890600080516020615ebd83398151915290600090a350505050505050565b60606123e47547656e417274373231436f726556335f456e67696e6560501b6147d9565b8261316e816142db565b61318a5760405162461bcd60e51b8152600401610cdc90615718565b6000848152600c6020526040902060020154849063b1656ba360e01b906001600160a01b03163314806131c357506131c3333083611ad4565b6131df5760405162461bcd60e51b8152600401610cdc90615742565b8380516000036132015760405162461bcd60e51b8152600401610cdc906157db565b6000878152600b602052604090208054600160301b900462ffffff1687106132635760405162461bcd60e51b81526020600482015260156024820152747363726970744964206f7574206f662072616e676560581b6044820152606401610cdc565b6000878152600982016020526040902054613286906001600160a01b0316614b19565b61328f86614a91565b600088815260098301602052604080822080546001600160a01b0319166001600160a01b0394909416939093179092559051651cd8dc9a5c1d60d21b918a91600080516020615ebd8339815191529190a35050505050505050565b60095460009082106133345760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606401610cdc565b600982815481106133475761334761592c565b6000918252602090912001546001600160a01b031692915050565b8161336c816142db565b6133885760405162461bcd60e51b8152600401610cdc90615718565b6000838152600c60205260409020600201548390635bd827d760e11b906001600160a01b03163314806133c157506133c1333083611ad4565b6133dd5760405162461bcd60e51b8152600401610cdc90615742565b8380516000036133ff5760405162461bcd60e51b8152600401610cdc906157db565b6000868152600b6020526040902060020161341a8682615873565b50604051696172746973744e616d6560b01b908790600080516020615ebd83398151915290600090a3505050505050565b61345533836145df565b6134715760405162461bcd60e51b8152600401610cdc906159ed565b61347d84848484614bd0565b50505050565b6060808261349081614134565b6134ac5760405162461bcd60e51b8152600401610cdc906156c2565b60408051600480825260a082019092529060208201608080368337505060408051600480825260a0820190925292955090506020820160808036833701905050915060006134f985611989565b6000818152600c6020526040812080546001820154939450909260ff600160a01b9283900481169392909104169082613533836064615b42565b61353d9190615b2b565b9050600061354b8484615b2b565b60115460135491925090600084156135c55760028801548c516001600160a01b03909116908d90839081106135825761358261592c565b6001600160a01b0390921660209283029190910190910152848b826135a681615958565b9350815181106135b8576135b861592c565b6020026020010181815250505b83156136335760018801548c516001600160a01b03909116908d90839081106135f0576135f061592c565b6001600160a01b0390921660209283029190910190910152838b8261361481615958565b9350815181106136265761362661592c565b6020026020010181815250505b821561369f576010548c516001600160a01b03909116908d908390811061365c5761365c61592c565b6001600160a01b0390921660209283029190910190910152828b8261368081615958565b9350815181106136925761369261592c565b6020026020010181815250505b811561370b576012548c516001600160a01b03909116908d90839081106136c8576136c861592c565b6001600160a01b0390921660209283029190910190910152818b826136ec81615958565b9350815181106136fe576136fe61592c565b6020026020010181815250505b80600411156137265780600403808d51038d52808c51038c52505b50505050505050505050915091565b63bd3d10e760e01b613748333083611ad4565b6137645760405162461bcd60e51b8152600401610cdc90615777565b60646137708385615b78565b11156137b95760405162461bcd60e51b81526020600482015260186024820152774d61782073756d206f66204f4e455f48554e44524544202560401b6044820152606401610cdc565b600e805460ff808616600160a01b90810260ff60a01b1993841617909355600f805491861690930291161790556040517970726f76696465725072696d61727950657263656e746167657360301b90600080516020615e9d83398151915290600090a2505050565b6000828152600c602052604090206002015482906001600160a01b0316331461385c5760405162461bcd60e51b8152600401610cdc906156f3565b605f8211156138cc5760405162461bcd60e51b815260206004820152603660248201527f4d6178206f66204152544953545f4d41585f5345434f4e444152595f524f594160448201527513151657d4115490d153951051d1481c195c98d95b9d60521b6064820152608401610cdc565b6000838152600c6020526040808220805460ff60a01b1916600160a01b60ff8716021790555170726f79616c747950657263656e7461676560781b918591600080516020615ebd8339815191529190a3505050565b60608161392d81614134565b6139495760405162461bcd60e51b8152600401610cdc906156c2565b6000600b600061395886611989565b81526020019081526020016000206006018054613974906157a7565b80601f01602080910402602001604051908101604052809291908181526020018280546139a0906157a7565b80156139ed5780601f106139c2576101008083540402835291602001916139ed565b820191906000526020600020905b8154815290600101906020018083116139d057829003601f168201915b50505050509050806139fe85614c03565b604051602001613a0f929190615ba7565b6040516020818303038152906040529250505b50919050565b63cc90e72560e01b613a3b333083611ad4565b613a575760405162461bcd60e51b8152600401610cdc90615777565b828051600003613a795760405162461bcd60e51b8152600401610cdc906157db565b826001600160a01b038116613aa05760405162461bcd60e51b8152600401610cdc9061599b565b601554600160f81b900460ff1615613af35760405162461bcd60e51b81526020600482015260166024820152752732bb90383937b532b1ba39903337b93134b23232b760511b6044820152606401610cdc565b6015546001600160f81b03166000818152600c6020908152604080832060020180546001600160a01b0319166001600160a01b038a16179055600b9091529020600101613b408782615873565b506000818152600b60205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b01178155600601613b7d601682615bd6565b50613b89816001615ca2565b601580546001600160f81b0319166001600160f81b03929092169190911790556040516618dc99585d195960ca1b908290600080516020615ebd83398151915290600090a3505050505050565b63340f0e4360e21b613be9333083611ad4565b613c055760405162461bcd60e51b8152600401610cdc90615777565b817f00000000000000000000000000000000000000000000000000000000000000008110158015613c4057506015546001600160f81b031681105b613c5c5760405162461bcd60e51b8152600401610cdc90615a3b565b6000838152600b6020526040808220805460ff60881b198116600160881b9182900460ff1615909102179055516561637469766560d01b918591600080516020615ebd8339815191529190a3505050565b636d90d42360e11b613cc0333083611ad4565b613cdc5760405162461bcd60e51b8152600401610cdc90615777565b612710613ce98385615b78565b1115613d4f5760405162461bcd60e51b815260206004820152602f60248201527f4d61782073756d206f66204d41585f50524f56494445525f5345434f4e44415260448201526e595f53414c45535f4250532042505360881b6064820152608401610cdc565b601183905560138290556040517370726f76696465725365636f6e6461727942505360601b90600080516020615e9d83398151915290600090a2505050565b80613d98816142db565b613db45760405162461bcd60e51b8152600401610cdc90615718565b6000828152600c6020526040902060020154829063db2ff86160e01b906001600160a01b0316331480613ded5750613ded333083611ad4565b613e095760405162461bcd60e51b8152600401610cdc90615742565b6000848152600b602052604090208054600160301b900462ffffff16613e715760405162461bcd60e51b815260206004820152601e60248201527f746865726520617265206e6f207363726970747320746f2072656d6f766500006044820152606401610cdc565b8054613ebb906009830190600090613e9790600190600160301b900462ffffff16615cc2565b62ffffff1681526020810191909152604001600020546001600160a01b0316614b19565b80546009820190600090613edd90600190600160301b900462ffffff16615cc2565b62ffffff908116825260208201929092526040908101600090812080546001600160a01b0319169055835462ffffff60301b198116600160301b918290048516600019019094160292909217835551651cd8dc9a5c1d60d21b918791600080516020615ebd8339815191529190a35050505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000818152600b60205260408120600781015460609283929091613fa3906147d9565b9350806008018054613fb4906157a7565b80601f0160208091040260200160405190810160405280929190818152602001828054613fe0906157a7565b801561402d5780601f106140025761010080835404028352916020019161402d565b820191906000526020600020905b81548152906001019060200180831161401057829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b6140546148cb565b6001600160a01b0381166140b95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cdc565b6113f881614d03565b60006123e4612ac4565b606061136d6001600160a01b0383166014614d2e565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000908152600260205260409020546001600160a01b0316151590565b6000818152600b6020526040808220805467ffffffffffffffff60481b1916600160481b426001600160401b031602179055516818dbdb5c1b195d195960ba1b918391600080516020615ebd8339815191529190a350565b6001600160a01b0382166141ff5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610cdc565b61420881614134565b156142545760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606401610cdc565b6001600160a01b038216600090815260036020526040812080546001929061427d908490615b78565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000817f0000000000000000000000000000000000000000000000000000000000000000811015801561431857506015546001600160f81b031681105b6143345760405162461bcd60e51b8152600401610cdc90615a3b565b6000838152600b6020526040902054600160481b90046001600160401b03168015808061436c57506224ea0061436a8342615b42565b105b95945050505050565b600080805b60208160ff1610156143d4576000868260ff166020811061439d5761439d61592c565b1a905080158015906143b2575060808160ff16105b156143cb578560ff168160ff16036143cb578260010192505b5060010161437a565b8360ff168260ff1614925050509392505050565b60006001600160e01b031982166380ac58cd60e01b148061441957506001600160e01b03198216635b5e139f60e01b145b8061136d57506301ffc9a760e01b6001600160e01b031983161461136d565b601554600160f81b900460ff166126c457601580546001600160f81b0316600160f81b179055604051733732bba83937b532b1ba39a337b93134b23232b760611b90600080516020615e9d83398151915290600090a2565b61449981614134565b6113f85760405162461bcd60e51b8152600401610cdc90615aa1565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906144ea8261244b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600f80546001600160a01b038085166001600160a01b03199283161790925560128054848416908316179055600e805487841690831617905560108054928616929091169190911790556040517570726f766964657253616c657341646472657373657360501b90600080516020615e9d83398151915290600090a250505050565b60166145b18282615873565b506040516d64656661756c744261736555524960901b90600080516020615e9d83398151915290600090a250565b6000806145eb8361244b565b9050806001600160a01b0316846001600160a01b0316148061461257506146128185613f52565b80611b785750836001600160a01b031661462b8461148d565b6001600160a01b031614949350505050565b826001600160a01b03166146508261244b565b6001600160a01b0316146146b45760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610cdc565b6001600160a01b0382166147165760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610cdc565b6147216000826144b5565b6001600160a01b038316600090815260036020526040812080546001929061474a908490615b42565b90915550506001600160a01b0382166000908152600360205260408120805460019290614778908490615b78565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b606060005b828160ff16602081106147f3576147f361592c565b1a60f81b6001600160f81b03191615801590614812575060208160ff16105b15614829578061482181615cde565b9150506147de565b60405191506040820160405280825282602083015250919050565b600880546001600160a01b0383166001600160a01b031991821681179092556009805460018101825560009182527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af01805490921690921790556040517072616e646f6d697a65724164647265737360781b91600080516020615e9d83398151915291a250565b336148d4612ac4565b6001600160a01b0316146126c45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cdc565b6149326148cb565b6126c46000614d03565b6060813b606881108061494d575080155b1561499a5760405162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374417353746f726167653a2052656164204572726f720000006044820152606401610cdc565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b816001600160a01b0316836001600160a01b031603614a245760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610cdc565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000803083604051602001614aa7929190615cfd565b60405160208183030381529060405290508051602082016000f091506001600160a01b038216613a225760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610cdc565b6000816001600160a01b0316604051614b3d906001600160f81b0319815260010190565b6000604051808303816000865af19150503d8060008114614b7a576040519150601f19603f3d011682016040523d82523d6000602084013e614b7f565b606091505b5050905080612e715760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374417353746f726167653a2044656c657465204572726f72006044820152606401610cdc565b614bdb84848461463d565b614be784848484614ed0565b61347d5760405162461bcd60e51b8152600401610cdc90615dc5565b606081600003614c2a5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115614c545780614c3e81615958565b9150614c4d9050600a83615987565b9150614c2e565b6000816001600160401b03811115614c6e57614c6e61515d565b6040519080825280601f01601f191660200182016040528015614c98576020820181803683370190505b5090505b8415611b7857614cad600183615b42565b9150614cba600a86615e17565b614cc5906030615b78565b60f81b818381518110614cda57614cda61592c565b60200101906001600160f81b031916908160001a905350614cfc600a86615987565b9450614c9c565b614d0c816140e2565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60606000614d3d836002615b2b565b614d48906002615b78565b6001600160401b03811115614d5f57614d5f61515d565b6040519080825280601f01601f191660200182016040528015614d89576020820181803683370190505b509050600360fc1b81600081518110614da457614da461592c565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110614dd357614dd361592c565b60200101906001600160f81b031916908160001a9053506000614df7846002615b2b565b614e02906001615b78565b90505b6001811115614e7a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110614e3657614e3661592c565b1a60f81b828281518110614e4c57614e4c61592c565b60200101906001600160f81b031916908160001a90535060049490941c93614e7381615e2b565b9050614e05565b508315614ec95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610cdc565b9392505050565b60006001600160a01b0384163b15614fc657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290614f14903390899088908890600401615e42565b6020604051808303816000875af1925050508015614f4f575060408051601f3d908101601f19168201909252614f4c91810190615e7f565b60015b614fac573d808015614f7d576040519150601f19603f3d011682016040523d82523d6000602084013e614f82565b606091505b508051600003614fa45760405162461bcd60e51b8152600401610cdc90615dc5565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611b78565b506001949350505050565b60008060408385031215614fe457600080fd5b50508035926020909101359150565b6001600160a01b03811681146113f857600080fd5b60008060006060848603121561501d57600080fd5b833561502881614ff3565b925060208401359150604084013561503f81614ff3565b809150509250925092565b6000806040838503121561505d57600080fd5b82359150602083013562ffffff8116811461507757600080fd5b809150509250929050565b6001600160e01b0319811681146113f857600080fd5b6000602082840312156150aa57600080fd5b8135614ec981615082565b60005b838110156150d05781810151838201526020016150b8565b50506000910152565b600081518084526150f18160208601602086016150b5565b601f01601f19169290920160200192915050565b602081526000614ec960208301846150d9565b60006020828403121561512a57600080fd5b5035919050565b6000806040838503121561514457600080fd5b823561514f81614ff3565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b038084111561518d5761518d61515d565b604051601f8501601f19908116603f011681019082821181831017156151b5576151b561515d565b816040528093508581528686860111156151ce57600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126151f957600080fd5b614ec983833560208501615173565b6000806040838503121561521b57600080fd5b8235915060208301356001600160401b0381111561523857600080fd5b615244858286016151e8565b9150509250929050565b6000806000806080858703121561526457600080fd5b843561526f81614ff3565b9350602085013561527f81614ff3565b9250604085013561528f81614ff3565b9150606085013561529f81614ff3565b939692955090935050565b6000602082840312156152bc57600080fd5b81356001600160401b038111156152d257600080fd5b611b78848285016151e8565b6000806000606084860312156152f357600080fd5b83356152fe81614ff3565b9250602084013561530e81614ff3565b9150604084013561503f81615082565b60008060006060848603121561533357600080fd5b833561533e81614ff3565b9250602084013561534e81614ff3565b929592945050506040919091013590565b60006020828403121561537157600080fd5b8135614ec981614ff3565b60008060008060008060c0878903121561539557600080fd5b8635955060208701356153a781614ff3565b945060408701356153b781614ff3565b93506060870135925060808701356153ce81614ff3565b8092505060a087013590509295509295509295565b600080604083850312156153f657600080fd5b82359150602083013561507781614ff3565b60a08152600061541b60a08301886150d9565b828103602084015261542d81886150d9565b9050828103604084015261544181876150d9565b9050828103606084015261545581866150d9565b9050828103608084015261546981856150d9565b98975050505050505050565b6001600160a01b031991909116815260200190565b80151581146113f857600080fd5b600080604083850312156154ab57600080fd5b82356154b681614ff3565b915060208301356150778161548a565b6000806000606084860312156154db57600080fd5b833592506020840135915060408401356001600160401b038111156154ff57600080fd5b61550b868287016151e8565b9150509250925092565b6000806000806080858703121561552b57600080fd5b843561553681614ff3565b9350602085013561554681614ff3565b92506040850135915060608501356001600160401b0381111561556857600080fd5b8501601f8101871361557957600080fd5b61558887823560208401615173565b91505092959194509250565b604080825283519082018190526000906020906060840190828701845b828110156155d65781516001600160a01b0316845292840192908401906001016155b1565b5050508381038285015284518082528583019183019060005b8181101561560b578351835292840192918401916001016155ef565b5090979650505050505050565b6000806040838503121561562b57600080fd5b82356001600160401b0381111561564157600080fd5b61564d858286016151e8565b925050602083013561507781614ff3565b6000806040838503121561567157600080fd5b823561567c81614ff3565b9150602083013561507781614ff3565b60608152600061569f60608301866150d9565b82810360208401526156b181866150d9565b915050826040830152949350505050565b602080825260179082015276151bdad95b88125108191bd95cc81b9bdd08195e1a5cdd604a1b604082015260600190565b6020808252600b908201526a13db9b1e48185c9d1a5cdd60aa1b604082015260600190565b60208082526010908201526f13db9b1e481a59881d5b9b1bd8dad95960821b604082015260600190565b6020808252818101527f4f6e6c7920617274697374206f722041646d696e2041434c20616c6c6f776564604082015260600190565b60208082526016908201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b604082015260600190565b600181811c908216806157bb57607f821691505b602082108103613a2257634e487b7160e01b600052602260045260246000fd5b6020808252601b908201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b604082015260600190565b601f8211156115c457600081815260208120601f850160051c810160208610156158375750805b601f850160051c820191505b8181101561585657828155600101615843565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b0381111561588c5761588c61515d565b6158a08161589a84546157a7565b84615810565b602080601f8311600181146158cf57600084156158bd5750858301515b6158c7858261585e565b865550615856565b600085815260208120601f198616915b828110156158fe578886015182559484019460019091019084016158df565b508582101561591c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161596a5761596a615942565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261599657615996615971565b500490565b6020808252601b908201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b604082015260600190565b6000602082840312156159e257600080fd5b8151614ec98161548a565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b602080825260199082015278141c9bda9958dd08125108191bd95cc81b9bdd08195e1a5cdd603a1b604082015260600190565b6001600160a01b039586168152938516602085015260408401929092529092166060820152608081019190915260a00190565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b60208082526038908201527f4f6e6c792041646d696e2041434c20616c6c6f7765642c206f722061727469736040820152771d081a59881bdddb995c881a185cc81c995b9bdd5b98d95960421b606082015260800190565b808202811582820484141761136d5761136d615942565b8181038181111561136d5761136d615942565b62ffffff818116838216019080821115615b7157615b71615942565b5092915050565b8082018082111561136d5761136d615942565b60008151615b9d8185602086016150b5565b9290920192915050565b60008351615bb98184602088016150b5565b835190830190615bcd8183602088016150b5565b01949350505050565b818103615be1575050565b615beb82546157a7565b6001600160401b03811115615c0257615c0261515d565b615c108161589a84546157a7565b6000601f821160018114615c3e5760008315615c2c5750848201545b615c36848261585e565b855550611229565b600085815260209020601f19841690600086815260209020845b83811015615c785782860154825560019586019590910190602001615c58565b508583101561591c5793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160f81b03818116838216019080821115615b7157615b71615942565b62ffffff828116828216039080821115615b7157615b71615942565b600060ff821660ff8103615cf457615cf4615942565b60010192915050565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e830152615da26053830160008152600c0190565b615db8818660601b6001600160601b0319169052565b61436c6014820185615b8b565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600082615e2657615e26615971565b500690565b600081615e3a57615e3a615942565b506000190190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615e75908301846150d9565b9695505050505050565b600060208284031215615e9157600080fd5b8151614ec98161508256fe8b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d009b96a30340e86d03ce4be42f94ac02d7b27b4a4cdae942beb69026718dfe66afca26469706673582212204ce6db8c5c59a6371eb860166117475b1b960400da2d42edbcd2f872fd75a3c764736f6c63430008110033",
1940
- "linkReferences": {},
1941
- "deployedLinkReferences": {}
1942
- }