@artblocks/contracts 1.2.0 → 1.2.1

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 (164) hide show
  1. package/README.md +22 -38
  2. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  3. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol/BytecodeStorageReaderContractV2.json +201 -0
  4. package/artifacts/contracts/BytecodeStorageReaders/UniversalBytecodeStorageReader.sol/UniversalBytecodeStorageReader.json +154 -0
  5. package/artifacts/contracts/BytecodeStorageV2Writer.sol/BytecodeStorageV2Writer.json +87 -0
  6. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +144 -14
  7. package/artifacts/contracts/GenArt721CoreV3_Curated.sol/GenArt721CoreV3_Curated.json +2493 -0
  8. package/artifacts/contracts/OwnedCreate2FactoryV0.sol/OwnedCreate2FactoryV0.json +311 -0
  9. package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +15 -2
  10. package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +15 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +37 -0
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterSEA/MinterSEAV0.sol/MinterSEAV0.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  33. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  34. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  37. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  38. package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +20 -2
  39. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +48 -12
  40. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +76 -40
  41. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +15 -2
  42. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
  43. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +15 -2
  44. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +37 -0
  45. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +2 -2
  46. package/artifacts/contracts/generator/AddressChunks.sol/AddressChunks.json +10 -0
  47. package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +333 -0
  48. package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/ILegacyGenArt721CoreV2_PBAB_Flex.json +47 -0
  49. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +7 -7
  50. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol/IBytecodeStorageReaderV2.json +7 -7
  51. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReader_Base.sol/IBytecodeStorageReader_Base.json +30 -0
  52. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +13 -0
  53. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +170 -0
  54. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +37 -0
  55. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +37 -0
  56. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +42 -0
  57. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +42 -0
  58. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +37 -0
  59. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +37 -0
  60. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV0.sol/IGenArt721CoreProjectScriptV0.json +59 -0
  61. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV1.sol/IGenArt721CoreProjectScriptV1.json +64 -0
  62. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV0.sol/IGenArt721CoreTokenHashProviderV0.json +30 -0
  63. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV1.sol/IGenArt721CoreTokenHashProviderV1.json +30 -0
  64. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721GeneratorV0.sol/IGenArt721GeneratorV0.json +63 -0
  65. package/artifacts/contracts/interfaces/v0.8.x/IOwnedCreate2FactoryV0.sol/IOwnedCreate2FactoryV0.json +74 -0
  66. package/artifacts/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol/ISeaDropShimForContract.json +37 -0
  67. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMinPriceV0.sol/ISharedMinterMinPriceV0.json +37 -0
  68. package/artifacts/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol/IUniversalBytecodeStorageReader.json +56 -0
  69. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ERC721SeaDropStructsErrorsAndEvents.sol/ERC721SeaDropStructsErrorsAndEvents.json +43 -0
  70. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/INonFungibleSeaDropToken.sol/INonFungibleSeaDropToken.json +715 -0
  71. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDrop.sol/ISeaDrop.json +1571 -0
  72. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDropTokenContractMetadata.sol/ISeaDropTokenContractMetadata.json +345 -0
  73. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropErrorsAndEvents.sol/SeaDropErrorsAndEvents.json +717 -0
  74. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  75. package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  76. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +2 -2
  77. package/artifacts/contracts/libs/v0.8.x/JsonStatic.sol/JsonStatic.json +10 -0
  78. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +9 -22
  79. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +2 -2
  80. package/artifacts/contracts/libs/v0.8.x/minter-libs/MinPriceLib.sol/MinPriceLib.json +24 -0
  81. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  82. package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +2 -2
  83. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +2 -2
  84. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +2 -2
  85. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +2 -2
  86. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  87. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +2 -2
  88. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +2 -2
  89. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +2 -2
  90. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +2 -2
  91. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +2 -2
  92. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +2 -2
  93. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol/MinterMinPriceMerkleV0.json +664 -0
  94. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceV0.sol/MinterMinPriceV0.json +387 -0
  95. package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +2 -2
  96. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +2 -2
  97. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +2 -2
  98. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +2 -2
  99. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +2 -2
  100. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +2 -2
  101. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +2 -2
  102. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +2 -2
  103. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +2 -2
  104. package/artifacts/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol/SeaDropXArtBlocksShim.json +1206 -0
  105. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +2 -2
  106. package/artifacts/contracts/mock/BytecodeV2LibCallsMock.sol/BytecodeV2LibCallsMock.json +2 -2
  107. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  108. package/artifacts/contracts/mock/ERC20MockAltDecimals.sol/ERC20MockAltDecimals.json +318 -0
  109. package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +2 -2
  110. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
  111. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -2
  112. package/artifacts/contracts/mock/MockFileStore.sol/MockFileStore.json +35 -0
  113. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
  114. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  115. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  116. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  117. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +2 -2
  118. package/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol +103 -0
  119. package/contracts/BytecodeStorageReaders/UniversalBytecodeStorageReader.sol +70 -0
  120. package/contracts/BytecodeStorageV2Writer.sol +69 -0
  121. package/contracts/DependencyRegistryV0.sol +229 -60
  122. package/contracts/GenArt721CoreV3_Curated.sol +133 -0
  123. package/contracts/OwnedCreate2FactoryV0.sol +173 -0
  124. package/contracts/engine/V3/EngineFactoryV0.sol +10 -2
  125. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +139 -70
  126. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +141 -71
  127. package/contracts/generator/AddressChunks.sol +106 -0
  128. package/contracts/generator/GenArt721GeneratorV0.sol +1094 -0
  129. package/contracts/generator/scripty-support/Scripty.sol +5 -0
  130. package/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol +34 -36
  131. package/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol +5 -3
  132. package/contracts/interfaces/v0.8.x/IBytecodeStorageReader_Base.sol +20 -0
  133. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +5 -0
  134. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +94 -0
  135. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +13 -2
  136. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +3 -1
  137. package/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV0.sol +22 -0
  138. package/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV1.sol +23 -0
  139. package/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV0.sol +11 -0
  140. package/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV1.sol +9 -0
  141. package/contracts/interfaces/v0.8.x/IGenArt721GeneratorV0.sol +14 -0
  142. package/contracts/interfaces/v0.8.x/IOwnedCreate2FactoryV0.sol +40 -0
  143. package/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol +19 -0
  144. package/contracts/interfaces/v0.8.x/ISharedMinterMinPriceV0.sol +22 -0
  145. package/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol +10 -4
  146. package/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol +28 -0
  147. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ERC721SeaDropStructsErrorsAndEvents.sol +58 -0
  148. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/INonFungibleSeaDropToken.sol +186 -0
  149. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDrop.sol +337 -0
  150. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDropTokenContractMetadata.sol +152 -0
  151. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropErrorsAndEvents.sol +320 -0
  152. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropStructs.sol +146 -0
  153. package/contracts/libs/v0.8.x/Bytes32Strings.sol +20 -0
  154. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +11 -3
  155. package/contracts/libs/v0.8.x/JsonStatic.sol +373 -0
  156. package/contracts/libs/v0.8.x/V3FlexLib.sol +9 -3
  157. package/contracts/libs/v0.8.x/minter-libs/MinPriceLib.sol +64 -0
  158. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +107 -0
  159. package/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol +765 -0
  160. package/contracts/minter-suite/Minters/MinterMinPriceV0.sol +462 -0
  161. package/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol +869 -0
  162. package/contracts/mock/ERC20MockAltDecimals.sol +31 -0
  163. package/contracts/mock/MockFileStore.sol +22 -0
  164. package/package.json +20 -18
@@ -0,0 +1,2493 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "GenArt721CoreV3_Curated",
4
+ "sourceName": "contracts/GenArt721CoreV3_Curated.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "components": [
10
+ {
11
+ "internalType": "string",
12
+ "name": "tokenName",
13
+ "type": "string"
14
+ },
15
+ {
16
+ "internalType": "string",
17
+ "name": "tokenSymbol",
18
+ "type": "string"
19
+ },
20
+ {
21
+ "internalType": "address",
22
+ "name": "renderProviderAddress",
23
+ "type": "address"
24
+ },
25
+ {
26
+ "internalType": "address",
27
+ "name": "platformProviderAddress",
28
+ "type": "address"
29
+ },
30
+ {
31
+ "internalType": "address",
32
+ "name": "newSuperAdminAddress",
33
+ "type": "address"
34
+ },
35
+ {
36
+ "internalType": "address",
37
+ "name": "randomizerContract",
38
+ "type": "address"
39
+ },
40
+ {
41
+ "internalType": "address",
42
+ "name": "splitProviderAddress",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "internalType": "address",
47
+ "name": "minterFilterAddress",
48
+ "type": "address"
49
+ },
50
+ {
51
+ "internalType": "uint248",
52
+ "name": "startingProjectId",
53
+ "type": "uint248"
54
+ },
55
+ {
56
+ "internalType": "bool",
57
+ "name": "autoApproveArtistSplitProposals",
58
+ "type": "bool"
59
+ },
60
+ {
61
+ "internalType": "bool",
62
+ "name": "nullPlatformProvider",
63
+ "type": "bool"
64
+ },
65
+ {
66
+ "internalType": "bool",
67
+ "name": "allowArtistProjectActivation",
68
+ "type": "bool"
69
+ }
70
+ ],
71
+ "internalType": "struct EngineConfiguration",
72
+ "name": "engineConfiguration",
73
+ "type": "tuple"
74
+ },
75
+ {
76
+ "internalType": "address",
77
+ "name": "adminACLContract_",
78
+ "type": "address"
79
+ },
80
+ {
81
+ "internalType": "string",
82
+ "name": "defaultBaseURIHost",
83
+ "type": "string"
84
+ },
85
+ {
86
+ "internalType": "address",
87
+ "name": "bytecodeStorageReaderContract_",
88
+ "type": "address"
89
+ }
90
+ ],
91
+ "stateMutability": "nonpayable",
92
+ "type": "constructor"
93
+ },
94
+ {
95
+ "inputs": [
96
+ {
97
+ "internalType": "address",
98
+ "name": "sender",
99
+ "type": "address"
100
+ },
101
+ {
102
+ "internalType": "uint256",
103
+ "name": "tokenId",
104
+ "type": "uint256"
105
+ },
106
+ {
107
+ "internalType": "address",
108
+ "name": "owner",
109
+ "type": "address"
110
+ }
111
+ ],
112
+ "name": "ERC721IncorrectOwner",
113
+ "type": "error"
114
+ },
115
+ {
116
+ "inputs": [
117
+ {
118
+ "internalType": "address",
119
+ "name": "operator",
120
+ "type": "address"
121
+ },
122
+ {
123
+ "internalType": "uint256",
124
+ "name": "tokenId",
125
+ "type": "uint256"
126
+ }
127
+ ],
128
+ "name": "ERC721InsufficientApproval",
129
+ "type": "error"
130
+ },
131
+ {
132
+ "inputs": [
133
+ {
134
+ "internalType": "address",
135
+ "name": "approver",
136
+ "type": "address"
137
+ }
138
+ ],
139
+ "name": "ERC721InvalidApprover",
140
+ "type": "error"
141
+ },
142
+ {
143
+ "inputs": [
144
+ {
145
+ "internalType": "address",
146
+ "name": "operator",
147
+ "type": "address"
148
+ }
149
+ ],
150
+ "name": "ERC721InvalidOperator",
151
+ "type": "error"
152
+ },
153
+ {
154
+ "inputs": [
155
+ {
156
+ "internalType": "address",
157
+ "name": "owner",
158
+ "type": "address"
159
+ }
160
+ ],
161
+ "name": "ERC721InvalidOwner",
162
+ "type": "error"
163
+ },
164
+ {
165
+ "inputs": [
166
+ {
167
+ "internalType": "address",
168
+ "name": "receiver",
169
+ "type": "address"
170
+ }
171
+ ],
172
+ "name": "ERC721InvalidReceiver",
173
+ "type": "error"
174
+ },
175
+ {
176
+ "inputs": [
177
+ {
178
+ "internalType": "address",
179
+ "name": "sender",
180
+ "type": "address"
181
+ }
182
+ ],
183
+ "name": "ERC721InvalidSender",
184
+ "type": "error"
185
+ },
186
+ {
187
+ "inputs": [
188
+ {
189
+ "internalType": "uint256",
190
+ "name": "tokenId",
191
+ "type": "uint256"
192
+ }
193
+ ],
194
+ "name": "ERC721NonexistentToken",
195
+ "type": "error"
196
+ },
197
+ {
198
+ "inputs": [
199
+ {
200
+ "internalType": "enum IGenArt721CoreContractV3_Base.ErrorCodes",
201
+ "name": "_errorCode",
202
+ "type": "uint8"
203
+ }
204
+ ],
205
+ "name": "GenArt721Error",
206
+ "type": "error"
207
+ },
208
+ {
209
+ "inputs": [
210
+ {
211
+ "internalType": "address",
212
+ "name": "owner",
213
+ "type": "address"
214
+ }
215
+ ],
216
+ "name": "OwnableInvalidOwner",
217
+ "type": "error"
218
+ },
219
+ {
220
+ "inputs": [
221
+ {
222
+ "internalType": "address",
223
+ "name": "account",
224
+ "type": "address"
225
+ }
226
+ ],
227
+ "name": "OwnableUnauthorizedAccount",
228
+ "type": "error"
229
+ },
230
+ {
231
+ "inputs": [
232
+ {
233
+ "internalType": "uint256",
234
+ "name": "value",
235
+ "type": "uint256"
236
+ },
237
+ {
238
+ "internalType": "uint256",
239
+ "name": "length",
240
+ "type": "uint256"
241
+ }
242
+ ],
243
+ "name": "StringsInsufficientHexLength",
244
+ "type": "error"
245
+ },
246
+ {
247
+ "anonymous": false,
248
+ "inputs": [
249
+ {
250
+ "indexed": true,
251
+ "internalType": "uint256",
252
+ "name": "_projectId",
253
+ "type": "uint256"
254
+ }
255
+ ],
256
+ "name": "AcceptedArtistAddressesAndSplits",
257
+ "type": "event"
258
+ },
259
+ {
260
+ "anonymous": false,
261
+ "inputs": [
262
+ {
263
+ "indexed": true,
264
+ "internalType": "address",
265
+ "name": "owner",
266
+ "type": "address"
267
+ },
268
+ {
269
+ "indexed": true,
270
+ "internalType": "address",
271
+ "name": "approved",
272
+ "type": "address"
273
+ },
274
+ {
275
+ "indexed": true,
276
+ "internalType": "uint256",
277
+ "name": "tokenId",
278
+ "type": "uint256"
279
+ }
280
+ ],
281
+ "name": "Approval",
282
+ "type": "event"
283
+ },
284
+ {
285
+ "anonymous": false,
286
+ "inputs": [
287
+ {
288
+ "indexed": true,
289
+ "internalType": "address",
290
+ "name": "owner",
291
+ "type": "address"
292
+ },
293
+ {
294
+ "indexed": true,
295
+ "internalType": "address",
296
+ "name": "operator",
297
+ "type": "address"
298
+ },
299
+ {
300
+ "indexed": false,
301
+ "internalType": "bool",
302
+ "name": "approved",
303
+ "type": "bool"
304
+ }
305
+ ],
306
+ "name": "ApprovalForAll",
307
+ "type": "event"
308
+ },
309
+ {
310
+ "anonymous": false,
311
+ "inputs": [
312
+ {
313
+ "indexed": true,
314
+ "internalType": "address",
315
+ "name": "artblocksCurationRegistryAddress",
316
+ "type": "address"
317
+ }
318
+ ],
319
+ "name": "ArtBlocksCurationRegistryContractUpdated",
320
+ "type": "event"
321
+ },
322
+ {
323
+ "anonymous": false,
324
+ "inputs": [
325
+ {
326
+ "indexed": true,
327
+ "internalType": "address",
328
+ "name": "_to",
329
+ "type": "address"
330
+ },
331
+ {
332
+ "indexed": true,
333
+ "internalType": "uint256",
334
+ "name": "_tokenId",
335
+ "type": "uint256"
336
+ }
337
+ ],
338
+ "name": "Mint",
339
+ "type": "event"
340
+ },
341
+ {
342
+ "anonymous": false,
343
+ "inputs": [
344
+ {
345
+ "indexed": true,
346
+ "internalType": "address",
347
+ "name": "_currentMinter",
348
+ "type": "address"
349
+ }
350
+ ],
351
+ "name": "MinterUpdated",
352
+ "type": "event"
353
+ },
354
+ {
355
+ "anonymous": false,
356
+ "inputs": [
357
+ {
358
+ "indexed": true,
359
+ "internalType": "address",
360
+ "name": "previousOwner",
361
+ "type": "address"
362
+ },
363
+ {
364
+ "indexed": true,
365
+ "internalType": "address",
366
+ "name": "newOwner",
367
+ "type": "address"
368
+ }
369
+ ],
370
+ "name": "OwnershipTransferred",
371
+ "type": "event"
372
+ },
373
+ {
374
+ "anonymous": false,
375
+ "inputs": [
376
+ {
377
+ "indexed": true,
378
+ "internalType": "bytes32",
379
+ "name": "_field",
380
+ "type": "bytes32"
381
+ }
382
+ ],
383
+ "name": "PlatformUpdated",
384
+ "type": "event"
385
+ },
386
+ {
387
+ "anonymous": false,
388
+ "inputs": [
389
+ {
390
+ "indexed": true,
391
+ "internalType": "uint256",
392
+ "name": "projectId",
393
+ "type": "uint256"
394
+ },
395
+ {
396
+ "indexed": true,
397
+ "internalType": "address",
398
+ "name": "royaltySplitter",
399
+ "type": "address"
400
+ }
401
+ ],
402
+ "name": "ProjectRoyaltySplitterUpdated",
403
+ "type": "event"
404
+ },
405
+ {
406
+ "anonymous": false,
407
+ "inputs": [
408
+ {
409
+ "indexed": true,
410
+ "internalType": "uint256",
411
+ "name": "_projectId",
412
+ "type": "uint256"
413
+ },
414
+ {
415
+ "indexed": true,
416
+ "internalType": "bytes32",
417
+ "name": "_update",
418
+ "type": "bytes32"
419
+ }
420
+ ],
421
+ "name": "ProjectUpdated",
422
+ "type": "event"
423
+ },
424
+ {
425
+ "anonymous": false,
426
+ "inputs": [
427
+ {
428
+ "indexed": true,
429
+ "internalType": "uint256",
430
+ "name": "_projectId",
431
+ "type": "uint256"
432
+ },
433
+ {
434
+ "indexed": false,
435
+ "internalType": "address",
436
+ "name": "_artistAddress",
437
+ "type": "address"
438
+ },
439
+ {
440
+ "indexed": false,
441
+ "internalType": "address",
442
+ "name": "_additionalPayeePrimarySales",
443
+ "type": "address"
444
+ },
445
+ {
446
+ "indexed": false,
447
+ "internalType": "uint256",
448
+ "name": "_additionalPayeePrimarySalesPercentage",
449
+ "type": "uint256"
450
+ },
451
+ {
452
+ "indexed": false,
453
+ "internalType": "address",
454
+ "name": "_additionalPayeeSecondarySales",
455
+ "type": "address"
456
+ },
457
+ {
458
+ "indexed": false,
459
+ "internalType": "uint256",
460
+ "name": "_additionalPayeeSecondarySalesPercentage",
461
+ "type": "uint256"
462
+ }
463
+ ],
464
+ "name": "ProposedArtistAddressesAndSplits",
465
+ "type": "event"
466
+ },
467
+ {
468
+ "anonymous": false,
469
+ "inputs": [
470
+ {
471
+ "indexed": true,
472
+ "internalType": "address",
473
+ "name": "from",
474
+ "type": "address"
475
+ },
476
+ {
477
+ "indexed": true,
478
+ "internalType": "address",
479
+ "name": "to",
480
+ "type": "address"
481
+ },
482
+ {
483
+ "indexed": true,
484
+ "internalType": "uint256",
485
+ "name": "tokenId",
486
+ "type": "uint256"
487
+ }
488
+ ],
489
+ "name": "Transfer",
490
+ "type": "event"
491
+ },
492
+ {
493
+ "inputs": [],
494
+ "name": "IS_FLAGSHIP",
495
+ "outputs": [
496
+ {
497
+ "internalType": "bool",
498
+ "name": "",
499
+ "type": "bool"
500
+ }
501
+ ],
502
+ "stateMutability": "view",
503
+ "type": "function"
504
+ },
505
+ {
506
+ "inputs": [
507
+ {
508
+ "internalType": "uint256",
509
+ "name": "",
510
+ "type": "uint256"
511
+ }
512
+ ],
513
+ "name": "PREVIOUS_ART_BLOCKS_CONTRACTS",
514
+ "outputs": [
515
+ {
516
+ "internalType": "address",
517
+ "name": "",
518
+ "type": "address"
519
+ }
520
+ ],
521
+ "stateMutability": "view",
522
+ "type": "function"
523
+ },
524
+ {
525
+ "inputs": [
526
+ {
527
+ "internalType": "string",
528
+ "name": "_projectName",
529
+ "type": "string"
530
+ },
531
+ {
532
+ "internalType": "address payable",
533
+ "name": "_artistAddress",
534
+ "type": "address"
535
+ }
536
+ ],
537
+ "name": "addProject",
538
+ "outputs": [],
539
+ "stateMutability": "nonpayable",
540
+ "type": "function"
541
+ },
542
+ {
543
+ "inputs": [
544
+ {
545
+ "internalType": "uint256",
546
+ "name": "_projectId",
547
+ "type": "uint256"
548
+ },
549
+ {
550
+ "internalType": "string",
551
+ "name": "_script",
552
+ "type": "string"
553
+ }
554
+ ],
555
+ "name": "addProjectScript",
556
+ "outputs": [],
557
+ "stateMutability": "nonpayable",
558
+ "type": "function"
559
+ },
560
+ {
561
+ "inputs": [
562
+ {
563
+ "internalType": "uint256",
564
+ "name": "_projectId",
565
+ "type": "uint256"
566
+ },
567
+ {
568
+ "internalType": "bytes",
569
+ "name": "_compressedScript",
570
+ "type": "bytes"
571
+ }
572
+ ],
573
+ "name": "addProjectScriptCompressed",
574
+ "outputs": [],
575
+ "stateMutability": "nonpayable",
576
+ "type": "function"
577
+ },
578
+ {
579
+ "inputs": [],
580
+ "name": "admin",
581
+ "outputs": [
582
+ {
583
+ "internalType": "address",
584
+ "name": "",
585
+ "type": "address"
586
+ }
587
+ ],
588
+ "stateMutability": "view",
589
+ "type": "function"
590
+ },
591
+ {
592
+ "inputs": [
593
+ {
594
+ "internalType": "address",
595
+ "name": "_sender",
596
+ "type": "address"
597
+ },
598
+ {
599
+ "internalType": "address",
600
+ "name": "_contract",
601
+ "type": "address"
602
+ },
603
+ {
604
+ "internalType": "bytes4",
605
+ "name": "_selector",
606
+ "type": "bytes4"
607
+ }
608
+ ],
609
+ "name": "adminACLAllowed",
610
+ "outputs": [
611
+ {
612
+ "internalType": "bool",
613
+ "name": "",
614
+ "type": "bool"
615
+ }
616
+ ],
617
+ "stateMutability": "nonpayable",
618
+ "type": "function"
619
+ },
620
+ {
621
+ "inputs": [],
622
+ "name": "adminACLContract",
623
+ "outputs": [
624
+ {
625
+ "internalType": "contract IAdminACLV0",
626
+ "name": "",
627
+ "type": "address"
628
+ }
629
+ ],
630
+ "stateMutability": "view",
631
+ "type": "function"
632
+ },
633
+ {
634
+ "inputs": [
635
+ {
636
+ "internalType": "uint256",
637
+ "name": "_projectId",
638
+ "type": "uint256"
639
+ },
640
+ {
641
+ "internalType": "address payable",
642
+ "name": "_artistAddress",
643
+ "type": "address"
644
+ },
645
+ {
646
+ "internalType": "address payable",
647
+ "name": "_additionalPayeePrimarySales",
648
+ "type": "address"
649
+ },
650
+ {
651
+ "internalType": "uint256",
652
+ "name": "_additionalPayeePrimarySalesPercentage",
653
+ "type": "uint256"
654
+ },
655
+ {
656
+ "internalType": "address payable",
657
+ "name": "_additionalPayeeSecondarySales",
658
+ "type": "address"
659
+ },
660
+ {
661
+ "internalType": "uint256",
662
+ "name": "_additionalPayeeSecondarySalesPercentage",
663
+ "type": "uint256"
664
+ }
665
+ ],
666
+ "name": "adminAcceptArtistAddressesAndSplits",
667
+ "outputs": [],
668
+ "stateMutability": "nonpayable",
669
+ "type": "function"
670
+ },
671
+ {
672
+ "inputs": [],
673
+ "name": "allowArtistProjectActivation",
674
+ "outputs": [
675
+ {
676
+ "internalType": "bool",
677
+ "name": "",
678
+ "type": "bool"
679
+ }
680
+ ],
681
+ "stateMutability": "view",
682
+ "type": "function"
683
+ },
684
+ {
685
+ "inputs": [
686
+ {
687
+ "internalType": "address",
688
+ "name": "to",
689
+ "type": "address"
690
+ },
691
+ {
692
+ "internalType": "uint256",
693
+ "name": "tokenId",
694
+ "type": "uint256"
695
+ }
696
+ ],
697
+ "name": "approve",
698
+ "outputs": [],
699
+ "stateMutability": "nonpayable",
700
+ "type": "function"
701
+ },
702
+ {
703
+ "inputs": [],
704
+ "name": "artblocksCurationRegistryAddress",
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": "artblocksDependencyRegistryAddress",
718
+ "outputs": [
719
+ {
720
+ "internalType": "address",
721
+ "name": "",
722
+ "type": "address"
723
+ }
724
+ ],
725
+ "stateMutability": "view",
726
+ "type": "function"
727
+ },
728
+ {
729
+ "inputs": [],
730
+ "name": "artblocksOnChainGeneratorAddress",
731
+ "outputs": [
732
+ {
733
+ "internalType": "address",
734
+ "name": "",
735
+ "type": "address"
736
+ }
737
+ ],
738
+ "stateMutability": "view",
739
+ "type": "function"
740
+ },
741
+ {
742
+ "inputs": [],
743
+ "name": "autoApproveArtistSplitProposals",
744
+ "outputs": [
745
+ {
746
+ "internalType": "bool",
747
+ "name": "",
748
+ "type": "bool"
749
+ }
750
+ ],
751
+ "stateMutability": "view",
752
+ "type": "function"
753
+ },
754
+ {
755
+ "inputs": [
756
+ {
757
+ "internalType": "address",
758
+ "name": "owner",
759
+ "type": "address"
760
+ }
761
+ ],
762
+ "name": "balanceOf",
763
+ "outputs": [
764
+ {
765
+ "internalType": "uint256",
766
+ "name": "",
767
+ "type": "uint256"
768
+ }
769
+ ],
770
+ "stateMutability": "view",
771
+ "type": "function"
772
+ },
773
+ {
774
+ "inputs": [],
775
+ "name": "bytecodeStorageReaderContract",
776
+ "outputs": [
777
+ {
778
+ "internalType": "contract IBytecodeStorageReader_Base",
779
+ "name": "",
780
+ "type": "address"
781
+ }
782
+ ],
783
+ "stateMutability": "view",
784
+ "type": "function"
785
+ },
786
+ {
787
+ "inputs": [],
788
+ "name": "coreType",
789
+ "outputs": [
790
+ {
791
+ "internalType": "string",
792
+ "name": "",
793
+ "type": "string"
794
+ }
795
+ ],
796
+ "stateMutability": "pure",
797
+ "type": "function"
798
+ },
799
+ {
800
+ "inputs": [],
801
+ "name": "coreVersion",
802
+ "outputs": [
803
+ {
804
+ "internalType": "string",
805
+ "name": "",
806
+ "type": "string"
807
+ }
808
+ ],
809
+ "stateMutability": "pure",
810
+ "type": "function"
811
+ },
812
+ {
813
+ "inputs": [],
814
+ "name": "defaultBaseURI",
815
+ "outputs": [
816
+ {
817
+ "internalType": "string",
818
+ "name": "",
819
+ "type": "string"
820
+ }
821
+ ],
822
+ "stateMutability": "view",
823
+ "type": "function"
824
+ },
825
+ {
826
+ "inputs": [],
827
+ "name": "defaultPlatformProviderSecondarySalesAddress",
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": "defaultPlatformProviderSecondarySalesBPS",
841
+ "outputs": [
842
+ {
843
+ "internalType": "uint256",
844
+ "name": "",
845
+ "type": "uint256"
846
+ }
847
+ ],
848
+ "stateMutability": "view",
849
+ "type": "function"
850
+ },
851
+ {
852
+ "inputs": [],
853
+ "name": "defaultRenderProviderSecondarySalesAddress",
854
+ "outputs": [
855
+ {
856
+ "internalType": "address payable",
857
+ "name": "",
858
+ "type": "address"
859
+ }
860
+ ],
861
+ "stateMutability": "view",
862
+ "type": "function"
863
+ },
864
+ {
865
+ "inputs": [],
866
+ "name": "defaultRenderProviderSecondarySalesBPS",
867
+ "outputs": [
868
+ {
869
+ "internalType": "uint256",
870
+ "name": "",
871
+ "type": "uint256"
872
+ }
873
+ ],
874
+ "stateMutability": "view",
875
+ "type": "function"
876
+ },
877
+ {
878
+ "inputs": [],
879
+ "name": "forbidNewProjects",
880
+ "outputs": [],
881
+ "stateMutability": "nonpayable",
882
+ "type": "function"
883
+ },
884
+ {
885
+ "inputs": [
886
+ {
887
+ "internalType": "uint256",
888
+ "name": "tokenId",
889
+ "type": "uint256"
890
+ }
891
+ ],
892
+ "name": "getApproved",
893
+ "outputs": [
894
+ {
895
+ "internalType": "address",
896
+ "name": "",
897
+ "type": "address"
898
+ }
899
+ ],
900
+ "stateMutability": "view",
901
+ "type": "function"
902
+ },
903
+ {
904
+ "inputs": [
905
+ {
906
+ "internalType": "string",
907
+ "name": "_script",
908
+ "type": "string"
909
+ }
910
+ ],
911
+ "name": "getCompressed",
912
+ "outputs": [
913
+ {
914
+ "internalType": "bytes",
915
+ "name": "",
916
+ "type": "bytes"
917
+ }
918
+ ],
919
+ "stateMutability": "pure",
920
+ "type": "function"
921
+ },
922
+ {
923
+ "inputs": [
924
+ {
925
+ "internalType": "uint256",
926
+ "name": "_index",
927
+ "type": "uint256"
928
+ }
929
+ ],
930
+ "name": "getHistoricalRandomizerAt",
931
+ "outputs": [
932
+ {
933
+ "internalType": "address",
934
+ "name": "",
935
+ "type": "address"
936
+ }
937
+ ],
938
+ "stateMutability": "view",
939
+ "type": "function"
940
+ },
941
+ {
942
+ "inputs": [
943
+ {
944
+ "internalType": "uint256",
945
+ "name": "_projectId",
946
+ "type": "uint256"
947
+ },
948
+ {
949
+ "internalType": "uint256",
950
+ "name": "_price",
951
+ "type": "uint256"
952
+ }
953
+ ],
954
+ "name": "getPrimaryRevenueSplits",
955
+ "outputs": [
956
+ {
957
+ "internalType": "uint256",
958
+ "name": "renderProviderRevenue_",
959
+ "type": "uint256"
960
+ },
961
+ {
962
+ "internalType": "address payable",
963
+ "name": "renderProviderAddress_",
964
+ "type": "address"
965
+ },
966
+ {
967
+ "internalType": "uint256",
968
+ "name": "platformProviderRevenue_",
969
+ "type": "uint256"
970
+ },
971
+ {
972
+ "internalType": "address payable",
973
+ "name": "platformProviderAddress_",
974
+ "type": "address"
975
+ },
976
+ {
977
+ "internalType": "uint256",
978
+ "name": "artistRevenue_",
979
+ "type": "uint256"
980
+ },
981
+ {
982
+ "internalType": "address payable",
983
+ "name": "artistAddress_",
984
+ "type": "address"
985
+ },
986
+ {
987
+ "internalType": "uint256",
988
+ "name": "additionalPayeePrimaryRevenue_",
989
+ "type": "uint256"
990
+ },
991
+ {
992
+ "internalType": "address payable",
993
+ "name": "additionalPayeePrimaryAddress_",
994
+ "type": "address"
995
+ }
996
+ ],
997
+ "stateMutability": "view",
998
+ "type": "function"
999
+ },
1000
+ {
1001
+ "inputs": [
1002
+ {
1003
+ "components": [
1004
+ {
1005
+ "internalType": "string",
1006
+ "name": "tokenName",
1007
+ "type": "string"
1008
+ },
1009
+ {
1010
+ "internalType": "string",
1011
+ "name": "tokenSymbol",
1012
+ "type": "string"
1013
+ },
1014
+ {
1015
+ "internalType": "address",
1016
+ "name": "renderProviderAddress",
1017
+ "type": "address"
1018
+ },
1019
+ {
1020
+ "internalType": "address",
1021
+ "name": "platformProviderAddress",
1022
+ "type": "address"
1023
+ },
1024
+ {
1025
+ "internalType": "address",
1026
+ "name": "newSuperAdminAddress",
1027
+ "type": "address"
1028
+ },
1029
+ {
1030
+ "internalType": "address",
1031
+ "name": "randomizerContract",
1032
+ "type": "address"
1033
+ },
1034
+ {
1035
+ "internalType": "address",
1036
+ "name": "splitProviderAddress",
1037
+ "type": "address"
1038
+ },
1039
+ {
1040
+ "internalType": "address",
1041
+ "name": "minterFilterAddress",
1042
+ "type": "address"
1043
+ },
1044
+ {
1045
+ "internalType": "uint248",
1046
+ "name": "startingProjectId",
1047
+ "type": "uint248"
1048
+ },
1049
+ {
1050
+ "internalType": "bool",
1051
+ "name": "autoApproveArtistSplitProposals",
1052
+ "type": "bool"
1053
+ },
1054
+ {
1055
+ "internalType": "bool",
1056
+ "name": "nullPlatformProvider",
1057
+ "type": "bool"
1058
+ },
1059
+ {
1060
+ "internalType": "bool",
1061
+ "name": "allowArtistProjectActivation",
1062
+ "type": "bool"
1063
+ }
1064
+ ],
1065
+ "internalType": "struct EngineConfiguration",
1066
+ "name": "",
1067
+ "type": "tuple"
1068
+ },
1069
+ {
1070
+ "internalType": "address",
1071
+ "name": "",
1072
+ "type": "address"
1073
+ },
1074
+ {
1075
+ "internalType": "string",
1076
+ "name": "",
1077
+ "type": "string"
1078
+ },
1079
+ {
1080
+ "internalType": "address",
1081
+ "name": "",
1082
+ "type": "address"
1083
+ }
1084
+ ],
1085
+ "name": "initialize",
1086
+ "outputs": [],
1087
+ "stateMutability": "pure",
1088
+ "type": "function"
1089
+ },
1090
+ {
1091
+ "inputs": [
1092
+ {
1093
+ "internalType": "address",
1094
+ "name": "owner",
1095
+ "type": "address"
1096
+ },
1097
+ {
1098
+ "internalType": "address",
1099
+ "name": "operator",
1100
+ "type": "address"
1101
+ }
1102
+ ],
1103
+ "name": "isApprovedForAll",
1104
+ "outputs": [
1105
+ {
1106
+ "internalType": "bool",
1107
+ "name": "",
1108
+ "type": "bool"
1109
+ }
1110
+ ],
1111
+ "stateMutability": "view",
1112
+ "type": "function"
1113
+ },
1114
+ {
1115
+ "inputs": [
1116
+ {
1117
+ "internalType": "address",
1118
+ "name": "_minter",
1119
+ "type": "address"
1120
+ }
1121
+ ],
1122
+ "name": "isMintWhitelisted",
1123
+ "outputs": [
1124
+ {
1125
+ "internalType": "bool",
1126
+ "name": "",
1127
+ "type": "bool"
1128
+ }
1129
+ ],
1130
+ "stateMutability": "view",
1131
+ "type": "function"
1132
+ },
1133
+ {
1134
+ "inputs": [
1135
+ {
1136
+ "internalType": "address",
1137
+ "name": "_to",
1138
+ "type": "address"
1139
+ },
1140
+ {
1141
+ "internalType": "uint256",
1142
+ "name": "_projectId",
1143
+ "type": "uint256"
1144
+ },
1145
+ {
1146
+ "internalType": "address",
1147
+ "name": "_by",
1148
+ "type": "address"
1149
+ }
1150
+ ],
1151
+ "name": "mint_Ecf",
1152
+ "outputs": [
1153
+ {
1154
+ "internalType": "uint256",
1155
+ "name": "_tokenId",
1156
+ "type": "uint256"
1157
+ }
1158
+ ],
1159
+ "stateMutability": "nonpayable",
1160
+ "type": "function"
1161
+ },
1162
+ {
1163
+ "inputs": [],
1164
+ "name": "minterContract",
1165
+ "outputs": [
1166
+ {
1167
+ "internalType": "address",
1168
+ "name": "",
1169
+ "type": "address"
1170
+ }
1171
+ ],
1172
+ "stateMutability": "view",
1173
+ "type": "function"
1174
+ },
1175
+ {
1176
+ "inputs": [],
1177
+ "name": "name",
1178
+ "outputs": [
1179
+ {
1180
+ "internalType": "string",
1181
+ "name": "",
1182
+ "type": "string"
1183
+ }
1184
+ ],
1185
+ "stateMutability": "view",
1186
+ "type": "function"
1187
+ },
1188
+ {
1189
+ "inputs": [],
1190
+ "name": "newProjectsForbidden",
1191
+ "outputs": [
1192
+ {
1193
+ "internalType": "bool",
1194
+ "name": "",
1195
+ "type": "bool"
1196
+ }
1197
+ ],
1198
+ "stateMutability": "view",
1199
+ "type": "function"
1200
+ },
1201
+ {
1202
+ "inputs": [],
1203
+ "name": "nextCoreContract",
1204
+ "outputs": [
1205
+ {
1206
+ "internalType": "address",
1207
+ "name": "",
1208
+ "type": "address"
1209
+ }
1210
+ ],
1211
+ "stateMutability": "view",
1212
+ "type": "function"
1213
+ },
1214
+ {
1215
+ "inputs": [],
1216
+ "name": "nextProjectId",
1217
+ "outputs": [
1218
+ {
1219
+ "internalType": "uint256",
1220
+ "name": "",
1221
+ "type": "uint256"
1222
+ }
1223
+ ],
1224
+ "stateMutability": "view",
1225
+ "type": "function"
1226
+ },
1227
+ {
1228
+ "inputs": [],
1229
+ "name": "nullPlatformProvider",
1230
+ "outputs": [
1231
+ {
1232
+ "internalType": "bool",
1233
+ "name": "",
1234
+ "type": "bool"
1235
+ }
1236
+ ],
1237
+ "stateMutability": "view",
1238
+ "type": "function"
1239
+ },
1240
+ {
1241
+ "inputs": [],
1242
+ "name": "numHistoricalRandomizers",
1243
+ "outputs": [
1244
+ {
1245
+ "internalType": "uint256",
1246
+ "name": "",
1247
+ "type": "uint256"
1248
+ }
1249
+ ],
1250
+ "stateMutability": "view",
1251
+ "type": "function"
1252
+ },
1253
+ {
1254
+ "inputs": [],
1255
+ "name": "owner",
1256
+ "outputs": [
1257
+ {
1258
+ "internalType": "address",
1259
+ "name": "",
1260
+ "type": "address"
1261
+ }
1262
+ ],
1263
+ "stateMutability": "view",
1264
+ "type": "function"
1265
+ },
1266
+ {
1267
+ "inputs": [
1268
+ {
1269
+ "internalType": "uint256",
1270
+ "name": "tokenId",
1271
+ "type": "uint256"
1272
+ }
1273
+ ],
1274
+ "name": "ownerOf",
1275
+ "outputs": [
1276
+ {
1277
+ "internalType": "address",
1278
+ "name": "",
1279
+ "type": "address"
1280
+ }
1281
+ ],
1282
+ "stateMutability": "view",
1283
+ "type": "function"
1284
+ },
1285
+ {
1286
+ "inputs": [],
1287
+ "name": "platformProviderPrimarySalesAddress",
1288
+ "outputs": [
1289
+ {
1290
+ "internalType": "address payable",
1291
+ "name": "",
1292
+ "type": "address"
1293
+ }
1294
+ ],
1295
+ "stateMutability": "view",
1296
+ "type": "function"
1297
+ },
1298
+ {
1299
+ "inputs": [],
1300
+ "name": "platformProviderPrimarySalesPercentage",
1301
+ "outputs": [
1302
+ {
1303
+ "internalType": "uint256",
1304
+ "name": "",
1305
+ "type": "uint256"
1306
+ }
1307
+ ],
1308
+ "stateMutability": "view",
1309
+ "type": "function"
1310
+ },
1311
+ {
1312
+ "inputs": [
1313
+ {
1314
+ "internalType": "uint256",
1315
+ "name": "_projectId",
1316
+ "type": "uint256"
1317
+ }
1318
+ ],
1319
+ "name": "projectDetails",
1320
+ "outputs": [
1321
+ {
1322
+ "internalType": "string",
1323
+ "name": "projectName",
1324
+ "type": "string"
1325
+ },
1326
+ {
1327
+ "internalType": "string",
1328
+ "name": "artist",
1329
+ "type": "string"
1330
+ },
1331
+ {
1332
+ "internalType": "string",
1333
+ "name": "description",
1334
+ "type": "string"
1335
+ },
1336
+ {
1337
+ "internalType": "string",
1338
+ "name": "website",
1339
+ "type": "string"
1340
+ },
1341
+ {
1342
+ "internalType": "string",
1343
+ "name": "license",
1344
+ "type": "string"
1345
+ }
1346
+ ],
1347
+ "stateMutability": "view",
1348
+ "type": "function"
1349
+ },
1350
+ {
1351
+ "inputs": [
1352
+ {
1353
+ "internalType": "uint256",
1354
+ "name": "_projectId",
1355
+ "type": "uint256"
1356
+ }
1357
+ ],
1358
+ "name": "projectIdToArtistAddress",
1359
+ "outputs": [
1360
+ {
1361
+ "internalType": "address payable",
1362
+ "name": "",
1363
+ "type": "address"
1364
+ }
1365
+ ],
1366
+ "stateMutability": "view",
1367
+ "type": "function"
1368
+ },
1369
+ {
1370
+ "inputs": [
1371
+ {
1372
+ "internalType": "uint256",
1373
+ "name": "_projectId",
1374
+ "type": "uint256"
1375
+ }
1376
+ ],
1377
+ "name": "projectIdToFinancials",
1378
+ "outputs": [
1379
+ {
1380
+ "components": [
1381
+ {
1382
+ "internalType": "address payable",
1383
+ "name": "additionalPayeePrimarySales",
1384
+ "type": "address"
1385
+ },
1386
+ {
1387
+ "internalType": "uint8",
1388
+ "name": "secondaryMarketRoyaltyPercentage",
1389
+ "type": "uint8"
1390
+ },
1391
+ {
1392
+ "internalType": "address payable",
1393
+ "name": "additionalPayeeSecondarySales",
1394
+ "type": "address"
1395
+ },
1396
+ {
1397
+ "internalType": "uint8",
1398
+ "name": "additionalPayeeSecondarySalesPercentage",
1399
+ "type": "uint8"
1400
+ },
1401
+ {
1402
+ "internalType": "address payable",
1403
+ "name": "artistAddress",
1404
+ "type": "address"
1405
+ },
1406
+ {
1407
+ "internalType": "uint8",
1408
+ "name": "additionalPayeePrimarySalesPercentage",
1409
+ "type": "uint8"
1410
+ },
1411
+ {
1412
+ "internalType": "address",
1413
+ "name": "platformProviderSecondarySalesAddress",
1414
+ "type": "address"
1415
+ },
1416
+ {
1417
+ "internalType": "uint16",
1418
+ "name": "platformProviderSecondarySalesBPS",
1419
+ "type": "uint16"
1420
+ },
1421
+ {
1422
+ "internalType": "address",
1423
+ "name": "renderProviderSecondarySalesAddress",
1424
+ "type": "address"
1425
+ },
1426
+ {
1427
+ "internalType": "uint16",
1428
+ "name": "renderProviderSecondarySalesBPS",
1429
+ "type": "uint16"
1430
+ },
1431
+ {
1432
+ "internalType": "address",
1433
+ "name": "royaltySplitter",
1434
+ "type": "address"
1435
+ }
1436
+ ],
1437
+ "internalType": "struct IGenArt721CoreContractV3_ProjectFinance.ProjectFinance",
1438
+ "name": "",
1439
+ "type": "tuple"
1440
+ }
1441
+ ],
1442
+ "stateMutability": "view",
1443
+ "type": "function"
1444
+ },
1445
+ {
1446
+ "inputs": [
1447
+ {
1448
+ "internalType": "uint256",
1449
+ "name": "_projectId",
1450
+ "type": "uint256"
1451
+ }
1452
+ ],
1453
+ "name": "projectIdToSecondaryMarketRoyaltyPercentage",
1454
+ "outputs": [
1455
+ {
1456
+ "internalType": "uint256",
1457
+ "name": "",
1458
+ "type": "uint256"
1459
+ }
1460
+ ],
1461
+ "stateMutability": "view",
1462
+ "type": "function"
1463
+ },
1464
+ {
1465
+ "inputs": [
1466
+ {
1467
+ "internalType": "uint256",
1468
+ "name": "_projectId",
1469
+ "type": "uint256"
1470
+ },
1471
+ {
1472
+ "internalType": "uint256",
1473
+ "name": "_index",
1474
+ "type": "uint256"
1475
+ }
1476
+ ],
1477
+ "name": "projectScriptByIndex",
1478
+ "outputs": [
1479
+ {
1480
+ "internalType": "string",
1481
+ "name": "",
1482
+ "type": "string"
1483
+ }
1484
+ ],
1485
+ "stateMutability": "view",
1486
+ "type": "function"
1487
+ },
1488
+ {
1489
+ "inputs": [
1490
+ {
1491
+ "internalType": "uint256",
1492
+ "name": "_projectId",
1493
+ "type": "uint256"
1494
+ },
1495
+ {
1496
+ "internalType": "uint256",
1497
+ "name": "_index",
1498
+ "type": "uint256"
1499
+ }
1500
+ ],
1501
+ "name": "projectScriptBytecodeAddressByIndex",
1502
+ "outputs": [
1503
+ {
1504
+ "internalType": "address",
1505
+ "name": "",
1506
+ "type": "address"
1507
+ }
1508
+ ],
1509
+ "stateMutability": "view",
1510
+ "type": "function"
1511
+ },
1512
+ {
1513
+ "inputs": [
1514
+ {
1515
+ "internalType": "uint256",
1516
+ "name": "_projectId",
1517
+ "type": "uint256"
1518
+ }
1519
+ ],
1520
+ "name": "projectScriptDetails",
1521
+ "outputs": [
1522
+ {
1523
+ "internalType": "string",
1524
+ "name": "scriptTypeAndVersion",
1525
+ "type": "string"
1526
+ },
1527
+ {
1528
+ "internalType": "string",
1529
+ "name": "aspectRatio",
1530
+ "type": "string"
1531
+ },
1532
+ {
1533
+ "internalType": "uint256",
1534
+ "name": "scriptCount",
1535
+ "type": "uint256"
1536
+ }
1537
+ ],
1538
+ "stateMutability": "view",
1539
+ "type": "function"
1540
+ },
1541
+ {
1542
+ "inputs": [
1543
+ {
1544
+ "internalType": "uint256",
1545
+ "name": "_projectId",
1546
+ "type": "uint256"
1547
+ }
1548
+ ],
1549
+ "name": "projectStateData",
1550
+ "outputs": [
1551
+ {
1552
+ "internalType": "uint256",
1553
+ "name": "invocations",
1554
+ "type": "uint256"
1555
+ },
1556
+ {
1557
+ "internalType": "uint256",
1558
+ "name": "maxInvocations",
1559
+ "type": "uint256"
1560
+ },
1561
+ {
1562
+ "internalType": "bool",
1563
+ "name": "active",
1564
+ "type": "bool"
1565
+ },
1566
+ {
1567
+ "internalType": "bool",
1568
+ "name": "paused",
1569
+ "type": "bool"
1570
+ },
1571
+ {
1572
+ "internalType": "uint256",
1573
+ "name": "completedTimestamp",
1574
+ "type": "uint256"
1575
+ },
1576
+ {
1577
+ "internalType": "bool",
1578
+ "name": "locked",
1579
+ "type": "bool"
1580
+ }
1581
+ ],
1582
+ "stateMutability": "view",
1583
+ "type": "function"
1584
+ },
1585
+ {
1586
+ "inputs": [
1587
+ {
1588
+ "internalType": "uint256",
1589
+ "name": "_projectId",
1590
+ "type": "uint256"
1591
+ }
1592
+ ],
1593
+ "name": "projectURIInfo",
1594
+ "outputs": [
1595
+ {
1596
+ "internalType": "string",
1597
+ "name": "projectBaseURI",
1598
+ "type": "string"
1599
+ }
1600
+ ],
1601
+ "stateMutability": "view",
1602
+ "type": "function"
1603
+ },
1604
+ {
1605
+ "inputs": [
1606
+ {
1607
+ "internalType": "uint256",
1608
+ "name": "_projectId",
1609
+ "type": "uint256"
1610
+ },
1611
+ {
1612
+ "internalType": "address payable",
1613
+ "name": "_artistAddress",
1614
+ "type": "address"
1615
+ },
1616
+ {
1617
+ "internalType": "address payable",
1618
+ "name": "_additionalPayeePrimarySales",
1619
+ "type": "address"
1620
+ },
1621
+ {
1622
+ "internalType": "uint256",
1623
+ "name": "_additionalPayeePrimarySalesPercentage",
1624
+ "type": "uint256"
1625
+ },
1626
+ {
1627
+ "internalType": "address payable",
1628
+ "name": "_additionalPayeeSecondarySales",
1629
+ "type": "address"
1630
+ },
1631
+ {
1632
+ "internalType": "uint256",
1633
+ "name": "_additionalPayeeSecondarySalesPercentage",
1634
+ "type": "uint256"
1635
+ }
1636
+ ],
1637
+ "name": "proposeArtistPaymentAddressesAndSplits",
1638
+ "outputs": [],
1639
+ "stateMutability": "nonpayable",
1640
+ "type": "function"
1641
+ },
1642
+ {
1643
+ "inputs": [
1644
+ {
1645
+ "internalType": "uint256",
1646
+ "name": "",
1647
+ "type": "uint256"
1648
+ }
1649
+ ],
1650
+ "name": "proposedArtistAddressesAndSplitsHash",
1651
+ "outputs": [
1652
+ {
1653
+ "internalType": "bytes32",
1654
+ "name": "",
1655
+ "type": "bytes32"
1656
+ }
1657
+ ],
1658
+ "stateMutability": "view",
1659
+ "type": "function"
1660
+ },
1661
+ {
1662
+ "inputs": [],
1663
+ "name": "randomizerContract",
1664
+ "outputs": [
1665
+ {
1666
+ "internalType": "contract IRandomizer_V3CoreBase",
1667
+ "name": "",
1668
+ "type": "address"
1669
+ }
1670
+ ],
1671
+ "stateMutability": "view",
1672
+ "type": "function"
1673
+ },
1674
+ {
1675
+ "inputs": [
1676
+ {
1677
+ "internalType": "uint256",
1678
+ "name": "_projectId",
1679
+ "type": "uint256"
1680
+ }
1681
+ ],
1682
+ "name": "removeProjectLastScript",
1683
+ "outputs": [],
1684
+ "stateMutability": "nonpayable",
1685
+ "type": "function"
1686
+ },
1687
+ {
1688
+ "inputs": [],
1689
+ "name": "renderProviderPrimarySalesAddress",
1690
+ "outputs": [
1691
+ {
1692
+ "internalType": "address payable",
1693
+ "name": "",
1694
+ "type": "address"
1695
+ }
1696
+ ],
1697
+ "stateMutability": "view",
1698
+ "type": "function"
1699
+ },
1700
+ {
1701
+ "inputs": [],
1702
+ "name": "renderProviderPrimarySalesPercentage",
1703
+ "outputs": [
1704
+ {
1705
+ "internalType": "uint256",
1706
+ "name": "",
1707
+ "type": "uint256"
1708
+ }
1709
+ ],
1710
+ "stateMutability": "view",
1711
+ "type": "function"
1712
+ },
1713
+ {
1714
+ "inputs": [],
1715
+ "name": "renounceOwnership",
1716
+ "outputs": [],
1717
+ "stateMutability": "nonpayable",
1718
+ "type": "function"
1719
+ },
1720
+ {
1721
+ "inputs": [
1722
+ {
1723
+ "internalType": "uint256",
1724
+ "name": "_tokenId",
1725
+ "type": "uint256"
1726
+ },
1727
+ {
1728
+ "internalType": "uint256",
1729
+ "name": "_salePrice",
1730
+ "type": "uint256"
1731
+ }
1732
+ ],
1733
+ "name": "royaltyInfo",
1734
+ "outputs": [
1735
+ {
1736
+ "internalType": "address",
1737
+ "name": "receiver",
1738
+ "type": "address"
1739
+ },
1740
+ {
1741
+ "internalType": "uint256",
1742
+ "name": "royaltyAmount",
1743
+ "type": "uint256"
1744
+ }
1745
+ ],
1746
+ "stateMutability": "view",
1747
+ "type": "function"
1748
+ },
1749
+ {
1750
+ "inputs": [
1751
+ {
1752
+ "internalType": "address",
1753
+ "name": "from",
1754
+ "type": "address"
1755
+ },
1756
+ {
1757
+ "internalType": "address",
1758
+ "name": "to",
1759
+ "type": "address"
1760
+ },
1761
+ {
1762
+ "internalType": "uint256",
1763
+ "name": "tokenId",
1764
+ "type": "uint256"
1765
+ }
1766
+ ],
1767
+ "name": "safeTransferFrom",
1768
+ "outputs": [],
1769
+ "stateMutability": "nonpayable",
1770
+ "type": "function"
1771
+ },
1772
+ {
1773
+ "inputs": [
1774
+ {
1775
+ "internalType": "address",
1776
+ "name": "from",
1777
+ "type": "address"
1778
+ },
1779
+ {
1780
+ "internalType": "address",
1781
+ "name": "to",
1782
+ "type": "address"
1783
+ },
1784
+ {
1785
+ "internalType": "uint256",
1786
+ "name": "tokenId",
1787
+ "type": "uint256"
1788
+ },
1789
+ {
1790
+ "internalType": "bytes",
1791
+ "name": "data",
1792
+ "type": "bytes"
1793
+ }
1794
+ ],
1795
+ "name": "safeTransferFrom",
1796
+ "outputs": [],
1797
+ "stateMutability": "nonpayable",
1798
+ "type": "function"
1799
+ },
1800
+ {
1801
+ "inputs": [
1802
+ {
1803
+ "internalType": "address",
1804
+ "name": "operator",
1805
+ "type": "address"
1806
+ },
1807
+ {
1808
+ "internalType": "bool",
1809
+ "name": "approved",
1810
+ "type": "bool"
1811
+ }
1812
+ ],
1813
+ "name": "setApprovalForAll",
1814
+ "outputs": [],
1815
+ "stateMutability": "nonpayable",
1816
+ "type": "function"
1817
+ },
1818
+ {
1819
+ "inputs": [
1820
+ {
1821
+ "internalType": "uint256",
1822
+ "name": "_tokenId",
1823
+ "type": "uint256"
1824
+ },
1825
+ {
1826
+ "internalType": "bytes32",
1827
+ "name": "_hashSeed",
1828
+ "type": "bytes32"
1829
+ }
1830
+ ],
1831
+ "name": "setTokenHash_8PT",
1832
+ "outputs": [],
1833
+ "stateMutability": "nonpayable",
1834
+ "type": "function"
1835
+ },
1836
+ {
1837
+ "inputs": [],
1838
+ "name": "splitProvider",
1839
+ "outputs": [
1840
+ {
1841
+ "internalType": "contract ISplitProviderV0",
1842
+ "name": "",
1843
+ "type": "address"
1844
+ }
1845
+ ],
1846
+ "stateMutability": "view",
1847
+ "type": "function"
1848
+ },
1849
+ {
1850
+ "inputs": [],
1851
+ "name": "startingProjectId",
1852
+ "outputs": [
1853
+ {
1854
+ "internalType": "uint256",
1855
+ "name": "",
1856
+ "type": "uint256"
1857
+ }
1858
+ ],
1859
+ "stateMutability": "view",
1860
+ "type": "function"
1861
+ },
1862
+ {
1863
+ "inputs": [
1864
+ {
1865
+ "internalType": "bytes4",
1866
+ "name": "interfaceId",
1867
+ "type": "bytes4"
1868
+ }
1869
+ ],
1870
+ "name": "supportsInterface",
1871
+ "outputs": [
1872
+ {
1873
+ "internalType": "bool",
1874
+ "name": "",
1875
+ "type": "bool"
1876
+ }
1877
+ ],
1878
+ "stateMutability": "view",
1879
+ "type": "function"
1880
+ },
1881
+ {
1882
+ "inputs": [],
1883
+ "name": "symbol",
1884
+ "outputs": [
1885
+ {
1886
+ "internalType": "string",
1887
+ "name": "",
1888
+ "type": "string"
1889
+ }
1890
+ ],
1891
+ "stateMutability": "view",
1892
+ "type": "function"
1893
+ },
1894
+ {
1895
+ "inputs": [
1896
+ {
1897
+ "internalType": "uint256",
1898
+ "name": "_projectId",
1899
+ "type": "uint256"
1900
+ }
1901
+ ],
1902
+ "name": "syncProviderSecondaryForProjectToDefaults",
1903
+ "outputs": [],
1904
+ "stateMutability": "nonpayable",
1905
+ "type": "function"
1906
+ },
1907
+ {
1908
+ "inputs": [
1909
+ {
1910
+ "internalType": "uint256",
1911
+ "name": "_projectId",
1912
+ "type": "uint256"
1913
+ }
1914
+ ],
1915
+ "name": "toggleProjectIsActive",
1916
+ "outputs": [],
1917
+ "stateMutability": "nonpayable",
1918
+ "type": "function"
1919
+ },
1920
+ {
1921
+ "inputs": [
1922
+ {
1923
+ "internalType": "uint256",
1924
+ "name": "_projectId",
1925
+ "type": "uint256"
1926
+ }
1927
+ ],
1928
+ "name": "toggleProjectIsPaused",
1929
+ "outputs": [],
1930
+ "stateMutability": "nonpayable",
1931
+ "type": "function"
1932
+ },
1933
+ {
1934
+ "inputs": [
1935
+ {
1936
+ "internalType": "uint256",
1937
+ "name": "_tokenId",
1938
+ "type": "uint256"
1939
+ }
1940
+ ],
1941
+ "name": "tokenIdToHash",
1942
+ "outputs": [
1943
+ {
1944
+ "internalType": "bytes32",
1945
+ "name": "",
1946
+ "type": "bytes32"
1947
+ }
1948
+ ],
1949
+ "stateMutability": "view",
1950
+ "type": "function"
1951
+ },
1952
+ {
1953
+ "inputs": [
1954
+ {
1955
+ "internalType": "uint256",
1956
+ "name": "_tokenId",
1957
+ "type": "uint256"
1958
+ }
1959
+ ],
1960
+ "name": "tokenIdToHashSeed",
1961
+ "outputs": [
1962
+ {
1963
+ "internalType": "bytes12",
1964
+ "name": "",
1965
+ "type": "bytes12"
1966
+ }
1967
+ ],
1968
+ "stateMutability": "view",
1969
+ "type": "function"
1970
+ },
1971
+ {
1972
+ "inputs": [
1973
+ {
1974
+ "internalType": "uint256",
1975
+ "name": "_tokenId",
1976
+ "type": "uint256"
1977
+ }
1978
+ ],
1979
+ "name": "tokenIdToProjectId",
1980
+ "outputs": [
1981
+ {
1982
+ "internalType": "uint256",
1983
+ "name": "_projectId",
1984
+ "type": "uint256"
1985
+ }
1986
+ ],
1987
+ "stateMutability": "pure",
1988
+ "type": "function"
1989
+ },
1990
+ {
1991
+ "inputs": [
1992
+ {
1993
+ "internalType": "uint256",
1994
+ "name": "_tokenId",
1995
+ "type": "uint256"
1996
+ }
1997
+ ],
1998
+ "name": "tokenURI",
1999
+ "outputs": [
2000
+ {
2001
+ "internalType": "string",
2002
+ "name": "",
2003
+ "type": "string"
2004
+ }
2005
+ ],
2006
+ "stateMutability": "view",
2007
+ "type": "function"
2008
+ },
2009
+ {
2010
+ "inputs": [
2011
+ {
2012
+ "internalType": "address",
2013
+ "name": "from",
2014
+ "type": "address"
2015
+ },
2016
+ {
2017
+ "internalType": "address",
2018
+ "name": "to",
2019
+ "type": "address"
2020
+ },
2021
+ {
2022
+ "internalType": "uint256",
2023
+ "name": "tokenId",
2024
+ "type": "uint256"
2025
+ }
2026
+ ],
2027
+ "name": "transferFrom",
2028
+ "outputs": [],
2029
+ "stateMutability": "nonpayable",
2030
+ "type": "function"
2031
+ },
2032
+ {
2033
+ "inputs": [
2034
+ {
2035
+ "internalType": "address",
2036
+ "name": "newOwner",
2037
+ "type": "address"
2038
+ }
2039
+ ],
2040
+ "name": "transferOwnership",
2041
+ "outputs": [],
2042
+ "stateMutability": "nonpayable",
2043
+ "type": "function"
2044
+ },
2045
+ {
2046
+ "inputs": [
2047
+ {
2048
+ "internalType": "address",
2049
+ "name": "_artblocksCurationRegistryAddress",
2050
+ "type": "address"
2051
+ }
2052
+ ],
2053
+ "name": "updateArtblocksCurationRegistryAddress",
2054
+ "outputs": [],
2055
+ "stateMutability": "nonpayable",
2056
+ "type": "function"
2057
+ },
2058
+ {
2059
+ "inputs": [
2060
+ {
2061
+ "internalType": "address",
2062
+ "name": "_artblocksDependencyRegistryAddress",
2063
+ "type": "address"
2064
+ }
2065
+ ],
2066
+ "name": "updateArtblocksDependencyRegistryAddress",
2067
+ "outputs": [],
2068
+ "stateMutability": "nonpayable",
2069
+ "type": "function"
2070
+ },
2071
+ {
2072
+ "inputs": [
2073
+ {
2074
+ "internalType": "address",
2075
+ "name": "_artblocksOnChainGeneratorAddress",
2076
+ "type": "address"
2077
+ }
2078
+ ],
2079
+ "name": "updateArtblocksOnChainGeneratorAddress",
2080
+ "outputs": [],
2081
+ "stateMutability": "nonpayable",
2082
+ "type": "function"
2083
+ },
2084
+ {
2085
+ "inputs": [
2086
+ {
2087
+ "internalType": "address",
2088
+ "name": "_bytecodeStorageReaderContract",
2089
+ "type": "address"
2090
+ }
2091
+ ],
2092
+ "name": "updateBytecodeStorageReaderContract",
2093
+ "outputs": [],
2094
+ "stateMutability": "nonpayable",
2095
+ "type": "function"
2096
+ },
2097
+ {
2098
+ "inputs": [
2099
+ {
2100
+ "internalType": "string",
2101
+ "name": "_defaultBaseURI",
2102
+ "type": "string"
2103
+ }
2104
+ ],
2105
+ "name": "updateDefaultBaseURI",
2106
+ "outputs": [],
2107
+ "stateMutability": "nonpayable",
2108
+ "type": "function"
2109
+ },
2110
+ {
2111
+ "inputs": [
2112
+ {
2113
+ "internalType": "address",
2114
+ "name": "_address",
2115
+ "type": "address"
2116
+ }
2117
+ ],
2118
+ "name": "updateMinterContract",
2119
+ "outputs": [],
2120
+ "stateMutability": "nonpayable",
2121
+ "type": "function"
2122
+ },
2123
+ {
2124
+ "inputs": [
2125
+ {
2126
+ "internalType": "address",
2127
+ "name": "_nextCoreContract",
2128
+ "type": "address"
2129
+ }
2130
+ ],
2131
+ "name": "updateNextCoreContract",
2132
+ "outputs": [],
2133
+ "stateMutability": "nonpayable",
2134
+ "type": "function"
2135
+ },
2136
+ {
2137
+ "inputs": [
2138
+ {
2139
+ "internalType": "uint256",
2140
+ "name": "_projectId",
2141
+ "type": "uint256"
2142
+ },
2143
+ {
2144
+ "internalType": "address payable",
2145
+ "name": "_artistAddress",
2146
+ "type": "address"
2147
+ }
2148
+ ],
2149
+ "name": "updateProjectArtistAddress",
2150
+ "outputs": [],
2151
+ "stateMutability": "nonpayable",
2152
+ "type": "function"
2153
+ },
2154
+ {
2155
+ "inputs": [
2156
+ {
2157
+ "internalType": "uint256",
2158
+ "name": "_projectId",
2159
+ "type": "uint256"
2160
+ },
2161
+ {
2162
+ "internalType": "string",
2163
+ "name": "_projectArtistName",
2164
+ "type": "string"
2165
+ }
2166
+ ],
2167
+ "name": "updateProjectArtistName",
2168
+ "outputs": [],
2169
+ "stateMutability": "nonpayable",
2170
+ "type": "function"
2171
+ },
2172
+ {
2173
+ "inputs": [
2174
+ {
2175
+ "internalType": "uint256",
2176
+ "name": "_projectId",
2177
+ "type": "uint256"
2178
+ },
2179
+ {
2180
+ "internalType": "string",
2181
+ "name": "_aspectRatio",
2182
+ "type": "string"
2183
+ }
2184
+ ],
2185
+ "name": "updateProjectAspectRatio",
2186
+ "outputs": [],
2187
+ "stateMutability": "nonpayable",
2188
+ "type": "function"
2189
+ },
2190
+ {
2191
+ "inputs": [
2192
+ {
2193
+ "internalType": "uint256",
2194
+ "name": "_projectId",
2195
+ "type": "uint256"
2196
+ },
2197
+ {
2198
+ "internalType": "string",
2199
+ "name": "_newBaseURI",
2200
+ "type": "string"
2201
+ }
2202
+ ],
2203
+ "name": "updateProjectBaseURI",
2204
+ "outputs": [],
2205
+ "stateMutability": "nonpayable",
2206
+ "type": "function"
2207
+ },
2208
+ {
2209
+ "inputs": [
2210
+ {
2211
+ "internalType": "uint256",
2212
+ "name": "_projectId",
2213
+ "type": "uint256"
2214
+ },
2215
+ {
2216
+ "internalType": "string",
2217
+ "name": "_projectDescription",
2218
+ "type": "string"
2219
+ }
2220
+ ],
2221
+ "name": "updateProjectDescription",
2222
+ "outputs": [],
2223
+ "stateMutability": "nonpayable",
2224
+ "type": "function"
2225
+ },
2226
+ {
2227
+ "inputs": [
2228
+ {
2229
+ "internalType": "uint256",
2230
+ "name": "_projectId",
2231
+ "type": "uint256"
2232
+ },
2233
+ {
2234
+ "internalType": "string",
2235
+ "name": "_projectLicense",
2236
+ "type": "string"
2237
+ }
2238
+ ],
2239
+ "name": "updateProjectLicense",
2240
+ "outputs": [],
2241
+ "stateMutability": "nonpayable",
2242
+ "type": "function"
2243
+ },
2244
+ {
2245
+ "inputs": [
2246
+ {
2247
+ "internalType": "uint256",
2248
+ "name": "_projectId",
2249
+ "type": "uint256"
2250
+ },
2251
+ {
2252
+ "internalType": "uint24",
2253
+ "name": "_maxInvocations",
2254
+ "type": "uint24"
2255
+ }
2256
+ ],
2257
+ "name": "updateProjectMaxInvocations",
2258
+ "outputs": [],
2259
+ "stateMutability": "nonpayable",
2260
+ "type": "function"
2261
+ },
2262
+ {
2263
+ "inputs": [
2264
+ {
2265
+ "internalType": "uint256",
2266
+ "name": "_projectId",
2267
+ "type": "uint256"
2268
+ },
2269
+ {
2270
+ "internalType": "string",
2271
+ "name": "_projectName",
2272
+ "type": "string"
2273
+ }
2274
+ ],
2275
+ "name": "updateProjectName",
2276
+ "outputs": [],
2277
+ "stateMutability": "nonpayable",
2278
+ "type": "function"
2279
+ },
2280
+ {
2281
+ "inputs": [
2282
+ {
2283
+ "internalType": "uint256",
2284
+ "name": "_projectId",
2285
+ "type": "uint256"
2286
+ },
2287
+ {
2288
+ "internalType": "uint256",
2289
+ "name": "_scriptId",
2290
+ "type": "uint256"
2291
+ },
2292
+ {
2293
+ "internalType": "string",
2294
+ "name": "_script",
2295
+ "type": "string"
2296
+ }
2297
+ ],
2298
+ "name": "updateProjectScript",
2299
+ "outputs": [],
2300
+ "stateMutability": "nonpayable",
2301
+ "type": "function"
2302
+ },
2303
+ {
2304
+ "inputs": [
2305
+ {
2306
+ "internalType": "uint256",
2307
+ "name": "_projectId",
2308
+ "type": "uint256"
2309
+ },
2310
+ {
2311
+ "internalType": "uint256",
2312
+ "name": "_scriptId",
2313
+ "type": "uint256"
2314
+ },
2315
+ {
2316
+ "internalType": "bytes",
2317
+ "name": "_compressedScript",
2318
+ "type": "bytes"
2319
+ }
2320
+ ],
2321
+ "name": "updateProjectScriptCompressed",
2322
+ "outputs": [],
2323
+ "stateMutability": "nonpayable",
2324
+ "type": "function"
2325
+ },
2326
+ {
2327
+ "inputs": [
2328
+ {
2329
+ "internalType": "uint256",
2330
+ "name": "_projectId",
2331
+ "type": "uint256"
2332
+ },
2333
+ {
2334
+ "internalType": "bytes32",
2335
+ "name": "_scriptTypeAndVersion",
2336
+ "type": "bytes32"
2337
+ }
2338
+ ],
2339
+ "name": "updateProjectScriptType",
2340
+ "outputs": [],
2341
+ "stateMutability": "nonpayable",
2342
+ "type": "function"
2343
+ },
2344
+ {
2345
+ "inputs": [
2346
+ {
2347
+ "internalType": "uint256",
2348
+ "name": "_projectId",
2349
+ "type": "uint256"
2350
+ },
2351
+ {
2352
+ "internalType": "uint256",
2353
+ "name": "_secondaryMarketRoyalty",
2354
+ "type": "uint256"
2355
+ }
2356
+ ],
2357
+ "name": "updateProjectSecondaryMarketRoyaltyPercentage",
2358
+ "outputs": [],
2359
+ "stateMutability": "nonpayable",
2360
+ "type": "function"
2361
+ },
2362
+ {
2363
+ "inputs": [
2364
+ {
2365
+ "internalType": "uint256",
2366
+ "name": "_projectId",
2367
+ "type": "uint256"
2368
+ },
2369
+ {
2370
+ "internalType": "string",
2371
+ "name": "_projectWebsite",
2372
+ "type": "string"
2373
+ }
2374
+ ],
2375
+ "name": "updateProjectWebsite",
2376
+ "outputs": [],
2377
+ "stateMutability": "nonpayable",
2378
+ "type": "function"
2379
+ },
2380
+ {
2381
+ "inputs": [
2382
+ {
2383
+ "internalType": "uint256",
2384
+ "name": "_defaultRenderProviderSecondarySalesBPS",
2385
+ "type": "uint256"
2386
+ },
2387
+ {
2388
+ "internalType": "uint256",
2389
+ "name": "_defaultPlatformProviderSecondarySalesBPS",
2390
+ "type": "uint256"
2391
+ }
2392
+ ],
2393
+ "name": "updateProviderDefaultSecondarySalesBPS",
2394
+ "outputs": [],
2395
+ "stateMutability": "nonpayable",
2396
+ "type": "function"
2397
+ },
2398
+ {
2399
+ "inputs": [
2400
+ {
2401
+ "internalType": "uint256",
2402
+ "name": "renderProviderPrimarySalesPercentage_",
2403
+ "type": "uint256"
2404
+ },
2405
+ {
2406
+ "internalType": "uint256",
2407
+ "name": "platformProviderPrimarySalesPercentage_",
2408
+ "type": "uint256"
2409
+ }
2410
+ ],
2411
+ "name": "updateProviderPrimarySalesPercentages",
2412
+ "outputs": [],
2413
+ "stateMutability": "nonpayable",
2414
+ "type": "function"
2415
+ },
2416
+ {
2417
+ "inputs": [
2418
+ {
2419
+ "internalType": "address payable",
2420
+ "name": "_renderProviderPrimarySalesAddress",
2421
+ "type": "address"
2422
+ },
2423
+ {
2424
+ "internalType": "address payable",
2425
+ "name": "_defaultRenderProviderSecondarySalesAddress",
2426
+ "type": "address"
2427
+ },
2428
+ {
2429
+ "internalType": "address payable",
2430
+ "name": "_platformProviderPrimarySalesAddress",
2431
+ "type": "address"
2432
+ },
2433
+ {
2434
+ "internalType": "address payable",
2435
+ "name": "_defaultPlatformProviderSecondarySalesAddress",
2436
+ "type": "address"
2437
+ }
2438
+ ],
2439
+ "name": "updateProviderSalesAddresses",
2440
+ "outputs": [],
2441
+ "stateMutability": "nonpayable",
2442
+ "type": "function"
2443
+ },
2444
+ {
2445
+ "inputs": [
2446
+ {
2447
+ "internalType": "address",
2448
+ "name": "_randomizerAddress",
2449
+ "type": "address"
2450
+ }
2451
+ ],
2452
+ "name": "updateRandomizerAddress",
2453
+ "outputs": [],
2454
+ "stateMutability": "nonpayable",
2455
+ "type": "function"
2456
+ },
2457
+ {
2458
+ "inputs": [
2459
+ {
2460
+ "internalType": "address",
2461
+ "name": "_splitProviderAddress",
2462
+ "type": "address"
2463
+ }
2464
+ ],
2465
+ "name": "updateSplitProvider",
2466
+ "outputs": [],
2467
+ "stateMutability": "nonpayable",
2468
+ "type": "function"
2469
+ }
2470
+ ],
2471
+ "bytecode": "0x60e060405273059edd72cd353df5106d2b9cc5ab83a52287ac3a608090815273a7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd27060a0527399a9b7c1116f9ceeb1652de04d5969cce509b06960c0526200005e90601e90600362000a8f565b503480156200006c57600080fd5b5060405162006232380380620062328339810160408190526200008f9162000c4f565b61dead620000a1565b60405180910390fd5b620000ac816200039a565b506040840151620000bd90620003c7565b60a0840151620000cd90620003c7565b620000d883620003c7565b620000e381620003c7565b60008251116200015c5760405162461bcd60e51b815260206004820152603d60248201527f47656e417274373231436f726556335f437572617465643a2064656661756c7460448201527f42617365555249486f7374206d757374206265206e6f6e2d656d707479000000606482015260840162000098565b83610120015115620001e65760405162461bcd60e51b815260206004820152604660248201527f47656e417274373231436f726556335f437572617465643a206175746f41707060448201527f726f766541727469737453706c697450726f706f73616c73206d7573742062656064820152652066616c736560d01b608482015260a40162000098565b836101400151620002605760405162461bcd60e51b815260206004820152603a60248201527f47656e417274373231436f726556335f437572617465643a206e756c6c506c6160448201527f74666f726d50726f7669646572206d7573742062652074727565000000000000606482015260840162000098565b83610160015115620002e75760405162461bcd60e51b815260206004820152604360248201527f47656e417274373231436f726556335f437572617465643a20616c6c6f77417260448201527f7469737450726f6a65637441637469766174696f6e206d7573742062652066616064820152626c736560e81b608482015260a40162000098565b60008461010001516001600160f81b031611620003775760405162461bcd60e51b815260206004820152604160248201527f47656e417274373231436f726556335f437572617465643a207374617274696e60448201527f6750726f6a6563744964206d7573742062652067726561746572207468616e206064820152600360fc1b608482015260a40162000098565b6200038584848484620003f7565b620003908262000610565b5050505062001035565b620003a5816200063d565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116620003f457600060405163d327ad1b60e01b815260040162000098919062000dfa565b50565b600a54600160a01b900460ff16156200042857602560405163d327ad1b60e01b815260040162000098919062000dfa565b600a8054600160a01b60ff60a01b199182161790915560118054909116600560a11b17905560fa6014556101408401516200046557600a62000468565b60005b601260146101000a81548160ff021916908360ff160217905550836101400151620004955760fa62000498565b60005b60ff1660165583516020850151620004b191906200068f565b60e08401516001600160a01b031615620004d55760e0840151620004d59062000713565b60c0840151620004e5906200075d565b620004f0816200078b565b610120840151601a805461014087015161016088015161ffff1990921693151561ff0019169390931761010093151584021762ff0000191662010000911515919091021790558401516001600160f81b0316601855604084015160608501516200055e9190819080620007ae565b60a08401516200056e9062000871565b62000579836200039a565b620005b2826200058930620008d4565b6040516020016200059c92919062000e23565b60408051601f1981840301815291905262000610565b610100840151601980547fff00000000000000000000000000000000000000000000000000000000000000166001600160f81b0390921691909117905560005b6040516000805160206200621283398151915290600090a250505050565b601b6200061e828262000ef3565b5060025b6040516000805160206200621283398151915290600090a250565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60025460ff1615620006e45760405162461bcd60e51b815260206004820152601360248201527f416c726561647920696e697469616c697a656400000000000000000000000000604482015260640162000098565b6000620006f2838262000ef3565b50600162000701828262000ef3565b50506002805460ff1916600117905550565b601780546001600160a01b0319166001600160a01b0383169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a250565b6200076881620003c7565b601c80546001600160a01b0319166001600160a01b038316179055600a62000622565b601d80546001600160a01b0319166001600160a01b038316179055600b62000622565b601a54610100900460ff161562000809576001600160a01b038216151580620007df57506001600160a01b03811615155b156200080357602460405163d327ad1b60e01b815260040162000098919062000dfa565b6200081f565b6200081482620003c7565b6200081f81620003c7565b601280546001600160a01b038085166001600160a01b031992831617909255601580548484169083161790556011805487841690831617905560138054928616929091169190911790556007620005f2565b600b80546001600160a01b0383166001600160a01b03199182168117909255600c80546001810182556000919091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180549091169091179055600362000622565b6060620008ec6001600160a01b0383166014620008f2565b92915050565b60608260006200090484600262000fd5565b6200091190600262000fef565b6001600160401b038111156200092b576200092b62000b10565b6040519080825280601f01601f19166020018201604052801562000956576020820181803683370190505b509050600360fc1b8160008151811062000974576200097462001005565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620009a657620009a662001005565b60200101906001600160f81b031916908160001a9053506000620009cc85600262000fd5565b620009d990600162000fef565b90505b600181111562000a5b576f181899199a1a9b1b9c1cb0b131b232b360811b83600f166010811062000a115762000a1162001005565b1a60f81b82828151811062000a2a5762000a2a62001005565b60200101906001600160f81b031916908160001a90535060049290921c9162000a53816200101b565b9050620009dc565b50811562000a875760405163e22e27eb60e01b8152600481018690526024810185905260440162000098565b949350505050565b82805482825590600052602060002090810192821562000ae7579160200282015b8281111562000ae757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000ab0565b5062000af592915062000af9565b5090565b5b8082111562000af5576000815560010162000afa565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b038111828210171562000b4c5762000b4c62000b10565b60405290565b60005b8381101562000b6f57818101518382015260200162000b55565b50506000910152565b600082601f83011262000b8a57600080fd5b81516001600160401b038082111562000ba75762000ba762000b10565b604051601f8301601f19908116603f0116810190828211818310171562000bd25762000bd262000b10565b8160405283815286602085880101111562000bec57600080fd5b62000bff84602083016020890162000b52565b9695505050505050565b80516001600160a01b038116811462000c2157600080fd5b919050565b80516001600160f81b038116811462000c2157600080fd5b8051801515811462000c2157600080fd5b6000806000806080858703121562000c6657600080fd5b84516001600160401b038082111562000c7e57600080fd5b90860190610180828903121562000c9457600080fd5b62000c9e62000b26565b82518281111562000cae57600080fd5b62000cbc8a82860162000b78565b82525060208301518281111562000cd257600080fd5b62000ce08a82860162000b78565b60208301525062000cf46040840162000c09565b604082015262000d076060840162000c09565b606082015262000d1a6080840162000c09565b608082015262000d2d60a0840162000c09565b60a082015262000d4060c0840162000c09565b60c082015262000d5360e0840162000c09565b60e082015261010062000d6881850162000c26565b9082015261012062000d7c84820162000c3e565b9082015261014062000d9084820162000c3e565b9082015261016062000da484820162000c3e565b90820152955062000db86020880162000c09565b9450604087015191508082111562000dcf57600080fd5b5062000dde8782880162000b78565b92505062000def6060860162000c09565b905092959194509250565b602081016026831062000e1d57634e487b7160e01b600052602160045260246000fd5b91905290565b6000835162000e3781846020880162000b52565b83519083019062000e4d81836020880162000b52565b602f60f81b9101908152600101949350505050565b600181811c9082168062000e7757607f821691505b60208210810362000e9857634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000eee576000816000526020600020601f850160051c8101602086101562000ec95750805b601f850160051c820191505b8181101562000eea5782815560010162000ed5565b5050505b505050565b81516001600160401b0381111562000f0f5762000f0f62000b10565b62000f278162000f20845462000e62565b8462000e9e565b602080601f83116001811462000f5f576000841562000f465750858301515b600019600386901b1c1916600185901b17855562000eea565b600085815260208120601f198616915b8281101562000f905788860151825594840194600190910190840162000f6f565b508582101562000faf5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620008ec57620008ec62000fbf565b80820180821115620008ec57620008ec62000fbf565b634e487b7160e01b600052603260045260246000fd5b6000816200102d576200102d62000fbf565b506000190190565b6151cd80620010456000396000f3fe608060405234801561001057600080fd5b50600436106104995760003560e01c806376ee6fab1161026b57806376ee6fab146109e6578063801aa941146109f95780638639415b14610a0c5780638997618f14610a675780638c3c9cdd14610a7a5780638da5cb5b14610a8d5780638dd91a5614610a9557806392f0023314610ab95780639523751714610acc5780639549179514610adf57806395d89b4114610af2578063993c0cbf14610afa5780639a02e4fa14610b0d5780639d97f4a014610b44578063a0bee56414610b57578063a11ec70a14610b6a578063a22cb46514610b7d578063a3b2cca614610b90578063a47d29cb14610ba3578063abcbb7b414610bcf578063ac11fa1c14610bd7578063acad012414610bf7578063acd4c66f14610c0a578063ad0305ce14610c1c578063ae45ad9814610c3e578063b1656ba314610c46578063b168762214610c59578063b202b56514610c6c578063b75395e014610c7f578063b7b04fae14610c92578063b88d4fde14610ca5578063b971136814610cb8578063bba4448a14610cc0578063bd3d10e714610cd3578063c34a03b514610ce6578063c87b56dd14610cf9578063cc90e72514610d0c578063ce90652014610d1f578063d03c390c14610d32578063db2ff86114610d45578063e32551e714610d58578063e6032df214610d6b578063e935b7b114610d78578063e985e9c514610d89578063eb9cd5d414610d9c578063ed8abfda14610dbe578063eef719a414610de8578063f23f702114610df1578063f2fde38b14610e04578063f851a44014610e17578063f893c07b14610e1f578063ffd43f6514610e2857600080fd5b80611e3c1461049e5780615de5146104b35780630132c697146104d957806301856fd4146104ec57806301ffc9a7146104ff57806304143a5c1461052257806306fdde031461052a578063081812fc1461053f578063095ea7b31461055f5780630a1df77a146105725780630d1706731461069d5780630e79c928146106b05780630ea5613f146106c357806317df53661461070d5780631ab6014c146107205780631b689c0b146107335780631c05cad7146107465780631e9bef46146107595780632302cbda1461076c578063230448b11461077f57806323b872dd1461079257806325b75d68146107a557806327df6c1a146107b85780632a55205a146107cb5780632b274166146107ec5780632b65e67d146107ff5780632d9c02051461081257806330ef4c5f14610825578063329dab731461083757806336c7c12c1461084a578063378599631461085d57806337fbc96514610870578063398a2895146108835780633e48e8481461089657806342842e0e146108a957806348337282146108bc5780634b976697146108cf5780634e1d64af146108e25780635119d04b146108ea578063546a26f6146108f35780635508fd521461090657806357a8e5741461091a57806358b9a5a91461092d578063621a1f74146109655780636352211e146109785780636580a1ed1461098b57806369d14faf146109935780636c907b7f146109a65780636ddba411146109b957806370a08231146109cb578063715018a6146109de575b600080fd5b6104b16104ac3660046141a2565b610e3b565b005b6104c66104c13660046141e9565b610f03565b6040519081526020015b60405180910390f35b6104b16104e736600461422b565b611103565b6104b16104fa3660046141a2565b6111ca565b61051261050d366004614279565b611249565b60405190151581526020016104d0565b6104b1611274565b6105326112bc565b6040516104d091906142e6565b61055261054d3660046142f9565b61134e565b6040516104d0919061431f565b6104b161056d366004614333565b611363565b6106906105803660046142f9565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810191909152506000908152600f602090815260409182902082516101608101845281546001600160a01b03808216835260ff600160a01b9283900481169584019590955260018401548082169684019690965294819004841660608301526002830154808616608084015281900490931660a0820152600382015480851660c083015261ffff90849004811660e08301526004830154808616610100840152939093049092166101208301526005015490911661014082015290565b6040516104d0919061435f565b6104b16106ab36600461452c565b611372565b6104b16106be36600461452c565b6113d1565b6106d66106d13660046142f9565b61152a565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c0016104d0565b600954610552906001600160a01b031681565b601254610552906001600160a01b031681565b6104c66107413660046142f9565b61158d565b6104b1610754366004614572565b61159c565b600d54610552906001600160a01b031681565b6104b161077a3660046145ce565b6115ca565b61051261078d366004614602565b6115ef565b6104b16107a0366004614642565b61169b565b6104b16107b336600461452c565b611720565b6104b16107c63660046141a2565b611766565b6107de6107d93660046141a2565b611804565b6040516104d0929190614683565b6104b16107fa36600461469c565b6118d0565b6104b161080d3660046146b9565b611921565b6105326108203660046142f9565b611b8e565b601254600160a01b900460ff166104c6565b6104b1610845366004614720565b611c33565b600b54610552906001600160a01b031681565b6104b161086b36600461452c565b611cec565b601c54610552906001600160a01b031681565b6104b16108913660046142f9565b611d18565b6104b16108a436600461452c565b611dcf565b6104b16108b7366004614642565b611e04565b6104b16108ca36600461469c565b611e24565b601d54610552906001600160a01b031681565b610532611e46565b6104c660165481565b6105526109013660046142f9565b611e5f565b60195461051290600160f81b900460ff1681565b600854610552906001600160a01b031681565b61055261093b3660046141a2565b6000918252600e60209081526040808420928452600990920190529020546001600160a01b031690565b6104c66109733660046142f9565b611e89565b6105526109863660046142f9565b611eeb565b610512600181565b6104b16109a136600461476f565b611ef6565b6104b16109b436600461469c565b611f53565b601a5461051290610100900460ff1681565b6104c66109d936600461469c565b611f75565b6104b1611fbd565b6104b16109f43660046146b9565b611fd5565b601554610552906001600160a01b031681565b610a1f610a1a3660046141a2565b612169565b604080519889526001600160a01b0397881660208a015288019590955292851660608701526080860191909152831660a085015260c08401521660e0820152610100016104d0565b600a54610552906001600160a01b031681565b610532610a883660046141a2565b612272565b6105526122d1565b610aa8610aa33660046142f9565b6122e5565b6040516104d0959493929190614794565b601754610552906001600160a01b031681565b6104b1610ada36600461469c565b612582565b6104b1610aed366004614831565b6125bd565b61053261262a565b6104b1610b0836600461469c565b612639565b610b37610b1b3660046142f9565b600090815260036020526040902054600160a01b900460a01b90565b6040516104d091906149b6565b6104b1610b5236600461469c565b61265b565b6104b1610b6536600461469c565b612674565b6104b1610b783660046142f9565b6126ce565b6104b1610b8b3660046149cb565b612721565b6104b1610b9e36600461452c565b61272c565b610552610bb13660046142f9565b6000908152600f60205260409020600201546001600160a01b031690565b6105326127ed565b6104c6610be53660046142f9565b60106020526000908152604090205481565b6104b1610c0536600461452c565b61287b565b601154600160a01b900460ff166104c6565b610512610c2a36600461469c565b6017546001600160a01b0390811691161490565b61053261292c565b6104b1610c54366004614720565b612950565b610552610c673660046142f9565b6129ba565b6104b1610c7a36600461452c565b612a10565b601154610552906001600160a01b031681565b6104b1610ca036600461452c565b612a4a565b6104b1610cb33660046149f9565b612af8565b600c546104c6565b601f54610552906001600160a01b031681565b6104b1610ce13660046141a2565b612b0f565b6104b1610cf43660046141a2565b612bb8565b610532610d073660046142f9565b612c1a565b6104b1610d1a366004614a64565b612d02565b601a546105129062010000900460ff1681565b6104b1610d403660046142f9565b612eab565b6104b1610d533660046142f9565b612f1d565b610532610d663660046145ce565b612fe8565b601a546105129060ff1681565b6019546001600160f81b03166104c6565b610512610d97366004614aaa565b61306f565b610daf610daa3660046142f9565b61309d565b6040516104d093929190614ad8565b6104c6610dcc3660046142f9565b6000908152600f6020526040902054600160a01b900460ff1690565b6104c660145481565b6104b1610dff36600461469c565b613169565b6104b1610e1236600461469c565b61319b565b6105526131d6565b6104c660185481565b601354610552906001600160a01b031681565b610e44826131e0565b6000828152600360205260409020600b546001600160a01b03163314610e8957600e60405163d327ad1b60e01b8152600401610e809190614b0e565b60405180910390fd5b8054600160a01b900460a01b6001600160a01b03191615610ec057600f60405163d327ad1b60e01b8152600401610e809190614b0e565b81610ee157601060405163d327ad1b60e01b8152600401610e809190614b0e565b805460a09290921c600160a01b026001600160a01b0390921691909117905550565b6017546000906001600160a01b03163314610f3457600a60405163d327ad1b60e01b8152600401610e809190614b0e565b6000838152600e60205260409020805462ffffff808216916001830191630100000090910416808310610f7d57600b60405163d327ad1b60e01b8152600401610e809190614b0e565b8354600160881b900460ff1680610fb057506000878152600f60205260409020600201546001600160a01b038781169116145b610fd057600c60405163d327ad1b60e01b8152600401610e809190614b0e565b8354600160901b900460ff16801561100557506000878152600f60205260409020600201546001600160a01b03878116911614155b1561102657600d60405163d327ad1b60e01b8152600401610e809190614b0e565b835462ffffff191662ffffff8381169182178655848116620f42408a02019190831690036110575761105788613215565b611061898261324a565b600b54604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b1580156110a757600080fd5b505af11580156110bb573d6000803e3d6000fd5b50506040518392506001600160a01b038c1691507f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590600090a39450505050505b9392505050565b61110c826132af565b6000828152600e60205260409020805462ffffff808216916301000000900481169084161061115157601c60405163d327ad1b60e01b8152600401610e809190614b0e565b808362ffffff16101561117a57601d60405163d327ad1b60e01b8152600401610e809190614b0e565b815465ffffff0000001916630100000062ffffff851602178255600b604051859060008051602061517883398151915290600090a3808362ffffff16036111c4576111c484613215565b50505050565b6111d3826132ec565b6111e38262615bf560e21b613315565b6000828152600e602052604090819020906112019083906001613363565b61122157602060405163d327ad1b60e01b8152600401610e809190614b0e565b60078101829055600d5b604051849060008051602061517883398151915290600090a3505050565b60006001600160e01b0319821663152a902d60e11b148061126e575061126e826133d7565b92915050565b6112846301050e9760e21b613427565b601954600160f81b900460ff16156112b257601960405163d327ad1b60e01b8152600401610e809190614b0e565b6112ba613452565b565b6060600080546112cb90614b36565b80601f01602080910402602001604051908101604052809291908181526020018280546112f790614b36565b80156113445780601f1061131957610100808354040283529160200191611344565b820191906000526020600020905b81548152906001019060200180831161132757829003601f168201915b5050505050905090565b600061135982613493565b5061126e826134cb565b61136e8282336134e6565b5050565b61137b826132ec565b61138c82630d17067360e01b613315565b611395816134f3565b6000828152600e602052604090206001016113b08282614bcf565b5060055b604051839060008051602061517883398151915290600090a35050565b6113da826132ec565b6113eb826301cf392560e31b613315565b6113f4816134f3565b80518190600b81111561141d57602160405163d327ad1b60e01b8152600401610e809190614b0e565b60008060005b838110156114c957600085828151811061143f5761143f614c88565b01602001516001600160f81b0319169050600360fc1b81108015906114725750603960f81b6001600160f81b0319821611155b156114815760019250506114c1565b6001600160f81b03198116601760f91b036114a557836114a55760019350506114c1565b602360405163d327ad1b60e01b8152600401610e809190614b0e565b600101611423565b50806114eb57602260405163d327ad1b60e01b8152600401610e809190614b0e565b6000868152600e602052604090206008016115068682614bcf565b50600e604051879060008051602061517883398151915290600090a3505050505050565b6000818152600e60205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b03169161158088613518565b1591505091939550919395565b600061126e620f424083614cb4565b6115ac631c05cad760e01b613427565b6115b584613562565b6115be83613562565b6111c48484848461358c565b6115da63118165ed60e11b613427565b6115e3816134f3565b6115ec8161365c565b50565b6000806115fa6122d1565b6001600160a01b0316141580156116935750600d546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af115801561166f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116939190614cd6565b949350505050565b6001600160a01b0382166116c5576000604051633250574960e11b8152600401610e80919061431f565b60006116d2838333613670565b9050836001600160a01b0316816001600160a01b0316146111c4576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610e80565b611729826132ec565b61173a826304b6ebad60e31b613315565b611743816134f3565b6000828152600e6020526040902060050161175e8282614bcf565b50600a6113b4565b6117766313efb60d60e11b613427565b601a54610100900460ff16801561178c57508015155b156117ad57602460405163d327ad1b60e01b8152600401610e809190614b0e565b6127106117ba8284614cf3565b11156117dc57601360405163d327ad1b60e01b8152600401610e809190614b0e565b6014829055601681905560095b60405160008051602061511883398151915290600090a25050565b600080611810846131e0565b600061181b8561158d565b6000818152600f6020526040812060058101546004820154600383015483546001600160a01b039093169850949550919361ffff600160a01b938490048116939182900416916118719160ff9104166064614d06565b61187b9190614cf3565b6118859190614cf3565b90506127108111156118ad57601360405163d327ad1b60e01b8152600401610e809190614b0e565b6127106118ba8288614d06565b6118c49190614cb4565b93505050509250929050565b6118e0631593a0b360e11b613427565b6118e981613562565b600980546001600160a01b0319166001600160a01b03831617905560055b60405160008051602061511883398151915290600090a250565b61192a86613764565b611933866132af565b61193c85613562565b6000868152600f6020526040902060648411806119595750606482115b1561197a57601460405163d327ad1b60e01b8152600401610e809190614b0e565b60008411801561199157506001600160a01b038516155b156119b257601560405163d327ad1b60e01b8152600401610e809190614b0e565b6000821180156119c957506001600160a01b038316155b156119ea57601660405163d327ad1b60e01b8152600401610e809190614b0e565b867f6ff7d102bb3657a26dcbbcd299d821a066718a7cf76ae7cd98279f18b74da8ac8787878787604051611a22959493929190614d1d565b60405180910390a2601a5460ff1680611aad57600282015482546001600160a01b03918216898316149160009181169089161480611a6757506001600160a01b038816155b60018501549091506000906001600160a01b0388811691161480611a9257506001600160a01b038716155b9050828015611a9e5750815b8015611aa75750805b93505050505b8015611b455760008881526010602052604081205560028201805483546001600160a01b038981166001600160a01b03199290921691909117855560ff808916600160a01b9081026001600160a81b0319948516848e161717909455600186018054918816909402921690871617179055611b27886137a0565b604051889060008051602061513883398151915290600090a2611b84565b8686868686604051602001611b5e959493929190614d1d565b60408051601f19818403018152918152815160209283012060008b815260109093529120555b5050505050505050565b6000818152600e60205260409020600601805460609190611bae90614b36565b80601f0160208091040260200160405190810160405280929190818152602001828054611bda90614b36565b8015611c275780601f10611bfc57610100808354040283529160200191611c27565b820191906000526020600020905b815481529060010190602001808311611c0a57829003601f168201915b50505050509050919050565b611c3c836132ec565b611c4d8363329dab7360e01b613315565b611c56816138ec565b6000838152600e602052604090208054600160301b900462ffffff168310611c9457601e60405163d327ad1b60e01b8152600401610e809190614b0e565b611c9d82613911565b6000848152600983016020526040902080546001600160a01b0319166001600160a01b0392909216919091179055600c604051859060008051602061517883398151915290600090a350505050565b611cf5826132af565b6000828152600e60205260409020600401611d108282614bcf565b5060096113b4565b611d2863398a289560e01b613427565b611d3181613764565b6000818152600f602052604090206015546003820180546001600160a01b039283166001600160a01b0319808316821784556016546001600160b01b0319938416909217600160a01b61ffff938416810291909117909455601354600487018054919096169181168217865560145493161791169091021790556010604051839060008051602061517883398151915290600090a361136e826137a0565b611dd8826132af565b611de1816134f3565b6000828152600e60205260409020600601611dfc8282614bcf565b50600f6113b4565b611e1f83838360405180602001604052806000815250612af8565b505050565b611e34632419b94160e11b613427565b611e3d81613562565b6115ec816139af565b6060611e5a653b199719171b60d11b6139f9565b905090565b601e8181548110611e6f57600080fd5b6000918252602090912001546001600160a01b0316905081565b600081815260036020526040812054600160a01b900460a01b6001600160a01b031981168203611ebc5750600092915050565b80604051602001611ecd91906149b6565b60405160208183030381529060405280519060200120915050919050565b600061126e82613493565b611eff82613764565b611f10826369d14faf60e01b613a64565b611f1981613562565b6000828152600f6020526040902060020180546001600160a01b0319166001600160a01b038316179055611f4c826137a0565b60026113b4565b611f63636c907b7f60e01b613427565b611f6c81613562565b6115ec81613ad6565b60006001600160a01b038216611fa15760006040516322718ad960e21b8152600401610e80919061431f565b506001600160a01b031660009081526004602052604090205490565b611fc5613b38565b611fcd613452565b6112ba613b6a565b611fde86613764565b611fef866376ee6fab60e01b613a64565b611ff885613562565b8484848484604051602001612011959493929190614d1d565b60408051601f198184030181529181528151602092830120600089815260109093529120541461205757601760405163d327ad1b60e01b8152600401610e809190614b0e565b6000600f60008881526020019081526020016000209050858160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550848160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838160020160146101000a81548160ff021916908360ff160217905550828160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818160010160146101000a81548160ff021916908360ff1602179055506000801b6010600089815260200190815260200160002081905550612147876137a0565b604051879060008051602061513883398151915290600090a250505050505050565b6000828152600f602052604081206011548291829182918291829182918291908a906064906121a290600160a01b900460ff1683614d06565b6121ac9190614cb4565b99506121b88a82614d50565b6012549091506064906121d590600160a01b900460ff168d614d06565b6121df9190614cb4565b97506121eb8882614d50565b600283015490915060649061220a90600160a01b900460ff1683614d06565b6122149190614cb4565b93506122208482614d50565b6011546012546001600160a01b039182169b501697509550851561224f5760028201546001600160a01b031694505b83156122635781546001600160a01b031692505b50509295985092959890939650565b6000828152600e60205260409020805460609190600160301b900462ffffff1683106122ae57505060408051602081019091526000815261126e565b6000838152600982016020526040902054611693906001600160a01b0316613b7c565b6000611e5a6007546001600160a01b031690565b60608060608060606000600e6000888152602001908152602001600020905080600101805461231390614b36565b80601f016020809104026020016040519081016040528092919081815260200182805461233f90614b36565b801561238c5780601f106123615761010080835404028352916020019161238c565b820191906000526020600020905b81548152906001019060200180831161236f57829003601f168201915b505050505095508060020180546123a290614b36565b80601f01602080910402602001604051908101604052809291908181526020018280546123ce90614b36565b801561241b5780601f106123f05761010080835404028352916020019161241b565b820191906000526020600020905b8154815290600101906020018083116123fe57829003601f168201915b505050506003830154919650506001600160a01b03168061244d57604051806020016040528060008152509450612459565b61245681613b7c565b94505b81600401805461246890614b36565b80601f016020809104026020016040519081016040528092919081815260200182805461249490614b36565b80156124e15780601f106124b6576101008083540402835291602001916124e1565b820191906000526020600020905b8154815290600101906020018083116124c457829003601f168201915b505050505093508160050180546124f790614b36565b80601f016020809104026020016040519081016040528092919081815260200182805461252390614b36565b80156125705780601f1061254557610100808354040283529160200191612570565b820191906000526020600020905b81548152906001019060200180831161255357829003601f168201915b50505050509250505091939590929450565b612592639523751760e01b613427565b61259b81613562565b600a80546001600160a01b0319166001600160a01b0383161790556006611907565b60405162461bcd60e51b815260206004820152603c60248201527f47656e417274373231436f726556335f437572617465643a20636f6e7472616360448201527b3a1034b734ba34b0b634bd32b21034b71031b7b739ba393ab1ba37b960211b6064820152608401610e80565b6060600180546112cb90614b36565b61264963993c0cbf60e01b613427565b61265281613562565b6115ec81613bca565b61266b6304ecbfa560e51b613427565b6115ec81613bec565b61268463282fb95960e21b613427565b601f80546001600160a01b0319166001600160a01b0383169081179091556040517fdd6101118dad49a63dd2ba96813aa513ada53dfb2bb3632a650894405e320af490600090a250565b6126d7816132af565b6000818152600e60205260409020805460ff60901b198116600160901b9182900460ff161590910217905560035b604051829060008051602061517883398151915290600090a350565b61136e338383613c17565b61273582613518565b1561277c576000828152600f60205260409020600201546001600160a01b0316331461277757601a60405163d327ad1b60e01b8152600401610e809190614b0e565b6127ae565b61278e33306351d9665360e11b6115ef565b6127ae57601a60405163d327ad1b60e01b8152600401610e809190614b0e565b6127b781613cad565b6000838152600e6020526040902060030180546001600160a01b0319166001600160a01b039290921691909117905560086113b4565b601b80546127fa90614b36565b80601f016020809104026020016040519081016040528092919081815260200182805461282690614b36565b80156128735780601f1061284857610100808354040283529160200191612873565b820191906000526020600020905b81548152906001019060200180831161285657829003601f168201915b505050505081565b612884826132ec565b61289582632b2b404960e21b613315565b61289e816134f3565b6000828152600e602052604090206128b582613cad565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b039490941693909317909255825461290792919004166001614d63565b815462ffffff91909116600160301b0262ffffff60301b19909116178155600c61122b565b6060611e5a7547656e417274373231436f726556335f456e67696e6560501b6139f9565b612959836132ec565b61296a8363b1656ba360e01b613315565b612973816134f3565b6000838152600e602052604090208054600160301b900462ffffff1683106129b157601e60405163d327ad1b60e01b8152600401610e809190614b0e565b611c9d82613cad565b600c5460009082106129e257601260405163d327ad1b60e01b8152600401610e809190614b0e565b600c82815481106129f5576129f5614c88565b6000918252602090912001546001600160a01b031692915050565b612a19826132ec565b612a2a8263b202b56560e01b613315565b612a33816138ec565b6000828152600e602052604090206128b582613911565b612a5382613518565b15612a9a576000828152600f60205260409020600201546001600160a01b03163314612a9557601a60405163d327ad1b60e01b8152600401610e809190614b0e565b612acc565b612aac3330635bd827d760e11b6115ef565b612acc57601a60405163d327ad1b60e01b8152600401610e809190614b0e565b612ad5816134f3565b6000828152600e60205260409020600201612af08282614bcf565b5060066113b4565b612b0384848461169b565b6111c484848484613cd3565b612b1f63bd3d10e760e01b613427565b601a54610100900460ff168015612b3557508015155b15612b5657602460405163d327ad1b60e01b8152600401610e809190614b0e565b6064612b628284614cf3565b1115612b8457601160405163d327ad1b60e01b8152600401610e809190614b0e565b6011805460ff808516600160a01b90810260ff60a01b199384161790935560128054918516909302911617905560086117e9565b612bc1826132af565b605f811115612be657601b60405163d327ad1b60e01b8152600401610e809190614b0e565b6000828152600f60205260409020805460ff60a01b1916600160a01b60ff841602179055612c13826137a0565b60076113b4565b6060612c25826131e0565b6000600e6000612c348561158d565b81526020019081526020016000206006018054612c5090614b36565b80601f0160208091040260200160405190810160405280929190818152602001828054612c7c90614b36565b8015612cc95780601f10612c9e57610100808354040283529160200191612cc9565b820191906000526020600020905b815481529060010190602001808311612cac57829003601f168201915b5050505050905080612cda84613dea565b604051602001612ceb929190614d86565b604051602081830303815290604052915050919050565b612d1263cc90e72560e01b613427565b612d1b826134f3565b612d2481613562565b601954600160f81b900460ff1615612d5257601860405163d327ad1b60e01b8152600401610e809190614b0e565b6019546001600160f81b03166000818152600f602090815260408083206002810180546001600160a01b0319166001600160a01b038816179055600e909252909120600101612da18582614bcf565b506000828152600e60205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b01178155600601612dde601b82614db5565b50805460ff60a01b1916600560a01b1781556015546003820180546001600160a01b039283166001600160a01b0319808316821784556016546001600160b01b0319938416909217600160a01b61ffff93841681029190911790945560135460048701805491909616918116821786556014549316179116909102179055612e67826001614e81565b601980546001600160f81b0319166001600160f81b03929092169190911790556004604051839060008051602061517883398151915290600090a36111c4826137a0565b601a5462010000900460ff1615612ed257612ecd8163340f0e4360e21b613315565b612ee2565b612ee263340f0e4360e21b613427565b612eeb81613764565b6000818152600e60205260409020805460ff60881b198116600160881b9182900460ff16159091021790556001612705565b612f26816132ec565b612f378163db2ff86160e01b613315565b6000818152600e6020526040812080549091600160301b90910462ffffff169003612f7857601f60405163d327ad1b60e01b8152600401610e809190614b0e565b80546009820190600090612f9a90600190600160301b900462ffffff16614ea1565b62ffffff9081168252602082019290925260400160002080546001600160a01b0319169055815462ffffff60301b198116600160301b9182900483166000190190921602178155600c6113b4565b6060612ff3826134f3565b60405163e32551e760e01b815273__$a84cab3dc26412b6358fa38e3bc69cb812$__9063e32551e79061302a9085906004016142e6565b600060405180830381865af4158015613047573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261126e9190810190614eed565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6000818152600e602052604081206007810154606092839290916130c0906139f9565b93508060080180546130d190614b36565b80601f01602080910402602001604051908101604052809291908181526020018280546130fd90614b36565b801561314a5780601f1061311f5761010080835404028352916020019161314a565b820191906000526020600020905b81548152906001019060200180831161312d57829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b61317963f23f702160e01b613427565b600880546001600160a01b0319166001600160a01b0383161790556004611907565b6131a3613b38565b6001600160a01b0381166131cd576000604051631e4fbdf760e01b8152600401610e80919061431f565b6115ec81613e7c565b6000611e5a6122d1565b60006131eb82613ea7565b6001600160a01b0316036115ec57600360405163d327ad1b60e01b8152600401610e809190614b0e565b6000818152600e602052604081208054600160481b600160881b031916600160481b426001600160401b031602179055612705565b6001600160a01b038216613274576000604051633250574960e11b8152600401610e80919061431f565b600061328283836000613670565b90506001600160a01b03811615611e1f5760006040516339e3563760e11b8152600401610e80919061431f565b6000818152600f60205260409020600201546001600160a01b031633146115ec57600760405163d327ad1b60e01b8152600401610e809190614b0e565b6132f581613518565b6115ec57600560405163d327ad1b60e01b8152600401610e809190614b0e565b6000828152600f60205260409020600201546001600160a01b031633148061334357506133433330836115ef565b61136e57600860405163d327ad1b60e01b8152600401610e809190614b0e565b60008060005b60208160ff1610156133c3576000868260ff166020811061338c5761338c614c88565b1a905080158015906133a1575060808160ff16105b156133ba578560ff168160ff16036133ba578260010192505b50600101613369565b8360ff168260ff1614925050509392505050565b60006001600160e01b031982166380ac58cd60e01b148061340857506001600160e01b03198216635b5e139f60e01b145b8061126e57506301ffc9a760e01b6001600160e01b031983161461126e565b6134323330836115ef565b6115ec57600660405163d327ad1b60e01b8152600401610e809190614b0e565b601954600160f81b900460ff166112ba57601980546001600160f81b0316600160f81b179055600160405160008051602061511883398151915290600090a2565b60008061349f83613ea7565b90506001600160a01b03811661126e57604051637e27328960e01b815260048101849052602401610e80565b6000908152600560205260409020546001600160a01b031690565b611e1f8383836001613ec2565b80516000036115ec57600160405163d327ad1b60e01b8152600401610e809190614b0e565b600061352382613764565b6000828152600e6020526040902054600160481b90046001600160401b03168015808061169357506224ea006135598342614d50565b10949350505050565b6001600160a01b0381166115ec57600060405163d327ad1b60e01b8152600401610e809190614b0e565b601a54610100900460ff16156135e1576001600160a01b0382161515806135bb57506001600160a01b03811615155b156135dc57602460405163d327ad1b60e01b8152600401610e809190614b0e565b6135f3565b6135ea82613562565b6135f381613562565b601280546001600160a01b038085166001600160a01b03199283161790925560158054848416908316179055601180548784169083161790556013805492861692909116919091179055600760405160008051602061511883398151915290600090a250505050565b601b6136688282614bcf565b506002611907565b60008061367c84613ea7565b90506001600160a01b0383161561369857613698818486613fbf565b6001600160a01b038116156136d6576136b5600085600080613ec2565b6001600160a01b038116600090815260046020526040902080546000190190555b6001600160a01b03851615613705576001600160a01b0385166000908152600460205260409020805460010190555b60008481526003602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b60185481108061377f57506019546001600160f81b03168110155b156115ec57600460405163d327ad1b60e01b8152600401610e809190614b0e565b6000818152600f60209081526040808320601c5482516101008101845260038301546001600160a01b03818116835261ffff600160a01b92839004811697840197909752600480860154808316858901528390049097166060840152845460ff90839004811660808501526002860154821660a0850152600186015480831660c08601529290920490911660e08301529351631718245360e21b81529295949390911692635c60914c92613855929101614f35565b6020604051808303816000875af1158015613874573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138989190614fbd565b6005830180546001600160a01b0319166001600160a01b0383169081179091556040519192509084907f301670c9279b1d4319606681ed95e193d888fddba44d836b9e8d5585d8cc47b590600090a3505050565b80516000036115ec57600260405163d327ad1b60e01b8152600401610e809190614b0e565b600080600080516020615158833981519152308460405160200161393793929190614fda565b60405160208183030381529060405290508051602082016000f091506001600160a01b0382166139a95760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610e80565b50919050565b601780546001600160a01b0319166001600160a01b0383169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a250565b606060005b828160ff1660208110613a1357613a13614c88565b1a60f81b6001600160f81b03191615801590613a32575060208160ff16105b15613a495780613a4181615045565b9150506139fe565b60405191506040820160405280825282602083015250919050565b613a6f3330836115ef565b15613a78575050565b6000613a826122d1565b6001600160a01b0316148015613ab157506000828152600f60205260409020600201546001600160a01b031633145b15613aba575050565b600960405163d327ad1b60e01b8152600401610e809190614b0e565b600b80546001600160a01b0383166001600160a01b03199182168117909255600c80546001810182556000919091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701805490911690911790556003611907565b33613b416122d1565b6001600160a01b0316146112ba573360405163118cdaa760e01b8152600401610e80919061431f565b613b72613b38565b6112ba6000613e7c565b601d54604051630eacc5e760e31b81526060916001600160a01b0316906375662f3890613bad90859060040161431f565b600060405180830381865afa158015613047573d6000803e3d6000fd5b601d80546001600160a01b0319166001600160a01b038316179055600b611907565b613bf581613562565b601c80546001600160a01b0319166001600160a01b038316179055600a611907565b6001600160a01b038216613c405781604051630b61174360e31b8152600401610e80919061431f565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080600080516020615158833981519152308460405160200161393793929190615064565b6001600160a01b0383163b156111c457604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290613d159033908890879087906004016150bd565b6020604051808303816000875af1925050508015613d50575060408051601f3d908101601f19168201909252613d4d918101906150fa565b60015b613db0573d808015613d7e576040519150601f19603f3d011682016040523d82523d6000602084013e613d83565b606091505b508051600003613da85783604051633250574960e11b8152600401610e80919061431f565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14613de35783604051633250574960e11b8152600401610e80919061431f565b5050505050565b60606000613df783614015565b60010190506000816001600160401b03811115613e1657613e16614440565b6040519080825280601f01601f191660200182016040528015613e40576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613e4a57509392505050565b613e85816140eb565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000908152600360205260409020546001600160a01b031690565b8080613ed657506001600160a01b03821615155b15613f8f576000613ee684613493565b90506001600160a01b03831615801590613f125750826001600160a01b0316816001600160a01b031614155b8015613f255750613f23818461306f565b155b15613f45578260405163a9fbf51f60e01b8152600401610e80919061431f565b8115613f8d5783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260056020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b613fca83838361413d565b611e1f576001600160a01b038316613ff857604051637e27328960e01b815260048101829052602401610e80565b818160405163177e802f60e01b8152600401610e80929190614683565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106140545772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b831061407e576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061409c57662386f26fc10000830492506010015b6305f5e10083106140b4576305f5e100830492506008015b61271083106140c857612710830492506004015b606483106140da576064830492506002015b600a831061126e5760010192915050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006001600160a01b038316158015906116935750826001600160a01b0316846001600160a01b031614806141775750614177848461306f565b806116935750826001600160a01b0316614190836134cb565b6001600160a01b031614949350505050565b600080604083850312156141b557600080fd5b50508035926020909101359150565b6001600160a01b03811681146115ec57600080fd5b80356141e4816141c4565b919050565b6000806000606084860312156141fe57600080fd5b8335614209816141c4565b9250602084013591506040840135614220816141c4565b809150509250925092565b6000806040838503121561423e57600080fd5b82359150602083013562ffffff8116811461425857600080fd5b809150509250929050565b6001600160e01b0319811681146115ec57600080fd5b60006020828403121561428b57600080fd5b81356110fc81614263565b60005b838110156142b1578181015183820152602001614299565b50506000910152565b600081518084526142d2816020860160208601614296565b601f01601f19169290920160200192915050565b6020815260006110fc60208301846142ba565b60006020828403121561430b57600080fd5b5035919050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6000806040838503121561434657600080fd5b8235614351816141c4565b946020939093013593505050565b600061016082019050614373828451614312565b6020830151614387602084018260ff169052565b50604083015161439a6040840182614312565b5060608301516143af606084018260ff169052565b5060808301516143c26080840182614312565b5060a08301516143d760a084018260ff169052565b5060c08301516143ea60c0840182614312565b5060e083015161440060e084018261ffff169052565b506101008084015161441482850182614312565b50506101208381015161ffff16908301526101408084015161443882850182614312565b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b038111828210171561447957614479614440565b60405290565b604051601f8201601f191681016001600160401b03811182821017156144a7576144a7614440565b604052919050565b60006001600160401b038211156144c8576144c8614440565b50601f01601f191660200190565b600082601f8301126144e757600080fd5b81356144fa6144f5826144af565b61447f565b81815284602083860101111561450f57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561453f57600080fd5b8235915060208301356001600160401b0381111561455c57600080fd5b614568858286016144d6565b9150509250929050565b6000806000806080858703121561458857600080fd5b8435614593816141c4565b935060208501356145a3816141c4565b925060408501356145b3816141c4565b915060608501356145c3816141c4565b939692955090935050565b6000602082840312156145e057600080fd5b81356001600160401b038111156145f657600080fd5b611693848285016144d6565b60008060006060848603121561461757600080fd5b8335614622816141c4565b92506020840135614632816141c4565b9150604084013561422081614263565b60008060006060848603121561465757600080fd5b8335614662816141c4565b92506020840135614672816141c4565b929592945050506040919091013590565b6001600160a01b03929092168252602082015260400190565b6000602082840312156146ae57600080fd5b81356110fc816141c4565b60008060008060008060c087890312156146d257600080fd5b8635955060208701356146e4816141c4565b945060408701356146f4816141c4565b935060608701359250608087013561470b816141c4565b8092505060a087013590509295509295509295565b60008060006060848603121561473557600080fd5b833592506020840135915060408401356001600160401b0381111561475957600080fd5b614765868287016144d6565b9150509250925092565b6000806040838503121561478257600080fd5b823591506020830135614258816141c4565b60a0815260006147a760a08301886142ba565b82810360208401526147b981886142ba565b905082810360408401526147cd81876142ba565b905082810360608401526147e181866142ba565b905082810360808401526147f581856142ba565b98975050505050505050565b80356001600160f81b03811681146141e457600080fd5b80151581146115ec57600080fd5b80356141e481614818565b6000806000806080858703121561484757600080fd5b84356001600160401b038082111561485e57600080fd5b90860190610180828903121561487357600080fd5b61487b614456565b82358281111561488a57600080fd5b6148968a8286016144d6565b8252506020830135828111156148ab57600080fd5b6148b78a8286016144d6565b6020830152506148c9604084016141d9565b60408201526148da606084016141d9565b60608201526148eb608084016141d9565b60808201526148fc60a084016141d9565b60a082015261490d60c084016141d9565b60c082015261491e60e084016141d9565b60e0820152610100614931818501614801565b90820152610120614943848201614826565b90820152610140614955848201614826565b90820152610160614967848201614826565b908201529550614979602088016141d9565b9450604087013591508082111561498f57600080fd5b5061499c878288016144d6565b9250506149ab606086016141d9565b905092959194509250565b6001600160a01b031991909116815260200190565b600080604083850312156149de57600080fd5b82356149e9816141c4565b9150602083013561425881614818565b60008060008060808587031215614a0f57600080fd5b8435614a1a816141c4565b93506020850135614a2a816141c4565b92506040850135915060608501356001600160401b03811115614a4c57600080fd5b614a58878288016144d6565b91505092959194509250565b60008060408385031215614a7757600080fd5b82356001600160401b03811115614a8d57600080fd5b614a99858286016144d6565b9250506020830135614258816141c4565b60008060408385031215614abd57600080fd5b8235614ac8816141c4565b91506020830135614258816141c4565b606081526000614aeb60608301866142ba565b8281036020840152614afd81866142ba565b915050826040830152949350505050565b6020810160268310614b3057634e487b7160e01b600052602160045260246000fd5b91905290565b600181811c90821680614b4a57607f821691505b6020821081036139a957634e487b7160e01b600052602260045260246000fd5b601f821115611e1f576000816000526020600020601f850160051c81016020861015614b935750805b601f850160051c820191505b81811015614bb257828155600101614b9f565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115614be857614be8614440565b614bfc81614bf68454614b36565b84614b6a565b602080601f831160018114614c2b5760008415614c195750858301515b614c238582614bba565b865550614bb2565b600085815260208120601f198616915b82811015614c5a57888601518255948401946001909101908401614c3b565b5085821015614c785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082614cd157634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215614ce857600080fd5b81516110fc81614818565b8082018082111561126e5761126e614c9e565b808202811582820484141761126e5761126e614c9e565b6001600160a01b039586168152938516602085015260408401929092529092166060820152608081019190915260a00190565b8181038181111561126e5761126e614c9e565b62ffffff818116838216019080821115614d7f57614d7f614c9e565b5092915050565b60008351614d98818460208801614296565b835190830190614dac818360208801614296565b01949350505050565b818103614dc0575050565b614dca8254614b36565b6001600160401b03811115614de157614de1614440565b614def81614bf68454614b36565b6000601f821160018114614e1d5760008315614e0b5750848201545b614e158482614bba565b855550613de3565b600085815260209020601f19841690600086815260209020845b83811015614e575782860154825560019586019590910190602001614e37565b5085831015614c785793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160f81b03818116838216019080821115614d7f57614d7f614c9e565b62ffffff828116828216039080821115614d7f57614d7f614c9e565b6000614ecb6144f5846144af565b9050828152838383011115614edf57600080fd5b6110fc836020830184614296565b600060208284031215614eff57600080fd5b81516001600160401b03811115614f1557600080fd5b8201601f81018413614f2657600080fd5b61169384825160208401614ebd565b60006101008201905060018060a01b03808451168352602084015161ffff808216602086015282604087015116604086015280606087015116606086015250505060ff608084015116608083015260a0830151614f9560a0840182614312565b5060c0830151614fa860c0840182614312565b5060e0830151614d7f60e084018260ff169052565b600060208284031215614fcf57600080fd5b81516110fc816141c4565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152600160f81b604c830152825161503681604d850160208701614296565b91909101604d01949350505050565b600060ff821660ff810361505b5761505b614c9e565b60010192915050565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152604c8201819052825161503681604d850160208701614296565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906150f0908301846142ba565b9695505050505050565b60006020828403121561510c57600080fd5b81516110fc8161426356fe8b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d009c582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73842797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f20b96a30340e86d03ce4be42f94ac02d7b27b4a4cdae942beb69026718dfe66afca2646970667358221220364fde5bfd1fe509dc758c7282c940b35fb29989a74fbebe967ad688a7f37a5a64736f6c634300081600338b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d009",
2472
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106104995760003560e01c806376ee6fab1161026b57806376ee6fab146109e6578063801aa941146109f95780638639415b14610a0c5780638997618f14610a675780638c3c9cdd14610a7a5780638da5cb5b14610a8d5780638dd91a5614610a9557806392f0023314610ab95780639523751714610acc5780639549179514610adf57806395d89b4114610af2578063993c0cbf14610afa5780639a02e4fa14610b0d5780639d97f4a014610b44578063a0bee56414610b57578063a11ec70a14610b6a578063a22cb46514610b7d578063a3b2cca614610b90578063a47d29cb14610ba3578063abcbb7b414610bcf578063ac11fa1c14610bd7578063acad012414610bf7578063acd4c66f14610c0a578063ad0305ce14610c1c578063ae45ad9814610c3e578063b1656ba314610c46578063b168762214610c59578063b202b56514610c6c578063b75395e014610c7f578063b7b04fae14610c92578063b88d4fde14610ca5578063b971136814610cb8578063bba4448a14610cc0578063bd3d10e714610cd3578063c34a03b514610ce6578063c87b56dd14610cf9578063cc90e72514610d0c578063ce90652014610d1f578063d03c390c14610d32578063db2ff86114610d45578063e32551e714610d58578063e6032df214610d6b578063e935b7b114610d78578063e985e9c514610d89578063eb9cd5d414610d9c578063ed8abfda14610dbe578063eef719a414610de8578063f23f702114610df1578063f2fde38b14610e04578063f851a44014610e17578063f893c07b14610e1f578063ffd43f6514610e2857600080fd5b80611e3c1461049e5780615de5146104b35780630132c697146104d957806301856fd4146104ec57806301ffc9a7146104ff57806304143a5c1461052257806306fdde031461052a578063081812fc1461053f578063095ea7b31461055f5780630a1df77a146105725780630d1706731461069d5780630e79c928146106b05780630ea5613f146106c357806317df53661461070d5780631ab6014c146107205780631b689c0b146107335780631c05cad7146107465780631e9bef46146107595780632302cbda1461076c578063230448b11461077f57806323b872dd1461079257806325b75d68146107a557806327df6c1a146107b85780632a55205a146107cb5780632b274166146107ec5780632b65e67d146107ff5780632d9c02051461081257806330ef4c5f14610825578063329dab731461083757806336c7c12c1461084a578063378599631461085d57806337fbc96514610870578063398a2895146108835780633e48e8481461089657806342842e0e146108a957806348337282146108bc5780634b976697146108cf5780634e1d64af146108e25780635119d04b146108ea578063546a26f6146108f35780635508fd521461090657806357a8e5741461091a57806358b9a5a91461092d578063621a1f74146109655780636352211e146109785780636580a1ed1461098b57806369d14faf146109935780636c907b7f146109a65780636ddba411146109b957806370a08231146109cb578063715018a6146109de575b600080fd5b6104b16104ac3660046141a2565b610e3b565b005b6104c66104c13660046141e9565b610f03565b6040519081526020015b60405180910390f35b6104b16104e736600461422b565b611103565b6104b16104fa3660046141a2565b6111ca565b61051261050d366004614279565b611249565b60405190151581526020016104d0565b6104b1611274565b6105326112bc565b6040516104d091906142e6565b61055261054d3660046142f9565b61134e565b6040516104d0919061431f565b6104b161056d366004614333565b611363565b6106906105803660046142f9565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101829052610140810191909152506000908152600f602090815260409182902082516101608101845281546001600160a01b03808216835260ff600160a01b9283900481169584019590955260018401548082169684019690965294819004841660608301526002830154808616608084015281900490931660a0820152600382015480851660c083015261ffff90849004811660e08301526004830154808616610100840152939093049092166101208301526005015490911661014082015290565b6040516104d0919061435f565b6104b16106ab36600461452c565b611372565b6104b16106be36600461452c565b6113d1565b6106d66106d13660046142f9565b61152a565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c0016104d0565b600954610552906001600160a01b031681565b601254610552906001600160a01b031681565b6104c66107413660046142f9565b61158d565b6104b1610754366004614572565b61159c565b600d54610552906001600160a01b031681565b6104b161077a3660046145ce565b6115ca565b61051261078d366004614602565b6115ef565b6104b16107a0366004614642565b61169b565b6104b16107b336600461452c565b611720565b6104b16107c63660046141a2565b611766565b6107de6107d93660046141a2565b611804565b6040516104d0929190614683565b6104b16107fa36600461469c565b6118d0565b6104b161080d3660046146b9565b611921565b6105326108203660046142f9565b611b8e565b601254600160a01b900460ff166104c6565b6104b1610845366004614720565b611c33565b600b54610552906001600160a01b031681565b6104b161086b36600461452c565b611cec565b601c54610552906001600160a01b031681565b6104b16108913660046142f9565b611d18565b6104b16108a436600461452c565b611dcf565b6104b16108b7366004614642565b611e04565b6104b16108ca36600461469c565b611e24565b601d54610552906001600160a01b031681565b610532611e46565b6104c660165481565b6105526109013660046142f9565b611e5f565b60195461051290600160f81b900460ff1681565b600854610552906001600160a01b031681565b61055261093b3660046141a2565b6000918252600e60209081526040808420928452600990920190529020546001600160a01b031690565b6104c66109733660046142f9565b611e89565b6105526109863660046142f9565b611eeb565b610512600181565b6104b16109a136600461476f565b611ef6565b6104b16109b436600461469c565b611f53565b601a5461051290610100900460ff1681565b6104c66109d936600461469c565b611f75565b6104b1611fbd565b6104b16109f43660046146b9565b611fd5565b601554610552906001600160a01b031681565b610a1f610a1a3660046141a2565b612169565b604080519889526001600160a01b0397881660208a015288019590955292851660608701526080860191909152831660a085015260c08401521660e0820152610100016104d0565b600a54610552906001600160a01b031681565b610532610a883660046141a2565b612272565b6105526122d1565b610aa8610aa33660046142f9565b6122e5565b6040516104d0959493929190614794565b601754610552906001600160a01b031681565b6104b1610ada36600461469c565b612582565b6104b1610aed366004614831565b6125bd565b61053261262a565b6104b1610b0836600461469c565b612639565b610b37610b1b3660046142f9565b600090815260036020526040902054600160a01b900460a01b90565b6040516104d091906149b6565b6104b1610b5236600461469c565b61265b565b6104b1610b6536600461469c565b612674565b6104b1610b783660046142f9565b6126ce565b6104b1610b8b3660046149cb565b612721565b6104b1610b9e36600461452c565b61272c565b610552610bb13660046142f9565b6000908152600f60205260409020600201546001600160a01b031690565b6105326127ed565b6104c6610be53660046142f9565b60106020526000908152604090205481565b6104b1610c0536600461452c565b61287b565b601154600160a01b900460ff166104c6565b610512610c2a36600461469c565b6017546001600160a01b0390811691161490565b61053261292c565b6104b1610c54366004614720565b612950565b610552610c673660046142f9565b6129ba565b6104b1610c7a36600461452c565b612a10565b601154610552906001600160a01b031681565b6104b1610ca036600461452c565b612a4a565b6104b1610cb33660046149f9565b612af8565b600c546104c6565b601f54610552906001600160a01b031681565b6104b1610ce13660046141a2565b612b0f565b6104b1610cf43660046141a2565b612bb8565b610532610d073660046142f9565b612c1a565b6104b1610d1a366004614a64565b612d02565b601a546105129062010000900460ff1681565b6104b1610d403660046142f9565b612eab565b6104b1610d533660046142f9565b612f1d565b610532610d663660046145ce565b612fe8565b601a546105129060ff1681565b6019546001600160f81b03166104c6565b610512610d97366004614aaa565b61306f565b610daf610daa3660046142f9565b61309d565b6040516104d093929190614ad8565b6104c6610dcc3660046142f9565b6000908152600f6020526040902054600160a01b900460ff1690565b6104c660145481565b6104b1610dff36600461469c565b613169565b6104b1610e1236600461469c565b61319b565b6105526131d6565b6104c660185481565b601354610552906001600160a01b031681565b610e44826131e0565b6000828152600360205260409020600b546001600160a01b03163314610e8957600e60405163d327ad1b60e01b8152600401610e809190614b0e565b60405180910390fd5b8054600160a01b900460a01b6001600160a01b03191615610ec057600f60405163d327ad1b60e01b8152600401610e809190614b0e565b81610ee157601060405163d327ad1b60e01b8152600401610e809190614b0e565b805460a09290921c600160a01b026001600160a01b0390921691909117905550565b6017546000906001600160a01b03163314610f3457600a60405163d327ad1b60e01b8152600401610e809190614b0e565b6000838152600e60205260409020805462ffffff808216916001830191630100000090910416808310610f7d57600b60405163d327ad1b60e01b8152600401610e809190614b0e565b8354600160881b900460ff1680610fb057506000878152600f60205260409020600201546001600160a01b038781169116145b610fd057600c60405163d327ad1b60e01b8152600401610e809190614b0e565b8354600160901b900460ff16801561100557506000878152600f60205260409020600201546001600160a01b03878116911614155b1561102657600d60405163d327ad1b60e01b8152600401610e809190614b0e565b835462ffffff191662ffffff8381169182178655848116620f42408a02019190831690036110575761105788613215565b611061898261324a565b600b54604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b1580156110a757600080fd5b505af11580156110bb573d6000803e3d6000fd5b50506040518392506001600160a01b038c1691507f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590600090a39450505050505b9392505050565b61110c826132af565b6000828152600e60205260409020805462ffffff808216916301000000900481169084161061115157601c60405163d327ad1b60e01b8152600401610e809190614b0e565b808362ffffff16101561117a57601d60405163d327ad1b60e01b8152600401610e809190614b0e565b815465ffffff0000001916630100000062ffffff851602178255600b604051859060008051602061517883398151915290600090a3808362ffffff16036111c4576111c484613215565b50505050565b6111d3826132ec565b6111e38262615bf560e21b613315565b6000828152600e602052604090819020906112019083906001613363565b61122157602060405163d327ad1b60e01b8152600401610e809190614b0e565b60078101829055600d5b604051849060008051602061517883398151915290600090a3505050565b60006001600160e01b0319821663152a902d60e11b148061126e575061126e826133d7565b92915050565b6112846301050e9760e21b613427565b601954600160f81b900460ff16156112b257601960405163d327ad1b60e01b8152600401610e809190614b0e565b6112ba613452565b565b6060600080546112cb90614b36565b80601f01602080910402602001604051908101604052809291908181526020018280546112f790614b36565b80156113445780601f1061131957610100808354040283529160200191611344565b820191906000526020600020905b81548152906001019060200180831161132757829003601f168201915b5050505050905090565b600061135982613493565b5061126e826134cb565b61136e8282336134e6565b5050565b61137b826132ec565b61138c82630d17067360e01b613315565b611395816134f3565b6000828152600e602052604090206001016113b08282614bcf565b5060055b604051839060008051602061517883398151915290600090a35050565b6113da826132ec565b6113eb826301cf392560e31b613315565b6113f4816134f3565b80518190600b81111561141d57602160405163d327ad1b60e01b8152600401610e809190614b0e565b60008060005b838110156114c957600085828151811061143f5761143f614c88565b01602001516001600160f81b0319169050600360fc1b81108015906114725750603960f81b6001600160f81b0319821611155b156114815760019250506114c1565b6001600160f81b03198116601760f91b036114a557836114a55760019350506114c1565b602360405163d327ad1b60e01b8152600401610e809190614b0e565b600101611423565b50806114eb57602260405163d327ad1b60e01b8152600401610e809190614b0e565b6000868152600e602052604090206008016115068682614bcf565b50600e604051879060008051602061517883398151915290600090a3505050505050565b6000818152600e60205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b03169161158088613518565b1591505091939550919395565b600061126e620f424083614cb4565b6115ac631c05cad760e01b613427565b6115b584613562565b6115be83613562565b6111c48484848461358c565b6115da63118165ed60e11b613427565b6115e3816134f3565b6115ec8161365c565b50565b6000806115fa6122d1565b6001600160a01b0316141580156116935750600d546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af115801561166f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116939190614cd6565b949350505050565b6001600160a01b0382166116c5576000604051633250574960e11b8152600401610e80919061431f565b60006116d2838333613670565b9050836001600160a01b0316816001600160a01b0316146111c4576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610e80565b611729826132ec565b61173a826304b6ebad60e31b613315565b611743816134f3565b6000828152600e6020526040902060050161175e8282614bcf565b50600a6113b4565b6117766313efb60d60e11b613427565b601a54610100900460ff16801561178c57508015155b156117ad57602460405163d327ad1b60e01b8152600401610e809190614b0e565b6127106117ba8284614cf3565b11156117dc57601360405163d327ad1b60e01b8152600401610e809190614b0e565b6014829055601681905560095b60405160008051602061511883398151915290600090a25050565b600080611810846131e0565b600061181b8561158d565b6000818152600f6020526040812060058101546004820154600383015483546001600160a01b039093169850949550919361ffff600160a01b938490048116939182900416916118719160ff9104166064614d06565b61187b9190614cf3565b6118859190614cf3565b90506127108111156118ad57601360405163d327ad1b60e01b8152600401610e809190614b0e565b6127106118ba8288614d06565b6118c49190614cb4565b93505050509250929050565b6118e0631593a0b360e11b613427565b6118e981613562565b600980546001600160a01b0319166001600160a01b03831617905560055b60405160008051602061511883398151915290600090a250565b61192a86613764565b611933866132af565b61193c85613562565b6000868152600f6020526040902060648411806119595750606482115b1561197a57601460405163d327ad1b60e01b8152600401610e809190614b0e565b60008411801561199157506001600160a01b038516155b156119b257601560405163d327ad1b60e01b8152600401610e809190614b0e565b6000821180156119c957506001600160a01b038316155b156119ea57601660405163d327ad1b60e01b8152600401610e809190614b0e565b867f6ff7d102bb3657a26dcbbcd299d821a066718a7cf76ae7cd98279f18b74da8ac8787878787604051611a22959493929190614d1d565b60405180910390a2601a5460ff1680611aad57600282015482546001600160a01b03918216898316149160009181169089161480611a6757506001600160a01b038816155b60018501549091506000906001600160a01b0388811691161480611a9257506001600160a01b038716155b9050828015611a9e5750815b8015611aa75750805b93505050505b8015611b455760008881526010602052604081205560028201805483546001600160a01b038981166001600160a01b03199290921691909117855560ff808916600160a01b9081026001600160a81b0319948516848e161717909455600186018054918816909402921690871617179055611b27886137a0565b604051889060008051602061513883398151915290600090a2611b84565b8686868686604051602001611b5e959493929190614d1d565b60408051601f19818403018152918152815160209283012060008b815260109093529120555b5050505050505050565b6000818152600e60205260409020600601805460609190611bae90614b36565b80601f0160208091040260200160405190810160405280929190818152602001828054611bda90614b36565b8015611c275780601f10611bfc57610100808354040283529160200191611c27565b820191906000526020600020905b815481529060010190602001808311611c0a57829003601f168201915b50505050509050919050565b611c3c836132ec565b611c4d8363329dab7360e01b613315565b611c56816138ec565b6000838152600e602052604090208054600160301b900462ffffff168310611c9457601e60405163d327ad1b60e01b8152600401610e809190614b0e565b611c9d82613911565b6000848152600983016020526040902080546001600160a01b0319166001600160a01b0392909216919091179055600c604051859060008051602061517883398151915290600090a350505050565b611cf5826132af565b6000828152600e60205260409020600401611d108282614bcf565b5060096113b4565b611d2863398a289560e01b613427565b611d3181613764565b6000818152600f602052604090206015546003820180546001600160a01b039283166001600160a01b0319808316821784556016546001600160b01b0319938416909217600160a01b61ffff938416810291909117909455601354600487018054919096169181168217865560145493161791169091021790556010604051839060008051602061517883398151915290600090a361136e826137a0565b611dd8826132af565b611de1816134f3565b6000828152600e60205260409020600601611dfc8282614bcf565b50600f6113b4565b611e1f83838360405180602001604052806000815250612af8565b505050565b611e34632419b94160e11b613427565b611e3d81613562565b6115ec816139af565b6060611e5a653b199719171b60d11b6139f9565b905090565b601e8181548110611e6f57600080fd5b6000918252602090912001546001600160a01b0316905081565b600081815260036020526040812054600160a01b900460a01b6001600160a01b031981168203611ebc5750600092915050565b80604051602001611ecd91906149b6565b60405160208183030381529060405280519060200120915050919050565b600061126e82613493565b611eff82613764565b611f10826369d14faf60e01b613a64565b611f1981613562565b6000828152600f6020526040902060020180546001600160a01b0319166001600160a01b038316179055611f4c826137a0565b60026113b4565b611f63636c907b7f60e01b613427565b611f6c81613562565b6115ec81613ad6565b60006001600160a01b038216611fa15760006040516322718ad960e21b8152600401610e80919061431f565b506001600160a01b031660009081526004602052604090205490565b611fc5613b38565b611fcd613452565b6112ba613b6a565b611fde86613764565b611fef866376ee6fab60e01b613a64565b611ff885613562565b8484848484604051602001612011959493929190614d1d565b60408051601f198184030181529181528151602092830120600089815260109093529120541461205757601760405163d327ad1b60e01b8152600401610e809190614b0e565b6000600f60008881526020019081526020016000209050858160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550848160000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838160020160146101000a81548160ff021916908360ff160217905550828160010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818160010160146101000a81548160ff021916908360ff1602179055506000801b6010600089815260200190815260200160002081905550612147876137a0565b604051879060008051602061513883398151915290600090a250505050505050565b6000828152600f602052604081206011548291829182918291829182918291908a906064906121a290600160a01b900460ff1683614d06565b6121ac9190614cb4565b99506121b88a82614d50565b6012549091506064906121d590600160a01b900460ff168d614d06565b6121df9190614cb4565b97506121eb8882614d50565b600283015490915060649061220a90600160a01b900460ff1683614d06565b6122149190614cb4565b93506122208482614d50565b6011546012546001600160a01b039182169b501697509550851561224f5760028201546001600160a01b031694505b83156122635781546001600160a01b031692505b50509295985092959890939650565b6000828152600e60205260409020805460609190600160301b900462ffffff1683106122ae57505060408051602081019091526000815261126e565b6000838152600982016020526040902054611693906001600160a01b0316613b7c565b6000611e5a6007546001600160a01b031690565b60608060608060606000600e6000888152602001908152602001600020905080600101805461231390614b36565b80601f016020809104026020016040519081016040528092919081815260200182805461233f90614b36565b801561238c5780601f106123615761010080835404028352916020019161238c565b820191906000526020600020905b81548152906001019060200180831161236f57829003601f168201915b505050505095508060020180546123a290614b36565b80601f01602080910402602001604051908101604052809291908181526020018280546123ce90614b36565b801561241b5780601f106123f05761010080835404028352916020019161241b565b820191906000526020600020905b8154815290600101906020018083116123fe57829003601f168201915b505050506003830154919650506001600160a01b03168061244d57604051806020016040528060008152509450612459565b61245681613b7c565b94505b81600401805461246890614b36565b80601f016020809104026020016040519081016040528092919081815260200182805461249490614b36565b80156124e15780601f106124b6576101008083540402835291602001916124e1565b820191906000526020600020905b8154815290600101906020018083116124c457829003601f168201915b505050505093508160050180546124f790614b36565b80601f016020809104026020016040519081016040528092919081815260200182805461252390614b36565b80156125705780601f1061254557610100808354040283529160200191612570565b820191906000526020600020905b81548152906001019060200180831161255357829003601f168201915b50505050509250505091939590929450565b612592639523751760e01b613427565b61259b81613562565b600a80546001600160a01b0319166001600160a01b0383161790556006611907565b60405162461bcd60e51b815260206004820152603c60248201527f47656e417274373231436f726556335f437572617465643a20636f6e7472616360448201527b3a1034b734ba34b0b634bd32b21034b71031b7b739ba393ab1ba37b960211b6064820152608401610e80565b6060600180546112cb90614b36565b61264963993c0cbf60e01b613427565b61265281613562565b6115ec81613bca565b61266b6304ecbfa560e51b613427565b6115ec81613bec565b61268463282fb95960e21b613427565b601f80546001600160a01b0319166001600160a01b0383169081179091556040517fdd6101118dad49a63dd2ba96813aa513ada53dfb2bb3632a650894405e320af490600090a250565b6126d7816132af565b6000818152600e60205260409020805460ff60901b198116600160901b9182900460ff161590910217905560035b604051829060008051602061517883398151915290600090a350565b61136e338383613c17565b61273582613518565b1561277c576000828152600f60205260409020600201546001600160a01b0316331461277757601a60405163d327ad1b60e01b8152600401610e809190614b0e565b6127ae565b61278e33306351d9665360e11b6115ef565b6127ae57601a60405163d327ad1b60e01b8152600401610e809190614b0e565b6127b781613cad565b6000838152600e6020526040902060030180546001600160a01b0319166001600160a01b039290921691909117905560086113b4565b601b80546127fa90614b36565b80601f016020809104026020016040519081016040528092919081815260200182805461282690614b36565b80156128735780601f1061284857610100808354040283529160200191612873565b820191906000526020600020905b81548152906001019060200180831161285657829003601f168201915b505050505081565b612884826132ec565b61289582632b2b404960e21b613315565b61289e816134f3565b6000828152600e602052604090206128b582613cad565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b039490941693909317909255825461290792919004166001614d63565b815462ffffff91909116600160301b0262ffffff60301b19909116178155600c61122b565b6060611e5a7547656e417274373231436f726556335f456e67696e6560501b6139f9565b612959836132ec565b61296a8363b1656ba360e01b613315565b612973816134f3565b6000838152600e602052604090208054600160301b900462ffffff1683106129b157601e60405163d327ad1b60e01b8152600401610e809190614b0e565b611c9d82613cad565b600c5460009082106129e257601260405163d327ad1b60e01b8152600401610e809190614b0e565b600c82815481106129f5576129f5614c88565b6000918252602090912001546001600160a01b031692915050565b612a19826132ec565b612a2a8263b202b56560e01b613315565b612a33816138ec565b6000828152600e602052604090206128b582613911565b612a5382613518565b15612a9a576000828152600f60205260409020600201546001600160a01b03163314612a9557601a60405163d327ad1b60e01b8152600401610e809190614b0e565b612acc565b612aac3330635bd827d760e11b6115ef565b612acc57601a60405163d327ad1b60e01b8152600401610e809190614b0e565b612ad5816134f3565b6000828152600e60205260409020600201612af08282614bcf565b5060066113b4565b612b0384848461169b565b6111c484848484613cd3565b612b1f63bd3d10e760e01b613427565b601a54610100900460ff168015612b3557508015155b15612b5657602460405163d327ad1b60e01b8152600401610e809190614b0e565b6064612b628284614cf3565b1115612b8457601160405163d327ad1b60e01b8152600401610e809190614b0e565b6011805460ff808516600160a01b90810260ff60a01b199384161790935560128054918516909302911617905560086117e9565b612bc1826132af565b605f811115612be657601b60405163d327ad1b60e01b8152600401610e809190614b0e565b6000828152600f60205260409020805460ff60a01b1916600160a01b60ff841602179055612c13826137a0565b60076113b4565b6060612c25826131e0565b6000600e6000612c348561158d565b81526020019081526020016000206006018054612c5090614b36565b80601f0160208091040260200160405190810160405280929190818152602001828054612c7c90614b36565b8015612cc95780601f10612c9e57610100808354040283529160200191612cc9565b820191906000526020600020905b815481529060010190602001808311612cac57829003601f168201915b5050505050905080612cda84613dea565b604051602001612ceb929190614d86565b604051602081830303815290604052915050919050565b612d1263cc90e72560e01b613427565b612d1b826134f3565b612d2481613562565b601954600160f81b900460ff1615612d5257601860405163d327ad1b60e01b8152600401610e809190614b0e565b6019546001600160f81b03166000818152600f602090815260408083206002810180546001600160a01b0319166001600160a01b038816179055600e909252909120600101612da18582614bcf565b506000828152600e60205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b01178155600601612dde601b82614db5565b50805460ff60a01b1916600560a01b1781556015546003820180546001600160a01b039283166001600160a01b0319808316821784556016546001600160b01b0319938416909217600160a01b61ffff93841681029190911790945560135460048701805491909616918116821786556014549316179116909102179055612e67826001614e81565b601980546001600160f81b0319166001600160f81b03929092169190911790556004604051839060008051602061517883398151915290600090a36111c4826137a0565b601a5462010000900460ff1615612ed257612ecd8163340f0e4360e21b613315565b612ee2565b612ee263340f0e4360e21b613427565b612eeb81613764565b6000818152600e60205260409020805460ff60881b198116600160881b9182900460ff16159091021790556001612705565b612f26816132ec565b612f378163db2ff86160e01b613315565b6000818152600e6020526040812080549091600160301b90910462ffffff169003612f7857601f60405163d327ad1b60e01b8152600401610e809190614b0e565b80546009820190600090612f9a90600190600160301b900462ffffff16614ea1565b62ffffff9081168252602082019290925260400160002080546001600160a01b0319169055815462ffffff60301b198116600160301b9182900483166000190190921602178155600c6113b4565b6060612ff3826134f3565b60405163e32551e760e01b815273__$a84cab3dc26412b6358fa38e3bc69cb812$__9063e32551e79061302a9085906004016142e6565b600060405180830381865af4158015613047573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261126e9190810190614eed565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6000818152600e602052604081206007810154606092839290916130c0906139f9565b93508060080180546130d190614b36565b80601f01602080910402602001604051908101604052809291908181526020018280546130fd90614b36565b801561314a5780601f1061311f5761010080835404028352916020019161314a565b820191906000526020600020905b81548152906001019060200180831161312d57829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b61317963f23f702160e01b613427565b600880546001600160a01b0319166001600160a01b0383161790556004611907565b6131a3613b38565b6001600160a01b0381166131cd576000604051631e4fbdf760e01b8152600401610e80919061431f565b6115ec81613e7c565b6000611e5a6122d1565b60006131eb82613ea7565b6001600160a01b0316036115ec57600360405163d327ad1b60e01b8152600401610e809190614b0e565b6000818152600e602052604081208054600160481b600160881b031916600160481b426001600160401b031602179055612705565b6001600160a01b038216613274576000604051633250574960e11b8152600401610e80919061431f565b600061328283836000613670565b90506001600160a01b03811615611e1f5760006040516339e3563760e11b8152600401610e80919061431f565b6000818152600f60205260409020600201546001600160a01b031633146115ec57600760405163d327ad1b60e01b8152600401610e809190614b0e565b6132f581613518565b6115ec57600560405163d327ad1b60e01b8152600401610e809190614b0e565b6000828152600f60205260409020600201546001600160a01b031633148061334357506133433330836115ef565b61136e57600860405163d327ad1b60e01b8152600401610e809190614b0e565b60008060005b60208160ff1610156133c3576000868260ff166020811061338c5761338c614c88565b1a905080158015906133a1575060808160ff16105b156133ba578560ff168160ff16036133ba578260010192505b50600101613369565b8360ff168260ff1614925050509392505050565b60006001600160e01b031982166380ac58cd60e01b148061340857506001600160e01b03198216635b5e139f60e01b145b8061126e57506301ffc9a760e01b6001600160e01b031983161461126e565b6134323330836115ef565b6115ec57600660405163d327ad1b60e01b8152600401610e809190614b0e565b601954600160f81b900460ff166112ba57601980546001600160f81b0316600160f81b179055600160405160008051602061511883398151915290600090a2565b60008061349f83613ea7565b90506001600160a01b03811661126e57604051637e27328960e01b815260048101849052602401610e80565b6000908152600560205260409020546001600160a01b031690565b611e1f8383836001613ec2565b80516000036115ec57600160405163d327ad1b60e01b8152600401610e809190614b0e565b600061352382613764565b6000828152600e6020526040902054600160481b90046001600160401b03168015808061169357506224ea006135598342614d50565b10949350505050565b6001600160a01b0381166115ec57600060405163d327ad1b60e01b8152600401610e809190614b0e565b601a54610100900460ff16156135e1576001600160a01b0382161515806135bb57506001600160a01b03811615155b156135dc57602460405163d327ad1b60e01b8152600401610e809190614b0e565b6135f3565b6135ea82613562565b6135f381613562565b601280546001600160a01b038085166001600160a01b03199283161790925560158054848416908316179055601180548784169083161790556013805492861692909116919091179055600760405160008051602061511883398151915290600090a250505050565b601b6136688282614bcf565b506002611907565b60008061367c84613ea7565b90506001600160a01b0383161561369857613698818486613fbf565b6001600160a01b038116156136d6576136b5600085600080613ec2565b6001600160a01b038116600090815260046020526040902080546000190190555b6001600160a01b03851615613705576001600160a01b0385166000908152600460205260409020805460010190555b60008481526003602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b60185481108061377f57506019546001600160f81b03168110155b156115ec57600460405163d327ad1b60e01b8152600401610e809190614b0e565b6000818152600f60209081526040808320601c5482516101008101845260038301546001600160a01b03818116835261ffff600160a01b92839004811697840197909752600480860154808316858901528390049097166060840152845460ff90839004811660808501526002860154821660a0850152600186015480831660c08601529290920490911660e08301529351631718245360e21b81529295949390911692635c60914c92613855929101614f35565b6020604051808303816000875af1158015613874573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138989190614fbd565b6005830180546001600160a01b0319166001600160a01b0383169081179091556040519192509084907f301670c9279b1d4319606681ed95e193d888fddba44d836b9e8d5585d8cc47b590600090a3505050565b80516000036115ec57600260405163d327ad1b60e01b8152600401610e809190614b0e565b600080600080516020615158833981519152308460405160200161393793929190614fda565b60405160208183030381529060405290508051602082016000f091506001600160a01b0382166139a95760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610e80565b50919050565b601780546001600160a01b0319166001600160a01b0383169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a250565b606060005b828160ff1660208110613a1357613a13614c88565b1a60f81b6001600160f81b03191615801590613a32575060208160ff16105b15613a495780613a4181615045565b9150506139fe565b60405191506040820160405280825282602083015250919050565b613a6f3330836115ef565b15613a78575050565b6000613a826122d1565b6001600160a01b0316148015613ab157506000828152600f60205260409020600201546001600160a01b031633145b15613aba575050565b600960405163d327ad1b60e01b8152600401610e809190614b0e565b600b80546001600160a01b0383166001600160a01b03199182168117909255600c80546001810182556000919091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701805490911690911790556003611907565b33613b416122d1565b6001600160a01b0316146112ba573360405163118cdaa760e01b8152600401610e80919061431f565b613b72613b38565b6112ba6000613e7c565b601d54604051630eacc5e760e31b81526060916001600160a01b0316906375662f3890613bad90859060040161431f565b600060405180830381865afa158015613047573d6000803e3d6000fd5b601d80546001600160a01b0319166001600160a01b038316179055600b611907565b613bf581613562565b601c80546001600160a01b0319166001600160a01b038316179055600a611907565b6001600160a01b038216613c405781604051630b61174360e31b8152600401610e80919061431f565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080600080516020615158833981519152308460405160200161393793929190615064565b6001600160a01b0383163b156111c457604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290613d159033908890879087906004016150bd565b6020604051808303816000875af1925050508015613d50575060408051601f3d908101601f19168201909252613d4d918101906150fa565b60015b613db0573d808015613d7e576040519150601f19603f3d011682016040523d82523d6000602084013e613d83565b606091505b508051600003613da85783604051633250574960e11b8152600401610e80919061431f565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14613de35783604051633250574960e11b8152600401610e80919061431f565b5050505050565b60606000613df783614015565b60010190506000816001600160401b03811115613e1657613e16614440565b6040519080825280601f01601f191660200182016040528015613e40576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613e4a57509392505050565b613e85816140eb565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000908152600360205260409020546001600160a01b031690565b8080613ed657506001600160a01b03821615155b15613f8f576000613ee684613493565b90506001600160a01b03831615801590613f125750826001600160a01b0316816001600160a01b031614155b8015613f255750613f23818461306f565b155b15613f45578260405163a9fbf51f60e01b8152600401610e80919061431f565b8115613f8d5783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260056020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b613fca83838361413d565b611e1f576001600160a01b038316613ff857604051637e27328960e01b815260048101829052602401610e80565b818160405163177e802f60e01b8152600401610e80929190614683565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106140545772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b831061407e576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061409c57662386f26fc10000830492506010015b6305f5e10083106140b4576305f5e100830492506008015b61271083106140c857612710830492506004015b606483106140da576064830492506002015b600a831061126e5760010192915050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006001600160a01b038316158015906116935750826001600160a01b0316846001600160a01b031614806141775750614177848461306f565b806116935750826001600160a01b0316614190836134cb565b6001600160a01b031614949350505050565b600080604083850312156141b557600080fd5b50508035926020909101359150565b6001600160a01b03811681146115ec57600080fd5b80356141e4816141c4565b919050565b6000806000606084860312156141fe57600080fd5b8335614209816141c4565b9250602084013591506040840135614220816141c4565b809150509250925092565b6000806040838503121561423e57600080fd5b82359150602083013562ffffff8116811461425857600080fd5b809150509250929050565b6001600160e01b0319811681146115ec57600080fd5b60006020828403121561428b57600080fd5b81356110fc81614263565b60005b838110156142b1578181015183820152602001614299565b50506000910152565b600081518084526142d2816020860160208601614296565b601f01601f19169290920160200192915050565b6020815260006110fc60208301846142ba565b60006020828403121561430b57600080fd5b5035919050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6000806040838503121561434657600080fd5b8235614351816141c4565b946020939093013593505050565b600061016082019050614373828451614312565b6020830151614387602084018260ff169052565b50604083015161439a6040840182614312565b5060608301516143af606084018260ff169052565b5060808301516143c26080840182614312565b5060a08301516143d760a084018260ff169052565b5060c08301516143ea60c0840182614312565b5060e083015161440060e084018261ffff169052565b506101008084015161441482850182614312565b50506101208381015161ffff16908301526101408084015161443882850182614312565b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b038111828210171561447957614479614440565b60405290565b604051601f8201601f191681016001600160401b03811182821017156144a7576144a7614440565b604052919050565b60006001600160401b038211156144c8576144c8614440565b50601f01601f191660200190565b600082601f8301126144e757600080fd5b81356144fa6144f5826144af565b61447f565b81815284602083860101111561450f57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561453f57600080fd5b8235915060208301356001600160401b0381111561455c57600080fd5b614568858286016144d6565b9150509250929050565b6000806000806080858703121561458857600080fd5b8435614593816141c4565b935060208501356145a3816141c4565b925060408501356145b3816141c4565b915060608501356145c3816141c4565b939692955090935050565b6000602082840312156145e057600080fd5b81356001600160401b038111156145f657600080fd5b611693848285016144d6565b60008060006060848603121561461757600080fd5b8335614622816141c4565b92506020840135614632816141c4565b9150604084013561422081614263565b60008060006060848603121561465757600080fd5b8335614662816141c4565b92506020840135614672816141c4565b929592945050506040919091013590565b6001600160a01b03929092168252602082015260400190565b6000602082840312156146ae57600080fd5b81356110fc816141c4565b60008060008060008060c087890312156146d257600080fd5b8635955060208701356146e4816141c4565b945060408701356146f4816141c4565b935060608701359250608087013561470b816141c4565b8092505060a087013590509295509295509295565b60008060006060848603121561473557600080fd5b833592506020840135915060408401356001600160401b0381111561475957600080fd5b614765868287016144d6565b9150509250925092565b6000806040838503121561478257600080fd5b823591506020830135614258816141c4565b60a0815260006147a760a08301886142ba565b82810360208401526147b981886142ba565b905082810360408401526147cd81876142ba565b905082810360608401526147e181866142ba565b905082810360808401526147f581856142ba565b98975050505050505050565b80356001600160f81b03811681146141e457600080fd5b80151581146115ec57600080fd5b80356141e481614818565b6000806000806080858703121561484757600080fd5b84356001600160401b038082111561485e57600080fd5b90860190610180828903121561487357600080fd5b61487b614456565b82358281111561488a57600080fd5b6148968a8286016144d6565b8252506020830135828111156148ab57600080fd5b6148b78a8286016144d6565b6020830152506148c9604084016141d9565b60408201526148da606084016141d9565b60608201526148eb608084016141d9565b60808201526148fc60a084016141d9565b60a082015261490d60c084016141d9565b60c082015261491e60e084016141d9565b60e0820152610100614931818501614801565b90820152610120614943848201614826565b90820152610140614955848201614826565b90820152610160614967848201614826565b908201529550614979602088016141d9565b9450604087013591508082111561498f57600080fd5b5061499c878288016144d6565b9250506149ab606086016141d9565b905092959194509250565b6001600160a01b031991909116815260200190565b600080604083850312156149de57600080fd5b82356149e9816141c4565b9150602083013561425881614818565b60008060008060808587031215614a0f57600080fd5b8435614a1a816141c4565b93506020850135614a2a816141c4565b92506040850135915060608501356001600160401b03811115614a4c57600080fd5b614a58878288016144d6565b91505092959194509250565b60008060408385031215614a7757600080fd5b82356001600160401b03811115614a8d57600080fd5b614a99858286016144d6565b9250506020830135614258816141c4565b60008060408385031215614abd57600080fd5b8235614ac8816141c4565b91506020830135614258816141c4565b606081526000614aeb60608301866142ba565b8281036020840152614afd81866142ba565b915050826040830152949350505050565b6020810160268310614b3057634e487b7160e01b600052602160045260246000fd5b91905290565b600181811c90821680614b4a57607f821691505b6020821081036139a957634e487b7160e01b600052602260045260246000fd5b601f821115611e1f576000816000526020600020601f850160051c81016020861015614b935750805b601f850160051c820191505b81811015614bb257828155600101614b9f565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b03811115614be857614be8614440565b614bfc81614bf68454614b36565b84614b6a565b602080601f831160018114614c2b5760008415614c195750858301515b614c238582614bba565b865550614bb2565b600085815260208120601f198616915b82811015614c5a57888601518255948401946001909101908401614c3b565b5085821015614c785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082614cd157634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215614ce857600080fd5b81516110fc81614818565b8082018082111561126e5761126e614c9e565b808202811582820484141761126e5761126e614c9e565b6001600160a01b039586168152938516602085015260408401929092529092166060820152608081019190915260a00190565b8181038181111561126e5761126e614c9e565b62ffffff818116838216019080821115614d7f57614d7f614c9e565b5092915050565b60008351614d98818460208801614296565b835190830190614dac818360208801614296565b01949350505050565b818103614dc0575050565b614dca8254614b36565b6001600160401b03811115614de157614de1614440565b614def81614bf68454614b36565b6000601f821160018114614e1d5760008315614e0b5750848201545b614e158482614bba565b855550613de3565b600085815260209020601f19841690600086815260209020845b83811015614e575782860154825560019586019590910190602001614e37565b5085831015614c785793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160f81b03818116838216019080821115614d7f57614d7f614c9e565b62ffffff828116828216039080821115614d7f57614d7f614c9e565b6000614ecb6144f5846144af565b9050828152838383011115614edf57600080fd5b6110fc836020830184614296565b600060208284031215614eff57600080fd5b81516001600160401b03811115614f1557600080fd5b8201601f81018413614f2657600080fd5b61169384825160208401614ebd565b60006101008201905060018060a01b03808451168352602084015161ffff808216602086015282604087015116604086015280606087015116606086015250505060ff608084015116608083015260a0830151614f9560a0840182614312565b5060c0830151614fa860c0840182614312565b5060e0830151614d7f60e084018260ff169052565b600060208284031215614fcf57600080fd5b81516110fc816141c4565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152600160f81b604c830152825161503681604d850160208701614296565b91909101604d01949350505050565b600060ff821660ff810361505b5761505b614c9e565b60010192915050565b6a600b5981380380925939f360a81b8152607f60f91b600b820152600c81018490526000602c8201819052606084901b6001600160601b0319166038830152604c8201819052825161503681604d850160208701614296565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906150f0908301846142ba565b9695505050505050565b60006020828403121561510c57600080fd5b81516110fc8161426356fe8b810f233ce7ee6e962ab4d98bf0277751de1f5589de3dcc812ac2047994d009c582d05e1da854143bd3271ef4529d79cf5a69fc6057ae320f357acfd291b73842797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f20b96a30340e86d03ce4be42f94ac02d7b27b4a4cdae942beb69026718dfe66afca2646970667358221220364fde5bfd1fe509dc758c7282c940b35fb29989a74fbebe967ad688a7f37a5a64736f6c63430008160033",
2473
+ "linkReferences": {
2474
+ "contracts/libs/v0.8.x/BytecodeStorageV2.sol": {
2475
+ "BytecodeStorageReader": [
2476
+ {
2477
+ "length": 20,
2478
+ "start": 16455
2479
+ }
2480
+ ]
2481
+ }
2482
+ },
2483
+ "deployedLinkReferences": {
2484
+ "contracts/libs/v0.8.x/BytecodeStorageV2.sol": {
2485
+ "BytecodeStorageReader": [
2486
+ {
2487
+ "length": 20,
2488
+ "start": 12290
2489
+ }
2490
+ ]
2491
+ }
2492
+ }
2493
+ }