@artblocks/contracts 1.0.0 → 1.0.2

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 (106) hide show
  1. package/.env.example +8 -1
  2. package/README.md +44 -165
  3. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  4. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +2 -2
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +2 -2
  6. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +2 -2
  7. package/artifacts/contracts/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2229 -0
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +2 -2
  10. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  13. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +3 -3
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol/MinterSetPriceV1.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +2 -2
  33. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  34. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  35. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2 -2
  36. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +767 -0
  37. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +1032 -0
  38. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +149 -0
  39. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +149 -0
  40. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +130 -0
  41. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +1066 -0
  42. package/artifacts/contracts/interfaces/0.8.x/IMinterFilterV0.sol/IMinterFilterV0.json +6 -0
  43. package/artifacts/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol/IRandomizerPolyptychV0.json +87 -0
  44. package/artifacts/contracts/interfaces/0.8.x/IRandomizerV2.sol/IRandomizerV2.json +1 -1
  45. package/artifacts/contracts/interfaces/0.8.x/IWETH.sol/IWETH.json +55 -0
  46. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +295 -0
  47. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.json +8 -2
  48. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +34 -2
  49. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +1127 -0
  50. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +15 -2
  51. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +15 -2
  52. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +15 -2
  53. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +15 -2
  54. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +792 -0
  55. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +1268 -0
  56. package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +1310 -0
  57. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +15 -2
  58. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +15 -2
  59. package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +33 -0
  60. package/artifacts/contracts/mock/GasLimitReceiverBidderMock.sol/GasLimitReceiverBidderMock.json +46 -0
  61. package/artifacts/contracts/mock/GasLimitReceiverMock.sol/GasLimitReceiverMock.json +28 -0
  62. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
  63. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +3 -3
  64. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +51 -0
  65. package/artifacts/contracts/{BasicRandomizer.sol → randomizer/BasicRandomizer.sol}/BasicRandomizer.json +3 -3
  66. package/artifacts/contracts/randomizer/BasicRandomizerBase_v0_0_0.sol/RandomizerBase.json +10 -0
  67. package/artifacts/contracts/randomizer/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +229 -0
  68. package/artifacts/contracts/randomizer/RandomizerV2.sol/BasicRandomizerV2.json +102 -0
  69. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
  70. package/contracts/DependencyRegistryV0.sol +74 -113
  71. package/contracts/GenArt721CoreV3.sol +124 -171
  72. package/contracts/GenArt721CoreV3_Engine.sol +136 -198
  73. package/contracts/GenArt721CoreV3_Engine_Flex.sol +2274 -0
  74. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV1.sol +4 -4
  75. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +147 -176
  76. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV1.sol +21 -0
  77. package/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol +145 -0
  78. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol +39 -0
  79. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol +0 -3
  80. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +132 -0
  81. package/contracts/interfaces/0.8.x/IMinterFilterV0.sol +6 -0
  82. package/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol +31 -0
  83. package/contracts/interfaces/0.8.x/IRandomizerV2.sol +5 -2
  84. package/contracts/interfaces/0.8.x/IWETH.sol +11 -0
  85. package/contracts/libs/integration-refs/weth9/weth9.sol +763 -0
  86. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +53 -47
  87. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +1304 -0
  88. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +47 -24
  89. package/contracts/minter-suite/Minters/MinterDALinV4.sol +46 -21
  90. package/contracts/minter-suite/Minters/MinterHolderV4.sol +54 -25
  91. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +47 -20
  92. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +998 -0
  93. package/contracts/minter-suite/Minters/MinterSEAV0.sol +1224 -0
  94. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +45 -16
  95. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +40 -13
  96. package/contracts/mock/DeadReceiverBidderMock.sol +23 -0
  97. package/contracts/mock/GasLimitReceiverBidderMock.sol +23 -0
  98. package/contracts/mock/GasLimitReceiverMock.sol +19 -0
  99. package/contracts/mock/RandomizerV2_NoAssignMock.sol +2 -11
  100. package/contracts/mock/ReentrancySEAMock.sol +36 -0
  101. package/contracts/{BasicRandomizer.sol → randomizer/BasicRandomizer.sol} +1 -1
  102. package/contracts/randomizer/BasicRandomizerBase_v0_0_0.sol +23 -0
  103. package/contracts/randomizer/PolyptychRandomizerV0.sol +117 -0
  104. package/contracts/{BasicRandomizerV2.sol → randomizer/RandomizerV2.sol} +7 -15
  105. package/package.json +32 -13
  106. package/artifacts/contracts/BasicRandomizerV2.sol/BasicRandomizerV2.json +0 -102
@@ -0,0 +1,1127 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MinterDAExpSettlementV2",
4
+ "sourceName": "contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_genArt721Address",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_minterFilter",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": true,
27
+ "internalType": "uint256",
28
+ "name": "_projectId",
29
+ "type": "uint256"
30
+ }
31
+ ],
32
+ "name": "ArtistAndAdminRevenuesWithdrawn",
33
+ "type": "event"
34
+ },
35
+ {
36
+ "anonymous": false,
37
+ "inputs": [
38
+ {
39
+ "indexed": false,
40
+ "internalType": "uint256",
41
+ "name": "_minimumPriceDecayHalfLifeSeconds",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "indexed": false,
46
+ "internalType": "uint256",
47
+ "name": "_maximumPriceDecayHalfLifeSeconds",
48
+ "type": "uint256"
49
+ }
50
+ ],
51
+ "name": "AuctionHalfLifeRangeSecondsUpdated",
52
+ "type": "event"
53
+ },
54
+ {
55
+ "anonymous": false,
56
+ "inputs": [
57
+ {
58
+ "indexed": true,
59
+ "internalType": "uint256",
60
+ "name": "_projectId",
61
+ "type": "uint256"
62
+ },
63
+ {
64
+ "indexed": false,
65
+ "internalType": "bytes32",
66
+ "name": "_key",
67
+ "type": "bytes32"
68
+ }
69
+ ],
70
+ "name": "ConfigKeyRemoved",
71
+ "type": "event"
72
+ },
73
+ {
74
+ "anonymous": false,
75
+ "inputs": [
76
+ {
77
+ "indexed": true,
78
+ "internalType": "uint256",
79
+ "name": "_projectId",
80
+ "type": "uint256"
81
+ },
82
+ {
83
+ "indexed": false,
84
+ "internalType": "bytes32",
85
+ "name": "_key",
86
+ "type": "bytes32"
87
+ },
88
+ {
89
+ "indexed": false,
90
+ "internalType": "uint256",
91
+ "name": "_value",
92
+ "type": "uint256"
93
+ }
94
+ ],
95
+ "name": "ConfigValueAddedToSet",
96
+ "type": "event"
97
+ },
98
+ {
99
+ "anonymous": false,
100
+ "inputs": [
101
+ {
102
+ "indexed": true,
103
+ "internalType": "uint256",
104
+ "name": "_projectId",
105
+ "type": "uint256"
106
+ },
107
+ {
108
+ "indexed": false,
109
+ "internalType": "bytes32",
110
+ "name": "_key",
111
+ "type": "bytes32"
112
+ },
113
+ {
114
+ "indexed": false,
115
+ "internalType": "address",
116
+ "name": "_value",
117
+ "type": "address"
118
+ }
119
+ ],
120
+ "name": "ConfigValueAddedToSet",
121
+ "type": "event"
122
+ },
123
+ {
124
+ "anonymous": false,
125
+ "inputs": [
126
+ {
127
+ "indexed": true,
128
+ "internalType": "uint256",
129
+ "name": "_projectId",
130
+ "type": "uint256"
131
+ },
132
+ {
133
+ "indexed": false,
134
+ "internalType": "bytes32",
135
+ "name": "_key",
136
+ "type": "bytes32"
137
+ },
138
+ {
139
+ "indexed": false,
140
+ "internalType": "bytes32",
141
+ "name": "_value",
142
+ "type": "bytes32"
143
+ }
144
+ ],
145
+ "name": "ConfigValueAddedToSet",
146
+ "type": "event"
147
+ },
148
+ {
149
+ "anonymous": false,
150
+ "inputs": [
151
+ {
152
+ "indexed": true,
153
+ "internalType": "uint256",
154
+ "name": "_projectId",
155
+ "type": "uint256"
156
+ },
157
+ {
158
+ "indexed": false,
159
+ "internalType": "bytes32",
160
+ "name": "_key",
161
+ "type": "bytes32"
162
+ },
163
+ {
164
+ "indexed": false,
165
+ "internalType": "uint256",
166
+ "name": "_value",
167
+ "type": "uint256"
168
+ }
169
+ ],
170
+ "name": "ConfigValueRemovedFromSet",
171
+ "type": "event"
172
+ },
173
+ {
174
+ "anonymous": false,
175
+ "inputs": [
176
+ {
177
+ "indexed": true,
178
+ "internalType": "uint256",
179
+ "name": "_projectId",
180
+ "type": "uint256"
181
+ },
182
+ {
183
+ "indexed": false,
184
+ "internalType": "bytes32",
185
+ "name": "_key",
186
+ "type": "bytes32"
187
+ },
188
+ {
189
+ "indexed": false,
190
+ "internalType": "address",
191
+ "name": "_value",
192
+ "type": "address"
193
+ }
194
+ ],
195
+ "name": "ConfigValueRemovedFromSet",
196
+ "type": "event"
197
+ },
198
+ {
199
+ "anonymous": false,
200
+ "inputs": [
201
+ {
202
+ "indexed": true,
203
+ "internalType": "uint256",
204
+ "name": "_projectId",
205
+ "type": "uint256"
206
+ },
207
+ {
208
+ "indexed": false,
209
+ "internalType": "bytes32",
210
+ "name": "_key",
211
+ "type": "bytes32"
212
+ },
213
+ {
214
+ "indexed": false,
215
+ "internalType": "bytes32",
216
+ "name": "_value",
217
+ "type": "bytes32"
218
+ }
219
+ ],
220
+ "name": "ConfigValueRemovedFromSet",
221
+ "type": "event"
222
+ },
223
+ {
224
+ "anonymous": false,
225
+ "inputs": [
226
+ {
227
+ "indexed": true,
228
+ "internalType": "uint256",
229
+ "name": "_projectId",
230
+ "type": "uint256"
231
+ },
232
+ {
233
+ "indexed": false,
234
+ "internalType": "bytes32",
235
+ "name": "_key",
236
+ "type": "bytes32"
237
+ },
238
+ {
239
+ "indexed": false,
240
+ "internalType": "bool",
241
+ "name": "_value",
242
+ "type": "bool"
243
+ }
244
+ ],
245
+ "name": "ConfigValueSet",
246
+ "type": "event"
247
+ },
248
+ {
249
+ "anonymous": false,
250
+ "inputs": [
251
+ {
252
+ "indexed": true,
253
+ "internalType": "uint256",
254
+ "name": "_projectId",
255
+ "type": "uint256"
256
+ },
257
+ {
258
+ "indexed": false,
259
+ "internalType": "bytes32",
260
+ "name": "_key",
261
+ "type": "bytes32"
262
+ },
263
+ {
264
+ "indexed": false,
265
+ "internalType": "uint256",
266
+ "name": "_value",
267
+ "type": "uint256"
268
+ }
269
+ ],
270
+ "name": "ConfigValueSet",
271
+ "type": "event"
272
+ },
273
+ {
274
+ "anonymous": false,
275
+ "inputs": [
276
+ {
277
+ "indexed": true,
278
+ "internalType": "uint256",
279
+ "name": "_projectId",
280
+ "type": "uint256"
281
+ },
282
+ {
283
+ "indexed": false,
284
+ "internalType": "bytes32",
285
+ "name": "_key",
286
+ "type": "bytes32"
287
+ },
288
+ {
289
+ "indexed": false,
290
+ "internalType": "address",
291
+ "name": "_value",
292
+ "type": "address"
293
+ }
294
+ ],
295
+ "name": "ConfigValueSet",
296
+ "type": "event"
297
+ },
298
+ {
299
+ "anonymous": false,
300
+ "inputs": [
301
+ {
302
+ "indexed": true,
303
+ "internalType": "uint256",
304
+ "name": "_projectId",
305
+ "type": "uint256"
306
+ },
307
+ {
308
+ "indexed": false,
309
+ "internalType": "bytes32",
310
+ "name": "_key",
311
+ "type": "bytes32"
312
+ },
313
+ {
314
+ "indexed": false,
315
+ "internalType": "bytes32",
316
+ "name": "_value",
317
+ "type": "bytes32"
318
+ }
319
+ ],
320
+ "name": "ConfigValueSet",
321
+ "type": "event"
322
+ },
323
+ {
324
+ "anonymous": false,
325
+ "inputs": [
326
+ {
327
+ "indexed": true,
328
+ "internalType": "uint256",
329
+ "name": "_projectId",
330
+ "type": "uint256"
331
+ },
332
+ {
333
+ "indexed": true,
334
+ "internalType": "uint256",
335
+ "name": "_pricePerTokenInWei",
336
+ "type": "uint256"
337
+ }
338
+ ],
339
+ "name": "PricePerTokenInWeiUpdated",
340
+ "type": "event"
341
+ },
342
+ {
343
+ "anonymous": false,
344
+ "inputs": [
345
+ {
346
+ "indexed": true,
347
+ "internalType": "uint256",
348
+ "name": "_projectId",
349
+ "type": "uint256"
350
+ },
351
+ {
352
+ "indexed": true,
353
+ "internalType": "address",
354
+ "name": "_currencyAddress",
355
+ "type": "address"
356
+ },
357
+ {
358
+ "indexed": false,
359
+ "internalType": "string",
360
+ "name": "_currencySymbol",
361
+ "type": "string"
362
+ }
363
+ ],
364
+ "name": "ProjectCurrencyInfoUpdated",
365
+ "type": "event"
366
+ },
367
+ {
368
+ "anonymous": false,
369
+ "inputs": [
370
+ {
371
+ "indexed": true,
372
+ "internalType": "uint256",
373
+ "name": "_projectId",
374
+ "type": "uint256"
375
+ },
376
+ {
377
+ "indexed": false,
378
+ "internalType": "uint256",
379
+ "name": "_maxInvocations",
380
+ "type": "uint256"
381
+ }
382
+ ],
383
+ "name": "ProjectMaxInvocationsLimitUpdated",
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": false,
397
+ "internalType": "bool",
398
+ "name": "_purchaseToDisabled",
399
+ "type": "bool"
400
+ }
401
+ ],
402
+ "name": "PurchaseToDisabledUpdated",
403
+ "type": "event"
404
+ },
405
+ {
406
+ "anonymous": false,
407
+ "inputs": [
408
+ {
409
+ "indexed": true,
410
+ "internalType": "address",
411
+ "name": "_purchaser",
412
+ "type": "address"
413
+ },
414
+ {
415
+ "indexed": true,
416
+ "internalType": "uint256",
417
+ "name": "_projectId",
418
+ "type": "uint256"
419
+ },
420
+ {
421
+ "indexed": false,
422
+ "internalType": "uint256",
423
+ "name": "_numPurchased",
424
+ "type": "uint256"
425
+ },
426
+ {
427
+ "indexed": false,
428
+ "internalType": "uint256",
429
+ "name": "_netPosted",
430
+ "type": "uint256"
431
+ }
432
+ ],
433
+ "name": "ReceiptUpdated",
434
+ "type": "event"
435
+ },
436
+ {
437
+ "anonymous": false,
438
+ "inputs": [
439
+ {
440
+ "indexed": true,
441
+ "internalType": "uint256",
442
+ "name": "projectId",
443
+ "type": "uint256"
444
+ }
445
+ ],
446
+ "name": "ResetAuctionDetails",
447
+ "type": "event"
448
+ },
449
+ {
450
+ "anonymous": false,
451
+ "inputs": [
452
+ {
453
+ "indexed": true,
454
+ "internalType": "uint256",
455
+ "name": "projectId",
456
+ "type": "uint256"
457
+ },
458
+ {
459
+ "indexed": false,
460
+ "internalType": "uint256",
461
+ "name": "numPurchases",
462
+ "type": "uint256"
463
+ },
464
+ {
465
+ "indexed": false,
466
+ "internalType": "uint256",
467
+ "name": "latestPurchasePrice",
468
+ "type": "uint256"
469
+ }
470
+ ],
471
+ "name": "ResetAuctionDetails",
472
+ "type": "event"
473
+ },
474
+ {
475
+ "anonymous": false,
476
+ "inputs": [
477
+ {
478
+ "indexed": true,
479
+ "internalType": "uint256",
480
+ "name": "_projectId",
481
+ "type": "uint256"
482
+ },
483
+ {
484
+ "indexed": false,
485
+ "internalType": "uint256",
486
+ "name": "_selloutPrice",
487
+ "type": "uint256"
488
+ }
489
+ ],
490
+ "name": "SelloutPriceUpdated",
491
+ "type": "event"
492
+ },
493
+ {
494
+ "anonymous": false,
495
+ "inputs": [
496
+ {
497
+ "indexed": true,
498
+ "internalType": "uint256",
499
+ "name": "projectId",
500
+ "type": "uint256"
501
+ },
502
+ {
503
+ "indexed": false,
504
+ "internalType": "uint256",
505
+ "name": "_auctionTimestampStart",
506
+ "type": "uint256"
507
+ },
508
+ {
509
+ "indexed": false,
510
+ "internalType": "uint256",
511
+ "name": "_priceDecayHalfLifeSeconds",
512
+ "type": "uint256"
513
+ },
514
+ {
515
+ "indexed": false,
516
+ "internalType": "uint256",
517
+ "name": "_startPrice",
518
+ "type": "uint256"
519
+ },
520
+ {
521
+ "indexed": false,
522
+ "internalType": "uint256",
523
+ "name": "_basePrice",
524
+ "type": "uint256"
525
+ }
526
+ ],
527
+ "name": "SetAuctionDetails",
528
+ "type": "event"
529
+ },
530
+ {
531
+ "inputs": [
532
+ {
533
+ "internalType": "uint256",
534
+ "name": "_projectId",
535
+ "type": "uint256"
536
+ },
537
+ {
538
+ "internalType": "uint256",
539
+ "name": "_newSelloutPrice",
540
+ "type": "uint256"
541
+ }
542
+ ],
543
+ "name": "adminEmergencyReduceSelloutPrice",
544
+ "outputs": [],
545
+ "stateMutability": "nonpayable",
546
+ "type": "function"
547
+ },
548
+ {
549
+ "inputs": [],
550
+ "name": "genArt721CoreAddress",
551
+ "outputs": [
552
+ {
553
+ "internalType": "address",
554
+ "name": "",
555
+ "type": "address"
556
+ }
557
+ ],
558
+ "stateMutability": "view",
559
+ "type": "function"
560
+ },
561
+ {
562
+ "inputs": [
563
+ {
564
+ "internalType": "uint256",
565
+ "name": "_projectId",
566
+ "type": "uint256"
567
+ }
568
+ ],
569
+ "name": "getNumSettleableInvocations",
570
+ "outputs": [
571
+ {
572
+ "internalType": "uint256",
573
+ "name": "numSettleableInvocations",
574
+ "type": "uint256"
575
+ }
576
+ ],
577
+ "stateMutability": "view",
578
+ "type": "function"
579
+ },
580
+ {
581
+ "inputs": [
582
+ {
583
+ "internalType": "uint256",
584
+ "name": "_projectId",
585
+ "type": "uint256"
586
+ }
587
+ ],
588
+ "name": "getPriceInfo",
589
+ "outputs": [
590
+ {
591
+ "internalType": "bool",
592
+ "name": "isConfigured",
593
+ "type": "bool"
594
+ },
595
+ {
596
+ "internalType": "uint256",
597
+ "name": "tokenPriceInWei",
598
+ "type": "uint256"
599
+ },
600
+ {
601
+ "internalType": "string",
602
+ "name": "currencySymbol",
603
+ "type": "string"
604
+ },
605
+ {
606
+ "internalType": "address",
607
+ "name": "currencyAddress",
608
+ "type": "address"
609
+ }
610
+ ],
611
+ "stateMutability": "view",
612
+ "type": "function"
613
+ },
614
+ {
615
+ "inputs": [
616
+ {
617
+ "internalType": "uint256",
618
+ "name": "_projectId",
619
+ "type": "uint256"
620
+ },
621
+ {
622
+ "internalType": "address",
623
+ "name": "_walletAddress",
624
+ "type": "address"
625
+ }
626
+ ],
627
+ "name": "getProjectExcessSettlementFunds",
628
+ "outputs": [
629
+ {
630
+ "internalType": "uint256",
631
+ "name": "excessSettlementFundsInWei",
632
+ "type": "uint256"
633
+ }
634
+ ],
635
+ "stateMutability": "view",
636
+ "type": "function"
637
+ },
638
+ {
639
+ "inputs": [
640
+ {
641
+ "internalType": "uint256",
642
+ "name": "_projectId",
643
+ "type": "uint256"
644
+ }
645
+ ],
646
+ "name": "getProjectLatestPurchasePrice",
647
+ "outputs": [
648
+ {
649
+ "internalType": "uint256",
650
+ "name": "latestPurchasePrice",
651
+ "type": "uint256"
652
+ }
653
+ ],
654
+ "stateMutability": "view",
655
+ "type": "function"
656
+ },
657
+ {
658
+ "inputs": [],
659
+ "name": "isEngine",
660
+ "outputs": [
661
+ {
662
+ "internalType": "bool",
663
+ "name": "",
664
+ "type": "bool"
665
+ }
666
+ ],
667
+ "stateMutability": "view",
668
+ "type": "function"
669
+ },
670
+ {
671
+ "inputs": [
672
+ {
673
+ "internalType": "uint256",
674
+ "name": "_projectId",
675
+ "type": "uint256"
676
+ },
677
+ {
678
+ "internalType": "uint256",
679
+ "name": "_maxInvocations",
680
+ "type": "uint256"
681
+ }
682
+ ],
683
+ "name": "manuallyLimitProjectMaxInvocations",
684
+ "outputs": [],
685
+ "stateMutability": "nonpayable",
686
+ "type": "function"
687
+ },
688
+ {
689
+ "inputs": [],
690
+ "name": "maximumPriceDecayHalfLifeSeconds",
691
+ "outputs": [
692
+ {
693
+ "internalType": "uint256",
694
+ "name": "",
695
+ "type": "uint256"
696
+ }
697
+ ],
698
+ "stateMutability": "view",
699
+ "type": "function"
700
+ },
701
+ {
702
+ "inputs": [],
703
+ "name": "minimumPriceDecayHalfLifeSeconds",
704
+ "outputs": [
705
+ {
706
+ "internalType": "uint256",
707
+ "name": "",
708
+ "type": "uint256"
709
+ }
710
+ ],
711
+ "stateMutability": "view",
712
+ "type": "function"
713
+ },
714
+ {
715
+ "inputs": [],
716
+ "name": "minterFilterAddress",
717
+ "outputs": [
718
+ {
719
+ "internalType": "address",
720
+ "name": "",
721
+ "type": "address"
722
+ }
723
+ ],
724
+ "stateMutability": "view",
725
+ "type": "function"
726
+ },
727
+ {
728
+ "inputs": [],
729
+ "name": "minterType",
730
+ "outputs": [
731
+ {
732
+ "internalType": "string",
733
+ "name": "",
734
+ "type": "string"
735
+ }
736
+ ],
737
+ "stateMutability": "view",
738
+ "type": "function"
739
+ },
740
+ {
741
+ "inputs": [
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "_projectId",
745
+ "type": "uint256"
746
+ }
747
+ ],
748
+ "name": "projectAuctionParameters",
749
+ "outputs": [
750
+ {
751
+ "internalType": "uint256",
752
+ "name": "timestampStart",
753
+ "type": "uint256"
754
+ },
755
+ {
756
+ "internalType": "uint256",
757
+ "name": "priceDecayHalfLifeSeconds",
758
+ "type": "uint256"
759
+ },
760
+ {
761
+ "internalType": "uint256",
762
+ "name": "startPrice",
763
+ "type": "uint256"
764
+ },
765
+ {
766
+ "internalType": "uint256",
767
+ "name": "basePrice",
768
+ "type": "uint256"
769
+ }
770
+ ],
771
+ "stateMutability": "view",
772
+ "type": "function"
773
+ },
774
+ {
775
+ "inputs": [
776
+ {
777
+ "internalType": "uint256",
778
+ "name": "",
779
+ "type": "uint256"
780
+ }
781
+ ],
782
+ "name": "projectConfig",
783
+ "outputs": [
784
+ {
785
+ "internalType": "bool",
786
+ "name": "maxHasBeenInvoked",
787
+ "type": "bool"
788
+ },
789
+ {
790
+ "internalType": "uint24",
791
+ "name": "maxInvocations",
792
+ "type": "uint24"
793
+ },
794
+ {
795
+ "internalType": "bool",
796
+ "name": "auctionRevenuesCollected",
797
+ "type": "bool"
798
+ },
799
+ {
800
+ "internalType": "uint24",
801
+ "name": "numSettleableInvocations",
802
+ "type": "uint24"
803
+ },
804
+ {
805
+ "internalType": "uint64",
806
+ "name": "timestampStart",
807
+ "type": "uint64"
808
+ },
809
+ {
810
+ "internalType": "uint64",
811
+ "name": "priceDecayHalfLifeSeconds",
812
+ "type": "uint64"
813
+ },
814
+ {
815
+ "internalType": "uint128",
816
+ "name": "startPrice",
817
+ "type": "uint128"
818
+ },
819
+ {
820
+ "internalType": "uint128",
821
+ "name": "basePrice",
822
+ "type": "uint128"
823
+ },
824
+ {
825
+ "internalType": "uint256",
826
+ "name": "latestPurchasePrice",
827
+ "type": "uint256"
828
+ }
829
+ ],
830
+ "stateMutability": "view",
831
+ "type": "function"
832
+ },
833
+ {
834
+ "inputs": [
835
+ {
836
+ "internalType": "uint256",
837
+ "name": "_projectId",
838
+ "type": "uint256"
839
+ }
840
+ ],
841
+ "name": "projectMaxHasBeenInvoked",
842
+ "outputs": [
843
+ {
844
+ "internalType": "bool",
845
+ "name": "",
846
+ "type": "bool"
847
+ }
848
+ ],
849
+ "stateMutability": "view",
850
+ "type": "function"
851
+ },
852
+ {
853
+ "inputs": [
854
+ {
855
+ "internalType": "uint256",
856
+ "name": "_projectId",
857
+ "type": "uint256"
858
+ }
859
+ ],
860
+ "name": "projectMaxInvocations",
861
+ "outputs": [
862
+ {
863
+ "internalType": "uint256",
864
+ "name": "",
865
+ "type": "uint256"
866
+ }
867
+ ],
868
+ "stateMutability": "view",
869
+ "type": "function"
870
+ },
871
+ {
872
+ "inputs": [
873
+ {
874
+ "internalType": "uint256",
875
+ "name": "_projectId",
876
+ "type": "uint256"
877
+ }
878
+ ],
879
+ "name": "purchase",
880
+ "outputs": [
881
+ {
882
+ "internalType": "uint256",
883
+ "name": "tokenId",
884
+ "type": "uint256"
885
+ }
886
+ ],
887
+ "stateMutability": "payable",
888
+ "type": "function"
889
+ },
890
+ {
891
+ "inputs": [
892
+ {
893
+ "internalType": "address",
894
+ "name": "_to",
895
+ "type": "address"
896
+ },
897
+ {
898
+ "internalType": "uint256",
899
+ "name": "_projectId",
900
+ "type": "uint256"
901
+ }
902
+ ],
903
+ "name": "purchaseTo",
904
+ "outputs": [
905
+ {
906
+ "internalType": "uint256",
907
+ "name": "tokenId",
908
+ "type": "uint256"
909
+ }
910
+ ],
911
+ "stateMutability": "payable",
912
+ "type": "function"
913
+ },
914
+ {
915
+ "inputs": [
916
+ {
917
+ "internalType": "address",
918
+ "name": "_to",
919
+ "type": "address"
920
+ },
921
+ {
922
+ "internalType": "uint256",
923
+ "name": "_projectId",
924
+ "type": "uint256"
925
+ }
926
+ ],
927
+ "name": "purchaseTo_do6",
928
+ "outputs": [
929
+ {
930
+ "internalType": "uint256",
931
+ "name": "tokenId",
932
+ "type": "uint256"
933
+ }
934
+ ],
935
+ "stateMutability": "payable",
936
+ "type": "function"
937
+ },
938
+ {
939
+ "inputs": [
940
+ {
941
+ "internalType": "uint256",
942
+ "name": "_projectId",
943
+ "type": "uint256"
944
+ }
945
+ ],
946
+ "name": "purchase_H4M",
947
+ "outputs": [
948
+ {
949
+ "internalType": "uint256",
950
+ "name": "tokenId",
951
+ "type": "uint256"
952
+ }
953
+ ],
954
+ "stateMutability": "payable",
955
+ "type": "function"
956
+ },
957
+ {
958
+ "inputs": [
959
+ {
960
+ "internalType": "uint256",
961
+ "name": "_projectId",
962
+ "type": "uint256"
963
+ }
964
+ ],
965
+ "name": "reclaimProjectExcessSettlementFunds",
966
+ "outputs": [],
967
+ "stateMutability": "nonpayable",
968
+ "type": "function"
969
+ },
970
+ {
971
+ "inputs": [
972
+ {
973
+ "internalType": "address payable",
974
+ "name": "_to",
975
+ "type": "address"
976
+ },
977
+ {
978
+ "internalType": "uint256",
979
+ "name": "_projectId",
980
+ "type": "uint256"
981
+ }
982
+ ],
983
+ "name": "reclaimProjectExcessSettlementFundsTo",
984
+ "outputs": [],
985
+ "stateMutability": "nonpayable",
986
+ "type": "function"
987
+ },
988
+ {
989
+ "inputs": [
990
+ {
991
+ "internalType": "uint256[]",
992
+ "name": "_projectIds",
993
+ "type": "uint256[]"
994
+ }
995
+ ],
996
+ "name": "reclaimProjectsExcessSettlementFunds",
997
+ "outputs": [],
998
+ "stateMutability": "nonpayable",
999
+ "type": "function"
1000
+ },
1001
+ {
1002
+ "inputs": [
1003
+ {
1004
+ "internalType": "address payable",
1005
+ "name": "_to",
1006
+ "type": "address"
1007
+ },
1008
+ {
1009
+ "internalType": "uint256[]",
1010
+ "name": "_projectIds",
1011
+ "type": "uint256[]"
1012
+ }
1013
+ ],
1014
+ "name": "reclaimProjectsExcessSettlementFundsTo",
1015
+ "outputs": [],
1016
+ "stateMutability": "nonpayable",
1017
+ "type": "function"
1018
+ },
1019
+ {
1020
+ "inputs": [
1021
+ {
1022
+ "internalType": "uint256",
1023
+ "name": "_projectId",
1024
+ "type": "uint256"
1025
+ }
1026
+ ],
1027
+ "name": "resetAuctionDetails",
1028
+ "outputs": [],
1029
+ "stateMutability": "nonpayable",
1030
+ "type": "function"
1031
+ },
1032
+ {
1033
+ "inputs": [
1034
+ {
1035
+ "internalType": "uint256",
1036
+ "name": "_minimumPriceDecayHalfLifeSeconds",
1037
+ "type": "uint256"
1038
+ },
1039
+ {
1040
+ "internalType": "uint256",
1041
+ "name": "_maximumPriceDecayHalfLifeSeconds",
1042
+ "type": "uint256"
1043
+ }
1044
+ ],
1045
+ "name": "setAllowablePriceDecayHalfLifeRangeSeconds",
1046
+ "outputs": [],
1047
+ "stateMutability": "nonpayable",
1048
+ "type": "function"
1049
+ },
1050
+ {
1051
+ "inputs": [
1052
+ {
1053
+ "internalType": "uint256",
1054
+ "name": "_projectId",
1055
+ "type": "uint256"
1056
+ },
1057
+ {
1058
+ "internalType": "uint256",
1059
+ "name": "_auctionTimestampStart",
1060
+ "type": "uint256"
1061
+ },
1062
+ {
1063
+ "internalType": "uint256",
1064
+ "name": "_priceDecayHalfLifeSeconds",
1065
+ "type": "uint256"
1066
+ },
1067
+ {
1068
+ "internalType": "uint256",
1069
+ "name": "_startPrice",
1070
+ "type": "uint256"
1071
+ },
1072
+ {
1073
+ "internalType": "uint256",
1074
+ "name": "_basePrice",
1075
+ "type": "uint256"
1076
+ }
1077
+ ],
1078
+ "name": "setAuctionDetails",
1079
+ "outputs": [],
1080
+ "stateMutability": "nonpayable",
1081
+ "type": "function"
1082
+ },
1083
+ {
1084
+ "inputs": [
1085
+ {
1086
+ "internalType": "uint256",
1087
+ "name": "_projectId",
1088
+ "type": "uint256"
1089
+ }
1090
+ ],
1091
+ "name": "setProjectMaxInvocations",
1092
+ "outputs": [],
1093
+ "stateMutability": "view",
1094
+ "type": "function"
1095
+ },
1096
+ {
1097
+ "inputs": [
1098
+ {
1099
+ "internalType": "uint256",
1100
+ "name": "_projectId",
1101
+ "type": "uint256"
1102
+ }
1103
+ ],
1104
+ "name": "togglePurchaseToDisabled",
1105
+ "outputs": [],
1106
+ "stateMutability": "view",
1107
+ "type": "function"
1108
+ },
1109
+ {
1110
+ "inputs": [
1111
+ {
1112
+ "internalType": "uint256",
1113
+ "name": "_projectId",
1114
+ "type": "uint256"
1115
+ }
1116
+ ],
1117
+ "name": "withdrawArtistAndAdminRevenues",
1118
+ "outputs": [],
1119
+ "stateMutability": "nonpayable",
1120
+ "type": "function"
1121
+ }
1122
+ ],
1123
+ "bytecode": "0x61012060405261012c600255610e106003553480156200001e57600080fd5b50604051620033aa380380620033aa8339810160408190526200004191620002e1565b600160005581620000528162000143565b1515608052506001600160a01b0380831660a081905260c081905290821660e0819052610100819052604080516392a10f8360e01b815290516392a10f839160048082019260209290919082900301816000875af1158015620000b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000df919062000319565b6001600160a01b0316146200013b5760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e67000000000000000060448201526064015b60405180910390fd5b50506200036f565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690620001a79085906200033e565b6000604051808303816000865af19150503d8060008114620001e6576040519150601f19603f3d011682016040523d82523d6000602084013e620001eb565b606091505b5091509150816200024d5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840162000132565b805160c0819003620002655750600095945050505050565b80610100036200027b5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640162000132565b80516001600160a01b0381168114620002dc57600080fd5b919050565b60008060408385031215620002f557600080fd5b6200030083620002c4565b91506200031060208401620002c4565b90509250929050565b6000602082840312156200032c57600080fd5b6200033782620002c4565b9392505050565b6000825160005b8181101562000361576020818601810151858301520162000345565b506000920191825250919050565b60805160a05160c05160e05161010051612fc5620003e560003960006108a20152600061065901526000818161217e01528181612262015281816122f3015281816124ba015261255e0152600081816104280152818161097501526115d60152600081816106250152611d910152612fc56000f3fe6080604052600436106101695760003560e01c8063891407c0116100c7578063891407c01461040357806392a10f83146104165780639cea570914610462578063c0ad212e14610482578063c3df9d6f146104a2578063c71b1b71146104c2578063c7a4f53d146105bd578063cd379f6e146105dd578063cf6681ea146105fd578063db6921b214610613578063dd85582f14610647578063e9d1e8ac1461067b578063eb2f4f8e146106cb578063efef39a114610194578063f7bd4b88146106eb57600080fd5b806199871461016e578061b460146101945780631607c995146101a75780631e9f2e92146101c957806324411f80146101f95780632aedc28e146102325780632f077ee6146102525780632f4b12eb146102c657806340d1397e146102e6578063462add46146103065780634d4139021461034657806356690aaf1461036657806358d581061461039d5780635bc1470f146103bd578063774159c6146103d3575b600080fd5b61018161017c36600461287b565b61070b565b6040519081526020015b60405180910390f35b6101816101a23660046128a7565b6109e6565b3480156101b357600080fd5b506101c76101c23660046128c0565b6109f8565b005b3480156101d557600080fd5b506101816101e43660046128a7565b60009081526001602052604090206002015490565b34801561020557600080fd5b506101816102143660046128a7565b600090815260016020526040902054600160281b900462ffffff1690565b34801561023e57600080fd5b506101c761024d3660046128a7565b610c21565b34801561025e57600080fd5b506102b661026d3660046128a7565b600090815260016020819052604090912080549101546001600160401b03600160401b8304811693600160801b93849004909116926001600160801b0380841693919091041690565b60405161018b94939291906128e2565b3480156102d257600080fd5b506101816102e13660046128fd565b610d30565b3480156102f257600080fd5b506101c76103013660046128a7565b610e16565b34801561031257600080fd5b506103366103213660046128a7565b60009081526001602052604090205460ff1690565b604051901515815260200161018b565b34801561035257600080fd5b506101c761036136600461287b565b610e5e565b34801561037257600080fd5b506101816103813660046128a7565b600090815260016020526040902054610100900462ffffff1690565b3480156103a957600080fd5b506101c76103b83660046128c0565b611000565b3480156103c957600080fd5b5061018160035481565b3480156103df57600080fd5b506103f36103ee3660046128a7565b6111fd565b60405161018b9493929190612973565b61018161041136600461287b565b6112a7565b34801561042257600080fd5b5061044a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161018b565b34801561046e57600080fd5b506101c761047d3660046129ad565b6112ba565b34801561048e57600080fd5b506101c761049d3660046128c0565b6112fb565b3480156104ae57600080fd5b506101c76104bd3660046128a7565b611408565b3480156104ce57600080fd5b506105586104dd3660046128a7565b600160208190526000918252604090912080549181015460029091015460ff8084169362ffffff6101008204811694600160201b830490931693600160281b8304909116926001600160401b03600160401b8404811693600160801b90819004909116926001600160801b0380841693929092049091169089565b604080519915158a5262ffffff98891660208b0152961515968901969096529590931660608701526001600160401b0391821660808701521660a08501526001600160801b0390811660c085015290911660e08301526101008201526101200161018b565b3480156105c957600080fd5b506101c76105d83660046128a7565b611415565b3480156105e957600080fd5b506101c76105f8366004612a21565b611630565b34801561060957600080fd5b5061018160025481565b34801561061f57600080fd5b506103367f000000000000000000000000000000000000000000000000000000000000000081565b34801561065357600080fd5b5061044a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561068757600080fd5b506106be6040518060400160405280601781526020017626b4b73a32b92220a2bc3829b2ba3a3632b6b2b73a2b1960491b81525081565b60405161018b9190612a5c565b3480156106d757600080fd5b506101c76106e6366004612a85565b6119dc565b3480156106f757600080fd5b506101c76107063660046128a7565b611bbf565b60006002600054036107385760405162461bcd60e51b815260040161072f90612b57565b60405180910390fd5b60026000908155828152600160205260409020805460ff161561076d5760405162461bcd60e51b815260040161072f90612b8e565b600061077884611c02565b33600090815260046020908152604080832088845290915281208054929350916107ac9034906001600160e81b0316612be9565b82549091506000906107cb90600160e81b900462ffffff166001612bfc565b62ffffff1690506107dc8482612c1f565b82101561082b5760405162461bcd60e51b815260206004820152601f60248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e7400604482015260640161072f565b6001600160e81b038216600160e81b62ffffff831602178355604080518281526020810184905288913391600080516020612f50833981519152910160405180910390a360028501849055604051630d4d151360e01b81526001600160a01b038981166004830152602482018990523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f9190612c36565b8554909650620f4240870660010190610100900462ffffff16808211156109485760405162461bcd60e51b815260040161072f90612b8e565b80820361095b57865460ff191660011787555b50508454600160201b900460ff161561099e5761099987857f0000000000000000000000000000000000000000000000000000000000000000611d77565b6109d6565b8454600160281b900462ffffff168560056109b883612c65565b91906101000a81548162ffffff021916908362ffffff160217905550505b5050505050600160005592915050565b60006109f2338361070b565b92915050565b610a0182612168565b60008111610a4d5760405162461bcd60e51b815260206004820152601960248201527804f6e6c79206d617820696e766f636174696f6e73206774203603c1b604482015260640161072f565b6000828152600160205260409020805460ff1615610aad5760405162461bcd60e51b815260206004820152601f60248201527f4d617820696e766f636174696f6e7320616c7265616479207265616368656400604482015260640161072f565b600080610ab98561223f565b909250905080841115610b545760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a40161072f565b81841015610bd65760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a40161072f565b825482851463ffffffff1990911661010062ffffff87160260ff1916171783556040518481528590600080516020612f70833981519152906020015b60405180910390a25050505050565b610c31631576e14760e11b6122dc565b600081815260016020819052604082209081015490916001600160801b039091169003610c9d5760405162461bcd60e51b815260206004820152601a602482015279105d58dd1a5bdb881b5d5cdd0818994818dbdb999a59dd5c995960321b604482015260640161072f565b8054600160201b900460ff1615610cc65760405162461bcd60e51b815260040161072f90612c87565b8054600160401b600160c01b03191680825560006001830155600282015460408051600160281b90930462ffffff168352602083019190915283917f28cd2e5a54afa08469ca157e482b97c3de9efbc4c48cea254864df050677145a910160405180910390a25050565b60006001600160a01b038216610d7a5760405162461bcd60e51b815260206004820152600f60248201526e4e6f207a65726f206164647265737360881b604482015260640161072f565b60008381526001602090815260408083206001600160a01b0386168452600483528184208785529092529091208054600160e81b900462ffffff16610dd15760405162461bcd60e51b815260040161072f90612cbe565b60028201548154600090610df2908390600160e81b900462ffffff16612c1f565b8354909150610e0b9082906001600160e81b0316612cff565b979650505050505050565b610e1f81612168565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b604482015260640161072f565b600260005403610e805760405162461bcd60e51b815260040161072f90612b57565b60026000908155818152600160209081526040808320338452600483528184208585529092529091208054600160e81b900462ffffff166001600160a01b038516610edd5760405162461bcd60e51b815260040161072f90612d12565b60008111610efd5760405162461bcd60e51b815260040161072f90612cbe565b60028301546000610f0e8284612c1f565b8454909150600090610f2a9083906001600160e81b0316612cff565b9050610f35826123b8565b85546001600160e81b0319166001600160e81b0391909116178555604080518581526020810184905288913391600080516020612f50833981519152910160405180910390a36000886001600160a01b03168260405160006040518083038185875af1925050503d8060008114610fc8576040519150601f19603f3d011682016040523d82523d6000602084013e610fcd565b606091505b50508091505080610ff05760405162461bcd60e51b815260040161072f90612d49565b5050600160005550505050505050565b611010632c6ac08360e11b6122dc565b60008281526001602052604090208054600160201b900460ff16156110475760405162461bcd60e51b815260040161072f90612c87565b61105083612425565b805460ff1661109c5760405162461bcd60e51b815260206004820152601860248201527741756374696f6e206d75737420626520636f6d706c65746560401b604482015260640161072f565b806002015482106110ef5760405162461bcd60e51b815260206004820152601d60248201527f4d6179206f6e6c79207265647563652073656c6c6f7574207072696365000000604482015260640161072f565b6001810154600160801b90046001600160801b03168210156111725760405162461bcd60e51b815260206004820152603660248201527f4d6179206f6e6c79207265647563652073656c6c6f757420707269636520746f604482015275103130b9b290383934b1b29037b91033b932b0ba32b960511b606482015260840161072f565b600082116111bc5760405162461bcd60e51b815260206004820152601760248201527604f6e6c792073656c6c6f757420707269636573203e203604c1b604482015260640161072f565b6002810182905560405182815283907f6e257f2b2266f72d4bd28a2e64b0cfc245c9a1c28ec2dc591f8052f77f969c959060200160405180910390a2505050565b600081815260016020819052604082209081015481546001600160801b0390911615159291606091839190600160401b90046001600160401b031642116112535760018101546001600160801b0316935061127d565b60018101546001600160801b0316600003611271576000935061127d565b61127a86612470565b93505b6040518060400160405280600381526020016208aa8960eb1b815250925060009150509193509193565b60006112b3838361070b565b9392505050565b6112f7338383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119dc92505050565b5050565b61130b636056909760e11b6122dc565b8181116113715760405162461bcd60e51b815260206004820152602e60248201527f4d6178696d756d2068616c66206c696665206d7573742062652067726561746560448201526d72207468616e206d696e696d756d60901b606482015260840161072f565b600082116113c15760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f776564000000604482015260640161072f565b6002829055600381905560408051838152602081018390527f1d5d9c9b660aace5432c6c7412456d0ad1b5ff4c6ea156a8c551ba93555ed73f910160405180910390a15050565b6114123382610e5e565b50565b6002600054036114375760405162461bcd60e51b815260040161072f90612b57565b600260005561144d8163c7a4f53d60e01b6124a4565b60008181526001602052604090208054600160201b900460ff16156114b15760405162461bcd60e51b815260206004820152601a60248201527914995d995b9d595cc8185b1c9958591e4818dbdb1b1958dd195960321b604482015260640161072f565b6114ba82612425565b60006114c583611c02565b6001830154909150600160801b90046001600160801b0316811461153957815460ff166115345760405162461bcd60e51b815260206004820152601f60248201527f4163746976652061756374696f6e206e6f742079657420736f6c64206f757400604482015260640161072f565b6115a0565b6001820154600160801b90046001600160801b03168061159a5760405162461bcd60e51b815260206004820152601c60248201527b04f6e6c79206c617465737450757263686173655072696365203e20360241b604482015260640161072f565b60028301555b815460ff60201b1916600160201b178083556000906115cd90839062ffffff600160281b90910416612c1f565b90506115fa84827f0000000000000000000000000000000000000000000000000000000000000000611d77565b60405184907f110a44b77609d30f9b80fa9add8c3e18ba02555b3546acf2b0318a3d3229c5a790600090a2505060016000555050565b61163985612168565b60008581526001602052604090208054600160401b90046001600160401b0316158061167557508054600160401b90046001600160401b031642105b6116c05760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b604482015260640161072f565b8442106117065760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b604482015260640161072f565b8183116117785760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b606482015260840161072f565b600082116117c65760405162461bcd60e51b815260206004820152601b60248201527a42617365207072696365206d757374206265206e6f6e2d7a65726f60281b604482015260640161072f565b600281015415806117db575080600201548311155b6118445760405162461bcd60e51b815260206004820152603460248201527f41756374696f6e207374617274207072696365206d757374206265203c3d206c604482015273617465737420707572636861736520707269636560601b606482015260840161072f565b600254841015801561185857506003548411155b6118d85760405162461bcd60e51b8152602060048201526044602482018190527f50726963652064656361792068616c66206c696665206d7573742066616c6c20908201527f6265747765656e206d696e20616e64206d617820616c6c6f7761626c652076616064820152636c75657360e01b608482015260a40161072f565b6118e185612621565b81546001600160401b0391909116600160401b0267ffffffffffffffff60401b1990911617815561191184612621565b81546001600160401b0391909116600160801b0267ffffffffffffffff60801b1990911617815561194183612689565b6001820180546001600160801b0319166001600160801b039290921691909117905561196c82612689565b6001820180546001600160801b03928316600160801b02921691909117905560405186907f38b3058b75696f9e45bffa9c4b237adcde13d74c7bc1bea63e13c712d0776c74906119c39088908890889088906128e2565b60405180910390a26119d486612425565b505050505050565b6002600054036119fe5760405162461bcd60e51b815260040161072f90612b57565b60026000556001600160a01b038216611a295760405162461bcd60e51b815260040161072f90612d12565b8051600090815b81811015611b3d576000848281518110611a4c57611a4c612d74565b6020908102919091018101516000818152600183526040808220338352600485528183208484529094529020805491935090600160e81b900462ffffff1680611aa75760405162461bcd60e51b815260040161072f90612cbe565b60028301546000611ab88284612c1f565b8454909150611ad19082906001600160e81b0316612cff565b611adb908a612be9565b9850611ae6816123b8565b84546001600160e81b0319166001600160e81b0391909116178455604080518481526020810183905287913391600080516020612f50833981519152910160405180910390a3866001019650505050505050611a30565b506000846001600160a01b03168360405160006040518083038185875af1925050503d8060008114611b8b576040519150601f19603f3d011682016040523d82523d6000602084013e611b90565b606091505b50508091505080611bb35760405162461bcd60e51b815260040161072f90612d49565b50506001600055505050565b611bc881612168565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b604482015260640161072f565b6000818152600160205260408120805460ff1680611c2857508054600160201b900460ff165b15611c37576002015492915050565b80546001820154600160401b82046001600160401b0390811692600160801b9081900490911691046001600160801b0316428310611cb15760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b604482015260640161072f565b60008211611cfc5760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b604482015260640161072f565b60018401546001600160801b031642849003838181611d1d57611d1d612c4f565b0482901c9150600284858381611d3557611d35612c4f565b06840281611d4557611d45612c4f565b0481611d5357611d53612c4f565b048203915082821015611d6c5750909695505050505050565b509695505050505050565b60008211611d8457505050565b60008060008060008060007f000000000000000000000000000000000000000000000000000000000000000015611eef57604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2b9190612d8a565b969e50949c50909a50985091965091945090925090508115611ee8576040516001600160a01b038216908390600081818185875af1925050503d8060008114611e90576040519150601f19603f3d011682016040523d82523d6000602084013e611e95565b606091505b50508099505088611ee85760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161072f565b5050611f6f565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015611f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5f9190612e12565b949a509298509096509450925090505b8515612016576040516001600160a01b038616908790600081818185875af1925050503d8060008114611fbe576040519150601f19603f3d011682016040523d82523d6000602084013e611fc3565b606091505b505080975050866120165760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161072f565b83156120b5576040516001600160a01b038416908590600081818185875af1925050503d8060008114612065576040519150601f19603f3d011682016040523d82523d6000602084013e61206a565b606091505b505080975050866120b55760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161072f565b811561215c576040516001600160a01b038216908390600081818185875af1925050503d8060008114612104576040519150601f19603f3d011682016040523d82523d6000602084013e612109565b606091505b5050809750508661215c5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161072f565b50505050505050505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156121cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f19190612e7b565b6001600160a01b0316336001600160a01b0316146114125760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161072f565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa1580156122a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cd9190612ea8565b50939792965091945050505050565b60405163230448b160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061232c90339030908690600401612f07565b6020604051808303816000875af115801561234b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061236f9190612f34565b6114125760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604482015260640161072f565b60006001600160e81b038211156124215760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663332206269747360c81b606482015260840161072f565b5090565b60008181526001602052604081208054909190610100900462ffffff161580156124515750815460ff16155b9050801561246757612462836126f2565b505050565b61246283612763565b600061247b8261281a565b15612496575060009081526001602052604090206002015490565b6109f282611c02565b919050565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015612509573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252d9190612e7b565b6001600160a01b0316336001600160a01b031614806125da575060405163230448b160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061259790339030908690600401612f07565b6020604051808303816000875af11580156125b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125da9190612f34565b6112f75760405162461bcd60e51b815260206004820152601860248201527713db9b1e48105c9d1a5cdd081bdc8810591b5a5b881050d360421b604482015260640161072f565b60006001600160401b038211156124215760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b606482015260840161072f565b60006001600160801b038211156124215760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161072f565b6000806126fe8361223f565b60008581526001602052604090819020805460ff1962ffffff8516610100021663ffffffff199091161784841417815590519194509192508490600080516020612f70833981519152906127559086815260200190565b60405180910390a250505050565b60008061276f8361223f565b60008581526001602052604090208054919450919250610100900462ffffff16838111156127df57815483851463ffffffff1990911661010062ffffff87160260ff1916171782556040518481528590600080516020612f708339815191529060200160405180910390a2612813565b80831061281357815460ff191660011782556040518590600080516020612f7083398151915290610c129087815260200190565b5050505050565b60008060006128288461223f565b6000868152600160205260409020805492945090925090610100900462ffffff168281111561285a5750501492915050565b90921015949350505050565b6001600160a01b038116811461141257600080fd5b6000806040838503121561288e57600080fd5b823561289981612866565b946020939093013593505050565b6000602082840312156128b957600080fd5b5035919050565b600080604083850312156128d357600080fd5b50508035926020909101359150565b93845260208401929092526040830152606082015260800190565b6000806040838503121561291057600080fd5b82359150602083013561292281612866565b809150509250929050565b6000815180845260005b8181101561295357602081850181015186830182015201612937565b506000602082860101526020601f19601f83011685010191505092915050565b8415158152836020820152608060408201526000612994608083018561292d565b905060018060a01b038316606083015295945050505050565b600080602083850312156129c057600080fd5b82356001600160401b03808211156129d757600080fd5b818501915085601f8301126129eb57600080fd5b8135818111156129fa57600080fd5b8660208260051b8501011115612a0f57600080fd5b60209290920196919550909350505050565b600080600080600060a08688031215612a3957600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6020815260006112b3602083018461292d565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612a9857600080fd5b8235612aa381612866565b91506020838101356001600160401b0380821115612ac057600080fd5b818601915086601f830112612ad457600080fd5b813581811115612ae657612ae6612a6f565b8060051b604051601f19603f83011681018181108582111715612b0b57612b0b612a6f565b604052918252848201925083810185019189831115612b2957600080fd5b938501935b82851015612b4757843584529385019392850192612b2e565b8096505050505050509250929050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526025908201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656040820152641858da195960da1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808201808211156109f2576109f2612bd3565b62ffffff818116838216019080821115612c1857612c18612bd3565b5092915050565b80820281158282048414176109f2576109f2612bd3565b600060208284031215612c4857600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b600062ffffff808316818103612c7d57612c7d612bd3565b6001019392505050565b6020808252601e908201527f4f6e6c79206265666f726520726576656e75657320636f6c6c65637465640000604082015260600190565b60208082526021908201527f4e6f20707572636861736573206d6164652062792074686973206164647265736040820152607360f81b606082015260800190565b818103818111156109f2576109f2612bd3565b6020808252601f908201527f4e6f20636c61696d696e6720746f20746865207a65726f206164647265737300604082015260600190565b602080825260119082015270149958db185a5b5a5b99c819985a5b1959607a1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600080600080600080600080610100898b031215612da757600080fd5b885197506020890151612db981612866565b60408a015160608b01519198509650612dd181612866565b60808a015160a08b01519196509450612de981612866565b60c08a015160e08b01519194509250612e0181612866565b809150509295985092959890939650565b60008060008060008060c08789031215612e2b57600080fd5b865195506020870151612e3d81612866565b604088015160608901519196509450612e5581612866565b608088015160a08901519194509250612e6d81612866565b809150509295509295509295565b600060208284031215612e8d57600080fd5b81516112b381612866565b8051801515811461249f57600080fd5b60008060008060008060c08789031215612ec157600080fd5b8651955060208701519450612ed860408801612e98565b9350612ee660608801612e98565b925060808701519150612efb60a08801612e98565b90509295509295509295565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b600060208284031215612f4657600080fd5b6112b382612e9856fe88bc1bf6777e1eaef8a0583c526f6963c9183af9ee82015f9a28f55b9115ea718445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1a2646970667358221220b8cdc3b657045dc6b60a610d0b35c97e14378d94d02758d129dea6c18e6b649464736f6c63430008110033",
1124
+ "deployedBytecode": "0x6080604052600436106101695760003560e01c8063891407c0116100c7578063891407c01461040357806392a10f83146104165780639cea570914610462578063c0ad212e14610482578063c3df9d6f146104a2578063c71b1b71146104c2578063c7a4f53d146105bd578063cd379f6e146105dd578063cf6681ea146105fd578063db6921b214610613578063dd85582f14610647578063e9d1e8ac1461067b578063eb2f4f8e146106cb578063efef39a114610194578063f7bd4b88146106eb57600080fd5b806199871461016e578061b460146101945780631607c995146101a75780631e9f2e92146101c957806324411f80146101f95780632aedc28e146102325780632f077ee6146102525780632f4b12eb146102c657806340d1397e146102e6578063462add46146103065780634d4139021461034657806356690aaf1461036657806358d581061461039d5780635bc1470f146103bd578063774159c6146103d3575b600080fd5b61018161017c36600461287b565b61070b565b6040519081526020015b60405180910390f35b6101816101a23660046128a7565b6109e6565b3480156101b357600080fd5b506101c76101c23660046128c0565b6109f8565b005b3480156101d557600080fd5b506101816101e43660046128a7565b60009081526001602052604090206002015490565b34801561020557600080fd5b506101816102143660046128a7565b600090815260016020526040902054600160281b900462ffffff1690565b34801561023e57600080fd5b506101c761024d3660046128a7565b610c21565b34801561025e57600080fd5b506102b661026d3660046128a7565b600090815260016020819052604090912080549101546001600160401b03600160401b8304811693600160801b93849004909116926001600160801b0380841693919091041690565b60405161018b94939291906128e2565b3480156102d257600080fd5b506101816102e13660046128fd565b610d30565b3480156102f257600080fd5b506101c76103013660046128a7565b610e16565b34801561031257600080fd5b506103366103213660046128a7565b60009081526001602052604090205460ff1690565b604051901515815260200161018b565b34801561035257600080fd5b506101c761036136600461287b565b610e5e565b34801561037257600080fd5b506101816103813660046128a7565b600090815260016020526040902054610100900462ffffff1690565b3480156103a957600080fd5b506101c76103b83660046128c0565b611000565b3480156103c957600080fd5b5061018160035481565b3480156103df57600080fd5b506103f36103ee3660046128a7565b6111fd565b60405161018b9493929190612973565b61018161041136600461287b565b6112a7565b34801561042257600080fd5b5061044a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161018b565b34801561046e57600080fd5b506101c761047d3660046129ad565b6112ba565b34801561048e57600080fd5b506101c761049d3660046128c0565b6112fb565b3480156104ae57600080fd5b506101c76104bd3660046128a7565b611408565b3480156104ce57600080fd5b506105586104dd3660046128a7565b600160208190526000918252604090912080549181015460029091015460ff8084169362ffffff6101008204811694600160201b830490931693600160281b8304909116926001600160401b03600160401b8404811693600160801b90819004909116926001600160801b0380841693929092049091169089565b604080519915158a5262ffffff98891660208b0152961515968901969096529590931660608701526001600160401b0391821660808701521660a08501526001600160801b0390811660c085015290911660e08301526101008201526101200161018b565b3480156105c957600080fd5b506101c76105d83660046128a7565b611415565b3480156105e957600080fd5b506101c76105f8366004612a21565b611630565b34801561060957600080fd5b5061018160025481565b34801561061f57600080fd5b506103367f000000000000000000000000000000000000000000000000000000000000000081565b34801561065357600080fd5b5061044a7f000000000000000000000000000000000000000000000000000000000000000081565b34801561068757600080fd5b506106be6040518060400160405280601781526020017626b4b73a32b92220a2bc3829b2ba3a3632b6b2b73a2b1960491b81525081565b60405161018b9190612a5c565b3480156106d757600080fd5b506101c76106e6366004612a85565b6119dc565b3480156106f757600080fd5b506101c76107063660046128a7565b611bbf565b60006002600054036107385760405162461bcd60e51b815260040161072f90612b57565b60405180910390fd5b60026000908155828152600160205260409020805460ff161561076d5760405162461bcd60e51b815260040161072f90612b8e565b600061077884611c02565b33600090815260046020908152604080832088845290915281208054929350916107ac9034906001600160e81b0316612be9565b82549091506000906107cb90600160e81b900462ffffff166001612bfc565b62ffffff1690506107dc8482612c1f565b82101561082b5760405162461bcd60e51b815260206004820152601f60248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e7400604482015260640161072f565b6001600160e81b038216600160e81b62ffffff831602178355604080518281526020810184905288913391600080516020612f50833981519152910160405180910390a360028501849055604051630d4d151360e01b81526001600160a01b038981166004830152602482018990523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f9190612c36565b8554909650620f4240870660010190610100900462ffffff16808211156109485760405162461bcd60e51b815260040161072f90612b8e565b80820361095b57865460ff191660011787555b50508454600160201b900460ff161561099e5761099987857f0000000000000000000000000000000000000000000000000000000000000000611d77565b6109d6565b8454600160281b900462ffffff168560056109b883612c65565b91906101000a81548162ffffff021916908362ffffff160217905550505b5050505050600160005592915050565b60006109f2338361070b565b92915050565b610a0182612168565b60008111610a4d5760405162461bcd60e51b815260206004820152601960248201527804f6e6c79206d617820696e766f636174696f6e73206774203603c1b604482015260640161072f565b6000828152600160205260409020805460ff1615610aad5760405162461bcd60e51b815260206004820152601f60248201527f4d617820696e766f636174696f6e7320616c7265616479207265616368656400604482015260640161072f565b600080610ab98561223f565b909250905080841115610b545760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a40161072f565b81841015610bd65760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a40161072f565b825482851463ffffffff1990911661010062ffffff87160260ff1916171783556040518481528590600080516020612f70833981519152906020015b60405180910390a25050505050565b610c31631576e14760e11b6122dc565b600081815260016020819052604082209081015490916001600160801b039091169003610c9d5760405162461bcd60e51b815260206004820152601a602482015279105d58dd1a5bdb881b5d5cdd0818994818dbdb999a59dd5c995960321b604482015260640161072f565b8054600160201b900460ff1615610cc65760405162461bcd60e51b815260040161072f90612c87565b8054600160401b600160c01b03191680825560006001830155600282015460408051600160281b90930462ffffff168352602083019190915283917f28cd2e5a54afa08469ca157e482b97c3de9efbc4c48cea254864df050677145a910160405180910390a25050565b60006001600160a01b038216610d7a5760405162461bcd60e51b815260206004820152600f60248201526e4e6f207a65726f206164647265737360881b604482015260640161072f565b60008381526001602090815260408083206001600160a01b0386168452600483528184208785529092529091208054600160e81b900462ffffff16610dd15760405162461bcd60e51b815260040161072f90612cbe565b60028201548154600090610df2908390600160e81b900462ffffff16612c1f565b8354909150610e0b9082906001600160e81b0316612cff565b979650505050505050565b610e1f81612168565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b604482015260640161072f565b600260005403610e805760405162461bcd60e51b815260040161072f90612b57565b60026000908155818152600160209081526040808320338452600483528184208585529092529091208054600160e81b900462ffffff166001600160a01b038516610edd5760405162461bcd60e51b815260040161072f90612d12565b60008111610efd5760405162461bcd60e51b815260040161072f90612cbe565b60028301546000610f0e8284612c1f565b8454909150600090610f2a9083906001600160e81b0316612cff565b9050610f35826123b8565b85546001600160e81b0319166001600160e81b0391909116178555604080518581526020810184905288913391600080516020612f50833981519152910160405180910390a36000886001600160a01b03168260405160006040518083038185875af1925050503d8060008114610fc8576040519150601f19603f3d011682016040523d82523d6000602084013e610fcd565b606091505b50508091505080610ff05760405162461bcd60e51b815260040161072f90612d49565b5050600160005550505050505050565b611010632c6ac08360e11b6122dc565b60008281526001602052604090208054600160201b900460ff16156110475760405162461bcd60e51b815260040161072f90612c87565b61105083612425565b805460ff1661109c5760405162461bcd60e51b815260206004820152601860248201527741756374696f6e206d75737420626520636f6d706c65746560401b604482015260640161072f565b806002015482106110ef5760405162461bcd60e51b815260206004820152601d60248201527f4d6179206f6e6c79207265647563652073656c6c6f7574207072696365000000604482015260640161072f565b6001810154600160801b90046001600160801b03168210156111725760405162461bcd60e51b815260206004820152603660248201527f4d6179206f6e6c79207265647563652073656c6c6f757420707269636520746f604482015275103130b9b290383934b1b29037b91033b932b0ba32b960511b606482015260840161072f565b600082116111bc5760405162461bcd60e51b815260206004820152601760248201527604f6e6c792073656c6c6f757420707269636573203e203604c1b604482015260640161072f565b6002810182905560405182815283907f6e257f2b2266f72d4bd28a2e64b0cfc245c9a1c28ec2dc591f8052f77f969c959060200160405180910390a2505050565b600081815260016020819052604082209081015481546001600160801b0390911615159291606091839190600160401b90046001600160401b031642116112535760018101546001600160801b0316935061127d565b60018101546001600160801b0316600003611271576000935061127d565b61127a86612470565b93505b6040518060400160405280600381526020016208aa8960eb1b815250925060009150509193509193565b60006112b3838361070b565b9392505050565b6112f7338383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119dc92505050565b5050565b61130b636056909760e11b6122dc565b8181116113715760405162461bcd60e51b815260206004820152602e60248201527f4d6178696d756d2068616c66206c696665206d7573742062652067726561746560448201526d72207468616e206d696e696d756d60901b606482015260840161072f565b600082116113c15760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f776564000000604482015260640161072f565b6002829055600381905560408051838152602081018390527f1d5d9c9b660aace5432c6c7412456d0ad1b5ff4c6ea156a8c551ba93555ed73f910160405180910390a15050565b6114123382610e5e565b50565b6002600054036114375760405162461bcd60e51b815260040161072f90612b57565b600260005561144d8163c7a4f53d60e01b6124a4565b60008181526001602052604090208054600160201b900460ff16156114b15760405162461bcd60e51b815260206004820152601a60248201527914995d995b9d595cc8185b1c9958591e4818dbdb1b1958dd195960321b604482015260640161072f565b6114ba82612425565b60006114c583611c02565b6001830154909150600160801b90046001600160801b0316811461153957815460ff166115345760405162461bcd60e51b815260206004820152601f60248201527f4163746976652061756374696f6e206e6f742079657420736f6c64206f757400604482015260640161072f565b6115a0565b6001820154600160801b90046001600160801b03168061159a5760405162461bcd60e51b815260206004820152601c60248201527b04f6e6c79206c617465737450757263686173655072696365203e20360241b604482015260640161072f565b60028301555b815460ff60201b1916600160201b178083556000906115cd90839062ffffff600160281b90910416612c1f565b90506115fa84827f0000000000000000000000000000000000000000000000000000000000000000611d77565b60405184907f110a44b77609d30f9b80fa9add8c3e18ba02555b3546acf2b0318a3d3229c5a790600090a2505060016000555050565b61163985612168565b60008581526001602052604090208054600160401b90046001600160401b0316158061167557508054600160401b90046001600160401b031642105b6116c05760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b604482015260640161072f565b8442106117065760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b604482015260640161072f565b8183116117785760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b606482015260840161072f565b600082116117c65760405162461bcd60e51b815260206004820152601b60248201527a42617365207072696365206d757374206265206e6f6e2d7a65726f60281b604482015260640161072f565b600281015415806117db575080600201548311155b6118445760405162461bcd60e51b815260206004820152603460248201527f41756374696f6e207374617274207072696365206d757374206265203c3d206c604482015273617465737420707572636861736520707269636560601b606482015260840161072f565b600254841015801561185857506003548411155b6118d85760405162461bcd60e51b8152602060048201526044602482018190527f50726963652064656361792068616c66206c696665206d7573742066616c6c20908201527f6265747765656e206d696e20616e64206d617820616c6c6f7761626c652076616064820152636c75657360e01b608482015260a40161072f565b6118e185612621565b81546001600160401b0391909116600160401b0267ffffffffffffffff60401b1990911617815561191184612621565b81546001600160401b0391909116600160801b0267ffffffffffffffff60801b1990911617815561194183612689565b6001820180546001600160801b0319166001600160801b039290921691909117905561196c82612689565b6001820180546001600160801b03928316600160801b02921691909117905560405186907f38b3058b75696f9e45bffa9c4b237adcde13d74c7bc1bea63e13c712d0776c74906119c39088908890889088906128e2565b60405180910390a26119d486612425565b505050505050565b6002600054036119fe5760405162461bcd60e51b815260040161072f90612b57565b60026000556001600160a01b038216611a295760405162461bcd60e51b815260040161072f90612d12565b8051600090815b81811015611b3d576000848281518110611a4c57611a4c612d74565b6020908102919091018101516000818152600183526040808220338352600485528183208484529094529020805491935090600160e81b900462ffffff1680611aa75760405162461bcd60e51b815260040161072f90612cbe565b60028301546000611ab88284612c1f565b8454909150611ad19082906001600160e81b0316612cff565b611adb908a612be9565b9850611ae6816123b8565b84546001600160e81b0319166001600160e81b0391909116178455604080518481526020810183905287913391600080516020612f50833981519152910160405180910390a3866001019650505050505050611a30565b506000846001600160a01b03168360405160006040518083038185875af1925050503d8060008114611b8b576040519150601f19603f3d011682016040523d82523d6000602084013e611b90565b606091505b50508091505080611bb35760405162461bcd60e51b815260040161072f90612d49565b50506001600055505050565b611bc881612168565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b604482015260640161072f565b6000818152600160205260408120805460ff1680611c2857508054600160201b900460ff165b15611c37576002015492915050565b80546001820154600160401b82046001600160401b0390811692600160801b9081900490911691046001600160801b0316428310611cb15760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b604482015260640161072f565b60008211611cfc5760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b604482015260640161072f565b60018401546001600160801b031642849003838181611d1d57611d1d612c4f565b0482901c9150600284858381611d3557611d35612c4f565b06840281611d4557611d45612c4f565b0481611d5357611d53612c4f565b048203915082821015611d6c5750909695505050505050565b509695505050505050565b60008211611d8457505050565b60008060008060008060007f000000000000000000000000000000000000000000000000000000000000000015611eef57604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2b9190612d8a565b969e50949c50909a50985091965091945090925090508115611ee8576040516001600160a01b038216908390600081818185875af1925050503d8060008114611e90576040519150601f19603f3d011682016040523d82523d6000602084013e611e95565b606091505b50508099505088611ee85760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161072f565b5050611f6f565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015611f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5f9190612e12565b949a509298509096509450925090505b8515612016576040516001600160a01b038616908790600081818185875af1925050503d8060008114611fbe576040519150601f19603f3d011682016040523d82523d6000602084013e611fc3565b606091505b505080975050866120165760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161072f565b83156120b5576040516001600160a01b038416908590600081818185875af1925050503d8060008114612065576040519150601f19603f3d011682016040523d82523d6000602084013e61206a565b606091505b505080975050866120b55760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161072f565b811561215c576040516001600160a01b038216908390600081818185875af1925050503d8060008114612104576040519150601f19603f3d011682016040523d82523d6000602084013e612109565b606091505b5050809750508661215c5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161072f565b50505050505050505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156121cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f19190612e7b565b6001600160a01b0316336001600160a01b0316146114125760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161072f565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa1580156122a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cd9190612ea8565b50939792965091945050505050565b60405163230448b160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061232c90339030908690600401612f07565b6020604051808303816000875af115801561234b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061236f9190612f34565b6114125760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604482015260640161072f565b60006001600160e81b038211156124215760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663332206269747360c81b606482015260840161072f565b5090565b60008181526001602052604081208054909190610100900462ffffff161580156124515750815460ff16155b9050801561246757612462836126f2565b505050565b61246283612763565b600061247b8261281a565b15612496575060009081526001602052604090206002015490565b6109f282611c02565b919050565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015612509573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252d9190612e7b565b6001600160a01b0316336001600160a01b031614806125da575060405163230448b160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061259790339030908690600401612f07565b6020604051808303816000875af11580156125b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125da9190612f34565b6112f75760405162461bcd60e51b815260206004820152601860248201527713db9b1e48105c9d1a5cdd081bdc8810591b5a5b881050d360421b604482015260640161072f565b60006001600160401b038211156124215760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b606482015260840161072f565b60006001600160801b038211156124215760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161072f565b6000806126fe8361223f565b60008581526001602052604090819020805460ff1962ffffff8516610100021663ffffffff199091161784841417815590519194509192508490600080516020612f70833981519152906127559086815260200190565b60405180910390a250505050565b60008061276f8361223f565b60008581526001602052604090208054919450919250610100900462ffffff16838111156127df57815483851463ffffffff1990911661010062ffffff87160260ff1916171782556040518481528590600080516020612f708339815191529060200160405180910390a2612813565b80831061281357815460ff191660011782556040518590600080516020612f7083398151915290610c129087815260200190565b5050505050565b60008060006128288461223f565b6000868152600160205260409020805492945090925090610100900462ffffff168281111561285a5750501492915050565b90921015949350505050565b6001600160a01b038116811461141257600080fd5b6000806040838503121561288e57600080fd5b823561289981612866565b946020939093013593505050565b6000602082840312156128b957600080fd5b5035919050565b600080604083850312156128d357600080fd5b50508035926020909101359150565b93845260208401929092526040830152606082015260800190565b6000806040838503121561291057600080fd5b82359150602083013561292281612866565b809150509250929050565b6000815180845260005b8181101561295357602081850181015186830182015201612937565b506000602082860101526020601f19601f83011685010191505092915050565b8415158152836020820152608060408201526000612994608083018561292d565b905060018060a01b038316606083015295945050505050565b600080602083850312156129c057600080fd5b82356001600160401b03808211156129d757600080fd5b818501915085601f8301126129eb57600080fd5b8135818111156129fa57600080fd5b8660208260051b8501011115612a0f57600080fd5b60209290920196919550909350505050565b600080600080600060a08688031215612a3957600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6020815260006112b3602083018461292d565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612a9857600080fd5b8235612aa381612866565b91506020838101356001600160401b0380821115612ac057600080fd5b818601915086601f830112612ad457600080fd5b813581811115612ae657612ae6612a6f565b8060051b604051601f19603f83011681018181108582111715612b0b57612b0b612a6f565b604052918252848201925083810185019189831115612b2957600080fd5b938501935b82851015612b4757843584529385019392850192612b2e565b8096505050505050509250929050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526025908201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656040820152641858da195960da1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808201808211156109f2576109f2612bd3565b62ffffff818116838216019080821115612c1857612c18612bd3565b5092915050565b80820281158282048414176109f2576109f2612bd3565b600060208284031215612c4857600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b600062ffffff808316818103612c7d57612c7d612bd3565b6001019392505050565b6020808252601e908201527f4f6e6c79206265666f726520726576656e75657320636f6c6c65637465640000604082015260600190565b60208082526021908201527f4e6f20707572636861736573206d6164652062792074686973206164647265736040820152607360f81b606082015260800190565b818103818111156109f2576109f2612bd3565b6020808252601f908201527f4e6f20636c61696d696e6720746f20746865207a65726f206164647265737300604082015260600190565b602080825260119082015270149958db185a5b5a5b99c819985a5b1959607a1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600080600080600080600080610100898b031215612da757600080fd5b885197506020890151612db981612866565b60408a015160608b01519198509650612dd181612866565b60808a015160a08b01519196509450612de981612866565b60c08a015160e08b01519194509250612e0181612866565b809150509295985092959890939650565b60008060008060008060c08789031215612e2b57600080fd5b865195506020870151612e3d81612866565b604088015160608901519196509450612e5581612866565b608088015160a08901519194509250612e6d81612866565b809150509295509295509295565b600060208284031215612e8d57600080fd5b81516112b381612866565b8051801515811461249f57600080fd5b60008060008060008060c08789031215612ec157600080fd5b8651955060208701519450612ed860408801612e98565b9350612ee660608801612e98565b925060808701519150612efb60a08801612e98565b90509295509295509295565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b600060208284031215612f4657600080fd5b6112b382612e9856fe88bc1bf6777e1eaef8a0583c526f6963c9183af9ee82015f9a28f55b9115ea718445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1a2646970667358221220b8cdc3b657045dc6b60a610d0b35c97e14378d94d02758d129dea6c18e6b649464736f6c63430008110033",
1125
+ "linkReferences": {},
1126
+ "deployedLinkReferences": {}
1127
+ }