@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,1173 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "GovernorBravoDelegate",
4
- "sourceName": "contracts/Governance/GovernorBravoDelegate.sol",
5
- "abi": [
6
- {
7
- "anonymous": false,
8
- "inputs": [
9
- {
10
- "indexed": false,
11
- "internalType": "address",
12
- "name": "oldAdmin",
13
- "type": "address"
14
- },
15
- {
16
- "indexed": false,
17
- "internalType": "address",
18
- "name": "newAdmin",
19
- "type": "address"
20
- }
21
- ],
22
- "name": "NewAdmin",
23
- "type": "event"
24
- },
25
- {
26
- "anonymous": false,
27
- "inputs": [
28
- {
29
- "indexed": false,
30
- "internalType": "address",
31
- "name": "oldGuardian",
32
- "type": "address"
33
- },
34
- {
35
- "indexed": false,
36
- "internalType": "address",
37
- "name": "newGuardian",
38
- "type": "address"
39
- }
40
- ],
41
- "name": "NewGuardian",
42
- "type": "event"
43
- },
44
- {
45
- "anonymous": false,
46
- "inputs": [
47
- {
48
- "indexed": false,
49
- "internalType": "address",
50
- "name": "oldImplementation",
51
- "type": "address"
52
- },
53
- {
54
- "indexed": false,
55
- "internalType": "address",
56
- "name": "newImplementation",
57
- "type": "address"
58
- }
59
- ],
60
- "name": "NewImplementation",
61
- "type": "event"
62
- },
63
- {
64
- "anonymous": false,
65
- "inputs": [
66
- {
67
- "indexed": false,
68
- "internalType": "address",
69
- "name": "oldPendingAdmin",
70
- "type": "address"
71
- },
72
- {
73
- "indexed": false,
74
- "internalType": "address",
75
- "name": "newPendingAdmin",
76
- "type": "address"
77
- }
78
- ],
79
- "name": "NewPendingAdmin",
80
- "type": "event"
81
- },
82
- {
83
- "anonymous": false,
84
- "inputs": [
85
- {
86
- "indexed": false,
87
- "internalType": "uint256",
88
- "name": "id",
89
- "type": "uint256"
90
- }
91
- ],
92
- "name": "ProposalCanceled",
93
- "type": "event"
94
- },
95
- {
96
- "anonymous": false,
97
- "inputs": [
98
- {
99
- "indexed": false,
100
- "internalType": "uint256",
101
- "name": "id",
102
- "type": "uint256"
103
- },
104
- {
105
- "indexed": false,
106
- "internalType": "address",
107
- "name": "proposer",
108
- "type": "address"
109
- },
110
- {
111
- "indexed": false,
112
- "internalType": "address[]",
113
- "name": "targets",
114
- "type": "address[]"
115
- },
116
- {
117
- "indexed": false,
118
- "internalType": "uint256[]",
119
- "name": "values",
120
- "type": "uint256[]"
121
- },
122
- {
123
- "indexed": false,
124
- "internalType": "string[]",
125
- "name": "signatures",
126
- "type": "string[]"
127
- },
128
- {
129
- "indexed": false,
130
- "internalType": "bytes[]",
131
- "name": "calldatas",
132
- "type": "bytes[]"
133
- },
134
- {
135
- "indexed": false,
136
- "internalType": "uint256",
137
- "name": "startBlock",
138
- "type": "uint256"
139
- },
140
- {
141
- "indexed": false,
142
- "internalType": "uint256",
143
- "name": "endBlock",
144
- "type": "uint256"
145
- },
146
- {
147
- "indexed": false,
148
- "internalType": "string",
149
- "name": "description",
150
- "type": "string"
151
- },
152
- {
153
- "indexed": false,
154
- "internalType": "uint8",
155
- "name": "proposalType",
156
- "type": "uint8"
157
- }
158
- ],
159
- "name": "ProposalCreated",
160
- "type": "event"
161
- },
162
- {
163
- "anonymous": false,
164
- "inputs": [
165
- {
166
- "indexed": false,
167
- "internalType": "uint256",
168
- "name": "id",
169
- "type": "uint256"
170
- }
171
- ],
172
- "name": "ProposalExecuted",
173
- "type": "event"
174
- },
175
- {
176
- "anonymous": false,
177
- "inputs": [
178
- {
179
- "indexed": false,
180
- "internalType": "uint256",
181
- "name": "oldMaxOperations",
182
- "type": "uint256"
183
- },
184
- {
185
- "indexed": false,
186
- "internalType": "uint256",
187
- "name": "newMaxOperations",
188
- "type": "uint256"
189
- }
190
- ],
191
- "name": "ProposalMaxOperationsUpdated",
192
- "type": "event"
193
- },
194
- {
195
- "anonymous": false,
196
- "inputs": [
197
- {
198
- "indexed": false,
199
- "internalType": "uint256",
200
- "name": "id",
201
- "type": "uint256"
202
- },
203
- {
204
- "indexed": false,
205
- "internalType": "uint256",
206
- "name": "eta",
207
- "type": "uint256"
208
- }
209
- ],
210
- "name": "ProposalQueued",
211
- "type": "event"
212
- },
213
- {
214
- "anonymous": false,
215
- "inputs": [
216
- {
217
- "indexed": false,
218
- "internalType": "uint256",
219
- "name": "oldProposalThreshold",
220
- "type": "uint256"
221
- },
222
- {
223
- "indexed": false,
224
- "internalType": "uint256",
225
- "name": "newProposalThreshold",
226
- "type": "uint256"
227
- }
228
- ],
229
- "name": "ProposalThresholdSet",
230
- "type": "event"
231
- },
232
- {
233
- "anonymous": false,
234
- "inputs": [
235
- {
236
- "indexed": true,
237
- "internalType": "address",
238
- "name": "voter",
239
- "type": "address"
240
- },
241
- {
242
- "indexed": false,
243
- "internalType": "uint256",
244
- "name": "proposalId",
245
- "type": "uint256"
246
- },
247
- {
248
- "indexed": false,
249
- "internalType": "uint8",
250
- "name": "support",
251
- "type": "uint8"
252
- },
253
- {
254
- "indexed": false,
255
- "internalType": "uint256",
256
- "name": "votes",
257
- "type": "uint256"
258
- },
259
- {
260
- "indexed": false,
261
- "internalType": "string",
262
- "name": "reason",
263
- "type": "string"
264
- }
265
- ],
266
- "name": "VoteCast",
267
- "type": "event"
268
- },
269
- {
270
- "anonymous": false,
271
- "inputs": [
272
- {
273
- "indexed": false,
274
- "internalType": "uint256",
275
- "name": "oldVotingDelay",
276
- "type": "uint256"
277
- },
278
- {
279
- "indexed": false,
280
- "internalType": "uint256",
281
- "name": "newVotingDelay",
282
- "type": "uint256"
283
- }
284
- ],
285
- "name": "VotingDelaySet",
286
- "type": "event"
287
- },
288
- {
289
- "anonymous": false,
290
- "inputs": [
291
- {
292
- "indexed": false,
293
- "internalType": "uint256",
294
- "name": "oldVotingPeriod",
295
- "type": "uint256"
296
- },
297
- {
298
- "indexed": false,
299
- "internalType": "uint256",
300
- "name": "newVotingPeriod",
301
- "type": "uint256"
302
- }
303
- ],
304
- "name": "VotingPeriodSet",
305
- "type": "event"
306
- },
307
- {
308
- "constant": true,
309
- "inputs": [],
310
- "name": "BALLOT_TYPEHASH",
311
- "outputs": [
312
- {
313
- "internalType": "bytes32",
314
- "name": "",
315
- "type": "bytes32"
316
- }
317
- ],
318
- "payable": false,
319
- "stateMutability": "view",
320
- "type": "function"
321
- },
322
- {
323
- "constant": true,
324
- "inputs": [],
325
- "name": "DOMAIN_TYPEHASH",
326
- "outputs": [
327
- {
328
- "internalType": "bytes32",
329
- "name": "",
330
- "type": "bytes32"
331
- }
332
- ],
333
- "payable": false,
334
- "stateMutability": "view",
335
- "type": "function"
336
- },
337
- {
338
- "constant": true,
339
- "inputs": [],
340
- "name": "MAX_PROPOSAL_THRESHOLD",
341
- "outputs": [
342
- {
343
- "internalType": "uint256",
344
- "name": "",
345
- "type": "uint256"
346
- }
347
- ],
348
- "payable": false,
349
- "stateMutability": "view",
350
- "type": "function"
351
- },
352
- {
353
- "constant": true,
354
- "inputs": [],
355
- "name": "MAX_VOTING_DELAY",
356
- "outputs": [
357
- {
358
- "internalType": "uint256",
359
- "name": "",
360
- "type": "uint256"
361
- }
362
- ],
363
- "payable": false,
364
- "stateMutability": "view",
365
- "type": "function"
366
- },
367
- {
368
- "constant": true,
369
- "inputs": [],
370
- "name": "MAX_VOTING_PERIOD",
371
- "outputs": [
372
- {
373
- "internalType": "uint256",
374
- "name": "",
375
- "type": "uint256"
376
- }
377
- ],
378
- "payable": false,
379
- "stateMutability": "view",
380
- "type": "function"
381
- },
382
- {
383
- "constant": true,
384
- "inputs": [],
385
- "name": "MIN_PROPOSAL_THRESHOLD",
386
- "outputs": [
387
- {
388
- "internalType": "uint256",
389
- "name": "",
390
- "type": "uint256"
391
- }
392
- ],
393
- "payable": false,
394
- "stateMutability": "view",
395
- "type": "function"
396
- },
397
- {
398
- "constant": true,
399
- "inputs": [],
400
- "name": "MIN_VOTING_DELAY",
401
- "outputs": [
402
- {
403
- "internalType": "uint256",
404
- "name": "",
405
- "type": "uint256"
406
- }
407
- ],
408
- "payable": false,
409
- "stateMutability": "view",
410
- "type": "function"
411
- },
412
- {
413
- "constant": true,
414
- "inputs": [],
415
- "name": "MIN_VOTING_PERIOD",
416
- "outputs": [
417
- {
418
- "internalType": "uint256",
419
- "name": "",
420
- "type": "uint256"
421
- }
422
- ],
423
- "payable": false,
424
- "stateMutability": "view",
425
- "type": "function"
426
- },
427
- {
428
- "constant": false,
429
- "inputs": [],
430
- "name": "_acceptAdmin",
431
- "outputs": [],
432
- "payable": false,
433
- "stateMutability": "nonpayable",
434
- "type": "function"
435
- },
436
- {
437
- "constant": false,
438
- "inputs": [
439
- {
440
- "internalType": "address",
441
- "name": "governorAlpha",
442
- "type": "address"
443
- }
444
- ],
445
- "name": "_initiate",
446
- "outputs": [],
447
- "payable": false,
448
- "stateMutability": "nonpayable",
449
- "type": "function"
450
- },
451
- {
452
- "constant": false,
453
- "inputs": [
454
- {
455
- "internalType": "address",
456
- "name": "newGuardian",
457
- "type": "address"
458
- }
459
- ],
460
- "name": "_setGuardian",
461
- "outputs": [],
462
- "payable": false,
463
- "stateMutability": "nonpayable",
464
- "type": "function"
465
- },
466
- {
467
- "constant": false,
468
- "inputs": [
469
- {
470
- "internalType": "address",
471
- "name": "newPendingAdmin",
472
- "type": "address"
473
- }
474
- ],
475
- "name": "_setPendingAdmin",
476
- "outputs": [],
477
- "payable": false,
478
- "stateMutability": "nonpayable",
479
- "type": "function"
480
- },
481
- {
482
- "constant": false,
483
- "inputs": [
484
- {
485
- "internalType": "uint256",
486
- "name": "proposalMaxOperations_",
487
- "type": "uint256"
488
- }
489
- ],
490
- "name": "_setProposalMaxOperations",
491
- "outputs": [],
492
- "payable": false,
493
- "stateMutability": "nonpayable",
494
- "type": "function"
495
- },
496
- {
497
- "constant": true,
498
- "inputs": [],
499
- "name": "admin",
500
- "outputs": [
501
- {
502
- "internalType": "address",
503
- "name": "",
504
- "type": "address"
505
- }
506
- ],
507
- "payable": false,
508
- "stateMutability": "view",
509
- "type": "function"
510
- },
511
- {
512
- "constant": false,
513
- "inputs": [
514
- {
515
- "internalType": "uint256",
516
- "name": "proposalId",
517
- "type": "uint256"
518
- }
519
- ],
520
- "name": "cancel",
521
- "outputs": [],
522
- "payable": false,
523
- "stateMutability": "nonpayable",
524
- "type": "function"
525
- },
526
- {
527
- "constant": false,
528
- "inputs": [
529
- {
530
- "internalType": "uint256",
531
- "name": "proposalId",
532
- "type": "uint256"
533
- },
534
- {
535
- "internalType": "uint8",
536
- "name": "support",
537
- "type": "uint8"
538
- }
539
- ],
540
- "name": "castVote",
541
- "outputs": [],
542
- "payable": false,
543
- "stateMutability": "nonpayable",
544
- "type": "function"
545
- },
546
- {
547
- "constant": false,
548
- "inputs": [
549
- {
550
- "internalType": "uint256",
551
- "name": "proposalId",
552
- "type": "uint256"
553
- },
554
- {
555
- "internalType": "uint8",
556
- "name": "support",
557
- "type": "uint8"
558
- },
559
- {
560
- "internalType": "uint8",
561
- "name": "v",
562
- "type": "uint8"
563
- },
564
- {
565
- "internalType": "bytes32",
566
- "name": "r",
567
- "type": "bytes32"
568
- },
569
- {
570
- "internalType": "bytes32",
571
- "name": "s",
572
- "type": "bytes32"
573
- }
574
- ],
575
- "name": "castVoteBySig",
576
- "outputs": [],
577
- "payable": false,
578
- "stateMutability": "nonpayable",
579
- "type": "function"
580
- },
581
- {
582
- "constant": false,
583
- "inputs": [
584
- {
585
- "internalType": "uint256",
586
- "name": "proposalId",
587
- "type": "uint256"
588
- },
589
- {
590
- "internalType": "uint8",
591
- "name": "support",
592
- "type": "uint8"
593
- },
594
- {
595
- "internalType": "string",
596
- "name": "reason",
597
- "type": "string"
598
- }
599
- ],
600
- "name": "castVoteWithReason",
601
- "outputs": [],
602
- "payable": false,
603
- "stateMutability": "nonpayable",
604
- "type": "function"
605
- },
606
- {
607
- "constant": false,
608
- "inputs": [
609
- {
610
- "internalType": "uint256",
611
- "name": "proposalId",
612
- "type": "uint256"
613
- }
614
- ],
615
- "name": "execute",
616
- "outputs": [],
617
- "payable": false,
618
- "stateMutability": "nonpayable",
619
- "type": "function"
620
- },
621
- {
622
- "constant": true,
623
- "inputs": [
624
- {
625
- "internalType": "uint256",
626
- "name": "proposalId",
627
- "type": "uint256"
628
- }
629
- ],
630
- "name": "getActions",
631
- "outputs": [
632
- {
633
- "internalType": "address[]",
634
- "name": "targets",
635
- "type": "address[]"
636
- },
637
- {
638
- "internalType": "uint256[]",
639
- "name": "values",
640
- "type": "uint256[]"
641
- },
642
- {
643
- "internalType": "string[]",
644
- "name": "signatures",
645
- "type": "string[]"
646
- },
647
- {
648
- "internalType": "bytes[]",
649
- "name": "calldatas",
650
- "type": "bytes[]"
651
- }
652
- ],
653
- "payable": false,
654
- "stateMutability": "view",
655
- "type": "function"
656
- },
657
- {
658
- "constant": true,
659
- "inputs": [
660
- {
661
- "internalType": "uint256",
662
- "name": "proposalId",
663
- "type": "uint256"
664
- },
665
- {
666
- "internalType": "address",
667
- "name": "voter",
668
- "type": "address"
669
- }
670
- ],
671
- "name": "getReceipt",
672
- "outputs": [
673
- {
674
- "components": [
675
- {
676
- "internalType": "bool",
677
- "name": "hasVoted",
678
- "type": "bool"
679
- },
680
- {
681
- "internalType": "uint8",
682
- "name": "support",
683
- "type": "uint8"
684
- },
685
- {
686
- "internalType": "uint96",
687
- "name": "votes",
688
- "type": "uint96"
689
- }
690
- ],
691
- "internalType": "struct GovernorBravoDelegateStorageV1.Receipt",
692
- "name": "",
693
- "type": "tuple"
694
- }
695
- ],
696
- "payable": false,
697
- "stateMutability": "view",
698
- "type": "function"
699
- },
700
- {
701
- "constant": true,
702
- "inputs": [],
703
- "name": "guardian",
704
- "outputs": [
705
- {
706
- "internalType": "address",
707
- "name": "",
708
- "type": "address"
709
- }
710
- ],
711
- "payable": false,
712
- "stateMutability": "view",
713
- "type": "function"
714
- },
715
- {
716
- "constant": true,
717
- "inputs": [],
718
- "name": "implementation",
719
- "outputs": [
720
- {
721
- "internalType": "address",
722
- "name": "",
723
- "type": "address"
724
- }
725
- ],
726
- "payable": false,
727
- "stateMutability": "view",
728
- "type": "function"
729
- },
730
- {
731
- "constant": true,
732
- "inputs": [],
733
- "name": "initialProposalId",
734
- "outputs": [
735
- {
736
- "internalType": "uint256",
737
- "name": "",
738
- "type": "uint256"
739
- }
740
- ],
741
- "payable": false,
742
- "stateMutability": "view",
743
- "type": "function"
744
- },
745
- {
746
- "constant": false,
747
- "inputs": [
748
- {
749
- "internalType": "address",
750
- "name": "xvsVault_",
751
- "type": "address"
752
- },
753
- {
754
- "components": [
755
- {
756
- "internalType": "uint256",
757
- "name": "votingDelay",
758
- "type": "uint256"
759
- },
760
- {
761
- "internalType": "uint256",
762
- "name": "votingPeriod",
763
- "type": "uint256"
764
- },
765
- {
766
- "internalType": "uint256",
767
- "name": "proposalThreshold",
768
- "type": "uint256"
769
- }
770
- ],
771
- "internalType": "struct GovernorBravoDelegateStorageV2.ProposalConfig[]",
772
- "name": "proposalConfigs_",
773
- "type": "tuple[]"
774
- },
775
- {
776
- "internalType": "contract TimelockInterface[]",
777
- "name": "timelocks",
778
- "type": "address[]"
779
- },
780
- {
781
- "internalType": "address",
782
- "name": "guardian_",
783
- "type": "address"
784
- }
785
- ],
786
- "name": "initialize",
787
- "outputs": [],
788
- "payable": false,
789
- "stateMutability": "nonpayable",
790
- "type": "function"
791
- },
792
- {
793
- "constant": true,
794
- "inputs": [
795
- {
796
- "internalType": "address",
797
- "name": "",
798
- "type": "address"
799
- }
800
- ],
801
- "name": "latestProposalIds",
802
- "outputs": [
803
- {
804
- "internalType": "uint256",
805
- "name": "",
806
- "type": "uint256"
807
- }
808
- ],
809
- "payable": false,
810
- "stateMutability": "view",
811
- "type": "function"
812
- },
813
- {
814
- "constant": true,
815
- "inputs": [],
816
- "name": "name",
817
- "outputs": [
818
- {
819
- "internalType": "string",
820
- "name": "",
821
- "type": "string"
822
- }
823
- ],
824
- "payable": false,
825
- "stateMutability": "view",
826
- "type": "function"
827
- },
828
- {
829
- "constant": true,
830
- "inputs": [],
831
- "name": "pendingAdmin",
832
- "outputs": [
833
- {
834
- "internalType": "address",
835
- "name": "",
836
- "type": "address"
837
- }
838
- ],
839
- "payable": false,
840
- "stateMutability": "view",
841
- "type": "function"
842
- },
843
- {
844
- "constant": true,
845
- "inputs": [
846
- {
847
- "internalType": "uint256",
848
- "name": "",
849
- "type": "uint256"
850
- }
851
- ],
852
- "name": "proposalConfigs",
853
- "outputs": [
854
- {
855
- "internalType": "uint256",
856
- "name": "votingDelay",
857
- "type": "uint256"
858
- },
859
- {
860
- "internalType": "uint256",
861
- "name": "votingPeriod",
862
- "type": "uint256"
863
- },
864
- {
865
- "internalType": "uint256",
866
- "name": "proposalThreshold",
867
- "type": "uint256"
868
- }
869
- ],
870
- "payable": false,
871
- "stateMutability": "view",
872
- "type": "function"
873
- },
874
- {
875
- "constant": true,
876
- "inputs": [],
877
- "name": "proposalCount",
878
- "outputs": [
879
- {
880
- "internalType": "uint256",
881
- "name": "",
882
- "type": "uint256"
883
- }
884
- ],
885
- "payable": false,
886
- "stateMutability": "view",
887
- "type": "function"
888
- },
889
- {
890
- "constant": true,
891
- "inputs": [],
892
- "name": "proposalMaxOperations",
893
- "outputs": [
894
- {
895
- "internalType": "uint256",
896
- "name": "",
897
- "type": "uint256"
898
- }
899
- ],
900
- "payable": false,
901
- "stateMutability": "view",
902
- "type": "function"
903
- },
904
- {
905
- "constant": true,
906
- "inputs": [],
907
- "name": "proposalThreshold",
908
- "outputs": [
909
- {
910
- "internalType": "uint256",
911
- "name": "",
912
- "type": "uint256"
913
- }
914
- ],
915
- "payable": false,
916
- "stateMutability": "view",
917
- "type": "function"
918
- },
919
- {
920
- "constant": true,
921
- "inputs": [
922
- {
923
- "internalType": "uint256",
924
- "name": "",
925
- "type": "uint256"
926
- }
927
- ],
928
- "name": "proposalTimelocks",
929
- "outputs": [
930
- {
931
- "internalType": "contract TimelockInterface",
932
- "name": "",
933
- "type": "address"
934
- }
935
- ],
936
- "payable": false,
937
- "stateMutability": "view",
938
- "type": "function"
939
- },
940
- {
941
- "constant": true,
942
- "inputs": [
943
- {
944
- "internalType": "uint256",
945
- "name": "",
946
- "type": "uint256"
947
- }
948
- ],
949
- "name": "proposals",
950
- "outputs": [
951
- {
952
- "internalType": "uint256",
953
- "name": "id",
954
- "type": "uint256"
955
- },
956
- {
957
- "internalType": "address",
958
- "name": "proposer",
959
- "type": "address"
960
- },
961
- {
962
- "internalType": "uint256",
963
- "name": "eta",
964
- "type": "uint256"
965
- },
966
- {
967
- "internalType": "uint256",
968
- "name": "startBlock",
969
- "type": "uint256"
970
- },
971
- {
972
- "internalType": "uint256",
973
- "name": "endBlock",
974
- "type": "uint256"
975
- },
976
- {
977
- "internalType": "uint256",
978
- "name": "forVotes",
979
- "type": "uint256"
980
- },
981
- {
982
- "internalType": "uint256",
983
- "name": "againstVotes",
984
- "type": "uint256"
985
- },
986
- {
987
- "internalType": "uint256",
988
- "name": "abstainVotes",
989
- "type": "uint256"
990
- },
991
- {
992
- "internalType": "bool",
993
- "name": "canceled",
994
- "type": "bool"
995
- },
996
- {
997
- "internalType": "bool",
998
- "name": "executed",
999
- "type": "bool"
1000
- },
1001
- {
1002
- "internalType": "uint8",
1003
- "name": "proposalType",
1004
- "type": "uint8"
1005
- }
1006
- ],
1007
- "payable": false,
1008
- "stateMutability": "view",
1009
- "type": "function"
1010
- },
1011
- {
1012
- "constant": false,
1013
- "inputs": [
1014
- {
1015
- "internalType": "address[]",
1016
- "name": "targets",
1017
- "type": "address[]"
1018
- },
1019
- {
1020
- "internalType": "uint256[]",
1021
- "name": "values",
1022
- "type": "uint256[]"
1023
- },
1024
- {
1025
- "internalType": "string[]",
1026
- "name": "signatures",
1027
- "type": "string[]"
1028
- },
1029
- {
1030
- "internalType": "bytes[]",
1031
- "name": "calldatas",
1032
- "type": "bytes[]"
1033
- },
1034
- {
1035
- "internalType": "string",
1036
- "name": "description",
1037
- "type": "string"
1038
- },
1039
- {
1040
- "internalType": "enum GovernorBravoDelegateStorageV2.ProposalType",
1041
- "name": "proposalType",
1042
- "type": "uint8"
1043
- }
1044
- ],
1045
- "name": "propose",
1046
- "outputs": [
1047
- {
1048
- "internalType": "uint256",
1049
- "name": "",
1050
- "type": "uint256"
1051
- }
1052
- ],
1053
- "payable": false,
1054
- "stateMutability": "nonpayable",
1055
- "type": "function"
1056
- },
1057
- {
1058
- "constant": false,
1059
- "inputs": [
1060
- {
1061
- "internalType": "uint256",
1062
- "name": "proposalId",
1063
- "type": "uint256"
1064
- }
1065
- ],
1066
- "name": "queue",
1067
- "outputs": [],
1068
- "payable": false,
1069
- "stateMutability": "nonpayable",
1070
- "type": "function"
1071
- },
1072
- {
1073
- "constant": true,
1074
- "inputs": [],
1075
- "name": "quorumVotes",
1076
- "outputs": [
1077
- {
1078
- "internalType": "uint256",
1079
- "name": "",
1080
- "type": "uint256"
1081
- }
1082
- ],
1083
- "payable": false,
1084
- "stateMutability": "view",
1085
- "type": "function"
1086
- },
1087
- {
1088
- "constant": true,
1089
- "inputs": [
1090
- {
1091
- "internalType": "uint256",
1092
- "name": "proposalId",
1093
- "type": "uint256"
1094
- }
1095
- ],
1096
- "name": "state",
1097
- "outputs": [
1098
- {
1099
- "internalType": "enum GovernorBravoDelegateStorageV1.ProposalState",
1100
- "name": "",
1101
- "type": "uint8"
1102
- }
1103
- ],
1104
- "payable": false,
1105
- "stateMutability": "view",
1106
- "type": "function"
1107
- },
1108
- {
1109
- "constant": true,
1110
- "inputs": [],
1111
- "name": "timelock",
1112
- "outputs": [
1113
- {
1114
- "internalType": "contract TimelockInterface",
1115
- "name": "",
1116
- "type": "address"
1117
- }
1118
- ],
1119
- "payable": false,
1120
- "stateMutability": "view",
1121
- "type": "function"
1122
- },
1123
- {
1124
- "constant": true,
1125
- "inputs": [],
1126
- "name": "votingDelay",
1127
- "outputs": [
1128
- {
1129
- "internalType": "uint256",
1130
- "name": "",
1131
- "type": "uint256"
1132
- }
1133
- ],
1134
- "payable": false,
1135
- "stateMutability": "view",
1136
- "type": "function"
1137
- },
1138
- {
1139
- "constant": true,
1140
- "inputs": [],
1141
- "name": "votingPeriod",
1142
- "outputs": [
1143
- {
1144
- "internalType": "uint256",
1145
- "name": "",
1146
- "type": "uint256"
1147
- }
1148
- ],
1149
- "payable": false,
1150
- "stateMutability": "view",
1151
- "type": "function"
1152
- },
1153
- {
1154
- "constant": true,
1155
- "inputs": [],
1156
- "name": "xvsVault",
1157
- "outputs": [
1158
- {
1159
- "internalType": "contract XvsVaultInterface",
1160
- "name": "",
1161
- "type": "address"
1162
- }
1163
- ],
1164
- "payable": false,
1165
- "stateMutability": "view",
1166
- "type": "function"
1167
- }
1168
- ],
1169
- "bytecode": "0x608060405234801561001057600080fd5b50614972806100206000396000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c8063791f5d2311610146578063ddf0b009116100c3578063e9c714f211610087578063e9c714f2146104c2578063ee9799ee146104ca578063f851a440146104dd578063f9d28b80146104e5578063fc4eee42146104f8578063fe0d94c1146105005761025e565b8063ddf0b0091461046c578063deaaa7cc1461047f578063e23a9a5214610487578063e38e8c0f146104a7578063e48083fe146104ba5761025e565b8063b11262631161010a578063b112626314610439578063b58131b014610441578063b71d1a0c14610449578063d33219b41461045c578063da35c664146104645761025e565b8063791f5d23146103fb5780637b3c71d3146104035780637bdbe4d0146104165780639e6f26261461041e578063a64e024a146104315761025e565b806325fd935a116101df5780633bccf4fd116101a35780633bccf4fd146103925780633e4f49e6146103a557806340e58ee5146103c5578063452a9320146103d857806356781388146103e05780635c60da1b146103f35761025e565b806325fd935a146103285780632678224714610330578063328dd9821461034557806335a87de2146103685780633932abb11461038a5761025e565b80631b9ce575116102265780631b9ce575146102e65780631ebcfefd146102fb57806320606b7014610310578063215809ca1461031857806324bc1a64146103205761025e565b8063013cf08b1461026357806302a251a31461029657806306fdde03146102ab578063164a1ab1146102c057806317977c61146102d3575b600080fd5b610276610271366004612e15565b610513565b60405161028d9b9a9998979695949392919061462c565b60405180910390f35b61029e61057f565b60405161028d9190614220565b6102b3610585565b60405161028d91906142e5565b61029e6102ce366004612cac565b6105b5565b61029e6102e1366004612bf7565b610a73565b6102ee610a85565b60405161028d91906142c9565b61030e610309366004612e15565b610a94565b005b61029e610b04565b61029e610b1b565b61029e610b21565b61029e610b2f565b610338610b3d565b60405161028d91906140f0565b610358610353366004612e15565b610b4c565b60405161028d94939291906141d3565b61037b610376366004612e15565b610ddb565b60405161028d939291906146de565b61029e610dfc565b61030e6103a0366004612f04565b610e02565b6103b86103b3366004612e15565b610fda565b60405161028d91906142d7565b61030e6103d3366004612e15565b611174565b61033861140a565b61030e6103ee366004612e6d565b611419565b610338611463565b61029e611472565b61030e610411366004612e9d565b611480565b61029e6114d0565b61030e61042c366004612c1d565b6114d6565b61029e611860565b61029e611867565b61029e61186e565b61030e610457366004612bf7565b611874565b6102ee6118f1565b61029e611900565b61030e61047a366004612e15565b611906565b61029e611b9a565b61049a610495366004612e33565b611ba6565b60405161028d9190614566565b61030e6104b5366004612bf7565b611c13565b61029e611ccb565b61030e611cd0565b6102ee6104d8366004612e15565b611dae565b610338611dc9565b61030e6104f3366004612bf7565b611dd8565b61029e611f1c565b61030e61050e366004612e15565b611f22565b600a60208190526000918252604090912080546001820154600283015460078401546008850154600986015496860154600b870154600c880154600e9098015496986001600160a01b039096169794969395929492939192909160ff808316926101009004811691168b565b60045481565b6040518060400160405280601481526020017356656e757320476f7665726e6f7220427261766f60601b81525081565b6000600654600014156105e35760405162461bcd60e51b81526004016105da90614336565b60405180910390fd5b600e60008360028111156105f357fe5b60ff1681526020810191909152604001600020600201546009546001600160a01b031663782d6fe1336106274360016120d5565b6040518363ffffffff1660e01b81526004016106449291906140fe565b60206040518083038186803b15801561065c57600080fd5b505afa158015610670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106949190810190612f79565b6001600160601b031610156106bb5760405162461bcd60e51b81526004016105da906144d6565b855187511480156106cd575084518751145b80156106da575083518751145b6106f65760405162461bcd60e51b81526004016105da906143b6565b86516107145760405162461bcd60e51b81526004016105da90614416565b600c54875111156107375760405162461bcd60e51b81526004016105da90614466565b336000908152600b602052604090205480156107b457600061075882610fda565b9050600181600781111561076857fe5b14156107865760405162461bcd60e51b81526004016105da906144b6565b600081600781111561079457fe5b14156107b25760405162461bcd60e51b81526004016105da90614476565b505b60006107e443600e60008760028111156107ca57fe5b60ff168152602001908152602001600020600001546120fd565b9050600061081682600e60008860028111156107fc57fe5b60ff168152602001908152602001600020600101546120fd565b60078054600101905590506108296124a0565b604051806101e001604052806007548152602001336001600160a01b03168152602001600081526020018c81526020018b81526020018a81526020018981526020018481526020018381526020016000815260200160008152602001600081526020016000151581526020016000151581526020018760028111156108aa57fe5b60ff16905280516000908152600a602090815260409182902083518155818401516001820180546001600160a01b0319166001600160a01b039092169190911790559183015160028301556060830151805193945084936109119260038501920190612526565b506080820151805161092d91600484019160209091019061258b565b5060a082015180516109499160058401916020909101906125d2565b5060c0820151805161096591600684019160209091019061262b565b5060e082015160078201556101008083015160088301556101208301516009830155610140830151600a830155610160830151600b80840191909155610180840151600c840180546101a087015160ff199182169315159390931761ff0019169215159094029190911790556101c090930151600e909201805490911660ff90921691909117905581516020808401516001600160a01b0316600090815292905260409091205580517fc8df7ff219f3c0358e14500814d8b62b443a4bebf3a596baa60b9295b1cf1bde90338d8d8d8d89898f8f6002811115610a4457fe5b604051610a5a9a99989796959493929190614574565b60405180910390a15193505050505b9695505050505050565b600b6020526000908152604090205481565b6009546001600160a01b031681565b6000546001600160a01b03163314610abe5760405162461bcd60e51b81526004016105da90614486565b600c8054908290556040517fd03b3c3c5c1446bcdd31423061041c94ca3bc5450fe7ccfb0f636f4c420de87e90610af890839085906146d0565b60405180910390a15050565b604051610b10906140e5565b604051809103902081565b610e1081565b697f0e10af47c1c700000081565b693f870857a3e0e380000081565b6001546001600160a01b031681565b6060806060806000600a600087815260200190815260200160002090508060030181600401826005018360060183805480602002602001604051908101604052809291908181526020018280548015610bce57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610bb0575b5050505050935082805480602002602001604051908101604052809291908181526020018280548015610c2057602002820191906000526020600020905b815481526020019060010190808311610c0c575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b82821015610cf35760008481526020908190208301805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015610cdf5780601f10610cb457610100808354040283529160200191610cdf565b820191906000526020600020905b815481529060010190602001808311610cc257829003601f168201915b505050505081526020019060010190610c48565b50505050915080805480602002602001604051908101604052809291908181526020016000905b82821015610dc55760008481526020908190208301805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015610db15780601f10610d8657610100808354040283529160200191610db1565b820191906000526020600020905b815481529060010190602001808311610d9457829003601f168201915b505050505081526020019060010190610d1a565b5050505090509450945094509450509193509193565b600e6020526000908152604090208054600182015460029092015490919083565b60035481565b6000604051610e10906140e5565b60408051918290038220828201909152601482527356656e757320476f7665726e6f7220427261766f60601b6020909201919091527f157d76627a3b71c0167806f5879f7a61d3e301322f3a3b9f900315f15937671a610e6e612129565b30604051602001610e82949392919061422e565b6040516020818303038152906040528051906020012090506000604051610ea8906140a9565b604051908190038120610ec1918990899060200161426c565b60405160208183030381529060405280519060200120905060008282604051602001610eee9291906140b4565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610f2b9493929190614294565b6020604051602081039080840390855afa158015610f4d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610f805760405162461bcd60e51b81526004016105da906143a6565b806001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda48a8a610fb8858e8e61212e565b604051610fc79392919061474c565b60405180910390a2505050505050505050565b60008160075410158015610fef575060065482115b61100b5760405162461bcd60e51b81526004016105da906144f6565b6000828152600a60205260409020600c81015460ff161561103057600291505061116f565b8060070154431161104557600091505061116f565b8060080154431161105a57600191505061116f565b80600a0154816009015411158061107e5750697f0e10af47c1c70000008160090154105b1561108d57600391505061116f565b60028101546110a057600491505061116f565b600c810154610100900460ff16156110bc57600791505061116f565b6002810154600e82015460ff166000908152600f60209081526040918290205482516360d143f160e11b8152925161115994936001600160a01b039092169263c1a287e29260048082019391829003018186803b15801561111c57600080fd5b505afa158015611130573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111549190810190612dc3565b6120fd565b421061116957600691505061116f565b60059150505b919050565b600761117f82610fda565b600781111561118a57fe5b14156111a85760405162461bcd60e51b81526004016105da906144e6565b6000818152600a60205260409020600d546001600160a01b03163314806111db575060018101546001600160a01b031633145b8061129e5750600e8181015460ff16600090815260209190915260409020600201546009546001808401546001600160a01b039283169263782d6fe1929116906112269043906120d5565b6040518363ffffffff1660e01b8152600401611243929190614134565b60206040518083038186803b15801561125b57600080fd5b505afa15801561126f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112939190810190612f79565b6001600160601b0316105b6112ba5760405162461bcd60e51b81526004016105da90614446565b600c8101805460ff1916600117905560005b60038201548110156113da57600e82015460ff166000908152600f60205260409020546003830180546001600160a01b039092169163591fcdfe91908490811061131257fe5b6000918252602090912001546004850180546001600160a01b03909216918590811061133a57fe5b906000526020600020015485600501858154811061135457fe5b9060005260206000200186600601868154811061136d57fe5b9060005260206000200187600201546040518663ffffffff1660e01b815260040161139c959493929190614192565b600060405180830381600087803b1580156113b657600080fd5b505af11580156113ca573d6000803e3d6000fd5b5050600190920191506112cc9050565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c82604051610af89190614220565b600d546001600160a01b031681565b337fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4838361144884838361212e565b6040516114579392919061474c565b60405180910390a25050565b6002546001600160a01b031681565b691fc3842bd1f071c0000081565b337fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda485856114af84838361212e565b86866040516114c2959493929190614706565b60405180910390a250505050565b600c5481565b60008052600f6020527ff4803e074bd026baaf6ed2e288c9515f68c72fb7216eebdd7cae1718a53ec375546001600160a01b0316156115275760405162461bcd60e51b81526004016105da906143d6565b6000546001600160a01b031633146115515760405162461bcd60e51b81526004016105da906143c6565b6001600160a01b0384166115775760405162461bcd60e51b81526004016105da90614386565b6001600160a01b03811661159d5760405162461bcd60e51b81526004016105da90614456565b81516003146115be5760405162461bcd60e51b81526004016105da90614326565b82516003146115df5760405162461bcd60e51b81526004016105da90614506565b600980546001600160a01b038087166001600160a01b031992831617909255600a600c55600d805492841692909116919091179055825160005b8181101561185857610e1085828151811061163057fe5b602002602001015160200151101561165a5760405162461bcd60e51b81526004016105da90614376565b6206270085828151811061166a57fe5b60200260200101516020015111156116945760405162461bcd60e51b81526004016105da90614546565b60018582815181106116a257fe5b60200260200101516000015110156116cc5760405162461bcd60e51b81526004016105da90614436565b620313808582815181106116dc57fe5b60200260200101516000015111156117065760405162461bcd60e51b81526004016105da906144a6565b691fc3842bd1f071c0000085828151811061171d57fe5b60200260200101516040015110156117475760405162461bcd60e51b81526004016105da90614346565b693f870857a3e0e380000085828151811061175e57fe5b60200260200101516040015111156117885760405162461bcd60e51b81526004016105da90614556565b60006001600160a01b031684828151811061179f57fe5b60200260200101516001600160a01b031614156117ce5760405162461bcd60e51b81526004016105da90614496565b8481815181106117da57fe5b6020908102919091018101516000838152600e8352604090819020825181559282015160018401550151600290910155835184908290811061181857fe5b6020908102919091018101516000838152600f909252604090912080546001600160a01b0319166001600160a01b03909216919091179055600101611619565b505050505050565b6206270081565b6203138081565b60055481565b6000546001600160a01b0316331461189e5760405162461bcd60e51b81526004016105da90614306565b600180546001600160a01b038381166001600160a01b03198316179092556040519116907fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a990610af89083908590614119565b6008546001600160a01b031681565b60075481565b600461191182610fda565b600781111561191c57fe5b146119395760405162461bcd60e51b81526004016105da906143e6565b6000818152600a60209081526040808320600e81015460ff168452600f8352818420548251630d48571f60e31b815292519194936119a29342936001600160a01b0390931692636a42b8f892600480840193919291829003018186803b15801561111c57600080fd5b905060005b6003830154811015611b5357611b4b8360030182815481106119c557fe5b6000918252602090912001546004850180546001600160a01b0390921691849081106119ed57fe5b9060005260206000200154856005018481548110611a0757fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611a955780601f10611a6a57610100808354040283529160200191611a95565b820191906000526020600020905b815481529060010190602001808311611a7857829003601f168201915b5050505050866006018581548110611aa957fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611b375780601f10611b0c57610100808354040283529160200191611b37565b820191906000526020600020905b815481529060010190602001808311611b1a57829003601f168201915b50505050600e89015488915060ff1661231e565b6001016119a7565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290611b8d90859084906146d0565b60405180910390a1505050565b604051610b10906140a9565b611bae612684565b506000828152600a602090815260408083206001600160a01b0385168452600d018252918290208251606081018452905460ff8082161515835261010082041692820192909252620100009091046001600160601b0316918101919091525b92915050565b600d546001600160a01b0316331480611c3657506000546001600160a01b031633145b611c525760405162461bcd60e51b81526004016105da90614526565b6001600160a01b038116611c785760405162461bcd60e51b81526004016105da90614516565b600d80546001600160a01b038381166001600160a01b03198316179092556040519116907f08fdaf06427a2010e5958f4329b566993472d14ce81d3f16ce7f2a2660da98e390610af89083908590614119565b600181565b6001546001600160a01b031633148015611ce957503315155b611d055760405162461bcd60e51b81526004016105da90614426565b60008054600180546001600160a01b038082166001600160a01b03198086168217968790559092169092556040519282169390927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92611d69928692911690614119565b60405180910390a16001546040517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991610af89184916001600160a01b031690614119565b600f602052600090815260409020546001600160a01b031681565b6000546001600160a01b031681565b6000546001600160a01b03163314611e025760405162461bcd60e51b81526004016105da906144c6565b60065415611e225760405162461bcd60e51b81526004016105da90614406565b806001600160a01b031663da35c6646040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611e5d57600080fd5b505af1158015611e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e959190810190612dc3565b600781905560065560005b6003811015611f18576000818152600f6020526040808220548151630e18b68160e01b815291516001600160a01b0390911692630e18b681926004808201939182900301818387803b158015611ef557600080fd5b505af1158015611f09573d6000803e3d6000fd5b50505050806001019050611ea0565b5050565b60065481565b6005611f2d82610fda565b6007811115611f3857fe5b14611f555760405162461bcd60e51b81526004016105da90614396565b6000818152600a60205260408120600c8101805461ff001916610100179055905b60038201548110156120a557600e82015460ff166000908152600f60205260409020546003830180546001600160a01b0390921691630825f38f919084908110611fbc57fe5b6000918252602090912001546004850180546001600160a01b039092169185908110611fe457fe5b9060005260206000200154856005018581548110611ffe57fe5b9060005260206000200186600601868154811061201757fe5b9060005260206000200187600201546040518663ffffffff1660e01b8152600401612046959493929190614192565b600060405180830381600087803b15801561206057600080fd5b505af1158015612074573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261209c9190810190612de1565b50600101611f76565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f82604051610af89190614220565b6000828211156120f75760405162461bcd60e51b81526004016105da90614536565b50900390565b6000828201838110156121225760405162461bcd60e51b81526004016105da906143f6565b9392505050565b465b90565b6000600161213b84610fda565b600781111561214657fe5b146121635760405162461bcd60e51b81526004016105da90614356565b60028260ff1611156121875760405162461bcd60e51b81526004016105da906142f6565b6000838152600a602090815260408083206001600160a01b0388168452600d8101909252909120805460ff16156121d05760405162461bcd60e51b81526004016105da90614366565b600954600783015460405163782d6fe160e01b81526000926001600160a01b03169163782d6fe191612206918b91600401614134565b60206040518083038186803b15801561221e57600080fd5b505afa158015612232573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122569190810190612f79565b905060ff85166122815761227783600a0154826001600160601b03166120fd565b600a8401556122d7565b8460ff16600114156122ae576122a48360090154826001600160601b03166120fd565b60098401556122d7565b8460ff16600214156122d7576122d183600b0154826001600160601b03166120fd565b600b8401555b8154600160ff199091161761ff00191661010060ff871602176dffffffffffffffffffffffff00001916620100006001600160601b03831602179091559150509392505050565b60ff81166000908152600f60209081526040918290205491516001600160a01b039092169163f2b065379161235d918a918a918a918a918a9101614142565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b815260040161238f9190614220565b60206040518083038186803b1580156123a757600080fd5b505afa1580156123bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123df9190810190612da5565b156123fc5760405162461bcd60e51b81526004016105da90614316565b60ff81166000908152600f602052604090819020549051633a66f90160e01b81526001600160a01b0390911690633a66f901906124459089908990899089908990600401614142565b602060405180830381600087803b15801561245f57600080fd5b505af1158015612473573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124979190810190612dc3565b50505050505050565b604051806101e001604052806000815260200160006001600160a01b0316815260200160008152602001606081526020016060815260200160608152602001606081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600015158152602001600060ff1681525090565b82805482825590600052602060002090810192821561257b579160200282015b8281111561257b57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612546565b506125879291506126a4565b5090565b8280548282559060005260206000209081019282156125c6579160200282015b828111156125c65782518255916020019190600101906125ab565b506125879291506126c8565b82805482825590600052602060002090810192821561261f579160200282015b8281111561261f578251805161260f9184916020909101906126e2565b50916020019190600101906125f2565b5061258792915061274f565b828054828255906000526020600020908101928215612678579160200282015b8281111561267857825180516126689184916020909101906126e2565b509160200191906001019061264b565b50612587929150612772565b604080516060810182526000808252602082018190529181019190915290565b61212b91905b808211156125875780546001600160a01b03191681556001016126aa565b61212b91905b8082111561258757600081556001016126ce565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061272357805160ff19168380011785556125c6565b828001600101855582156125c657918201828111156125c65782518255916020019190600101906125ab565b61212b91905b808211156125875760006127698282612795565b50600101612755565b61212b91905b8082111561258757600061278c8282612795565b50600101612778565b50805460018160011615610100020316600290046000825580601f106127bb57506127d9565b601f0160209004906000526020600020908101906127d991906126c8565b50565b8035611c0d816148c1565b600082601f8301126127f857600080fd5b813561280b612806826147ab565b614785565b9150818183526020840193506020810190508385602084028201111561283057600080fd5b60005b8381101561285c578161284688826127dc565b8452506020928301929190910190600101612833565b5050505092915050565b600082601f83011261287757600080fd5b8135612885612806826147ab565b81815260209384019390925082018360005b8381101561285c57813586016128ad8882612a93565b8452506020928301929190910190600101612897565b600082601f8301126128d457600080fd5b81356128e2612806826147ab565b9150818183526020840193506020810190508385602084028201111561290757600080fd5b60005b8381101561285c578161291d8882612b28565b845250602092830192919091019060010161290a565b600082601f83011261294457600080fd5b8135612952612806826147ab565b81815260209384019390925082018360005b8381101561285c578135860161297a8882612a93565b8452506020928301929190910190600101612964565b600082601f8301126129a157600080fd5b81356129af612806826147ab565b915081818352602084019350602081019050838560608402820111156129d457600080fd5b60005b8381101561285c57816129ea8882612b86565b845250602090920191606091909101906001016129d7565b600082601f830112612a1357600080fd5b8135612a21612806826147ab565b91508181835260208401935060208101905083856020840282011115612a4657600080fd5b60005b8381101561285c5781612a5c8882612a7d565b8452506020928301929190910190600101612a49565b8051611c0d816148d5565b8035611c0d816148de565b8051611c0d816148de565b600082601f830112612aa457600080fd5b8135612ab2612806826147cb565b91508082526020830160208301858383011115612ace57600080fd5b612ad9838284614875565b50505092915050565b600082601f830112612af357600080fd5b8151612b01612806826147cb565b91508082526020830160208301858383011115612b1d57600080fd5b612ad9838284614881565b8035611c0d816148e7565b8035611c0d816148f0565b60008083601f840112612b5057600080fd5b5081356001600160401b03811115612b6757600080fd5b602083019150836001820283011115612b7f57600080fd5b9250929050565b600060608284031215612b9857600080fd5b612ba26060614785565b90506000612bb08484612a7d565b8252506020612bc184848301612a7d565b6020830152506040612bd584828501612a7d565b60408301525092915050565b8035611c0d816148fd565b8051611c0d81614906565b600060208284031215612c0957600080fd5b6000612c1584846127dc565b949350505050565b60008060008060808587031215612c3357600080fd5b6000612c3f87876127dc565b94505060208501356001600160401b03811115612c5b57600080fd5b612c6787828801612990565b93505060408501356001600160401b03811115612c8357600080fd5b612c8f878288016128c3565b9250506060612ca0878288016127dc565b91505092959194509250565b60008060008060008060c08789031215612cc557600080fd5b86356001600160401b03811115612cdb57600080fd5b612ce789828a016127e7565b96505060208701356001600160401b03811115612d0357600080fd5b612d0f89828a01612a02565b95505060408701356001600160401b03811115612d2b57600080fd5b612d3789828a01612933565b94505060608701356001600160401b03811115612d5357600080fd5b612d5f89828a01612866565b93505060808701356001600160401b03811115612d7b57600080fd5b612d8789828a01612a93565b92505060a0612d9889828a01612b33565b9150509295509295509295565b600060208284031215612db757600080fd5b6000612c158484612a72565b600060208284031215612dd557600080fd5b6000612c158484612a88565b600060208284031215612df357600080fd5b81516001600160401b03811115612e0957600080fd5b612c1584828501612ae2565b600060208284031215612e2757600080fd5b6000612c158484612a7d565b60008060408385031215612e4657600080fd5b6000612e528585612a7d565b9250506020612e63858286016127dc565b9150509250929050565b60008060408385031215612e8057600080fd5b6000612e8c8585612a7d565b9250506020612e6385828601612be1565b60008060008060608587031215612eb357600080fd5b6000612ebf8787612a7d565b9450506020612ed087828801612be1565b93505060408501356001600160401b03811115612eec57600080fd5b612ef887828801612b3e565b95989497509550505050565b600080600080600060a08688031215612f1c57600080fd5b6000612f288888612a7d565b9550506020612f3988828901612be1565b9450506040612f4a88828901612be1565b9350506060612f5b88828901612a7d565b9250506080612f6c88828901612a7d565b9150509295509295909350565b600060208284031215612f8b57600080fd5b6000612c158484612bec565b6000612fa38383612fd2565b505060200190565b60006121228383613174565b6000612fa3838361315a565b612fcc81614854565b82525050565b612fcc81614811565b6000612fe682614804565b612ff08185614808565b9350612ffb836147f2565b8060005b838110156130295781516130138882612f97565b975061301e836147f2565b925050600101612fff565b509495945050505050565b600061303f82614804565b6130498185614808565b93508360208202850161305b856147f2565b8060005b8581101561309557848403895281516130788582612fab565b9450613083836147f2565b60209a909a019992505060010161305f565b5091979650505050505050565b60006130ad82614804565b6130b78185614808565b9350836020820285016130c9856147f2565b8060005b8581101561309557848403895281516130e68582612fab565b94506130f1836147f2565b60209a909a01999250506001016130cd565b600061310e82614804565b6131188185614808565b9350613123836147f2565b8060005b8381101561302957815161313b8882612fb7565b9750613146836147f2565b925050600101613127565b612fcc8161481c565b612fcc8161212b565b612fcc61316f8261212b565b61212b565b600061317f82614804565b6131898185614808565b9350613199818560208601614881565b6131a2816148ad565b9093019392505050565b6000815460018116600081146131c957600181146131ef5761322e565b607f60028304166131da8187614808565b60ff198416815295505060208501925061322e565b600282046131fd8187614808565b9550613208856147f8565b60005b828110156132275781548882015260019091019060200161320b565b8701945050505b505092915050565b612fcc81614821565b612fcc8161485f565b60006132548385614808565b9350613261838584614875565b6131a2836148ad565b6000613277603283614808565b7f476f7665726e6f72427261766f3a3a63617374566f7465496e7465726e616c3a81527120696e76616c696420766f7465207479706560701b602082015260400192915050565b60006132cb60288361116f565b7f42616c6c6f742875696e743235362070726f706f73616c49642c75696e743820815267737570706f72742960c01b602082015260280192915050565b6000613315602a83614808565b7f476f7665726e6f72427261766f3a5f73657450656e64696e6741646d696e3a2081526961646d696e206f6e6c7960b01b602082015260400192915050565b6000613361605583614808565b7f476f7665726e6f72427261766f3a3a71756575654f72526576657274496e746581527f726e616c3a206964656e746963616c2070726f706f73616c20616374696f6e20602082015274616c7265616479207175657565642061742065746160581b604082015260600192915050565b60006133de605683614808565b7f476f7665726e6f72427261766f3a3a696e697469616c697a653a6e756d62657281527f206f662074696d656c6f636b732073686f756c64206d61746368206e756d626560208201527572206f6620676f7665726e616e636520726f7574657360501b604082015260600192915050565b600061345c603183614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a20476f7665726e6f7281527020427261766f206e6f742061637469766560781b602082015260400192915050565b60006134af60028361116f565b61190160f01b815260020192915050565b60006134cd603983614808565b60008051602061491083398151915281527f6964206d696e2070726f706f73616c207468726573686f6c6400000000000000602082015260400192915050565b600061351a603183614808565b7f476f7665726e6f72427261766f3a3a63617374566f7465496e7465726e616c3a815270081d9bdd1a5b99c81a5cc818db1bdcd959607a1b602082015260400192915050565b600061356d603483614808565b7f476f7665726e6f72427261766f3a3a63617374566f7465496e7465726e616c3a815273081d9bdd195c88185b1c9958591e481d9bdd195960621b602082015260400192915050565b60006135c3603483614808565b6000805160206149108339815191528152731a59081b5a5b881d9bdd1a5b99c81c195c9a5bd960621b602082015260400192915050565b6000613607602e83614808565b60008051602061491083398151915281526d696420787673206164647265737360901b602082015260400192915050565b6000613645604583614808565b7f476f7665726e6f72427261766f3a3a657865637574653a2070726f706f73616c81527f2063616e206f6e6c7920626520657865637574656420696620697420697320716020820152641d595d595960da1b604082015260600192915050565b60006136b2602f83614808565b7f476f7665726e6f72427261766f3a3a63617374566f746542795369673a20696e81526e76616c6964207369676e617475726560881b602082015260400192915050565b6000613703604483614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a2070726f706f73616c81527f2066756e6374696f6e20696e666f726d6174696f6e206172697479206d69736d6020820152630c2e8c6d60e31b604082015260600192915050565b600061376f602583614808565b7f476f7665726e6f72427261766f3a3a696e697469616c697a653a2061646d696e815264206f6e6c7960d81b602082015260400192915050565b60006137b6603283614808565b7f476f7665726e6f72427261766f3a3a696e697469616c697a653a2063616e6e6f8152717420696e697469616c697a6520747769636560701b602082015260400192915050565b600061380a604483614808565b7f476f7665726e6f72427261766f3a3a71756575653a2070726f706f73616c206381527f616e206f6e6c79206265207175657565642069662069742069732073756363656020820152631959195960e21b604082015260600192915050565b6000613876601183614808565b706164646974696f6e206f766572666c6f7760781b815260200192915050565b60006138a360438361116f565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b600061390e603083614808565b7f476f7665726e6f72427261766f3a3a5f696e6974696174653a2063616e206f6e81526f6c7920696e697469617465206f6e636560801b602082015260400192915050565b6000613960602c83614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a206d7573742070726f81526b7669646520616374696f6e7360a01b602082015260400192915050565b60006139ae602e83614808565b7f476f7665726e6f72427261766f3a5f61636365707441646d696e3a2070656e6481526d696e672061646d696e206f6e6c7960901b602082015260400192915050565b60006139fe603383614808565b6000805160206149108339815191528152726964206d696e20766f74696e672064656c617960681b602082015260400192915050565b6000613a41602f83614808565b7f476f7665726e6f72427261766f3a3a63616e63656c3a2070726f706f7365722081526e18589bdd99481d1a1c995cda1bdb19608a1b602082015260400192915050565b6000613a92602b83614808565b60008051602061491083398151915281526a34b21033bab0b93234b0b760a91b602082015260400192915050565b6000613acd602883614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a20746f6f206d616e7981526720616374696f6e7360c01b602082015260400192915050565b6000613b17605983614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c72656164792070656e64696e672070726f706f73616c00000000000000604082015260600192915050565b6000613b9c603483614808565b7f476f7665726e6f72427261766f3a3a5f73657450726f706f73616c4d61784f7081527365726174696f6e733a2061646d696e206f6e6c7960601b602082015260400192915050565b6000613bf2603283614808565b7f476f7665726e6f72427261766f3a3a696e697469616c697a653a696e76616c69815271642074696d656c6f636b206164647265737360701b602082015260400192915050565b6000613c46603383614808565b6000805160206149108339815191528152726964206d617820766f74696e672064656c617960681b602082015260400192915050565b6000613c89605883614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c7265616479206163746976652070726f706f73616c0000000000000000604082015260600192915050565b6000611c0d600083614808565b6000613d1b602483614808565b7f476f7665726e6f72427261766f3a3a5f696e6974696174653a2061646d696e208152636f6e6c7960e01b602082015260400192915050565b6000613d61603f83614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a2070726f706f73657281527f20766f7465732062656c6f772070726f706f73616c207468726573686f6c6400602082015260400192915050565b6000613dc0603683614808565b7f476f7665726e6f72427261766f3a3a63616e63656c3a2063616e6e6f742063618152751b98d95b08195e1958dd5d1959081c1c9bdc1bdcd85b60521b602082015260400192915050565b6000613e18602983614808565b7f476f7665726e6f72427261766f3a3a73746174653a20696e76616c69642070728152681bdc1bdcd85b081a5960ba1b602082015260400192915050565b6000613e63605d83614808565b7f476f7665726e6f72427261766f3a3a696e697469616c697a653a6e756d62657281527f206f662070726f706f73616c20636f6e666967732073686f756c64206d61746360208201527f68206e756d626572206f6620676f7665726e616e636520726f75746573000000604082015260600192915050565b6000613ee8603b83614808565b7f476f7665726e6f72427261766f3a3a5f736574477561726469616e3a2063616e81527f6e6f74206c69766520776974686f7574206120677561726469616e0000000000602082015260400192915050565b6000613f47603383614808565b7f476f7665726e6f72427261766f3a3a5f736574477561726469616e3a2061646d815272696e206f7220677561726469616e206f6e6c7960681b602082015260400192915050565b6000613f9c601583614808565b747375627472616374696f6e20756e646572666c6f7760581b815260200192915050565b6000613fcd603483614808565b6000805160206149108339815191528152731a59081b585e081d9bdd1a5b99c81c195c9a5bd960621b602082015260400192915050565b6000614011603983614808565b60008051602061491083398151915281527f6964206d61782070726f706f73616c207468726573686f6c6400000000000000602082015260400192915050565b805160608301906140628482613151565b506020820151614075602085018261408e565b50604082015161408860408501826140a0565b50505050565b612fcc81614842565b612fcc8161486a565b612fcc81614848565b6000611c0d826132be565b60006140bf826134a2565b91506140cb8285613163565b6020820191506140db8284613163565b5060200192915050565b6000611c0d82613896565b60208101611c0d8284612fd2565b6040810161410c8285612fc3565b612122602083018461315a565b604081016141278285612fd2565b6121226020830184612fd2565b6040810161410c8285612fd2565b60a081016141508288612fd2565b61415d602083018761315a565b818103604083015261416f8186613174565b905081810360608301526141838185613174565b9050610a69608083018461315a565b60a081016141a08288612fd2565b6141ad602083018761315a565b81810360408301526141bf81866131ac565b9050818103606083015261418381856131ac565b608080825281016141e48187612fdb565b905081810360208301526141f88186613103565b9050818103604083015261420c81856130a2565b90508181036060830152610a698184613034565b60208101611c0d828461315a565b6080810161423c828761315a565b614249602083018661315a565b614256604083018561315a565b6142636060830184612fd2565b95945050505050565b6060810161427a828661315a565b614287602083018561315a565b612c15604083018461408e565b608081016142a2828761315a565b6142af602083018661408e565b6142bc604083018561315a565b614263606083018461315a565b60208101611c0d8284613236565b60208101611c0d828461323f565b602080825281016121228184613174565b60208082528101611c0d8161326a565b60208082528101611c0d81613308565b60208082528101611c0d81613354565b60208082528101611c0d816133d1565b60208082528101611c0d8161344f565b60208082528101611c0d816134c0565b60208082528101611c0d8161350d565b60208082528101611c0d81613560565b60208082528101611c0d816135b6565b60208082528101611c0d816135fa565b60208082528101611c0d81613638565b60208082528101611c0d816136a5565b60208082528101611c0d816136f6565b60208082528101611c0d81613762565b60208082528101611c0d816137a9565b60208082528101611c0d816137fd565b60208082528101611c0d81613869565b60208082528101611c0d81613901565b60208082528101611c0d81613953565b60208082528101611c0d816139a1565b60208082528101611c0d816139f1565b60208082528101611c0d81613a34565b60208082528101611c0d81613a85565b60208082528101611c0d81613ac0565b60208082528101611c0d81613b0a565b60208082528101611c0d81613b8f565b60208082528101611c0d81613be5565b60208082528101611c0d81613c39565b60208082528101611c0d81613c7c565b60208082528101611c0d81613d0e565b60208082528101611c0d81613d54565b60208082528101611c0d81613db3565b60208082528101611c0d81613e0b565b60208082528101611c0d81613e56565b60208082528101611c0d81613edb565b60208082528101611c0d81613f3a565b60208082528101611c0d81613f8f565b60208082528101611c0d81613fc0565b60208082528101611c0d81614004565b60608101611c0d8284614051565b6101408101614583828d61315a565b614590602083018c612fc3565b81810360408301526145a2818b612fdb565b905081810360608301526145b6818a613103565b905081810360808301526145ca81896130a2565b905081810360a08301526145de8188613034565b90506145ed60c083018761315a565b6145fa60e083018661315a565b81810361010083015261460d8185613174565b905061461d61012083018461408e565b9b9a5050505050505050505050565b610160810161463b828e61315a565b614648602083018d612fd2565b614655604083018c61315a565b614662606083018b61315a565b61466f608083018a61315a565b61467c60a083018961315a565b61468960c083018861315a565b61469660e083018761315a565b6146a4610100830186613151565b6146b2610120830185613151565b6146c061014083018461408e565b9c9b505050505050505050505050565b6040810161410c828561315a565b606081016146ec828661315a565b6146f9602083018561315a565b612c15604083018461315a565b60808101614714828861315a565b614721602083018761408e565b61472e6040830186614097565b8181036060830152614741818486613248565b979650505050505050565b6080810161475a828661315a565b614767602083018561408e565b6147746040830184614097565b818103606083015261426381613d01565b6040518181016001600160401b03811182821017156147a357600080fd5b604052919050565b60006001600160401b038211156147c157600080fd5b5060209081020190565b60006001600160401b038211156147e157600080fd5b506020601f91909101601f19160190565b60200190565b60009081526020902090565b5190565b90815260200190565b6000611c0d82614836565b151590565b6000611c0d82614811565b8061116f816148b7565b6001600160a01b031690565b60ff1690565b6001600160601b031690565b6000611c0d82614821565b6000611c0d8261482c565b6000611c0d82614848565b82818337506000910152565b60005b8381101561489c578181015183820152602001614884565b838111156140885750506000910152565b601f01601f191690565b600881106127d957fe5b6148ca81614811565b81146127d957600080fd5b6148ca8161481c565b6148ca8161212b565b6148ca81614821565b600381106127d957600080fd5b6148ca81614842565b6148ca8161484856fe476f7665726e6f72427261766f3a3a696e697469616c697a653a20696e76616ca365627a7a72315820b3baf8a722503822903bf4bfc0ba82c5a756e0f88fceec92efd9eb190ec468826c6578706572696d656e74616cf564736f6c63430005100040",
1170
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061025e5760003560e01c8063791f5d2311610146578063ddf0b009116100c3578063e9c714f211610087578063e9c714f2146104c2578063ee9799ee146104ca578063f851a440146104dd578063f9d28b80146104e5578063fc4eee42146104f8578063fe0d94c1146105005761025e565b8063ddf0b0091461046c578063deaaa7cc1461047f578063e23a9a5214610487578063e38e8c0f146104a7578063e48083fe146104ba5761025e565b8063b11262631161010a578063b112626314610439578063b58131b014610441578063b71d1a0c14610449578063d33219b41461045c578063da35c664146104645761025e565b8063791f5d23146103fb5780637b3c71d3146104035780637bdbe4d0146104165780639e6f26261461041e578063a64e024a146104315761025e565b806325fd935a116101df5780633bccf4fd116101a35780633bccf4fd146103925780633e4f49e6146103a557806340e58ee5146103c5578063452a9320146103d857806356781388146103e05780635c60da1b146103f35761025e565b806325fd935a146103285780632678224714610330578063328dd9821461034557806335a87de2146103685780633932abb11461038a5761025e565b80631b9ce575116102265780631b9ce575146102e65780631ebcfefd146102fb57806320606b7014610310578063215809ca1461031857806324bc1a64146103205761025e565b8063013cf08b1461026357806302a251a31461029657806306fdde03146102ab578063164a1ab1146102c057806317977c61146102d3575b600080fd5b610276610271366004612e15565b610513565b60405161028d9b9a9998979695949392919061462c565b60405180910390f35b61029e61057f565b60405161028d9190614220565b6102b3610585565b60405161028d91906142e5565b61029e6102ce366004612cac565b6105b5565b61029e6102e1366004612bf7565b610a73565b6102ee610a85565b60405161028d91906142c9565b61030e610309366004612e15565b610a94565b005b61029e610b04565b61029e610b1b565b61029e610b21565b61029e610b2f565b610338610b3d565b60405161028d91906140f0565b610358610353366004612e15565b610b4c565b60405161028d94939291906141d3565b61037b610376366004612e15565b610ddb565b60405161028d939291906146de565b61029e610dfc565b61030e6103a0366004612f04565b610e02565b6103b86103b3366004612e15565b610fda565b60405161028d91906142d7565b61030e6103d3366004612e15565b611174565b61033861140a565b61030e6103ee366004612e6d565b611419565b610338611463565b61029e611472565b61030e610411366004612e9d565b611480565b61029e6114d0565b61030e61042c366004612c1d565b6114d6565b61029e611860565b61029e611867565b61029e61186e565b61030e610457366004612bf7565b611874565b6102ee6118f1565b61029e611900565b61030e61047a366004612e15565b611906565b61029e611b9a565b61049a610495366004612e33565b611ba6565b60405161028d9190614566565b61030e6104b5366004612bf7565b611c13565b61029e611ccb565b61030e611cd0565b6102ee6104d8366004612e15565b611dae565b610338611dc9565b61030e6104f3366004612bf7565b611dd8565b61029e611f1c565b61030e61050e366004612e15565b611f22565b600a60208190526000918252604090912080546001820154600283015460078401546008850154600986015496860154600b870154600c880154600e9098015496986001600160a01b039096169794969395929492939192909160ff808316926101009004811691168b565b60045481565b6040518060400160405280601481526020017356656e757320476f7665726e6f7220427261766f60601b81525081565b6000600654600014156105e35760405162461bcd60e51b81526004016105da90614336565b60405180910390fd5b600e60008360028111156105f357fe5b60ff1681526020810191909152604001600020600201546009546001600160a01b031663782d6fe1336106274360016120d5565b6040518363ffffffff1660e01b81526004016106449291906140fe565b60206040518083038186803b15801561065c57600080fd5b505afa158015610670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106949190810190612f79565b6001600160601b031610156106bb5760405162461bcd60e51b81526004016105da906144d6565b855187511480156106cd575084518751145b80156106da575083518751145b6106f65760405162461bcd60e51b81526004016105da906143b6565b86516107145760405162461bcd60e51b81526004016105da90614416565b600c54875111156107375760405162461bcd60e51b81526004016105da90614466565b336000908152600b602052604090205480156107b457600061075882610fda565b9050600181600781111561076857fe5b14156107865760405162461bcd60e51b81526004016105da906144b6565b600081600781111561079457fe5b14156107b25760405162461bcd60e51b81526004016105da90614476565b505b60006107e443600e60008760028111156107ca57fe5b60ff168152602001908152602001600020600001546120fd565b9050600061081682600e60008860028111156107fc57fe5b60ff168152602001908152602001600020600101546120fd565b60078054600101905590506108296124a0565b604051806101e001604052806007548152602001336001600160a01b03168152602001600081526020018c81526020018b81526020018a81526020018981526020018481526020018381526020016000815260200160008152602001600081526020016000151581526020016000151581526020018760028111156108aa57fe5b60ff16905280516000908152600a602090815260409182902083518155818401516001820180546001600160a01b0319166001600160a01b039092169190911790559183015160028301556060830151805193945084936109119260038501920190612526565b506080820151805161092d91600484019160209091019061258b565b5060a082015180516109499160058401916020909101906125d2565b5060c0820151805161096591600684019160209091019061262b565b5060e082015160078201556101008083015160088301556101208301516009830155610140830151600a830155610160830151600b80840191909155610180840151600c840180546101a087015160ff199182169315159390931761ff0019169215159094029190911790556101c090930151600e909201805490911660ff90921691909117905581516020808401516001600160a01b0316600090815292905260409091205580517fc8df7ff219f3c0358e14500814d8b62b443a4bebf3a596baa60b9295b1cf1bde90338d8d8d8d89898f8f6002811115610a4457fe5b604051610a5a9a99989796959493929190614574565b60405180910390a15193505050505b9695505050505050565b600b6020526000908152604090205481565b6009546001600160a01b031681565b6000546001600160a01b03163314610abe5760405162461bcd60e51b81526004016105da90614486565b600c8054908290556040517fd03b3c3c5c1446bcdd31423061041c94ca3bc5450fe7ccfb0f636f4c420de87e90610af890839085906146d0565b60405180910390a15050565b604051610b10906140e5565b604051809103902081565b610e1081565b697f0e10af47c1c700000081565b693f870857a3e0e380000081565b6001546001600160a01b031681565b6060806060806000600a600087815260200190815260200160002090508060030181600401826005018360060183805480602002602001604051908101604052809291908181526020018280548015610bce57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610bb0575b5050505050935082805480602002602001604051908101604052809291908181526020018280548015610c2057602002820191906000526020600020905b815481526020019060010190808311610c0c575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b82821015610cf35760008481526020908190208301805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015610cdf5780601f10610cb457610100808354040283529160200191610cdf565b820191906000526020600020905b815481529060010190602001808311610cc257829003601f168201915b505050505081526020019060010190610c48565b50505050915080805480602002602001604051908101604052809291908181526020016000905b82821015610dc55760008481526020908190208301805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015610db15780601f10610d8657610100808354040283529160200191610db1565b820191906000526020600020905b815481529060010190602001808311610d9457829003601f168201915b505050505081526020019060010190610d1a565b5050505090509450945094509450509193509193565b600e6020526000908152604090208054600182015460029092015490919083565b60035481565b6000604051610e10906140e5565b60408051918290038220828201909152601482527356656e757320476f7665726e6f7220427261766f60601b6020909201919091527f157d76627a3b71c0167806f5879f7a61d3e301322f3a3b9f900315f15937671a610e6e612129565b30604051602001610e82949392919061422e565b6040516020818303038152906040528051906020012090506000604051610ea8906140a9565b604051908190038120610ec1918990899060200161426c565b60405160208183030381529060405280519060200120905060008282604051602001610eee9291906140b4565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610f2b9493929190614294565b6020604051602081039080840390855afa158015610f4d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610f805760405162461bcd60e51b81526004016105da906143a6565b806001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda48a8a610fb8858e8e61212e565b604051610fc79392919061474c565b60405180910390a2505050505050505050565b60008160075410158015610fef575060065482115b61100b5760405162461bcd60e51b81526004016105da906144f6565b6000828152600a60205260409020600c81015460ff161561103057600291505061116f565b8060070154431161104557600091505061116f565b8060080154431161105a57600191505061116f565b80600a0154816009015411158061107e5750697f0e10af47c1c70000008160090154105b1561108d57600391505061116f565b60028101546110a057600491505061116f565b600c810154610100900460ff16156110bc57600791505061116f565b6002810154600e82015460ff166000908152600f60209081526040918290205482516360d143f160e11b8152925161115994936001600160a01b039092169263c1a287e29260048082019391829003018186803b15801561111c57600080fd5b505afa158015611130573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111549190810190612dc3565b6120fd565b421061116957600691505061116f565b60059150505b919050565b600761117f82610fda565b600781111561118a57fe5b14156111a85760405162461bcd60e51b81526004016105da906144e6565b6000818152600a60205260409020600d546001600160a01b03163314806111db575060018101546001600160a01b031633145b8061129e5750600e8181015460ff16600090815260209190915260409020600201546009546001808401546001600160a01b039283169263782d6fe1929116906112269043906120d5565b6040518363ffffffff1660e01b8152600401611243929190614134565b60206040518083038186803b15801561125b57600080fd5b505afa15801561126f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112939190810190612f79565b6001600160601b0316105b6112ba5760405162461bcd60e51b81526004016105da90614446565b600c8101805460ff1916600117905560005b60038201548110156113da57600e82015460ff166000908152600f60205260409020546003830180546001600160a01b039092169163591fcdfe91908490811061131257fe5b6000918252602090912001546004850180546001600160a01b03909216918590811061133a57fe5b906000526020600020015485600501858154811061135457fe5b9060005260206000200186600601868154811061136d57fe5b9060005260206000200187600201546040518663ffffffff1660e01b815260040161139c959493929190614192565b600060405180830381600087803b1580156113b657600080fd5b505af11580156113ca573d6000803e3d6000fd5b5050600190920191506112cc9050565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c82604051610af89190614220565b600d546001600160a01b031681565b337fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4838361144884838361212e565b6040516114579392919061474c565b60405180910390a25050565b6002546001600160a01b031681565b691fc3842bd1f071c0000081565b337fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda485856114af84838361212e565b86866040516114c2959493929190614706565b60405180910390a250505050565b600c5481565b60008052600f6020527ff4803e074bd026baaf6ed2e288c9515f68c72fb7216eebdd7cae1718a53ec375546001600160a01b0316156115275760405162461bcd60e51b81526004016105da906143d6565b6000546001600160a01b031633146115515760405162461bcd60e51b81526004016105da906143c6565b6001600160a01b0384166115775760405162461bcd60e51b81526004016105da90614386565b6001600160a01b03811661159d5760405162461bcd60e51b81526004016105da90614456565b81516003146115be5760405162461bcd60e51b81526004016105da90614326565b82516003146115df5760405162461bcd60e51b81526004016105da90614506565b600980546001600160a01b038087166001600160a01b031992831617909255600a600c55600d805492841692909116919091179055825160005b8181101561185857610e1085828151811061163057fe5b602002602001015160200151101561165a5760405162461bcd60e51b81526004016105da90614376565b6206270085828151811061166a57fe5b60200260200101516020015111156116945760405162461bcd60e51b81526004016105da90614546565b60018582815181106116a257fe5b60200260200101516000015110156116cc5760405162461bcd60e51b81526004016105da90614436565b620313808582815181106116dc57fe5b60200260200101516000015111156117065760405162461bcd60e51b81526004016105da906144a6565b691fc3842bd1f071c0000085828151811061171d57fe5b60200260200101516040015110156117475760405162461bcd60e51b81526004016105da90614346565b693f870857a3e0e380000085828151811061175e57fe5b60200260200101516040015111156117885760405162461bcd60e51b81526004016105da90614556565b60006001600160a01b031684828151811061179f57fe5b60200260200101516001600160a01b031614156117ce5760405162461bcd60e51b81526004016105da90614496565b8481815181106117da57fe5b6020908102919091018101516000838152600e8352604090819020825181559282015160018401550151600290910155835184908290811061181857fe5b6020908102919091018101516000838152600f909252604090912080546001600160a01b0319166001600160a01b03909216919091179055600101611619565b505050505050565b6206270081565b6203138081565b60055481565b6000546001600160a01b0316331461189e5760405162461bcd60e51b81526004016105da90614306565b600180546001600160a01b038381166001600160a01b03198316179092556040519116907fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a990610af89083908590614119565b6008546001600160a01b031681565b60075481565b600461191182610fda565b600781111561191c57fe5b146119395760405162461bcd60e51b81526004016105da906143e6565b6000818152600a60209081526040808320600e81015460ff168452600f8352818420548251630d48571f60e31b815292519194936119a29342936001600160a01b0390931692636a42b8f892600480840193919291829003018186803b15801561111c57600080fd5b905060005b6003830154811015611b5357611b4b8360030182815481106119c557fe5b6000918252602090912001546004850180546001600160a01b0390921691849081106119ed57fe5b9060005260206000200154856005018481548110611a0757fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611a955780601f10611a6a57610100808354040283529160200191611a95565b820191906000526020600020905b815481529060010190602001808311611a7857829003601f168201915b5050505050866006018581548110611aa957fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611b375780601f10611b0c57610100808354040283529160200191611b37565b820191906000526020600020905b815481529060010190602001808311611b1a57829003601f168201915b50505050600e89015488915060ff1661231e565b6001016119a7565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290611b8d90859084906146d0565b60405180910390a1505050565b604051610b10906140a9565b611bae612684565b506000828152600a602090815260408083206001600160a01b0385168452600d018252918290208251606081018452905460ff8082161515835261010082041692820192909252620100009091046001600160601b0316918101919091525b92915050565b600d546001600160a01b0316331480611c3657506000546001600160a01b031633145b611c525760405162461bcd60e51b81526004016105da90614526565b6001600160a01b038116611c785760405162461bcd60e51b81526004016105da90614516565b600d80546001600160a01b038381166001600160a01b03198316179092556040519116907f08fdaf06427a2010e5958f4329b566993472d14ce81d3f16ce7f2a2660da98e390610af89083908590614119565b600181565b6001546001600160a01b031633148015611ce957503315155b611d055760405162461bcd60e51b81526004016105da90614426565b60008054600180546001600160a01b038082166001600160a01b03198086168217968790559092169092556040519282169390927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92611d69928692911690614119565b60405180910390a16001546040517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991610af89184916001600160a01b031690614119565b600f602052600090815260409020546001600160a01b031681565b6000546001600160a01b031681565b6000546001600160a01b03163314611e025760405162461bcd60e51b81526004016105da906144c6565b60065415611e225760405162461bcd60e51b81526004016105da90614406565b806001600160a01b031663da35c6646040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611e5d57600080fd5b505af1158015611e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e959190810190612dc3565b600781905560065560005b6003811015611f18576000818152600f6020526040808220548151630e18b68160e01b815291516001600160a01b0390911692630e18b681926004808201939182900301818387803b158015611ef557600080fd5b505af1158015611f09573d6000803e3d6000fd5b50505050806001019050611ea0565b5050565b60065481565b6005611f2d82610fda565b6007811115611f3857fe5b14611f555760405162461bcd60e51b81526004016105da90614396565b6000818152600a60205260408120600c8101805461ff001916610100179055905b60038201548110156120a557600e82015460ff166000908152600f60205260409020546003830180546001600160a01b0390921691630825f38f919084908110611fbc57fe5b6000918252602090912001546004850180546001600160a01b039092169185908110611fe457fe5b9060005260206000200154856005018581548110611ffe57fe5b9060005260206000200186600601868154811061201757fe5b9060005260206000200187600201546040518663ffffffff1660e01b8152600401612046959493929190614192565b600060405180830381600087803b15801561206057600080fd5b505af1158015612074573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261209c9190810190612de1565b50600101611f76565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f82604051610af89190614220565b6000828211156120f75760405162461bcd60e51b81526004016105da90614536565b50900390565b6000828201838110156121225760405162461bcd60e51b81526004016105da906143f6565b9392505050565b465b90565b6000600161213b84610fda565b600781111561214657fe5b146121635760405162461bcd60e51b81526004016105da90614356565b60028260ff1611156121875760405162461bcd60e51b81526004016105da906142f6565b6000838152600a602090815260408083206001600160a01b0388168452600d8101909252909120805460ff16156121d05760405162461bcd60e51b81526004016105da90614366565b600954600783015460405163782d6fe160e01b81526000926001600160a01b03169163782d6fe191612206918b91600401614134565b60206040518083038186803b15801561221e57600080fd5b505afa158015612232573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122569190810190612f79565b905060ff85166122815761227783600a0154826001600160601b03166120fd565b600a8401556122d7565b8460ff16600114156122ae576122a48360090154826001600160601b03166120fd565b60098401556122d7565b8460ff16600214156122d7576122d183600b0154826001600160601b03166120fd565b600b8401555b8154600160ff199091161761ff00191661010060ff871602176dffffffffffffffffffffffff00001916620100006001600160601b03831602179091559150509392505050565b60ff81166000908152600f60209081526040918290205491516001600160a01b039092169163f2b065379161235d918a918a918a918a918a9101614142565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b815260040161238f9190614220565b60206040518083038186803b1580156123a757600080fd5b505afa1580156123bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123df9190810190612da5565b156123fc5760405162461bcd60e51b81526004016105da90614316565b60ff81166000908152600f602052604090819020549051633a66f90160e01b81526001600160a01b0390911690633a66f901906124459089908990899089908990600401614142565b602060405180830381600087803b15801561245f57600080fd5b505af1158015612473573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124979190810190612dc3565b50505050505050565b604051806101e001604052806000815260200160006001600160a01b0316815260200160008152602001606081526020016060815260200160608152602001606081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600015158152602001600060ff1681525090565b82805482825590600052602060002090810192821561257b579160200282015b8281111561257b57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612546565b506125879291506126a4565b5090565b8280548282559060005260206000209081019282156125c6579160200282015b828111156125c65782518255916020019190600101906125ab565b506125879291506126c8565b82805482825590600052602060002090810192821561261f579160200282015b8281111561261f578251805161260f9184916020909101906126e2565b50916020019190600101906125f2565b5061258792915061274f565b828054828255906000526020600020908101928215612678579160200282015b8281111561267857825180516126689184916020909101906126e2565b509160200191906001019061264b565b50612587929150612772565b604080516060810182526000808252602082018190529181019190915290565b61212b91905b808211156125875780546001600160a01b03191681556001016126aa565b61212b91905b8082111561258757600081556001016126ce565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061272357805160ff19168380011785556125c6565b828001600101855582156125c657918201828111156125c65782518255916020019190600101906125ab565b61212b91905b808211156125875760006127698282612795565b50600101612755565b61212b91905b8082111561258757600061278c8282612795565b50600101612778565b50805460018160011615610100020316600290046000825580601f106127bb57506127d9565b601f0160209004906000526020600020908101906127d991906126c8565b50565b8035611c0d816148c1565b600082601f8301126127f857600080fd5b813561280b612806826147ab565b614785565b9150818183526020840193506020810190508385602084028201111561283057600080fd5b60005b8381101561285c578161284688826127dc565b8452506020928301929190910190600101612833565b5050505092915050565b600082601f83011261287757600080fd5b8135612885612806826147ab565b81815260209384019390925082018360005b8381101561285c57813586016128ad8882612a93565b8452506020928301929190910190600101612897565b600082601f8301126128d457600080fd5b81356128e2612806826147ab565b9150818183526020840193506020810190508385602084028201111561290757600080fd5b60005b8381101561285c578161291d8882612b28565b845250602092830192919091019060010161290a565b600082601f83011261294457600080fd5b8135612952612806826147ab565b81815260209384019390925082018360005b8381101561285c578135860161297a8882612a93565b8452506020928301929190910190600101612964565b600082601f8301126129a157600080fd5b81356129af612806826147ab565b915081818352602084019350602081019050838560608402820111156129d457600080fd5b60005b8381101561285c57816129ea8882612b86565b845250602090920191606091909101906001016129d7565b600082601f830112612a1357600080fd5b8135612a21612806826147ab565b91508181835260208401935060208101905083856020840282011115612a4657600080fd5b60005b8381101561285c5781612a5c8882612a7d565b8452506020928301929190910190600101612a49565b8051611c0d816148d5565b8035611c0d816148de565b8051611c0d816148de565b600082601f830112612aa457600080fd5b8135612ab2612806826147cb565b91508082526020830160208301858383011115612ace57600080fd5b612ad9838284614875565b50505092915050565b600082601f830112612af357600080fd5b8151612b01612806826147cb565b91508082526020830160208301858383011115612b1d57600080fd5b612ad9838284614881565b8035611c0d816148e7565b8035611c0d816148f0565b60008083601f840112612b5057600080fd5b5081356001600160401b03811115612b6757600080fd5b602083019150836001820283011115612b7f57600080fd5b9250929050565b600060608284031215612b9857600080fd5b612ba26060614785565b90506000612bb08484612a7d565b8252506020612bc184848301612a7d565b6020830152506040612bd584828501612a7d565b60408301525092915050565b8035611c0d816148fd565b8051611c0d81614906565b600060208284031215612c0957600080fd5b6000612c1584846127dc565b949350505050565b60008060008060808587031215612c3357600080fd5b6000612c3f87876127dc565b94505060208501356001600160401b03811115612c5b57600080fd5b612c6787828801612990565b93505060408501356001600160401b03811115612c8357600080fd5b612c8f878288016128c3565b9250506060612ca0878288016127dc565b91505092959194509250565b60008060008060008060c08789031215612cc557600080fd5b86356001600160401b03811115612cdb57600080fd5b612ce789828a016127e7565b96505060208701356001600160401b03811115612d0357600080fd5b612d0f89828a01612a02565b95505060408701356001600160401b03811115612d2b57600080fd5b612d3789828a01612933565b94505060608701356001600160401b03811115612d5357600080fd5b612d5f89828a01612866565b93505060808701356001600160401b03811115612d7b57600080fd5b612d8789828a01612a93565b92505060a0612d9889828a01612b33565b9150509295509295509295565b600060208284031215612db757600080fd5b6000612c158484612a72565b600060208284031215612dd557600080fd5b6000612c158484612a88565b600060208284031215612df357600080fd5b81516001600160401b03811115612e0957600080fd5b612c1584828501612ae2565b600060208284031215612e2757600080fd5b6000612c158484612a7d565b60008060408385031215612e4657600080fd5b6000612e528585612a7d565b9250506020612e63858286016127dc565b9150509250929050565b60008060408385031215612e8057600080fd5b6000612e8c8585612a7d565b9250506020612e6385828601612be1565b60008060008060608587031215612eb357600080fd5b6000612ebf8787612a7d565b9450506020612ed087828801612be1565b93505060408501356001600160401b03811115612eec57600080fd5b612ef887828801612b3e565b95989497509550505050565b600080600080600060a08688031215612f1c57600080fd5b6000612f288888612a7d565b9550506020612f3988828901612be1565b9450506040612f4a88828901612be1565b9350506060612f5b88828901612a7d565b9250506080612f6c88828901612a7d565b9150509295509295909350565b600060208284031215612f8b57600080fd5b6000612c158484612bec565b6000612fa38383612fd2565b505060200190565b60006121228383613174565b6000612fa3838361315a565b612fcc81614854565b82525050565b612fcc81614811565b6000612fe682614804565b612ff08185614808565b9350612ffb836147f2565b8060005b838110156130295781516130138882612f97565b975061301e836147f2565b925050600101612fff565b509495945050505050565b600061303f82614804565b6130498185614808565b93508360208202850161305b856147f2565b8060005b8581101561309557848403895281516130788582612fab565b9450613083836147f2565b60209a909a019992505060010161305f565b5091979650505050505050565b60006130ad82614804565b6130b78185614808565b9350836020820285016130c9856147f2565b8060005b8581101561309557848403895281516130e68582612fab565b94506130f1836147f2565b60209a909a01999250506001016130cd565b600061310e82614804565b6131188185614808565b9350613123836147f2565b8060005b8381101561302957815161313b8882612fb7565b9750613146836147f2565b925050600101613127565b612fcc8161481c565b612fcc8161212b565b612fcc61316f8261212b565b61212b565b600061317f82614804565b6131898185614808565b9350613199818560208601614881565b6131a2816148ad565b9093019392505050565b6000815460018116600081146131c957600181146131ef5761322e565b607f60028304166131da8187614808565b60ff198416815295505060208501925061322e565b600282046131fd8187614808565b9550613208856147f8565b60005b828110156132275781548882015260019091019060200161320b565b8701945050505b505092915050565b612fcc81614821565b612fcc8161485f565b60006132548385614808565b9350613261838584614875565b6131a2836148ad565b6000613277603283614808565b7f476f7665726e6f72427261766f3a3a63617374566f7465496e7465726e616c3a81527120696e76616c696420766f7465207479706560701b602082015260400192915050565b60006132cb60288361116f565b7f42616c6c6f742875696e743235362070726f706f73616c49642c75696e743820815267737570706f72742960c01b602082015260280192915050565b6000613315602a83614808565b7f476f7665726e6f72427261766f3a5f73657450656e64696e6741646d696e3a2081526961646d696e206f6e6c7960b01b602082015260400192915050565b6000613361605583614808565b7f476f7665726e6f72427261766f3a3a71756575654f72526576657274496e746581527f726e616c3a206964656e746963616c2070726f706f73616c20616374696f6e20602082015274616c7265616479207175657565642061742065746160581b604082015260600192915050565b60006133de605683614808565b7f476f7665726e6f72427261766f3a3a696e697469616c697a653a6e756d62657281527f206f662074696d656c6f636b732073686f756c64206d61746368206e756d626560208201527572206f6620676f7665726e616e636520726f7574657360501b604082015260600192915050565b600061345c603183614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a20476f7665726e6f7281527020427261766f206e6f742061637469766560781b602082015260400192915050565b60006134af60028361116f565b61190160f01b815260020192915050565b60006134cd603983614808565b60008051602061491083398151915281527f6964206d696e2070726f706f73616c207468726573686f6c6400000000000000602082015260400192915050565b600061351a603183614808565b7f476f7665726e6f72427261766f3a3a63617374566f7465496e7465726e616c3a815270081d9bdd1a5b99c81a5cc818db1bdcd959607a1b602082015260400192915050565b600061356d603483614808565b7f476f7665726e6f72427261766f3a3a63617374566f7465496e7465726e616c3a815273081d9bdd195c88185b1c9958591e481d9bdd195960621b602082015260400192915050565b60006135c3603483614808565b6000805160206149108339815191528152731a59081b5a5b881d9bdd1a5b99c81c195c9a5bd960621b602082015260400192915050565b6000613607602e83614808565b60008051602061491083398151915281526d696420787673206164647265737360901b602082015260400192915050565b6000613645604583614808565b7f476f7665726e6f72427261766f3a3a657865637574653a2070726f706f73616c81527f2063616e206f6e6c7920626520657865637574656420696620697420697320716020820152641d595d595960da1b604082015260600192915050565b60006136b2602f83614808565b7f476f7665726e6f72427261766f3a3a63617374566f746542795369673a20696e81526e76616c6964207369676e617475726560881b602082015260400192915050565b6000613703604483614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a2070726f706f73616c81527f2066756e6374696f6e20696e666f726d6174696f6e206172697479206d69736d6020820152630c2e8c6d60e31b604082015260600192915050565b600061376f602583614808565b7f476f7665726e6f72427261766f3a3a696e697469616c697a653a2061646d696e815264206f6e6c7960d81b602082015260400192915050565b60006137b6603283614808565b7f476f7665726e6f72427261766f3a3a696e697469616c697a653a2063616e6e6f8152717420696e697469616c697a6520747769636560701b602082015260400192915050565b600061380a604483614808565b7f476f7665726e6f72427261766f3a3a71756575653a2070726f706f73616c206381527f616e206f6e6c79206265207175657565642069662069742069732073756363656020820152631959195960e21b604082015260600192915050565b6000613876601183614808565b706164646974696f6e206f766572666c6f7760781b815260200192915050565b60006138a360438361116f565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b600061390e603083614808565b7f476f7665726e6f72427261766f3a3a5f696e6974696174653a2063616e206f6e81526f6c7920696e697469617465206f6e636560801b602082015260400192915050565b6000613960602c83614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a206d7573742070726f81526b7669646520616374696f6e7360a01b602082015260400192915050565b60006139ae602e83614808565b7f476f7665726e6f72427261766f3a5f61636365707441646d696e3a2070656e6481526d696e672061646d696e206f6e6c7960901b602082015260400192915050565b60006139fe603383614808565b6000805160206149108339815191528152726964206d696e20766f74696e672064656c617960681b602082015260400192915050565b6000613a41602f83614808565b7f476f7665726e6f72427261766f3a3a63616e63656c3a2070726f706f7365722081526e18589bdd99481d1a1c995cda1bdb19608a1b602082015260400192915050565b6000613a92602b83614808565b60008051602061491083398151915281526a34b21033bab0b93234b0b760a91b602082015260400192915050565b6000613acd602883614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a20746f6f206d616e7981526720616374696f6e7360c01b602082015260400192915050565b6000613b17605983614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c72656164792070656e64696e672070726f706f73616c00000000000000604082015260600192915050565b6000613b9c603483614808565b7f476f7665726e6f72427261766f3a3a5f73657450726f706f73616c4d61784f7081527365726174696f6e733a2061646d696e206f6e6c7960601b602082015260400192915050565b6000613bf2603283614808565b7f476f7665726e6f72427261766f3a3a696e697469616c697a653a696e76616c69815271642074696d656c6f636b206164647265737360701b602082015260400192915050565b6000613c46603383614808565b6000805160206149108339815191528152726964206d617820766f74696e672064656c617960681b602082015260400192915050565b6000613c89605883614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c7265616479206163746976652070726f706f73616c0000000000000000604082015260600192915050565b6000611c0d600083614808565b6000613d1b602483614808565b7f476f7665726e6f72427261766f3a3a5f696e6974696174653a2061646d696e208152636f6e6c7960e01b602082015260400192915050565b6000613d61603f83614808565b7f476f7665726e6f72427261766f3a3a70726f706f73653a2070726f706f73657281527f20766f7465732062656c6f772070726f706f73616c207468726573686f6c6400602082015260400192915050565b6000613dc0603683614808565b7f476f7665726e6f72427261766f3a3a63616e63656c3a2063616e6e6f742063618152751b98d95b08195e1958dd5d1959081c1c9bdc1bdcd85b60521b602082015260400192915050565b6000613e18602983614808565b7f476f7665726e6f72427261766f3a3a73746174653a20696e76616c69642070728152681bdc1bdcd85b081a5960ba1b602082015260400192915050565b6000613e63605d83614808565b7f476f7665726e6f72427261766f3a3a696e697469616c697a653a6e756d62657281527f206f662070726f706f73616c20636f6e666967732073686f756c64206d61746360208201527f68206e756d626572206f6620676f7665726e616e636520726f75746573000000604082015260600192915050565b6000613ee8603b83614808565b7f476f7665726e6f72427261766f3a3a5f736574477561726469616e3a2063616e81527f6e6f74206c69766520776974686f7574206120677561726469616e0000000000602082015260400192915050565b6000613f47603383614808565b7f476f7665726e6f72427261766f3a3a5f736574477561726469616e3a2061646d815272696e206f7220677561726469616e206f6e6c7960681b602082015260400192915050565b6000613f9c601583614808565b747375627472616374696f6e20756e646572666c6f7760581b815260200192915050565b6000613fcd603483614808565b6000805160206149108339815191528152731a59081b585e081d9bdd1a5b99c81c195c9a5bd960621b602082015260400192915050565b6000614011603983614808565b60008051602061491083398151915281527f6964206d61782070726f706f73616c207468726573686f6c6400000000000000602082015260400192915050565b805160608301906140628482613151565b506020820151614075602085018261408e565b50604082015161408860408501826140a0565b50505050565b612fcc81614842565b612fcc8161486a565b612fcc81614848565b6000611c0d826132be565b60006140bf826134a2565b91506140cb8285613163565b6020820191506140db8284613163565b5060200192915050565b6000611c0d82613896565b60208101611c0d8284612fd2565b6040810161410c8285612fc3565b612122602083018461315a565b604081016141278285612fd2565b6121226020830184612fd2565b6040810161410c8285612fd2565b60a081016141508288612fd2565b61415d602083018761315a565b818103604083015261416f8186613174565b905081810360608301526141838185613174565b9050610a69608083018461315a565b60a081016141a08288612fd2565b6141ad602083018761315a565b81810360408301526141bf81866131ac565b9050818103606083015261418381856131ac565b608080825281016141e48187612fdb565b905081810360208301526141f88186613103565b9050818103604083015261420c81856130a2565b90508181036060830152610a698184613034565b60208101611c0d828461315a565b6080810161423c828761315a565b614249602083018661315a565b614256604083018561315a565b6142636060830184612fd2565b95945050505050565b6060810161427a828661315a565b614287602083018561315a565b612c15604083018461408e565b608081016142a2828761315a565b6142af602083018661408e565b6142bc604083018561315a565b614263606083018461315a565b60208101611c0d8284613236565b60208101611c0d828461323f565b602080825281016121228184613174565b60208082528101611c0d8161326a565b60208082528101611c0d81613308565b60208082528101611c0d81613354565b60208082528101611c0d816133d1565b60208082528101611c0d8161344f565b60208082528101611c0d816134c0565b60208082528101611c0d8161350d565b60208082528101611c0d81613560565b60208082528101611c0d816135b6565b60208082528101611c0d816135fa565b60208082528101611c0d81613638565b60208082528101611c0d816136a5565b60208082528101611c0d816136f6565b60208082528101611c0d81613762565b60208082528101611c0d816137a9565b60208082528101611c0d816137fd565b60208082528101611c0d81613869565b60208082528101611c0d81613901565b60208082528101611c0d81613953565b60208082528101611c0d816139a1565b60208082528101611c0d816139f1565b60208082528101611c0d81613a34565b60208082528101611c0d81613a85565b60208082528101611c0d81613ac0565b60208082528101611c0d81613b0a565b60208082528101611c0d81613b8f565b60208082528101611c0d81613be5565b60208082528101611c0d81613c39565b60208082528101611c0d81613c7c565b60208082528101611c0d81613d0e565b60208082528101611c0d81613d54565b60208082528101611c0d81613db3565b60208082528101611c0d81613e0b565b60208082528101611c0d81613e56565b60208082528101611c0d81613edb565b60208082528101611c0d81613f3a565b60208082528101611c0d81613f8f565b60208082528101611c0d81613fc0565b60208082528101611c0d81614004565b60608101611c0d8284614051565b6101408101614583828d61315a565b614590602083018c612fc3565b81810360408301526145a2818b612fdb565b905081810360608301526145b6818a613103565b905081810360808301526145ca81896130a2565b905081810360a08301526145de8188613034565b90506145ed60c083018761315a565b6145fa60e083018661315a565b81810361010083015261460d8185613174565b905061461d61012083018461408e565b9b9a5050505050505050505050565b610160810161463b828e61315a565b614648602083018d612fd2565b614655604083018c61315a565b614662606083018b61315a565b61466f608083018a61315a565b61467c60a083018961315a565b61468960c083018861315a565b61469660e083018761315a565b6146a4610100830186613151565b6146b2610120830185613151565b6146c061014083018461408e565b9c9b505050505050505050505050565b6040810161410c828561315a565b606081016146ec828661315a565b6146f9602083018561315a565b612c15604083018461315a565b60808101614714828861315a565b614721602083018761408e565b61472e6040830186614097565b8181036060830152614741818486613248565b979650505050505050565b6080810161475a828661315a565b614767602083018561408e565b6147746040830184614097565b818103606083015261426381613d01565b6040518181016001600160401b03811182821017156147a357600080fd5b604052919050565b60006001600160401b038211156147c157600080fd5b5060209081020190565b60006001600160401b038211156147e157600080fd5b506020601f91909101601f19160190565b60200190565b60009081526020902090565b5190565b90815260200190565b6000611c0d82614836565b151590565b6000611c0d82614811565b8061116f816148b7565b6001600160a01b031690565b60ff1690565b6001600160601b031690565b6000611c0d82614821565b6000611c0d8261482c565b6000611c0d82614848565b82818337506000910152565b60005b8381101561489c578181015183820152602001614884565b838111156140885750506000910152565b601f01601f191690565b600881106127d957fe5b6148ca81614811565b81146127d957600080fd5b6148ca8161481c565b6148ca8161212b565b6148ca81614821565b600381106127d957600080fd5b6148ca81614842565b6148ca8161484856fe476f7665726e6f72427261766f3a3a696e697469616c697a653a20696e76616ca365627a7a72315820b3baf8a722503822903bf4bfc0ba82c5a756e0f88fceec92efd9eb190ec468826c6578706572696d656e74616cf564736f6c63430005100040",
1171
- "linkReferences": {},
1172
- "deployedLinkReferences": {}
1173
- }