@oceanprotocol/lib 0.19.3 → 1.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/README.md +1 -1
  3. package/artifacts/ERC721Factory.sol/ERC721Factory.json +1164 -0
  4. package/artifacts/addresses/address.json +21 -0
  5. package/artifacts/communityFee/OPFCommunityFeeCollector.sol/OPFCommunityFeeCollector.json +116 -0
  6. package/artifacts/pools/FactoryRouter.sol/FactoryRouter.json +1086 -0
  7. package/artifacts/pools/balancer/BPool.sol/BPool.json +1744 -0
  8. package/artifacts/pools/dispenser/Dispenser.sol/Dispenser.json +358 -0
  9. package/artifacts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json +917 -0
  10. package/artifacts/pools/ssContracts/SideStaking.sol/SideStaking.json +428 -0
  11. package/artifacts/templates/ERC20Template.sol/ERC20Template.json +1382 -0
  12. package/artifacts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json +1530 -0
  13. package/artifacts/templates/ERC721Template.sol/ERC721Template.json +1534 -0
  14. package/artifacts/utils/mock/MockERC20.sol/MockERC20.json +302 -0
  15. package/artifacts/utils/mock/MockERC20Decimals.sol/MockERC20Decimals.json +302 -0
  16. package/dist/node/lib.js +1 -1
  17. package/dist/node/lib.js.map +1 -1
  18. package/dist/node/lib.module.js +1 -1
  19. package/dist/node/lib.module.js.map +1 -1
  20. package/dist/node/lib.umd.js +1 -1
  21. package/dist/node/lib.umd.js.map +1 -1
  22. package/dist/node/src/@types/Asset.d.ts +36 -0
  23. package/dist/node/{ocean/interfaces → src/@types}/Compute.d.ts +21 -12
  24. package/dist/node/src/@types/DDO/Credentials.d.ts +8 -0
  25. package/dist/node/src/@types/DDO/DDO.d.ts +15 -0
  26. package/dist/node/src/@types/DDO/Event.d.ts +7 -0
  27. package/dist/node/src/@types/DDO/Metadata.d.ts +38 -0
  28. package/dist/node/src/@types/DDO/Service.d.ts +28 -0
  29. package/dist/node/src/@types/FileMetadata.d.ts +8 -0
  30. package/dist/node/src/@types/Provider.d.ts +15 -0
  31. package/dist/node/src/@types/index.d.ts +8 -0
  32. package/dist/node/src/aquarius/Aquarius.d.ts +10 -0
  33. package/dist/node/src/aquarius/index.d.ts +1 -0
  34. package/dist/node/src/factories/NFTFactory.d.ts +70 -0
  35. package/dist/node/src/factories/index.d.ts +1 -0
  36. package/dist/node/src/index.d.ts +8 -0
  37. package/dist/node/src/interfaces/DispenserInterface.d.ts +7 -0
  38. package/dist/node/src/interfaces/Erc20Interface.d.ts +11 -0
  39. package/dist/node/src/interfaces/FixedRateInterface.d.ts +19 -0
  40. package/dist/node/src/interfaces/PoolInterface.d.ts +36 -0
  41. package/dist/node/src/interfaces/RouterInterface.d.ts +12 -0
  42. package/dist/node/src/interfaces/index.d.ts +5 -0
  43. package/dist/node/{models → src/models}/Config.d.ts +10 -6
  44. package/dist/node/src/models/index.d.ts +1 -0
  45. package/dist/node/src/pools/Router.d.ts +46 -0
  46. package/dist/node/src/pools/balancer/Pool.d.ts +73 -0
  47. package/dist/node/src/pools/balancer/index.d.ts +1 -0
  48. package/dist/node/src/pools/dispenser/Dispenser.d.ts +37 -0
  49. package/dist/node/src/pools/dispenser/index.d.ts +1 -0
  50. package/dist/node/src/pools/fixedRate/FixedRateExchange.d.ts +95 -0
  51. package/dist/node/src/pools/fixedRate/index.d.ts +1 -0
  52. package/dist/node/src/pools/index.d.ts +3 -0
  53. package/dist/node/src/pools/ssContracts/SideStaking.d.ts +28 -0
  54. package/dist/node/src/pools/ssContracts/index.d.ts +1 -0
  55. package/dist/node/src/provider/Provider.d.ts +31 -0
  56. package/dist/node/src/provider/index.d.ts +1 -0
  57. package/dist/node/src/tokens/Datatoken.d.ts +77 -0
  58. package/dist/node/src/tokens/NFT.d.ts +57 -0
  59. package/dist/node/src/tokens/index.d.ts +2 -0
  60. package/dist/node/src/utils/ConfigHelper.d.ts +6 -0
  61. package/dist/node/src/utils/Constants.d.ts +1 -0
  62. package/dist/node/src/utils/ContractParams.d.ts +4 -0
  63. package/dist/node/src/utils/ConversionTypeHelper.d.ts +3 -0
  64. package/dist/node/{utils/Datatokens.d.ts → src/utils/DatatokenName.d.ts} +1 -1
  65. package/dist/node/src/utils/DdoHelpers.d.ts +2 -0
  66. package/dist/node/src/utils/FetchHelper.d.ts +5 -0
  67. package/dist/node/{utils → src/utils}/GasUtils.d.ts +0 -0
  68. package/dist/node/{utils → src/utils}/Logger.d.ts +0 -0
  69. package/dist/node/src/utils/SignatureUtils.d.ts +8 -0
  70. package/dist/node/src/utils/index.d.ts +9 -0
  71. package/package.json +23 -19
  72. package/dist/node/Instantiable.abstract.d.ts +0 -25
  73. package/dist/node/balancer/OceanPool.d.ts +0 -94
  74. package/dist/node/balancer/Pool.d.ts +0 -55
  75. package/dist/node/balancer/PoolFactory.d.ts +0 -13
  76. package/dist/node/datatokens/ContractEvent.d.ts +0 -19
  77. package/dist/node/datatokens/ContractHandler.d.ts +0 -12
  78. package/dist/node/datatokens/Datatokens.d.ts +0 -42
  79. package/dist/node/datatokens/EventHandler.d.ts +0 -19
  80. package/dist/node/datatokens/Network.d.ts +0 -5
  81. package/dist/node/datatokens/Web3Provider.d.ts +0 -5
  82. package/dist/node/datatokens/contracts/ContractBase.d.ts +0 -27
  83. package/dist/node/ddo/DDO.d.ts +0 -36
  84. package/dist/node/ddo/interfaces/AdditionalInformation.d.ts +0 -16
  85. package/dist/node/ddo/interfaces/Authentication.d.ts +0 -4
  86. package/dist/node/ddo/interfaces/BestPrice.d.ts +0 -10
  87. package/dist/node/ddo/interfaces/Consumable.d.ts +0 -5
  88. package/dist/node/ddo/interfaces/Credentials.d.ts +0 -9
  89. package/dist/node/ddo/interfaces/Curation.d.ts +0 -6
  90. package/dist/node/ddo/interfaces/DataTokenInfo.d.ts +0 -10
  91. package/dist/node/ddo/interfaces/EditableMetadata.d.ts +0 -9
  92. package/dist/node/ddo/interfaces/EditableMetadataLinks.d.ts +0 -5
  93. package/dist/node/ddo/interfaces/Event.d.ts +0 -7
  94. package/dist/node/ddo/interfaces/File.d.ts +0 -13
  95. package/dist/node/ddo/interfaces/Metadata.d.ts +0 -15
  96. package/dist/node/ddo/interfaces/MetadataAlgorithm.d.ts +0 -12
  97. package/dist/node/ddo/interfaces/MetadataMain.d.ts +0 -12
  98. package/dist/node/ddo/interfaces/Proof.d.ts +0 -6
  99. package/dist/node/ddo/interfaces/PublicKey.d.ts +0 -8
  100. package/dist/node/ddo/interfaces/PurgatoryData.d.ts +0 -4
  101. package/dist/node/ddo/interfaces/Service.d.ts +0 -99
  102. package/dist/node/ddo/interfaces/ServicePrices.d.ts +0 -4
  103. package/dist/node/ddo/interfaces/Status.d.ts +0 -5
  104. package/dist/node/ddo/interfaces/index.d.ts +0 -17
  105. package/dist/node/dispenser/Dispenser.d.ts +0 -42
  106. package/dist/node/exchange/FixedRateExchange.d.ts +0 -57
  107. package/dist/node/index.d.ts +0 -1
  108. package/dist/node/lib.d.ts +0 -15
  109. package/dist/node/metadatacache/MetadataCache.d.ts +0 -41
  110. package/dist/node/metadatacache/OnChainMetaData.d.ts +0 -29
  111. package/dist/node/ocean/Account.d.ts +0 -16
  112. package/dist/node/ocean/Accounts.d.ts +0 -9
  113. package/dist/node/ocean/Assets.d.ts +0 -56
  114. package/dist/node/ocean/AssetsCredential.d.ts +0 -6
  115. package/dist/node/ocean/Compute.d.ts +0 -75
  116. package/dist/node/ocean/DID.d.ts +0 -8
  117. package/dist/node/ocean/EventAccessControl.d.ts +0 -9
  118. package/dist/node/ocean/Ocean.d.ts +0 -34
  119. package/dist/node/ocean/OceanAuth.d.ts +0 -15
  120. package/dist/node/ocean/Versions.d.ts +0 -25
  121. package/dist/node/ocean/utils/SignatureUtils.d.ts +0 -13
  122. package/dist/node/ocean/utils/Utils.d.ts +0 -8
  123. package/dist/node/ocean/utils/WebServiceConnector.d.ts +0 -15
  124. package/dist/node/provider/Provider.d.ts +0 -49
  125. package/dist/node/utils/AssetResolverHelper.d.ts +0 -8
  126. package/dist/node/utils/ConfigHelper.d.ts +0 -13
  127. package/dist/node/utils/ConversionTypeHelpers.d.ts +0 -8
  128. package/dist/node/utils/GeneratorHelpers.d.ts +0 -1
  129. package/dist/node/utils/PromiseResolver.d.ts +0 -3
  130. package/dist/node/utils/SubscribableObserver.d.ts +0 -12
  131. package/dist/node/utils/SubscribablePromise.d.ts +0 -14
  132. package/dist/node/utils/Timeout.d.ts +0 -1
  133. package/dist/node/utils/index.d.ts +0 -9
@@ -0,0 +1,1534 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ERC721Template",
4
+ "sourceName": "contracts/templates/ERC721Template.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "user",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "signer",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "uint256",
24
+ "name": "timestamp",
25
+ "type": "uint256"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "uint256",
30
+ "name": "blockNumber",
31
+ "type": "uint256"
32
+ }
33
+ ],
34
+ "name": "AddedManager",
35
+ "type": "event"
36
+ },
37
+ {
38
+ "anonymous": false,
39
+ "inputs": [
40
+ {
41
+ "indexed": true,
42
+ "internalType": "address",
43
+ "name": "user",
44
+ "type": "address"
45
+ },
46
+ {
47
+ "indexed": true,
48
+ "internalType": "address",
49
+ "name": "signer",
50
+ "type": "address"
51
+ },
52
+ {
53
+ "indexed": false,
54
+ "internalType": "uint256",
55
+ "name": "timestamp",
56
+ "type": "uint256"
57
+ },
58
+ {
59
+ "indexed": false,
60
+ "internalType": "uint256",
61
+ "name": "blockNumber",
62
+ "type": "uint256"
63
+ }
64
+ ],
65
+ "name": "AddedTo725StoreList",
66
+ "type": "event"
67
+ },
68
+ {
69
+ "anonymous": false,
70
+ "inputs": [
71
+ {
72
+ "indexed": true,
73
+ "internalType": "address",
74
+ "name": "user",
75
+ "type": "address"
76
+ },
77
+ {
78
+ "indexed": true,
79
+ "internalType": "address",
80
+ "name": "signer",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "indexed": false,
85
+ "internalType": "uint256",
86
+ "name": "timestamp",
87
+ "type": "uint256"
88
+ },
89
+ {
90
+ "indexed": false,
91
+ "internalType": "uint256",
92
+ "name": "blockNumber",
93
+ "type": "uint256"
94
+ }
95
+ ],
96
+ "name": "AddedToCreateERC20List",
97
+ "type": "event"
98
+ },
99
+ {
100
+ "anonymous": false,
101
+ "inputs": [
102
+ {
103
+ "indexed": true,
104
+ "internalType": "address",
105
+ "name": "user",
106
+ "type": "address"
107
+ },
108
+ {
109
+ "indexed": true,
110
+ "internalType": "address",
111
+ "name": "signer",
112
+ "type": "address"
113
+ },
114
+ {
115
+ "indexed": false,
116
+ "internalType": "uint256",
117
+ "name": "timestamp",
118
+ "type": "uint256"
119
+ },
120
+ {
121
+ "indexed": false,
122
+ "internalType": "uint256",
123
+ "name": "blockNumber",
124
+ "type": "uint256"
125
+ }
126
+ ],
127
+ "name": "AddedToMetadataList",
128
+ "type": "event"
129
+ },
130
+ {
131
+ "anonymous": false,
132
+ "inputs": [
133
+ {
134
+ "indexed": true,
135
+ "internalType": "address",
136
+ "name": "owner",
137
+ "type": "address"
138
+ },
139
+ {
140
+ "indexed": true,
141
+ "internalType": "address",
142
+ "name": "approved",
143
+ "type": "address"
144
+ },
145
+ {
146
+ "indexed": true,
147
+ "internalType": "uint256",
148
+ "name": "tokenId",
149
+ "type": "uint256"
150
+ }
151
+ ],
152
+ "name": "Approval",
153
+ "type": "event"
154
+ },
155
+ {
156
+ "anonymous": false,
157
+ "inputs": [
158
+ {
159
+ "indexed": true,
160
+ "internalType": "address",
161
+ "name": "owner",
162
+ "type": "address"
163
+ },
164
+ {
165
+ "indexed": true,
166
+ "internalType": "address",
167
+ "name": "operator",
168
+ "type": "address"
169
+ },
170
+ {
171
+ "indexed": false,
172
+ "internalType": "bool",
173
+ "name": "approved",
174
+ "type": "bool"
175
+ }
176
+ ],
177
+ "name": "ApprovalForAll",
178
+ "type": "event"
179
+ },
180
+ {
181
+ "anonymous": false,
182
+ "inputs": [
183
+ {
184
+ "indexed": true,
185
+ "internalType": "address",
186
+ "name": "signer",
187
+ "type": "address"
188
+ },
189
+ {
190
+ "indexed": false,
191
+ "internalType": "uint256",
192
+ "name": "timestamp",
193
+ "type": "uint256"
194
+ },
195
+ {
196
+ "indexed": false,
197
+ "internalType": "uint256",
198
+ "name": "blockNumber",
199
+ "type": "uint256"
200
+ }
201
+ ],
202
+ "name": "CleanedPermissions",
203
+ "type": "event"
204
+ },
205
+ {
206
+ "anonymous": false,
207
+ "inputs": [
208
+ {
209
+ "indexed": true,
210
+ "internalType": "address",
211
+ "name": "contractAddress",
212
+ "type": "address"
213
+ }
214
+ ],
215
+ "name": "ContractCreated",
216
+ "type": "event"
217
+ },
218
+ {
219
+ "anonymous": false,
220
+ "inputs": [
221
+ {
222
+ "indexed": true,
223
+ "internalType": "bytes32",
224
+ "name": "key",
225
+ "type": "bytes32"
226
+ },
227
+ {
228
+ "indexed": false,
229
+ "internalType": "bytes",
230
+ "name": "value",
231
+ "type": "bytes"
232
+ }
233
+ ],
234
+ "name": "DataChanged",
235
+ "type": "event"
236
+ },
237
+ {
238
+ "anonymous": false,
239
+ "inputs": [
240
+ {
241
+ "indexed": true,
242
+ "internalType": "uint256",
243
+ "name": "_operation",
244
+ "type": "uint256"
245
+ },
246
+ {
247
+ "indexed": true,
248
+ "internalType": "address",
249
+ "name": "_to",
250
+ "type": "address"
251
+ },
252
+ {
253
+ "indexed": true,
254
+ "internalType": "uint256",
255
+ "name": "_value",
256
+ "type": "uint256"
257
+ },
258
+ {
259
+ "indexed": false,
260
+ "internalType": "bytes",
261
+ "name": "_data",
262
+ "type": "bytes"
263
+ }
264
+ ],
265
+ "name": "Executed",
266
+ "type": "event"
267
+ },
268
+ {
269
+ "anonymous": false,
270
+ "inputs": [
271
+ {
272
+ "indexed": true,
273
+ "internalType": "address",
274
+ "name": "createdBy",
275
+ "type": "address"
276
+ },
277
+ {
278
+ "indexed": false,
279
+ "internalType": "uint8",
280
+ "name": "state",
281
+ "type": "uint8"
282
+ },
283
+ {
284
+ "indexed": false,
285
+ "internalType": "string",
286
+ "name": "decryptorUrl",
287
+ "type": "string"
288
+ },
289
+ {
290
+ "indexed": false,
291
+ "internalType": "bytes",
292
+ "name": "flags",
293
+ "type": "bytes"
294
+ },
295
+ {
296
+ "indexed": false,
297
+ "internalType": "bytes",
298
+ "name": "data",
299
+ "type": "bytes"
300
+ },
301
+ {
302
+ "indexed": false,
303
+ "internalType": "bytes32",
304
+ "name": "metaDataHash",
305
+ "type": "bytes32"
306
+ },
307
+ {
308
+ "indexed": false,
309
+ "internalType": "uint256",
310
+ "name": "timestamp",
311
+ "type": "uint256"
312
+ },
313
+ {
314
+ "indexed": false,
315
+ "internalType": "uint256",
316
+ "name": "blockNumber",
317
+ "type": "uint256"
318
+ }
319
+ ],
320
+ "name": "MetadataCreated",
321
+ "type": "event"
322
+ },
323
+ {
324
+ "anonymous": false,
325
+ "inputs": [
326
+ {
327
+ "indexed": true,
328
+ "internalType": "address",
329
+ "name": "updatedBy",
330
+ "type": "address"
331
+ },
332
+ {
333
+ "indexed": false,
334
+ "internalType": "uint8",
335
+ "name": "state",
336
+ "type": "uint8"
337
+ },
338
+ {
339
+ "indexed": false,
340
+ "internalType": "uint256",
341
+ "name": "timestamp",
342
+ "type": "uint256"
343
+ },
344
+ {
345
+ "indexed": false,
346
+ "internalType": "uint256",
347
+ "name": "blockNumber",
348
+ "type": "uint256"
349
+ }
350
+ ],
351
+ "name": "MetadataState",
352
+ "type": "event"
353
+ },
354
+ {
355
+ "anonymous": false,
356
+ "inputs": [
357
+ {
358
+ "indexed": true,
359
+ "internalType": "address",
360
+ "name": "updatedBy",
361
+ "type": "address"
362
+ },
363
+ {
364
+ "indexed": false,
365
+ "internalType": "uint8",
366
+ "name": "state",
367
+ "type": "uint8"
368
+ },
369
+ {
370
+ "indexed": false,
371
+ "internalType": "string",
372
+ "name": "decryptorUrl",
373
+ "type": "string"
374
+ },
375
+ {
376
+ "indexed": false,
377
+ "internalType": "bytes",
378
+ "name": "flags",
379
+ "type": "bytes"
380
+ },
381
+ {
382
+ "indexed": false,
383
+ "internalType": "bytes",
384
+ "name": "data",
385
+ "type": "bytes"
386
+ },
387
+ {
388
+ "indexed": false,
389
+ "internalType": "bytes32",
390
+ "name": "metaDataHash",
391
+ "type": "bytes32"
392
+ },
393
+ {
394
+ "indexed": false,
395
+ "internalType": "uint256",
396
+ "name": "timestamp",
397
+ "type": "uint256"
398
+ },
399
+ {
400
+ "indexed": false,
401
+ "internalType": "uint256",
402
+ "name": "blockNumber",
403
+ "type": "uint256"
404
+ }
405
+ ],
406
+ "name": "MetadataUpdated",
407
+ "type": "event"
408
+ },
409
+ {
410
+ "anonymous": false,
411
+ "inputs": [
412
+ {
413
+ "indexed": true,
414
+ "internalType": "address",
415
+ "name": "validator",
416
+ "type": "address"
417
+ },
418
+ {
419
+ "indexed": false,
420
+ "internalType": "bytes32",
421
+ "name": "metaDataHash",
422
+ "type": "bytes32"
423
+ },
424
+ {
425
+ "indexed": false,
426
+ "internalType": "uint8",
427
+ "name": "v",
428
+ "type": "uint8"
429
+ },
430
+ {
431
+ "indexed": false,
432
+ "internalType": "bytes32",
433
+ "name": "r",
434
+ "type": "bytes32"
435
+ },
436
+ {
437
+ "indexed": false,
438
+ "internalType": "bytes32",
439
+ "name": "s",
440
+ "type": "bytes32"
441
+ }
442
+ ],
443
+ "name": "MetadataValidated",
444
+ "type": "event"
445
+ },
446
+ {
447
+ "anonymous": false,
448
+ "inputs": [
449
+ {
450
+ "indexed": true,
451
+ "internalType": "address",
452
+ "name": "user",
453
+ "type": "address"
454
+ },
455
+ {
456
+ "indexed": true,
457
+ "internalType": "address",
458
+ "name": "signer",
459
+ "type": "address"
460
+ },
461
+ {
462
+ "indexed": false,
463
+ "internalType": "uint256",
464
+ "name": "timestamp",
465
+ "type": "uint256"
466
+ },
467
+ {
468
+ "indexed": false,
469
+ "internalType": "uint256",
470
+ "name": "blockNumber",
471
+ "type": "uint256"
472
+ }
473
+ ],
474
+ "name": "RemovedFrom725StoreList",
475
+ "type": "event"
476
+ },
477
+ {
478
+ "anonymous": false,
479
+ "inputs": [
480
+ {
481
+ "indexed": true,
482
+ "internalType": "address",
483
+ "name": "user",
484
+ "type": "address"
485
+ },
486
+ {
487
+ "indexed": true,
488
+ "internalType": "address",
489
+ "name": "signer",
490
+ "type": "address"
491
+ },
492
+ {
493
+ "indexed": false,
494
+ "internalType": "uint256",
495
+ "name": "timestamp",
496
+ "type": "uint256"
497
+ },
498
+ {
499
+ "indexed": false,
500
+ "internalType": "uint256",
501
+ "name": "blockNumber",
502
+ "type": "uint256"
503
+ }
504
+ ],
505
+ "name": "RemovedFromCreateERC20List",
506
+ "type": "event"
507
+ },
508
+ {
509
+ "anonymous": false,
510
+ "inputs": [
511
+ {
512
+ "indexed": true,
513
+ "internalType": "address",
514
+ "name": "user",
515
+ "type": "address"
516
+ },
517
+ {
518
+ "indexed": true,
519
+ "internalType": "address",
520
+ "name": "signer",
521
+ "type": "address"
522
+ },
523
+ {
524
+ "indexed": false,
525
+ "internalType": "uint256",
526
+ "name": "timestamp",
527
+ "type": "uint256"
528
+ },
529
+ {
530
+ "indexed": false,
531
+ "internalType": "uint256",
532
+ "name": "blockNumber",
533
+ "type": "uint256"
534
+ }
535
+ ],
536
+ "name": "RemovedFromMetadataList",
537
+ "type": "event"
538
+ },
539
+ {
540
+ "anonymous": false,
541
+ "inputs": [
542
+ {
543
+ "indexed": true,
544
+ "internalType": "address",
545
+ "name": "user",
546
+ "type": "address"
547
+ },
548
+ {
549
+ "indexed": true,
550
+ "internalType": "address",
551
+ "name": "signer",
552
+ "type": "address"
553
+ },
554
+ {
555
+ "indexed": false,
556
+ "internalType": "uint256",
557
+ "name": "timestamp",
558
+ "type": "uint256"
559
+ },
560
+ {
561
+ "indexed": false,
562
+ "internalType": "uint256",
563
+ "name": "blockNumber",
564
+ "type": "uint256"
565
+ }
566
+ ],
567
+ "name": "RemovedManager",
568
+ "type": "event"
569
+ },
570
+ {
571
+ "anonymous": false,
572
+ "inputs": [
573
+ {
574
+ "indexed": true,
575
+ "internalType": "address",
576
+ "name": "newTokenAddress",
577
+ "type": "address"
578
+ },
579
+ {
580
+ "indexed": true,
581
+ "internalType": "address",
582
+ "name": "templateAddress",
583
+ "type": "address"
584
+ },
585
+ {
586
+ "indexed": false,
587
+ "internalType": "string",
588
+ "name": "name",
589
+ "type": "string"
590
+ },
591
+ {
592
+ "indexed": false,
593
+ "internalType": "string",
594
+ "name": "symbol",
595
+ "type": "string"
596
+ },
597
+ {
598
+ "indexed": false,
599
+ "internalType": "uint256",
600
+ "name": "cap",
601
+ "type": "uint256"
602
+ },
603
+ {
604
+ "indexed": false,
605
+ "internalType": "address",
606
+ "name": "creator",
607
+ "type": "address"
608
+ }
609
+ ],
610
+ "name": "TokenCreated",
611
+ "type": "event"
612
+ },
613
+ {
614
+ "anonymous": false,
615
+ "inputs": [
616
+ {
617
+ "indexed": true,
618
+ "internalType": "address",
619
+ "name": "updatedBy",
620
+ "type": "address"
621
+ },
622
+ {
623
+ "indexed": false,
624
+ "internalType": "string",
625
+ "name": "tokenURI",
626
+ "type": "string"
627
+ },
628
+ {
629
+ "indexed": false,
630
+ "internalType": "uint256",
631
+ "name": "tokenID",
632
+ "type": "uint256"
633
+ },
634
+ {
635
+ "indexed": false,
636
+ "internalType": "uint256",
637
+ "name": "timestamp",
638
+ "type": "uint256"
639
+ },
640
+ {
641
+ "indexed": false,
642
+ "internalType": "uint256",
643
+ "name": "blockNumber",
644
+ "type": "uint256"
645
+ }
646
+ ],
647
+ "name": "TokenURIUpdate",
648
+ "type": "event"
649
+ },
650
+ {
651
+ "anonymous": false,
652
+ "inputs": [
653
+ {
654
+ "indexed": true,
655
+ "internalType": "address",
656
+ "name": "from",
657
+ "type": "address"
658
+ },
659
+ {
660
+ "indexed": true,
661
+ "internalType": "address",
662
+ "name": "to",
663
+ "type": "address"
664
+ },
665
+ {
666
+ "indexed": true,
667
+ "internalType": "uint256",
668
+ "name": "tokenId",
669
+ "type": "uint256"
670
+ }
671
+ ],
672
+ "name": "Transfer",
673
+ "type": "event"
674
+ },
675
+ {
676
+ "stateMutability": "payable",
677
+ "type": "fallback"
678
+ },
679
+ {
680
+ "inputs": [
681
+ {
682
+ "internalType": "address",
683
+ "name": "_managerAddress",
684
+ "type": "address"
685
+ }
686
+ ],
687
+ "name": "addManager",
688
+ "outputs": [],
689
+ "stateMutability": "nonpayable",
690
+ "type": "function"
691
+ },
692
+ {
693
+ "inputs": [
694
+ {
695
+ "internalType": "address",
696
+ "name": "_allowedAddress",
697
+ "type": "address"
698
+ }
699
+ ],
700
+ "name": "addTo725StoreList",
701
+ "outputs": [],
702
+ "stateMutability": "nonpayable",
703
+ "type": "function"
704
+ },
705
+ {
706
+ "inputs": [
707
+ {
708
+ "internalType": "address",
709
+ "name": "_allowedAddress",
710
+ "type": "address"
711
+ }
712
+ ],
713
+ "name": "addToCreateERC20List",
714
+ "outputs": [],
715
+ "stateMutability": "nonpayable",
716
+ "type": "function"
717
+ },
718
+ {
719
+ "inputs": [
720
+ {
721
+ "internalType": "address",
722
+ "name": "_allowedAddress",
723
+ "type": "address"
724
+ }
725
+ ],
726
+ "name": "addToMetadataList",
727
+ "outputs": [],
728
+ "stateMutability": "nonpayable",
729
+ "type": "function"
730
+ },
731
+ {
732
+ "inputs": [
733
+ {
734
+ "internalType": "address",
735
+ "name": "to",
736
+ "type": "address"
737
+ },
738
+ {
739
+ "internalType": "uint256",
740
+ "name": "tokenId",
741
+ "type": "uint256"
742
+ }
743
+ ],
744
+ "name": "approve",
745
+ "outputs": [],
746
+ "stateMutability": "nonpayable",
747
+ "type": "function"
748
+ },
749
+ {
750
+ "inputs": [
751
+ {
752
+ "internalType": "uint256",
753
+ "name": "",
754
+ "type": "uint256"
755
+ }
756
+ ],
757
+ "name": "auth",
758
+ "outputs": [
759
+ {
760
+ "internalType": "address",
761
+ "name": "",
762
+ "type": "address"
763
+ }
764
+ ],
765
+ "stateMutability": "view",
766
+ "type": "function"
767
+ },
768
+ {
769
+ "inputs": [
770
+ {
771
+ "internalType": "address",
772
+ "name": "owner",
773
+ "type": "address"
774
+ }
775
+ ],
776
+ "name": "balanceOf",
777
+ "outputs": [
778
+ {
779
+ "internalType": "uint256",
780
+ "name": "",
781
+ "type": "uint256"
782
+ }
783
+ ],
784
+ "stateMutability": "view",
785
+ "type": "function"
786
+ },
787
+ {
788
+ "inputs": [],
789
+ "name": "cleanPermissions",
790
+ "outputs": [],
791
+ "stateMutability": "nonpayable",
792
+ "type": "function"
793
+ },
794
+ {
795
+ "inputs": [
796
+ {
797
+ "internalType": "uint256",
798
+ "name": "_templateIndex",
799
+ "type": "uint256"
800
+ },
801
+ {
802
+ "internalType": "string[]",
803
+ "name": "strings",
804
+ "type": "string[]"
805
+ },
806
+ {
807
+ "internalType": "address[]",
808
+ "name": "addresses",
809
+ "type": "address[]"
810
+ },
811
+ {
812
+ "internalType": "uint256[]",
813
+ "name": "uints",
814
+ "type": "uint256[]"
815
+ },
816
+ {
817
+ "internalType": "bytes[]",
818
+ "name": "bytess",
819
+ "type": "bytes[]"
820
+ }
821
+ ],
822
+ "name": "createERC20",
823
+ "outputs": [
824
+ {
825
+ "internalType": "address",
826
+ "name": "",
827
+ "type": "address"
828
+ }
829
+ ],
830
+ "stateMutability": "nonpayable",
831
+ "type": "function"
832
+ },
833
+ {
834
+ "inputs": [
835
+ {
836
+ "internalType": "uint256",
837
+ "name": "_operation",
838
+ "type": "uint256"
839
+ },
840
+ {
841
+ "internalType": "address",
842
+ "name": "_to",
843
+ "type": "address"
844
+ },
845
+ {
846
+ "internalType": "uint256",
847
+ "name": "_value",
848
+ "type": "uint256"
849
+ },
850
+ {
851
+ "internalType": "bytes",
852
+ "name": "_data",
853
+ "type": "bytes"
854
+ }
855
+ ],
856
+ "name": "executeCall",
857
+ "outputs": [],
858
+ "stateMutability": "payable",
859
+ "type": "function"
860
+ },
861
+ {
862
+ "inputs": [
863
+ {
864
+ "internalType": "uint256",
865
+ "name": "tokenId",
866
+ "type": "uint256"
867
+ }
868
+ ],
869
+ "name": "getApproved",
870
+ "outputs": [
871
+ {
872
+ "internalType": "address",
873
+ "name": "",
874
+ "type": "address"
875
+ }
876
+ ],
877
+ "stateMutability": "view",
878
+ "type": "function"
879
+ },
880
+ {
881
+ "inputs": [
882
+ {
883
+ "internalType": "bytes32",
884
+ "name": "_key",
885
+ "type": "bytes32"
886
+ }
887
+ ],
888
+ "name": "getData",
889
+ "outputs": [
890
+ {
891
+ "internalType": "bytes",
892
+ "name": "_value",
893
+ "type": "bytes"
894
+ }
895
+ ],
896
+ "stateMutability": "view",
897
+ "type": "function"
898
+ },
899
+ {
900
+ "inputs": [],
901
+ "name": "getId",
902
+ "outputs": [
903
+ {
904
+ "internalType": "uint8",
905
+ "name": "",
906
+ "type": "uint8"
907
+ }
908
+ ],
909
+ "stateMutability": "pure",
910
+ "type": "function"
911
+ },
912
+ {
913
+ "inputs": [],
914
+ "name": "getMetaData",
915
+ "outputs": [
916
+ {
917
+ "internalType": "string",
918
+ "name": "",
919
+ "type": "string"
920
+ },
921
+ {
922
+ "internalType": "string",
923
+ "name": "",
924
+ "type": "string"
925
+ },
926
+ {
927
+ "internalType": "uint8",
928
+ "name": "",
929
+ "type": "uint8"
930
+ },
931
+ {
932
+ "internalType": "bool",
933
+ "name": "",
934
+ "type": "bool"
935
+ }
936
+ ],
937
+ "stateMutability": "view",
938
+ "type": "function"
939
+ },
940
+ {
941
+ "inputs": [
942
+ {
943
+ "internalType": "address",
944
+ "name": "user",
945
+ "type": "address"
946
+ }
947
+ ],
948
+ "name": "getPermissions",
949
+ "outputs": [
950
+ {
951
+ "components": [
952
+ {
953
+ "internalType": "bool",
954
+ "name": "manager",
955
+ "type": "bool"
956
+ },
957
+ {
958
+ "internalType": "bool",
959
+ "name": "deployERC20",
960
+ "type": "bool"
961
+ },
962
+ {
963
+ "internalType": "bool",
964
+ "name": "updateMetadata",
965
+ "type": "bool"
966
+ },
967
+ {
968
+ "internalType": "bool",
969
+ "name": "store",
970
+ "type": "bool"
971
+ }
972
+ ],
973
+ "internalType": "struct ERC721RolesAddress.Roles",
974
+ "name": "",
975
+ "type": "tuple"
976
+ }
977
+ ],
978
+ "stateMutability": "view",
979
+ "type": "function"
980
+ },
981
+ {
982
+ "inputs": [],
983
+ "name": "getTokensList",
984
+ "outputs": [
985
+ {
986
+ "internalType": "address[]",
987
+ "name": "",
988
+ "type": "address[]"
989
+ }
990
+ ],
991
+ "stateMutability": "view",
992
+ "type": "function"
993
+ },
994
+ {
995
+ "inputs": [],
996
+ "name": "hasMetaData",
997
+ "outputs": [
998
+ {
999
+ "internalType": "bool",
1000
+ "name": "",
1001
+ "type": "bool"
1002
+ }
1003
+ ],
1004
+ "stateMutability": "view",
1005
+ "type": "function"
1006
+ },
1007
+ {
1008
+ "inputs": [
1009
+ {
1010
+ "internalType": "address",
1011
+ "name": "owner",
1012
+ "type": "address"
1013
+ },
1014
+ {
1015
+ "internalType": "string",
1016
+ "name": "name_",
1017
+ "type": "string"
1018
+ },
1019
+ {
1020
+ "internalType": "string",
1021
+ "name": "symbol_",
1022
+ "type": "string"
1023
+ },
1024
+ {
1025
+ "internalType": "address",
1026
+ "name": "tokenFactory",
1027
+ "type": "address"
1028
+ },
1029
+ {
1030
+ "internalType": "address",
1031
+ "name": "additionalERC20Deployer",
1032
+ "type": "address"
1033
+ },
1034
+ {
1035
+ "internalType": "string",
1036
+ "name": "tokenURI",
1037
+ "type": "string"
1038
+ }
1039
+ ],
1040
+ "name": "initialize",
1041
+ "outputs": [
1042
+ {
1043
+ "internalType": "bool",
1044
+ "name": "",
1045
+ "type": "bool"
1046
+ }
1047
+ ],
1048
+ "stateMutability": "nonpayable",
1049
+ "type": "function"
1050
+ },
1051
+ {
1052
+ "inputs": [
1053
+ {
1054
+ "internalType": "address",
1055
+ "name": "owner",
1056
+ "type": "address"
1057
+ },
1058
+ {
1059
+ "internalType": "address",
1060
+ "name": "operator",
1061
+ "type": "address"
1062
+ }
1063
+ ],
1064
+ "name": "isApprovedForAll",
1065
+ "outputs": [
1066
+ {
1067
+ "internalType": "bool",
1068
+ "name": "",
1069
+ "type": "bool"
1070
+ }
1071
+ ],
1072
+ "stateMutability": "view",
1073
+ "type": "function"
1074
+ },
1075
+ {
1076
+ "inputs": [
1077
+ {
1078
+ "internalType": "address",
1079
+ "name": "datatoken",
1080
+ "type": "address"
1081
+ }
1082
+ ],
1083
+ "name": "isDeployed",
1084
+ "outputs": [
1085
+ {
1086
+ "internalType": "bool",
1087
+ "name": "",
1088
+ "type": "bool"
1089
+ }
1090
+ ],
1091
+ "stateMutability": "view",
1092
+ "type": "function"
1093
+ },
1094
+ {
1095
+ "inputs": [
1096
+ {
1097
+ "internalType": "address",
1098
+ "name": "account",
1099
+ "type": "address"
1100
+ }
1101
+ ],
1102
+ "name": "isERC20Deployer",
1103
+ "outputs": [
1104
+ {
1105
+ "internalType": "bool",
1106
+ "name": "",
1107
+ "type": "bool"
1108
+ }
1109
+ ],
1110
+ "stateMutability": "view",
1111
+ "type": "function"
1112
+ },
1113
+ {
1114
+ "inputs": [],
1115
+ "name": "isInitialized",
1116
+ "outputs": [
1117
+ {
1118
+ "internalType": "bool",
1119
+ "name": "",
1120
+ "type": "bool"
1121
+ }
1122
+ ],
1123
+ "stateMutability": "view",
1124
+ "type": "function"
1125
+ },
1126
+ {
1127
+ "inputs": [],
1128
+ "name": "metaDataDecryptorAddress",
1129
+ "outputs": [
1130
+ {
1131
+ "internalType": "string",
1132
+ "name": "",
1133
+ "type": "string"
1134
+ }
1135
+ ],
1136
+ "stateMutability": "view",
1137
+ "type": "function"
1138
+ },
1139
+ {
1140
+ "inputs": [],
1141
+ "name": "metaDataDecryptorUrl",
1142
+ "outputs": [
1143
+ {
1144
+ "internalType": "string",
1145
+ "name": "",
1146
+ "type": "string"
1147
+ }
1148
+ ],
1149
+ "stateMutability": "view",
1150
+ "type": "function"
1151
+ },
1152
+ {
1153
+ "inputs": [],
1154
+ "name": "metaDataState",
1155
+ "outputs": [
1156
+ {
1157
+ "internalType": "uint8",
1158
+ "name": "",
1159
+ "type": "uint8"
1160
+ }
1161
+ ],
1162
+ "stateMutability": "view",
1163
+ "type": "function"
1164
+ },
1165
+ {
1166
+ "inputs": [],
1167
+ "name": "name",
1168
+ "outputs": [
1169
+ {
1170
+ "internalType": "string",
1171
+ "name": "",
1172
+ "type": "string"
1173
+ }
1174
+ ],
1175
+ "stateMutability": "view",
1176
+ "type": "function"
1177
+ },
1178
+ {
1179
+ "inputs": [
1180
+ {
1181
+ "internalType": "uint256",
1182
+ "name": "tokenId",
1183
+ "type": "uint256"
1184
+ }
1185
+ ],
1186
+ "name": "ownerOf",
1187
+ "outputs": [
1188
+ {
1189
+ "internalType": "address",
1190
+ "name": "",
1191
+ "type": "address"
1192
+ }
1193
+ ],
1194
+ "stateMutability": "view",
1195
+ "type": "function"
1196
+ },
1197
+ {
1198
+ "inputs": [
1199
+ {
1200
+ "internalType": "address",
1201
+ "name": "_allowedAddress",
1202
+ "type": "address"
1203
+ }
1204
+ ],
1205
+ "name": "removeFrom725StoreList",
1206
+ "outputs": [],
1207
+ "stateMutability": "nonpayable",
1208
+ "type": "function"
1209
+ },
1210
+ {
1211
+ "inputs": [
1212
+ {
1213
+ "internalType": "address",
1214
+ "name": "_allowedAddress",
1215
+ "type": "address"
1216
+ }
1217
+ ],
1218
+ "name": "removeFromCreateERC20List",
1219
+ "outputs": [],
1220
+ "stateMutability": "nonpayable",
1221
+ "type": "function"
1222
+ },
1223
+ {
1224
+ "inputs": [
1225
+ {
1226
+ "internalType": "address",
1227
+ "name": "_allowedAddress",
1228
+ "type": "address"
1229
+ }
1230
+ ],
1231
+ "name": "removeFromMetadataList",
1232
+ "outputs": [],
1233
+ "stateMutability": "nonpayable",
1234
+ "type": "function"
1235
+ },
1236
+ {
1237
+ "inputs": [
1238
+ {
1239
+ "internalType": "address",
1240
+ "name": "_managerAddress",
1241
+ "type": "address"
1242
+ }
1243
+ ],
1244
+ "name": "removeManager",
1245
+ "outputs": [],
1246
+ "stateMutability": "nonpayable",
1247
+ "type": "function"
1248
+ },
1249
+ {
1250
+ "inputs": [
1251
+ {
1252
+ "internalType": "address",
1253
+ "name": "from",
1254
+ "type": "address"
1255
+ },
1256
+ {
1257
+ "internalType": "address",
1258
+ "name": "to",
1259
+ "type": "address"
1260
+ },
1261
+ {
1262
+ "internalType": "uint256",
1263
+ "name": "tokenId",
1264
+ "type": "uint256"
1265
+ }
1266
+ ],
1267
+ "name": "safeTransferFrom",
1268
+ "outputs": [],
1269
+ "stateMutability": "nonpayable",
1270
+ "type": "function"
1271
+ },
1272
+ {
1273
+ "inputs": [
1274
+ {
1275
+ "internalType": "address",
1276
+ "name": "operator",
1277
+ "type": "address"
1278
+ },
1279
+ {
1280
+ "internalType": "bool",
1281
+ "name": "approved",
1282
+ "type": "bool"
1283
+ }
1284
+ ],
1285
+ "name": "setApprovalForAll",
1286
+ "outputs": [],
1287
+ "stateMutability": "nonpayable",
1288
+ "type": "function"
1289
+ },
1290
+ {
1291
+ "inputs": [
1292
+ {
1293
+ "internalType": "string",
1294
+ "name": "_baseURI",
1295
+ "type": "string"
1296
+ }
1297
+ ],
1298
+ "name": "setBaseURI",
1299
+ "outputs": [],
1300
+ "stateMutability": "nonpayable",
1301
+ "type": "function"
1302
+ },
1303
+ {
1304
+ "inputs": [
1305
+ {
1306
+ "internalType": "bytes32",
1307
+ "name": "_key",
1308
+ "type": "bytes32"
1309
+ },
1310
+ {
1311
+ "internalType": "bytes",
1312
+ "name": "_value",
1313
+ "type": "bytes"
1314
+ }
1315
+ ],
1316
+ "name": "setDataERC20",
1317
+ "outputs": [],
1318
+ "stateMutability": "nonpayable",
1319
+ "type": "function"
1320
+ },
1321
+ {
1322
+ "inputs": [
1323
+ {
1324
+ "internalType": "uint8",
1325
+ "name": "_metaDataState",
1326
+ "type": "uint8"
1327
+ },
1328
+ {
1329
+ "internalType": "string",
1330
+ "name": "_metaDataDecryptorUrl",
1331
+ "type": "string"
1332
+ },
1333
+ {
1334
+ "internalType": "string",
1335
+ "name": "_metaDataDecryptorAddress",
1336
+ "type": "string"
1337
+ },
1338
+ {
1339
+ "internalType": "bytes",
1340
+ "name": "flags",
1341
+ "type": "bytes"
1342
+ },
1343
+ {
1344
+ "internalType": "bytes",
1345
+ "name": "data",
1346
+ "type": "bytes"
1347
+ },
1348
+ {
1349
+ "internalType": "bytes32",
1350
+ "name": "_metaDataHash",
1351
+ "type": "bytes32"
1352
+ },
1353
+ {
1354
+ "components": [
1355
+ {
1356
+ "internalType": "address",
1357
+ "name": "validatorAddress",
1358
+ "type": "address"
1359
+ },
1360
+ {
1361
+ "internalType": "uint8",
1362
+ "name": "v",
1363
+ "type": "uint8"
1364
+ },
1365
+ {
1366
+ "internalType": "bytes32",
1367
+ "name": "r",
1368
+ "type": "bytes32"
1369
+ },
1370
+ {
1371
+ "internalType": "bytes32",
1372
+ "name": "s",
1373
+ "type": "bytes32"
1374
+ }
1375
+ ],
1376
+ "internalType": "struct ERC721Template.metaDataProof[]",
1377
+ "name": "_metadataProofs",
1378
+ "type": "tuple[]"
1379
+ }
1380
+ ],
1381
+ "name": "setMetaData",
1382
+ "outputs": [],
1383
+ "stateMutability": "nonpayable",
1384
+ "type": "function"
1385
+ },
1386
+ {
1387
+ "inputs": [
1388
+ {
1389
+ "internalType": "uint8",
1390
+ "name": "_metaDataState",
1391
+ "type": "uint8"
1392
+ }
1393
+ ],
1394
+ "name": "setMetaDataState",
1395
+ "outputs": [],
1396
+ "stateMutability": "nonpayable",
1397
+ "type": "function"
1398
+ },
1399
+ {
1400
+ "inputs": [
1401
+ {
1402
+ "internalType": "bytes32",
1403
+ "name": "_key",
1404
+ "type": "bytes32"
1405
+ },
1406
+ {
1407
+ "internalType": "bytes",
1408
+ "name": "_value",
1409
+ "type": "bytes"
1410
+ }
1411
+ ],
1412
+ "name": "setNewData",
1413
+ "outputs": [],
1414
+ "stateMutability": "nonpayable",
1415
+ "type": "function"
1416
+ },
1417
+ {
1418
+ "inputs": [
1419
+ {
1420
+ "internalType": "uint256",
1421
+ "name": "tokenId",
1422
+ "type": "uint256"
1423
+ },
1424
+ {
1425
+ "internalType": "string",
1426
+ "name": "tokenURI",
1427
+ "type": "string"
1428
+ }
1429
+ ],
1430
+ "name": "setTokenURI",
1431
+ "outputs": [],
1432
+ "stateMutability": "nonpayable",
1433
+ "type": "function"
1434
+ },
1435
+ {
1436
+ "inputs": [],
1437
+ "name": "ssContract",
1438
+ "outputs": [
1439
+ {
1440
+ "internalType": "address",
1441
+ "name": "",
1442
+ "type": "address"
1443
+ }
1444
+ ],
1445
+ "stateMutability": "view",
1446
+ "type": "function"
1447
+ },
1448
+ {
1449
+ "inputs": [
1450
+ {
1451
+ "internalType": "bytes4",
1452
+ "name": "interfaceId",
1453
+ "type": "bytes4"
1454
+ }
1455
+ ],
1456
+ "name": "supportsInterface",
1457
+ "outputs": [
1458
+ {
1459
+ "internalType": "bool",
1460
+ "name": "",
1461
+ "type": "bool"
1462
+ }
1463
+ ],
1464
+ "stateMutability": "view",
1465
+ "type": "function"
1466
+ },
1467
+ {
1468
+ "inputs": [],
1469
+ "name": "symbol",
1470
+ "outputs": [
1471
+ {
1472
+ "internalType": "string",
1473
+ "name": "",
1474
+ "type": "string"
1475
+ }
1476
+ ],
1477
+ "stateMutability": "view",
1478
+ "type": "function"
1479
+ },
1480
+ {
1481
+ "inputs": [
1482
+ {
1483
+ "internalType": "uint256",
1484
+ "name": "tokenId",
1485
+ "type": "uint256"
1486
+ }
1487
+ ],
1488
+ "name": "tokenURI",
1489
+ "outputs": [
1490
+ {
1491
+ "internalType": "string",
1492
+ "name": "",
1493
+ "type": "string"
1494
+ }
1495
+ ],
1496
+ "stateMutability": "view",
1497
+ "type": "function"
1498
+ },
1499
+ {
1500
+ "inputs": [
1501
+ {
1502
+ "internalType": "address",
1503
+ "name": "from",
1504
+ "type": "address"
1505
+ },
1506
+ {
1507
+ "internalType": "address",
1508
+ "name": "to",
1509
+ "type": "address"
1510
+ },
1511
+ {
1512
+ "internalType": "uint256",
1513
+ "name": "tokenId",
1514
+ "type": "uint256"
1515
+ }
1516
+ ],
1517
+ "name": "transferFrom",
1518
+ "outputs": [],
1519
+ "stateMutability": "nonpayable",
1520
+ "type": "function"
1521
+ },
1522
+ {
1523
+ "inputs": [],
1524
+ "name": "withdrawETH",
1525
+ "outputs": [],
1526
+ "stateMutability": "payable",
1527
+ "type": "function"
1528
+ }
1529
+ ],
1530
+ "bytecode": "0x60806040523480156200001157600080fd5b50604080518082018252600881526754656d706c61746560c01b60208083019182528351808501909452600e84526d15195b5c1b185d1954de5b589bdb60921b908401528151919291620000689160009162000136565b5080516200007e90600190602084019062000136565b50620000959150632260147f60e11b9050620000b2565b620000a7632bd57b7360e01b620000b2565b6001600c5562000219565b6001600160e01b03198082161415620001115760405162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015260640160405180910390fd5b6001600160e01b0319166000908152600a60205260409020805460ff19166001179055565b8280546200014490620001dc565b90600052602060002090601f016020900481019282620001685760008555620001b3565b82601f106200018357805160ff1916838001178555620001b3565b82800160010185558215620001b3579182015b82811115620001b357825182559160200191906001019062000196565b50620001c1929150620001c5565b5090565b5b80821115620001c15760008155600101620001c6565b600181811c90821680620001f157607f821691505b602082108114156200021357634e487b7160e01b600052602260045260246000fd5b50919050565b6143cc80620002296000396000f3fe60806040526004361061025d5760003560e01c806354f6127f11610143578063a22cb465116100bb578063d2786ba411610077578063d2786ba41461082d578063d8053ad314610852578063e086e5ec14610871578063e38d7cad14610879578063e985e9c514610899578063fe1ec880146108e257005b8063a22cb46514610780578063ac18de43146107a0578063b0c41ead146107c0578063c55f8126146107e0578063c87b56dd146107f3578063ccd7d4761461081357005b806370a082311161010a57806370a082311461069157806370c166d7146106bf57806382cf129d146106df57806390184b02146106f457806395d89b411461072d57806396fb3eaf1461074257005b806354f6127f146105ef57806355f804b31461060f5780635d1ca6311461062f5780636352211e1461065157806367530a611461067157005b806323b872dd116101d6578063431053ac1161019d578063431053ac14610538578063466bca0214610558578063467c97f51461057a5780634a63740a1461059a5780634b2ee5e9146105ba5780634f189cb2146105da57005b806323b872dd146104a0578063273e06b3146104c05780632d06177a146104e0578063392e53cd1461050057806342842e0e1461051857005b80630e57c7e8116102255780630e57c7e81461032357806310c558bf14610343578063160a792514610363578063162094c41461044057806319c186e5146104605780631aa3adf91461048057005b806301ffc9a71461025f57806306fdde0314610294578063081812fc146102b6578063095ea7b3146102ee5780630e05662e1461030e575b005b34801561026b57600080fd5b5061027f61027a366004613545565b610902565b60405190151581526020015b60405180910390f35b3480156102a057600080fd5b506102a9610942565b60405161028b91906135c1565b3480156102c257600080fd5b506102d66102d13660046135d4565b6109d4565b6040516001600160a01b03909116815260200161028b565b3480156102fa57600080fd5b5061025d610309366004613602565b610a6e565b34801561031a57600080fd5b506102a9610b84565b34801561032f57600080fd5b5061025d61033e366004613676565b610c12565b34801561034f57600080fd5b5061025d61035e3660046136c1565b610c87565b34801561036f57600080fd5b5061040561037e3660046136c1565b604080516080810182526000808252602082018190529181018290526060810191909152506001600160a01b03166000908152600860209081526040918290208251608081018452905460ff808216151583526101008204811615159383019390935262010000810483161515938201939093526301000000909204161515606082015290565b60405161028b919081511515815260208083015115159082015260408083015115159082015260609182015115159181019190915260800190565b34801561044c57600080fd5b5061025d61045b3660046137bb565b610d5a565b34801561046c57600080fd5b5061025d61047b3660046136c1565b610de9565b34801561048c57600080fd5b5061025d61049b3660046138de565b610eb2565b3480156104ac57600080fd5b5061025d6104bb3660046139e5565b6112f0565b3480156104cc57600080fd5b5061025d6104db3660046136c1565b6113c2565b3480156104ec57600080fd5b5061025d6104fb3660046136c1565b6114fb565b34801561050c57600080fd5b50600f5460ff1661027f565b34801561052457600080fd5b5061025d6105333660046139e5565b61153e565b34801561054457600080fd5b5061025d6105533660046136c1565b6115e4565b34801561056457600080fd5b5061056d611719565b60405161028b9190613a26565b34801561058657600080fd5b5061025d610595366004613a73565b61177a565b3480156105a657600080fd5b5061025d6105b53660046136c1565b611805565b3480156105c657600080fd5b506014546102d6906001600160a01b031681565b3480156105e657600080fd5b5061025d6118ca565b3480156105fb57600080fd5b506102a961060a3660046135d4565b61190e565b34801561061b57600080fd5b5061025d61062a366004613a8e565b6119b0565b34801561063b57600080fd5b5060015b60405160ff909116815260200161028b565b34801561065d57600080fd5b506102d661066c3660046135d4565b611a01565b34801561067d57600080fd5b5061025d61068c366004613676565b611a78565b34801561069d57600080fd5b506106b16106ac3660046136c1565b611ae8565b60405190815260200161028b565b3480156106cb57600080fd5b5061027f6106da366004613ac2565b611b6f565b3480156106eb57600080fd5b506102a9611c8c565b34801561070057600080fd5b5061027f61070f3660046136c1565b6001600160a01b031660009081526015602052604090205460ff1690565b34801561073957600080fd5b506102a9611c99565b34801561074e57600080fd5b5061027f61075d3660046136c1565b6001600160a01b0316600090815260086020526040902054610100900460ff1690565b34801561078c57600080fd5b5061025d61079b366004613b90565b611ca8565b3480156107ac57600080fd5b5061025d6107bb3660046136c1565b611d66565b3480156107cc57600080fd5b506102d66107db3660046135d4565b611da9565b61025d6107ee366004613bce565b611dd3565b3480156107ff57600080fd5b506102a961080e3660046135d4565b611e1b565b34801561081f57600080fd5b5060125461063f9060ff1681565b34801561083957600080fd5b50610842611f79565b60405161028b9493929190613c37565b34801561085e57600080fd5b50600f5461027f90610100900460ff1681565b61025d6120c9565b34801561088557600080fd5b506102d6610894366004613cbc565b61210b565b3480156108a557600080fd5b5061027f6108b4366004613d8b565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b3480156108ee57600080fd5b5061025d6108fd3660046136c1565b6122db565b60006301ffc9a760e01b6001600160e01b03198316148061093c57506001600160e01b031982166000908152600a602052604090205460ff165b92915050565b6060600d805461095190613db9565b80601f016020809104026020016040519081016040528092919081815260200182805461097d90613db9565b80156109ca5780601f1061099f576101008083540402835291602001916109ca565b820191906000526020600020905b8154815290600101906020018083116109ad57829003601f168201915b5050505050905090565b6000818152600360205260408120546001600160a01b0316610a525760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600560205260409020546001600160a01b031690565b6000610a7982611a01565b9050806001600160a01b0316836001600160a01b03161415610ae75760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610a49565b336001600160a01b0382161480610b035750610b0381336108b4565b610b755760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610a49565b610b7f838361240b565b505050565b60118054610b9190613db9565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbd90613db9565b8015610c0a5780601f10610bdf57610100808354040283529160200191610c0a565b820191906000526020600020905b815481529060010190602001808311610bed57829003601f168201915b505050505081565b3360009081526015602052604090205460ff16610c7c5760405162461bcd60e51b815260206004820152602260248201527f45524337323154656d706c6174653a204e4f5420455243323020436f6e74726160448201526118dd60f21b6064820152608401610a49565b610b7f838383612479565b3360009081526008602052604090205460ff161515600114610cbb5760405162461bcd60e51b8152600401610a4990613df4565b6001600160a01b038116600081815260086020526040808220805462ff000019166201000017815560098054600181018255935260008051602061437783398151915290920180546001600160a01b0319168417905551909133917fc2a42571a74ce1442c8c44d375ba9442e7d55d94b37afeace261c83c62128fa490610d4e9042904390918252602082015260400190565b60405180910390a35050565b610d646001611a01565b6001600160a01b0316336001600160a01b031614610d945760405162461bcd60e51b8152600401610a4990613e2b565b610d9e82826124d2565b336001600160a01b03167f6de6cd3982065cbd31e789e3109106f4d76d1c8a46e85262045cf947fb3fd4ed82844243604051610ddd9493929190613e62565b60405180910390a25050565b3360009081526008602052604090205460ff161515600114610e1d5760405162461bcd60e51b8152600401610a4990613df4565b6001600160a01b038116600081815260086020526040808220805463ff0000001916630100000017815560098054600181018255935260008051602061437783398151915290920180546001600160a01b0319168417905551909133917feb09276310ed110a7e565d64966d0ff68a47112d2dd5eeb6cbd7451836ce35ee90610d4e9042904390918252602082015260400190565b3360009081526008602052604090205462010000900460ff16610ee75760405162461bcd60e51b8152600401610a4990613e91565b6012805460ff191660ff8d16179055610f0260108b8b613408565b50610f0f60118989613408565b50600f54610100900460ff16610f8657336001600160a01b03167f5463569dcc320958360074a9ab27e809e8a6942c394fb151d139b5f7b4ecb1bd8c8c8c8a8a8a8a8a4243604051610f6a9a99989796959493929190613efb565b60405180910390a2600f805461ff001916610100179055610fd8565b60125460405133917fe5c4cf86b1815151e6f453e1e133d4454ae3b0b07145db39f2e0178685deac8491610fcf9160ff16908e908e908c908c908c908c908c9042904390613efb565b60405180910390a25b60328151111561101c5760405162461bcd60e51b815260206004820152600f60248201526e546f6f204d616e792050726f6f667360881b6044820152606401610a49565b60408051808201909152601c81527f19457468657265756d205369676e6564204d6573736167653a0a333200000000602082015260005b82518110156112e15760006001600160a01b031683828151811061107957611079613f63565b6020026020010151600001516001600160a01b0316146111fb57600082856040516020016110a8929190613f79565b60405160208183030381529060405280519060200120905060006001828685815181106110d7576110d7613f63565b6020026020010151602001518786815181106110f5576110f5613f63565b60200260200101516040015188878151811061111357611113613f63565b60200260200101516060015160405160008152602001604052604051611155949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015611177573d6000803e3d6000fd5b50505060206040510351905084838151811061119557611195613f63565b6020026020010151600001516001600160a01b0316816001600160a01b0316146111f85760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b210383937b7b31039b4b3b732b960611b6044820152606401610a49565b50505b82818151811061120d5761120d613f63565b6020026020010151600001516001600160a01b03167f2819d8badf5cff2c9220b8ee99dacc14d67058e343d7f0c2c444d198507fe9418585848151811061125657611256613f63565b60200260200101516020015186858151811061127457611274613f63565b60200260200101516040015187868151811061129257611292613f63565b6020026020010151606001516040516112c7949392919093845260ff9290921660208401526040830152606082015260800190565b60405180910390a2806112d981613fb1565b915050611053565b50505050505050505050505050565b806001146113105760405162461bcd60e51b8152600401610a4990613fcc565b61137a611375601380548060200260200160405190810160405280929190818152602001828054801561136c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161134e575b50505050505190565b61256c565b6113826125fd565b61138d8383836126ae565b611396826126ef565b506001600160a01b03166000908152600860205260409020805463ffffff001916630101010017905550565b3360009081526008602052604090205460ff161515600114806114135750336001600160a01b0382161480156114135750336000908152600860205260409020546301000000900460ff1615156001145b1561147b576001600160a01b03811660008181526008602052604090819020805463ff000000191681559051909133917fc929b18b08ffea86a1f95e29384dbe8968f2fcbd70cfd735df3aba1cc548cbf390610d4e9042904390918252602082015260400190565b60405162461bcd60e51b815260206004820152604660248201527f455243373231526f6c6573416464726573733a204e6f7420656e6f756768207060448201527f65726d697373696f6e7320746f2072656d6f76652066726f6d2037323553746f6064820152651c99531a5cdd60d21b608482015260a401610a49565b50565b6115056001611a01565b6001600160a01b0316336001600160a01b0316146115355760405162461bcd60e51b8152600401610a4990613e2b565b6114f8816126ef565b8060011461155e5760405162461bcd60e51b8152600401610a4990613fcc565b6115c1611375601380548060200260200160405190810160405280929190818152602001828054801561136c576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161134e5750505050505190565b6115c96125fd565b61138d83838360405180602001604052806000815250612780565b3360009081526008602052604090205460ff161515600114806116345750336001600160a01b03821614801561163457503360009081526008602052604090205462010000900460ff1615156001145b1561169b576001600160a01b03811660008181526008602052604090819020805462ff0000191681559051909133917f9b41e1311fa819e825bc77fa2568492112e15ea92d173f3f8ee1c8ec3c1c562b90610d4e9042904390918252602082015260400190565b60405162461bcd60e51b815260206004820152604760248201527f455243373231526f6c6573416464726573733a204e6f7420656e6f756768207060448201527f65726d697373696f6e7320746f2072656d6f76652066726f6d206d65746164616064820152661d18481b1a5cdd60ca1b608482015260a401610a49565b606060138054806020026020016040519081016040528092919081815260200182805480156109ca57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611753575050505050905090565b3360009081526008602052604090205462010000900460ff166117af5760405162461bcd60e51b8152600401610a4990613e91565b6012805460ff191660ff831690811790915560408051918252426020830152439082015233907fa8336411cc72db0e5bdc4dff989eeb35879bafaceffb59b54b37645c3395adb99060600160405180910390a250565b3360009081526008602052604090205460ff1615156001146118395760405162461bcd60e51b8152600401610a4990613df4565b6001600160a01b038116600081815260086020526040808220805461ff00191661010017815560098054600181018255935260008051602061437783398151915290920180546001600160a01b0319168417905551909133917f0572d56343be407a66810f01449212e8545e14ff5049c479d34be944cdfd0d4f90610d4e9042904390918252602082015260400190565b6118d46001611a01565b6001600160a01b0316336001600160a01b0316146119045760405162461bcd60e51b8152600401610a4990613e2b565b61190c6125fd565b565b6000818152600b6020526040902080546060919061192b90613db9565b80601f016020809104026020016040519081016040528092919081815260200182805461195790613db9565b80156119a45780601f10611979576101008083540402835291602001916119a4565b820191906000526020600020905b81548152906001019060200180831161198757829003601f168201915b50505050509050919050565b6119ba6001611a01565b6001600160a01b0316336001600160a01b0316146119ea5760405162461bcd60e51b8152600401610a4990613e2b565b80516119fd90600290602084019061348c565b5050565b6000818152600360205260408120546001600160a01b03168061093c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610a49565b336000908152600860205260409020546301000000900460ff16610c7c5760405162461bcd60e51b815260206004820152602160248201527f45524337323154656d706c6174653a204e4f542053544f5245205550444154456044820152602960f91b6064820152608401610a49565b60006001600160a01b038216611b535760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610a49565b506001600160a01b031660009081526004602052604090205490565b600f5460009060ff1615611be05760405162461bcd60e51b815260206004820152603260248201527f45524337323154656d706c6174653a20746f6b656e20696e7374616e636520616044820152711b1c9958591e481a5b9a5d1a585b1a5e995960721b6064820152608401610a49565b6000611c5a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b90819084018382808284376000920191909152508b92508991506127b89050565b9050808015611c7157506001600160a01b03841615155b15611c7f57611c7f84611839565b9998505050505050505050565b60108054610b9190613db9565b6060600e805461095190613db9565b6001600160a01b038216331415611d015760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610a49565b3360008181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101610d4e565b611d706001611a01565b6001600160a01b0316336001600160a01b031614611da05760405162461bcd60e51b8152600401610a4990613e2b565b6114f8816128f8565b60098181548110611db957600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526008602052604090205460ff161515600114611e075760405162461bcd60e51b8152600401610a4990613df4565b611e148585858585612958565b5050505050565b6000818152600360205260409020546060906001600160a01b0316611e9a5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610a49565b60008281526007602052604081208054611eb390613db9565b80601f0160208091040260200160405190810160405280929190818152602001828054611edf90613db9565b8015611f2c5780601f10611f0157610100808354040283529160200191611f2c565b820191906000526020600020905b815481529060010190602001808311611f0f57829003601f168201915b505050505090506000611f3d612b81565b825190915015611f72578082604051602001611f5a929190614018565b60405160208183030381529060405292505050919050565b5092915050565b60608060008060106011601260009054906101000a900460ff16600f60019054906101000a900460ff16838054611faf90613db9565b80601f0160208091040260200160405190810160405280929190818152602001828054611fdb90613db9565b80156120285780601f10611ffd57610100808354040283529160200191612028565b820191906000526020600020905b81548152906001019060200180831161200b57829003601f168201915b5050505050935082805461203b90613db9565b80601f016020809104026020016040519081016040528092919081815260200182805461206790613db9565b80156120b45780601f10612089576101008083540402835291602001916120b4565b820191906000526020600020905b81548152906001019060200180831161209757829003601f168201915b50505050509250935093509350935090919293565b6120d36001611a01565b6001600160a01b03166108fc479081150290604051600060405180830381858888f193505050501580156114f8573d6000803e3d6000fd5b60006002600c5414156121605760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a49565b6002600c5533600090815260086020526040902054610100900460ff166121d85760405162461bcd60e51b815260206004820152602660248201527f45524337323154656d706c6174653a204e4f542045524332304445504c4f5945604482015265525f524f4c4560d01b6064820152608401610a49565b601254604051630557fcfb60e41b815260009161010090046001600160a01b03169063557fcfb09061221e908e908e908e908e908e908e908e908e908e90600401614168565b6020604051808303816000875af115801561223d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122619190614219565b6001600160a01b0381166000818152601560205260408120805460ff191660019081179091556013805491820181559091527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900180546001600160a01b03191690911790559150506001600c559998505050505050505050565b3360009081526008602052604090205460ff1615156001148061232b5750336001600160a01b03821614801561232b57503360009081526008602052604090205460ff6101009091041615156001145b15612391576001600160a01b03811660008181526008602052604090819020805461ff00191681559051909133917f59bd33f4c27cc16a2d74450e1fa43d7896020be9aecea4bee009db9294de899790610d4e9042904390918252602082015260400190565b60405162461bcd60e51b815260206004820152604360248201527f455243373231526f6c6573416464726573733a204e6f7420656e6f756768207060448201527f65726d697373696f6e7320746f2072656d6f76652066726f6d2045524332304c6064820152621a5cdd60ea1b608482015260a401610a49565b600081815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061244082611a01565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000838152600b60205260409020612492908383613408565b50827fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b283836040516124c5929190614236565b60405180910390a2505050565b6000828152600360205260409020546001600160a01b031661254d5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610a49565b60008281526007602090815260409091208251610b7f9284019061348c565b60005b818110156119fd576013818154811061258a5761258a613f63565b6000918252602082200154604080516382c03da560e01b815290516001600160a01b03909216926382c03da59260048084019382900301818387803b1580156125d257600080fd5b505af11580156125e6573d6000803e3d6000fd5b5050505080806125f590613fb1565b91505061256f565b60005b600954811015612665576000600860006009848154811061262357612623613f63565b60009182526020808320909101546001600160a01b031683528201929092526040019020805463ffffffff19169055508061265d81613fb1565b915050612600565b5061267260096000613500565b6040805142815243602082015233917f712bc71db81927a76b8bf1ea346247bb0ad58f18e4e5c1bd4aa0ec6573e02a2b910160405180910390a2565b6126b83382612b90565b6126d45760405162461bcd60e51b8152600401610a499061424a565b610b7f83838360405180602001604052806000815250612780565b6001600160a01b038116600081815260086020526040808220805460ff19166001908117825560098054918201815590935260008051602061437783398151915290920180546001600160a01b0319168417905551909133917faf8fc8b6726138c96881c895390a08e9d91a94c288f06281e7f9821c49c7155b90610d4e9042904390918252602082015260400190565b61278a3383612b90565b6127a65760405162461bcd60e51b8152600401610a499061424a565b6127b284848484612c87565b50505050565b60006001600160a01b0386166128275760405162461bcd60e51b815260206004820152602e60248201527f45524337323154656d706c6174653a3a20496e76616c6964206d696e7465722c60448201526d20207a65726f206164647265737360901b6064820152608401610a49565b845161283a90600d90602088019061348c565b50835161284e90600e90602087019061348c565b5060128054610100600160a81b0319166101006001600160a01b0386160217905560408051602081019182905260009081905261288d9160029161348c565b50600f805461ffff191660019081179091556128aa908790612cba565b6128b3866126ef565b6001600160a01b0386166000908152600860205260409020805463ffffff00191663010101001781556128e76001846124d2565b5050600f5460ff1695945050505050565b6001600160a01b03811660008181526008602052604090819020805460ff191681559051909133917fb572db0e6da4924b771ed1712b980d48b5992b9a1c27aede55fbb3318c48996a90610d4e9042904390918252602082015260400190565b82846001600160a01b0316867f1f920dbda597d7bf95035464170fa58d0a4b57f13a1c315ace6793b9f63688b88585604051612995929190614236565b60405180910390a460006109c45a6129ad919061429b565b9050856129fd576129f7858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250612cd4915050565b50612b79565b6003861415612a46576129f78484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612cec92505050565b6002861415612b3a576000612a9d84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a9892506020915087905061429b565b612d88565b90506000612aec85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250612ae79150602090508861429b565b612de6565b90506000612afb878484612ef3565b6040519091506001600160a01b038216907fcf78cf0d6f3d8371e1075c69c492ab4ec5d8cf23a1a239b6a51a1d00be7ca31290600090a2505050612b79565b60405162461bcd60e51b815260206004820152601460248201527357726f6e67206f7065726174696f6e207479706560601b6044820152606401610a49565b505050505050565b60606002805461095190613db9565b6000818152600360205260408120546001600160a01b0316612c095760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610a49565b6000612c1483611a01565b9050806001600160a01b0316846001600160a01b03161480612c4f5750836001600160a01b0316612c44846109d4565b6001600160a01b0316145b80612c7f57506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b949350505050565b612c92848484612ff5565b612c9e84848484613195565b6127b25760405162461bcd60e51b8152600401610a49906142b2565b6119fd828260405180602001604052806000815250613293565b6000806000845160208601878987f195945050505050565b600081516020830184f090506001600160a01b038116612d4e5760405162461bcd60e51b815260206004820152601960248201527f436f756c64206e6f74206465706c6f7920636f6e7472616374000000000000006044820152606401610a49565b6040516001600160a01b038216907fcf78cf0d6f3d8371e1075c69c492ab4ec5d8cf23a1a239b6a51a1d00be7ca31290600090a292915050565b6000612d95826020614304565b83511015612ddd5760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b6044820152606401610a49565b50016020015190565b606081612df481601f614304565b1015612e335760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610a49565b612e3d8284614304565b84511015612e815760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610a49565b606082158015612ea05760405191506000825260208201604052612eea565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015612ed9578051835260209283019201612ec1565b5050858452601f01601f1916604052505b50949350505050565b60008084471015612f465760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401610a49565b8251612f945760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610a49565b8383516020850187f590506001600160a01b038116612c7f5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401610a49565b826001600160a01b031661300882611a01565b6001600160a01b0316146130705760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610a49565b6001600160a01b0382166130d25760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610a49565b6130dd60008261240b565b6001600160a01b038316600090815260046020526040812080546001929061310690849061429b565b90915550506001600160a01b0382166000908152600460205260408120805460019290613134908490614304565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006001600160a01b0384163b1561328857604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906131d990339089908890889060040161431c565b6020604051808303816000875af1925050508015613214575060408051601f3d908101601f1916820190925261321191810190614359565b60015b61326e573d808015613242576040519150601f19603f3d011682016040523d82523d6000602084013e613247565b606091505b5080516132665760405162461bcd60e51b8152600401610a49906142b2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612c7f565b506001949350505050565b61329d83836132c6565b6132aa6000848484613195565b610b7f5760405162461bcd60e51b8152600401610a49906142b2565b6001600160a01b03821661331c5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610a49565b6000818152600360205260409020546001600160a01b0316156133815760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a49565b6001600160a01b03821660009081526004602052604081208054600192906133aa908490614304565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b82805461341490613db9565b90600052602060002090601f016020900481019282613436576000855561347c565b82601f1061344f5782800160ff1982351617855561347c565b8280016001018555821561347c579182015b8281111561347c578235825591602001919060010190613461565b5061348892915061351a565b5090565b82805461349890613db9565b90600052602060002090601f0160209004810192826134ba576000855561347c565b82601f106134d357805160ff191683800117855561347c565b8280016001018555821561347c579182015b8281111561347c5782518255916020019190600101906134e5565b50805460008255906000526020600020908101906114f891905b5b80821115613488576000815560010161351b565b6001600160e01b0319811681146114f857600080fd5b60006020828403121561355757600080fd5b81356135628161352f565b9392505050565b60005b8381101561358457818101518382015260200161356c565b838111156127b25750506000910152565b600081518084526135ad816020860160208601613569565b601f01601f19169290920160200192915050565b6020815260006135626020830184613595565b6000602082840312156135e657600080fd5b5035919050565b6001600160a01b03811681146114f857600080fd5b6000806040838503121561361557600080fd5b8235613620816135ed565b946020939093013593505050565b60008083601f84011261364057600080fd5b5081356001600160401b0381111561365757600080fd5b60208301915083602082850101111561366f57600080fd5b9250929050565b60008060006040848603121561368b57600080fd5b8335925060208401356001600160401b038111156136a857600080fd5b6136b48682870161362e565b9497909650939450505050565b6000602082840312156136d357600080fd5b8135613562816135ed565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715613716576137166136de565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613744576137446136de565b604052919050565b600082601f83011261375d57600080fd5b81356001600160401b03811115613776576137766136de565b613789601f8201601f191660200161371c565b81815284602083860101111561379e57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156137ce57600080fd5b8235915060208301356001600160401b038111156137eb57600080fd5b6137f78582860161374c565b9150509250929050565b803560ff8116811461381257600080fd5b919050565b600082601f83011261382857600080fd5b813560206001600160401b03821115613843576138436136de565b613851818360051b0161371c565b82815260079290921b8401810191818101908684111561387057600080fd5b8286015b848110156138d3576080818903121561388d5760008081fd5b6138956136f4565b81356138a0816135ed565b81526138ad828601613801565b818601526040828101359082015260608083013590820152835291830191608001613874565b509695505050505050565b600080600080600080600080600080600060e08c8e0312156138ff57600080fd5b6139088c613801565b9a506001600160401b038060208e0135111561392357600080fd5b6139338e60208f01358f0161362e565b909b50995060408d013581101561394957600080fd5b6139598e60408f01358f0161362e565b909950975060608d013581101561396f57600080fd5b61397f8e60608f01358f0161362e565b909750955060808d013581101561399557600080fd5b6139a58e60808f01358f0161362e565b909550935060a08d0135925060c08d01358110156139c257600080fd5b506139d38d60c08e01358e01613817565b90509295989b509295989b9093969950565b6000806000606084860312156139fa57600080fd5b8335613a05816135ed565b92506020840135613a15816135ed565b929592945050506040919091013590565b6020808252825182820181905260009190848201906040850190845b81811015613a675783516001600160a01b031683529284019291840191600101613a42565b50909695505050505050565b600060208284031215613a8557600080fd5b61356282613801565b600060208284031215613aa057600080fd5b81356001600160401b03811115613ab657600080fd5b612c7f8482850161374c565b60008060008060008060008060c0898b031215613ade57600080fd5b8835613ae9816135ed565b975060208901356001600160401b0380821115613b0557600080fd5b613b118c838d0161362e565b909950975060408b0135915080821115613b2a57600080fd5b613b368c838d0161362e565b909750955060608b01359150613b4b826135ed565b90935060808a013590613b5d826135ed565b90925060a08a01359080821115613b7357600080fd5b50613b808b828c0161374c565b9150509295985092959890939650565b60008060408385031215613ba357600080fd5b8235613bae816135ed565b915060208301358015158114613bc357600080fd5b809150509250929050565b600080600080600060808688031215613be657600080fd5b853594506020860135613bf8816135ed565b93506040860135925060608601356001600160401b03811115613c1a57600080fd5b613c268882890161362e565b969995985093965092949392505050565b608081526000613c4a6080830187613595565b8281036020840152613c5c8187613595565b60ff959095166040840152505090151560609091015292915050565b60008083601f840112613c8a57600080fd5b5081356001600160401b03811115613ca157600080fd5b6020830191508360208260051b850101111561366f57600080fd5b600080600080600080600080600060a08a8c031215613cda57600080fd5b8935985060208a01356001600160401b0380821115613cf857600080fd5b613d048d838e01613c78565b909a50985060408c0135915080821115613d1d57600080fd5b613d298d838e01613c78565b909850965060608c0135915080821115613d4257600080fd5b613d4e8d838e01613c78565b909650945060808c0135915080821115613d6757600080fd5b50613d748c828d01613c78565b915080935050809150509295985092959850929598565b60008060408385031215613d9e57600080fd5b8235613da9816135ed565b91506020830135613bc3816135ed565b600181811c90821680613dcd57607f821691505b60208210811415613dee57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601f908201527f455243373231526f6c6573416464726573733a204e4f54204d414e4147455200604082015260600190565b6020808252601c908201527f45524337323154656d706c6174653a206e6f74204e46544f776e657200000000604082015260600190565b608081526000613e756080830187613595565b6020830195909552506040810192909252606090910152919050565b60208082526021908201527f45524337323154656d706c6174653a204e4f54204d455441444154415f524f4c6040820152604560f81b606082015260800190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60ff8b16815260e060208201526000613f1860e083018b8d613ed2565b8281036040840152613f2b818a8c613ed2565b90508281036060840152613f4081888a613ed2565b6080840196909652505060a081019290925260c090910152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b60008351613f8b818460208801613569565b9190910191825250602001919050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415613fc557613fc5613f9b565b5060010190565b6020808252602c908201527f45524337323154656d706c6174653a2043616e6e6f74207472616e736665722060408201526b1d1a1a5cc81d1bdad95b925960a21b606082015260800190565b6000835161402a818460208801613569565b83519083019061403e818360208801613569565b01949350505050565b6000808335601e1984360301811261405e57600080fd5b83016020810192503590506001600160401b0381111561407d57600080fd5b80360383131561366f57600080fd5b8183526000602080850194508260005b858110156140ca5781356140af816135ed565b6001600160a01b03168752958201959082019060010161409c565b509495945050505050565b81835260006001600160fb1b038311156140ee57600080fd5b8260051b8083602087013760009401602001938452509192915050565b81835260006020808501808196508560051b810191508460005b8781101561415b57828403895261413c8288614047565b614147868284613ed2565b9a87019a9550505090840190600101614125565b5091979650505050505050565b89815260a0602082018190528101889052600060c060058a901b830181019083018b835b8c8110156141c95785840360bf190183526141a7828f614047565b6141b2868284613ed2565b95505050602092830192919091019060010161418c565b50505082810360408401526141df81898b61408c565b905082810360608401526141f48187896140d5565b9050828103608084015261420981858761410b565b9c9b505050505050505050505050565b60006020828403121561422b57600080fd5b8151613562816135ed565b602081526000612c7f602083018486613ed2565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6000828210156142ad576142ad613f9b565b500390565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000821982111561431757614317613f9b565b500190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061434f90830184613595565b9695505050505050565b60006020828403121561436b57600080fd5b81516135628161352f56fe6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7afa26469706673582212206d0bc2d2cba31628d81338472b8edc29d561d59a0f52686f6ad9fb78da838a2264736f6c634300080a0033",
1531
+ "deployedBytecode": "0x60806040526004361061025d5760003560e01c806354f6127f11610143578063a22cb465116100bb578063d2786ba411610077578063d2786ba41461082d578063d8053ad314610852578063e086e5ec14610871578063e38d7cad14610879578063e985e9c514610899578063fe1ec880146108e257005b8063a22cb46514610780578063ac18de43146107a0578063b0c41ead146107c0578063c55f8126146107e0578063c87b56dd146107f3578063ccd7d4761461081357005b806370a082311161010a57806370a082311461069157806370c166d7146106bf57806382cf129d146106df57806390184b02146106f457806395d89b411461072d57806396fb3eaf1461074257005b806354f6127f146105ef57806355f804b31461060f5780635d1ca6311461062f5780636352211e1461065157806367530a611461067157005b806323b872dd116101d6578063431053ac1161019d578063431053ac14610538578063466bca0214610558578063467c97f51461057a5780634a63740a1461059a5780634b2ee5e9146105ba5780634f189cb2146105da57005b806323b872dd146104a0578063273e06b3146104c05780632d06177a146104e0578063392e53cd1461050057806342842e0e1461051857005b80630e57c7e8116102255780630e57c7e81461032357806310c558bf14610343578063160a792514610363578063162094c41461044057806319c186e5146104605780631aa3adf91461048057005b806301ffc9a71461025f57806306fdde0314610294578063081812fc146102b6578063095ea7b3146102ee5780630e05662e1461030e575b005b34801561026b57600080fd5b5061027f61027a366004613545565b610902565b60405190151581526020015b60405180910390f35b3480156102a057600080fd5b506102a9610942565b60405161028b91906135c1565b3480156102c257600080fd5b506102d66102d13660046135d4565b6109d4565b6040516001600160a01b03909116815260200161028b565b3480156102fa57600080fd5b5061025d610309366004613602565b610a6e565b34801561031a57600080fd5b506102a9610b84565b34801561032f57600080fd5b5061025d61033e366004613676565b610c12565b34801561034f57600080fd5b5061025d61035e3660046136c1565b610c87565b34801561036f57600080fd5b5061040561037e3660046136c1565b604080516080810182526000808252602082018190529181018290526060810191909152506001600160a01b03166000908152600860209081526040918290208251608081018452905460ff808216151583526101008204811615159383019390935262010000810483161515938201939093526301000000909204161515606082015290565b60405161028b919081511515815260208083015115159082015260408083015115159082015260609182015115159181019190915260800190565b34801561044c57600080fd5b5061025d61045b3660046137bb565b610d5a565b34801561046c57600080fd5b5061025d61047b3660046136c1565b610de9565b34801561048c57600080fd5b5061025d61049b3660046138de565b610eb2565b3480156104ac57600080fd5b5061025d6104bb3660046139e5565b6112f0565b3480156104cc57600080fd5b5061025d6104db3660046136c1565b6113c2565b3480156104ec57600080fd5b5061025d6104fb3660046136c1565b6114fb565b34801561050c57600080fd5b50600f5460ff1661027f565b34801561052457600080fd5b5061025d6105333660046139e5565b61153e565b34801561054457600080fd5b5061025d6105533660046136c1565b6115e4565b34801561056457600080fd5b5061056d611719565b60405161028b9190613a26565b34801561058657600080fd5b5061025d610595366004613a73565b61177a565b3480156105a657600080fd5b5061025d6105b53660046136c1565b611805565b3480156105c657600080fd5b506014546102d6906001600160a01b031681565b3480156105e657600080fd5b5061025d6118ca565b3480156105fb57600080fd5b506102a961060a3660046135d4565b61190e565b34801561061b57600080fd5b5061025d61062a366004613a8e565b6119b0565b34801561063b57600080fd5b5060015b60405160ff909116815260200161028b565b34801561065d57600080fd5b506102d661066c3660046135d4565b611a01565b34801561067d57600080fd5b5061025d61068c366004613676565b611a78565b34801561069d57600080fd5b506106b16106ac3660046136c1565b611ae8565b60405190815260200161028b565b3480156106cb57600080fd5b5061027f6106da366004613ac2565b611b6f565b3480156106eb57600080fd5b506102a9611c8c565b34801561070057600080fd5b5061027f61070f3660046136c1565b6001600160a01b031660009081526015602052604090205460ff1690565b34801561073957600080fd5b506102a9611c99565b34801561074e57600080fd5b5061027f61075d3660046136c1565b6001600160a01b0316600090815260086020526040902054610100900460ff1690565b34801561078c57600080fd5b5061025d61079b366004613b90565b611ca8565b3480156107ac57600080fd5b5061025d6107bb3660046136c1565b611d66565b3480156107cc57600080fd5b506102d66107db3660046135d4565b611da9565b61025d6107ee366004613bce565b611dd3565b3480156107ff57600080fd5b506102a961080e3660046135d4565b611e1b565b34801561081f57600080fd5b5060125461063f9060ff1681565b34801561083957600080fd5b50610842611f79565b60405161028b9493929190613c37565b34801561085e57600080fd5b50600f5461027f90610100900460ff1681565b61025d6120c9565b34801561088557600080fd5b506102d6610894366004613cbc565b61210b565b3480156108a557600080fd5b5061027f6108b4366004613d8b565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b3480156108ee57600080fd5b5061025d6108fd3660046136c1565b6122db565b60006301ffc9a760e01b6001600160e01b03198316148061093c57506001600160e01b031982166000908152600a602052604090205460ff165b92915050565b6060600d805461095190613db9565b80601f016020809104026020016040519081016040528092919081815260200182805461097d90613db9565b80156109ca5780601f1061099f576101008083540402835291602001916109ca565b820191906000526020600020905b8154815290600101906020018083116109ad57829003601f168201915b5050505050905090565b6000818152600360205260408120546001600160a01b0316610a525760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600560205260409020546001600160a01b031690565b6000610a7982611a01565b9050806001600160a01b0316836001600160a01b03161415610ae75760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610a49565b336001600160a01b0382161480610b035750610b0381336108b4565b610b755760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610a49565b610b7f838361240b565b505050565b60118054610b9190613db9565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbd90613db9565b8015610c0a5780601f10610bdf57610100808354040283529160200191610c0a565b820191906000526020600020905b815481529060010190602001808311610bed57829003601f168201915b505050505081565b3360009081526015602052604090205460ff16610c7c5760405162461bcd60e51b815260206004820152602260248201527f45524337323154656d706c6174653a204e4f5420455243323020436f6e74726160448201526118dd60f21b6064820152608401610a49565b610b7f838383612479565b3360009081526008602052604090205460ff161515600114610cbb5760405162461bcd60e51b8152600401610a4990613df4565b6001600160a01b038116600081815260086020526040808220805462ff000019166201000017815560098054600181018255935260008051602061437783398151915290920180546001600160a01b0319168417905551909133917fc2a42571a74ce1442c8c44d375ba9442e7d55d94b37afeace261c83c62128fa490610d4e9042904390918252602082015260400190565b60405180910390a35050565b610d646001611a01565b6001600160a01b0316336001600160a01b031614610d945760405162461bcd60e51b8152600401610a4990613e2b565b610d9e82826124d2565b336001600160a01b03167f6de6cd3982065cbd31e789e3109106f4d76d1c8a46e85262045cf947fb3fd4ed82844243604051610ddd9493929190613e62565b60405180910390a25050565b3360009081526008602052604090205460ff161515600114610e1d5760405162461bcd60e51b8152600401610a4990613df4565b6001600160a01b038116600081815260086020526040808220805463ff0000001916630100000017815560098054600181018255935260008051602061437783398151915290920180546001600160a01b0319168417905551909133917feb09276310ed110a7e565d64966d0ff68a47112d2dd5eeb6cbd7451836ce35ee90610d4e9042904390918252602082015260400190565b3360009081526008602052604090205462010000900460ff16610ee75760405162461bcd60e51b8152600401610a4990613e91565b6012805460ff191660ff8d16179055610f0260108b8b613408565b50610f0f60118989613408565b50600f54610100900460ff16610f8657336001600160a01b03167f5463569dcc320958360074a9ab27e809e8a6942c394fb151d139b5f7b4ecb1bd8c8c8c8a8a8a8a8a4243604051610f6a9a99989796959493929190613efb565b60405180910390a2600f805461ff001916610100179055610fd8565b60125460405133917fe5c4cf86b1815151e6f453e1e133d4454ae3b0b07145db39f2e0178685deac8491610fcf9160ff16908e908e908c908c908c908c908c9042904390613efb565b60405180910390a25b60328151111561101c5760405162461bcd60e51b815260206004820152600f60248201526e546f6f204d616e792050726f6f667360881b6044820152606401610a49565b60408051808201909152601c81527f19457468657265756d205369676e6564204d6573736167653a0a333200000000602082015260005b82518110156112e15760006001600160a01b031683828151811061107957611079613f63565b6020026020010151600001516001600160a01b0316146111fb57600082856040516020016110a8929190613f79565b60405160208183030381529060405280519060200120905060006001828685815181106110d7576110d7613f63565b6020026020010151602001518786815181106110f5576110f5613f63565b60200260200101516040015188878151811061111357611113613f63565b60200260200101516060015160405160008152602001604052604051611155949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015611177573d6000803e3d6000fd5b50505060206040510351905084838151811061119557611195613f63565b6020026020010151600001516001600160a01b0316816001600160a01b0316146111f85760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b210383937b7b31039b4b3b732b960611b6044820152606401610a49565b50505b82818151811061120d5761120d613f63565b6020026020010151600001516001600160a01b03167f2819d8badf5cff2c9220b8ee99dacc14d67058e343d7f0c2c444d198507fe9418585848151811061125657611256613f63565b60200260200101516020015186858151811061127457611274613f63565b60200260200101516040015187868151811061129257611292613f63565b6020026020010151606001516040516112c7949392919093845260ff9290921660208401526040830152606082015260800190565b60405180910390a2806112d981613fb1565b915050611053565b50505050505050505050505050565b806001146113105760405162461bcd60e51b8152600401610a4990613fcc565b61137a611375601380548060200260200160405190810160405280929190818152602001828054801561136c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161134e575b50505050505190565b61256c565b6113826125fd565b61138d8383836126ae565b611396826126ef565b506001600160a01b03166000908152600860205260409020805463ffffff001916630101010017905550565b3360009081526008602052604090205460ff161515600114806114135750336001600160a01b0382161480156114135750336000908152600860205260409020546301000000900460ff1615156001145b1561147b576001600160a01b03811660008181526008602052604090819020805463ff000000191681559051909133917fc929b18b08ffea86a1f95e29384dbe8968f2fcbd70cfd735df3aba1cc548cbf390610d4e9042904390918252602082015260400190565b60405162461bcd60e51b815260206004820152604660248201527f455243373231526f6c6573416464726573733a204e6f7420656e6f756768207060448201527f65726d697373696f6e7320746f2072656d6f76652066726f6d2037323553746f6064820152651c99531a5cdd60d21b608482015260a401610a49565b50565b6115056001611a01565b6001600160a01b0316336001600160a01b0316146115355760405162461bcd60e51b8152600401610a4990613e2b565b6114f8816126ef565b8060011461155e5760405162461bcd60e51b8152600401610a4990613fcc565b6115c1611375601380548060200260200160405190810160405280929190818152602001828054801561136c576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161134e5750505050505190565b6115c96125fd565b61138d83838360405180602001604052806000815250612780565b3360009081526008602052604090205460ff161515600114806116345750336001600160a01b03821614801561163457503360009081526008602052604090205462010000900460ff1615156001145b1561169b576001600160a01b03811660008181526008602052604090819020805462ff0000191681559051909133917f9b41e1311fa819e825bc77fa2568492112e15ea92d173f3f8ee1c8ec3c1c562b90610d4e9042904390918252602082015260400190565b60405162461bcd60e51b815260206004820152604760248201527f455243373231526f6c6573416464726573733a204e6f7420656e6f756768207060448201527f65726d697373696f6e7320746f2072656d6f76652066726f6d206d65746164616064820152661d18481b1a5cdd60ca1b608482015260a401610a49565b606060138054806020026020016040519081016040528092919081815260200182805480156109ca57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611753575050505050905090565b3360009081526008602052604090205462010000900460ff166117af5760405162461bcd60e51b8152600401610a4990613e91565b6012805460ff191660ff831690811790915560408051918252426020830152439082015233907fa8336411cc72db0e5bdc4dff989eeb35879bafaceffb59b54b37645c3395adb99060600160405180910390a250565b3360009081526008602052604090205460ff1615156001146118395760405162461bcd60e51b8152600401610a4990613df4565b6001600160a01b038116600081815260086020526040808220805461ff00191661010017815560098054600181018255935260008051602061437783398151915290920180546001600160a01b0319168417905551909133917f0572d56343be407a66810f01449212e8545e14ff5049c479d34be944cdfd0d4f90610d4e9042904390918252602082015260400190565b6118d46001611a01565b6001600160a01b0316336001600160a01b0316146119045760405162461bcd60e51b8152600401610a4990613e2b565b61190c6125fd565b565b6000818152600b6020526040902080546060919061192b90613db9565b80601f016020809104026020016040519081016040528092919081815260200182805461195790613db9565b80156119a45780601f10611979576101008083540402835291602001916119a4565b820191906000526020600020905b81548152906001019060200180831161198757829003601f168201915b50505050509050919050565b6119ba6001611a01565b6001600160a01b0316336001600160a01b0316146119ea5760405162461bcd60e51b8152600401610a4990613e2b565b80516119fd90600290602084019061348c565b5050565b6000818152600360205260408120546001600160a01b03168061093c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610a49565b336000908152600860205260409020546301000000900460ff16610c7c5760405162461bcd60e51b815260206004820152602160248201527f45524337323154656d706c6174653a204e4f542053544f5245205550444154456044820152602960f91b6064820152608401610a49565b60006001600160a01b038216611b535760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610a49565b506001600160a01b031660009081526004602052604090205490565b600f5460009060ff1615611be05760405162461bcd60e51b815260206004820152603260248201527f45524337323154656d706c6174653a20746f6b656e20696e7374616e636520616044820152711b1c9958591e481a5b9a5d1a585b1a5e995960721b6064820152608401610a49565b6000611c5a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b90819084018382808284376000920191909152508b92508991506127b89050565b9050808015611c7157506001600160a01b03841615155b15611c7f57611c7f84611839565b9998505050505050505050565b60108054610b9190613db9565b6060600e805461095190613db9565b6001600160a01b038216331415611d015760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610a49565b3360008181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101610d4e565b611d706001611a01565b6001600160a01b0316336001600160a01b031614611da05760405162461bcd60e51b8152600401610a4990613e2b565b6114f8816128f8565b60098181548110611db957600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526008602052604090205460ff161515600114611e075760405162461bcd60e51b8152600401610a4990613df4565b611e148585858585612958565b5050505050565b6000818152600360205260409020546060906001600160a01b0316611e9a5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610a49565b60008281526007602052604081208054611eb390613db9565b80601f0160208091040260200160405190810160405280929190818152602001828054611edf90613db9565b8015611f2c5780601f10611f0157610100808354040283529160200191611f2c565b820191906000526020600020905b815481529060010190602001808311611f0f57829003601f168201915b505050505090506000611f3d612b81565b825190915015611f72578082604051602001611f5a929190614018565b60405160208183030381529060405292505050919050565b5092915050565b60608060008060106011601260009054906101000a900460ff16600f60019054906101000a900460ff16838054611faf90613db9565b80601f0160208091040260200160405190810160405280929190818152602001828054611fdb90613db9565b80156120285780601f10611ffd57610100808354040283529160200191612028565b820191906000526020600020905b81548152906001019060200180831161200b57829003601f168201915b5050505050935082805461203b90613db9565b80601f016020809104026020016040519081016040528092919081815260200182805461206790613db9565b80156120b45780601f10612089576101008083540402835291602001916120b4565b820191906000526020600020905b81548152906001019060200180831161209757829003601f168201915b50505050509250935093509350935090919293565b6120d36001611a01565b6001600160a01b03166108fc479081150290604051600060405180830381858888f193505050501580156114f8573d6000803e3d6000fd5b60006002600c5414156121605760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a49565b6002600c5533600090815260086020526040902054610100900460ff166121d85760405162461bcd60e51b815260206004820152602660248201527f45524337323154656d706c6174653a204e4f542045524332304445504c4f5945604482015265525f524f4c4560d01b6064820152608401610a49565b601254604051630557fcfb60e41b815260009161010090046001600160a01b03169063557fcfb09061221e908e908e908e908e908e908e908e908e908e90600401614168565b6020604051808303816000875af115801561223d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122619190614219565b6001600160a01b0381166000818152601560205260408120805460ff191660019081179091556013805491820181559091527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900180546001600160a01b03191690911790559150506001600c559998505050505050505050565b3360009081526008602052604090205460ff1615156001148061232b5750336001600160a01b03821614801561232b57503360009081526008602052604090205460ff6101009091041615156001145b15612391576001600160a01b03811660008181526008602052604090819020805461ff00191681559051909133917f59bd33f4c27cc16a2d74450e1fa43d7896020be9aecea4bee009db9294de899790610d4e9042904390918252602082015260400190565b60405162461bcd60e51b815260206004820152604360248201527f455243373231526f6c6573416464726573733a204e6f7420656e6f756768207060448201527f65726d697373696f6e7320746f2072656d6f76652066726f6d2045524332304c6064820152621a5cdd60ea1b608482015260a401610a49565b600081815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061244082611a01565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000838152600b60205260409020612492908383613408565b50827fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b283836040516124c5929190614236565b60405180910390a2505050565b6000828152600360205260409020546001600160a01b031661254d5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610a49565b60008281526007602090815260409091208251610b7f9284019061348c565b60005b818110156119fd576013818154811061258a5761258a613f63565b6000918252602082200154604080516382c03da560e01b815290516001600160a01b03909216926382c03da59260048084019382900301818387803b1580156125d257600080fd5b505af11580156125e6573d6000803e3d6000fd5b5050505080806125f590613fb1565b91505061256f565b60005b600954811015612665576000600860006009848154811061262357612623613f63565b60009182526020808320909101546001600160a01b031683528201929092526040019020805463ffffffff19169055508061265d81613fb1565b915050612600565b5061267260096000613500565b6040805142815243602082015233917f712bc71db81927a76b8bf1ea346247bb0ad58f18e4e5c1bd4aa0ec6573e02a2b910160405180910390a2565b6126b83382612b90565b6126d45760405162461bcd60e51b8152600401610a499061424a565b610b7f83838360405180602001604052806000815250612780565b6001600160a01b038116600081815260086020526040808220805460ff19166001908117825560098054918201815590935260008051602061437783398151915290920180546001600160a01b0319168417905551909133917faf8fc8b6726138c96881c895390a08e9d91a94c288f06281e7f9821c49c7155b90610d4e9042904390918252602082015260400190565b61278a3383612b90565b6127a65760405162461bcd60e51b8152600401610a499061424a565b6127b284848484612c87565b50505050565b60006001600160a01b0386166128275760405162461bcd60e51b815260206004820152602e60248201527f45524337323154656d706c6174653a3a20496e76616c6964206d696e7465722c60448201526d20207a65726f206164647265737360901b6064820152608401610a49565b845161283a90600d90602088019061348c565b50835161284e90600e90602087019061348c565b5060128054610100600160a81b0319166101006001600160a01b0386160217905560408051602081019182905260009081905261288d9160029161348c565b50600f805461ffff191660019081179091556128aa908790612cba565b6128b3866126ef565b6001600160a01b0386166000908152600860205260409020805463ffffff00191663010101001781556128e76001846124d2565b5050600f5460ff1695945050505050565b6001600160a01b03811660008181526008602052604090819020805460ff191681559051909133917fb572db0e6da4924b771ed1712b980d48b5992b9a1c27aede55fbb3318c48996a90610d4e9042904390918252602082015260400190565b82846001600160a01b0316867f1f920dbda597d7bf95035464170fa58d0a4b57f13a1c315ace6793b9f63688b88585604051612995929190614236565b60405180910390a460006109c45a6129ad919061429b565b9050856129fd576129f7858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250612cd4915050565b50612b79565b6003861415612a46576129f78484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612cec92505050565b6002861415612b3a576000612a9d84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612a9892506020915087905061429b565b612d88565b90506000612aec85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250612ae79150602090508861429b565b612de6565b90506000612afb878484612ef3565b6040519091506001600160a01b038216907fcf78cf0d6f3d8371e1075c69c492ab4ec5d8cf23a1a239b6a51a1d00be7ca31290600090a2505050612b79565b60405162461bcd60e51b815260206004820152601460248201527357726f6e67206f7065726174696f6e207479706560601b6044820152606401610a49565b505050505050565b60606002805461095190613db9565b6000818152600360205260408120546001600160a01b0316612c095760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610a49565b6000612c1483611a01565b9050806001600160a01b0316846001600160a01b03161480612c4f5750836001600160a01b0316612c44846109d4565b6001600160a01b0316145b80612c7f57506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b949350505050565b612c92848484612ff5565b612c9e84848484613195565b6127b25760405162461bcd60e51b8152600401610a49906142b2565b6119fd828260405180602001604052806000815250613293565b6000806000845160208601878987f195945050505050565b600081516020830184f090506001600160a01b038116612d4e5760405162461bcd60e51b815260206004820152601960248201527f436f756c64206e6f74206465706c6f7920636f6e7472616374000000000000006044820152606401610a49565b6040516001600160a01b038216907fcf78cf0d6f3d8371e1075c69c492ab4ec5d8cf23a1a239b6a51a1d00be7ca31290600090a292915050565b6000612d95826020614304565b83511015612ddd5760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b6044820152606401610a49565b50016020015190565b606081612df481601f614304565b1015612e335760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610a49565b612e3d8284614304565b84511015612e815760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610a49565b606082158015612ea05760405191506000825260208201604052612eea565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015612ed9578051835260209283019201612ec1565b5050858452601f01601f1916604052505b50949350505050565b60008084471015612f465760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401610a49565b8251612f945760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610a49565b8383516020850187f590506001600160a01b038116612c7f5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401610a49565b826001600160a01b031661300882611a01565b6001600160a01b0316146130705760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610a49565b6001600160a01b0382166130d25760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610a49565b6130dd60008261240b565b6001600160a01b038316600090815260046020526040812080546001929061310690849061429b565b90915550506001600160a01b0382166000908152600460205260408120805460019290613134908490614304565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006001600160a01b0384163b1561328857604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906131d990339089908890889060040161431c565b6020604051808303816000875af1925050508015613214575060408051601f3d908101601f1916820190925261321191810190614359565b60015b61326e573d808015613242576040519150601f19603f3d011682016040523d82523d6000602084013e613247565b606091505b5080516132665760405162461bcd60e51b8152600401610a49906142b2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612c7f565b506001949350505050565b61329d83836132c6565b6132aa6000848484613195565b610b7f5760405162461bcd60e51b8152600401610a49906142b2565b6001600160a01b03821661331c5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610a49565b6000818152600360205260409020546001600160a01b0316156133815760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a49565b6001600160a01b03821660009081526004602052604081208054600192906133aa908490614304565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b82805461341490613db9565b90600052602060002090601f016020900481019282613436576000855561347c565b82601f1061344f5782800160ff1982351617855561347c565b8280016001018555821561347c579182015b8281111561347c578235825591602001919060010190613461565b5061348892915061351a565b5090565b82805461349890613db9565b90600052602060002090601f0160209004810192826134ba576000855561347c565b82601f106134d357805160ff191683800117855561347c565b8280016001018555821561347c579182015b8281111561347c5782518255916020019190600101906134e5565b50805460008255906000526020600020908101906114f891905b5b80821115613488576000815560010161351b565b6001600160e01b0319811681146114f857600080fd5b60006020828403121561355757600080fd5b81356135628161352f565b9392505050565b60005b8381101561358457818101518382015260200161356c565b838111156127b25750506000910152565b600081518084526135ad816020860160208601613569565b601f01601f19169290920160200192915050565b6020815260006135626020830184613595565b6000602082840312156135e657600080fd5b5035919050565b6001600160a01b03811681146114f857600080fd5b6000806040838503121561361557600080fd5b8235613620816135ed565b946020939093013593505050565b60008083601f84011261364057600080fd5b5081356001600160401b0381111561365757600080fd5b60208301915083602082850101111561366f57600080fd5b9250929050565b60008060006040848603121561368b57600080fd5b8335925060208401356001600160401b038111156136a857600080fd5b6136b48682870161362e565b9497909650939450505050565b6000602082840312156136d357600080fd5b8135613562816135ed565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715613716576137166136de565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613744576137446136de565b604052919050565b600082601f83011261375d57600080fd5b81356001600160401b03811115613776576137766136de565b613789601f8201601f191660200161371c565b81815284602083860101111561379e57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156137ce57600080fd5b8235915060208301356001600160401b038111156137eb57600080fd5b6137f78582860161374c565b9150509250929050565b803560ff8116811461381257600080fd5b919050565b600082601f83011261382857600080fd5b813560206001600160401b03821115613843576138436136de565b613851818360051b0161371c565b82815260079290921b8401810191818101908684111561387057600080fd5b8286015b848110156138d3576080818903121561388d5760008081fd5b6138956136f4565b81356138a0816135ed565b81526138ad828601613801565b818601526040828101359082015260608083013590820152835291830191608001613874565b509695505050505050565b600080600080600080600080600080600060e08c8e0312156138ff57600080fd5b6139088c613801565b9a506001600160401b038060208e0135111561392357600080fd5b6139338e60208f01358f0161362e565b909b50995060408d013581101561394957600080fd5b6139598e60408f01358f0161362e565b909950975060608d013581101561396f57600080fd5b61397f8e60608f01358f0161362e565b909750955060808d013581101561399557600080fd5b6139a58e60808f01358f0161362e565b909550935060a08d0135925060c08d01358110156139c257600080fd5b506139d38d60c08e01358e01613817565b90509295989b509295989b9093969950565b6000806000606084860312156139fa57600080fd5b8335613a05816135ed565b92506020840135613a15816135ed565b929592945050506040919091013590565b6020808252825182820181905260009190848201906040850190845b81811015613a675783516001600160a01b031683529284019291840191600101613a42565b50909695505050505050565b600060208284031215613a8557600080fd5b61356282613801565b600060208284031215613aa057600080fd5b81356001600160401b03811115613ab657600080fd5b612c7f8482850161374c565b60008060008060008060008060c0898b031215613ade57600080fd5b8835613ae9816135ed565b975060208901356001600160401b0380821115613b0557600080fd5b613b118c838d0161362e565b909950975060408b0135915080821115613b2a57600080fd5b613b368c838d0161362e565b909750955060608b01359150613b4b826135ed565b90935060808a013590613b5d826135ed565b90925060a08a01359080821115613b7357600080fd5b50613b808b828c0161374c565b9150509295985092959890939650565b60008060408385031215613ba357600080fd5b8235613bae816135ed565b915060208301358015158114613bc357600080fd5b809150509250929050565b600080600080600060808688031215613be657600080fd5b853594506020860135613bf8816135ed565b93506040860135925060608601356001600160401b03811115613c1a57600080fd5b613c268882890161362e565b969995985093965092949392505050565b608081526000613c4a6080830187613595565b8281036020840152613c5c8187613595565b60ff959095166040840152505090151560609091015292915050565b60008083601f840112613c8a57600080fd5b5081356001600160401b03811115613ca157600080fd5b6020830191508360208260051b850101111561366f57600080fd5b600080600080600080600080600060a08a8c031215613cda57600080fd5b8935985060208a01356001600160401b0380821115613cf857600080fd5b613d048d838e01613c78565b909a50985060408c0135915080821115613d1d57600080fd5b613d298d838e01613c78565b909850965060608c0135915080821115613d4257600080fd5b613d4e8d838e01613c78565b909650945060808c0135915080821115613d6757600080fd5b50613d748c828d01613c78565b915080935050809150509295985092959850929598565b60008060408385031215613d9e57600080fd5b8235613da9816135ed565b91506020830135613bc3816135ed565b600181811c90821680613dcd57607f821691505b60208210811415613dee57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601f908201527f455243373231526f6c6573416464726573733a204e4f54204d414e4147455200604082015260600190565b6020808252601c908201527f45524337323154656d706c6174653a206e6f74204e46544f776e657200000000604082015260600190565b608081526000613e756080830187613595565b6020830195909552506040810192909252606090910152919050565b60208082526021908201527f45524337323154656d706c6174653a204e4f54204d455441444154415f524f4c6040820152604560f81b606082015260800190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60ff8b16815260e060208201526000613f1860e083018b8d613ed2565b8281036040840152613f2b818a8c613ed2565b90508281036060840152613f4081888a613ed2565b6080840196909652505060a081019290925260c090910152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b60008351613f8b818460208801613569565b9190910191825250602001919050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415613fc557613fc5613f9b565b5060010190565b6020808252602c908201527f45524337323154656d706c6174653a2043616e6e6f74207472616e736665722060408201526b1d1a1a5cc81d1bdad95b925960a21b606082015260800190565b6000835161402a818460208801613569565b83519083019061403e818360208801613569565b01949350505050565b6000808335601e1984360301811261405e57600080fd5b83016020810192503590506001600160401b0381111561407d57600080fd5b80360383131561366f57600080fd5b8183526000602080850194508260005b858110156140ca5781356140af816135ed565b6001600160a01b03168752958201959082019060010161409c565b509495945050505050565b81835260006001600160fb1b038311156140ee57600080fd5b8260051b8083602087013760009401602001938452509192915050565b81835260006020808501808196508560051b810191508460005b8781101561415b57828403895261413c8288614047565b614147868284613ed2565b9a87019a9550505090840190600101614125565b5091979650505050505050565b89815260a0602082018190528101889052600060c060058a901b830181019083018b835b8c8110156141c95785840360bf190183526141a7828f614047565b6141b2868284613ed2565b95505050602092830192919091019060010161418c565b50505082810360408401526141df81898b61408c565b905082810360608401526141f48187896140d5565b9050828103608084015261420981858761410b565b9c9b505050505050505050505050565b60006020828403121561422b57600080fd5b8151613562816135ed565b602081526000612c7f602083018486613ed2565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6000828210156142ad576142ad613f9b565b500390565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000821982111561431757614317613f9b565b500190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061434f90830184613595565b9695505050505050565b60006020828403121561436b57600080fd5b81516135628161352f56fe6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7afa26469706673582212206d0bc2d2cba31628d81338472b8edc29d561d59a0f52686f6ad9fb78da838a2264736f6c634300080a0033",
1532
+ "linkReferences": {},
1533
+ "deployedLinkReferences": {}
1534
+ }