ocean-contracts 2.0.4__py3-none-any.whl → 2.2.0__py3-none-any.whl

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 (36) hide show
  1. addresses/address.json +29 -7
  2. artifacts/AccessList.json +630 -0
  3. artifacts/AccessListFactory.json +220 -0
  4. artifacts/Booster.json +557 -0
  5. artifacts/DFRewards.json +2 -2
  6. artifacts/DFStrategyV1.json +2 -2
  7. artifacts/Dispenser.json +2 -2
  8. artifacts/ERC20Template.json +2 -2
  9. artifacts/ERC20Template3.json +2 -2
  10. artifacts/ERC20Template4.json +1806 -0
  11. artifacts/ERC20TemplateEnterprise.json +2 -2
  12. artifacts/ERC721.json +2 -2
  13. artifacts/ERC721Factory.json +2 -2
  14. artifacts/ERC721Template.json +2 -2
  15. artifacts/ERC725Ocean.json +2 -2
  16. artifacts/FactoryRouter.json +2 -2
  17. artifacts/FixedRateExchange.json +2 -2
  18. artifacts/IAccessList.json +68 -0
  19. artifacts/IAccessListContract.json +30 -0
  20. artifacts/IAccessListFactory.json +49 -0
  21. artifacts/MockERC20.json +2 -2
  22. artifacts/MockOcean.json +2 -2
  23. artifacts/MockOldDT.json +2 -2
  24. artifacts/OPFCommunityFeeCollector.json +2 -2
  25. artifacts/OceanToken.json +2 -2
  26. artifacts/PredictoorHelper.json +2 -2
  27. artifacts/SmartWalletChecker.json +2 -2
  28. artifacts/Splitter.json +2 -2
  29. artifacts/VestingWalletHalving.json +2 -2
  30. artifacts/VestingWalletLinear.json +2 -2
  31. artifacts/veAllocate.json +2 -2
  32. artifacts/veFeeDistributorOwner.json +2 -2
  33. {ocean_contracts-2.0.4.dist-info → ocean_contracts-2.2.0.dist-info}/METADATA +1 -1
  34. {ocean_contracts-2.0.4.dist-info → ocean_contracts-2.2.0.dist-info}/RECORD +36 -29
  35. {ocean_contracts-2.0.4.dist-info → ocean_contracts-2.2.0.dist-info}/WHEEL +1 -1
  36. {ocean_contracts-2.0.4.dist-info → ocean_contracts-2.2.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,630 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "AccessList",
4
+ "sourceName": "contracts/accesslists/AccessList.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "anonymous": false,
13
+ "inputs": [
14
+ {
15
+ "indexed": true,
16
+ "internalType": "address",
17
+ "name": "wallet",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "indexed": false,
22
+ "internalType": "uint256",
23
+ "name": "tokenId",
24
+ "type": "uint256"
25
+ }
26
+ ],
27
+ "name": "AddressAdded",
28
+ "type": "event"
29
+ },
30
+ {
31
+ "anonymous": false,
32
+ "inputs": [
33
+ {
34
+ "indexed": false,
35
+ "internalType": "uint256",
36
+ "name": "tokenId",
37
+ "type": "uint256"
38
+ }
39
+ ],
40
+ "name": "AddressRemoved",
41
+ "type": "event"
42
+ },
43
+ {
44
+ "anonymous": false,
45
+ "inputs": [
46
+ {
47
+ "indexed": true,
48
+ "internalType": "address",
49
+ "name": "owner",
50
+ "type": "address"
51
+ },
52
+ {
53
+ "indexed": true,
54
+ "internalType": "address",
55
+ "name": "approved",
56
+ "type": "address"
57
+ },
58
+ {
59
+ "indexed": true,
60
+ "internalType": "uint256",
61
+ "name": "tokenId",
62
+ "type": "uint256"
63
+ }
64
+ ],
65
+ "name": "Approval",
66
+ "type": "event"
67
+ },
68
+ {
69
+ "anonymous": false,
70
+ "inputs": [
71
+ {
72
+ "indexed": true,
73
+ "internalType": "address",
74
+ "name": "owner",
75
+ "type": "address"
76
+ },
77
+ {
78
+ "indexed": true,
79
+ "internalType": "address",
80
+ "name": "operator",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "indexed": false,
85
+ "internalType": "bool",
86
+ "name": "approved",
87
+ "type": "bool"
88
+ }
89
+ ],
90
+ "name": "ApprovalForAll",
91
+ "type": "event"
92
+ },
93
+ {
94
+ "anonymous": false,
95
+ "inputs": [
96
+ {
97
+ "indexed": false,
98
+ "internalType": "uint256",
99
+ "name": "_fromTokenId",
100
+ "type": "uint256"
101
+ },
102
+ {
103
+ "indexed": false,
104
+ "internalType": "uint256",
105
+ "name": "_toTokenId",
106
+ "type": "uint256"
107
+ }
108
+ ],
109
+ "name": "BatchMetadataUpdate",
110
+ "type": "event"
111
+ },
112
+ {
113
+ "anonymous": false,
114
+ "inputs": [
115
+ {
116
+ "indexed": false,
117
+ "internalType": "uint256",
118
+ "name": "_tokenId",
119
+ "type": "uint256"
120
+ }
121
+ ],
122
+ "name": "MetadataUpdate",
123
+ "type": "event"
124
+ },
125
+ {
126
+ "anonymous": false,
127
+ "inputs": [
128
+ {
129
+ "indexed": true,
130
+ "internalType": "address",
131
+ "name": "previousOwner",
132
+ "type": "address"
133
+ },
134
+ {
135
+ "indexed": true,
136
+ "internalType": "address",
137
+ "name": "newOwner",
138
+ "type": "address"
139
+ }
140
+ ],
141
+ "name": "OwnershipTransferred",
142
+ "type": "event"
143
+ },
144
+ {
145
+ "anonymous": false,
146
+ "inputs": [
147
+ {
148
+ "indexed": true,
149
+ "internalType": "address",
150
+ "name": "from",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "indexed": true,
155
+ "internalType": "address",
156
+ "name": "to",
157
+ "type": "address"
158
+ },
159
+ {
160
+ "indexed": true,
161
+ "internalType": "uint256",
162
+ "name": "tokenId",
163
+ "type": "uint256"
164
+ }
165
+ ],
166
+ "name": "Transfer",
167
+ "type": "event"
168
+ },
169
+ {
170
+ "inputs": [
171
+ {
172
+ "internalType": "address",
173
+ "name": "to",
174
+ "type": "address"
175
+ },
176
+ {
177
+ "internalType": "uint256",
178
+ "name": "tokenId",
179
+ "type": "uint256"
180
+ }
181
+ ],
182
+ "name": "approve",
183
+ "outputs": [],
184
+ "stateMutability": "nonpayable",
185
+ "type": "function"
186
+ },
187
+ {
188
+ "inputs": [
189
+ {
190
+ "internalType": "address",
191
+ "name": "owner",
192
+ "type": "address"
193
+ }
194
+ ],
195
+ "name": "balanceOf",
196
+ "outputs": [
197
+ {
198
+ "internalType": "uint256",
199
+ "name": "",
200
+ "type": "uint256"
201
+ }
202
+ ],
203
+ "stateMutability": "view",
204
+ "type": "function"
205
+ },
206
+ {
207
+ "inputs": [
208
+ {
209
+ "internalType": "address[]",
210
+ "name": "user",
211
+ "type": "address[]"
212
+ },
213
+ {
214
+ "internalType": "string[]",
215
+ "name": "_tokenURI",
216
+ "type": "string[]"
217
+ }
218
+ ],
219
+ "name": "batchMint",
220
+ "outputs": [],
221
+ "stateMutability": "nonpayable",
222
+ "type": "function"
223
+ },
224
+ {
225
+ "inputs": [
226
+ {
227
+ "internalType": "uint256",
228
+ "name": "tokenId",
229
+ "type": "uint256"
230
+ }
231
+ ],
232
+ "name": "burn",
233
+ "outputs": [],
234
+ "stateMutability": "nonpayable",
235
+ "type": "function"
236
+ },
237
+ {
238
+ "inputs": [
239
+ {
240
+ "internalType": "uint256",
241
+ "name": "tokenId",
242
+ "type": "uint256"
243
+ }
244
+ ],
245
+ "name": "getApproved",
246
+ "outputs": [
247
+ {
248
+ "internalType": "address",
249
+ "name": "",
250
+ "type": "address"
251
+ }
252
+ ],
253
+ "stateMutability": "view",
254
+ "type": "function"
255
+ },
256
+ {
257
+ "inputs": [
258
+ {
259
+ "internalType": "address",
260
+ "name": "owner_",
261
+ "type": "address"
262
+ },
263
+ {
264
+ "internalType": "string",
265
+ "name": "name_",
266
+ "type": "string"
267
+ },
268
+ {
269
+ "internalType": "string",
270
+ "name": "symbol_",
271
+ "type": "string"
272
+ },
273
+ {
274
+ "internalType": "bool",
275
+ "name": "transferable_",
276
+ "type": "bool"
277
+ },
278
+ {
279
+ "internalType": "address[]",
280
+ "name": "user",
281
+ "type": "address[]"
282
+ },
283
+ {
284
+ "internalType": "string[]",
285
+ "name": "_tokenURI",
286
+ "type": "string[]"
287
+ }
288
+ ],
289
+ "name": "initialize",
290
+ "outputs": [
291
+ {
292
+ "internalType": "bool",
293
+ "name": "",
294
+ "type": "bool"
295
+ }
296
+ ],
297
+ "stateMutability": "nonpayable",
298
+ "type": "function"
299
+ },
300
+ {
301
+ "inputs": [
302
+ {
303
+ "internalType": "address",
304
+ "name": "owner",
305
+ "type": "address"
306
+ },
307
+ {
308
+ "internalType": "address",
309
+ "name": "operator",
310
+ "type": "address"
311
+ }
312
+ ],
313
+ "name": "isApprovedForAll",
314
+ "outputs": [
315
+ {
316
+ "internalType": "bool",
317
+ "name": "",
318
+ "type": "bool"
319
+ }
320
+ ],
321
+ "stateMutability": "view",
322
+ "type": "function"
323
+ },
324
+ {
325
+ "inputs": [
326
+ {
327
+ "internalType": "address",
328
+ "name": "user",
329
+ "type": "address"
330
+ },
331
+ {
332
+ "internalType": "string",
333
+ "name": "_tokenURI",
334
+ "type": "string"
335
+ }
336
+ ],
337
+ "name": "mint",
338
+ "outputs": [
339
+ {
340
+ "internalType": "uint256",
341
+ "name": "",
342
+ "type": "uint256"
343
+ }
344
+ ],
345
+ "stateMutability": "nonpayable",
346
+ "type": "function"
347
+ },
348
+ {
349
+ "inputs": [],
350
+ "name": "name",
351
+ "outputs": [
352
+ {
353
+ "internalType": "string",
354
+ "name": "",
355
+ "type": "string"
356
+ }
357
+ ],
358
+ "stateMutability": "view",
359
+ "type": "function"
360
+ },
361
+ {
362
+ "inputs": [],
363
+ "name": "owner",
364
+ "outputs": [
365
+ {
366
+ "internalType": "address",
367
+ "name": "",
368
+ "type": "address"
369
+ }
370
+ ],
371
+ "stateMutability": "view",
372
+ "type": "function"
373
+ },
374
+ {
375
+ "inputs": [
376
+ {
377
+ "internalType": "uint256",
378
+ "name": "tokenId",
379
+ "type": "uint256"
380
+ }
381
+ ],
382
+ "name": "ownerOf",
383
+ "outputs": [
384
+ {
385
+ "internalType": "address",
386
+ "name": "",
387
+ "type": "address"
388
+ }
389
+ ],
390
+ "stateMutability": "view",
391
+ "type": "function"
392
+ },
393
+ {
394
+ "inputs": [],
395
+ "name": "renounceOwnership",
396
+ "outputs": [],
397
+ "stateMutability": "nonpayable",
398
+ "type": "function"
399
+ },
400
+ {
401
+ "inputs": [
402
+ {
403
+ "internalType": "address",
404
+ "name": "from",
405
+ "type": "address"
406
+ },
407
+ {
408
+ "internalType": "address",
409
+ "name": "to",
410
+ "type": "address"
411
+ },
412
+ {
413
+ "internalType": "uint256",
414
+ "name": "tokenId",
415
+ "type": "uint256"
416
+ }
417
+ ],
418
+ "name": "safeTransferFrom",
419
+ "outputs": [],
420
+ "stateMutability": "nonpayable",
421
+ "type": "function"
422
+ },
423
+ {
424
+ "inputs": [
425
+ {
426
+ "internalType": "address",
427
+ "name": "from",
428
+ "type": "address"
429
+ },
430
+ {
431
+ "internalType": "address",
432
+ "name": "to",
433
+ "type": "address"
434
+ },
435
+ {
436
+ "internalType": "uint256",
437
+ "name": "tokenId",
438
+ "type": "uint256"
439
+ },
440
+ {
441
+ "internalType": "bytes",
442
+ "name": "data",
443
+ "type": "bytes"
444
+ }
445
+ ],
446
+ "name": "safeTransferFrom",
447
+ "outputs": [],
448
+ "stateMutability": "nonpayable",
449
+ "type": "function"
450
+ },
451
+ {
452
+ "inputs": [
453
+ {
454
+ "internalType": "address",
455
+ "name": "operator",
456
+ "type": "address"
457
+ },
458
+ {
459
+ "internalType": "bool",
460
+ "name": "approved",
461
+ "type": "bool"
462
+ }
463
+ ],
464
+ "name": "setApprovalForAll",
465
+ "outputs": [],
466
+ "stateMutability": "nonpayable",
467
+ "type": "function"
468
+ },
469
+ {
470
+ "inputs": [
471
+ {
472
+ "internalType": "bytes4",
473
+ "name": "interfaceId",
474
+ "type": "bytes4"
475
+ }
476
+ ],
477
+ "name": "supportsInterface",
478
+ "outputs": [
479
+ {
480
+ "internalType": "bool",
481
+ "name": "",
482
+ "type": "bool"
483
+ }
484
+ ],
485
+ "stateMutability": "view",
486
+ "type": "function"
487
+ },
488
+ {
489
+ "inputs": [],
490
+ "name": "symbol",
491
+ "outputs": [
492
+ {
493
+ "internalType": "string",
494
+ "name": "",
495
+ "type": "string"
496
+ }
497
+ ],
498
+ "stateMutability": "view",
499
+ "type": "function"
500
+ },
501
+ {
502
+ "inputs": [
503
+ {
504
+ "internalType": "uint256",
505
+ "name": "index",
506
+ "type": "uint256"
507
+ }
508
+ ],
509
+ "name": "tokenByIndex",
510
+ "outputs": [
511
+ {
512
+ "internalType": "uint256",
513
+ "name": "",
514
+ "type": "uint256"
515
+ }
516
+ ],
517
+ "stateMutability": "view",
518
+ "type": "function"
519
+ },
520
+ {
521
+ "inputs": [
522
+ {
523
+ "internalType": "address",
524
+ "name": "owner",
525
+ "type": "address"
526
+ },
527
+ {
528
+ "internalType": "uint256",
529
+ "name": "index",
530
+ "type": "uint256"
531
+ }
532
+ ],
533
+ "name": "tokenOfOwnerByIndex",
534
+ "outputs": [
535
+ {
536
+ "internalType": "uint256",
537
+ "name": "",
538
+ "type": "uint256"
539
+ }
540
+ ],
541
+ "stateMutability": "view",
542
+ "type": "function"
543
+ },
544
+ {
545
+ "inputs": [
546
+ {
547
+ "internalType": "uint256",
548
+ "name": "tokenId",
549
+ "type": "uint256"
550
+ }
551
+ ],
552
+ "name": "tokenURI",
553
+ "outputs": [
554
+ {
555
+ "internalType": "string",
556
+ "name": "",
557
+ "type": "string"
558
+ }
559
+ ],
560
+ "stateMutability": "view",
561
+ "type": "function"
562
+ },
563
+ {
564
+ "inputs": [],
565
+ "name": "totalSupply",
566
+ "outputs": [
567
+ {
568
+ "internalType": "uint256",
569
+ "name": "",
570
+ "type": "uint256"
571
+ }
572
+ ],
573
+ "stateMutability": "view",
574
+ "type": "function"
575
+ },
576
+ {
577
+ "inputs": [
578
+ {
579
+ "internalType": "address",
580
+ "name": "from",
581
+ "type": "address"
582
+ },
583
+ {
584
+ "internalType": "address",
585
+ "name": "to",
586
+ "type": "address"
587
+ },
588
+ {
589
+ "internalType": "uint256",
590
+ "name": "tokenId",
591
+ "type": "uint256"
592
+ }
593
+ ],
594
+ "name": "transferFrom",
595
+ "outputs": [],
596
+ "stateMutability": "nonpayable",
597
+ "type": "function"
598
+ },
599
+ {
600
+ "inputs": [
601
+ {
602
+ "internalType": "address",
603
+ "name": "newOwner",
604
+ "type": "address"
605
+ }
606
+ ],
607
+ "name": "transferOwnership",
608
+ "outputs": [],
609
+ "stateMutability": "nonpayable",
610
+ "type": "function"
611
+ },
612
+ {
613
+ "inputs": [],
614
+ "name": "transferable",
615
+ "outputs": [
616
+ {
617
+ "internalType": "bool",
618
+ "name": "",
619
+ "type": "bool"
620
+ }
621
+ ],
622
+ "stateMutability": "view",
623
+ "type": "function"
624
+ }
625
+ ],
626
+ "bytecode": "0x608060405234801561001057600080fd5b50604080516020808201835260008083528351918201909352828152909161003883826100ec565b50600161004582826100ec565b5050506101aa565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061007757607f821691505b60208210810361009757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156100e757806000526020600020601f840160051c810160208510156100c45750805b601f840160051c820191505b818110156100e457600081556001016100d0565b50505b505050565b81516001600160401b038111156101055761010561004d565b610119816101138454610063565b8461009d565b6020601f82116001811461014d57600083156101355750848201515b600019600385901b1c1916600184901b1784556100e4565b600084815260208120601f198516915b8281101561017d578785015182556020948501946001909201910161015d565b508482101561019b5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b61250c806101b96000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806364ba144e116100c3578063a22cb4651161007c578063a22cb465146102ca578063b88d4fde146102dd578063c87b56dd146102f0578063d0def52114610303578063e985e9c514610316578063f2fde38b1461035257600080fd5b806364ba144e1461027157806370a0823114610284578063715018a6146102975780638da5cb5b1461029f57806392ff0d31146102b557806395d89b41146102c257600080fd5b80632f745c59116101155780632f745c59146101ff57806342842e0e1461021257806342966c68146102255780634f6ccce71461023857806350e67fbc1461024b5780636352211e1461025e57600080fd5b806301ffc9a71461015d57806306fdde0314610185578063081812fc1461019a578063095ea7b3146101c557806318160ddd146101da57806323b872dd146101ec575b600080fd5b61017061016b366004611b4a565b610365565b60405190151581526020015b60405180910390f35b61018d610376565b60405161017c9190611bb7565b6101ad6101a8366004611bca565b610408565b6040516001600160a01b03909116815260200161017c565b6101d86101d3366004611bff565b61042f565b005b6008545b60405190815260200161017c565b6101d86101fa366004611c29565b610549565b6101de61020d366004611bff565b61057a565b6101d8610220366004611c29565b610610565b6101d8610233366004611bca565b61062b565b6101de610246366004611bca565b6106f0565b610170610259366004611e98565b610783565b6101ad61026c366004611bca565b6108a0565b6101d861027f366004611f81565b610900565b6101de610292366004611fe8565b61095d565b6101d86109e3565b600c5461010090046001600160a01b03166101ad565b600f546101709060ff1681565b61018d6109f7565b6101d86102d8366004612003565b610a06565b6101d86102eb366004612036565b610a15565b61018d6102fe366004611bca565b610a4d565b6101de6103113660046120b1565b610a58565b6101706103243660046120f4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6101d8610360366004611fe8565b610a73565b600061037082610ae9565b92915050565b6060600d80546103859061211e565b80601f01602080910402602001604051908101604052809291908181526020018280546103b19061211e565b80156103fe5780601f106103d3576101008083540402835291602001916103fe565b820191906000526020600020905b8154815290600101906020018083116103e157829003601f168201915b5050505050905090565b600061041382610b0e565b506000908152600460205260409020546001600160a01b031690565b600061043a826108a0565b9050806001600160a01b0316836001600160a01b0316036104ac5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806104c857506104c88133610324565b61053a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104a3565b6105448383610b6d565b505050565b6105533382610bdb565b61056f5760405162461bcd60e51b81526004016104a390612158565b610544838383610c5a565b60006105858361095d565b82106105e75760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016104a3565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b61054483838360405180602001604052806000815250610a15565b600c5461010090046001600160a01b03166001600160a01b0316336001600160a01b0316148061067157506000818152600260205260409020546001600160a01b031633145b6106b15760405162461bcd60e51b815260206004820152601160248201527022a9219b99189d102737ba1037bbb732b960791b60448201526064016104a3565b6040518181527fb1e731889e7185f2cc895a86c70cded99d77ab8ecea58ab5abe5d43b084f51ae9060200160405180910390a16106ed81610dcb565b50565b60006106fb60085490565b821061075e5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016104a3565b60088281548110610771576107716121a5565b90600052602060002001549050919050565b600c5460009060ff16156107cf5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016104a3565b600d6107dc888a83612202565b50600e6107ea868883612202565b50600c805460ff196001600160a01b038c166101000281166001600160a81b031990921691909117600117909155600f8054861515921691909117905581518351148015610839575060008251115b156108915760005b835181101561088f5761088684828151811061085f5761085f6121a5565b6020026020010151848381518110610879576108796121a5565b6020026020010151610dd4565b50600101610841565b505b50600198975050505050505050565b6000818152600260205260408120546001600160a01b0316806103705760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016104a3565b610908610e48565b6000815183511461091857600080fd5b5060005b82518110156105445761095483828151811061093a5761093a6121a5565b6020026020010151838381518110610879576108796121a5565b5060010161091c565b60006001600160a01b0382166109c75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016104a3565b506001600160a01b031660009081526003602052604090205490565b6109eb610e48565b6109f56000610ea8565b565b6060600e80546103859061211e565b610a11338383610f02565b5050565b610a1f3383610bdb565b610a3b5760405162461bcd60e51b81526004016104a390612158565b610a4784848484610fd0565b50505050565b606061037082611003565b6000610a62610e48565b610a6c8383610dd4565b9392505050565b610a7b610e48565b6001600160a01b038116610ae05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104a3565b6106ed81610ea8565b60006001600160e01b03198216632483248360e11b148061037057506103708261110b565b6000818152600260205260409020546001600160a01b03166106ed5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016104a3565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610ba2826108a0565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610be7836108a0565b9050806001600160a01b0316846001600160a01b03161480610c2e57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610c525750836001600160a01b0316610c4784610408565b6001600160a01b0316145b949350505050565b826001600160a01b0316610c6d826108a0565b6001600160a01b031614610c935760405162461bcd60e51b81526004016104a3906122c1565b6001600160a01b038216610cf55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016104a3565b610d028383836001611130565b826001600160a01b0316610d15826108a0565b6001600160a01b031614610d3b5760405162461bcd60e51b81526004016104a3906122c1565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6106ed816111ad565b6000610de4600b80546001019055565b6000610def600b5490565b9050836001600160a01b03167f9cc987676e7d63379f176ea50df0ae8d2d9d1141d1231d4ce15b5965f73c943082604051610e2c91815260200190565b60405180910390a2610e3e84826111ed565b610a6c8184611386565b600c546001600160a01b036101009091041633146109f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a3565b600c80546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603610f635760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104a3565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610fdb848484610c5a565b610fe784848484611451565b610a475760405162461bcd60e51b81526004016104a390612306565b606061100e82610b0e565b6000828152600a6020526040812080546110279061211e565b80601f01602080910402602001604051908101604052809291908181526020018280546110539061211e565b80156110a05780601f10611075576101008083540402835291602001916110a0565b820191906000526020600020905b81548152906001019060200180831161108357829003601f168201915b5050505050905060006110be60408051602081019091526000815290565b905080516000036110d0575092915050565b8151156111025780826040516020016110ea929190612358565b60405160208183030381529060405292505050919050565b610c5284611552565b60006001600160e01b0319821663780e9d6360e01b14806103705750610370826115c5565b600f5460ff1615156000036111a1576001600160a01b038416158061115c57506001600160a01b038316155b6111a15760405162461bcd60e51b8152602060048201526016602482015275546f6b656e206e6f74207472616e7366657261626c6560501b60448201526064016104a3565b610a4784848484611615565b6111b681611749565b6000818152600a6020526040902080546111cf9061211e565b1590506106ed576000818152600a602052604081206106ed91611ae6565b6001600160a01b0382166112435760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104a3565b6000818152600260205260409020546001600160a01b0316156112a85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104a3565b6112b6600083836001611130565b6000818152600260205260409020546001600160a01b03161561131b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104a3565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600260205260409020546001600160a01b03166114015760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016104a3565b6000828152600a602052604090206114198282612387565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160a01b0384163b1561154757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611495903390899088908890600401612445565b6020604051808303816000875af19250505080156114d0575060408051601f3d908101601f191682019092526114cd91810190612482565b60015b61152d573d8080156114fe576040519150601f19603f3d011682016040523d82523d6000602084013e611503565b606091505b5080516000036115255760405162461bcd60e51b81526004016104a390612306565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610c52565b506001949350505050565b606061155d82610b0e565b600061157460408051602081019091526000815290565b905060008151116115945760405180602001604052806000815250610a6c565b8061159e846117ec565b6040516020016115af929190612358565b6040516020818303038152906040529392505050565b60006001600160e01b031982166380ac58cd60e01b14806115f657506001600160e01b03198216635b5e139f60e01b145b8061037057506301ffc9a760e01b6001600160e01b0319831614610370565b60018111156116845760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016104a3565b816001600160a01b0385166116e0576116db81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611703565b836001600160a01b0316856001600160a01b03161461170357611703858261187e565b6001600160a01b03841661171f5761171a8161191b565b611742565b846001600160a01b0316846001600160a01b0316146117425761174284826119ca565b5050505050565b6000611754826108a0565b9050611764816000846001611130565b61176d826108a0565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006117f983611a0e565b60010190506000816001600160401b0381111561181857611818611cbe565b6040519080825280601f01601f191660200182016040528015611842576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461184c57509392505050565b6000600161188b8461095d565b611895919061249f565b6000838152600760205260409020549091508082146118e8576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061192d9060019061249f565b60008381526009602052604081205460088054939450909284908110611955576119556121a5565b906000526020600020015490508060088381548110611976576119766121a5565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806119ae576119ae6124c0565b6001900381819060005260206000200160009055905550505050565b60006119d58361095d565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a4d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611a79576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611a9757662386f26fc10000830492506010015b6305f5e1008310611aaf576305f5e100830492506008015b6127108310611ac357612710830492506004015b60648310611ad5576064830492506002015b600a83106103705760010192915050565b508054611af29061211e565b6000825580601f10611b02575050565b601f0160209004906000526020600020908101906106ed91905b80821115611b305760008155600101611b1c565b5090565b6001600160e01b0319811681146106ed57600080fd5b600060208284031215611b5c57600080fd5b8135610a6c81611b34565b60005b83811015611b82578181015183820152602001611b6a565b50506000910152565b60008151808452611ba3816020860160208601611b67565b601f01601f19169290920160200192915050565b602081526000610a6c6020830184611b8b565b600060208284031215611bdc57600080fd5b5035919050565b80356001600160a01b0381168114611bfa57600080fd5b919050565b60008060408385031215611c1257600080fd5b611c1b83611be3565b946020939093013593505050565b600080600060608486031215611c3e57600080fd5b611c4784611be3565b9250611c5560208501611be3565b929592945050506040919091013590565b60008083601f840112611c7857600080fd5b5081356001600160401b03811115611c8f57600080fd5b602083019150836020828501011115611ca757600080fd5b9250929050565b80358015158114611bfa57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611cfc57611cfc611cbe565b604052919050565b60006001600160401b03821115611d1d57611d1d611cbe565b5060051b60200190565b600082601f830112611d3857600080fd5b8135611d4b611d4682611d04565b611cd4565b8082825260208201915060208360051b860101925085831115611d6d57600080fd5b602085015b83811015611d9157611d8381611be3565b835260209283019201611d72565b5095945050505050565b6000806001600160401b03841115611db557611db5611cbe565b50601f8301601f1916602001611dca81611cd4565b915050828152838383011115611ddf57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611e0757600080fd5b610a6c83833560208501611d9b565b600082601f830112611e2757600080fd5b8135611e35611d4682611d04565b8082825260208201915060208360051b860101925085831115611e5757600080fd5b602085015b83811015611d915780356001600160401b03811115611e7a57600080fd5b611e89886020838a0101611df6565b84525060209283019201611e5c565b60008060008060008060008060c0898b031215611eb457600080fd5b611ebd89611be3565b975060208901356001600160401b03811115611ed857600080fd5b611ee48b828c01611c66565b90985096505060408901356001600160401b03811115611f0357600080fd5b611f0f8b828c01611c66565b9096509450611f22905060608a01611cae565b925060808901356001600160401b03811115611f3d57600080fd5b611f498b828c01611d27565b92505060a08901356001600160401b03811115611f6557600080fd5b611f718b828c01611e16565b9150509295985092959890939650565b60008060408385031215611f9457600080fd5b82356001600160401b03811115611faa57600080fd5b611fb685828601611d27565b92505060208301356001600160401b03811115611fd257600080fd5b611fde85828601611e16565b9150509250929050565b600060208284031215611ffa57600080fd5b610a6c82611be3565b6000806040838503121561201657600080fd5b61201f83611be3565b915061202d60208401611cae565b90509250929050565b6000806000806080858703121561204c57600080fd5b61205585611be3565b935061206360208601611be3565b92506040850135915060608501356001600160401b0381111561208557600080fd5b8501601f8101871361209657600080fd5b6120a587823560208401611d9b565b91505092959194509250565b600080604083850312156120c457600080fd5b6120cd83611be3565b915060208301356001600160401b038111156120e857600080fd5b611fde85828601611df6565b6000806040838503121561210757600080fd5b61211083611be3565b915061202d60208401611be3565b600181811c9082168061213257607f821691505b60208210810361215257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b601f82111561054457806000526020600020601f840160051c810160208510156121e25750805b601f840160051c820191505b8181101561174257600081556001016121ee565b6001600160401b0383111561221957612219611cbe565b61222d83612227835461211e565b836121bb565b6000601f84116001811461226157600085156122495750838201355b600019600387901b1c1916600186901b178355611742565b600083815260209020601f19861690835b828110156122925786850135825560209485019460019092019101612272565b50868210156122af5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000835161236a818460208801611b67565b83519083019061237e818360208801611b67565b01949350505050565b81516001600160401b038111156123a0576123a0611cbe565b6123b4816123ae845461211e565b846121bb565b6020601f8211600181146123e857600083156123d05750848201515b600019600385901b1c1916600184901b178455611742565b600084815260208120601f198516915b8281101561241857878501518255602094850194600190920191016123f8565b50848210156124365786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061247890830184611b8b565b9695505050505050565b60006020828403121561249457600080fd5b8151610a6c81611b34565b8181038181111561037057634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea264697066735822122022f104feca5359a096ed34571368d166e6a14d02d1e1020dda9227bcd177952b64736f6c634300081a0033",
627
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c806364ba144e116100c3578063a22cb4651161007c578063a22cb465146102ca578063b88d4fde146102dd578063c87b56dd146102f0578063d0def52114610303578063e985e9c514610316578063f2fde38b1461035257600080fd5b806364ba144e1461027157806370a0823114610284578063715018a6146102975780638da5cb5b1461029f57806392ff0d31146102b557806395d89b41146102c257600080fd5b80632f745c59116101155780632f745c59146101ff57806342842e0e1461021257806342966c68146102255780634f6ccce71461023857806350e67fbc1461024b5780636352211e1461025e57600080fd5b806301ffc9a71461015d57806306fdde0314610185578063081812fc1461019a578063095ea7b3146101c557806318160ddd146101da57806323b872dd146101ec575b600080fd5b61017061016b366004611b4a565b610365565b60405190151581526020015b60405180910390f35b61018d610376565b60405161017c9190611bb7565b6101ad6101a8366004611bca565b610408565b6040516001600160a01b03909116815260200161017c565b6101d86101d3366004611bff565b61042f565b005b6008545b60405190815260200161017c565b6101d86101fa366004611c29565b610549565b6101de61020d366004611bff565b61057a565b6101d8610220366004611c29565b610610565b6101d8610233366004611bca565b61062b565b6101de610246366004611bca565b6106f0565b610170610259366004611e98565b610783565b6101ad61026c366004611bca565b6108a0565b6101d861027f366004611f81565b610900565b6101de610292366004611fe8565b61095d565b6101d86109e3565b600c5461010090046001600160a01b03166101ad565b600f546101709060ff1681565b61018d6109f7565b6101d86102d8366004612003565b610a06565b6101d86102eb366004612036565b610a15565b61018d6102fe366004611bca565b610a4d565b6101de6103113660046120b1565b610a58565b6101706103243660046120f4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6101d8610360366004611fe8565b610a73565b600061037082610ae9565b92915050565b6060600d80546103859061211e565b80601f01602080910402602001604051908101604052809291908181526020018280546103b19061211e565b80156103fe5780601f106103d3576101008083540402835291602001916103fe565b820191906000526020600020905b8154815290600101906020018083116103e157829003601f168201915b5050505050905090565b600061041382610b0e565b506000908152600460205260409020546001600160a01b031690565b600061043a826108a0565b9050806001600160a01b0316836001600160a01b0316036104ac5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806104c857506104c88133610324565b61053a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104a3565b6105448383610b6d565b505050565b6105533382610bdb565b61056f5760405162461bcd60e51b81526004016104a390612158565b610544838383610c5a565b60006105858361095d565b82106105e75760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016104a3565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b61054483838360405180602001604052806000815250610a15565b600c5461010090046001600160a01b03166001600160a01b0316336001600160a01b0316148061067157506000818152600260205260409020546001600160a01b031633145b6106b15760405162461bcd60e51b815260206004820152601160248201527022a9219b99189d102737ba1037bbb732b960791b60448201526064016104a3565b6040518181527fb1e731889e7185f2cc895a86c70cded99d77ab8ecea58ab5abe5d43b084f51ae9060200160405180910390a16106ed81610dcb565b50565b60006106fb60085490565b821061075e5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016104a3565b60088281548110610771576107716121a5565b90600052602060002001549050919050565b600c5460009060ff16156107cf5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016104a3565b600d6107dc888a83612202565b50600e6107ea868883612202565b50600c805460ff196001600160a01b038c166101000281166001600160a81b031990921691909117600117909155600f8054861515921691909117905581518351148015610839575060008251115b156108915760005b835181101561088f5761088684828151811061085f5761085f6121a5565b6020026020010151848381518110610879576108796121a5565b6020026020010151610dd4565b50600101610841565b505b50600198975050505050505050565b6000818152600260205260408120546001600160a01b0316806103705760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016104a3565b610908610e48565b6000815183511461091857600080fd5b5060005b82518110156105445761095483828151811061093a5761093a6121a5565b6020026020010151838381518110610879576108796121a5565b5060010161091c565b60006001600160a01b0382166109c75760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016104a3565b506001600160a01b031660009081526003602052604090205490565b6109eb610e48565b6109f56000610ea8565b565b6060600e80546103859061211e565b610a11338383610f02565b5050565b610a1f3383610bdb565b610a3b5760405162461bcd60e51b81526004016104a390612158565b610a4784848484610fd0565b50505050565b606061037082611003565b6000610a62610e48565b610a6c8383610dd4565b9392505050565b610a7b610e48565b6001600160a01b038116610ae05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104a3565b6106ed81610ea8565b60006001600160e01b03198216632483248360e11b148061037057506103708261110b565b6000818152600260205260409020546001600160a01b03166106ed5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016104a3565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610ba2826108a0565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610be7836108a0565b9050806001600160a01b0316846001600160a01b03161480610c2e57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610c525750836001600160a01b0316610c4784610408565b6001600160a01b0316145b949350505050565b826001600160a01b0316610c6d826108a0565b6001600160a01b031614610c935760405162461bcd60e51b81526004016104a3906122c1565b6001600160a01b038216610cf55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016104a3565b610d028383836001611130565b826001600160a01b0316610d15826108a0565b6001600160a01b031614610d3b5760405162461bcd60e51b81526004016104a3906122c1565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6106ed816111ad565b6000610de4600b80546001019055565b6000610def600b5490565b9050836001600160a01b03167f9cc987676e7d63379f176ea50df0ae8d2d9d1141d1231d4ce15b5965f73c943082604051610e2c91815260200190565b60405180910390a2610e3e84826111ed565b610a6c8184611386565b600c546001600160a01b036101009091041633146109f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a3565b600c80546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603610f635760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104a3565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610fdb848484610c5a565b610fe784848484611451565b610a475760405162461bcd60e51b81526004016104a390612306565b606061100e82610b0e565b6000828152600a6020526040812080546110279061211e565b80601f01602080910402602001604051908101604052809291908181526020018280546110539061211e565b80156110a05780601f10611075576101008083540402835291602001916110a0565b820191906000526020600020905b81548152906001019060200180831161108357829003601f168201915b5050505050905060006110be60408051602081019091526000815290565b905080516000036110d0575092915050565b8151156111025780826040516020016110ea929190612358565b60405160208183030381529060405292505050919050565b610c5284611552565b60006001600160e01b0319821663780e9d6360e01b14806103705750610370826115c5565b600f5460ff1615156000036111a1576001600160a01b038416158061115c57506001600160a01b038316155b6111a15760405162461bcd60e51b8152602060048201526016602482015275546f6b656e206e6f74207472616e7366657261626c6560501b60448201526064016104a3565b610a4784848484611615565b6111b681611749565b6000818152600a6020526040902080546111cf9061211e565b1590506106ed576000818152600a602052604081206106ed91611ae6565b6001600160a01b0382166112435760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104a3565b6000818152600260205260409020546001600160a01b0316156112a85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104a3565b6112b6600083836001611130565b6000818152600260205260409020546001600160a01b03161561131b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104a3565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152600260205260409020546001600160a01b03166114015760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016104a3565b6000828152600a602052604090206114198282612387565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160a01b0384163b1561154757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611495903390899088908890600401612445565b6020604051808303816000875af19250505080156114d0575060408051601f3d908101601f191682019092526114cd91810190612482565b60015b61152d573d8080156114fe576040519150601f19603f3d011682016040523d82523d6000602084013e611503565b606091505b5080516000036115255760405162461bcd60e51b81526004016104a390612306565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610c52565b506001949350505050565b606061155d82610b0e565b600061157460408051602081019091526000815290565b905060008151116115945760405180602001604052806000815250610a6c565b8061159e846117ec565b6040516020016115af929190612358565b6040516020818303038152906040529392505050565b60006001600160e01b031982166380ac58cd60e01b14806115f657506001600160e01b03198216635b5e139f60e01b145b8061037057506301ffc9a760e01b6001600160e01b0319831614610370565b60018111156116845760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016104a3565b816001600160a01b0385166116e0576116db81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611703565b836001600160a01b0316856001600160a01b03161461170357611703858261187e565b6001600160a01b03841661171f5761171a8161191b565b611742565b846001600160a01b0316846001600160a01b0316146117425761174284826119ca565b5050505050565b6000611754826108a0565b9050611764816000846001611130565b61176d826108a0565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006117f983611a0e565b60010190506000816001600160401b0381111561181857611818611cbe565b6040519080825280601f01601f191660200182016040528015611842576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461184c57509392505050565b6000600161188b8461095d565b611895919061249f565b6000838152600760205260409020549091508082146118e8576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061192d9060019061249f565b60008381526009602052604081205460088054939450909284908110611955576119556121a5565b906000526020600020015490508060088381548110611976576119766121a5565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806119ae576119ae6124c0565b6001900381819060005260206000200160009055905550505050565b60006119d58361095d565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a4d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611a79576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611a9757662386f26fc10000830492506010015b6305f5e1008310611aaf576305f5e100830492506008015b6127108310611ac357612710830492506004015b60648310611ad5576064830492506002015b600a83106103705760010192915050565b508054611af29061211e565b6000825580601f10611b02575050565b601f0160209004906000526020600020908101906106ed91905b80821115611b305760008155600101611b1c565b5090565b6001600160e01b0319811681146106ed57600080fd5b600060208284031215611b5c57600080fd5b8135610a6c81611b34565b60005b83811015611b82578181015183820152602001611b6a565b50506000910152565b60008151808452611ba3816020860160208601611b67565b601f01601f19169290920160200192915050565b602081526000610a6c6020830184611b8b565b600060208284031215611bdc57600080fd5b5035919050565b80356001600160a01b0381168114611bfa57600080fd5b919050565b60008060408385031215611c1257600080fd5b611c1b83611be3565b946020939093013593505050565b600080600060608486031215611c3e57600080fd5b611c4784611be3565b9250611c5560208501611be3565b929592945050506040919091013590565b60008083601f840112611c7857600080fd5b5081356001600160401b03811115611c8f57600080fd5b602083019150836020828501011115611ca757600080fd5b9250929050565b80358015158114611bfa57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611cfc57611cfc611cbe565b604052919050565b60006001600160401b03821115611d1d57611d1d611cbe565b5060051b60200190565b600082601f830112611d3857600080fd5b8135611d4b611d4682611d04565b611cd4565b8082825260208201915060208360051b860101925085831115611d6d57600080fd5b602085015b83811015611d9157611d8381611be3565b835260209283019201611d72565b5095945050505050565b6000806001600160401b03841115611db557611db5611cbe565b50601f8301601f1916602001611dca81611cd4565b915050828152838383011115611ddf57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611e0757600080fd5b610a6c83833560208501611d9b565b600082601f830112611e2757600080fd5b8135611e35611d4682611d04565b8082825260208201915060208360051b860101925085831115611e5757600080fd5b602085015b83811015611d915780356001600160401b03811115611e7a57600080fd5b611e89886020838a0101611df6565b84525060209283019201611e5c565b60008060008060008060008060c0898b031215611eb457600080fd5b611ebd89611be3565b975060208901356001600160401b03811115611ed857600080fd5b611ee48b828c01611c66565b90985096505060408901356001600160401b03811115611f0357600080fd5b611f0f8b828c01611c66565b9096509450611f22905060608a01611cae565b925060808901356001600160401b03811115611f3d57600080fd5b611f498b828c01611d27565b92505060a08901356001600160401b03811115611f6557600080fd5b611f718b828c01611e16565b9150509295985092959890939650565b60008060408385031215611f9457600080fd5b82356001600160401b03811115611faa57600080fd5b611fb685828601611d27565b92505060208301356001600160401b03811115611fd257600080fd5b611fde85828601611e16565b9150509250929050565b600060208284031215611ffa57600080fd5b610a6c82611be3565b6000806040838503121561201657600080fd5b61201f83611be3565b915061202d60208401611cae565b90509250929050565b6000806000806080858703121561204c57600080fd5b61205585611be3565b935061206360208601611be3565b92506040850135915060608501356001600160401b0381111561208557600080fd5b8501601f8101871361209657600080fd5b6120a587823560208401611d9b565b91505092959194509250565b600080604083850312156120c457600080fd5b6120cd83611be3565b915060208301356001600160401b038111156120e857600080fd5b611fde85828601611df6565b6000806040838503121561210757600080fd5b61211083611be3565b915061202d60208401611be3565b600181811c9082168061213257607f821691505b60208210810361215257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b601f82111561054457806000526020600020601f840160051c810160208510156121e25750805b601f840160051c820191505b8181101561174257600081556001016121ee565b6001600160401b0383111561221957612219611cbe565b61222d83612227835461211e565b836121bb565b6000601f84116001811461226157600085156122495750838201355b600019600387901b1c1916600186901b178355611742565b600083815260209020601f19861690835b828110156122925786850135825560209485019460019092019101612272565b50868210156122af5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000835161236a818460208801611b67565b83519083019061237e818360208801611b67565b01949350505050565b81516001600160401b038111156123a0576123a0611cbe565b6123b4816123ae845461211e565b846121bb565b6020601f8211600181146123e857600083156123d05750848201515b600019600385901b1c1916600184901b178455611742565b600084815260208120601f198516915b8281101561241857878501518255602094850194600190920191016123f8565b50848210156124365786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061247890830184611b8b565b9695505050505050565b60006020828403121561249457600080fd5b8151610a6c81611b34565b8181038181111561037057634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea264697066735822122022f104feca5359a096ed34571368d166e6a14d02d1e1020dda9227bcd177952b64736f6c634300081a0033",
628
+ "linkReferences": {},
629
+ "deployedLinkReferences": {}
630
+ }