@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,1530 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ERC20TemplateEnterprise",
4
+ "sourceName": "contracts/templates/ERC20TemplateEnterprise.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": "AddedMinter",
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": "AddedPaymentManager",
66
+ "type": "event"
67
+ },
68
+ {
69
+ "anonymous": false,
70
+ "inputs": [
71
+ {
72
+ "indexed": true,
73
+ "internalType": "address",
74
+ "name": "owner",
75
+ "type": "address"
76
+ },
77
+ {
78
+ "indexed": true,
79
+ "internalType": "address",
80
+ "name": "spender",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "indexed": false,
85
+ "internalType": "uint256",
86
+ "name": "value",
87
+ "type": "uint256"
88
+ }
89
+ ],
90
+ "name": "Approval",
91
+ "type": "event"
92
+ },
93
+ {
94
+ "anonymous": false,
95
+ "inputs": [
96
+ {
97
+ "indexed": false,
98
+ "internalType": "address",
99
+ "name": "buyer",
100
+ "type": "address"
101
+ },
102
+ {
103
+ "indexed": false,
104
+ "internalType": "uint256",
105
+ "name": "baseTokenAmount",
106
+ "type": "uint256"
107
+ },
108
+ {
109
+ "indexed": false,
110
+ "internalType": "uint256",
111
+ "name": "marketFeeAmount",
112
+ "type": "uint256"
113
+ }
114
+ ],
115
+ "name": "BuyAndOrder",
116
+ "type": "event"
117
+ },
118
+ {
119
+ "anonymous": false,
120
+ "inputs": [
121
+ {
122
+ "indexed": true,
123
+ "internalType": "address",
124
+ "name": "signer",
125
+ "type": "address"
126
+ },
127
+ {
128
+ "indexed": false,
129
+ "internalType": "uint256",
130
+ "name": "timestamp",
131
+ "type": "uint256"
132
+ },
133
+ {
134
+ "indexed": false,
135
+ "internalType": "uint256",
136
+ "name": "blockNumber",
137
+ "type": "uint256"
138
+ }
139
+ ],
140
+ "name": "CleanedPermissions",
141
+ "type": "event"
142
+ },
143
+ {
144
+ "anonymous": false,
145
+ "inputs": [
146
+ {
147
+ "indexed": false,
148
+ "internalType": "address",
149
+ "name": "currentMinter",
150
+ "type": "address"
151
+ },
152
+ {
153
+ "indexed": false,
154
+ "internalType": "address",
155
+ "name": "newMinter",
156
+ "type": "address"
157
+ }
158
+ ],
159
+ "name": "MinterApproved",
160
+ "type": "event"
161
+ },
162
+ {
163
+ "anonymous": false,
164
+ "inputs": [
165
+ {
166
+ "indexed": false,
167
+ "internalType": "address",
168
+ "name": "currentMinter",
169
+ "type": "address"
170
+ },
171
+ {
172
+ "indexed": false,
173
+ "internalType": "address",
174
+ "name": "newMinter",
175
+ "type": "address"
176
+ }
177
+ ],
178
+ "name": "MinterProposed",
179
+ "type": "event"
180
+ },
181
+ {
182
+ "anonymous": false,
183
+ "inputs": [
184
+ {
185
+ "indexed": false,
186
+ "internalType": "bytes32",
187
+ "name": "exchangeId",
188
+ "type": "bytes32"
189
+ },
190
+ {
191
+ "indexed": false,
192
+ "internalType": "address",
193
+ "name": "owner",
194
+ "type": "address"
195
+ }
196
+ ],
197
+ "name": "NewFixedRate",
198
+ "type": "event"
199
+ },
200
+ {
201
+ "anonymous": false,
202
+ "inputs": [
203
+ {
204
+ "indexed": true,
205
+ "internalType": "address",
206
+ "name": "caller",
207
+ "type": "address"
208
+ },
209
+ {
210
+ "indexed": true,
211
+ "internalType": "address",
212
+ "name": "_newPaymentCollector",
213
+ "type": "address"
214
+ },
215
+ {
216
+ "indexed": false,
217
+ "internalType": "uint256",
218
+ "name": "timestamp",
219
+ "type": "uint256"
220
+ },
221
+ {
222
+ "indexed": false,
223
+ "internalType": "uint256",
224
+ "name": "blockNumber",
225
+ "type": "uint256"
226
+ }
227
+ ],
228
+ "name": "NewPaymentCollector",
229
+ "type": "event"
230
+ },
231
+ {
232
+ "anonymous": false,
233
+ "inputs": [
234
+ {
235
+ "indexed": false,
236
+ "internalType": "address",
237
+ "name": "poolAddress",
238
+ "type": "address"
239
+ },
240
+ {
241
+ "indexed": false,
242
+ "internalType": "address",
243
+ "name": "ssContract",
244
+ "type": "address"
245
+ },
246
+ {
247
+ "indexed": false,
248
+ "internalType": "address",
249
+ "name": "basetokenAddress",
250
+ "type": "address"
251
+ }
252
+ ],
253
+ "name": "NewPool",
254
+ "type": "event"
255
+ },
256
+ {
257
+ "anonymous": false,
258
+ "inputs": [
259
+ {
260
+ "indexed": true,
261
+ "internalType": "address",
262
+ "name": "consumer",
263
+ "type": "address"
264
+ },
265
+ {
266
+ "indexed": false,
267
+ "internalType": "address",
268
+ "name": "payer",
269
+ "type": "address"
270
+ },
271
+ {
272
+ "indexed": false,
273
+ "internalType": "uint256",
274
+ "name": "amount",
275
+ "type": "uint256"
276
+ },
277
+ {
278
+ "indexed": false,
279
+ "internalType": "uint256",
280
+ "name": "serviceIndex",
281
+ "type": "uint256"
282
+ },
283
+ {
284
+ "indexed": false,
285
+ "internalType": "uint256",
286
+ "name": "timestamp",
287
+ "type": "uint256"
288
+ },
289
+ {
290
+ "indexed": true,
291
+ "internalType": "address",
292
+ "name": "publishMarketAddress",
293
+ "type": "address"
294
+ },
295
+ {
296
+ "indexed": false,
297
+ "internalType": "uint256",
298
+ "name": "blockNumber",
299
+ "type": "uint256"
300
+ }
301
+ ],
302
+ "name": "OrderStarted",
303
+ "type": "event"
304
+ },
305
+ {
306
+ "anonymous": false,
307
+ "inputs": [
308
+ {
309
+ "indexed": true,
310
+ "internalType": "address",
311
+ "name": "providerFeeAddress",
312
+ "type": "address"
313
+ },
314
+ {
315
+ "indexed": true,
316
+ "internalType": "address",
317
+ "name": "providerFeeToken",
318
+ "type": "address"
319
+ },
320
+ {
321
+ "indexed": false,
322
+ "internalType": "uint256",
323
+ "name": "providerFeeAmount",
324
+ "type": "uint256"
325
+ },
326
+ {
327
+ "indexed": false,
328
+ "internalType": "bytes",
329
+ "name": "providerData",
330
+ "type": "bytes"
331
+ },
332
+ {
333
+ "indexed": false,
334
+ "internalType": "uint8",
335
+ "name": "v",
336
+ "type": "uint8"
337
+ },
338
+ {
339
+ "indexed": false,
340
+ "internalType": "bytes32",
341
+ "name": "r",
342
+ "type": "bytes32"
343
+ },
344
+ {
345
+ "indexed": false,
346
+ "internalType": "bytes32",
347
+ "name": "s",
348
+ "type": "bytes32"
349
+ }
350
+ ],
351
+ "name": "ProviderFees",
352
+ "type": "event"
353
+ },
354
+ {
355
+ "anonymous": false,
356
+ "inputs": [
357
+ {
358
+ "indexed": true,
359
+ "internalType": "address",
360
+ "name": "PublishMarketFeeAddress",
361
+ "type": "address"
362
+ },
363
+ {
364
+ "indexed": true,
365
+ "internalType": "address",
366
+ "name": "PublishMarketFeeToken",
367
+ "type": "address"
368
+ },
369
+ {
370
+ "indexed": false,
371
+ "internalType": "uint256",
372
+ "name": "PublishMarketFeeAmount",
373
+ "type": "uint256"
374
+ }
375
+ ],
376
+ "name": "PublishMarketFees",
377
+ "type": "event"
378
+ },
379
+ {
380
+ "anonymous": false,
381
+ "inputs": [
382
+ {
383
+ "indexed": false,
384
+ "internalType": "address",
385
+ "name": "caller",
386
+ "type": "address"
387
+ },
388
+ {
389
+ "indexed": false,
390
+ "internalType": "address",
391
+ "name": "PublishMarketFeeAddress",
392
+ "type": "address"
393
+ },
394
+ {
395
+ "indexed": false,
396
+ "internalType": "address",
397
+ "name": "PublishMarketFeeToken",
398
+ "type": "address"
399
+ },
400
+ {
401
+ "indexed": false,
402
+ "internalType": "uint256",
403
+ "name": "PublishMarketFeeAmount",
404
+ "type": "uint256"
405
+ }
406
+ ],
407
+ "name": "PublishMarketFeesChanged",
408
+ "type": "event"
409
+ },
410
+ {
411
+ "anonymous": false,
412
+ "inputs": [
413
+ {
414
+ "indexed": true,
415
+ "internalType": "address",
416
+ "name": "user",
417
+ "type": "address"
418
+ },
419
+ {
420
+ "indexed": true,
421
+ "internalType": "address",
422
+ "name": "signer",
423
+ "type": "address"
424
+ },
425
+ {
426
+ "indexed": false,
427
+ "internalType": "uint256",
428
+ "name": "timestamp",
429
+ "type": "uint256"
430
+ },
431
+ {
432
+ "indexed": false,
433
+ "internalType": "uint256",
434
+ "name": "blockNumber",
435
+ "type": "uint256"
436
+ }
437
+ ],
438
+ "name": "RemovedMinter",
439
+ "type": "event"
440
+ },
441
+ {
442
+ "anonymous": false,
443
+ "inputs": [
444
+ {
445
+ "indexed": true,
446
+ "internalType": "address",
447
+ "name": "user",
448
+ "type": "address"
449
+ },
450
+ {
451
+ "indexed": true,
452
+ "internalType": "address",
453
+ "name": "signer",
454
+ "type": "address"
455
+ },
456
+ {
457
+ "indexed": false,
458
+ "internalType": "uint256",
459
+ "name": "timestamp",
460
+ "type": "uint256"
461
+ },
462
+ {
463
+ "indexed": false,
464
+ "internalType": "uint256",
465
+ "name": "blockNumber",
466
+ "type": "uint256"
467
+ }
468
+ ],
469
+ "name": "RemovedPaymentManager",
470
+ "type": "event"
471
+ },
472
+ {
473
+ "anonymous": false,
474
+ "inputs": [
475
+ {
476
+ "indexed": true,
477
+ "internalType": "address",
478
+ "name": "from",
479
+ "type": "address"
480
+ },
481
+ {
482
+ "indexed": true,
483
+ "internalType": "address",
484
+ "name": "to",
485
+ "type": "address"
486
+ },
487
+ {
488
+ "indexed": false,
489
+ "internalType": "uint256",
490
+ "name": "value",
491
+ "type": "uint256"
492
+ }
493
+ ],
494
+ "name": "Transfer",
495
+ "type": "event"
496
+ },
497
+ {
498
+ "stateMutability": "payable",
499
+ "type": "fallback"
500
+ },
501
+ {
502
+ "inputs": [],
503
+ "name": "BASE",
504
+ "outputs": [
505
+ {
506
+ "internalType": "uint256",
507
+ "name": "",
508
+ "type": "uint256"
509
+ }
510
+ ],
511
+ "stateMutability": "view",
512
+ "type": "function"
513
+ },
514
+ {
515
+ "inputs": [],
516
+ "name": "BASE_COMMUNITY_FEE_PERCENTAGE",
517
+ "outputs": [
518
+ {
519
+ "internalType": "uint256",
520
+ "name": "",
521
+ "type": "uint256"
522
+ }
523
+ ],
524
+ "stateMutability": "view",
525
+ "type": "function"
526
+ },
527
+ {
528
+ "inputs": [],
529
+ "name": "DOMAIN_SEPARATOR",
530
+ "outputs": [
531
+ {
532
+ "internalType": "bytes32",
533
+ "name": "",
534
+ "type": "bytes32"
535
+ }
536
+ ],
537
+ "stateMutability": "view",
538
+ "type": "function"
539
+ },
540
+ {
541
+ "inputs": [],
542
+ "name": "PERMIT_TYPEHASH",
543
+ "outputs": [
544
+ {
545
+ "internalType": "bytes32",
546
+ "name": "",
547
+ "type": "bytes32"
548
+ }
549
+ ],
550
+ "stateMutability": "view",
551
+ "type": "function"
552
+ },
553
+ {
554
+ "inputs": [
555
+ {
556
+ "internalType": "address",
557
+ "name": "_minter",
558
+ "type": "address"
559
+ }
560
+ ],
561
+ "name": "addMinter",
562
+ "outputs": [],
563
+ "stateMutability": "nonpayable",
564
+ "type": "function"
565
+ },
566
+ {
567
+ "inputs": [
568
+ {
569
+ "internalType": "address",
570
+ "name": "_paymentManager",
571
+ "type": "address"
572
+ }
573
+ ],
574
+ "name": "addPaymentManager",
575
+ "outputs": [],
576
+ "stateMutability": "nonpayable",
577
+ "type": "function"
578
+ },
579
+ {
580
+ "inputs": [
581
+ {
582
+ "internalType": "address",
583
+ "name": "owner",
584
+ "type": "address"
585
+ },
586
+ {
587
+ "internalType": "address",
588
+ "name": "spender",
589
+ "type": "address"
590
+ }
591
+ ],
592
+ "name": "allowance",
593
+ "outputs": [
594
+ {
595
+ "internalType": "uint256",
596
+ "name": "",
597
+ "type": "uint256"
598
+ }
599
+ ],
600
+ "stateMutability": "view",
601
+ "type": "function"
602
+ },
603
+ {
604
+ "inputs": [
605
+ {
606
+ "internalType": "address",
607
+ "name": "spender",
608
+ "type": "address"
609
+ },
610
+ {
611
+ "internalType": "uint256",
612
+ "name": "amount",
613
+ "type": "uint256"
614
+ }
615
+ ],
616
+ "name": "approve",
617
+ "outputs": [
618
+ {
619
+ "internalType": "bool",
620
+ "name": "",
621
+ "type": "bool"
622
+ }
623
+ ],
624
+ "stateMutability": "nonpayable",
625
+ "type": "function"
626
+ },
627
+ {
628
+ "inputs": [
629
+ {
630
+ "internalType": "uint256",
631
+ "name": "",
632
+ "type": "uint256"
633
+ }
634
+ ],
635
+ "name": "authERC20",
636
+ "outputs": [
637
+ {
638
+ "internalType": "address",
639
+ "name": "",
640
+ "type": "address"
641
+ }
642
+ ],
643
+ "stateMutability": "view",
644
+ "type": "function"
645
+ },
646
+ {
647
+ "inputs": [
648
+ {
649
+ "internalType": "address",
650
+ "name": "account",
651
+ "type": "address"
652
+ }
653
+ ],
654
+ "name": "balanceOf",
655
+ "outputs": [
656
+ {
657
+ "internalType": "uint256",
658
+ "name": "",
659
+ "type": "uint256"
660
+ }
661
+ ],
662
+ "stateMutability": "view",
663
+ "type": "function"
664
+ },
665
+ {
666
+ "inputs": [
667
+ {
668
+ "internalType": "uint256",
669
+ "name": "amount",
670
+ "type": "uint256"
671
+ }
672
+ ],
673
+ "name": "burn",
674
+ "outputs": [],
675
+ "stateMutability": "nonpayable",
676
+ "type": "function"
677
+ },
678
+ {
679
+ "inputs": [
680
+ {
681
+ "internalType": "address",
682
+ "name": "account",
683
+ "type": "address"
684
+ },
685
+ {
686
+ "internalType": "uint256",
687
+ "name": "amount",
688
+ "type": "uint256"
689
+ }
690
+ ],
691
+ "name": "burnFrom",
692
+ "outputs": [],
693
+ "stateMutability": "nonpayable",
694
+ "type": "function"
695
+ },
696
+ {
697
+ "inputs": [
698
+ {
699
+ "components": [
700
+ {
701
+ "internalType": "address",
702
+ "name": "consumer",
703
+ "type": "address"
704
+ },
705
+ {
706
+ "internalType": "uint256",
707
+ "name": "serviceIndex",
708
+ "type": "uint256"
709
+ },
710
+ {
711
+ "internalType": "address",
712
+ "name": "providerFeeAddress",
713
+ "type": "address"
714
+ },
715
+ {
716
+ "internalType": "address",
717
+ "name": "providerFeeToken",
718
+ "type": "address"
719
+ },
720
+ {
721
+ "internalType": "uint256",
722
+ "name": "providerFeeAmount",
723
+ "type": "uint256"
724
+ },
725
+ {
726
+ "internalType": "uint8",
727
+ "name": "v",
728
+ "type": "uint8"
729
+ },
730
+ {
731
+ "internalType": "bytes32",
732
+ "name": "r",
733
+ "type": "bytes32"
734
+ },
735
+ {
736
+ "internalType": "bytes32",
737
+ "name": "s",
738
+ "type": "bytes32"
739
+ },
740
+ {
741
+ "internalType": "bytes",
742
+ "name": "providerData",
743
+ "type": "bytes"
744
+ }
745
+ ],
746
+ "internalType": "struct ERC20TemplateEnterprise.OrderParams",
747
+ "name": "_orderParams",
748
+ "type": "tuple"
749
+ },
750
+ {
751
+ "internalType": "address",
752
+ "name": "dispenserContract",
753
+ "type": "address"
754
+ }
755
+ ],
756
+ "name": "buyFromDispenserAndOrder",
757
+ "outputs": [],
758
+ "stateMutability": "nonpayable",
759
+ "type": "function"
760
+ },
761
+ {
762
+ "inputs": [
763
+ {
764
+ "components": [
765
+ {
766
+ "internalType": "address",
767
+ "name": "consumer",
768
+ "type": "address"
769
+ },
770
+ {
771
+ "internalType": "uint256",
772
+ "name": "serviceIndex",
773
+ "type": "uint256"
774
+ },
775
+ {
776
+ "internalType": "address",
777
+ "name": "providerFeeAddress",
778
+ "type": "address"
779
+ },
780
+ {
781
+ "internalType": "address",
782
+ "name": "providerFeeToken",
783
+ "type": "address"
784
+ },
785
+ {
786
+ "internalType": "uint256",
787
+ "name": "providerFeeAmount",
788
+ "type": "uint256"
789
+ },
790
+ {
791
+ "internalType": "uint8",
792
+ "name": "v",
793
+ "type": "uint8"
794
+ },
795
+ {
796
+ "internalType": "bytes32",
797
+ "name": "r",
798
+ "type": "bytes32"
799
+ },
800
+ {
801
+ "internalType": "bytes32",
802
+ "name": "s",
803
+ "type": "bytes32"
804
+ },
805
+ {
806
+ "internalType": "bytes",
807
+ "name": "providerData",
808
+ "type": "bytes"
809
+ }
810
+ ],
811
+ "internalType": "struct ERC20TemplateEnterprise.OrderParams",
812
+ "name": "_orderParams",
813
+ "type": "tuple"
814
+ },
815
+ {
816
+ "components": [
817
+ {
818
+ "internalType": "address",
819
+ "name": "exchangeContract",
820
+ "type": "address"
821
+ },
822
+ {
823
+ "internalType": "bytes32",
824
+ "name": "exchangeId",
825
+ "type": "bytes32"
826
+ },
827
+ {
828
+ "internalType": "uint256",
829
+ "name": "maxBaseTokenAmount",
830
+ "type": "uint256"
831
+ },
832
+ {
833
+ "internalType": "uint256",
834
+ "name": "swapMarketFee",
835
+ "type": "uint256"
836
+ },
837
+ {
838
+ "internalType": "address",
839
+ "name": "marketFeeAddress",
840
+ "type": "address"
841
+ }
842
+ ],
843
+ "internalType": "struct ERC20TemplateEnterprise.FreParams",
844
+ "name": "_freParams",
845
+ "type": "tuple"
846
+ }
847
+ ],
848
+ "name": "buyFromFreAndOrder",
849
+ "outputs": [],
850
+ "stateMutability": "nonpayable",
851
+ "type": "function"
852
+ },
853
+ {
854
+ "inputs": [],
855
+ "name": "cap",
856
+ "outputs": [
857
+ {
858
+ "internalType": "uint256",
859
+ "name": "",
860
+ "type": "uint256"
861
+ }
862
+ ],
863
+ "stateMutability": "view",
864
+ "type": "function"
865
+ },
866
+ {
867
+ "inputs": [],
868
+ "name": "cleanFrom721",
869
+ "outputs": [],
870
+ "stateMutability": "nonpayable",
871
+ "type": "function"
872
+ },
873
+ {
874
+ "inputs": [],
875
+ "name": "cleanPermissions",
876
+ "outputs": [],
877
+ "stateMutability": "nonpayable",
878
+ "type": "function"
879
+ },
880
+ {
881
+ "inputs": [
882
+ {
883
+ "internalType": "address",
884
+ "name": "_dispenser",
885
+ "type": "address"
886
+ },
887
+ {
888
+ "internalType": "uint256",
889
+ "name": "maxTokens",
890
+ "type": "uint256"
891
+ },
892
+ {
893
+ "internalType": "uint256",
894
+ "name": "maxBalance",
895
+ "type": "uint256"
896
+ },
897
+ {
898
+ "internalType": "bool",
899
+ "name": "withMint",
900
+ "type": "bool"
901
+ }
902
+ ],
903
+ "name": "createDispenser",
904
+ "outputs": [],
905
+ "stateMutability": "nonpayable",
906
+ "type": "function"
907
+ },
908
+ {
909
+ "inputs": [
910
+ {
911
+ "internalType": "address",
912
+ "name": "fixedPriceAddress",
913
+ "type": "address"
914
+ },
915
+ {
916
+ "internalType": "address[]",
917
+ "name": "addresses",
918
+ "type": "address[]"
919
+ },
920
+ {
921
+ "internalType": "uint256[]",
922
+ "name": "uints",
923
+ "type": "uint256[]"
924
+ }
925
+ ],
926
+ "name": "createFixedRate",
927
+ "outputs": [
928
+ {
929
+ "internalType": "bytes32",
930
+ "name": "exchangeId",
931
+ "type": "bytes32"
932
+ }
933
+ ],
934
+ "stateMutability": "nonpayable",
935
+ "type": "function"
936
+ },
937
+ {
938
+ "inputs": [],
939
+ "name": "decimals",
940
+ "outputs": [
941
+ {
942
+ "internalType": "uint8",
943
+ "name": "",
944
+ "type": "uint8"
945
+ }
946
+ ],
947
+ "stateMutability": "pure",
948
+ "type": "function"
949
+ },
950
+ {
951
+ "inputs": [
952
+ {
953
+ "internalType": "address",
954
+ "name": "spender",
955
+ "type": "address"
956
+ },
957
+ {
958
+ "internalType": "uint256",
959
+ "name": "subtractedValue",
960
+ "type": "uint256"
961
+ }
962
+ ],
963
+ "name": "decreaseAllowance",
964
+ "outputs": [
965
+ {
966
+ "internalType": "bool",
967
+ "name": "",
968
+ "type": "bool"
969
+ }
970
+ ],
971
+ "stateMutability": "nonpayable",
972
+ "type": "function"
973
+ },
974
+ {
975
+ "inputs": [],
976
+ "name": "getERC721Address",
977
+ "outputs": [
978
+ {
979
+ "internalType": "address",
980
+ "name": "",
981
+ "type": "address"
982
+ }
983
+ ],
984
+ "stateMutability": "view",
985
+ "type": "function"
986
+ },
987
+ {
988
+ "inputs": [],
989
+ "name": "getId",
990
+ "outputs": [
991
+ {
992
+ "internalType": "uint8",
993
+ "name": "",
994
+ "type": "uint8"
995
+ }
996
+ ],
997
+ "stateMutability": "pure",
998
+ "type": "function"
999
+ },
1000
+ {
1001
+ "inputs": [],
1002
+ "name": "getPaymentCollector",
1003
+ "outputs": [
1004
+ {
1005
+ "internalType": "address",
1006
+ "name": "",
1007
+ "type": "address"
1008
+ }
1009
+ ],
1010
+ "stateMutability": "view",
1011
+ "type": "function"
1012
+ },
1013
+ {
1014
+ "inputs": [
1015
+ {
1016
+ "internalType": "address",
1017
+ "name": "user",
1018
+ "type": "address"
1019
+ }
1020
+ ],
1021
+ "name": "getPermissions",
1022
+ "outputs": [
1023
+ {
1024
+ "components": [
1025
+ {
1026
+ "internalType": "bool",
1027
+ "name": "minter",
1028
+ "type": "bool"
1029
+ },
1030
+ {
1031
+ "internalType": "bool",
1032
+ "name": "paymentManager",
1033
+ "type": "bool"
1034
+ }
1035
+ ],
1036
+ "internalType": "struct ERC20Roles.RolesERC20",
1037
+ "name": "",
1038
+ "type": "tuple"
1039
+ }
1040
+ ],
1041
+ "stateMutability": "view",
1042
+ "type": "function"
1043
+ },
1044
+ {
1045
+ "inputs": [],
1046
+ "name": "getPublishingMarketFee",
1047
+ "outputs": [
1048
+ {
1049
+ "internalType": "address",
1050
+ "name": "",
1051
+ "type": "address"
1052
+ },
1053
+ {
1054
+ "internalType": "address",
1055
+ "name": "",
1056
+ "type": "address"
1057
+ },
1058
+ {
1059
+ "internalType": "uint256",
1060
+ "name": "",
1061
+ "type": "uint256"
1062
+ }
1063
+ ],
1064
+ "stateMutability": "view",
1065
+ "type": "function"
1066
+ },
1067
+ {
1068
+ "inputs": [
1069
+ {
1070
+ "internalType": "address",
1071
+ "name": "spender",
1072
+ "type": "address"
1073
+ },
1074
+ {
1075
+ "internalType": "uint256",
1076
+ "name": "addedValue",
1077
+ "type": "uint256"
1078
+ }
1079
+ ],
1080
+ "name": "increaseAllowance",
1081
+ "outputs": [
1082
+ {
1083
+ "internalType": "bool",
1084
+ "name": "",
1085
+ "type": "bool"
1086
+ }
1087
+ ],
1088
+ "stateMutability": "nonpayable",
1089
+ "type": "function"
1090
+ },
1091
+ {
1092
+ "inputs": [
1093
+ {
1094
+ "internalType": "string[]",
1095
+ "name": "strings_",
1096
+ "type": "string[]"
1097
+ },
1098
+ {
1099
+ "internalType": "address[]",
1100
+ "name": "addresses_",
1101
+ "type": "address[]"
1102
+ },
1103
+ {
1104
+ "internalType": "address[]",
1105
+ "name": "factoryAddresses_",
1106
+ "type": "address[]"
1107
+ },
1108
+ {
1109
+ "internalType": "uint256[]",
1110
+ "name": "uints_",
1111
+ "type": "uint256[]"
1112
+ },
1113
+ {
1114
+ "internalType": "bytes[]",
1115
+ "name": "bytes_",
1116
+ "type": "bytes[]"
1117
+ }
1118
+ ],
1119
+ "name": "initialize",
1120
+ "outputs": [
1121
+ {
1122
+ "internalType": "bool",
1123
+ "name": "",
1124
+ "type": "bool"
1125
+ }
1126
+ ],
1127
+ "stateMutability": "nonpayable",
1128
+ "type": "function"
1129
+ },
1130
+ {
1131
+ "inputs": [
1132
+ {
1133
+ "internalType": "address",
1134
+ "name": "user",
1135
+ "type": "address"
1136
+ }
1137
+ ],
1138
+ "name": "isERC20Deployer",
1139
+ "outputs": [
1140
+ {
1141
+ "internalType": "bool",
1142
+ "name": "deployer",
1143
+ "type": "bool"
1144
+ }
1145
+ ],
1146
+ "stateMutability": "nonpayable",
1147
+ "type": "function"
1148
+ },
1149
+ {
1150
+ "inputs": [],
1151
+ "name": "isInitialized",
1152
+ "outputs": [
1153
+ {
1154
+ "internalType": "bool",
1155
+ "name": "",
1156
+ "type": "bool"
1157
+ }
1158
+ ],
1159
+ "stateMutability": "view",
1160
+ "type": "function"
1161
+ },
1162
+ {
1163
+ "inputs": [
1164
+ {
1165
+ "internalType": "address",
1166
+ "name": "account",
1167
+ "type": "address"
1168
+ }
1169
+ ],
1170
+ "name": "isMinter",
1171
+ "outputs": [
1172
+ {
1173
+ "internalType": "bool",
1174
+ "name": "",
1175
+ "type": "bool"
1176
+ }
1177
+ ],
1178
+ "stateMutability": "view",
1179
+ "type": "function"
1180
+ },
1181
+ {
1182
+ "inputs": [
1183
+ {
1184
+ "internalType": "address",
1185
+ "name": "account",
1186
+ "type": "address"
1187
+ },
1188
+ {
1189
+ "internalType": "uint256",
1190
+ "name": "value",
1191
+ "type": "uint256"
1192
+ }
1193
+ ],
1194
+ "name": "mint",
1195
+ "outputs": [],
1196
+ "stateMutability": "nonpayable",
1197
+ "type": "function"
1198
+ },
1199
+ {
1200
+ "inputs": [],
1201
+ "name": "name",
1202
+ "outputs": [
1203
+ {
1204
+ "internalType": "string",
1205
+ "name": "",
1206
+ "type": "string"
1207
+ }
1208
+ ],
1209
+ "stateMutability": "view",
1210
+ "type": "function"
1211
+ },
1212
+ {
1213
+ "inputs": [
1214
+ {
1215
+ "internalType": "address",
1216
+ "name": "",
1217
+ "type": "address"
1218
+ }
1219
+ ],
1220
+ "name": "nonces",
1221
+ "outputs": [
1222
+ {
1223
+ "internalType": "uint256",
1224
+ "name": "",
1225
+ "type": "uint256"
1226
+ }
1227
+ ],
1228
+ "stateMutability": "view",
1229
+ "type": "function"
1230
+ },
1231
+ {
1232
+ "inputs": [
1233
+ {
1234
+ "internalType": "address",
1235
+ "name": "",
1236
+ "type": "address"
1237
+ }
1238
+ ],
1239
+ "name": "permissions",
1240
+ "outputs": [
1241
+ {
1242
+ "internalType": "bool",
1243
+ "name": "minter",
1244
+ "type": "bool"
1245
+ },
1246
+ {
1247
+ "internalType": "bool",
1248
+ "name": "paymentManager",
1249
+ "type": "bool"
1250
+ }
1251
+ ],
1252
+ "stateMutability": "view",
1253
+ "type": "function"
1254
+ },
1255
+ {
1256
+ "inputs": [
1257
+ {
1258
+ "internalType": "address",
1259
+ "name": "owner",
1260
+ "type": "address"
1261
+ },
1262
+ {
1263
+ "internalType": "address",
1264
+ "name": "spender",
1265
+ "type": "address"
1266
+ },
1267
+ {
1268
+ "internalType": "uint256",
1269
+ "name": "value",
1270
+ "type": "uint256"
1271
+ },
1272
+ {
1273
+ "internalType": "uint256",
1274
+ "name": "deadline",
1275
+ "type": "uint256"
1276
+ },
1277
+ {
1278
+ "internalType": "uint8",
1279
+ "name": "v",
1280
+ "type": "uint8"
1281
+ },
1282
+ {
1283
+ "internalType": "bytes32",
1284
+ "name": "r",
1285
+ "type": "bytes32"
1286
+ },
1287
+ {
1288
+ "internalType": "bytes32",
1289
+ "name": "s",
1290
+ "type": "bytes32"
1291
+ }
1292
+ ],
1293
+ "name": "permit",
1294
+ "outputs": [],
1295
+ "stateMutability": "nonpayable",
1296
+ "type": "function"
1297
+ },
1298
+ {
1299
+ "inputs": [
1300
+ {
1301
+ "internalType": "address",
1302
+ "name": "_minter",
1303
+ "type": "address"
1304
+ }
1305
+ ],
1306
+ "name": "removeMinter",
1307
+ "outputs": [],
1308
+ "stateMutability": "nonpayable",
1309
+ "type": "function"
1310
+ },
1311
+ {
1312
+ "inputs": [
1313
+ {
1314
+ "internalType": "address",
1315
+ "name": "_paymentManager",
1316
+ "type": "address"
1317
+ }
1318
+ ],
1319
+ "name": "removePaymentManager",
1320
+ "outputs": [],
1321
+ "stateMutability": "nonpayable",
1322
+ "type": "function"
1323
+ },
1324
+ {
1325
+ "inputs": [],
1326
+ "name": "router",
1327
+ "outputs": [
1328
+ {
1329
+ "internalType": "address",
1330
+ "name": "",
1331
+ "type": "address"
1332
+ }
1333
+ ],
1334
+ "stateMutability": "view",
1335
+ "type": "function"
1336
+ },
1337
+ {
1338
+ "inputs": [
1339
+ {
1340
+ "internalType": "bytes",
1341
+ "name": "_value",
1342
+ "type": "bytes"
1343
+ }
1344
+ ],
1345
+ "name": "setData",
1346
+ "outputs": [],
1347
+ "stateMutability": "nonpayable",
1348
+ "type": "function"
1349
+ },
1350
+ {
1351
+ "inputs": [
1352
+ {
1353
+ "internalType": "address",
1354
+ "name": "_newPaymentCollector",
1355
+ "type": "address"
1356
+ }
1357
+ ],
1358
+ "name": "setPaymentCollector",
1359
+ "outputs": [],
1360
+ "stateMutability": "nonpayable",
1361
+ "type": "function"
1362
+ },
1363
+ {
1364
+ "inputs": [
1365
+ {
1366
+ "internalType": "address",
1367
+ "name": "_publishMarketFeeAddress",
1368
+ "type": "address"
1369
+ },
1370
+ {
1371
+ "internalType": "address",
1372
+ "name": "_publishMarketFeeToken",
1373
+ "type": "address"
1374
+ },
1375
+ {
1376
+ "internalType": "uint256",
1377
+ "name": "_publishMarketFeeAmount",
1378
+ "type": "uint256"
1379
+ }
1380
+ ],
1381
+ "name": "setPublishingMarketFee",
1382
+ "outputs": [],
1383
+ "stateMutability": "nonpayable",
1384
+ "type": "function"
1385
+ },
1386
+ {
1387
+ "inputs": [
1388
+ {
1389
+ "internalType": "address",
1390
+ "name": "consumer",
1391
+ "type": "address"
1392
+ },
1393
+ {
1394
+ "internalType": "uint256",
1395
+ "name": "serviceIndex",
1396
+ "type": "uint256"
1397
+ },
1398
+ {
1399
+ "internalType": "address",
1400
+ "name": "providerFeeAddress",
1401
+ "type": "address"
1402
+ },
1403
+ {
1404
+ "internalType": "address",
1405
+ "name": "providerFeeToken",
1406
+ "type": "address"
1407
+ },
1408
+ {
1409
+ "internalType": "uint256",
1410
+ "name": "providerFeeAmount",
1411
+ "type": "uint256"
1412
+ },
1413
+ {
1414
+ "internalType": "uint8",
1415
+ "name": "v",
1416
+ "type": "uint8"
1417
+ },
1418
+ {
1419
+ "internalType": "bytes32",
1420
+ "name": "r",
1421
+ "type": "bytes32"
1422
+ },
1423
+ {
1424
+ "internalType": "bytes32",
1425
+ "name": "s",
1426
+ "type": "bytes32"
1427
+ },
1428
+ {
1429
+ "internalType": "bytes",
1430
+ "name": "providerData",
1431
+ "type": "bytes"
1432
+ }
1433
+ ],
1434
+ "name": "startOrder",
1435
+ "outputs": [],
1436
+ "stateMutability": "nonpayable",
1437
+ "type": "function"
1438
+ },
1439
+ {
1440
+ "inputs": [],
1441
+ "name": "symbol",
1442
+ "outputs": [
1443
+ {
1444
+ "internalType": "string",
1445
+ "name": "",
1446
+ "type": "string"
1447
+ }
1448
+ ],
1449
+ "stateMutability": "view",
1450
+ "type": "function"
1451
+ },
1452
+ {
1453
+ "inputs": [],
1454
+ "name": "totalSupply",
1455
+ "outputs": [
1456
+ {
1457
+ "internalType": "uint256",
1458
+ "name": "",
1459
+ "type": "uint256"
1460
+ }
1461
+ ],
1462
+ "stateMutability": "view",
1463
+ "type": "function"
1464
+ },
1465
+ {
1466
+ "inputs": [
1467
+ {
1468
+ "internalType": "address",
1469
+ "name": "recipient",
1470
+ "type": "address"
1471
+ },
1472
+ {
1473
+ "internalType": "uint256",
1474
+ "name": "amount",
1475
+ "type": "uint256"
1476
+ }
1477
+ ],
1478
+ "name": "transfer",
1479
+ "outputs": [
1480
+ {
1481
+ "internalType": "bool",
1482
+ "name": "",
1483
+ "type": "bool"
1484
+ }
1485
+ ],
1486
+ "stateMutability": "nonpayable",
1487
+ "type": "function"
1488
+ },
1489
+ {
1490
+ "inputs": [
1491
+ {
1492
+ "internalType": "address",
1493
+ "name": "sender",
1494
+ "type": "address"
1495
+ },
1496
+ {
1497
+ "internalType": "address",
1498
+ "name": "recipient",
1499
+ "type": "address"
1500
+ },
1501
+ {
1502
+ "internalType": "uint256",
1503
+ "name": "amount",
1504
+ "type": "uint256"
1505
+ }
1506
+ ],
1507
+ "name": "transferFrom",
1508
+ "outputs": [
1509
+ {
1510
+ "internalType": "bool",
1511
+ "name": "",
1512
+ "type": "bool"
1513
+ }
1514
+ ],
1515
+ "stateMutability": "nonpayable",
1516
+ "type": "function"
1517
+ },
1518
+ {
1519
+ "inputs": [],
1520
+ "name": "withdrawETH",
1521
+ "outputs": [],
1522
+ "stateMutability": "payable",
1523
+ "type": "function"
1524
+ }
1525
+ ],
1526
+ "bytecode": "0x6080604052600a805460ff60a01b191690553480156200001e57600080fd5b5060408051808201825260048152631d195cdd60e21b60208083019182528351808501909452600a8452691d195cdd14de5b589bdb60b21b9084015281519192916200006d916003916200008c565b508051620000839060049060208401906200008c565b5050506200016f565b8280546200009a9062000132565b90600052602060002090601f016020900481019282620000be576000855562000109565b82601f10620000d957805160ff191683800117855562000109565b8280016001018555821562000109579182015b8281111562000109578251825591602001919060010190620000ec565b50620001179291506200011b565b5090565b5b808211156200011757600081556001016200011c565b600181811c908216806200014757607f821691505b602082108114156200016957634e487b7160e01b600052602260045260246000fd5b50919050565b61466c806200017f6000396000f3fe60806040526004361061027d5760003560e01c806379cc67901161014e578063ab62f0e1116100bb578063e487c2e811610077578063e487c2e8146108b1578063ec342ad0146108c6578063ee88ade1146108e2578063ef867ff414610902578063f887ea4014610922578063f94bb4211461094257005b8063ab62f0e1146107ee578063b2263a5d1461080e578063b3998be014610823578063d505accf14610843578063dd62ed3e14610863578063e086e5ec146108a957005b8063983b2d561161010a578063983b2d56146107155780639b4f44b614610735578063a457c2d714610755578063a9059cbb14610775578063aa271e1a14610795578063aa492ef9146107ce57005b806379cc67901461065e5780637ecebe001461067e57806382c03da5146106ab5780638b96412b146106c057806395d89b41146106e057806396fb3eaf146106f557005b8063355274ea116101ec57806342966c68116101a857806342966c681461059f5780634f189cb2146105bf57806357a3a31b146105d457806357ad5ff6146105f45780635d1ca6311461061457806370a082311461062857005b8063355274ea146104d95780633644e515146104ee578063392e53cd146105045780633950935114610523578063397b37431461054357806340c10f191461057f57005b806318636d3c1161023b57806318636d3c1461040357806323b872dd1461042357806325b00243146104435780633092afd51461046357806330adf81f14610483578063313ce567146104b757005b80627ffb781461027f57806301e88208146102b657806306fdde0314610306578063095ea7b314610328578063160a79251461035857806318160ddd146103e4575b005b34801561028b57600080fd5b50600b546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102c257600080fd5b506102ef6102d13660046137b5565b60056020526000908152604090205460ff8082169161010090041682565b6040805192151583529015156020830152016102ad565b34801561031257600080fd5b5061031b610962565b6040516102ad919061382a565b34801561033457600080fd5b5061034861034336600461383d565b6109f4565b60405190151581526020016102ad565b34801561036457600080fd5b506103c56103733660046137b5565b6040805180820190915260008082526020820152506001600160a01b031660009081526005602090815260409182902082518084019093525460ff808216151584526101009091041615159082015290565b60408051825115158152602092830151151592810192909252016102ad565b3480156103f057600080fd5b506002545b6040519081526020016102ad565b34801561040f57600080fd5b5061027d61041e366004613a38565b610a0a565b34801561042f57600080fd5b5061034861043e366004613a89565b610b1b565b34801561044f57600080fd5b5061027d61045e3660046137b5565b610bc7565b34801561046f57600080fd5b5061027d61047e3660046137b5565b610c61565b34801561048f57600080fd5b506103f57f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b3480156104c357600080fd5b5060125b60405160ff90911681526020016102ad565b3480156104e557600080fd5b506009546103f5565b3480156104fa57600080fd5b506103f560105481565b34801561051057600080fd5b50600a54600160a01b900460ff16610348565b34801561052f57600080fd5b5061034861053e36600461383d565b610cf8565b34801561054f57600080fd5b50600d54600e54600f54604080516001600160a01b039485168152939092166020840152908201526060016102ad565b34801561058b57600080fd5b5061027d61059a36600461383d565b610d34565b3480156105ab57600080fd5b5061027d6105ba366004613aca565b610e05565b3480156105cb57600080fd5b5061027d610e0f565b3480156105e057600080fd5b5061027d6105ef3660046137b5565b610ef6565b34801561060057600080fd5b5061027d61060f366004613a89565b611038565b34801561062057600080fd5b5060026104c7565b34801561063457600080fd5b506103f56106433660046137b5565b6001600160a01b031660009081526020819052604090205490565b34801561066a57600080fd5b5061027d61067936600461383d565b61118c565b34801561068a57600080fd5b506103f56106993660046137b5565b60116020526000908152604090205481565b3480156106b757600080fd5b5061027d61120d565b3480156106cc57600080fd5b506103f56106db366004613b71565b611267565b3480156106ec57600080fd5b5061031b611428565b34801561070157600080fd5b506103486107103660046137b5565b611437565b34801561072157600080fd5b5061027d6107303660046137b5565b6114b2565b34801561074157600080fd5b5061027d610750366004613c46565b611549565b34801561076157600080fd5b5061034861077036600461383d565b611565565b34801561078157600080fd5b5061034861079036600461383d565b6115fe565b3480156107a157600080fd5b506103486107b03660046137b5565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156107da57600080fd5b5061027d6107e93660046137b5565b61160b565b3480156107fa57600080fd5b5061027d610809366004613cf2565b6116a2565b34801561081a57600080fd5b506103f56117d3565b34801561082f57600080fd5b5061034861083e366004613dae565b6117e9565b34801561084f57600080fd5b5061027d61085e366004613e9e565b611923565b34801561086f57600080fd5b506103f561087e366004613f0c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61027d611b2a565b3480156108bd57600080fd5b50610299611b6a565b3480156108d257600080fd5b506103f5670de0b6b3a764000081565b3480156108ee57600080fd5b5061027d6108fd366004613f3a565b611bff565b34801561090e57600080fd5b5061029961091d366004613aca565b611fdd565b34801561092e57600080fd5b50601254610299906001600160a01b031681565b34801561094e57600080fd5b5061027d61095d366004613fea565b612007565b60606007805461097190614034565b80601f016020809104026020016040519081016040528092919081815260200182805461099d90614034565b80156109ea5780601f106109bf576101008083540402835291602001916109ea565b820191906000526020600020905b8154815290600101906020018083116109cd57829003601f168201915b5050505050905090565b6000610a0133848461212a565b50600192915050565b604051631d746d8360e01b8152306004820152670de0b6b3a764000060248201819052336044830152906001600160a01b03831690631d746d8390606401600060405180830381600087803b158015610a6257600080fd5b505af1158015610a76573d6000803e3d6000fd5b50503360009081526020819052604090205483925090501015610ae05760405162461bcd60e51b815260206004820152601f60248201527f556e61626c6520746f206765742044542066726f6d2044697370656e7365720060448201526064015b60405180910390fd5b610b16836000015184602001518560400151866060015187608001518860a001518960c001518a60e001518b610100015161224e565b505050565b6000610b2884848461267e565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610bad5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610ad7565b610bba853385840361212a565b60019150505b9392505050565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af1158015610c11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c35919061406f565b60200151610c555760405162461bcd60e51b8152600401610ad7906140f3565b610c5e8161284c565b50565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af1158015610cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccf919061406f565b60200151610cef5760405162461bcd60e51b8152600401610ad7906140f3565b610c5e816128b9565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a01918590610d2f90869061413e565b61212a565b3360009081526005602052604090205460ff16610d935760405162461bcd60e51b815260206004820152601960248201527f455243323054656d706c6174653a204e4f54204d494e544552000000000000006044820152606401610ad7565b600954610da982610da360025490565b90612919565b1115610df75760405162461bcd60e51b815260206004820152601f60248201527f44617461546f6b656e54656d706c6174653a20636170206578636565646564006044820152606401610ad7565b610e018282612925565b5050565b610c5e3382612a04565b600b546040516331a9108f60e11b8152600160048201526001600160a01b0390911690636352211e90602401602060405180830381865afa158015610e58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7c9190614156565b6001600160a01b0316336001600160a01b031614610edc5760405162461bcd60e51b815260206004820152601b60248201527f455243323054656d706c6174653a206e6f74204e46544f776e657200000000006044820152606401610ad7565b610ee4612b52565b600c80546001600160a01b0319169055565b33600090815260056020526040902054610100900460ff1680610f875750600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af1158015610f5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f82919061406f565b602001515b610fe75760405162461bcd60e51b815260206004820152602b60248201527f455243323054656d706c6174653a204e4f54205041594d454e54204d414e414760448201526a22a91037b91027aba722a960a91b6064820152608401610ad7565b610ff081612c01565b604080514281524360208201526001600160a01b0383169133917f4d7694d695c57cc54947177c8e8a0e61aae664e9223492a798c32fadfc6419cc910160405180910390a350565b600d546001600160a01b031633146110a55760405162461bcd60e51b815260206004820152602a60248201527f455243323054656d706c6174653a206e6f74207075626c6973684d61726b65746044820152694665654164647265737360b01b6064820152608401610ad7565b6001600160a01b03831661110c5760405162461bcd60e51b815260206004820152602860248201527f496e76616c6964205f7075626c6973684d61726b657446656541646472657373604482015267206164647265737360c01b6064820152608401610ad7565b600d80546001600160a01b038581166001600160a01b03199283168117909355600e8054918616919092168117909155600f839055604080513381526020810193909352820152606081018290527fe0b85b6f04fa914cf57f6401c5672a83a32b1c388d194c3d78e17f2897d46f439060800160405180910390a1505050565b6000611198833361087e565b9050818110156111f65760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b6064820152608401610ad7565b611203833384840361212a565b610b168383612a04565b600b546001600160a01b03163314610edc5760405162461bcd60e51b815260206004820152601f60248201527f455243323054656d706c6174653a204e4f542037323120436f6e7472616374006044820152606401610ad7565b600b5460405163160a792560e01b81523360048201526000916001600160a01b03169063160a7925906024016080604051808303816000875af11580156112b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d6919061406f565b602001516112f65760405162461bcd60e51b8152600401610ad7906140f3565b308360038151811061130a5761130a614173565b6001600160a01b039283166020918202929092010152601254604051638244937560e01b815291169063824493759061134b90879087908790600401614189565b6020604051808303816000875af115801561136a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138e919061421d565b90506000826004815181106113a5576113a5614173565b602002602001015111156113bc576113bc84612c23565b7f195d202f33578769e120c3041341554af3193e67ee004175095bc9c06e6e616581846000815181106113f1576113f1614173565b60200260200101516040516114199291909182526001600160a01b0316602082015260400190565b60405180910390a19392505050565b60606008805461097190614034565b600b5460405163160a792560e01b81526001600160a01b038381166004830152600092169063160a7925906024016080604051808303816000875af1158015611484573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a8919061406f565b6020015192915050565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af11580156114fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611520919061406f565b602001516115405760405162461bcd60e51b8152600401610ad7906140f3565b610c5e81612c23565b61155a89898989898989898961224e565b505050505050505050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156115e75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610ad7565b6115f4338585840361212a565b5060019392505050565b6000610a0133848461267e565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af1158015611655573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611679919061406f565b602001516116995760405162461bcd60e51b8152600401610ad7906140f3565b610c5e81612d1d565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af11580156116ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611710919061406f565b602001516117305760405162461bcd60e51b8152600401610ad7906140f3565b6040516bffffffffffffffffffffffff193060601b16602082015260009060340160408051601f19818403018152908290528051602090910120600b546301caf8fd60e31b83529092506001600160a01b031690630e57c7e89061179c90849087908790600401614236565b600060405180830381600087803b1580156117b657600080fd5b505af11580156117ca573d6000803e3d6000fd5b50505050505050565b6117e66064670de0b6b3a764000061426c565b81565b600a54600090600160a01b900460ff16156118605760405162461bcd60e51b815260206004820152603160248201527f455243323054656d706c6174653a20746f6b656e20696e7374616e636520616c6044820152701c9958591e481a5b9a5d1a585b1a5e9959607a1b6064820152608401610ad7565b61191461186d8b8d61428e565b8a8a8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808e0282810182019093528d82529093508d92508c91829185019084908082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525061190f92508991508a9050614315565b612e2b565b9b9a5050505050505050505050565b438410156119665760405162461bcd60e51b815260206004820152601060248201526f115490cc8c11150e881156141254915160821b6044820152606401610ad7565b6010546001600160a01b038816600090815260116020526040812080549192917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b9190876119b98361437c565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001611a3292919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a9d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590611ad35750886001600160a01b0316816001600160a01b0316145b611b1f5760405162461bcd60e51b815260206004820152601a60248201527f455243323044543a20494e56414c49445f5349474e41545552450000000000006044820152606401610ad7565b61155a89898961212a565b611b32611b6a565b6001600160a01b03166108fc479081150290604051600060405180830381858888f19350505050158015610c5e573d6000803e3d6000fd5b600c546000906001600160a01b0316611bef57600b546040516331a9108f60e11b8152600160048201526001600160a01b0390911690636352211e90602401602060405180830381865afa158015611bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bea9190614156565b905090565b50600c546001600160a01b031690565b80516020820151604051634c87087d60e01b815260009283926001600160a01b0390911691634c87087d91611c3a9160040190815260200190565b61018060405180830381865afa158015611c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7c9190614397565b5050505050505050935050925050306001600160a01b0316826001600160a01b031614611cfb5760405162461bcd60e51b815260206004820152602760248201527f5468697320466978656452617465206973206e6f742070726f766964696e67206044820152661d1a1a5cc8111560ca1b6064820152608401610ad7565b8251602084015160405163c99733a760e01b81526004810191909152670de0b6b3a7640000602482015260009182916001600160a01b039091169063c99733a790604401608060405180830381865afa158015611d5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d809190614454565b5050915091508460400151821115611dea5760405162461bcd60e51b815260206004820152602760248201527f46697865645261746545786368616e67653a20546f6f206d616e79206261736560448201526620746f6b656e7360c81b6064820152608401610ad7565b6000670de0b6b3a7640000866060015183611e05919061448a565b611e0f919061426c565b9050611e1b818461413e565b9250611e326001600160a01b03851633308661332a565b8551611e49906001600160a01b0386169085613395565b8551602087015160405163412dae6b60e11b81526004810191909152670de0b6b3a76400006024820152604481018590526001600160a01b039091169063825b5cd690606401600060405180830381600087803b158015611ea957600080fd5b505af1158015611ebd573d6000803e3d6000fd5b505030600090815260208190526040902054670de0b6b3a7640000925090501015611f2a5760405162461bcd60e51b815260206004820152601f60248201527f556e61626c6520746f206275792044542066726f6d20466978656452617465006044820152606401610ad7565b611f3d3033670de0b6b3a764000061267e565b611f738760000151886020015189604001518a606001518b608001518c60a001518d60c001518e60e001518f610100015161224e565b8015611f93576080860151611f93906001600160a01b0386169083613447565b60408051338152602081018590529081018290527fe89458a7527f4bf466ab18794ab8b1ca208b478483a1a87bcf0d976d421b4aff9060600160405180910390a150505050505050565b60068181548110611fed57600080fd5b6000918252602090912001546001600160a01b0316905081565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af1158015612051573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612075919061406f565b602001516120955760405162461bcd60e51b8152600401610ad7906140f3565b601254604051636b14d00560e11b81526001600160a01b0386811660048301523060248301819052604483018790526064830186905233608484015260a48301529091169063d629a00a9060c401600060405180830381600087803b1580156120fd57600080fd5b505af1158015612111573d6000803e3d6000fd5b5050505080156121245761212484612c23565b50505050565b6001600160a01b03831661218c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ad7565b6001600160a01b0382166121ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ad7565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b33600090815260208190526040812054670de0b6b3a764000091908211156122c65760405162461bcd60e51b815260206004820152602560248201527f4e6f7420656e6f756768204461746120546f6b656e7320746f2073746172742060448201526427b93232b960d91b6064820152608401610ad7565b600d5460408051338152602081018590529081018c90524260608201524360808201526001600160a01b03918216918d16907fe1c4fa794edfa8f619b8257a077398950357b9c6398528f94480307352f9afcc9060a00160405180910390a36000600f541180156123415750600e546001600160a01b031615155b80156123575750600d546001600160a01b031615155b1561248257600f54600e5461237b916001600160a01b03909116903390309061332a565b600f54612389906064613477565b600d54600f549192506123bf916001600160a01b03909116906123ac9084613483565b600e546001600160a01b03169190613447565b600e54600d54600f546001600160a01b0392831692909116907ff666b31c81334b6085802ba4149907fa724689d43bc31df6de1a51291ddc55b4906124049085613483565b60405190815260200160405180910390a3801561248257600a54600e54612438916001600160a01b03918216911683613447565b600e54600a546040518381526001600160a01b0392831692909116907ff666b31c81334b6085802ba4149907fa724689d43bc31df6de1a51291ddc55b49060200160405180910390a35b60006040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152509050600081858c8c8c6040516020016124d694939291906144a9565b604051602081830303815290604052805190602001206040516020016124fd9291906144ef565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff8c1692840192909252606083018a9052608083018990529092509060019060a0016020604051602081039080840390855afa158015612568573d6000803e3d6000fd5b5050506020604051035190508b6001600160a01b0316816001600160a01b0316146125cc5760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642070726f76696465722066656560601b6044820152606401610ad7565b8a6001600160a01b03168c6001600160a01b03167f144fc6ed7d0a617ba44a01131b1f724d0370297a3640b6201f343e081ada64468c898d8d8d604051612617959493929190614511565b60405180910390a360008a11801561263757506001600160a01b038b1615155b801561264b57506001600160a01b038c1615155b15612665576126656001600160a01b038c16338e8d61332a565b61266e85610e05565b5050505050505050505050505050565b6001600160a01b0383166126e25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ad7565b6001600160a01b0382166127445760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ad7565b6001600160a01b038316600090815260208190526040902054818110156127bc5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610ad7565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906127f390849061413e565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161283f91815260200190565b60405180910390a3612124565b6001600160a01b03811660008181526005602052604090819020805461ff00191681559051909133917faee911eec8b2df8f3ae0464841541b1e5f339519bd5cf51889fe8b07fecff658906128ad9042904390918252602082015260400190565b60405180910390a35050565b6001600160a01b03811660008181526005602052604090819020805460ff191681559051909133917fefa2735987005aaa89c050c0ff8cc9ae7d9079d19382081c429130f98c52d480906128ad9042904390918252602082015260400190565b6000610bc0828461413e565b6001600160a01b03821661297b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610ad7565b806002600082825461298d919061413e565b90915550506001600160a01b038216600090815260208190526040812080548392906129ba90849061413e565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b038216612a645760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610ad7565b6001600160a01b03821660009081526020819052604090205481811015612ad85760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610ad7565b6001600160a01b0383166000908152602081905260408120838303905560028054849290612b0790849061454a565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b60005b600654811015612bb85760006005600060068481548110612b7857612b78614173565b60009182526020808320909101546001600160a01b031683528201929092526040019020805461ffff191690555080612bb08161437c565b915050612b55565b50612bc5600660006136d9565b6040805142815243602082015233917f712bc71db81927a76b8bf1ea346247bb0ad58f18e4e5c1bd4aa0ec6573e02a2b910160405180910390a2565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600560205260409020805460ff1615612c8d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230526f6c65733a2020414c52454144592041204d494e5445520000006044820152606401610ad7565b8054600160ff19909116811782556006805491820181556000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319166001600160a01b038416908117909155604080514281524360208201523392917f4f7e100eb1ee13e903798bd0d6aa854152e07eb05544f392b9409c12935c809591016128ad565b6001600160a01b03811660009081526005602052604090208054610100900460ff1615612d975760405162461bcd60e51b815260206004820152602260248201527f4552433230526f6c65733a2020414c5245414459204120464545204d414e414760448201526122a960f11b6064820152608401610ad7565b805461ff001916610100178155600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0384166001600160a01b03199091168117909155604080514281524360208201523392917fb17da2e9910b4ba5754e8872385ba315a238bafb5ae221fc85093c33432c40a791016128ad565b60008084600081518110612e4157612e41614173565b60200260200101519050600085600181518110612e6057612e60614173565b6020026020010151905060006001600160a01b0316826001600160a01b03161415612ee25760405162461bcd60e51b815260206004820152602c60248201527f455243323054656d706c6174653a20496e76616c6964206d696e7465722c202060448201526b7a65726f206164647265737360a01b6064820152608401610ad7565b6001600160a01b038116612f5e5760405162461bcd60e51b815260206004820152603c60248201527f455243323054656d706c6174653a20496e76616c696420636f6d6d756e69747960448201527f2066656520636f6c6c6563746f722c207a65726f2061646472657373000000006064820152608401610ad7565b84600081518110612f7157612f71614173565b602002602001015160001415612fd55760405162461bcd60e51b8152602060048201526024808201527f44617461546f6b656e54656d706c6174653a20496e76616c6964206361702076604482015263616c756560e01b6064820152608401610ad7565b84600081518110612fe857612fe8614173565b60200260200101516009819055508760008151811061300957613009614173565b6020026020010151600790805190602001906130269291906136f7565b508760018151811061303a5761303a614173565b6020026020010151600890805190602001906130579291906136f7565b50600b80546001600160a01b0319166001600160a01b03841617905585518690600290811061308857613088614173565b6020908102919091010151601280546001600160a01b039283166001600160a01b0319909116179055600a80546001600160a81b03191691831691909117600160a01b17905586516130f29088906000906130e5576130e5614173565b6020026020010151612c23565b60006001600160a01b03168760018151811061311057613110614173565b60200260200101516001600160a01b0316146131ba576131498760018151811061313c5761313c614173565b6020026020010151612c01565b8660018151811061315c5761315c614173565b60200260200101516001600160a01b0316336001600160a01b03167f4d7694d695c57cc54947177c8e8a0e61aae664e9223492a798c32fadfc6419cc42436040516131b1929190918252602082015260400190565b60405180910390a35b866002815181106131cd576131cd614173565b6020026020010151600d60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508660038151811061320e5761320e614173565b6020026020010151600e60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508460018151811061324f5761324f614173565b6020026020010151600f8190555060004690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60076040516132929190614561565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152608081018290523060a082015260c00160408051808303601f1901815291905280516020909101206010555050600a54600160a01b900460ff16979650505050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526121249085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261348f565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa1580156133e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061340a919061421d565b613414919061413e565b6040516001600160a01b03851660248201526044810182905290915061212490859063095ea7b360e01b9060640161335e565b6040516001600160a01b038316602482015260448101829052610b1690849063a9059cbb60e01b9060640161335e565b6000610bc0828461426c565b6000610bc0828461454a565b60006134e4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135619092919063ffffffff16565b805190915015610b16578080602001905181019061350291906145fd565b610b165760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610ad7565b60606135708484600085613578565b949350505050565b6060824710156135d95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610ad7565b843b6136275760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ad7565b600080866001600160a01b03168587604051613643919061461a565b60006040518083038185875af1925050503d8060008114613680576040519150601f19603f3d011682016040523d82523d6000602084013e613685565b606091505b50915091506136958282866136a0565b979650505050505050565b606083156136af575081610bc0565b8251156136bf5782518084602001fd5b8160405162461bcd60e51b8152600401610ad7919061382a565b5080546000825590600052602060002090810190610c5e919061377b565b82805461370390614034565b90600052602060002090601f016020900481019282613725576000855561376b565b82601f1061373e57805160ff191683800117855561376b565b8280016001018555821561376b579182015b8281111561376b578251825591602001919060010190613750565b5061377792915061377b565b5090565b5b80821115613777576000815560010161377c565b6001600160a01b0381168114610c5e57600080fd5b80356137b081613790565b919050565b6000602082840312156137c757600080fd5b8135610bc081613790565b60005b838110156137ed5781810151838201526020016137d5565b838111156121245750506000910152565b600081518084526138168160208601602086016137d2565b601f01601f19169290920160200192915050565b602081526000610bc060208301846137fe565b6000806040838503121561385057600080fd5b823561385b81613790565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156138a2576138a2613869565b60405290565b60405160a081016001600160401b03811182821017156138a2576138a2613869565b604051601f8201601f191681016001600160401b03811182821017156138f2576138f2613869565b604052919050565b803560ff811681146137b057600080fd5b60006001600160401b0383111561392457613924613869565b613937601f8401601f19166020016138ca565b905082815283838301111561394b57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261397357600080fd5b610bc08383356020850161390b565b6000610120828403121561399557600080fd5b61399d61387f565b90506139a8826137a5565b8152602082013560208201526139c0604083016137a5565b60408201526139d1606083016137a5565b6060820152608082013560808201526139ec60a083016138fa565b60a082015260c082013560c082015260e082013560e0820152610100808301356001600160401b03811115613a2057600080fd5b613a2c85828601613962565b82840152505092915050565b60008060408385031215613a4b57600080fd5b82356001600160401b03811115613a6157600080fd5b613a6d85828601613982565b9250506020830135613a7e81613790565b809150509250929050565b600080600060608486031215613a9e57600080fd5b8335613aa981613790565b92506020840135613ab981613790565b929592945050506040919091013590565b600060208284031215613adc57600080fd5b5035919050565b60006001600160401b03821115613afc57613afc613869565b5060051b60200190565b600082601f830112613b1757600080fd5b81356020613b2c613b2783613ae3565b6138ca565b82815260059290921b84018101918181019086841115613b4b57600080fd5b8286015b84811015613b665780358352918301918301613b4f565b509695505050505050565b600080600060608486031215613b8657600080fd5b8335613b9181613790565b92506020848101356001600160401b0380821115613bae57600080fd5b818701915087601f830112613bc257600080fd5b8135613bd0613b2782613ae3565b81815260059190911b8301840190848101908a831115613bef57600080fd5b938501935b82851015613c16578435613c0781613790565b82529385019390850190613bf4565b965050506040870135925080831115613c2e57600080fd5b5050613c3c86828701613b06565b9150509250925092565b60008060008060008060008060006101208a8c031215613c6557600080fd5b8935613c7081613790565b985060208a0135975060408a0135613c8781613790565b965060608a0135613c9781613790565b955060808a01359450613cac60a08b016138fa565b935060c08a0135925060e08a013591506101008a01356001600160401b03811115613cd657600080fd5b613ce28c828d01613962565b9150509295985092959850929598565b60008060208385031215613d0557600080fd5b82356001600160401b0380821115613d1c57600080fd5b818501915085601f830112613d3057600080fd5b813581811115613d3f57600080fd5b866020828501011115613d5157600080fd5b60209290920196919550909350505050565b60008083601f840112613d7557600080fd5b5081356001600160401b03811115613d8c57600080fd5b6020830191508360208260051b8501011115613da757600080fd5b9250929050565b60008060008060008060008060008060a08b8d031215613dcd57600080fd5b8a356001600160401b0380821115613de457600080fd5b613df08e838f01613d63565b909c509a5060208d0135915080821115613e0957600080fd5b613e158e838f01613d63565b909a50985060408d0135915080821115613e2e57600080fd5b613e3a8e838f01613d63565b909850965060608d0135915080821115613e5357600080fd5b613e5f8e838f01613d63565b909650945060808d0135915080821115613e7857600080fd5b50613e858d828e01613d63565b915080935050809150509295989b9194979a5092959850565b600080600080600080600060e0888a031215613eb957600080fd5b8735613ec481613790565b96506020880135613ed481613790565b95506040880135945060608801359350613ef0608089016138fa565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215613f1f57600080fd5b8235613f2a81613790565b91506020830135613a7e81613790565b60008082840360c0811215613f4e57600080fd5b83356001600160401b03811115613f6457600080fd5b613f7086828701613982565b93505060a0601f1982011215613f8557600080fd5b50613f8e6138a8565b6020840135613f9c81613790565b8082525060408401356020820152606084013560408201526080840135606082015260a0840135613fcc81613790565b6080820152919491935090915050565b8015158114610c5e57600080fd5b6000806000806080858703121561400057600080fd5b843561400b81613790565b93506020850135925060408501359150606085013561402981613fdc565b939692955090935050565b600181811c9082168061404857607f821691505b6020821081141561406957634e487b7160e01b600052602260045260246000fd5b50919050565b60006080828403121561408157600080fd5b604051608081018181106001600160401b03821117156140a3576140a3613869565b60405282516140b181613fdc565b815260208301516140c181613fdc565b602082015260408301516140d481613fdc565b604082015260608301516140e781613fdc565b60608201529392505050565b6020808252818101527f455243323054656d706c6174653a204e4f54204445504c4f59455220524f4c45604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561415157614151614128565b500190565b60006020828403121561416857600080fd5b8151610bc081613790565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038481168252606060208084018290528551918401829052600092868201929091906080860190855b818110156141d75785518516835294830194918301916001016141b9565b5050858103604087015286518082529082019350915080860160005b8381101561420f578151855293820193908201906001016141f3565b509298975050505050505050565b60006020828403121561422f57600080fd5b5051919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008261428957634e487b7160e01b600052601260045260246000fd5b500490565b600061429c613b2784613ae3565b80848252602080830192508560051b8501368111156142ba57600080fd5b855b818110156143095780356001600160401b038111156142db5760008081fd5b870136601f8201126142ed5760008081fd5b6142fb36823586840161390b565b8652509382019382016142bc565b50919695505050505050565b6000614323613b2784613ae3565b80848252602080830192508560051b85013681111561434157600080fd5b855b818110156143095780356001600160401b038111156143625760008081fd5b61436e36828a01613962565b865250938201938201614343565b600060001982141561439057614390614128565b5060010190565b6000806000806000806000806000806000806101808d8f0312156143ba57600080fd5b8c516143c581613790565b60208e0151909c506143d681613790565b60408e015160608f0151919c509a506143ee81613790565b8099505060808d0151975060a08d0151965060c08d015161440e81613fdc565b8096505060e08d015194506101008d015193506101208d015192506101408d015191506101608d015161444081613fdc565b809150509295989b509295989b509295989b565b6000806000806080858703121561446a57600080fd5b505082516020840151604085015160609095015191969095509092509050565b60008160001904831182151516156144a4576144a4614128565b500290565b600085516144bb818460208a016137d2565b6bffffffffffffffffffffffff19606096871b8116919093019081529390941b166014830152602882015260480192915050565b600083516145018184602088016137d2565b9190910191825250602001919050565b85815260a06020820152600061452a60a08301876137fe565b60ff95909516604083015250606081019290925260809091015292915050565b60008282101561455c5761455c614128565b500390565b600080835481600182811c91508083168061457d57607f831692505b602080841082141561459d57634e487b7160e01b86526022600452602486fd5b8180156145b157600181146145c2576145ef565b60ff198616895284890196506145ef565b60008a81526020902060005b868110156145e75781548b8201529085019083016145ce565b505084890196505b509498975050505050505050565b60006020828403121561460f57600080fd5b8151610bc081613fdc565b6000825161462c8184602087016137d2565b919091019291505056fea26469706673582212209041cd5099503a2e31e599b01c0c938b713c90fa811d0e03aacc28d1251e8ce164736f6c634300080a0033",
1527
+ "deployedBytecode": "0x60806040526004361061027d5760003560e01c806379cc67901161014e578063ab62f0e1116100bb578063e487c2e811610077578063e487c2e8146108b1578063ec342ad0146108c6578063ee88ade1146108e2578063ef867ff414610902578063f887ea4014610922578063f94bb4211461094257005b8063ab62f0e1146107ee578063b2263a5d1461080e578063b3998be014610823578063d505accf14610843578063dd62ed3e14610863578063e086e5ec146108a957005b8063983b2d561161010a578063983b2d56146107155780639b4f44b614610735578063a457c2d714610755578063a9059cbb14610775578063aa271e1a14610795578063aa492ef9146107ce57005b806379cc67901461065e5780637ecebe001461067e57806382c03da5146106ab5780638b96412b146106c057806395d89b41146106e057806396fb3eaf146106f557005b8063355274ea116101ec57806342966c68116101a857806342966c681461059f5780634f189cb2146105bf57806357a3a31b146105d457806357ad5ff6146105f45780635d1ca6311461061457806370a082311461062857005b8063355274ea146104d95780633644e515146104ee578063392e53cd146105045780633950935114610523578063397b37431461054357806340c10f191461057f57005b806318636d3c1161023b57806318636d3c1461040357806323b872dd1461042357806325b00243146104435780633092afd51461046357806330adf81f14610483578063313ce567146104b757005b80627ffb781461027f57806301e88208146102b657806306fdde0314610306578063095ea7b314610328578063160a79251461035857806318160ddd146103e4575b005b34801561028b57600080fd5b50600b546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102c257600080fd5b506102ef6102d13660046137b5565b60056020526000908152604090205460ff8082169161010090041682565b6040805192151583529015156020830152016102ad565b34801561031257600080fd5b5061031b610962565b6040516102ad919061382a565b34801561033457600080fd5b5061034861034336600461383d565b6109f4565b60405190151581526020016102ad565b34801561036457600080fd5b506103c56103733660046137b5565b6040805180820190915260008082526020820152506001600160a01b031660009081526005602090815260409182902082518084019093525460ff808216151584526101009091041615159082015290565b60408051825115158152602092830151151592810192909252016102ad565b3480156103f057600080fd5b506002545b6040519081526020016102ad565b34801561040f57600080fd5b5061027d61041e366004613a38565b610a0a565b34801561042f57600080fd5b5061034861043e366004613a89565b610b1b565b34801561044f57600080fd5b5061027d61045e3660046137b5565b610bc7565b34801561046f57600080fd5b5061027d61047e3660046137b5565b610c61565b34801561048f57600080fd5b506103f57f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b3480156104c357600080fd5b5060125b60405160ff90911681526020016102ad565b3480156104e557600080fd5b506009546103f5565b3480156104fa57600080fd5b506103f560105481565b34801561051057600080fd5b50600a54600160a01b900460ff16610348565b34801561052f57600080fd5b5061034861053e36600461383d565b610cf8565b34801561054f57600080fd5b50600d54600e54600f54604080516001600160a01b039485168152939092166020840152908201526060016102ad565b34801561058b57600080fd5b5061027d61059a36600461383d565b610d34565b3480156105ab57600080fd5b5061027d6105ba366004613aca565b610e05565b3480156105cb57600080fd5b5061027d610e0f565b3480156105e057600080fd5b5061027d6105ef3660046137b5565b610ef6565b34801561060057600080fd5b5061027d61060f366004613a89565b611038565b34801561062057600080fd5b5060026104c7565b34801561063457600080fd5b506103f56106433660046137b5565b6001600160a01b031660009081526020819052604090205490565b34801561066a57600080fd5b5061027d61067936600461383d565b61118c565b34801561068a57600080fd5b506103f56106993660046137b5565b60116020526000908152604090205481565b3480156106b757600080fd5b5061027d61120d565b3480156106cc57600080fd5b506103f56106db366004613b71565b611267565b3480156106ec57600080fd5b5061031b611428565b34801561070157600080fd5b506103486107103660046137b5565b611437565b34801561072157600080fd5b5061027d6107303660046137b5565b6114b2565b34801561074157600080fd5b5061027d610750366004613c46565b611549565b34801561076157600080fd5b5061034861077036600461383d565b611565565b34801561078157600080fd5b5061034861079036600461383d565b6115fe565b3480156107a157600080fd5b506103486107b03660046137b5565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156107da57600080fd5b5061027d6107e93660046137b5565b61160b565b3480156107fa57600080fd5b5061027d610809366004613cf2565b6116a2565b34801561081a57600080fd5b506103f56117d3565b34801561082f57600080fd5b5061034861083e366004613dae565b6117e9565b34801561084f57600080fd5b5061027d61085e366004613e9e565b611923565b34801561086f57600080fd5b506103f561087e366004613f0c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61027d611b2a565b3480156108bd57600080fd5b50610299611b6a565b3480156108d257600080fd5b506103f5670de0b6b3a764000081565b3480156108ee57600080fd5b5061027d6108fd366004613f3a565b611bff565b34801561090e57600080fd5b5061029961091d366004613aca565b611fdd565b34801561092e57600080fd5b50601254610299906001600160a01b031681565b34801561094e57600080fd5b5061027d61095d366004613fea565b612007565b60606007805461097190614034565b80601f016020809104026020016040519081016040528092919081815260200182805461099d90614034565b80156109ea5780601f106109bf576101008083540402835291602001916109ea565b820191906000526020600020905b8154815290600101906020018083116109cd57829003601f168201915b5050505050905090565b6000610a0133848461212a565b50600192915050565b604051631d746d8360e01b8152306004820152670de0b6b3a764000060248201819052336044830152906001600160a01b03831690631d746d8390606401600060405180830381600087803b158015610a6257600080fd5b505af1158015610a76573d6000803e3d6000fd5b50503360009081526020819052604090205483925090501015610ae05760405162461bcd60e51b815260206004820152601f60248201527f556e61626c6520746f206765742044542066726f6d2044697370656e7365720060448201526064015b60405180910390fd5b610b16836000015184602001518560400151866060015187608001518860a001518960c001518a60e001518b610100015161224e565b505050565b6000610b2884848461267e565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610bad5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610ad7565b610bba853385840361212a565b60019150505b9392505050565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af1158015610c11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c35919061406f565b60200151610c555760405162461bcd60e51b8152600401610ad7906140f3565b610c5e8161284c565b50565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af1158015610cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccf919061406f565b60200151610cef5760405162461bcd60e51b8152600401610ad7906140f3565b610c5e816128b9565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a01918590610d2f90869061413e565b61212a565b3360009081526005602052604090205460ff16610d935760405162461bcd60e51b815260206004820152601960248201527f455243323054656d706c6174653a204e4f54204d494e544552000000000000006044820152606401610ad7565b600954610da982610da360025490565b90612919565b1115610df75760405162461bcd60e51b815260206004820152601f60248201527f44617461546f6b656e54656d706c6174653a20636170206578636565646564006044820152606401610ad7565b610e018282612925565b5050565b610c5e3382612a04565b600b546040516331a9108f60e11b8152600160048201526001600160a01b0390911690636352211e90602401602060405180830381865afa158015610e58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7c9190614156565b6001600160a01b0316336001600160a01b031614610edc5760405162461bcd60e51b815260206004820152601b60248201527f455243323054656d706c6174653a206e6f74204e46544f776e657200000000006044820152606401610ad7565b610ee4612b52565b600c80546001600160a01b0319169055565b33600090815260056020526040902054610100900460ff1680610f875750600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af1158015610f5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f82919061406f565b602001515b610fe75760405162461bcd60e51b815260206004820152602b60248201527f455243323054656d706c6174653a204e4f54205041594d454e54204d414e414760448201526a22a91037b91027aba722a960a91b6064820152608401610ad7565b610ff081612c01565b604080514281524360208201526001600160a01b0383169133917f4d7694d695c57cc54947177c8e8a0e61aae664e9223492a798c32fadfc6419cc910160405180910390a350565b600d546001600160a01b031633146110a55760405162461bcd60e51b815260206004820152602a60248201527f455243323054656d706c6174653a206e6f74207075626c6973684d61726b65746044820152694665654164647265737360b01b6064820152608401610ad7565b6001600160a01b03831661110c5760405162461bcd60e51b815260206004820152602860248201527f496e76616c6964205f7075626c6973684d61726b657446656541646472657373604482015267206164647265737360c01b6064820152608401610ad7565b600d80546001600160a01b038581166001600160a01b03199283168117909355600e8054918616919092168117909155600f839055604080513381526020810193909352820152606081018290527fe0b85b6f04fa914cf57f6401c5672a83a32b1c388d194c3d78e17f2897d46f439060800160405180910390a1505050565b6000611198833361087e565b9050818110156111f65760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b6064820152608401610ad7565b611203833384840361212a565b610b168383612a04565b600b546001600160a01b03163314610edc5760405162461bcd60e51b815260206004820152601f60248201527f455243323054656d706c6174653a204e4f542037323120436f6e7472616374006044820152606401610ad7565b600b5460405163160a792560e01b81523360048201526000916001600160a01b03169063160a7925906024016080604051808303816000875af11580156112b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d6919061406f565b602001516112f65760405162461bcd60e51b8152600401610ad7906140f3565b308360038151811061130a5761130a614173565b6001600160a01b039283166020918202929092010152601254604051638244937560e01b815291169063824493759061134b90879087908790600401614189565b6020604051808303816000875af115801561136a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138e919061421d565b90506000826004815181106113a5576113a5614173565b602002602001015111156113bc576113bc84612c23565b7f195d202f33578769e120c3041341554af3193e67ee004175095bc9c06e6e616581846000815181106113f1576113f1614173565b60200260200101516040516114199291909182526001600160a01b0316602082015260400190565b60405180910390a19392505050565b60606008805461097190614034565b600b5460405163160a792560e01b81526001600160a01b038381166004830152600092169063160a7925906024016080604051808303816000875af1158015611484573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a8919061406f565b6020015192915050565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af11580156114fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611520919061406f565b602001516115405760405162461bcd60e51b8152600401610ad7906140f3565b610c5e81612c23565b61155a89898989898989898961224e565b505050505050505050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156115e75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610ad7565b6115f4338585840361212a565b5060019392505050565b6000610a0133848461267e565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af1158015611655573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611679919061406f565b602001516116995760405162461bcd60e51b8152600401610ad7906140f3565b610c5e81612d1d565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af11580156116ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611710919061406f565b602001516117305760405162461bcd60e51b8152600401610ad7906140f3565b6040516bffffffffffffffffffffffff193060601b16602082015260009060340160408051601f19818403018152908290528051602090910120600b546301caf8fd60e31b83529092506001600160a01b031690630e57c7e89061179c90849087908790600401614236565b600060405180830381600087803b1580156117b657600080fd5b505af11580156117ca573d6000803e3d6000fd5b50505050505050565b6117e66064670de0b6b3a764000061426c565b81565b600a54600090600160a01b900460ff16156118605760405162461bcd60e51b815260206004820152603160248201527f455243323054656d706c6174653a20746f6b656e20696e7374616e636520616c6044820152701c9958591e481a5b9a5d1a585b1a5e9959607a1b6064820152608401610ad7565b61191461186d8b8d61428e565b8a8a8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808e0282810182019093528d82529093508d92508c91829185019084908082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525061190f92508991508a9050614315565b612e2b565b9b9a5050505050505050505050565b438410156119665760405162461bcd60e51b815260206004820152601060248201526f115490cc8c11150e881156141254915160821b6044820152606401610ad7565b6010546001600160a01b038816600090815260116020526040812080549192917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b9190876119b98361437c565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001611a3292919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611a9d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590611ad35750886001600160a01b0316816001600160a01b0316145b611b1f5760405162461bcd60e51b815260206004820152601a60248201527f455243323044543a20494e56414c49445f5349474e41545552450000000000006044820152606401610ad7565b61155a89898961212a565b611b32611b6a565b6001600160a01b03166108fc479081150290604051600060405180830381858888f19350505050158015610c5e573d6000803e3d6000fd5b600c546000906001600160a01b0316611bef57600b546040516331a9108f60e11b8152600160048201526001600160a01b0390911690636352211e90602401602060405180830381865afa158015611bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bea9190614156565b905090565b50600c546001600160a01b031690565b80516020820151604051634c87087d60e01b815260009283926001600160a01b0390911691634c87087d91611c3a9160040190815260200190565b61018060405180830381865afa158015611c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7c9190614397565b5050505050505050935050925050306001600160a01b0316826001600160a01b031614611cfb5760405162461bcd60e51b815260206004820152602760248201527f5468697320466978656452617465206973206e6f742070726f766964696e67206044820152661d1a1a5cc8111560ca1b6064820152608401610ad7565b8251602084015160405163c99733a760e01b81526004810191909152670de0b6b3a7640000602482015260009182916001600160a01b039091169063c99733a790604401608060405180830381865afa158015611d5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d809190614454565b5050915091508460400151821115611dea5760405162461bcd60e51b815260206004820152602760248201527f46697865645261746545786368616e67653a20546f6f206d616e79206261736560448201526620746f6b656e7360c81b6064820152608401610ad7565b6000670de0b6b3a7640000866060015183611e05919061448a565b611e0f919061426c565b9050611e1b818461413e565b9250611e326001600160a01b03851633308661332a565b8551611e49906001600160a01b0386169085613395565b8551602087015160405163412dae6b60e11b81526004810191909152670de0b6b3a76400006024820152604481018590526001600160a01b039091169063825b5cd690606401600060405180830381600087803b158015611ea957600080fd5b505af1158015611ebd573d6000803e3d6000fd5b505030600090815260208190526040902054670de0b6b3a7640000925090501015611f2a5760405162461bcd60e51b815260206004820152601f60248201527f556e61626c6520746f206275792044542066726f6d20466978656452617465006044820152606401610ad7565b611f3d3033670de0b6b3a764000061267e565b611f738760000151886020015189604001518a606001518b608001518c60a001518d60c001518e60e001518f610100015161224e565b8015611f93576080860151611f93906001600160a01b0386169083613447565b60408051338152602081018590529081018290527fe89458a7527f4bf466ab18794ab8b1ca208b478483a1a87bcf0d976d421b4aff9060600160405180910390a150505050505050565b60068181548110611fed57600080fd5b6000918252602090912001546001600160a01b0316905081565b600b5460405163160a792560e01b81523360048201526001600160a01b039091169063160a7925906024016080604051808303816000875af1158015612051573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612075919061406f565b602001516120955760405162461bcd60e51b8152600401610ad7906140f3565b601254604051636b14d00560e11b81526001600160a01b0386811660048301523060248301819052604483018790526064830186905233608484015260a48301529091169063d629a00a9060c401600060405180830381600087803b1580156120fd57600080fd5b505af1158015612111573d6000803e3d6000fd5b5050505080156121245761212484612c23565b50505050565b6001600160a01b03831661218c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ad7565b6001600160a01b0382166121ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ad7565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b33600090815260208190526040812054670de0b6b3a764000091908211156122c65760405162461bcd60e51b815260206004820152602560248201527f4e6f7420656e6f756768204461746120546f6b656e7320746f2073746172742060448201526427b93232b960d91b6064820152608401610ad7565b600d5460408051338152602081018590529081018c90524260608201524360808201526001600160a01b03918216918d16907fe1c4fa794edfa8f619b8257a077398950357b9c6398528f94480307352f9afcc9060a00160405180910390a36000600f541180156123415750600e546001600160a01b031615155b80156123575750600d546001600160a01b031615155b1561248257600f54600e5461237b916001600160a01b03909116903390309061332a565b600f54612389906064613477565b600d54600f549192506123bf916001600160a01b03909116906123ac9084613483565b600e546001600160a01b03169190613447565b600e54600d54600f546001600160a01b0392831692909116907ff666b31c81334b6085802ba4149907fa724689d43bc31df6de1a51291ddc55b4906124049085613483565b60405190815260200160405180910390a3801561248257600a54600e54612438916001600160a01b03918216911683613447565b600e54600a546040518381526001600160a01b0392831692909116907ff666b31c81334b6085802ba4149907fa724689d43bc31df6de1a51291ddc55b49060200160405180910390a35b60006040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152509050600081858c8c8c6040516020016124d694939291906144a9565b604051602081830303815290604052805190602001206040516020016124fd9291906144ef565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff8c1692840192909252606083018a9052608083018990529092509060019060a0016020604051602081039080840390855afa158015612568573d6000803e3d6000fd5b5050506020604051035190508b6001600160a01b0316816001600160a01b0316146125cc5760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642070726f76696465722066656560601b6044820152606401610ad7565b8a6001600160a01b03168c6001600160a01b03167f144fc6ed7d0a617ba44a01131b1f724d0370297a3640b6201f343e081ada64468c898d8d8d604051612617959493929190614511565b60405180910390a360008a11801561263757506001600160a01b038b1615155b801561264b57506001600160a01b038c1615155b15612665576126656001600160a01b038c16338e8d61332a565b61266e85610e05565b5050505050505050505050505050565b6001600160a01b0383166126e25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ad7565b6001600160a01b0382166127445760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ad7565b6001600160a01b038316600090815260208190526040902054818110156127bc5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610ad7565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906127f390849061413e565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161283f91815260200190565b60405180910390a3612124565b6001600160a01b03811660008181526005602052604090819020805461ff00191681559051909133917faee911eec8b2df8f3ae0464841541b1e5f339519bd5cf51889fe8b07fecff658906128ad9042904390918252602082015260400190565b60405180910390a35050565b6001600160a01b03811660008181526005602052604090819020805460ff191681559051909133917fefa2735987005aaa89c050c0ff8cc9ae7d9079d19382081c429130f98c52d480906128ad9042904390918252602082015260400190565b6000610bc0828461413e565b6001600160a01b03821661297b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610ad7565b806002600082825461298d919061413e565b90915550506001600160a01b038216600090815260208190526040812080548392906129ba90849061413e565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b038216612a645760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610ad7565b6001600160a01b03821660009081526020819052604090205481811015612ad85760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610ad7565b6001600160a01b0383166000908152602081905260408120838303905560028054849290612b0790849061454a565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b60005b600654811015612bb85760006005600060068481548110612b7857612b78614173565b60009182526020808320909101546001600160a01b031683528201929092526040019020805461ffff191690555080612bb08161437c565b915050612b55565b50612bc5600660006136d9565b6040805142815243602082015233917f712bc71db81927a76b8bf1ea346247bb0ad58f18e4e5c1bd4aa0ec6573e02a2b910160405180910390a2565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600560205260409020805460ff1615612c8d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230526f6c65733a2020414c52454144592041204d494e5445520000006044820152606401610ad7565b8054600160ff19909116811782556006805491820181556000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319166001600160a01b038416908117909155604080514281524360208201523392917f4f7e100eb1ee13e903798bd0d6aa854152e07eb05544f392b9409c12935c809591016128ad565b6001600160a01b03811660009081526005602052604090208054610100900460ff1615612d975760405162461bcd60e51b815260206004820152602260248201527f4552433230526f6c65733a2020414c5245414459204120464545204d414e414760448201526122a960f11b6064820152608401610ad7565b805461ff001916610100178155600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0384166001600160a01b03199091168117909155604080514281524360208201523392917fb17da2e9910b4ba5754e8872385ba315a238bafb5ae221fc85093c33432c40a791016128ad565b60008084600081518110612e4157612e41614173565b60200260200101519050600085600181518110612e6057612e60614173565b6020026020010151905060006001600160a01b0316826001600160a01b03161415612ee25760405162461bcd60e51b815260206004820152602c60248201527f455243323054656d706c6174653a20496e76616c6964206d696e7465722c202060448201526b7a65726f206164647265737360a01b6064820152608401610ad7565b6001600160a01b038116612f5e5760405162461bcd60e51b815260206004820152603c60248201527f455243323054656d706c6174653a20496e76616c696420636f6d6d756e69747960448201527f2066656520636f6c6c6563746f722c207a65726f2061646472657373000000006064820152608401610ad7565b84600081518110612f7157612f71614173565b602002602001015160001415612fd55760405162461bcd60e51b8152602060048201526024808201527f44617461546f6b656e54656d706c6174653a20496e76616c6964206361702076604482015263616c756560e01b6064820152608401610ad7565b84600081518110612fe857612fe8614173565b60200260200101516009819055508760008151811061300957613009614173565b6020026020010151600790805190602001906130269291906136f7565b508760018151811061303a5761303a614173565b6020026020010151600890805190602001906130579291906136f7565b50600b80546001600160a01b0319166001600160a01b03841617905585518690600290811061308857613088614173565b6020908102919091010151601280546001600160a01b039283166001600160a01b0319909116179055600a80546001600160a81b03191691831691909117600160a01b17905586516130f29088906000906130e5576130e5614173565b6020026020010151612c23565b60006001600160a01b03168760018151811061311057613110614173565b60200260200101516001600160a01b0316146131ba576131498760018151811061313c5761313c614173565b6020026020010151612c01565b8660018151811061315c5761315c614173565b60200260200101516001600160a01b0316336001600160a01b03167f4d7694d695c57cc54947177c8e8a0e61aae664e9223492a798c32fadfc6419cc42436040516131b1929190918252602082015260400190565b60405180910390a35b866002815181106131cd576131cd614173565b6020026020010151600d60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508660038151811061320e5761320e614173565b6020026020010151600e60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508460018151811061324f5761324f614173565b6020026020010151600f8190555060004690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60076040516132929190614561565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152608081018290523060a082015260c00160408051808303601f1901815291905280516020909101206010555050600a54600160a01b900460ff16979650505050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526121249085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261348f565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa1580156133e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061340a919061421d565b613414919061413e565b6040516001600160a01b03851660248201526044810182905290915061212490859063095ea7b360e01b9060640161335e565b6040516001600160a01b038316602482015260448101829052610b1690849063a9059cbb60e01b9060640161335e565b6000610bc0828461426c565b6000610bc0828461454a565b60006134e4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135619092919063ffffffff16565b805190915015610b16578080602001905181019061350291906145fd565b610b165760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610ad7565b60606135708484600085613578565b949350505050565b6060824710156135d95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610ad7565b843b6136275760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ad7565b600080866001600160a01b03168587604051613643919061461a565b60006040518083038185875af1925050503d8060008114613680576040519150601f19603f3d011682016040523d82523d6000602084013e613685565b606091505b50915091506136958282866136a0565b979650505050505050565b606083156136af575081610bc0565b8251156136bf5782518084602001fd5b8160405162461bcd60e51b8152600401610ad7919061382a565b5080546000825590600052602060002090810190610c5e919061377b565b82805461370390614034565b90600052602060002090601f016020900481019282613725576000855561376b565b82601f1061373e57805160ff191683800117855561376b565b8280016001018555821561376b579182015b8281111561376b578251825591602001919060010190613750565b5061377792915061377b565b5090565b5b80821115613777576000815560010161377c565b6001600160a01b0381168114610c5e57600080fd5b80356137b081613790565b919050565b6000602082840312156137c757600080fd5b8135610bc081613790565b60005b838110156137ed5781810151838201526020016137d5565b838111156121245750506000910152565b600081518084526138168160208601602086016137d2565b601f01601f19169290920160200192915050565b602081526000610bc060208301846137fe565b6000806040838503121561385057600080fd5b823561385b81613790565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156138a2576138a2613869565b60405290565b60405160a081016001600160401b03811182821017156138a2576138a2613869565b604051601f8201601f191681016001600160401b03811182821017156138f2576138f2613869565b604052919050565b803560ff811681146137b057600080fd5b60006001600160401b0383111561392457613924613869565b613937601f8401601f19166020016138ca565b905082815283838301111561394b57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261397357600080fd5b610bc08383356020850161390b565b6000610120828403121561399557600080fd5b61399d61387f565b90506139a8826137a5565b8152602082013560208201526139c0604083016137a5565b60408201526139d1606083016137a5565b6060820152608082013560808201526139ec60a083016138fa565b60a082015260c082013560c082015260e082013560e0820152610100808301356001600160401b03811115613a2057600080fd5b613a2c85828601613962565b82840152505092915050565b60008060408385031215613a4b57600080fd5b82356001600160401b03811115613a6157600080fd5b613a6d85828601613982565b9250506020830135613a7e81613790565b809150509250929050565b600080600060608486031215613a9e57600080fd5b8335613aa981613790565b92506020840135613ab981613790565b929592945050506040919091013590565b600060208284031215613adc57600080fd5b5035919050565b60006001600160401b03821115613afc57613afc613869565b5060051b60200190565b600082601f830112613b1757600080fd5b81356020613b2c613b2783613ae3565b6138ca565b82815260059290921b84018101918181019086841115613b4b57600080fd5b8286015b84811015613b665780358352918301918301613b4f565b509695505050505050565b600080600060608486031215613b8657600080fd5b8335613b9181613790565b92506020848101356001600160401b0380821115613bae57600080fd5b818701915087601f830112613bc257600080fd5b8135613bd0613b2782613ae3565b81815260059190911b8301840190848101908a831115613bef57600080fd5b938501935b82851015613c16578435613c0781613790565b82529385019390850190613bf4565b965050506040870135925080831115613c2e57600080fd5b5050613c3c86828701613b06565b9150509250925092565b60008060008060008060008060006101208a8c031215613c6557600080fd5b8935613c7081613790565b985060208a0135975060408a0135613c8781613790565b965060608a0135613c9781613790565b955060808a01359450613cac60a08b016138fa565b935060c08a0135925060e08a013591506101008a01356001600160401b03811115613cd657600080fd5b613ce28c828d01613962565b9150509295985092959850929598565b60008060208385031215613d0557600080fd5b82356001600160401b0380821115613d1c57600080fd5b818501915085601f830112613d3057600080fd5b813581811115613d3f57600080fd5b866020828501011115613d5157600080fd5b60209290920196919550909350505050565b60008083601f840112613d7557600080fd5b5081356001600160401b03811115613d8c57600080fd5b6020830191508360208260051b8501011115613da757600080fd5b9250929050565b60008060008060008060008060008060a08b8d031215613dcd57600080fd5b8a356001600160401b0380821115613de457600080fd5b613df08e838f01613d63565b909c509a5060208d0135915080821115613e0957600080fd5b613e158e838f01613d63565b909a50985060408d0135915080821115613e2e57600080fd5b613e3a8e838f01613d63565b909850965060608d0135915080821115613e5357600080fd5b613e5f8e838f01613d63565b909650945060808d0135915080821115613e7857600080fd5b50613e858d828e01613d63565b915080935050809150509295989b9194979a5092959850565b600080600080600080600060e0888a031215613eb957600080fd5b8735613ec481613790565b96506020880135613ed481613790565b95506040880135945060608801359350613ef0608089016138fa565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215613f1f57600080fd5b8235613f2a81613790565b91506020830135613a7e81613790565b60008082840360c0811215613f4e57600080fd5b83356001600160401b03811115613f6457600080fd5b613f7086828701613982565b93505060a0601f1982011215613f8557600080fd5b50613f8e6138a8565b6020840135613f9c81613790565b8082525060408401356020820152606084013560408201526080840135606082015260a0840135613fcc81613790565b6080820152919491935090915050565b8015158114610c5e57600080fd5b6000806000806080858703121561400057600080fd5b843561400b81613790565b93506020850135925060408501359150606085013561402981613fdc565b939692955090935050565b600181811c9082168061404857607f821691505b6020821081141561406957634e487b7160e01b600052602260045260246000fd5b50919050565b60006080828403121561408157600080fd5b604051608081018181106001600160401b03821117156140a3576140a3613869565b60405282516140b181613fdc565b815260208301516140c181613fdc565b602082015260408301516140d481613fdc565b604082015260608301516140e781613fdc565b60608201529392505050565b6020808252818101527f455243323054656d706c6174653a204e4f54204445504c4f59455220524f4c45604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000821982111561415157614151614128565b500190565b60006020828403121561416857600080fd5b8151610bc081613790565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038481168252606060208084018290528551918401829052600092868201929091906080860190855b818110156141d75785518516835294830194918301916001016141b9565b5050858103604087015286518082529082019350915080860160005b8381101561420f578151855293820193908201906001016141f3565b509298975050505050505050565b60006020828403121561422f57600080fd5b5051919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008261428957634e487b7160e01b600052601260045260246000fd5b500490565b600061429c613b2784613ae3565b80848252602080830192508560051b8501368111156142ba57600080fd5b855b818110156143095780356001600160401b038111156142db5760008081fd5b870136601f8201126142ed5760008081fd5b6142fb36823586840161390b565b8652509382019382016142bc565b50919695505050505050565b6000614323613b2784613ae3565b80848252602080830192508560051b85013681111561434157600080fd5b855b818110156143095780356001600160401b038111156143625760008081fd5b61436e36828a01613962565b865250938201938201614343565b600060001982141561439057614390614128565b5060010190565b6000806000806000806000806000806000806101808d8f0312156143ba57600080fd5b8c516143c581613790565b60208e0151909c506143d681613790565b60408e015160608f0151919c509a506143ee81613790565b8099505060808d0151975060a08d0151965060c08d015161440e81613fdc565b8096505060e08d015194506101008d015193506101208d015192506101408d015191506101608d015161444081613fdc565b809150509295989b509295989b509295989b565b6000806000806080858703121561446a57600080fd5b505082516020840151604085015160609095015191969095509092509050565b60008160001904831182151516156144a4576144a4614128565b500290565b600085516144bb818460208a016137d2565b6bffffffffffffffffffffffff19606096871b8116919093019081529390941b166014830152602882015260480192915050565b600083516145018184602088016137d2565b9190910191825250602001919050565b85815260a06020820152600061452a60a08301876137fe565b60ff95909516604083015250606081019290925260809091015292915050565b60008282101561455c5761455c614128565b500390565b600080835481600182811c91508083168061457d57607f831692505b602080841082141561459d57634e487b7160e01b86526022600452602486fd5b8180156145b157600181146145c2576145ef565b60ff198616895284890196506145ef565b60008a81526020902060005b868110156145e75781548b8201529085019083016145ce565b505084890196505b509498975050505050505050565b60006020828403121561460f57600080fd5b8151610bc081613fdc565b6000825161462c8184602087016137d2565b919091019291505056fea26469706673582212209041cd5099503a2e31e599b01c0c938b713c90fa811d0e03aacc28d1251e8ce164736f6c634300080a0033",
1528
+ "linkReferences": {},
1529
+ "deployedLinkReferences": {}
1530
+ }