@venusprotocol/governance-contracts 1.0.1-dev.1 → 1.0.1-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/contracts/Governance/AccessControlManager.sol +44 -5
  2. package/contracts/Governance/AccessControlledV5.sol +4 -5
  3. package/contracts/Governance/AccessControlledV8.sol +4 -6
  4. package/contracts/Governance/GovernorBravoDelegate.sol +67 -0
  5. package/contracts/Governance/GovernorBravoDelegator.sol +5 -0
  6. package/contracts/Governance/GovernorBravoInterfaces.sol +23 -2
  7. package/contracts/Governance/IAccessControlManagerV5.sol +5 -0
  8. package/contracts/Governance/IAccessControlManagerV8.sol +5 -0
  9. package/contracts/Governance/Timelock.sol +5 -0
  10. package/package.json +1 -1
  11. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +0 -4
  12. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +0 -215
  13. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +0 -4
  14. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json +0 -183
  15. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +0 -4
  16. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +0 -10
  17. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +0 -4
  18. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +0 -10
  19. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +0 -4
  20. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +0 -30
  21. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +0 -4
  22. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +0 -30
  23. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +0 -4
  24. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +0 -10
  25. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +0 -4
  26. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.json +0 -115
  27. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +0 -4
  28. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +0 -76
  29. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +0 -4
  30. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +0 -24
  31. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +0 -4
  32. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +0 -10
  33. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +0 -4
  34. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +0 -24
  35. package/artifacts/@venusprotocol/venus-protocol/contracts/Governance/XVS.sol/Owned.dbg.json +0 -4
  36. package/artifacts/@venusprotocol/venus-protocol/contracts/Governance/XVS.sol/Owned.json +0 -66
  37. package/artifacts/@venusprotocol/venus-protocol/contracts/Governance/XVS.sol/Tokenlock.dbg.json +0 -4
  38. package/artifacts/@venusprotocol/venus-protocol/contracts/Governance/XVS.sol/Tokenlock.json +0 -90
  39. package/artifacts/@venusprotocol/venus-protocol/contracts/Governance/XVS.sol/XVS.dbg.json +0 -4
  40. package/artifacts/@venusprotocol/venus-protocol/contracts/Governance/XVS.sol/XVS.json +0 -618
  41. package/artifacts/@venusprotocol/venus-protocol/contracts/Utils/Address.sol/Address.dbg.json +0 -4
  42. package/artifacts/@venusprotocol/venus-protocol/contracts/Utils/Address.sol/Address.json +0 -10
  43. package/artifacts/@venusprotocol/venus-protocol/contracts/Utils/ECDSA.sol/ECDSA.dbg.json +0 -4
  44. package/artifacts/@venusprotocol/venus-protocol/contracts/Utils/ECDSA.sol/ECDSA.json +0 -10
  45. package/artifacts/@venusprotocol/venus-protocol/contracts/Utils/IBEP20.sol/IBEP20.dbg.json +0 -4
  46. package/artifacts/@venusprotocol/venus-protocol/contracts/Utils/IBEP20.sol/IBEP20.json +0 -206
  47. package/artifacts/@venusprotocol/venus-protocol/contracts/Utils/SafeBEP20.sol/SafeBEP20.dbg.json +0 -4
  48. package/artifacts/@venusprotocol/venus-protocol/contracts/Utils/SafeBEP20.sol/SafeBEP20.json +0 -10
  49. package/artifacts/@venusprotocol/venus-protocol/contracts/Utils/SafeMath.sol/SafeMath.dbg.json +0 -4
  50. package/artifacts/@venusprotocol/venus-protocol/contracts/Utils/SafeMath.sol/SafeMath.json +0 -10
  51. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSStore.sol/XVSStore.dbg.json +0 -4
  52. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSStore.sol/XVSStore.json +0 -244
  53. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVault.sol/IXVSStore.dbg.json +0 -4
  54. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVault.sol/IXVSStore.json +0 -56
  55. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVault.sol/XVSVault.dbg.json +0 -4
  56. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVault.sol/XVSVault.json +0 -1211
  57. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVaultErrorReporter.sol/XVSVaultErrorReporter.dbg.json +0 -4
  58. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVaultErrorReporter.sol/XVSVaultErrorReporter.json +0 -36
  59. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVaultProxy.sol/XVSVaultProxy.dbg.json +0 -4
  60. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVaultProxy.sol/XVSVaultProxy.json +0 -255
  61. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVaultStorage.sol/XVSVaultAdminStorage.dbg.json +0 -4
  62. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVaultStorage.sol/XVSVaultAdminStorage.json +0 -71
  63. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVaultStorage.sol/XVSVaultStorage.dbg.json +0 -4
  64. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVaultStorage.sol/XVSVaultStorage.json +0 -313
  65. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVaultStorage.sol/XVSVaultStorageV1.dbg.json +0 -4
  66. package/artifacts/@venusprotocol/venus-protocol/contracts/XVSVault/XVSVaultStorage.sol/XVSVaultStorageV1.json +0 -240
  67. package/artifacts/build-info/0ed8a45a04a58741f8391cb7a77f7ff9.json +0 -1
  68. package/artifacts/build-info/1659b7cff20ee8b7949bfbefa681db8b.json +0 -1
  69. package/artifacts/build-info/21eeeec59918770851ef762f6f414247.json +0 -1
  70. package/artifacts/build-info/60a7730a05f99cbf38891be24e3a5c77.json +0 -1
  71. package/artifacts/build-info/fa9891803c56b8a530ff515ffc45dc03.json +0 -1
  72. package/artifacts/contracts/Governance/AccessControlManager.sol/AccessControlManager.dbg.json +0 -4
  73. package/artifacts/contracts/Governance/AccessControlManager.sol/AccessControlManager.json +0 -369
  74. package/artifacts/contracts/Governance/AccessControlledV5.sol/AccessControlledV5.dbg.json +0 -4
  75. package/artifacts/contracts/Governance/AccessControlledV5.sol/AccessControlledV5.json +0 -45
  76. package/artifacts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +0 -4
  77. package/artifacts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.json +0 -181
  78. package/artifacts/contracts/Governance/GovernorBravoDelegate.sol/GovernorBravoDelegate.dbg.json +0 -4
  79. package/artifacts/contracts/Governance/GovernorBravoDelegate.sol/GovernorBravoDelegate.json +0 -1173
  80. package/artifacts/contracts/Governance/GovernorBravoDelegator.sol/GovernorBravoDelegator.dbg.json +0 -4
  81. package/artifacts/contracts/Governance/GovernorBravoDelegator.sol/GovernorBravoDelegator.json +0 -424
  82. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorAlphaInterface.dbg.json +0 -4
  83. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorAlphaInterface.json +0 -26
  84. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1.dbg.json +0 -4
  85. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV1.json +0 -283
  86. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV2.dbg.json +0 -4
  87. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegateStorageV2.json +0 -335
  88. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage.dbg.json +0 -4
  89. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoDelegatorStorage.json +0 -56
  90. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents.dbg.json +0 -4
  91. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/GovernorBravoEvents.json +0 -312
  92. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/TimelockInterface.dbg.json +0 -4
  93. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/TimelockInterface.json +0 -188
  94. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/XvsVaultInterface.dbg.json +0 -4
  95. package/artifacts/contracts/Governance/GovernorBravoInterfaces.sol/XvsVaultInterface.json +0 -37
  96. package/artifacts/contracts/Governance/IAccessControlManagerV5.sol/IAccessControlManagerV5.dbg.json +0 -4
  97. package/artifacts/contracts/Governance/IAccessControlManagerV5.sol/IAccessControlManagerV5.json +0 -300
  98. package/artifacts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +0 -4
  99. package/artifacts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.json +0 -282
  100. package/artifacts/contracts/Governance/Timelock.sol/Timelock.dbg.json +0 -4
  101. package/artifacts/contracts/Governance/Timelock.sol/Timelock.json +0 -468
  102. package/artifacts/contracts/Utils/SafeMath.sol/SafeMath.dbg.json +0 -4
  103. package/artifacts/contracts/Utils/SafeMath.sol/SafeMath.json +0 -10
  104. package/artifacts/contracts/test/MockAccessTest.sol/MockAccessTest.dbg.json +0 -4
  105. package/artifacts/contracts/test/MockAccessTest.sol/MockAccessTest.json +0 -194
@@ -1,1211 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "XVSVault",
4
- "sourceName": "@venusprotocol/venus-protocol/contracts/XVSVault/XVSVault.sol",
5
- "abi": [
6
- {
7
- "inputs": [],
8
- "payable": false,
9
- "stateMutability": "nonpayable",
10
- "type": "constructor"
11
- },
12
- {
13
- "anonymous": false,
14
- "inputs": [
15
- {
16
- "indexed": true,
17
- "internalType": "address",
18
- "name": "oldAdmin",
19
- "type": "address"
20
- },
21
- {
22
- "indexed": true,
23
- "internalType": "address",
24
- "name": "newAdmin",
25
- "type": "address"
26
- }
27
- ],
28
- "name": "AdminTransferred",
29
- "type": "event"
30
- },
31
- {
32
- "anonymous": false,
33
- "inputs": [
34
- {
35
- "indexed": true,
36
- "internalType": "address",
37
- "name": "delegator",
38
- "type": "address"
39
- },
40
- {
41
- "indexed": true,
42
- "internalType": "address",
43
- "name": "fromDelegate",
44
- "type": "address"
45
- },
46
- {
47
- "indexed": true,
48
- "internalType": "address",
49
- "name": "toDelegate",
50
- "type": "address"
51
- }
52
- ],
53
- "name": "DelegateChangedV2",
54
- "type": "event"
55
- },
56
- {
57
- "anonymous": false,
58
- "inputs": [
59
- {
60
- "indexed": true,
61
- "internalType": "address",
62
- "name": "delegate",
63
- "type": "address"
64
- },
65
- {
66
- "indexed": false,
67
- "internalType": "uint256",
68
- "name": "previousBalance",
69
- "type": "uint256"
70
- },
71
- {
72
- "indexed": false,
73
- "internalType": "uint256",
74
- "name": "newBalance",
75
- "type": "uint256"
76
- }
77
- ],
78
- "name": "DelegateVotesChangedV2",
79
- "type": "event"
80
- },
81
- {
82
- "anonymous": false,
83
- "inputs": [
84
- {
85
- "indexed": true,
86
- "internalType": "address",
87
- "name": "user",
88
- "type": "address"
89
- },
90
- {
91
- "indexed": true,
92
- "internalType": "address",
93
- "name": "rewardToken",
94
- "type": "address"
95
- },
96
- {
97
- "indexed": true,
98
- "internalType": "uint256",
99
- "name": "pid",
100
- "type": "uint256"
101
- },
102
- {
103
- "indexed": false,
104
- "internalType": "uint256",
105
- "name": "amount",
106
- "type": "uint256"
107
- }
108
- ],
109
- "name": "Deposit",
110
- "type": "event"
111
- },
112
- {
113
- "anonymous": false,
114
- "inputs": [
115
- {
116
- "indexed": true,
117
- "internalType": "address",
118
- "name": "user",
119
- "type": "address"
120
- },
121
- {
122
- "indexed": true,
123
- "internalType": "address",
124
- "name": "rewardToken",
125
- "type": "address"
126
- },
127
- {
128
- "indexed": true,
129
- "internalType": "uint256",
130
- "name": "pid",
131
- "type": "uint256"
132
- },
133
- {
134
- "indexed": false,
135
- "internalType": "uint256",
136
- "name": "amount",
137
- "type": "uint256"
138
- }
139
- ],
140
- "name": "ExecutedWithdrawal",
141
- "type": "event"
142
- },
143
- {
144
- "anonymous": false,
145
- "inputs": [
146
- {
147
- "indexed": true,
148
- "internalType": "address",
149
- "name": "rewardToken",
150
- "type": "address"
151
- },
152
- {
153
- "indexed": true,
154
- "internalType": "uint256",
155
- "name": "pid",
156
- "type": "uint256"
157
- },
158
- {
159
- "indexed": true,
160
- "internalType": "address",
161
- "name": "token",
162
- "type": "address"
163
- },
164
- {
165
- "indexed": false,
166
- "internalType": "uint256",
167
- "name": "allocPoints",
168
- "type": "uint256"
169
- },
170
- {
171
- "indexed": false,
172
- "internalType": "uint256",
173
- "name": "rewardPerBlock",
174
- "type": "uint256"
175
- },
176
- {
177
- "indexed": false,
178
- "internalType": "uint256",
179
- "name": "lockPeriod",
180
- "type": "uint256"
181
- }
182
- ],
183
- "name": "PoolAdded",
184
- "type": "event"
185
- },
186
- {
187
- "anonymous": false,
188
- "inputs": [
189
- {
190
- "indexed": true,
191
- "internalType": "address",
192
- "name": "rewardToken",
193
- "type": "address"
194
- },
195
- {
196
- "indexed": true,
197
- "internalType": "uint256",
198
- "name": "pid",
199
- "type": "uint256"
200
- },
201
- {
202
- "indexed": false,
203
- "internalType": "uint256",
204
- "name": "oldAllocPoints",
205
- "type": "uint256"
206
- },
207
- {
208
- "indexed": false,
209
- "internalType": "uint256",
210
- "name": "newAllocPoints",
211
- "type": "uint256"
212
- }
213
- ],
214
- "name": "PoolUpdated",
215
- "type": "event"
216
- },
217
- {
218
- "anonymous": false,
219
- "inputs": [
220
- {
221
- "indexed": true,
222
- "internalType": "address",
223
- "name": "user",
224
- "type": "address"
225
- },
226
- {
227
- "indexed": true,
228
- "internalType": "address",
229
- "name": "rewardToken",
230
- "type": "address"
231
- },
232
- {
233
- "indexed": true,
234
- "internalType": "uint256",
235
- "name": "pid",
236
- "type": "uint256"
237
- },
238
- {
239
- "indexed": false,
240
- "internalType": "uint256",
241
- "name": "amount",
242
- "type": "uint256"
243
- }
244
- ],
245
- "name": "ReqestedWithdrawal",
246
- "type": "event"
247
- },
248
- {
249
- "anonymous": false,
250
- "inputs": [
251
- {
252
- "indexed": true,
253
- "internalType": "address",
254
- "name": "rewardToken",
255
- "type": "address"
256
- },
257
- {
258
- "indexed": false,
259
- "internalType": "uint256",
260
- "name": "oldReward",
261
- "type": "uint256"
262
- },
263
- {
264
- "indexed": false,
265
- "internalType": "uint256",
266
- "name": "newReward",
267
- "type": "uint256"
268
- }
269
- ],
270
- "name": "RewardAmountUpdated",
271
- "type": "event"
272
- },
273
- {
274
- "anonymous": false,
275
- "inputs": [
276
- {
277
- "indexed": false,
278
- "internalType": "address",
279
- "name": "oldXvs",
280
- "type": "address"
281
- },
282
- {
283
- "indexed": false,
284
- "internalType": "address",
285
- "name": "oldStore",
286
- "type": "address"
287
- },
288
- {
289
- "indexed": false,
290
- "internalType": "address",
291
- "name": "newXvs",
292
- "type": "address"
293
- },
294
- {
295
- "indexed": false,
296
- "internalType": "address",
297
- "name": "newStore",
298
- "type": "address"
299
- }
300
- ],
301
- "name": "StoreUpdated",
302
- "type": "event"
303
- },
304
- {
305
- "anonymous": false,
306
- "inputs": [
307
- {
308
- "indexed": true,
309
- "internalType": "address",
310
- "name": "rewardToken",
311
- "type": "address"
312
- },
313
- {
314
- "indexed": true,
315
- "internalType": "uint256",
316
- "name": "pid",
317
- "type": "uint256"
318
- },
319
- {
320
- "indexed": false,
321
- "internalType": "uint256",
322
- "name": "oldPeriod",
323
- "type": "uint256"
324
- },
325
- {
326
- "indexed": false,
327
- "internalType": "uint256",
328
- "name": "newPeriod",
329
- "type": "uint256"
330
- }
331
- ],
332
- "name": "WithdrawalLockingPeriodUpdated",
333
- "type": "event"
334
- },
335
- {
336
- "constant": true,
337
- "inputs": [],
338
- "name": "DELEGATION_TYPEHASH",
339
- "outputs": [
340
- {
341
- "internalType": "bytes32",
342
- "name": "",
343
- "type": "bytes32"
344
- }
345
- ],
346
- "payable": false,
347
- "stateMutability": "view",
348
- "type": "function"
349
- },
350
- {
351
- "constant": true,
352
- "inputs": [],
353
- "name": "DOMAIN_TYPEHASH",
354
- "outputs": [
355
- {
356
- "internalType": "bytes32",
357
- "name": "",
358
- "type": "bytes32"
359
- }
360
- ],
361
- "payable": false,
362
- "stateMutability": "view",
363
- "type": "function"
364
- },
365
- {
366
- "constant": false,
367
- "inputs": [
368
- {
369
- "internalType": "contract XVSVaultProxy",
370
- "name": "xvsVaultProxy",
371
- "type": "address"
372
- }
373
- ],
374
- "name": "_become",
375
- "outputs": [],
376
- "payable": false,
377
- "stateMutability": "nonpayable",
378
- "type": "function"
379
- },
380
- {
381
- "constant": false,
382
- "inputs": [
383
- {
384
- "internalType": "address",
385
- "name": "_rewardToken",
386
- "type": "address"
387
- },
388
- {
389
- "internalType": "uint256",
390
- "name": "_allocPoint",
391
- "type": "uint256"
392
- },
393
- {
394
- "internalType": "contract IBEP20",
395
- "name": "_token",
396
- "type": "address"
397
- },
398
- {
399
- "internalType": "uint256",
400
- "name": "_rewardPerBlock",
401
- "type": "uint256"
402
- },
403
- {
404
- "internalType": "uint256",
405
- "name": "_lockPeriod",
406
- "type": "uint256"
407
- }
408
- ],
409
- "name": "add",
410
- "outputs": [],
411
- "payable": false,
412
- "stateMutability": "nonpayable",
413
- "type": "function"
414
- },
415
- {
416
- "constant": true,
417
- "inputs": [],
418
- "name": "admin",
419
- "outputs": [
420
- {
421
- "internalType": "address",
422
- "name": "",
423
- "type": "address"
424
- }
425
- ],
426
- "payable": false,
427
- "stateMutability": "view",
428
- "type": "function"
429
- },
430
- {
431
- "constant": false,
432
- "inputs": [],
433
- "name": "burnAdmin",
434
- "outputs": [],
435
- "payable": false,
436
- "stateMutability": "nonpayable",
437
- "type": "function"
438
- },
439
- {
440
- "constant": true,
441
- "inputs": [
442
- {
443
- "internalType": "address",
444
- "name": "",
445
- "type": "address"
446
- },
447
- {
448
- "internalType": "uint32",
449
- "name": "",
450
- "type": "uint32"
451
- }
452
- ],
453
- "name": "checkpoints",
454
- "outputs": [
455
- {
456
- "internalType": "uint32",
457
- "name": "fromBlock",
458
- "type": "uint32"
459
- },
460
- {
461
- "internalType": "uint96",
462
- "name": "votes",
463
- "type": "uint96"
464
- }
465
- ],
466
- "payable": false,
467
- "stateMutability": "view",
468
- "type": "function"
469
- },
470
- {
471
- "constant": false,
472
- "inputs": [
473
- {
474
- "internalType": "address",
475
- "name": "delegatee",
476
- "type": "address"
477
- }
478
- ],
479
- "name": "delegate",
480
- "outputs": [],
481
- "payable": false,
482
- "stateMutability": "nonpayable",
483
- "type": "function"
484
- },
485
- {
486
- "constant": false,
487
- "inputs": [
488
- {
489
- "internalType": "address",
490
- "name": "delegatee",
491
- "type": "address"
492
- },
493
- {
494
- "internalType": "uint256",
495
- "name": "nonce",
496
- "type": "uint256"
497
- },
498
- {
499
- "internalType": "uint256",
500
- "name": "expiry",
501
- "type": "uint256"
502
- },
503
- {
504
- "internalType": "uint8",
505
- "name": "v",
506
- "type": "uint8"
507
- },
508
- {
509
- "internalType": "bytes32",
510
- "name": "r",
511
- "type": "bytes32"
512
- },
513
- {
514
- "internalType": "bytes32",
515
- "name": "s",
516
- "type": "bytes32"
517
- }
518
- ],
519
- "name": "delegateBySig",
520
- "outputs": [],
521
- "payable": false,
522
- "stateMutability": "nonpayable",
523
- "type": "function"
524
- },
525
- {
526
- "constant": true,
527
- "inputs": [
528
- {
529
- "internalType": "address",
530
- "name": "",
531
- "type": "address"
532
- }
533
- ],
534
- "name": "delegates",
535
- "outputs": [
536
- {
537
- "internalType": "address",
538
- "name": "",
539
- "type": "address"
540
- }
541
- ],
542
- "payable": false,
543
- "stateMutability": "view",
544
- "type": "function"
545
- },
546
- {
547
- "constant": false,
548
- "inputs": [
549
- {
550
- "internalType": "address",
551
- "name": "_rewardToken",
552
- "type": "address"
553
- },
554
- {
555
- "internalType": "uint256",
556
- "name": "_pid",
557
- "type": "uint256"
558
- },
559
- {
560
- "internalType": "uint256",
561
- "name": "_amount",
562
- "type": "uint256"
563
- }
564
- ],
565
- "name": "deposit",
566
- "outputs": [],
567
- "payable": false,
568
- "stateMutability": "nonpayable",
569
- "type": "function"
570
- },
571
- {
572
- "constant": false,
573
- "inputs": [
574
- {
575
- "internalType": "address",
576
- "name": "_rewardToken",
577
- "type": "address"
578
- },
579
- {
580
- "internalType": "uint256",
581
- "name": "_pid",
582
- "type": "uint256"
583
- }
584
- ],
585
- "name": "executeWithdrawal",
586
- "outputs": [],
587
- "payable": false,
588
- "stateMutability": "nonpayable",
589
- "type": "function"
590
- },
591
- {
592
- "constant": true,
593
- "inputs": [],
594
- "name": "getAdmin",
595
- "outputs": [
596
- {
597
- "internalType": "address",
598
- "name": "",
599
- "type": "address"
600
- }
601
- ],
602
- "payable": false,
603
- "stateMutability": "view",
604
- "type": "function"
605
- },
606
- {
607
- "constant": true,
608
- "inputs": [
609
- {
610
- "internalType": "address",
611
- "name": "account",
612
- "type": "address"
613
- }
614
- ],
615
- "name": "getCurrentVotes",
616
- "outputs": [
617
- {
618
- "internalType": "uint96",
619
- "name": "",
620
- "type": "uint96"
621
- }
622
- ],
623
- "payable": false,
624
- "stateMutability": "view",
625
- "type": "function"
626
- },
627
- {
628
- "constant": true,
629
- "inputs": [
630
- {
631
- "internalType": "address",
632
- "name": "_rewardToken",
633
- "type": "address"
634
- },
635
- {
636
- "internalType": "uint256",
637
- "name": "_pid",
638
- "type": "uint256"
639
- },
640
- {
641
- "internalType": "address",
642
- "name": "_user",
643
- "type": "address"
644
- }
645
- ],
646
- "name": "getEligibleWithdrawalAmount",
647
- "outputs": [
648
- {
649
- "internalType": "uint256",
650
- "name": "withdrawalAmount",
651
- "type": "uint256"
652
- }
653
- ],
654
- "payable": false,
655
- "stateMutability": "view",
656
- "type": "function"
657
- },
658
- {
659
- "constant": true,
660
- "inputs": [
661
- {
662
- "internalType": "address",
663
- "name": "account",
664
- "type": "address"
665
- },
666
- {
667
- "internalType": "uint256",
668
- "name": "blockNumber",
669
- "type": "uint256"
670
- }
671
- ],
672
- "name": "getPriorVotes",
673
- "outputs": [
674
- {
675
- "internalType": "uint96",
676
- "name": "",
677
- "type": "uint96"
678
- }
679
- ],
680
- "payable": false,
681
- "stateMutability": "view",
682
- "type": "function"
683
- },
684
- {
685
- "constant": true,
686
- "inputs": [
687
- {
688
- "internalType": "address",
689
- "name": "_rewardToken",
690
- "type": "address"
691
- },
692
- {
693
- "internalType": "uint256",
694
- "name": "_pid",
695
- "type": "uint256"
696
- },
697
- {
698
- "internalType": "address",
699
- "name": "_user",
700
- "type": "address"
701
- }
702
- ],
703
- "name": "getRequestedAmount",
704
- "outputs": [
705
- {
706
- "internalType": "uint256",
707
- "name": "",
708
- "type": "uint256"
709
- }
710
- ],
711
- "payable": false,
712
- "stateMutability": "view",
713
- "type": "function"
714
- },
715
- {
716
- "constant": true,
717
- "inputs": [
718
- {
719
- "internalType": "address",
720
- "name": "_rewardToken",
721
- "type": "address"
722
- },
723
- {
724
- "internalType": "uint256",
725
- "name": "_pid",
726
- "type": "uint256"
727
- },
728
- {
729
- "internalType": "address",
730
- "name": "_user",
731
- "type": "address"
732
- }
733
- ],
734
- "name": "getUserInfo",
735
- "outputs": [
736
- {
737
- "internalType": "uint256",
738
- "name": "amount",
739
- "type": "uint256"
740
- },
741
- {
742
- "internalType": "uint256",
743
- "name": "rewardDebt",
744
- "type": "uint256"
745
- },
746
- {
747
- "internalType": "uint256",
748
- "name": "pendingWithdrawals",
749
- "type": "uint256"
750
- }
751
- ],
752
- "payable": false,
753
- "stateMutability": "view",
754
- "type": "function"
755
- },
756
- {
757
- "constant": true,
758
- "inputs": [
759
- {
760
- "internalType": "address",
761
- "name": "_rewardToken",
762
- "type": "address"
763
- },
764
- {
765
- "internalType": "uint256",
766
- "name": "_pid",
767
- "type": "uint256"
768
- },
769
- {
770
- "internalType": "address",
771
- "name": "_user",
772
- "type": "address"
773
- }
774
- ],
775
- "name": "getWithdrawalRequests",
776
- "outputs": [
777
- {
778
- "components": [
779
- {
780
- "internalType": "uint256",
781
- "name": "amount",
782
- "type": "uint256"
783
- },
784
- {
785
- "internalType": "uint256",
786
- "name": "lockedUntil",
787
- "type": "uint256"
788
- }
789
- ],
790
- "internalType": "struct XVSVaultStorageV1.WithdrawalRequest[]",
791
- "name": "",
792
- "type": "tuple[]"
793
- }
794
- ],
795
- "payable": false,
796
- "stateMutability": "view",
797
- "type": "function"
798
- },
799
- {
800
- "constant": true,
801
- "inputs": [],
802
- "name": "implementation",
803
- "outputs": [
804
- {
805
- "internalType": "address",
806
- "name": "",
807
- "type": "address"
808
- }
809
- ],
810
- "payable": false,
811
- "stateMutability": "view",
812
- "type": "function"
813
- },
814
- {
815
- "constant": false,
816
- "inputs": [
817
- {
818
- "internalType": "address",
819
- "name": "_rewardToken",
820
- "type": "address"
821
- }
822
- ],
823
- "name": "massUpdatePools",
824
- "outputs": [],
825
- "payable": false,
826
- "stateMutability": "nonpayable",
827
- "type": "function"
828
- },
829
- {
830
- "constant": true,
831
- "inputs": [
832
- {
833
- "internalType": "address",
834
- "name": "",
835
- "type": "address"
836
- }
837
- ],
838
- "name": "nonces",
839
- "outputs": [
840
- {
841
- "internalType": "uint256",
842
- "name": "",
843
- "type": "uint256"
844
- }
845
- ],
846
- "payable": false,
847
- "stateMutability": "view",
848
- "type": "function"
849
- },
850
- {
851
- "constant": true,
852
- "inputs": [
853
- {
854
- "internalType": "address",
855
- "name": "",
856
- "type": "address"
857
- }
858
- ],
859
- "name": "numCheckpoints",
860
- "outputs": [
861
- {
862
- "internalType": "uint32",
863
- "name": "",
864
- "type": "uint32"
865
- }
866
- ],
867
- "payable": false,
868
- "stateMutability": "view",
869
- "type": "function"
870
- },
871
- {
872
- "constant": true,
873
- "inputs": [],
874
- "name": "pendingAdmin",
875
- "outputs": [
876
- {
877
- "internalType": "address",
878
- "name": "",
879
- "type": "address"
880
- }
881
- ],
882
- "payable": false,
883
- "stateMutability": "view",
884
- "type": "function"
885
- },
886
- {
887
- "constant": true,
888
- "inputs": [
889
- {
890
- "internalType": "address",
891
- "name": "_rewardToken",
892
- "type": "address"
893
- },
894
- {
895
- "internalType": "uint256",
896
- "name": "_pid",
897
- "type": "uint256"
898
- },
899
- {
900
- "internalType": "address",
901
- "name": "_user",
902
- "type": "address"
903
- }
904
- ],
905
- "name": "pendingReward",
906
- "outputs": [
907
- {
908
- "internalType": "uint256",
909
- "name": "",
910
- "type": "uint256"
911
- }
912
- ],
913
- "payable": false,
914
- "stateMutability": "view",
915
- "type": "function"
916
- },
917
- {
918
- "constant": true,
919
- "inputs": [],
920
- "name": "pendingXVSVaultImplementation",
921
- "outputs": [
922
- {
923
- "internalType": "address",
924
- "name": "",
925
- "type": "address"
926
- }
927
- ],
928
- "payable": false,
929
- "stateMutability": "view",
930
- "type": "function"
931
- },
932
- {
933
- "constant": true,
934
- "inputs": [
935
- {
936
- "internalType": "address",
937
- "name": "",
938
- "type": "address"
939
- },
940
- {
941
- "internalType": "uint256",
942
- "name": "",
943
- "type": "uint256"
944
- }
945
- ],
946
- "name": "poolInfos",
947
- "outputs": [
948
- {
949
- "internalType": "contract IBEP20",
950
- "name": "token",
951
- "type": "address"
952
- },
953
- {
954
- "internalType": "uint256",
955
- "name": "allocPoint",
956
- "type": "uint256"
957
- },
958
- {
959
- "internalType": "uint256",
960
- "name": "lastRewardBlock",
961
- "type": "uint256"
962
- },
963
- {
964
- "internalType": "uint256",
965
- "name": "accRewardPerShare",
966
- "type": "uint256"
967
- },
968
- {
969
- "internalType": "uint256",
970
- "name": "lockPeriod",
971
- "type": "uint256"
972
- }
973
- ],
974
- "payable": false,
975
- "stateMutability": "view",
976
- "type": "function"
977
- },
978
- {
979
- "constant": true,
980
- "inputs": [
981
- {
982
- "internalType": "address",
983
- "name": "rewardToken",
984
- "type": "address"
985
- }
986
- ],
987
- "name": "poolLength",
988
- "outputs": [
989
- {
990
- "internalType": "uint256",
991
- "name": "",
992
- "type": "uint256"
993
- }
994
- ],
995
- "payable": false,
996
- "stateMutability": "view",
997
- "type": "function"
998
- },
999
- {
1000
- "constant": false,
1001
- "inputs": [
1002
- {
1003
- "internalType": "address",
1004
- "name": "_rewardToken",
1005
- "type": "address"
1006
- },
1007
- {
1008
- "internalType": "uint256",
1009
- "name": "_pid",
1010
- "type": "uint256"
1011
- },
1012
- {
1013
- "internalType": "uint256",
1014
- "name": "_amount",
1015
- "type": "uint256"
1016
- }
1017
- ],
1018
- "name": "requestWithdrawal",
1019
- "outputs": [],
1020
- "payable": false,
1021
- "stateMutability": "nonpayable",
1022
- "type": "function"
1023
- },
1024
- {
1025
- "constant": true,
1026
- "inputs": [
1027
- {
1028
- "internalType": "address",
1029
- "name": "",
1030
- "type": "address"
1031
- }
1032
- ],
1033
- "name": "rewardTokenAmountsPerBlock",
1034
- "outputs": [
1035
- {
1036
- "internalType": "uint256",
1037
- "name": "",
1038
- "type": "uint256"
1039
- }
1040
- ],
1041
- "payable": false,
1042
- "stateMutability": "view",
1043
- "type": "function"
1044
- },
1045
- {
1046
- "constant": false,
1047
- "inputs": [
1048
- {
1049
- "internalType": "address",
1050
- "name": "_rewardToken",
1051
- "type": "address"
1052
- },
1053
- {
1054
- "internalType": "uint256",
1055
- "name": "_pid",
1056
- "type": "uint256"
1057
- },
1058
- {
1059
- "internalType": "uint256",
1060
- "name": "_allocPoint",
1061
- "type": "uint256"
1062
- }
1063
- ],
1064
- "name": "set",
1065
- "outputs": [],
1066
- "payable": false,
1067
- "stateMutability": "nonpayable",
1068
- "type": "function"
1069
- },
1070
- {
1071
- "constant": false,
1072
- "inputs": [
1073
- {
1074
- "internalType": "address",
1075
- "name": "_rewardToken",
1076
- "type": "address"
1077
- },
1078
- {
1079
- "internalType": "uint256",
1080
- "name": "_rewardAmount",
1081
- "type": "uint256"
1082
- }
1083
- ],
1084
- "name": "setRewardAmountPerBlock",
1085
- "outputs": [],
1086
- "payable": false,
1087
- "stateMutability": "nonpayable",
1088
- "type": "function"
1089
- },
1090
- {
1091
- "constant": false,
1092
- "inputs": [
1093
- {
1094
- "internalType": "address",
1095
- "name": "_rewardToken",
1096
- "type": "address"
1097
- },
1098
- {
1099
- "internalType": "uint256",
1100
- "name": "_pid",
1101
- "type": "uint256"
1102
- },
1103
- {
1104
- "internalType": "uint256",
1105
- "name": "_newPeriod",
1106
- "type": "uint256"
1107
- }
1108
- ],
1109
- "name": "setWithdrawalLockingPeriod",
1110
- "outputs": [],
1111
- "payable": false,
1112
- "stateMutability": "nonpayable",
1113
- "type": "function"
1114
- },
1115
- {
1116
- "constant": false,
1117
- "inputs": [
1118
- {
1119
- "internalType": "address",
1120
- "name": "_xvs",
1121
- "type": "address"
1122
- },
1123
- {
1124
- "internalType": "address",
1125
- "name": "_xvsStore",
1126
- "type": "address"
1127
- }
1128
- ],
1129
- "name": "setXvsStore",
1130
- "outputs": [],
1131
- "payable": false,
1132
- "stateMutability": "nonpayable",
1133
- "type": "function"
1134
- },
1135
- {
1136
- "constant": true,
1137
- "inputs": [
1138
- {
1139
- "internalType": "address",
1140
- "name": "",
1141
- "type": "address"
1142
- }
1143
- ],
1144
- "name": "totalAllocPoints",
1145
- "outputs": [
1146
- {
1147
- "internalType": "uint256",
1148
- "name": "",
1149
- "type": "uint256"
1150
- }
1151
- ],
1152
- "payable": false,
1153
- "stateMutability": "view",
1154
- "type": "function"
1155
- },
1156
- {
1157
- "constant": false,
1158
- "inputs": [
1159
- {
1160
- "internalType": "address",
1161
- "name": "_rewardToken",
1162
- "type": "address"
1163
- },
1164
- {
1165
- "internalType": "uint256",
1166
- "name": "_pid",
1167
- "type": "uint256"
1168
- }
1169
- ],
1170
- "name": "updatePool",
1171
- "outputs": [],
1172
- "payable": false,
1173
- "stateMutability": "nonpayable",
1174
- "type": "function"
1175
- },
1176
- {
1177
- "constant": true,
1178
- "inputs": [],
1179
- "name": "xvsAddress",
1180
- "outputs": [
1181
- {
1182
- "internalType": "address",
1183
- "name": "",
1184
- "type": "address"
1185
- }
1186
- ],
1187
- "payable": false,
1188
- "stateMutability": "view",
1189
- "type": "function"
1190
- },
1191
- {
1192
- "constant": true,
1193
- "inputs": [],
1194
- "name": "xvsStore",
1195
- "outputs": [
1196
- {
1197
- "internalType": "address",
1198
- "name": "",
1199
- "type": "address"
1200
- }
1201
- ],
1202
- "payable": false,
1203
- "stateMutability": "view",
1204
- "type": "function"
1205
- }
1206
- ],
1207
- "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055613b5f806100326000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c80637ac9245611610130578063a09eab7a116100b8578063de0368b21161007c578063de0368b2146104c9578063e7a324dc146104d1578063f1127ed8146104d9578063f851a440146104fa578063fba1b1f91461050257610232565b8063a09eab7a1461045d578063b4b5ea5714610470578063c210259614610483578063c3cda520146104a3578063d7ae45e2146104b657610232565b80638ed7333d116100ff5780638ed7333d146103de57806392e35000146103f157806393c7c4d11461041557806398e1b31b146104285780639e2b6c4d1461044a57610232565b80637ac924561461039d5780637ecebe00146103b057806381bdf98c146103c35780638308d7e9146103cb57610232565b80634298bdbd116101be5780635ff56315116101825780635ff563151461032f5780636dd77cbd146103425780636e9960c3146103555780636fcfff451461035d578063782d6fe11461037d57610232565b80634298bdbd146102db5780635362b503146102ee578063587cde1e146103015780635c19a95c146103145780635c60da1b1461032757610232565b806320606b701161020557806320606b701461029b57806324f52bbf146102a357806326782247146102b85780632eda5c6c146102c0578063358ae036146102d357610232565b80630af13728146102375780630efe6a8b14610260578063115b512f146102755780631d504dc614610288575b600080fd5b61024a610245366004612b9c565b610515565b60405161025791906136ca565b60405180910390f35b61027361026e366004612c5e565b61055b565b005b610273610283366004612c5e565b6107b9565b610273610296366004612d76565b61099b565b61024a610acf565b6102ab610ae6565b60405161025791906135f4565b6102ab610af5565b61024a6102ce366004612af6565b610b04565b6102ab610b16565b61024a6102e9366004612af6565b610b25565b6102736102fc366004612af6565b610b37565b6102ab61030f366004612af6565b610b71565b610273610322366004612af6565b610b8c565b6102ab610b96565b61027361033d366004612b32565b610ba5565b61024a610350366004612b9c565b610c5d565b6102ab610d12565b61037061036b366004612af6565b610d21565b6040516102579190613956565b61039061038b366004612b6c565b610d39565b604051610257919061397f565b6102736103ab366004612b6c565b610f48565b61024a6103be366004612af6565b611167565b610273611179565b6102736103d9366004612c5e565b6111ed565b6102736103ec366004612b6c565b61134b565b6104046103ff366004612b6c565b611363565b604051610257959493929190613750565b610273610423366004612b6c565b6113b8565b61043b610436366004612b9c565b61144c565b6040516102579392919061393b565b610273610458366004612c5e565b61149e565b61024a61046b366004612b9c565b611574565b61039061047e366004612af6565b61175d565b610496610491366004612b9c565b6117d0565b60405161025791906136b9565b6102736104b1366004612ca1565b611876565b61024a6104c4366004612af6565b6119f7565b6102ab611a12565b61024a611a21565b6104ec6104e7366004612d28565b611a2d565b604051610257929190613964565b6102ab611a62565b610273610510366004612be9565b611a71565b60006105218484611cc2565b506001600160a01b0380841660009081526007602090815260408083208684528252808320938516835292905220600201545b9392505050565b600354600160a01b900460ff1661058d5760405162461bcd60e51b81526004016105849061387d565b60405180910390fd5b6003805460ff60a01b191690556105a48383611cc2565b6001600160a01b03831660009081526008602052604081208054849081106105c857fe5b600091825260208083206001600160a01b0388168452600782526040808520888652835280852033865290925292206005909102909101915061060b8585611cf9565b8054156106c0576000610658826001015461064c64e8d4a5100061064087600301548760000154611e7c90919063ffffffff16565b9063ffffffff611eb616565b9063ffffffff611ef816565b6004805460405163135b33cd60e31b81529293506001600160a01b031691639ad99e689161068c918a913391879101613602565b600060405180830381600087803b1580156106a657600080fd5b505af11580156106ba573d6000803e3d6000fd5b50505050505b81546106dd906001600160a01b031633308663ffffffff611f3a16565b80546106ef908463ffffffff611f9b16565b80825560038301546107129164e8d4a5100091610640919063ffffffff611e7c16565b600182015560055482546001600160a01b039081169116141561075357336000908152600f602052604081205461075391906001600160a01b031685611fc0565b83856001600160a01b0316336001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78660405161079791906136ca565b60405180910390a450506003805460ff60a01b1916600160a01b179055505050565b600354600160a01b900460ff166107e25760405162461bcd60e51b81526004016105849061387d565b6003805460ff60a01b191690556107f98383611cc2565b600081116108195760405162461bcd60e51b81526004016105849061385d565b6001600160a01b0383166000908152600760209081526040808320858452825280832033845290915290206002810154610859908363ffffffff611f9b16565b815410156108795760405162461bcd60e51b81526004016105849061390d565b6001600160a01b038416600090815260086020526040812080548590811061089d57fe5b600091825260208083206001600160a01b0389168452600a8252604080852089865283528085203386529092529083206005929092020160048101549093509091906108e99042611f9b565b90506108f784838784612152565b6005546001600160a01b038881169116141561093357336000908152600f6020526040812054610933916001600160a01b039091169087611fc0565b85876001600160a01b0316336001600160a01b03167fc0863fcc3a3b119da683cc8d57bce56f78d0d373c023726dea2aaf6ce3f837ac8860405161097791906136ca565b60405180910390a450506003805460ff60a01b1916600160a01b1790555050505050565b806001600160a01b031663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b1580156109d457600080fd5b505afa1580156109e8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a0c9190810190612b14565b6001600160a01b0316336001600160a01b031614610a3c5760405162461bcd60e51b81526004016105849061391d565b806001600160a01b031663c1e803346040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a7757600080fd5b505af1158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aaf9190810190612d94565b15610acc5760405162461bcd60e51b8152600401610584906138bd565b50565b604051610adb906135de565b604051809103902081565b6004546001600160a01b031681565b6001546001600160a01b031681565b60066020526000908152604090205481565b6005546001600160a01b031681565b60096020526000908152604090205481565b6001600160a01b038116600090815260086020526040812054905b81811015610b6c57610b648382611cf9565b600101610b52565b505050565b600f602052600090815260409020546001600160a01b031681565b610acc338261227c565b6002546001600160a01b031681565b6000546001600160a01b03163314610bcf5760405162461bcd60e51b81526004016105849061389d565b60058054600480546001600160a01b03198084166001600160a01b038881169190911790955581168585161790915560038054600160a01b60ff60a01b199091161790556040519183169216907f559f314bb90394a4a9ceb724f365b36a53587d894352c43d12901fd68010145690610c4f90849084908890889061362a565b60405180910390a150505050565b6000610c698484611cc2565b6001600160a01b038085166000908152600a60209081526040808320878452825280832093861683529290522080545b600081118015610cc95750610cc9826001830381548110610cb657fe5b906000526020600020906002020161230b565b15610d0957610cfe826001830381548110610ce057fe5b6000918252602090912060029091020154849063ffffffff611f9b16565b925060001901610c99565b50509392505050565b6000546001600160a01b031690565b60116020526000908152604090205463ffffffff1681565b6000438210610d5a5760405162461bcd60e51b81526004016105849061383d565b6001600160a01b03831660009081526011602052604090205463ffffffff1680610d88576000915050610f42565b6001600160a01b038416600090815260106020908152604080832063ffffffff600019860181168552925290912054168310610e04576001600160a01b03841660009081526010602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b03169050610f42565b6001600160a01b038416600090815260106020908152604080832083805290915290205463ffffffff16831015610e3f576000915050610f42565b600060001982015b8163ffffffff168163ffffffff161115610f0257600282820363ffffffff16048103610e71612a87565b506001600160a01b038716600090815260106020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b03169181019190915290871415610edd57602001519450610f429350505050565b805163ffffffff16871115610ef457819350610efb565b6001820392505b5050610e47565b506001600160a01b038516600090815260106020908152604080832063ffffffff909416835292905220546001600160601b03600160201b909104169150505b92915050565b600354600160a01b900460ff16610f715760405162461bcd60e51b81526004016105849061387d565b6003805460ff60a01b19169055610f888282611cc2565b6001600160a01b0382166000908152600860205260408120805483908110610fac57fe5b600091825260208083206001600160a01b038716808552600783526040808620888752845280862033808852908552818720928752600a8552818720898852855281872090875290935291842060059093020193509161100c8383612315565b90506000811161102e5760405162461bcd60e51b8152600401610584906138cd565b6110388686611cf9565b6000611066846001015461064c64e8d4a5100061064089600301548960000154611e7c90919063ffffffff16565b6004805460405163135b33cd60e31b81529293506001600160a01b031691639ad99e689161109a918b913391879101613602565b600060405180830381600087803b1580156110b457600080fd5b505af11580156110c8573d6000803e3d6000fd5b505085546110df925090508363ffffffff611ef816565b80855560038601546111029164e8d4a5100091610640919063ffffffff611e7c16565b60018501558454611123906001600160a01b0316338463ffffffff6123c316565b85876001600160a01b0316336001600160a01b03167fe31da05fae6db869f5ea51f4b638aa6884070b6c87f18f63bd2291a12cb2f5188560405161097791906136ca565b600e6020526000908152604090205481565b6000546001600160a01b031633146111a35760405162461bcd60e51b81526004016105849061389d565b600080546040516001600160a01b03909116907ff8ccb027dfcd135e000e9d45e6cc2d662578a8825d4c45b5e32e0adf67e79ec6908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146112175760405162461bcd60e51b81526004016105849061389d565b6112218383611cc2565b61122a83610b37565b6001600160a01b038316600090815260086020526040902080546112a09083906112949084908790811061125a57fe5b60009182526020808320600160059093020191909101546001600160a01b038a16835260099091526040909120549063ffffffff611ef816565b9063ffffffff611f9b16565b6001600160a01b03851660009081526009602052604081209190915581548290859081106112ca57fe5b9060005260206000209060050201600101549050828285815481106112eb57fe5b90600052602060002090600502016001018190555083856001600160a01b03167f6ee09c6cb801194690c195c69f465aaf7c80255cbeafaab9600f47ed79de2ca9838660405161133c92919061392d565b60405180910390a35050505050565b6113558282611cc2565b61135f8282611cf9565b5050565b6008602052816000526040600020818154811061137c57fe5b6000918252602090912060059091020180546001820154600283015460038401546004909401546001600160a01b039093169550909350919085565b6000546001600160a01b031633146113e25760405162461bcd60e51b81526004016105849061389d565b6113eb82610b37565b6001600160a01b0382166000818152600660205260409081902080549084905590519091907fad96cee0d692f0250b98e085504f399da6733854908215f6203fe3c69366d9f59061143f908490869061392d565b60405180910390a2505050565b600080600061145b8686611cc2565b5050506001600160a01b03928316600090815260076020908152604080832094835293815283822092909416815292529020805460018201546002909201549092565b6000546001600160a01b031633146114c85760405162461bcd60e51b81526004016105849061389d565b6114d28383611cc2565b600081116114f25760405162461bcd60e51b8152600401610584906138dd565b6001600160a01b038316600090815260086020526040812080548490811061151657fe5b9060005260206000209060050201905060008160040154905082826004018190555083856001600160a01b03167f0bcf80c5060ccf99b7a993c57a94b232fc2c5c04bd74c7c7d174595fee6bc31f838660405161133c92919061392d565b60006115808484611cc2565b6001600160a01b03841660009081526008602052604081208054859081106115a457fe5b600091825260208083206001600160a01b0389811685526007835260408086208a8752845280862089831687529093528285206005949094029091016003810154815493516370a0823160e01b8152919650939492909116906370a08231906116119030906004016135f4565b60206040518083038186803b15801561162957600080fd5b505afa15801561163d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116619190810190612d94565b6001600160a01b038916600090815260066020526040902054600286015491925043918211801561169157508215155b156117275760006116af876002015484611ef890919063ffffffff16565b6001600160a01b038c1660009081526009602052604081205460018a015492935090916116f79190610640906116eb868863ffffffff611e7c16565b9063ffffffff611e7c16565b9050611722611715866106408464e8d4a5100063ffffffff611e7c16565b879063ffffffff611f9b16565b955050505b61174f856001015461064c64e8d4a51000610640888a60000154611e7c90919063ffffffff16565b9a9950505050505050505050565b6001600160a01b03811660009081526011602052604081205463ffffffff16806117885760006117c7565b6001600160a01b0383166000908152601060209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03165b9150505b919050565b60606117dc8484611cc2565b6001600160a01b038085166000908152600a602090815260408083208784528252808320938616835292815282822080548451818402810184019095528085529092909184015b8282101561186957838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190611823565b5050505090509392505050565b6000604051611884906135de565b604080519182900382208282019091526008825267161594d5985d5b1d60c21b6020909201919091527fddfcc46608a8bd52ebf900f03a24cc97b73a6046cec8c5d0f74a211e376e967a6118d66123e5565b306040516020016118ea949392919061370d565b6040516020818303038152906040528051906020012090506000604051611910906135e9565b60405190819003812061192b918a908a908a906020016136d8565b604051602081830303815290604052805190602001209050600082826040516020016119589291906135ad565b604051602081830303815290604052805190602001209050600061197e828888886123e9565b6001600160a01b0381166000908152600e6020526040902080546001810190915590915089146119c05760405162461bcd60e51b81526004016105849061380d565b874211156119e05760405162461bcd60e51b8152600401610584906137fd565b6119ea818b61227c565b505050505b505050505050565b6001600160a01b031660009081526008602052604090205490565b6003546001600160a01b031681565b604051610adb906135e9565b601060209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b6000546001600160a01b031681565b6000546001600160a01b03163314611a9b5760405162461bcd60e51b81526004016105849061389d565b6004546001600160a01b0316611ac35760405162461bcd60e51b8152600401610584906138ad565b611acc85610b37565b6001600160a01b0385166000908152600860205260408120805490915b81811015611b4757856001600160a01b0316838281548110611b0757fe5b60009182526020909120600590910201546001600160a01b03161415611b3f5760405162461bcd60e51b81526004016105849061388d565b600101611ae9565b506001600160a01b038716600090815260096020526040902054611b71908763ffffffff611f9b16565b6001600160a01b0388811660009081526009602090815260408083209490945560068152838220889055835160a08101855289841681528082018b81524382870190815260608301858152608084018b81528a5460018082018d558c8952969097209451600590970290940180546001600160a01b031916968816969096178655915185850155516002850155516003840155516004928301558154935163fb66fb4d60e01b8152939092169263fb66fb4d92611c30928c9201613683565b600060405180830381600087803b158015611c4a57600080fd5b505af1158015611c5e573d6000803e3d6000fd5b50505050846001600160a01b03166001838054905003886001600160a01b03167fd7fa4bff1cd2253c0789c3291a786a6f6b1a3b4569a75af683a15d52abb6a0bf898888604051611cb19392919061393b565b60405180910390a450505050505050565b6001600160a01b038216600090815260086020526040902054811061135f5760405162461bcd60e51b8152600401610584906137bd565b6001600160a01b0382166000908152600860205260408120805483908110611d1d57fe5b9060005260206000209060050201905080600201544311611d3e575061135f565b80546040516370a0823160e01b81526000916001600160a01b0316906370a0823190611d6e9030906004016135f4565b60206040518083038186803b158015611d8657600080fd5b505afa158015611d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dbe9190810190612d94565b905080611dd257504360029091015561135f565b60028201544390600090611ded90839063ffffffff611ef816565b6001600160a01b03871660009081526009602090815260408083205460018901546006909352908320549394509192611e369291610640916116eb90879063ffffffff611e7c16565b9050611e65611e54856106408464e8d4a5100063ffffffff611e7c16565b60038701549063ffffffff611f9b16565b600386015550504360029093019290925550505050565b600082611e8b57506000610f42565b82820282848281611e9857fe5b04146105545760405162461bcd60e51b81526004016105849061386d565b600061055483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612413565b600061055483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061244a565b604051611f959085906323b872dd60e01b90611f5e90879087908790602401613668565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612476565b50505050565b6000828201838110156105545760405162461bcd60e51b81526004016105849061381d565b816001600160a01b0316836001600160a01b031614158015611feb57506000816001600160601b0316115b15610b6c576001600160a01b038316156120a3576001600160a01b03831660009081526011602052604081205463ffffffff16908161202b57600061206a565b6001600160a01b0385166000908152601060209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061209182856040518060600160405280602c8152602001613af1602c913961255b565b905061209f86848484612592565b5050505b6001600160a01b03821615610b6c576001600160a01b03821660009081526011602052604081205463ffffffff1690816120de57600061211d565b6001600160a01b0384166000908152601060209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061214482856040518060600160405280602b8152602001613a8e602b9139612747565b90506119ef85848484612592565b82546040805180820190915260008082526020808301828152600180860189558884529190922092516002850290930192835590519101555b6000811180156121bb5750818460018303815481106121a657fe5b90600052602060002090600202016001015411155b15612210578360018203815481106121cf57fe5b90600052602060002090600202018482815481106121e957fe5b6000918252602090912082546002909202019081556001918201549101556000190161218b565b60405180604001604052808481526020018381525084828154811061223157fe5b9060005260206000209060020201600082015181600001556020820151816001015590505061226d838660020154611f9b90919063ffffffff16565b85600201819055505050505050565b6001600160a01b038083166000908152600f6020526040812054909116906122a384612783565b6001600160a01b038581166000818152600f602052604080822080546001600160a01b031916898616908117909155905194955093928616927f0cc323ffec3ea49cbcddc0de1480978126d350c6a45dff33ad2f1cda6ae992619190a4611f95828483611fc0565b6001015442101590565b80546000905b6000811180156123385750612338836001830381548110610cb657fe5b156123a25761236d83600183038154811061234f57fe5b6000918252602090912060029091020154839063ffffffff611f9b16565b91508280548061237957fe5b60008281526020812060001992830160028102909101828155600101919091559091550161231b565b5060028301546123b8908263ffffffff611ef816565b600284015592915050565b604051610b6c90849063a9059cbb60e01b90611f5e908690869060240161369e565b4690565b60008060006123fa87878787612876565b9150915061240781612956565b5090505b949350505050565b600081836124345760405162461bcd60e51b8152600401610584919061379c565b50600083858161244057fe5b0495945050505050565b6000818484111561246e5760405162461bcd60e51b8152600401610584919061379c565b505050900390565b612488826001600160a01b0316612a1f565b6124a45760405162461bcd60e51b8152600401610584906138fd565b60006060836001600160a01b0316836040516124c091906135a1565b6000604051808303816000865af19150503d80600081146124fd576040519150601f19603f3d011682016040523d82523d6000602084013e612502565b606091505b5091509150816125245760405162461bcd60e51b8152600401610584906138ed565b805115611f95578080602001905161253f9190810190612d58565b611f955760405162461bcd60e51b8152600401610584906137ed565b6000836001600160601b0316836001600160601b03161115829061246e5760405162461bcd60e51b8152600401610584919061379c565b60006125b643604051806060016040528060388152602001613ab960389139612a58565b905060008463ffffffff161180156125ff57506001600160a01b038516600090815260106020908152604080832063ffffffff6000198901811685529252909120548282169116145b1561265e576001600160a01b0385166000908152601060209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b038516021790556126fd565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152601083528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252601190935292909220805460018801909316929091169190911790555b846001600160a01b03167f6adb589fed1e8542fb7a6b10f00a85e02265e77f9ae3ca8ff93b22983e1af9a0848460405161273892919061398d565b60405180910390a25050505050565b6000838301826001600160601b03808716908316101561277a5760405162461bcd60e51b8152600401610584919061379c565b50949350505050565b6005546000906001600160a01b03166127ae5760405162461bcd60e51b8152600401610584906137dd565b6005546001600160a01b03166000908152600860205260408120805490915b8181101561286b5760055483546001600160a01b03909116908490839081106127f257fe5b60009182526020909120600590910201546001600160a01b03161415612863576005546001600160a01b0390811660009081526007602090815260408083208584528252808320938916835292905220600281015481546128589163ffffffff611ef816565b9450505050506117cb565b6001016127cd565b506000949350505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156128ad575060009050600361294d565b8460ff16601b141580156128c557508460ff16601c14155b156128d6575060009050600461294d565b6000600187878787604051600081526020016040526040516128fb9493929190613735565b6020604051602081039080840390855afa15801561291d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166129465750600091506001905061294d565b9150600090505b94509492505050565b600081600481111561296457fe5b141561296f57610acc565b600181600481111561297d57fe5b141561299b5760405162461bcd60e51b8152600401610584906137ad565b60028160048111156129a957fe5b14156129c75760405162461bcd60e51b8152600401610584906137cd565b60038160048111156129d557fe5b14156129f35760405162461bcd60e51b81526004016105849061382d565b6004816004811115612a0157fe5b1415610acc5760405162461bcd60e51b81526004016105849061384d565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061240b575050151592915050565b600081600160201b8410612a7f5760405162461bcd60e51b8152600401610584919061379c565b509192915050565b604080518082019091526000808252602082015290565b8035610f4281613a4c565b8051610f4281613a4c565b8051610f4281613a60565b8035610f4281613a69565b8035610f4281613a72565b8051610f4281613a69565b8035610f4281613a7b565b8035610f4281613a84565b600060208284031215612b0857600080fd5b600061240b8484612a9e565b600060208284031215612b2657600080fd5b600061240b8484612aa9565b60008060408385031215612b4557600080fd5b6000612b518585612a9e565b9250506020612b6285828601612a9e565b9150509250929050565b60008060408385031215612b7f57600080fd5b6000612b8b8585612a9e565b9250506020612b6285828601612abf565b600080600060608486031215612bb157600080fd5b6000612bbd8686612a9e565b9350506020612bce86828701612abf565b9250506040612bdf86828701612a9e565b9150509250925092565b600080600080600060a08688031215612c0157600080fd5b6000612c0d8888612a9e565b9550506020612c1e88828901612abf565b9450506040612c2f88828901612aca565b9350506060612c4088828901612abf565b9250506080612c5188828901612abf565b9150509295509295909350565b600080600060608486031215612c7357600080fd5b6000612c7f8686612a9e565b9350506020612c9086828701612abf565b9250506040612bdf86828701612abf565b60008060008060008060c08789031215612cba57600080fd5b6000612cc68989612a9e565b9650506020612cd789828a01612abf565b9550506040612ce889828a01612abf565b9450506060612cf989828a01612aeb565b9350506080612d0a89828a01612abf565b92505060a0612d1b89828a01612abf565b9150509295509295509295565b60008060408385031215612d3b57600080fd5b6000612d478585612a9e565b9250506020612b6285828601612ae0565b600060208284031215612d6a57600080fd5b600061240b8484612ab4565b600060208284031215612d8857600080fd5b600061240b8484612aca565b600060208284031215612da657600080fd5b600061240b8484612ad5565b6000612dbe8383613559565b505060400190565b612dcf81613a00565b82525050565b612dcf816139bb565b6000612de9826139ae565b612df381856139b2565b9350612dfe836139a8565b8060005b83811015612e2c578151612e168882612db2565b9750612e21836139a8565b925050600101612e02565b509495945050505050565b612dcf816139c6565b612dcf816139cb565b612dcf612e55826139cb565b6139cb565b6000612e65826139ae565b612e6f81856117cb565b9350612e7f818560208601613a16565b9290920192915050565b612dcf816139ce565b6000612e9d826139ae565b612ea781856139b2565b9350612eb7818560208601613a16565b612ec081613a42565b9093019392505050565b6000612ed76018836139b2565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000815260200192915050565b6000612f106013836139b2565b727661756c743a20706f6f6c206578697374733f60681b815260200192915050565b6000612f3f601f836139b2565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800815260200192915050565b6000612f786030836139b2565b7f5856535661756c743a3a6765745374616b65416d6f756e743a2078767320616481526f191c995cdcc81a5cc81b9bdd081cd95d60821b602082015260400192915050565b6000612fca602a836139b2565b7f5361666542455032303a204245503230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613016602a836139b2565b7f5856535661756c743a3a64656c656761746542795369673a207369676e6174758152691c9948195e1c1a5c995960b21b602082015260400192915050565b60006130626026836139b2565b7f5856535661756c743a3a64656c656761746542795369673a20696e76616c6964815265206e6f6e636560d01b602082015260400192915050565b60006130aa6002836117cb565b61190160f01b815260020192915050565b60006130c8601b836139b2565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006131016022836139b2565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c815261756560f01b602082015260400192915050565b6000613145602b836139b2565b7f5856535661756c743a3a6765745072696f72566f7465733a206e6f742079657481526a0819195d195c9b5a5b995960aa1b602082015260400192915050565b60006131926022836139b2565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c815261756560f01b602082015260400192915050565b60006131d66043836117cb565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b6000613241601f836139b2565b7f72657175657374656420616d6f756e742063616e6e6f74206265207a65726f00815260200192915050565b600061327a6021836139b2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006132bd600a836139b2565b691c994b595b9d195c995960b21b815260200192915050565b60006132e36018836139b2565b7f4572726f7220706f6f6c20616c72656164792061646465640000000000000000815260200192915050565b600061331c600e836139b2565b6d37b7363c9030b236b4b71031b0b760911b815260200192915050565b6000613346601e836139b2565b7f53746f726520636f6e74726163742061646472657320697320656d7074790000815260200192915050565b600061337f6015836139b2565b7418da185b99d9481b9bdd08185d5d1a1bdc9a5e9959605a1b815260200192915050565b60006133b06013836139b2565b726e6f7468696e6720746f20776974686472617760681b815260200192915050565b60006133df601a836139b2565b7f496e76616c6964206e6577206c6f636b696e6720706572696f64000000000000815260200192915050565b60006134186020836139b2565b7f5361666542455032303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000613451603a836117cb565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0192915050565b60006134b0601f836139b2565b7f5361666542455032303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b60006134e9601b836139b2565b7f72657175657374656420616d6f756e7420697320696e76616c69640000000000815260200192915050565b60006135226022836139b2565b7f6f6e6c792070726f78792061646d696e2063616e206368616e676520627261698152616e7360f01b602082015260400192915050565b8051604083019061356a8482612e40565b506020820151611f956020850182612e40565b612dcf816139e5565b612dcf816139ee565b612dcf81613a0b565b612dcf816139f4565b60006105548284612e5a565b60006135b88261309d565b91506135c48285612e49565b6020820191506135d48284612e49565b5060200192915050565b6000610f42826131c9565b6000610f4282613444565b60208101610f428284612dd5565b606081016136108286612dd5565b61361d6020830185612dc6565b61240b6040830184612e40565b608081016136388287612dd5565b6136456020830186612dd5565b6136526040830185612dd5565b61365f6060830184612dd5565b95945050505050565b606081016136768286612dd5565b61361d6020830185612dd5565b604081016136918285612dd5565b6105546020830184612e37565b604081016136ac8285612dd5565b6105546020830184612e40565b602080825281016105548184612dde565b60208101610f428284612e40565b608081016136e68287612e40565b6136f36020830186612dd5565b6137006040830185612e40565b61365f6060830184612e40565b6080810161371b8287612e40565b6137286020830186612e40565b6136526040830185612e40565b608081016137438287612e40565b6136f36020830186613586565b60a0810161375e8288612e89565b61376b6020830187612e40565b6137786040830186612e40565b6137856060830185612e40565b6137926080830184612e40565b9695505050505050565b602080825281016105548184612e92565b60208082528101610f4281612eca565b60208082528101610f4281612f03565b60208082528101610f4281612f32565b60208082528101610f4281612f6b565b60208082528101610f4281612fbd565b60208082528101610f4281613009565b60208082528101610f4281613055565b60208082528101610f42816130bb565b60208082528101610f42816130f4565b60208082528101610f4281613138565b60208082528101610f4281613185565b60208082528101610f4281613234565b60208082528101610f428161326d565b60208082528101610f42816132b0565b60208082528101610f42816132d6565b60208082528101610f428161330f565b60208082528101610f4281613339565b60208082528101610f4281613372565b60208082528101610f42816133a3565b60208082528101610f42816133d2565b60208082528101610f428161340b565b60208082528101610f42816134a3565b60208082528101610f42816134dc565b60208082528101610f4281613515565b604081016136ac8285612e40565b606081016139498286612e40565b61361d6020830185612e40565b60208101610f42828461357d565b60408101613972828561357d565b6105546020830184613598565b60208101610f428284613598565b6040810161399b828561358f565b610554602083018461358f565b60200190565b5190565b90815260200190565b6000610f42826139d9565b151590565b90565b6000610f42826139bb565b6001600160a01b031690565b63ffffffff1690565b60ff1690565b6001600160601b031690565b6000610f42826139ce565b6000610f42826139f4565b60005b83811015613a31578181015183820152602001613a19565b83811115611f955750506000910152565b601f01601f191690565b613a55816139bb565b8114610acc57600080fd5b613a55816139c6565b613a55816139cb565b613a55816139ce565b613a55816139e5565b613a55816139ee56fe5856535661756c743a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f77735856535661756c743a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d626572206578636565647320333220626974735856535661756c743a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773a365627a7a72315820204c5a24c5bde456fd1d8aa1c93c28f19fc990c6e367cee72951fa6ec81a18ab6c6578706572696d656e74616cf564736f6c63430005100040",
1208
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102325760003560e01c80637ac9245611610130578063a09eab7a116100b8578063de0368b21161007c578063de0368b2146104c9578063e7a324dc146104d1578063f1127ed8146104d9578063f851a440146104fa578063fba1b1f91461050257610232565b8063a09eab7a1461045d578063b4b5ea5714610470578063c210259614610483578063c3cda520146104a3578063d7ae45e2146104b657610232565b80638ed7333d116100ff5780638ed7333d146103de57806392e35000146103f157806393c7c4d11461041557806398e1b31b146104285780639e2b6c4d1461044a57610232565b80637ac924561461039d5780637ecebe00146103b057806381bdf98c146103c35780638308d7e9146103cb57610232565b80634298bdbd116101be5780635ff56315116101825780635ff563151461032f5780636dd77cbd146103425780636e9960c3146103555780636fcfff451461035d578063782d6fe11461037d57610232565b80634298bdbd146102db5780635362b503146102ee578063587cde1e146103015780635c19a95c146103145780635c60da1b1461032757610232565b806320606b701161020557806320606b701461029b57806324f52bbf146102a357806326782247146102b85780632eda5c6c146102c0578063358ae036146102d357610232565b80630af13728146102375780630efe6a8b14610260578063115b512f146102755780631d504dc614610288575b600080fd5b61024a610245366004612b9c565b610515565b60405161025791906136ca565b60405180910390f35b61027361026e366004612c5e565b61055b565b005b610273610283366004612c5e565b6107b9565b610273610296366004612d76565b61099b565b61024a610acf565b6102ab610ae6565b60405161025791906135f4565b6102ab610af5565b61024a6102ce366004612af6565b610b04565b6102ab610b16565b61024a6102e9366004612af6565b610b25565b6102736102fc366004612af6565b610b37565b6102ab61030f366004612af6565b610b71565b610273610322366004612af6565b610b8c565b6102ab610b96565b61027361033d366004612b32565b610ba5565b61024a610350366004612b9c565b610c5d565b6102ab610d12565b61037061036b366004612af6565b610d21565b6040516102579190613956565b61039061038b366004612b6c565b610d39565b604051610257919061397f565b6102736103ab366004612b6c565b610f48565b61024a6103be366004612af6565b611167565b610273611179565b6102736103d9366004612c5e565b6111ed565b6102736103ec366004612b6c565b61134b565b6104046103ff366004612b6c565b611363565b604051610257959493929190613750565b610273610423366004612b6c565b6113b8565b61043b610436366004612b9c565b61144c565b6040516102579392919061393b565b610273610458366004612c5e565b61149e565b61024a61046b366004612b9c565b611574565b61039061047e366004612af6565b61175d565b610496610491366004612b9c565b6117d0565b60405161025791906136b9565b6102736104b1366004612ca1565b611876565b61024a6104c4366004612af6565b6119f7565b6102ab611a12565b61024a611a21565b6104ec6104e7366004612d28565b611a2d565b604051610257929190613964565b6102ab611a62565b610273610510366004612be9565b611a71565b60006105218484611cc2565b506001600160a01b0380841660009081526007602090815260408083208684528252808320938516835292905220600201545b9392505050565b600354600160a01b900460ff1661058d5760405162461bcd60e51b81526004016105849061387d565b60405180910390fd5b6003805460ff60a01b191690556105a48383611cc2565b6001600160a01b03831660009081526008602052604081208054849081106105c857fe5b600091825260208083206001600160a01b0388168452600782526040808520888652835280852033865290925292206005909102909101915061060b8585611cf9565b8054156106c0576000610658826001015461064c64e8d4a5100061064087600301548760000154611e7c90919063ffffffff16565b9063ffffffff611eb616565b9063ffffffff611ef816565b6004805460405163135b33cd60e31b81529293506001600160a01b031691639ad99e689161068c918a913391879101613602565b600060405180830381600087803b1580156106a657600080fd5b505af11580156106ba573d6000803e3d6000fd5b50505050505b81546106dd906001600160a01b031633308663ffffffff611f3a16565b80546106ef908463ffffffff611f9b16565b80825560038301546107129164e8d4a5100091610640919063ffffffff611e7c16565b600182015560055482546001600160a01b039081169116141561075357336000908152600f602052604081205461075391906001600160a01b031685611fc0565b83856001600160a01b0316336001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78660405161079791906136ca565b60405180910390a450506003805460ff60a01b1916600160a01b179055505050565b600354600160a01b900460ff166107e25760405162461bcd60e51b81526004016105849061387d565b6003805460ff60a01b191690556107f98383611cc2565b600081116108195760405162461bcd60e51b81526004016105849061385d565b6001600160a01b0383166000908152600760209081526040808320858452825280832033845290915290206002810154610859908363ffffffff611f9b16565b815410156108795760405162461bcd60e51b81526004016105849061390d565b6001600160a01b038416600090815260086020526040812080548590811061089d57fe5b600091825260208083206001600160a01b0389168452600a8252604080852089865283528085203386529092529083206005929092020160048101549093509091906108e99042611f9b565b90506108f784838784612152565b6005546001600160a01b038881169116141561093357336000908152600f6020526040812054610933916001600160a01b039091169087611fc0565b85876001600160a01b0316336001600160a01b03167fc0863fcc3a3b119da683cc8d57bce56f78d0d373c023726dea2aaf6ce3f837ac8860405161097791906136ca565b60405180910390a450506003805460ff60a01b1916600160a01b1790555050505050565b806001600160a01b031663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b1580156109d457600080fd5b505afa1580156109e8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a0c9190810190612b14565b6001600160a01b0316336001600160a01b031614610a3c5760405162461bcd60e51b81526004016105849061391d565b806001600160a01b031663c1e803346040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a7757600080fd5b505af1158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aaf9190810190612d94565b15610acc5760405162461bcd60e51b8152600401610584906138bd565b50565b604051610adb906135de565b604051809103902081565b6004546001600160a01b031681565b6001546001600160a01b031681565b60066020526000908152604090205481565b6005546001600160a01b031681565b60096020526000908152604090205481565b6001600160a01b038116600090815260086020526040812054905b81811015610b6c57610b648382611cf9565b600101610b52565b505050565b600f602052600090815260409020546001600160a01b031681565b610acc338261227c565b6002546001600160a01b031681565b6000546001600160a01b03163314610bcf5760405162461bcd60e51b81526004016105849061389d565b60058054600480546001600160a01b03198084166001600160a01b038881169190911790955581168585161790915560038054600160a01b60ff60a01b199091161790556040519183169216907f559f314bb90394a4a9ceb724f365b36a53587d894352c43d12901fd68010145690610c4f90849084908890889061362a565b60405180910390a150505050565b6000610c698484611cc2565b6001600160a01b038085166000908152600a60209081526040808320878452825280832093861683529290522080545b600081118015610cc95750610cc9826001830381548110610cb657fe5b906000526020600020906002020161230b565b15610d0957610cfe826001830381548110610ce057fe5b6000918252602090912060029091020154849063ffffffff611f9b16565b925060001901610c99565b50509392505050565b6000546001600160a01b031690565b60116020526000908152604090205463ffffffff1681565b6000438210610d5a5760405162461bcd60e51b81526004016105849061383d565b6001600160a01b03831660009081526011602052604090205463ffffffff1680610d88576000915050610f42565b6001600160a01b038416600090815260106020908152604080832063ffffffff600019860181168552925290912054168310610e04576001600160a01b03841660009081526010602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b03169050610f42565b6001600160a01b038416600090815260106020908152604080832083805290915290205463ffffffff16831015610e3f576000915050610f42565b600060001982015b8163ffffffff168163ffffffff161115610f0257600282820363ffffffff16048103610e71612a87565b506001600160a01b038716600090815260106020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b03169181019190915290871415610edd57602001519450610f429350505050565b805163ffffffff16871115610ef457819350610efb565b6001820392505b5050610e47565b506001600160a01b038516600090815260106020908152604080832063ffffffff909416835292905220546001600160601b03600160201b909104169150505b92915050565b600354600160a01b900460ff16610f715760405162461bcd60e51b81526004016105849061387d565b6003805460ff60a01b19169055610f888282611cc2565b6001600160a01b0382166000908152600860205260408120805483908110610fac57fe5b600091825260208083206001600160a01b038716808552600783526040808620888752845280862033808852908552818720928752600a8552818720898852855281872090875290935291842060059093020193509161100c8383612315565b90506000811161102e5760405162461bcd60e51b8152600401610584906138cd565b6110388686611cf9565b6000611066846001015461064c64e8d4a5100061064089600301548960000154611e7c90919063ffffffff16565b6004805460405163135b33cd60e31b81529293506001600160a01b031691639ad99e689161109a918b913391879101613602565b600060405180830381600087803b1580156110b457600080fd5b505af11580156110c8573d6000803e3d6000fd5b505085546110df925090508363ffffffff611ef816565b80855560038601546111029164e8d4a5100091610640919063ffffffff611e7c16565b60018501558454611123906001600160a01b0316338463ffffffff6123c316565b85876001600160a01b0316336001600160a01b03167fe31da05fae6db869f5ea51f4b638aa6884070b6c87f18f63bd2291a12cb2f5188560405161097791906136ca565b600e6020526000908152604090205481565b6000546001600160a01b031633146111a35760405162461bcd60e51b81526004016105849061389d565b600080546040516001600160a01b03909116907ff8ccb027dfcd135e000e9d45e6cc2d662578a8825d4c45b5e32e0adf67e79ec6908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146112175760405162461bcd60e51b81526004016105849061389d565b6112218383611cc2565b61122a83610b37565b6001600160a01b038316600090815260086020526040902080546112a09083906112949084908790811061125a57fe5b60009182526020808320600160059093020191909101546001600160a01b038a16835260099091526040909120549063ffffffff611ef816565b9063ffffffff611f9b16565b6001600160a01b03851660009081526009602052604081209190915581548290859081106112ca57fe5b9060005260206000209060050201600101549050828285815481106112eb57fe5b90600052602060002090600502016001018190555083856001600160a01b03167f6ee09c6cb801194690c195c69f465aaf7c80255cbeafaab9600f47ed79de2ca9838660405161133c92919061392d565b60405180910390a35050505050565b6113558282611cc2565b61135f8282611cf9565b5050565b6008602052816000526040600020818154811061137c57fe5b6000918252602090912060059091020180546001820154600283015460038401546004909401546001600160a01b039093169550909350919085565b6000546001600160a01b031633146113e25760405162461bcd60e51b81526004016105849061389d565b6113eb82610b37565b6001600160a01b0382166000818152600660205260409081902080549084905590519091907fad96cee0d692f0250b98e085504f399da6733854908215f6203fe3c69366d9f59061143f908490869061392d565b60405180910390a2505050565b600080600061145b8686611cc2565b5050506001600160a01b03928316600090815260076020908152604080832094835293815283822092909416815292529020805460018201546002909201549092565b6000546001600160a01b031633146114c85760405162461bcd60e51b81526004016105849061389d565b6114d28383611cc2565b600081116114f25760405162461bcd60e51b8152600401610584906138dd565b6001600160a01b038316600090815260086020526040812080548490811061151657fe5b9060005260206000209060050201905060008160040154905082826004018190555083856001600160a01b03167f0bcf80c5060ccf99b7a993c57a94b232fc2c5c04bd74c7c7d174595fee6bc31f838660405161133c92919061392d565b60006115808484611cc2565b6001600160a01b03841660009081526008602052604081208054859081106115a457fe5b600091825260208083206001600160a01b0389811685526007835260408086208a8752845280862089831687529093528285206005949094029091016003810154815493516370a0823160e01b8152919650939492909116906370a08231906116119030906004016135f4565b60206040518083038186803b15801561162957600080fd5b505afa15801561163d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116619190810190612d94565b6001600160a01b038916600090815260066020526040902054600286015491925043918211801561169157508215155b156117275760006116af876002015484611ef890919063ffffffff16565b6001600160a01b038c1660009081526009602052604081205460018a015492935090916116f79190610640906116eb868863ffffffff611e7c16565b9063ffffffff611e7c16565b9050611722611715866106408464e8d4a5100063ffffffff611e7c16565b879063ffffffff611f9b16565b955050505b61174f856001015461064c64e8d4a51000610640888a60000154611e7c90919063ffffffff16565b9a9950505050505050505050565b6001600160a01b03811660009081526011602052604081205463ffffffff16806117885760006117c7565b6001600160a01b0383166000908152601060209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03165b9150505b919050565b60606117dc8484611cc2565b6001600160a01b038085166000908152600a602090815260408083208784528252808320938616835292815282822080548451818402810184019095528085529092909184015b8282101561186957838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190611823565b5050505090509392505050565b6000604051611884906135de565b604080519182900382208282019091526008825267161594d5985d5b1d60c21b6020909201919091527fddfcc46608a8bd52ebf900f03a24cc97b73a6046cec8c5d0f74a211e376e967a6118d66123e5565b306040516020016118ea949392919061370d565b6040516020818303038152906040528051906020012090506000604051611910906135e9565b60405190819003812061192b918a908a908a906020016136d8565b604051602081830303815290604052805190602001209050600082826040516020016119589291906135ad565b604051602081830303815290604052805190602001209050600061197e828888886123e9565b6001600160a01b0381166000908152600e6020526040902080546001810190915590915089146119c05760405162461bcd60e51b81526004016105849061380d565b874211156119e05760405162461bcd60e51b8152600401610584906137fd565b6119ea818b61227c565b505050505b505050505050565b6001600160a01b031660009081526008602052604090205490565b6003546001600160a01b031681565b604051610adb906135e9565b601060209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b6000546001600160a01b031681565b6000546001600160a01b03163314611a9b5760405162461bcd60e51b81526004016105849061389d565b6004546001600160a01b0316611ac35760405162461bcd60e51b8152600401610584906138ad565b611acc85610b37565b6001600160a01b0385166000908152600860205260408120805490915b81811015611b4757856001600160a01b0316838281548110611b0757fe5b60009182526020909120600590910201546001600160a01b03161415611b3f5760405162461bcd60e51b81526004016105849061388d565b600101611ae9565b506001600160a01b038716600090815260096020526040902054611b71908763ffffffff611f9b16565b6001600160a01b0388811660009081526009602090815260408083209490945560068152838220889055835160a08101855289841681528082018b81524382870190815260608301858152608084018b81528a5460018082018d558c8952969097209451600590970290940180546001600160a01b031916968816969096178655915185850155516002850155516003840155516004928301558154935163fb66fb4d60e01b8152939092169263fb66fb4d92611c30928c9201613683565b600060405180830381600087803b158015611c4a57600080fd5b505af1158015611c5e573d6000803e3d6000fd5b50505050846001600160a01b03166001838054905003886001600160a01b03167fd7fa4bff1cd2253c0789c3291a786a6f6b1a3b4569a75af683a15d52abb6a0bf898888604051611cb19392919061393b565b60405180910390a450505050505050565b6001600160a01b038216600090815260086020526040902054811061135f5760405162461bcd60e51b8152600401610584906137bd565b6001600160a01b0382166000908152600860205260408120805483908110611d1d57fe5b9060005260206000209060050201905080600201544311611d3e575061135f565b80546040516370a0823160e01b81526000916001600160a01b0316906370a0823190611d6e9030906004016135f4565b60206040518083038186803b158015611d8657600080fd5b505afa158015611d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dbe9190810190612d94565b905080611dd257504360029091015561135f565b60028201544390600090611ded90839063ffffffff611ef816565b6001600160a01b03871660009081526009602090815260408083205460018901546006909352908320549394509192611e369291610640916116eb90879063ffffffff611e7c16565b9050611e65611e54856106408464e8d4a5100063ffffffff611e7c16565b60038701549063ffffffff611f9b16565b600386015550504360029093019290925550505050565b600082611e8b57506000610f42565b82820282848281611e9857fe5b04146105545760405162461bcd60e51b81526004016105849061386d565b600061055483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612413565b600061055483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061244a565b604051611f959085906323b872dd60e01b90611f5e90879087908790602401613668565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612476565b50505050565b6000828201838110156105545760405162461bcd60e51b81526004016105849061381d565b816001600160a01b0316836001600160a01b031614158015611feb57506000816001600160601b0316115b15610b6c576001600160a01b038316156120a3576001600160a01b03831660009081526011602052604081205463ffffffff16908161202b57600061206a565b6001600160a01b0385166000908152601060209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061209182856040518060600160405280602c8152602001613af1602c913961255b565b905061209f86848484612592565b5050505b6001600160a01b03821615610b6c576001600160a01b03821660009081526011602052604081205463ffffffff1690816120de57600061211d565b6001600160a01b0384166000908152601060209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061214482856040518060600160405280602b8152602001613a8e602b9139612747565b90506119ef85848484612592565b82546040805180820190915260008082526020808301828152600180860189558884529190922092516002850290930192835590519101555b6000811180156121bb5750818460018303815481106121a657fe5b90600052602060002090600202016001015411155b15612210578360018203815481106121cf57fe5b90600052602060002090600202018482815481106121e957fe5b6000918252602090912082546002909202019081556001918201549101556000190161218b565b60405180604001604052808481526020018381525084828154811061223157fe5b9060005260206000209060020201600082015181600001556020820151816001015590505061226d838660020154611f9b90919063ffffffff16565b85600201819055505050505050565b6001600160a01b038083166000908152600f6020526040812054909116906122a384612783565b6001600160a01b038581166000818152600f602052604080822080546001600160a01b031916898616908117909155905194955093928616927f0cc323ffec3ea49cbcddc0de1480978126d350c6a45dff33ad2f1cda6ae992619190a4611f95828483611fc0565b6001015442101590565b80546000905b6000811180156123385750612338836001830381548110610cb657fe5b156123a25761236d83600183038154811061234f57fe5b6000918252602090912060029091020154839063ffffffff611f9b16565b91508280548061237957fe5b60008281526020812060001992830160028102909101828155600101919091559091550161231b565b5060028301546123b8908263ffffffff611ef816565b600284015592915050565b604051610b6c90849063a9059cbb60e01b90611f5e908690869060240161369e565b4690565b60008060006123fa87878787612876565b9150915061240781612956565b5090505b949350505050565b600081836124345760405162461bcd60e51b8152600401610584919061379c565b50600083858161244057fe5b0495945050505050565b6000818484111561246e5760405162461bcd60e51b8152600401610584919061379c565b505050900390565b612488826001600160a01b0316612a1f565b6124a45760405162461bcd60e51b8152600401610584906138fd565b60006060836001600160a01b0316836040516124c091906135a1565b6000604051808303816000865af19150503d80600081146124fd576040519150601f19603f3d011682016040523d82523d6000602084013e612502565b606091505b5091509150816125245760405162461bcd60e51b8152600401610584906138ed565b805115611f95578080602001905161253f9190810190612d58565b611f955760405162461bcd60e51b8152600401610584906137ed565b6000836001600160601b0316836001600160601b03161115829061246e5760405162461bcd60e51b8152600401610584919061379c565b60006125b643604051806060016040528060388152602001613ab960389139612a58565b905060008463ffffffff161180156125ff57506001600160a01b038516600090815260106020908152604080832063ffffffff6000198901811685529252909120548282169116145b1561265e576001600160a01b0385166000908152601060209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b038516021790556126fd565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152601083528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252601190935292909220805460018801909316929091169190911790555b846001600160a01b03167f6adb589fed1e8542fb7a6b10f00a85e02265e77f9ae3ca8ff93b22983e1af9a0848460405161273892919061398d565b60405180910390a25050505050565b6000838301826001600160601b03808716908316101561277a5760405162461bcd60e51b8152600401610584919061379c565b50949350505050565b6005546000906001600160a01b03166127ae5760405162461bcd60e51b8152600401610584906137dd565b6005546001600160a01b03166000908152600860205260408120805490915b8181101561286b5760055483546001600160a01b03909116908490839081106127f257fe5b60009182526020909120600590910201546001600160a01b03161415612863576005546001600160a01b0390811660009081526007602090815260408083208584528252808320938916835292905220600281015481546128589163ffffffff611ef816565b9450505050506117cb565b6001016127cd565b506000949350505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156128ad575060009050600361294d565b8460ff16601b141580156128c557508460ff16601c14155b156128d6575060009050600461294d565b6000600187878787604051600081526020016040526040516128fb9493929190613735565b6020604051602081039080840390855afa15801561291d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166129465750600091506001905061294d565b9150600090505b94509492505050565b600081600481111561296457fe5b141561296f57610acc565b600181600481111561297d57fe5b141561299b5760405162461bcd60e51b8152600401610584906137ad565b60028160048111156129a957fe5b14156129c75760405162461bcd60e51b8152600401610584906137cd565b60038160048111156129d557fe5b14156129f35760405162461bcd60e51b81526004016105849061382d565b6004816004811115612a0157fe5b1415610acc5760405162461bcd60e51b81526004016105849061384d565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061240b575050151592915050565b600081600160201b8410612a7f5760405162461bcd60e51b8152600401610584919061379c565b509192915050565b604080518082019091526000808252602082015290565b8035610f4281613a4c565b8051610f4281613a4c565b8051610f4281613a60565b8035610f4281613a69565b8035610f4281613a72565b8051610f4281613a69565b8035610f4281613a7b565b8035610f4281613a84565b600060208284031215612b0857600080fd5b600061240b8484612a9e565b600060208284031215612b2657600080fd5b600061240b8484612aa9565b60008060408385031215612b4557600080fd5b6000612b518585612a9e565b9250506020612b6285828601612a9e565b9150509250929050565b60008060408385031215612b7f57600080fd5b6000612b8b8585612a9e565b9250506020612b6285828601612abf565b600080600060608486031215612bb157600080fd5b6000612bbd8686612a9e565b9350506020612bce86828701612abf565b9250506040612bdf86828701612a9e565b9150509250925092565b600080600080600060a08688031215612c0157600080fd5b6000612c0d8888612a9e565b9550506020612c1e88828901612abf565b9450506040612c2f88828901612aca565b9350506060612c4088828901612abf565b9250506080612c5188828901612abf565b9150509295509295909350565b600080600060608486031215612c7357600080fd5b6000612c7f8686612a9e565b9350506020612c9086828701612abf565b9250506040612bdf86828701612abf565b60008060008060008060c08789031215612cba57600080fd5b6000612cc68989612a9e565b9650506020612cd789828a01612abf565b9550506040612ce889828a01612abf565b9450506060612cf989828a01612aeb565b9350506080612d0a89828a01612abf565b92505060a0612d1b89828a01612abf565b9150509295509295509295565b60008060408385031215612d3b57600080fd5b6000612d478585612a9e565b9250506020612b6285828601612ae0565b600060208284031215612d6a57600080fd5b600061240b8484612ab4565b600060208284031215612d8857600080fd5b600061240b8484612aca565b600060208284031215612da657600080fd5b600061240b8484612ad5565b6000612dbe8383613559565b505060400190565b612dcf81613a00565b82525050565b612dcf816139bb565b6000612de9826139ae565b612df381856139b2565b9350612dfe836139a8565b8060005b83811015612e2c578151612e168882612db2565b9750612e21836139a8565b925050600101612e02565b509495945050505050565b612dcf816139c6565b612dcf816139cb565b612dcf612e55826139cb565b6139cb565b6000612e65826139ae565b612e6f81856117cb565b9350612e7f818560208601613a16565b9290920192915050565b612dcf816139ce565b6000612e9d826139ae565b612ea781856139b2565b9350612eb7818560208601613a16565b612ec081613a42565b9093019392505050565b6000612ed76018836139b2565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000815260200192915050565b6000612f106013836139b2565b727661756c743a20706f6f6c206578697374733f60681b815260200192915050565b6000612f3f601f836139b2565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800815260200192915050565b6000612f786030836139b2565b7f5856535661756c743a3a6765745374616b65416d6f756e743a2078767320616481526f191c995cdcc81a5cc81b9bdd081cd95d60821b602082015260400192915050565b6000612fca602a836139b2565b7f5361666542455032303a204245503230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613016602a836139b2565b7f5856535661756c743a3a64656c656761746542795369673a207369676e6174758152691c9948195e1c1a5c995960b21b602082015260400192915050565b60006130626026836139b2565b7f5856535661756c743a3a64656c656761746542795369673a20696e76616c6964815265206e6f6e636560d01b602082015260400192915050565b60006130aa6002836117cb565b61190160f01b815260020192915050565b60006130c8601b836139b2565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006131016022836139b2565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c815261756560f01b602082015260400192915050565b6000613145602b836139b2565b7f5856535661756c743a3a6765745072696f72566f7465733a206e6f742079657481526a0819195d195c9b5a5b995960aa1b602082015260400192915050565b60006131926022836139b2565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c815261756560f01b602082015260400192915050565b60006131d66043836117cb565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b6000613241601f836139b2565b7f72657175657374656420616d6f756e742063616e6e6f74206265207a65726f00815260200192915050565b600061327a6021836139b2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006132bd600a836139b2565b691c994b595b9d195c995960b21b815260200192915050565b60006132e36018836139b2565b7f4572726f7220706f6f6c20616c72656164792061646465640000000000000000815260200192915050565b600061331c600e836139b2565b6d37b7363c9030b236b4b71031b0b760911b815260200192915050565b6000613346601e836139b2565b7f53746f726520636f6e74726163742061646472657320697320656d7074790000815260200192915050565b600061337f6015836139b2565b7418da185b99d9481b9bdd08185d5d1a1bdc9a5e9959605a1b815260200192915050565b60006133b06013836139b2565b726e6f7468696e6720746f20776974686472617760681b815260200192915050565b60006133df601a836139b2565b7f496e76616c6964206e6577206c6f636b696e6720706572696f64000000000000815260200192915050565b60006134186020836139b2565b7f5361666542455032303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000613451603a836117cb565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0192915050565b60006134b0601f836139b2565b7f5361666542455032303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b60006134e9601b836139b2565b7f72657175657374656420616d6f756e7420697320696e76616c69640000000000815260200192915050565b60006135226022836139b2565b7f6f6e6c792070726f78792061646d696e2063616e206368616e676520627261698152616e7360f01b602082015260400192915050565b8051604083019061356a8482612e40565b506020820151611f956020850182612e40565b612dcf816139e5565b612dcf816139ee565b612dcf81613a0b565b612dcf816139f4565b60006105548284612e5a565b60006135b88261309d565b91506135c48285612e49565b6020820191506135d48284612e49565b5060200192915050565b6000610f42826131c9565b6000610f4282613444565b60208101610f428284612dd5565b606081016136108286612dd5565b61361d6020830185612dc6565b61240b6040830184612e40565b608081016136388287612dd5565b6136456020830186612dd5565b6136526040830185612dd5565b61365f6060830184612dd5565b95945050505050565b606081016136768286612dd5565b61361d6020830185612dd5565b604081016136918285612dd5565b6105546020830184612e37565b604081016136ac8285612dd5565b6105546020830184612e40565b602080825281016105548184612dde565b60208101610f428284612e40565b608081016136e68287612e40565b6136f36020830186612dd5565b6137006040830185612e40565b61365f6060830184612e40565b6080810161371b8287612e40565b6137286020830186612e40565b6136526040830185612e40565b608081016137438287612e40565b6136f36020830186613586565b60a0810161375e8288612e89565b61376b6020830187612e40565b6137786040830186612e40565b6137856060830185612e40565b6137926080830184612e40565b9695505050505050565b602080825281016105548184612e92565b60208082528101610f4281612eca565b60208082528101610f4281612f03565b60208082528101610f4281612f32565b60208082528101610f4281612f6b565b60208082528101610f4281612fbd565b60208082528101610f4281613009565b60208082528101610f4281613055565b60208082528101610f42816130bb565b60208082528101610f42816130f4565b60208082528101610f4281613138565b60208082528101610f4281613185565b60208082528101610f4281613234565b60208082528101610f428161326d565b60208082528101610f42816132b0565b60208082528101610f42816132d6565b60208082528101610f428161330f565b60208082528101610f4281613339565b60208082528101610f4281613372565b60208082528101610f42816133a3565b60208082528101610f42816133d2565b60208082528101610f428161340b565b60208082528101610f42816134a3565b60208082528101610f42816134dc565b60208082528101610f4281613515565b604081016136ac8285612e40565b606081016139498286612e40565b61361d6020830185612e40565b60208101610f42828461357d565b60408101613972828561357d565b6105546020830184613598565b60208101610f428284613598565b6040810161399b828561358f565b610554602083018461358f565b60200190565b5190565b90815260200190565b6000610f42826139d9565b151590565b90565b6000610f42826139bb565b6001600160a01b031690565b63ffffffff1690565b60ff1690565b6001600160601b031690565b6000610f42826139ce565b6000610f42826139f4565b60005b83811015613a31578181015183820152602001613a19565b83811115611f955750506000910152565b601f01601f191690565b613a55816139bb565b8114610acc57600080fd5b613a55816139c6565b613a55816139cb565b613a55816139ce565b613a55816139e5565b613a55816139ee56fe5856535661756c743a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f77735856535661756c743a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d626572206578636565647320333220626974735856535661756c743a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773a365627a7a72315820204c5a24c5bde456fd1d8aa1c93c28f19fc990c6e367cee72951fa6ec81a18ab6c6578706572696d656e74616cf564736f6c63430005100040",
1209
- "linkReferences": {},
1210
- "deployedLinkReferences": {}
1211
- }