@artblocks/contracts 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +2 -2
  2. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  3. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +97 -10
  4. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +4 -4
  5. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +4 -9
  6. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +4 -9
  7. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +4 -9
  8. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +4 -9
  9. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
  10. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +4 -4
  11. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +6 -6
  12. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +19 -0
  13. package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +22 -22
  14. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +8 -101
  15. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +1 -57
  16. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +1 -57
  17. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +2 -21
  18. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
  19. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +15 -90
  20. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +10 -36
  21. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +4 -236
  22. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +5 -5
  23. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +7 -423
  24. package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +17 -17
  25. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +2 -2
  26. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  27. package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  28. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +60 -3
  29. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +30 -0
  30. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +60 -3
  31. package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +346 -0
  32. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +29 -3
  33. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +30 -3
  34. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  35. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +254 -3
  36. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +48 -3
  37. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +41 -3
  38. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +35 -3
  39. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +79 -3
  40. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  41. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +41 -41
  42. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +66 -632
  43. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -20
  44. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +67 -594
  45. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +33 -524
  46. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +66 -632
  47. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +33 -524
  48. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +51 -717
  49. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +58 -454
  50. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +61 -552
  51. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +55 -497
  52. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +110 -571
  53. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +69 -560
  54. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +28 -444
  55. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  56. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +4 -9
  57. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
  58. package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +136 -0
  59. package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +105 -0
  60. package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +100 -0
  61. package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +69 -0
  62. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +19 -19
  63. package/contracts/DependencyRegistryV0.sol +84 -16
  64. package/contracts/archive/readme.md +16 -0
  65. package/contracts/engine/README.md +21 -0
  66. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +4 -10
  67. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +4 -10
  68. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +4 -10
  69. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +4 -10
  70. package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
  71. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +6 -8
  72. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +3 -0
  73. package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +25 -25
  74. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +11 -20
  75. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +1 -14
  76. package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +1 -15
  77. package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +2 -8
  78. package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
  79. package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +15 -43
  80. package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +10 -20
  81. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +4 -67
  82. package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +5 -5
  83. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +7 -155
  84. package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +37 -37
  85. package/contracts/libs/v0.8.x/ABHelpers.sol +14 -14
  86. package/contracts/libs/v0.8.x/AuthLib.sol +101 -102
  87. package/contracts/libs/v0.8.x/Bytes32Strings.sol +5 -5
  88. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +163 -38
  89. package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
  90. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +144 -37
  91. package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
  92. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +250 -110
  93. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +257 -48
  94. package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +138 -58
  95. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +778 -103
  96. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +135 -13
  97. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +567 -187
  98. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +480 -322
  99. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +214 -76
  100. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +347 -304
  101. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +391 -491
  102. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +1 -54
  103. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +388 -628
  104. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +212 -273
  105. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +393 -488
  106. package/contracts/minter-suite/Minters/MinterDALinV5.sol +220 -277
  107. package/contracts/minter-suite/Minters/MinterSEAV1.sol +327 -664
  108. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +278 -303
  109. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +355 -446
  110. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +328 -416
  111. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +538 -622
  112. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +429 -553
  113. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +180 -227
  114. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +3 -10
  115. package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
  116. package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
  117. package/contracts/mock/ReentrancyMockShared.sol +48 -0
  118. package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
  119. package/contracts/randomizer/shared/SharedRandomizerV0.sol +78 -70
  120. package/package.json +39 -33
@@ -2,9 +2,260 @@
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "SEALib",
4
4
  "sourceName": "contracts/libs/v0.8.x/minter-libs/SEALib.sol",
5
- "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d9b4412af2b7e97e7e4ceacb2c374f8e5bf502b14074f214a7f0ac78dd3d278864736f6c63430008130033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d9b4412af2b7e97e7e4ceacb2c374f8e5bf502b14074f214a7f0ac78dd3d278864736f6c63430008130033",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "uint256",
12
+ "name": "tokenId",
13
+ "type": "uint256"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "coreContract",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": true,
23
+ "internalType": "address",
24
+ "name": "bidder",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "uint256",
30
+ "name": "bidAmount",
31
+ "type": "uint256"
32
+ }
33
+ ],
34
+ "name": "AuctionBid",
35
+ "type": "event"
36
+ },
37
+ {
38
+ "anonymous": false,
39
+ "inputs": [
40
+ {
41
+ "indexed": true,
42
+ "internalType": "uint256",
43
+ "name": "tokenId",
44
+ "type": "uint256"
45
+ },
46
+ {
47
+ "indexed": true,
48
+ "internalType": "address",
49
+ "name": "coreContract",
50
+ "type": "address"
51
+ },
52
+ {
53
+ "indexed": true,
54
+ "internalType": "address",
55
+ "name": "bidder",
56
+ "type": "address"
57
+ },
58
+ {
59
+ "indexed": false,
60
+ "internalType": "uint256",
61
+ "name": "bidAmount",
62
+ "type": "uint256"
63
+ },
64
+ {
65
+ "indexed": false,
66
+ "internalType": "uint64",
67
+ "name": "endTime",
68
+ "type": "uint64"
69
+ },
70
+ {
71
+ "indexed": false,
72
+ "internalType": "uint8",
73
+ "name": "minBidIncrementPercentage",
74
+ "type": "uint8"
75
+ }
76
+ ],
77
+ "name": "AuctionInitialized",
78
+ "type": "event"
79
+ },
80
+ {
81
+ "anonymous": false,
82
+ "inputs": [
83
+ {
84
+ "indexed": true,
85
+ "internalType": "uint256",
86
+ "name": "tokenId",
87
+ "type": "uint256"
88
+ },
89
+ {
90
+ "indexed": true,
91
+ "internalType": "address",
92
+ "name": "coreContract",
93
+ "type": "address"
94
+ },
95
+ {
96
+ "indexed": true,
97
+ "internalType": "address",
98
+ "name": "winner",
99
+ "type": "address"
100
+ },
101
+ {
102
+ "indexed": false,
103
+ "internalType": "uint256",
104
+ "name": "price",
105
+ "type": "uint256"
106
+ }
107
+ ],
108
+ "name": "AuctionSettled",
109
+ "type": "event"
110
+ },
111
+ {
112
+ "anonymous": false,
113
+ "inputs": [
114
+ {
115
+ "indexed": true,
116
+ "internalType": "uint256",
117
+ "name": "projectId",
118
+ "type": "uint256"
119
+ },
120
+ {
121
+ "indexed": true,
122
+ "internalType": "address",
123
+ "name": "coreContract",
124
+ "type": "address"
125
+ },
126
+ {
127
+ "indexed": false,
128
+ "internalType": "uint64",
129
+ "name": "timestampStart",
130
+ "type": "uint64"
131
+ },
132
+ {
133
+ "indexed": false,
134
+ "internalType": "uint32",
135
+ "name": "auctionDurationSeconds",
136
+ "type": "uint32"
137
+ },
138
+ {
139
+ "indexed": false,
140
+ "internalType": "uint256",
141
+ "name": "basePrice",
142
+ "type": "uint256"
143
+ },
144
+ {
145
+ "indexed": false,
146
+ "internalType": "uint8",
147
+ "name": "minBidIncrementPercentage",
148
+ "type": "uint8"
149
+ }
150
+ ],
151
+ "name": "ConfiguredFutureAuctions",
152
+ "type": "event"
153
+ },
154
+ {
155
+ "anonymous": false,
156
+ "inputs": [
157
+ {
158
+ "indexed": false,
159
+ "internalType": "uint256",
160
+ "name": "minAuctionDurationSeconds",
161
+ "type": "uint256"
162
+ }
163
+ ],
164
+ "name": "MinAuctionDurationSecondsUpdated",
165
+ "type": "event"
166
+ },
167
+ {
168
+ "anonymous": false,
169
+ "inputs": [
170
+ {
171
+ "indexed": false,
172
+ "internalType": "uint24",
173
+ "name": "refundGasLimit",
174
+ "type": "uint24"
175
+ }
176
+ ],
177
+ "name": "MinterRefundGasLimitUpdated",
178
+ "type": "event"
179
+ },
180
+ {
181
+ "anonymous": false,
182
+ "inputs": [
183
+ {
184
+ "indexed": false,
185
+ "internalType": "uint32",
186
+ "name": "minterTimeBufferSeconds",
187
+ "type": "uint32"
188
+ }
189
+ ],
190
+ "name": "MinterTimeBufferUpdated",
191
+ "type": "event"
192
+ },
193
+ {
194
+ "anonymous": false,
195
+ "inputs": [
196
+ {
197
+ "indexed": true,
198
+ "internalType": "uint256",
199
+ "name": "projectId",
200
+ "type": "uint256"
201
+ },
202
+ {
203
+ "indexed": true,
204
+ "internalType": "address",
205
+ "name": "coreContract",
206
+ "type": "address"
207
+ }
208
+ ],
209
+ "name": "ProjectNextTokenEjected",
210
+ "type": "event"
211
+ },
212
+ {
213
+ "anonymous": false,
214
+ "inputs": [
215
+ {
216
+ "indexed": true,
217
+ "internalType": "uint256",
218
+ "name": "projectId",
219
+ "type": "uint256"
220
+ },
221
+ {
222
+ "indexed": true,
223
+ "internalType": "address",
224
+ "name": "coreContract",
225
+ "type": "address"
226
+ },
227
+ {
228
+ "indexed": false,
229
+ "internalType": "uint256",
230
+ "name": "tokenId",
231
+ "type": "uint256"
232
+ }
233
+ ],
234
+ "name": "ProjectNextTokenUpdated",
235
+ "type": "event"
236
+ },
237
+ {
238
+ "anonymous": false,
239
+ "inputs": [
240
+ {
241
+ "indexed": true,
242
+ "internalType": "uint256",
243
+ "name": "projectId",
244
+ "type": "uint256"
245
+ },
246
+ {
247
+ "indexed": true,
248
+ "internalType": "address",
249
+ "name": "coreContract",
250
+ "type": "address"
251
+ }
252
+ ],
253
+ "name": "ResetAuctionDetails",
254
+ "type": "event"
255
+ }
256
+ ],
257
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122084d3dec304bc8c0243ad1ed027f1ce49b3434e68cdbb29542b4d859ae03013e564736f6c63430008130033",
258
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122084d3dec304bc8c0243ad1ed027f1ce49b3434e68cdbb29542b4d859ae03013e564736f6c63430008130033",
8
259
  "linkReferences": {},
9
260
  "deployedLinkReferences": {}
10
261
  }
@@ -2,9 +2,54 @@
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "SetPriceLib",
4
4
  "sourceName": "contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol",
5
- "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122000be977f980f2a61978aa18d84fa440dc7fe4d98549c830955736c2c1e490f9a64736f6c63430008130033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122000be977f980f2a61978aa18d84fa440dc7fe4d98549c830955736c2c1e490f9a64736f6c63430008130033",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "uint256",
12
+ "name": "projectId",
13
+ "type": "uint256"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "coreContract",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "name": "PricePerTokenReset",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": true,
30
+ "internalType": "uint256",
31
+ "name": "projectId",
32
+ "type": "uint256"
33
+ },
34
+ {
35
+ "indexed": true,
36
+ "internalType": "address",
37
+ "name": "coreContract",
38
+ "type": "address"
39
+ },
40
+ {
41
+ "indexed": true,
42
+ "internalType": "uint256",
43
+ "name": "pricePerToken",
44
+ "type": "uint256"
45
+ }
46
+ ],
47
+ "name": "PricePerTokenUpdated",
48
+ "type": "event"
49
+ }
50
+ ],
51
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d89cd72f0b5ccccc1b5335d8915a96fd04498fd96fa20b5ab0d6dc056e00dc8364736f6c63430008130033",
52
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d89cd72f0b5ccccc1b5335d8915a96fd04498fd96fa20b5ab0d6dc056e00dc8364736f6c63430008130033",
8
53
  "linkReferences": {},
9
54
  "deployedLinkReferences": {}
10
55
  }
@@ -2,9 +2,47 @@
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "SettlementExpLib",
4
4
  "sourceName": "contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol",
5
- "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220522c9e6c08094392e19836ee7f5ba931004bf0e46215eef50a205c8c097fbc4a64736f6c63430008130033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220522c9e6c08094392e19836ee7f5ba931004bf0e46215eef50a205c8c097fbc4a64736f6c63430008130033",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "purchaser",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "uint256",
18
+ "name": "projectId",
19
+ "type": "uint256"
20
+ },
21
+ {
22
+ "indexed": true,
23
+ "internalType": "address",
24
+ "name": "coreContract",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "uint24",
30
+ "name": "numPurchased",
31
+ "type": "uint24"
32
+ },
33
+ {
34
+ "indexed": false,
35
+ "internalType": "uint256",
36
+ "name": "netPosted",
37
+ "type": "uint256"
38
+ }
39
+ ],
40
+ "name": "ReceiptUpdated",
41
+ "type": "event"
42
+ }
43
+ ],
44
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205b6f027d1756631abfe0ce0a7452f0e40149fe2ec92472e386ddcb01d0a44fa764736f6c63430008130033",
45
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205b6f027d1756631abfe0ce0a7452f0e40149fe2ec92472e386ddcb01d0a44fa764736f6c63430008130033",
8
46
  "linkReferences": {},
9
47
  "deployedLinkReferences": {}
10
48
  }
@@ -2,9 +2,41 @@
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "SplitFundsLib",
4
4
  "sourceName": "contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol",
5
- "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208e70ec68856b8339219b235bc6b9836865c16702da3ad262bd11116b87e1429964736f6c63430008130033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208e70ec68856b8339219b235bc6b9836865c16702da3ad262bd11116b87e1429964736f6c63430008130033",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "uint256",
12
+ "name": "projectId",
13
+ "type": "uint256"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "coreContract",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": true,
23
+ "internalType": "address",
24
+ "name": "currencyAddress",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "string",
30
+ "name": "currencySymbol",
31
+ "type": "string"
32
+ }
33
+ ],
34
+ "name": "ProjectCurrencyInfoUpdated",
35
+ "type": "event"
36
+ }
37
+ ],
38
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ab5b0f491f2576faa21f5d946e9db4f2d29d06d95dcde85cd01598b2eaceecde64736f6c63430008130033",
39
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ab5b0f491f2576faa21f5d946e9db4f2d29d06d95dcde85cd01598b2eaceecde64736f6c63430008130033",
8
40
  "linkReferences": {},
9
41
  "deployedLinkReferences": {}
10
42
  }
@@ -2,9 +2,85 @@
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "TokenHolderLib",
4
4
  "sourceName": "contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol",
5
- "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b5174829f85f93f575995398c2b8a7468486478c3bf7ed817d819602dd664a7964736f6c63430008130033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b5174829f85f93f575995398c2b8a7468486478c3bf7ed817d819602dd664a7964736f6c63430008130033",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "uint256",
12
+ "name": "projectId",
13
+ "type": "uint256"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "coreContract",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "address[]",
24
+ "name": "ownedNFTAddresses",
25
+ "type": "address[]"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "uint256[]",
30
+ "name": "ownedNFTProjectIds",
31
+ "type": "uint256[]"
32
+ }
33
+ ],
34
+ "name": "AllowedHoldersOfProjects",
35
+ "type": "event"
36
+ },
37
+ {
38
+ "anonymous": false,
39
+ "inputs": [
40
+ {
41
+ "indexed": false,
42
+ "internalType": "address",
43
+ "name": "delegationRegistry",
44
+ "type": "address"
45
+ }
46
+ ],
47
+ "name": "DelegationRegistryUpdated",
48
+ "type": "event"
49
+ },
50
+ {
51
+ "anonymous": false,
52
+ "inputs": [
53
+ {
54
+ "indexed": true,
55
+ "internalType": "uint256",
56
+ "name": "projectId",
57
+ "type": "uint256"
58
+ },
59
+ {
60
+ "indexed": true,
61
+ "internalType": "address",
62
+ "name": "coreContract",
63
+ "type": "address"
64
+ },
65
+ {
66
+ "indexed": false,
67
+ "internalType": "address[]",
68
+ "name": "ownedNFTAddresses",
69
+ "type": "address[]"
70
+ },
71
+ {
72
+ "indexed": false,
73
+ "internalType": "uint256[]",
74
+ "name": "ownedNFTProjectIds",
75
+ "type": "uint256[]"
76
+ }
77
+ ],
78
+ "name": "RemovedHoldersOfProjects",
79
+ "type": "event"
80
+ }
81
+ ],
82
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122056ccdd6481e8af4279459b65f17406f9c0b047b7f8d86384103273bb564be3b964736f6c63430008130033",
83
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122056ccdd6481e8af4279459b65f17406f9c0b047b7f8d86384103273bb564be3b964736f6c63430008130033",
8
84
  "linkReferences": {},
9
85
  "deployedLinkReferences": {}
10
86
  }
@@ -347,8 +347,8 @@
347
347
  "type": "function"
348
348
  }
349
349
  ],
350
- "bytecode": "0x60c060405234801561001057600080fd5b506040516114ef3803806114ef83398101604081905261002f916100d6565b61003881610079565b6001600160a01b038116608081905260a0526040517f3fad920548ed9f22deb8333b4cc1e4f9bc36666a1c2aa30ad59a0a3bb9dcbb9290600090a150610106565b6001600160a01b0381166100d35760405162461bcd60e51b815260206004820152601b60248201527f4d75737420696e707574206e6f6e2d7a65726f20616464726573730000000000604482015260640160405180910390fd5b50565b6000602082840312156100e857600080fd5b81516001600160a01b03811681146100ff57600080fd5b9392505050565b60805160a0516113af610140600039600081816102e7015281816109b701528181610a9e0152610d1f0152600061016d01526113af6000f3fe608060405234801561001057600080fd5b50600436106100c55760003560e01c80630d4d1513146100ca57806320f2ccb7146100f057806326df17b5146101055780633a3d146f146101255780637136b93e14610158578063718284221461016057806392a10f8314610168578063a409177e146101a7578063b34c5c84146101bc578063bcc0fdf1146101cf578063bee4d106146101e2578063c47d50f5146101f5578063e7300db914610208578063faf0d7451461022a578063ff2505f01461023d575b600080fd5b6100dd6100d8366004611012565b610250565b6040519081526020015b60405180910390f35b6100f861035d565b6040516100e791906110a4565b6100dd6101133660046110b7565b60036020526000908152604090205481565b6101486101333660046110b7565b60046020526000908152604090205460ff1681565b60405190151581526020016100e7565b6100f861037e565b6100dd610392565b61018f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e7565b6101ba6101b53660046110d4565b61039e565b005b6101ba6101ca366004611148565b6103f3565b61018f6101dd366004611148565b610410565b6101ba6101f03660046110b7565b610475565b610148610203366004611148565b61054b565b61021b610216366004611148565b61056a565b6040516100e793929190611161565b6101ba61023836600461118b565b6105ef565b6101ba61024b3660046110b7565b610737565b600061025c818461084f565b6001600160a01b0316336001600160a01b0316146102b85760405162461bcd60e51b815260206004820152601460248201527327b7363c9030b9b9b4b3b732b21036b4b73a32b960611b60448201526064015b60405180910390fd5b604051615de560e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f000000000000000000000000000000000000000000000000000000000000000090911690615de5906064016020604051808303816000875af1158015610330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035491906111bb565b95945050505050565b60606103796d4d696e74657246696c746572563160901b610864565b905090565b60606103796576312e302e3160d01b610864565b600061037960006108cf565b6103ae6352048bbf60e11b6108da565b8060005b818110156103ed576103db8484838181106103cf576103cf6111d4565b9050602002013561092c565b806103e581611200565b9150506103b2565b50505050565b61040481632cd3172160e21b6109a1565b61040d8161092c565b50565b600061041b82610a9c565b6000806104288185610b65565b915091508161046e5760405162461bcd60e51b8152602060048201526012602482015271139bc81b5a5b9d195c88185cdcda59db995960721b60448201526064016102af565b9392505050565b610485635f72688360e11b6108da565b61048e81610b83565b6001600160a01b0381166000818152600460208190526040808320805460ff191660011790558051633a747a2b60e21b815290517f1ac09d1079d96f19b763467642c3c3b4e36b56222414f4a4a50f26c7011147bb93859363e9d1e8ac938082019391908290030181865afa15801561050b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610533919081019061122f565b60405161054091906110a4565b60405180910390a250565b600061055682610a9c565b60006105628184610b65565b509392505050565b60008060606105798285610bd7565b8093508194505050816001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e7919081019061122f565b929491935050565b6106008263faf0d74560e01b6109a1565b61060981610be6565b61061282610a9c565b60008061061f8185610b65565b915091508115610653576001600160a01b038116600090815260036020526040812080549161064d836112db565b91905055505b6001600160a01b038316600090815260036020526040812080549161067783611200565b90915550610689905060008585610c58565b50826001600160a01b0316847f21fd9bfc68d8bc4b740ebf996aa9c255d1e6bb474f81dc2ad577d5d3c5a5e1e0856001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261071c919081019061122f565b60405161072991906110a4565b60405180910390a350505050565b61074a6001620dafa160e41b03196108da565b6001600160a01b03811660009081526004602052604090205460ff166107aa5760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920617070726f766564206d696e7465727360581b60448201526064016102af565b6001600160a01b038116600090815260036020526040902054156108065760405162461bcd60e51b81526020600482015260136024820152724f6e6c7920756e75736564206d696e7465727360681b60448201526064016102af565b6001600160a01b038116600081815260046020526040808220805460ff19169055517f44f4322f8daa225d5f4877ad0f7d3dfba248a774396f3ca99405ed40a044fe819190a250565b600061085b8383610c76565b90505b92915050565b606060005b828160ff166020811061087e5761087e6111d4565b1a60f81b6001600160f81b0319161580159061089d575060208160ff16105b156108b457806108ac816112f2565b915050610869565b60405191506040820160405280825282602083015250919050565b600061085e82610ce6565b6108e381610cf1565b61040d5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016102af565b6003600061093a818461084f565b6001600160a01b0316815260208101919091526040016000908120805491610961836112db565b909155506109729050600082610d94565b5060405181907f15267d34078ead35bc0303f6cdd08f99b837bdfcd7fab97fca4c58f3d85d760590600090a250565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190611311565b6001600160a01b0316336001600160a01b03161480610a4d5750610a4d81610cf1565b610a985760405162461bcd60e51b815260206004820152601c60248201527b13db9b1e4810dbdc994810591b5a5b9050d3081bdc88105c9d1a5cdd60221b60448201526064016102af565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e935b7b16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e91906111bb565b811061040d5760405162461bcd60e51b81526020600482015260166024820152754f6e6c79206578697374696e672070726f6a6563747360501b60448201526064016102af565b6000808080610b748686610da0565b909450925050505b9250929050565b6001600160a01b03811661040d5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b60448201526064016102af565b6000808080610b748686610dda565b6001600160a01b03811660009081526004602052604090205460ff1661040d5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920617070726f766564206d696e746572732061726520616c6c6f77656044820152601960fa1b60648201526084016102af565b6000610c6e84846001600160a01b038516610e05565b949350505050565b600081815260028301602052604081205480151580610c9a5750610c9a8484610e22565b61085b5760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016102af565b600061085e82610e2e565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e919061132e565b600061085b8383610e38565b6000818152600283016020526040812054819080610dcf57610dc28585610e22565b925060009150610b7c9050565b600192509050610b7c565b60008080610de88585610e55565b600081815260029690960160205260409095205494959350505050565b60008281526002840160205260408120829055610c6e8484610e61565b600061085b8383610e6d565b600061085e825490565b6000818152600283016020526040812081905561085b8383610e85565b600061085b8383610e91565b600061085b8383610ebb565b6000818152600183016020526040812054151561085b565b600061085b8383610f0a565b6000826000018281548110610ea857610ea86111d4565b9060005260206000200154905092915050565b6000818152600183016020526040812054610f025750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561085e565b50600061085e565b60008181526001830160205260408120548015610ff3576000610f2e600183611350565b8554909150600090610f4290600190611350565b9050818114610fa7576000866000018281548110610f6257610f626111d4565b9060005260206000200154905080876000018481548110610f8557610f856111d4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fb857610fb8611363565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061085e565b600091505061085e565b6001600160a01b038116811461040d57600080fd5b60008060006060848603121561102757600080fd5b833561103281610ffd565b925060208401359150604084013561104981610ffd565b809150509250925092565b60005b8381101561106f578181015183820152602001611057565b50506000910152565b60008151808452611090816020860160208601611054565b601f01601f19169290920160200192915050565b60208152600061085b6020830184611078565b6000602082840312156110c957600080fd5b813561085b81610ffd565b600080602083850312156110e757600080fd5b82356001600160401b03808211156110fe57600080fd5b818501915085601f83011261111257600080fd5b81358181111561112157600080fd5b8660208260051b850101111561113657600080fd5b60209290920196919550909350505050565b60006020828403121561115a57600080fd5b5035919050565b8381526001600160a01b038316602082015260606040820181905260009061035490830184611078565b6000806040838503121561119e57600080fd5b8235915060208301356111b081610ffd565b809150509250929050565b6000602082840312156111cd57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611212576112126111ea565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561124157600080fd5b81516001600160401b038082111561125857600080fd5b818401915084601f83011261126c57600080fd5b81518181111561127e5761127e611219565b604051601f8201601f19908116603f011681019083821181831017156112a6576112a6611219565b816040528281528760208487010111156112bf57600080fd5b6112d0836020830160208801611054565b979650505050505050565b6000816112ea576112ea6111ea565b506000190190565b600060ff821660ff8103611308576113086111ea565b60010192915050565b60006020828403121561132357600080fd5b815161085b81610ffd565b60006020828403121561134057600080fd5b8151801515811461085b57600080fd5b8181038181111561085e5761085e6111ea565b634e487b7160e01b600052603160045260246000fdfea26469706673582212200b2258c0a59771d9cda30e041eeb76b95d1c6b55e587752ce53d54a840e5c73d64736f6c63430008130033",
351
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c55760003560e01c80630d4d1513146100ca57806320f2ccb7146100f057806326df17b5146101055780633a3d146f146101255780637136b93e14610158578063718284221461016057806392a10f8314610168578063a409177e146101a7578063b34c5c84146101bc578063bcc0fdf1146101cf578063bee4d106146101e2578063c47d50f5146101f5578063e7300db914610208578063faf0d7451461022a578063ff2505f01461023d575b600080fd5b6100dd6100d8366004611012565b610250565b6040519081526020015b60405180910390f35b6100f861035d565b6040516100e791906110a4565b6100dd6101133660046110b7565b60036020526000908152604090205481565b6101486101333660046110b7565b60046020526000908152604090205460ff1681565b60405190151581526020016100e7565b6100f861037e565b6100dd610392565b61018f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e7565b6101ba6101b53660046110d4565b61039e565b005b6101ba6101ca366004611148565b6103f3565b61018f6101dd366004611148565b610410565b6101ba6101f03660046110b7565b610475565b610148610203366004611148565b61054b565b61021b610216366004611148565b61056a565b6040516100e793929190611161565b6101ba61023836600461118b565b6105ef565b6101ba61024b3660046110b7565b610737565b600061025c818461084f565b6001600160a01b0316336001600160a01b0316146102b85760405162461bcd60e51b815260206004820152601460248201527327b7363c9030b9b9b4b3b732b21036b4b73a32b960611b60448201526064015b60405180910390fd5b604051615de560e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f000000000000000000000000000000000000000000000000000000000000000090911690615de5906064016020604051808303816000875af1158015610330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035491906111bb565b95945050505050565b60606103796d4d696e74657246696c746572563160901b610864565b905090565b60606103796576312e302e3160d01b610864565b600061037960006108cf565b6103ae6352048bbf60e11b6108da565b8060005b818110156103ed576103db8484838181106103cf576103cf6111d4565b9050602002013561092c565b806103e581611200565b9150506103b2565b50505050565b61040481632cd3172160e21b6109a1565b61040d8161092c565b50565b600061041b82610a9c565b6000806104288185610b65565b915091508161046e5760405162461bcd60e51b8152602060048201526012602482015271139bc81b5a5b9d195c88185cdcda59db995960721b60448201526064016102af565b9392505050565b610485635f72688360e11b6108da565b61048e81610b83565b6001600160a01b0381166000818152600460208190526040808320805460ff191660011790558051633a747a2b60e21b815290517f1ac09d1079d96f19b763467642c3c3b4e36b56222414f4a4a50f26c7011147bb93859363e9d1e8ac938082019391908290030181865afa15801561050b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610533919081019061122f565b60405161054091906110a4565b60405180910390a250565b600061055682610a9c565b60006105628184610b65565b509392505050565b60008060606105798285610bd7565b8093508194505050816001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e7919081019061122f565b929491935050565b6106008263faf0d74560e01b6109a1565b61060981610be6565b61061282610a9c565b60008061061f8185610b65565b915091508115610653576001600160a01b038116600090815260036020526040812080549161064d836112db565b91905055505b6001600160a01b038316600090815260036020526040812080549161067783611200565b90915550610689905060008585610c58565b50826001600160a01b0316847f21fd9bfc68d8bc4b740ebf996aa9c255d1e6bb474f81dc2ad577d5d3c5a5e1e0856001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261071c919081019061122f565b60405161072991906110a4565b60405180910390a350505050565b61074a6001620dafa160e41b03196108da565b6001600160a01b03811660009081526004602052604090205460ff166107aa5760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920617070726f766564206d696e7465727360581b60448201526064016102af565b6001600160a01b038116600090815260036020526040902054156108065760405162461bcd60e51b81526020600482015260136024820152724f6e6c7920756e75736564206d696e7465727360681b60448201526064016102af565b6001600160a01b038116600081815260046020526040808220805460ff19169055517f44f4322f8daa225d5f4877ad0f7d3dfba248a774396f3ca99405ed40a044fe819190a250565b600061085b8383610c76565b90505b92915050565b606060005b828160ff166020811061087e5761087e6111d4565b1a60f81b6001600160f81b0319161580159061089d575060208160ff16105b156108b457806108ac816112f2565b915050610869565b60405191506040820160405280825282602083015250919050565b600061085e82610ce6565b6108e381610cf1565b61040d5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016102af565b6003600061093a818461084f565b6001600160a01b0316815260208101919091526040016000908120805491610961836112db565b909155506109729050600082610d94565b5060405181907f15267d34078ead35bc0303f6cdd08f99b837bdfcd7fab97fca4c58f3d85d760590600090a250565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190611311565b6001600160a01b0316336001600160a01b03161480610a4d5750610a4d81610cf1565b610a985760405162461bcd60e51b815260206004820152601c60248201527b13db9b1e4810dbdc994810591b5a5b9050d3081bdc88105c9d1a5cdd60221b60448201526064016102af565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e935b7b16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e91906111bb565b811061040d5760405162461bcd60e51b81526020600482015260166024820152754f6e6c79206578697374696e672070726f6a6563747360501b60448201526064016102af565b6000808080610b748686610da0565b909450925050505b9250929050565b6001600160a01b03811661040d5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b60448201526064016102af565b6000808080610b748686610dda565b6001600160a01b03811660009081526004602052604090205460ff1661040d5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920617070726f766564206d696e746572732061726520616c6c6f77656044820152601960fa1b60648201526084016102af565b6000610c6e84846001600160a01b038516610e05565b949350505050565b600081815260028301602052604081205480151580610c9a5750610c9a8484610e22565b61085b5760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016102af565b600061085e82610e2e565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e919061132e565b600061085b8383610e38565b6000818152600283016020526040812054819080610dcf57610dc28585610e22565b925060009150610b7c9050565b600192509050610b7c565b60008080610de88585610e55565b600081815260029690960160205260409095205494959350505050565b60008281526002840160205260408120829055610c6e8484610e61565b600061085b8383610e6d565b600061085e825490565b6000818152600283016020526040812081905561085b8383610e85565b600061085b8383610e91565b600061085b8383610ebb565b6000818152600183016020526040812054151561085b565b600061085b8383610f0a565b6000826000018281548110610ea857610ea86111d4565b9060005260206000200154905092915050565b6000818152600183016020526040812054610f025750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561085e565b50600061085e565b60008181526001830160205260408120548015610ff3576000610f2e600183611350565b8554909150600090610f4290600190611350565b9050818114610fa7576000866000018281548110610f6257610f626111d4565b9060005260206000200154905080876000018481548110610f8557610f856111d4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fb857610fb8611363565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061085e565b600091505061085e565b6001600160a01b038116811461040d57600080fd5b60008060006060848603121561102757600080fd5b833561103281610ffd565b925060208401359150604084013561104981610ffd565b809150509250925092565b60005b8381101561106f578181015183820152602001611057565b50506000910152565b60008151808452611090816020860160208601611054565b601f01601f19169290920160200192915050565b60208152600061085b6020830184611078565b6000602082840312156110c957600080fd5b813561085b81610ffd565b600080602083850312156110e757600080fd5b82356001600160401b03808211156110fe57600080fd5b818501915085601f83011261111257600080fd5b81358181111561112157600080fd5b8660208260051b850101111561113657600080fd5b60209290920196919550909350505050565b60006020828403121561115a57600080fd5b5035919050565b8381526001600160a01b038316602082015260606040820181905260009061035490830184611078565b6000806040838503121561119e57600080fd5b8235915060208301356111b081610ffd565b809150509250929050565b6000602082840312156111cd57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611212576112126111ea565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561124157600080fd5b81516001600160401b038082111561125857600080fd5b818401915084601f83011261126c57600080fd5b81518181111561127e5761127e611219565b604051601f8201601f19908116603f011681019083821181831017156112a6576112a6611219565b816040528281528760208487010111156112bf57600080fd5b6112d0836020830160208801611054565b979650505050505050565b6000816112ea576112ea6111ea565b506000190190565b600060ff821660ff8103611308576113086111ea565b60010192915050565b60006020828403121561132357600080fd5b815161085b81610ffd565b60006020828403121561134057600080fd5b8151801515811461085b57600080fd5b8181038181111561085e5761085e6111ea565b634e487b7160e01b600052603160045260246000fdfea26469706673582212200b2258c0a59771d9cda30e041eeb76b95d1c6b55e587752ce53d54a840e5c73d64736f6c63430008130033",
350
+ "bytecode": "0x60c060405234801561001057600080fd5b506040516114ef3803806114ef83398101604081905261002f916100d6565b61003881610079565b6001600160a01b038116608081905260a0526040517f3fad920548ed9f22deb8333b4cc1e4f9bc36666a1c2aa30ad59a0a3bb9dcbb9290600090a150610106565b6001600160a01b0381166100d35760405162461bcd60e51b815260206004820152601b60248201527f4d75737420696e707574206e6f6e2d7a65726f20616464726573730000000000604482015260640160405180910390fd5b50565b6000602082840312156100e857600080fd5b81516001600160a01b03811681146100ff57600080fd5b9392505050565b60805160a0516113af610140600039600081816102e7015281816109b701528181610a9e0152610d1f0152600061016d01526113af6000f3fe608060405234801561001057600080fd5b50600436106100c55760003560e01c80630d4d1513146100ca57806320f2ccb7146100f057806326df17b5146101055780633a3d146f146101255780637136b93e14610158578063718284221461016057806392a10f8314610168578063a409177e146101a7578063b34c5c84146101bc578063bcc0fdf1146101cf578063bee4d106146101e2578063c47d50f5146101f5578063e7300db914610208578063faf0d7451461022a578063ff2505f01461023d575b600080fd5b6100dd6100d8366004611012565b610250565b6040519081526020015b60405180910390f35b6100f861035d565b6040516100e791906110a4565b6100dd6101133660046110b7565b60036020526000908152604090205481565b6101486101333660046110b7565b60046020526000908152604090205460ff1681565b60405190151581526020016100e7565b6100f861037e565b6100dd610392565b61018f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e7565b6101ba6101b53660046110d4565b61039e565b005b6101ba6101ca366004611148565b6103f3565b61018f6101dd366004611148565b610410565b6101ba6101f03660046110b7565b610475565b610148610203366004611148565b61054b565b61021b610216366004611148565b61056a565b6040516100e793929190611161565b6101ba61023836600461118b565b6105ef565b6101ba61024b3660046110b7565b610737565b600061025c818461084f565b6001600160a01b0316336001600160a01b0316146102b85760405162461bcd60e51b815260206004820152601460248201527327b7363c9030b9b9b4b3b732b21036b4b73a32b960611b60448201526064015b60405180910390fd5b604051615de560e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f000000000000000000000000000000000000000000000000000000000000000090911690615de5906064016020604051808303816000875af1158015610330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035491906111bb565b95945050505050565b60606103796d4d696e74657246696c746572563160901b610864565b905090565b60606103796576312e302e3160d01b610864565b600061037960006108cf565b6103ae6352048bbf60e11b6108da565b8060005b818110156103ed576103db8484838181106103cf576103cf6111d4565b9050602002013561092c565b806103e581611200565b9150506103b2565b50505050565b61040481632cd3172160e21b6109a1565b61040d8161092c565b50565b600061041b82610a9c565b6000806104288185610b65565b915091508161046e5760405162461bcd60e51b8152602060048201526012602482015271139bc81b5a5b9d195c88185cdcda59db995960721b60448201526064016102af565b9392505050565b610485635f72688360e11b6108da565b61048e81610b83565b6001600160a01b0381166000818152600460208190526040808320805460ff191660011790558051633a747a2b60e21b815290517f1ac09d1079d96f19b763467642c3c3b4e36b56222414f4a4a50f26c7011147bb93859363e9d1e8ac938082019391908290030181865afa15801561050b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610533919081019061122f565b60405161054091906110a4565b60405180910390a250565b600061055682610a9c565b60006105628184610b65565b509392505050565b60008060606105798285610bd7565b8093508194505050816001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e7919081019061122f565b929491935050565b6106008263faf0d74560e01b6109a1565b61060981610be6565b61061282610a9c565b60008061061f8185610b65565b915091508115610653576001600160a01b038116600090815260036020526040812080549161064d836112db565b91905055505b6001600160a01b038316600090815260036020526040812080549161067783611200565b90915550610689905060008585610c58565b50826001600160a01b0316847f21fd9bfc68d8bc4b740ebf996aa9c255d1e6bb474f81dc2ad577d5d3c5a5e1e0856001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261071c919081019061122f565b60405161072991906110a4565b60405180910390a350505050565b61074a6001620dafa160e41b03196108da565b6001600160a01b03811660009081526004602052604090205460ff166107aa5760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920617070726f766564206d696e7465727360581b60448201526064016102af565b6001600160a01b038116600090815260036020526040902054156108065760405162461bcd60e51b81526020600482015260136024820152724f6e6c7920756e75736564206d696e7465727360681b60448201526064016102af565b6001600160a01b038116600081815260046020526040808220805460ff19169055517f44f4322f8daa225d5f4877ad0f7d3dfba248a774396f3ca99405ed40a044fe819190a250565b600061085b8383610c76565b90505b92915050565b606060005b828160ff166020811061087e5761087e6111d4565b1a60f81b6001600160f81b0319161580159061089d575060208160ff16105b156108b457806108ac816112f2565b915050610869565b60405191506040820160405280825282602083015250919050565b600061085e82610ce6565b6108e381610cf1565b61040d5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016102af565b6003600061093a818461084f565b6001600160a01b0316815260208101919091526040016000908120805491610961836112db565b909155506109729050600082610d94565b5060405181907f15267d34078ead35bc0303f6cdd08f99b837bdfcd7fab97fca4c58f3d85d760590600090a250565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190611311565b6001600160a01b0316336001600160a01b03161480610a4d5750610a4d81610cf1565b610a985760405162461bcd60e51b815260206004820152601c60248201527b13db9b1e4810dbdc994810591b5a5b9050d3081bdc88105c9d1a5cdd60221b60448201526064016102af565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e935b7b16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e91906111bb565b811061040d5760405162461bcd60e51b81526020600482015260166024820152754f6e6c79206578697374696e672070726f6a6563747360501b60448201526064016102af565b6000808080610b748686610da0565b909450925050505b9250929050565b6001600160a01b03811661040d5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b60448201526064016102af565b6000808080610b748686610dda565b6001600160a01b03811660009081526004602052604090205460ff1661040d5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920617070726f766564206d696e746572732061726520616c6c6f77656044820152601960fa1b60648201526084016102af565b6000610c6e84846001600160a01b038516610e05565b949350505050565b600081815260028301602052604081205480151580610c9a5750610c9a8484610e22565b61085b5760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016102af565b600061085e82610e2e565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e919061132e565b600061085b8383610e38565b6000818152600283016020526040812054819080610dcf57610dc28585610e22565b925060009150610b7c9050565b600192509050610b7c565b60008080610de88585610e55565b600081815260029690960160205260409095205494959350505050565b60008281526002840160205260408120829055610c6e8484610e61565b600061085b8383610e6d565b600061085e825490565b6000818152600283016020526040812081905561085b8383610e85565b600061085b8383610e91565b600061085b8383610ebb565b6000818152600183016020526040812054151561085b565b600061085b8383610f0a565b6000826000018281548110610ea857610ea86111d4565b9060005260206000200154905092915050565b6000818152600183016020526040812054610f025750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561085e565b50600061085e565b60008181526001830160205260408120548015610ff3576000610f2e600183611350565b8554909150600090610f4290600190611350565b9050818114610fa7576000866000018281548110610f6257610f626111d4565b9060005260206000200154905080876000018481548110610f8557610f856111d4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fb857610fb8611363565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061085e565b600091505061085e565b6001600160a01b038116811461040d57600080fd5b60008060006060848603121561102757600080fd5b833561103281610ffd565b925060208401359150604084013561104981610ffd565b809150509250925092565b60005b8381101561106f578181015183820152602001611057565b50506000910152565b60008151808452611090816020860160208601611054565b601f01601f19169290920160200192915050565b60208152600061085b6020830184611078565b6000602082840312156110c957600080fd5b813561085b81610ffd565b600080602083850312156110e757600080fd5b82356001600160401b03808211156110fe57600080fd5b818501915085601f83011261111257600080fd5b81358181111561112157600080fd5b8660208260051b850101111561113657600080fd5b60209290920196919550909350505050565b60006020828403121561115a57600080fd5b5035919050565b8381526001600160a01b038316602082015260606040820181905260009061035490830184611078565b6000806040838503121561119e57600080fd5b8235915060208301356111b081610ffd565b809150509250929050565b6000602082840312156111cd57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611212576112126111ea565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561124157600080fd5b81516001600160401b038082111561125857600080fd5b818401915084601f83011261126c57600080fd5b81518181111561127e5761127e611219565b604051601f8201601f19908116603f011681019083821181831017156112a6576112a6611219565b816040528281528760208487010111156112bf57600080fd5b6112d0836020830160208801611054565b979650505050505050565b6000816112ea576112ea6111ea565b506000190190565b600060ff821660ff8103611308576113086111ea565b60010192915050565b60006020828403121561132357600080fd5b815161085b81610ffd565b60006020828403121561134057600080fd5b8151801515811461085b57600080fd5b8181038181111561085e5761085e6111ea565b634e487b7160e01b600052603160045260246000fdfea26469706673582212202493c00e469785cbb95c7b12af9d0b2d909f813b234981e3f84e11233a96837864736f6c63430008130033",
351
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c55760003560e01c80630d4d1513146100ca57806320f2ccb7146100f057806326df17b5146101055780633a3d146f146101255780637136b93e14610158578063718284221461016057806392a10f8314610168578063a409177e146101a7578063b34c5c84146101bc578063bcc0fdf1146101cf578063bee4d106146101e2578063c47d50f5146101f5578063e7300db914610208578063faf0d7451461022a578063ff2505f01461023d575b600080fd5b6100dd6100d8366004611012565b610250565b6040519081526020015b60405180910390f35b6100f861035d565b6040516100e791906110a4565b6100dd6101133660046110b7565b60036020526000908152604090205481565b6101486101333660046110b7565b60046020526000908152604090205460ff1681565b60405190151581526020016100e7565b6100f861037e565b6100dd610392565b61018f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e7565b6101ba6101b53660046110d4565b61039e565b005b6101ba6101ca366004611148565b6103f3565b61018f6101dd366004611148565b610410565b6101ba6101f03660046110b7565b610475565b610148610203366004611148565b61054b565b61021b610216366004611148565b61056a565b6040516100e793929190611161565b6101ba61023836600461118b565b6105ef565b6101ba61024b3660046110b7565b610737565b600061025c818461084f565b6001600160a01b0316336001600160a01b0316146102b85760405162461bcd60e51b815260206004820152601460248201527327b7363c9030b9b9b4b3b732b21036b4b73a32b960611b60448201526064015b60405180910390fd5b604051615de560e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f000000000000000000000000000000000000000000000000000000000000000090911690615de5906064016020604051808303816000875af1158015610330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035491906111bb565b95945050505050565b60606103796d4d696e74657246696c746572563160901b610864565b905090565b60606103796576312e302e3160d01b610864565b600061037960006108cf565b6103ae6352048bbf60e11b6108da565b8060005b818110156103ed576103db8484838181106103cf576103cf6111d4565b9050602002013561092c565b806103e581611200565b9150506103b2565b50505050565b61040481632cd3172160e21b6109a1565b61040d8161092c565b50565b600061041b82610a9c565b6000806104288185610b65565b915091508161046e5760405162461bcd60e51b8152602060048201526012602482015271139bc81b5a5b9d195c88185cdcda59db995960721b60448201526064016102af565b9392505050565b610485635f72688360e11b6108da565b61048e81610b83565b6001600160a01b0381166000818152600460208190526040808320805460ff191660011790558051633a747a2b60e21b815290517f1ac09d1079d96f19b763467642c3c3b4e36b56222414f4a4a50f26c7011147bb93859363e9d1e8ac938082019391908290030181865afa15801561050b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610533919081019061122f565b60405161054091906110a4565b60405180910390a250565b600061055682610a9c565b60006105628184610b65565b509392505050565b60008060606105798285610bd7565b8093508194505050816001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e7919081019061122f565b929491935050565b6106008263faf0d74560e01b6109a1565b61060981610be6565b61061282610a9c565b60008061061f8185610b65565b915091508115610653576001600160a01b038116600090815260036020526040812080549161064d836112db565b91905055505b6001600160a01b038316600090815260036020526040812080549161067783611200565b90915550610689905060008585610c58565b50826001600160a01b0316847f21fd9bfc68d8bc4b740ebf996aa9c255d1e6bb474f81dc2ad577d5d3c5a5e1e0856001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261071c919081019061122f565b60405161072991906110a4565b60405180910390a350505050565b61074a6001620dafa160e41b03196108da565b6001600160a01b03811660009081526004602052604090205460ff166107aa5760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920617070726f766564206d696e7465727360581b60448201526064016102af565b6001600160a01b038116600090815260036020526040902054156108065760405162461bcd60e51b81526020600482015260136024820152724f6e6c7920756e75736564206d696e7465727360681b60448201526064016102af565b6001600160a01b038116600081815260046020526040808220805460ff19169055517f44f4322f8daa225d5f4877ad0f7d3dfba248a774396f3ca99405ed40a044fe819190a250565b600061085b8383610c76565b90505b92915050565b606060005b828160ff166020811061087e5761087e6111d4565b1a60f81b6001600160f81b0319161580159061089d575060208160ff16105b156108b457806108ac816112f2565b915050610869565b60405191506040820160405280825282602083015250919050565b600061085e82610ce6565b6108e381610cf1565b61040d5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016102af565b6003600061093a818461084f565b6001600160a01b0316815260208101919091526040016000908120805491610961836112db565b909155506109729050600082610d94565b5060405181907f15267d34078ead35bc0303f6cdd08f99b837bdfcd7fab97fca4c58f3d85d760590600090a250565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190611311565b6001600160a01b0316336001600160a01b03161480610a4d5750610a4d81610cf1565b610a985760405162461bcd60e51b815260206004820152601c60248201527b13db9b1e4810dbdc994810591b5a5b9050d3081bdc88105c9d1a5cdd60221b60448201526064016102af565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e935b7b16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e91906111bb565b811061040d5760405162461bcd60e51b81526020600482015260166024820152754f6e6c79206578697374696e672070726f6a6563747360501b60448201526064016102af565b6000808080610b748686610da0565b909450925050505b9250929050565b6001600160a01b03811661040d5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b60448201526064016102af565b6000808080610b748686610dda565b6001600160a01b03811660009081526004602052604090205460ff1661040d5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920617070726f766564206d696e746572732061726520616c6c6f77656044820152601960fa1b60648201526084016102af565b6000610c6e84846001600160a01b038516610e05565b949350505050565b600081815260028301602052604081205480151580610c9a5750610c9a8484610e22565b61085b5760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016102af565b600061085e82610e2e565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e919061132e565b600061085b8383610e38565b6000818152600283016020526040812054819080610dcf57610dc28585610e22565b925060009150610b7c9050565b600192509050610b7c565b60008080610de88585610e55565b600081815260029690960160205260409095205494959350505050565b60008281526002840160205260408120829055610c6e8484610e61565b600061085b8383610e6d565b600061085e825490565b6000818152600283016020526040812081905561085b8383610e85565b600061085b8383610e91565b600061085b8383610ebb565b6000818152600183016020526040812054151561085b565b600061085b8383610f0a565b6000826000018281548110610ea857610ea86111d4565b9060005260206000200154905092915050565b6000818152600183016020526040812054610f025750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561085e565b50600061085e565b60008181526001830160205260408120548015610ff3576000610f2e600183611350565b8554909150600090610f4290600190611350565b9050818114610fa7576000866000018281548110610f6257610f626111d4565b9060005260206000200154905080876000018481548110610f8557610f856111d4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fb857610fb8611363565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061085e565b600091505061085e565b6001600160a01b038116811461040d57600080fd5b60008060006060848603121561102757600080fd5b833561103281610ffd565b925060208401359150604084013561104981610ffd565b809150509250925092565b60005b8381101561106f578181015183820152602001611057565b50506000910152565b60008151808452611090816020860160208601611054565b601f01601f19169290920160200192915050565b60208152600061085b6020830184611078565b6000602082840312156110c957600080fd5b813561085b81610ffd565b600080602083850312156110e757600080fd5b82356001600160401b03808211156110fe57600080fd5b818501915085601f83011261111257600080fd5b81358181111561112157600080fd5b8660208260051b850101111561113657600080fd5b60209290920196919550909350505050565b60006020828403121561115a57600080fd5b5035919050565b8381526001600160a01b038316602082015260606040820181905260009061035490830184611078565b6000806040838503121561119e57600080fd5b8235915060208301356111b081610ffd565b809150509250929050565b6000602082840312156111cd57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611212576112126111ea565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561124157600080fd5b81516001600160401b038082111561125857600080fd5b818401915084601f83011261126c57600080fd5b81518181111561127e5761127e611219565b604051601f8201601f19908116603f011681019083821181831017156112a6576112a6611219565b816040528281528760208487010111156112bf57600080fd5b6112d0836020830160208801611054565b979650505050505050565b6000816112ea576112ea6111ea565b506000190190565b600060ff821660ff8103611308576113086111ea565b60010192915050565b60006020828403121561132357600080fd5b815161085b81610ffd565b60006020828403121561134057600080fd5b8151801515811461085b57600080fd5b8181038181111561085e5761085e6111ea565b634e487b7160e01b600052603160045260246000fdfea26469706673582212202493c00e469785cbb95c7b12af9d0b2d909f813b234981e3f84e11233a96837864736f6c63430008130033",
352
352
  "linkReferences": {},
353
353
  "deployedLinkReferences": {}
354
354
  }