@venusprotocol/isolated-pools 1.0.0-dev.4 → 1.0.0-dev.6

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 (201) hide show
  1. package/contracts/Comptroller.sol +2 -2
  2. package/contracts/ExponentialNoError.sol +0 -7
  3. package/package.json +1 -1
  4. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +0 -4
  5. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +0 -215
  6. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +0 -4
  7. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json +0 -183
  8. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +0 -4
  9. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +0 -63
  10. package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.dbg.json +0 -4
  11. package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.json +0 -56
  12. package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +0 -4
  13. package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.json +0 -24
  14. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +0 -4
  15. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.json +0 -56
  16. package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +0 -4
  17. package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.json +0 -19
  18. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +0 -4
  19. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.json +0 -80
  20. package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +0 -4
  21. package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.json +0 -24
  22. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +0 -4
  23. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +0 -113
  24. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +0 -4
  25. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +0 -297
  26. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +0 -4
  27. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +0 -194
  28. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +0 -4
  29. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +0 -233
  30. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +0 -4
  31. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json +0 -10
  32. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +0 -4
  33. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +0 -10
  34. package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +0 -4
  35. package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +0 -10
  36. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +0 -4
  37. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +0 -10
  38. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +0 -4
  39. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +0 -30
  40. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +0 -4
  41. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +0 -30
  42. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +0 -4
  43. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +0 -10
  44. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json +0 -4
  45. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +0 -10
  46. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +0 -4
  47. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.json +0 -115
  48. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +0 -4
  49. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +0 -76
  50. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +0 -4
  51. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +0 -24
  52. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +0 -4
  53. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +0 -24
  54. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +0 -4
  55. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json +0 -194
  56. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +0 -4
  57. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.json +0 -86
  58. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.dbg.json +0 -4
  59. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.json +0 -10
  60. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +0 -4
  61. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +0 -10
  62. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +0 -4
  63. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +0 -24
  64. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.dbg.json +0 -4
  65. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.json +0 -369
  66. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +0 -4
  67. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.json +0 -181
  68. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +0 -4
  69. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.json +0 -282
  70. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +0 -4
  71. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.json +0 -40
  72. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +0 -4
  73. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.json +0 -30
  74. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +0 -4
  75. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.json +0 -43
  76. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +0 -4
  77. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.json +0 -49
  78. package/artifacts/build-info/9ce63a36b6ea1dc6cae31c766b8f5cfd.json +0 -1
  79. package/artifacts/build-info/f19d689bc99e63a20dd2a17a14e2b84a.json +0 -1
  80. package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.dbg.json +0 -4
  81. package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.json +0 -276
  82. package/artifacts/contracts/Comptroller.sol/Comptroller.dbg.json +0 -4
  83. package/artifacts/contracts/Comptroller.sol/Comptroller.json +0 -1667
  84. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.dbg.json +0 -4
  85. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.json +0 -285
  86. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.dbg.json +0 -4
  87. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.json +0 -170
  88. package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.dbg.json +0 -4
  89. package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.json +0 -173
  90. package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.dbg.json +0 -4
  91. package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.json +0 -156
  92. package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.dbg.json +0 -4
  93. package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.json +0 -10
  94. package/artifacts/contracts/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.dbg.json +0 -4
  95. package/artifacts/contracts/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.json +0 -50
  96. package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.dbg.json +0 -4
  97. package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.json +0 -191
  98. package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.dbg.json +0 -4
  99. package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.json +0 -35
  100. package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.dbg.json +0 -4
  101. package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.json +0 -50
  102. package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.dbg.json +0 -4
  103. package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.json +0 -97
  104. package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.dbg.json +0 -4
  105. package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.json +0 -307
  106. package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.dbg.json +0 -4
  107. package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.json +0 -1087
  108. package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +0 -4
  109. package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.json +0 -59
  110. package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.dbg.json +0 -4
  111. package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.json +0 -923
  112. package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.dbg.json +0 -4
  113. package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.json +0 -176
  114. package/artifacts/contracts/Proxy/UpgradeableBeacon.sol/Beacon.dbg.json +0 -4
  115. package/artifacts/contracts/Proxy/UpgradeableBeacon.sol/Beacon.json +0 -113
  116. package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.dbg.json +0 -4
  117. package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.json +0 -928
  118. package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.dbg.json +0 -4
  119. package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.json +0 -29
  120. package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.dbg.json +0 -4
  121. package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.json +0 -101
  122. package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.dbg.json +0 -4
  123. package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.json +0 -296
  124. package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.dbg.json +0 -4
  125. package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.json +0 -83
  126. package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.dbg.json +0 -4
  127. package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.json +0 -615
  128. package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.dbg.json +0 -4
  129. package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.json +0 -24
  130. package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.dbg.json +0 -4
  131. package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.json +0 -756
  132. package/artifacts/contracts/VToken.sol/VToken.dbg.json +0 -4
  133. package/artifacts/contracts/VToken.sol/VToken.json +0 -1850
  134. package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.dbg.json +0 -4
  135. package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.json +0 -1398
  136. package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.dbg.json +0 -4
  137. package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.json +0 -219
  138. package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.dbg.json +0 -4
  139. package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.json +0 -192
  140. package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.dbg.json +0 -4
  141. package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.json +0 -1712
  142. package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.dbg.json +0 -4
  143. package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.json +0 -94
  144. package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.dbg.json +0 -4
  145. package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.json +0 -1744
  146. package/artifacts/contracts/test/ERC20.sol/ERC20.dbg.json +0 -4
  147. package/artifacts/contracts/test/ERC20.sol/ERC20.json +0 -194
  148. package/artifacts/contracts/test/ERC20.sol/ERC20Base.dbg.json +0 -4
  149. package/artifacts/contracts/test/ERC20.sol/ERC20Base.json +0 -141
  150. package/artifacts/contracts/test/ERC20.sol/ERC20Harness.dbg.json +0 -4
  151. package/artifacts/contracts/test/ERC20.sol/ERC20Harness.json +0 -351
  152. package/artifacts/contracts/test/ERC20.sol/ERC20NS.dbg.json +0 -4
  153. package/artifacts/contracts/test/ERC20.sol/ERC20NS.json +0 -182
  154. package/artifacts/contracts/test/ERC20.sol/NonStandardToken.dbg.json +0 -4
  155. package/artifacts/contracts/test/ERC20.sol/NonStandardToken.json +0 -247
  156. package/artifacts/contracts/test/ERC20.sol/StandardToken.dbg.json +0 -4
  157. package/artifacts/contracts/test/ERC20.sol/StandardToken.json +0 -259
  158. package/artifacts/contracts/test/EvilToken.sol/EvilToken.dbg.json +0 -4
  159. package/artifacts/contracts/test/EvilToken.sol/EvilToken.json +0 -303
  160. package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.dbg.json +0 -4
  161. package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.json +0 -265
  162. package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.dbg.json +0 -4
  163. package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.json +0 -277
  164. package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.dbg.json +0 -4
  165. package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.json +0 -313
  166. package/artifacts/contracts/test/FeeToken.sol/FeeToken.dbg.json +0 -4
  167. package/artifacts/contracts/test/FeeToken.sol/FeeToken.json +0 -313
  168. package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.dbg.json +0 -4
  169. package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.json +0 -85
  170. package/artifacts/contracts/test/MockDeflationaryToken.sol/MockDeflatingToken.dbg.json +0 -4
  171. package/artifacts/contracts/test/MockDeflationaryToken.sol/MockDeflatingToken.json +0 -332
  172. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.dbg.json +0 -4
  173. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.json +0 -233
  174. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.dbg.json +0 -4
  175. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.json +0 -187
  176. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.dbg.json +0 -4
  177. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.json +0 -668
  178. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.dbg.json +0 -4
  179. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.json +0 -760
  180. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.dbg.json +0 -4
  181. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.json +0 -962
  182. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.dbg.json +0 -4
  183. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.json +0 -55
  184. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.dbg.json +0 -4
  185. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.json +0 -10
  186. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.dbg.json +0 -4
  187. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.json +0 -982
  188. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.dbg.json +0 -4
  189. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.json +0 -10
  190. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.dbg.json +0 -4
  191. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.json +0 -10
  192. package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.dbg.json +0 -4
  193. package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.json +0 -85
  194. package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.dbg.json +0 -4
  195. package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.json +0 -315
  196. package/artifacts/contracts/test/SafeMath.sol/SafeMath.dbg.json +0 -4
  197. package/artifacts/contracts/test/SafeMath.sol/SafeMath.json +0 -10
  198. package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.dbg.json +0 -4
  199. package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.json +0 -1946
  200. package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.dbg.json +0 -4
  201. package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.json +0 -2306
@@ -1,923 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "PoolRegistry",
4
- "sourceName": "contracts/Pool/PoolRegistry.sol",
5
- "abi": [
6
- {
7
- "inputs": [],
8
- "stateMutability": "nonpayable",
9
- "type": "constructor"
10
- },
11
- {
12
- "inputs": [
13
- {
14
- "internalType": "address",
15
- "name": "sender",
16
- "type": "address"
17
- },
18
- {
19
- "internalType": "address",
20
- "name": "calledContract",
21
- "type": "address"
22
- },
23
- {
24
- "internalType": "string",
25
- "name": "methodSignature",
26
- "type": "string"
27
- }
28
- ],
29
- "name": "Unauthorized",
30
- "type": "error"
31
- },
32
- {
33
- "inputs": [],
34
- "name": "ZeroAddressNotAllowed",
35
- "type": "error"
36
- },
37
- {
38
- "anonymous": false,
39
- "inputs": [
40
- {
41
- "indexed": false,
42
- "internalType": "uint8",
43
- "name": "version",
44
- "type": "uint8"
45
- }
46
- ],
47
- "name": "Initialized",
48
- "type": "event"
49
- },
50
- {
51
- "anonymous": false,
52
- "inputs": [
53
- {
54
- "indexed": true,
55
- "internalType": "address",
56
- "name": "comptroller",
57
- "type": "address"
58
- },
59
- {
60
- "indexed": true,
61
- "internalType": "address",
62
- "name": "vTokenAddress",
63
- "type": "address"
64
- }
65
- ],
66
- "name": "MarketAdded",
67
- "type": "event"
68
- },
69
- {
70
- "anonymous": false,
71
- "inputs": [
72
- {
73
- "indexed": false,
74
- "internalType": "address",
75
- "name": "oldAccessControlManager",
76
- "type": "address"
77
- },
78
- {
79
- "indexed": false,
80
- "internalType": "address",
81
- "name": "newAccessControlManager",
82
- "type": "address"
83
- }
84
- ],
85
- "name": "NewAccessControlManager",
86
- "type": "event"
87
- },
88
- {
89
- "anonymous": false,
90
- "inputs": [
91
- {
92
- "indexed": true,
93
- "internalType": "address",
94
- "name": "oldProtocolShareReserve",
95
- "type": "address"
96
- },
97
- {
98
- "indexed": true,
99
- "internalType": "address",
100
- "name": "newProtocolShareReserve",
101
- "type": "address"
102
- }
103
- ],
104
- "name": "NewProtocolShareReserve",
105
- "type": "event"
106
- },
107
- {
108
- "anonymous": false,
109
- "inputs": [
110
- {
111
- "indexed": true,
112
- "internalType": "address",
113
- "name": "oldShortfall",
114
- "type": "address"
115
- },
116
- {
117
- "indexed": true,
118
- "internalType": "address",
119
- "name": "newShortfall",
120
- "type": "address"
121
- }
122
- ],
123
- "name": "NewShortfallContract",
124
- "type": "event"
125
- },
126
- {
127
- "anonymous": false,
128
- "inputs": [
129
- {
130
- "indexed": true,
131
- "internalType": "address",
132
- "name": "previousOwner",
133
- "type": "address"
134
- },
135
- {
136
- "indexed": true,
137
- "internalType": "address",
138
- "name": "newOwner",
139
- "type": "address"
140
- }
141
- ],
142
- "name": "OwnershipTransferStarted",
143
- "type": "event"
144
- },
145
- {
146
- "anonymous": false,
147
- "inputs": [
148
- {
149
- "indexed": true,
150
- "internalType": "address",
151
- "name": "previousOwner",
152
- "type": "address"
153
- },
154
- {
155
- "indexed": true,
156
- "internalType": "address",
157
- "name": "newOwner",
158
- "type": "address"
159
- }
160
- ],
161
- "name": "OwnershipTransferred",
162
- "type": "event"
163
- },
164
- {
165
- "anonymous": false,
166
- "inputs": [
167
- {
168
- "indexed": true,
169
- "internalType": "address",
170
- "name": "comptroller",
171
- "type": "address"
172
- },
173
- {
174
- "components": [
175
- {
176
- "internalType": "string",
177
- "name": "category",
178
- "type": "string"
179
- },
180
- {
181
- "internalType": "string",
182
- "name": "logoURL",
183
- "type": "string"
184
- },
185
- {
186
- "internalType": "string",
187
- "name": "description",
188
- "type": "string"
189
- }
190
- ],
191
- "indexed": false,
192
- "internalType": "struct PoolRegistryInterface.VenusPoolMetaData",
193
- "name": "oldMetadata",
194
- "type": "tuple"
195
- },
196
- {
197
- "components": [
198
- {
199
- "internalType": "string",
200
- "name": "category",
201
- "type": "string"
202
- },
203
- {
204
- "internalType": "string",
205
- "name": "logoURL",
206
- "type": "string"
207
- },
208
- {
209
- "internalType": "string",
210
- "name": "description",
211
- "type": "string"
212
- }
213
- ],
214
- "indexed": false,
215
- "internalType": "struct PoolRegistryInterface.VenusPoolMetaData",
216
- "name": "newMetadata",
217
- "type": "tuple"
218
- }
219
- ],
220
- "name": "PoolMetadataUpdated",
221
- "type": "event"
222
- },
223
- {
224
- "anonymous": false,
225
- "inputs": [
226
- {
227
- "indexed": true,
228
- "internalType": "address",
229
- "name": "comptroller",
230
- "type": "address"
231
- },
232
- {
233
- "indexed": false,
234
- "internalType": "string",
235
- "name": "oldName",
236
- "type": "string"
237
- },
238
- {
239
- "indexed": false,
240
- "internalType": "string",
241
- "name": "newName",
242
- "type": "string"
243
- }
244
- ],
245
- "name": "PoolNameSet",
246
- "type": "event"
247
- },
248
- {
249
- "anonymous": false,
250
- "inputs": [
251
- {
252
- "indexed": true,
253
- "internalType": "address",
254
- "name": "comptroller",
255
- "type": "address"
256
- },
257
- {
258
- "components": [
259
- {
260
- "internalType": "string",
261
- "name": "name",
262
- "type": "string"
263
- },
264
- {
265
- "internalType": "address",
266
- "name": "creator",
267
- "type": "address"
268
- },
269
- {
270
- "internalType": "address",
271
- "name": "comptroller",
272
- "type": "address"
273
- },
274
- {
275
- "internalType": "uint256",
276
- "name": "blockPosted",
277
- "type": "uint256"
278
- },
279
- {
280
- "internalType": "uint256",
281
- "name": "timestampPosted",
282
- "type": "uint256"
283
- }
284
- ],
285
- "indexed": false,
286
- "internalType": "struct PoolRegistryInterface.VenusPool",
287
- "name": "pool",
288
- "type": "tuple"
289
- }
290
- ],
291
- "name": "PoolRegistered",
292
- "type": "event"
293
- },
294
- {
295
- "inputs": [],
296
- "name": "acceptOwnership",
297
- "outputs": [],
298
- "stateMutability": "nonpayable",
299
- "type": "function"
300
- },
301
- {
302
- "inputs": [],
303
- "name": "accessControlManager",
304
- "outputs": [
305
- {
306
- "internalType": "contract IAccessControlManagerV8",
307
- "name": "",
308
- "type": "address"
309
- }
310
- ],
311
- "stateMutability": "view",
312
- "type": "function"
313
- },
314
- {
315
- "inputs": [
316
- {
317
- "components": [
318
- {
319
- "internalType": "address",
320
- "name": "comptroller",
321
- "type": "address"
322
- },
323
- {
324
- "internalType": "address",
325
- "name": "asset",
326
- "type": "address"
327
- },
328
- {
329
- "internalType": "uint8",
330
- "name": "decimals",
331
- "type": "uint8"
332
- },
333
- {
334
- "internalType": "string",
335
- "name": "name",
336
- "type": "string"
337
- },
338
- {
339
- "internalType": "string",
340
- "name": "symbol",
341
- "type": "string"
342
- },
343
- {
344
- "internalType": "enum PoolRegistry.InterestRateModels",
345
- "name": "rateModel",
346
- "type": "uint8"
347
- },
348
- {
349
- "internalType": "uint256",
350
- "name": "baseRatePerYear",
351
- "type": "uint256"
352
- },
353
- {
354
- "internalType": "uint256",
355
- "name": "multiplierPerYear",
356
- "type": "uint256"
357
- },
358
- {
359
- "internalType": "uint256",
360
- "name": "jumpMultiplierPerYear",
361
- "type": "uint256"
362
- },
363
- {
364
- "internalType": "uint256",
365
- "name": "kink_",
366
- "type": "uint256"
367
- },
368
- {
369
- "internalType": "uint256",
370
- "name": "collateralFactor",
371
- "type": "uint256"
372
- },
373
- {
374
- "internalType": "uint256",
375
- "name": "liquidationThreshold",
376
- "type": "uint256"
377
- },
378
- {
379
- "internalType": "uint256",
380
- "name": "reserveFactor",
381
- "type": "uint256"
382
- },
383
- {
384
- "internalType": "contract AccessControlManager",
385
- "name": "accessControlManager",
386
- "type": "address"
387
- },
388
- {
389
- "internalType": "address",
390
- "name": "beaconAddress",
391
- "type": "address"
392
- },
393
- {
394
- "internalType": "uint256",
395
- "name": "initialSupply",
396
- "type": "uint256"
397
- },
398
- {
399
- "internalType": "address",
400
- "name": "vTokenReceiver",
401
- "type": "address"
402
- },
403
- {
404
- "internalType": "uint256",
405
- "name": "supplyCap",
406
- "type": "uint256"
407
- },
408
- {
409
- "internalType": "uint256",
410
- "name": "borrowCap",
411
- "type": "uint256"
412
- }
413
- ],
414
- "internalType": "struct PoolRegistry.AddMarketInput",
415
- "name": "input",
416
- "type": "tuple"
417
- }
418
- ],
419
- "name": "addMarket",
420
- "outputs": [],
421
- "stateMutability": "nonpayable",
422
- "type": "function"
423
- },
424
- {
425
- "inputs": [
426
- {
427
- "internalType": "string",
428
- "name": "name",
429
- "type": "string"
430
- },
431
- {
432
- "internalType": "address",
433
- "name": "beaconAddress",
434
- "type": "address"
435
- },
436
- {
437
- "internalType": "uint256",
438
- "name": "closeFactor",
439
- "type": "uint256"
440
- },
441
- {
442
- "internalType": "uint256",
443
- "name": "liquidationIncentive",
444
- "type": "uint256"
445
- },
446
- {
447
- "internalType": "uint256",
448
- "name": "minLiquidatableCollateral",
449
- "type": "uint256"
450
- },
451
- {
452
- "internalType": "address",
453
- "name": "priceOracle",
454
- "type": "address"
455
- },
456
- {
457
- "internalType": "uint256",
458
- "name": "maxLoopsLimit",
459
- "type": "uint256"
460
- },
461
- {
462
- "internalType": "address",
463
- "name": "accessControlManager",
464
- "type": "address"
465
- }
466
- ],
467
- "name": "createRegistryPool",
468
- "outputs": [
469
- {
470
- "internalType": "uint256",
471
- "name": "index",
472
- "type": "uint256"
473
- },
474
- {
475
- "internalType": "address",
476
- "name": "proxyAddress",
477
- "type": "address"
478
- }
479
- ],
480
- "stateMutability": "nonpayable",
481
- "type": "function"
482
- },
483
- {
484
- "inputs": [],
485
- "name": "getAllPools",
486
- "outputs": [
487
- {
488
- "components": [
489
- {
490
- "internalType": "string",
491
- "name": "name",
492
- "type": "string"
493
- },
494
- {
495
- "internalType": "address",
496
- "name": "creator",
497
- "type": "address"
498
- },
499
- {
500
- "internalType": "address",
501
- "name": "comptroller",
502
- "type": "address"
503
- },
504
- {
505
- "internalType": "uint256",
506
- "name": "blockPosted",
507
- "type": "uint256"
508
- },
509
- {
510
- "internalType": "uint256",
511
- "name": "timestampPosted",
512
- "type": "uint256"
513
- }
514
- ],
515
- "internalType": "struct PoolRegistryInterface.VenusPool[]",
516
- "name": "",
517
- "type": "tuple[]"
518
- }
519
- ],
520
- "stateMutability": "view",
521
- "type": "function"
522
- },
523
- {
524
- "inputs": [
525
- {
526
- "internalType": "address",
527
- "name": "comptroller",
528
- "type": "address"
529
- }
530
- ],
531
- "name": "getPoolByComptroller",
532
- "outputs": [
533
- {
534
- "components": [
535
- {
536
- "internalType": "string",
537
- "name": "name",
538
- "type": "string"
539
- },
540
- {
541
- "internalType": "address",
542
- "name": "creator",
543
- "type": "address"
544
- },
545
- {
546
- "internalType": "address",
547
- "name": "comptroller",
548
- "type": "address"
549
- },
550
- {
551
- "internalType": "uint256",
552
- "name": "blockPosted",
553
- "type": "uint256"
554
- },
555
- {
556
- "internalType": "uint256",
557
- "name": "timestampPosted",
558
- "type": "uint256"
559
- }
560
- ],
561
- "internalType": "struct PoolRegistryInterface.VenusPool",
562
- "name": "",
563
- "type": "tuple"
564
- }
565
- ],
566
- "stateMutability": "view",
567
- "type": "function"
568
- },
569
- {
570
- "inputs": [
571
- {
572
- "internalType": "address",
573
- "name": "asset",
574
- "type": "address"
575
- }
576
- ],
577
- "name": "getPoolsSupportedByAsset",
578
- "outputs": [
579
- {
580
- "internalType": "address[]",
581
- "name": "",
582
- "type": "address[]"
583
- }
584
- ],
585
- "stateMutability": "view",
586
- "type": "function"
587
- },
588
- {
589
- "inputs": [
590
- {
591
- "internalType": "address",
592
- "name": "comptroller",
593
- "type": "address"
594
- },
595
- {
596
- "internalType": "address",
597
- "name": "asset",
598
- "type": "address"
599
- }
600
- ],
601
- "name": "getVTokenForAsset",
602
- "outputs": [
603
- {
604
- "internalType": "address",
605
- "name": "",
606
- "type": "address"
607
- }
608
- ],
609
- "stateMutability": "view",
610
- "type": "function"
611
- },
612
- {
613
- "inputs": [
614
- {
615
- "internalType": "address",
616
- "name": "comptroller",
617
- "type": "address"
618
- }
619
- ],
620
- "name": "getVenusPoolMetadata",
621
- "outputs": [
622
- {
623
- "components": [
624
- {
625
- "internalType": "string",
626
- "name": "category",
627
- "type": "string"
628
- },
629
- {
630
- "internalType": "string",
631
- "name": "logoURL",
632
- "type": "string"
633
- },
634
- {
635
- "internalType": "string",
636
- "name": "description",
637
- "type": "string"
638
- }
639
- ],
640
- "internalType": "struct PoolRegistryInterface.VenusPoolMetaData",
641
- "name": "",
642
- "type": "tuple"
643
- }
644
- ],
645
- "stateMutability": "view",
646
- "type": "function"
647
- },
648
- {
649
- "inputs": [
650
- {
651
- "internalType": "contract VTokenProxyFactory",
652
- "name": "vTokenFactory_",
653
- "type": "address"
654
- },
655
- {
656
- "internalType": "contract JumpRateModelFactory",
657
- "name": "jumpRateFactory_",
658
- "type": "address"
659
- },
660
- {
661
- "internalType": "contract WhitePaperInterestRateModelFactory",
662
- "name": "whitePaperFactory_",
663
- "type": "address"
664
- },
665
- {
666
- "internalType": "contract Shortfall",
667
- "name": "shortfall_",
668
- "type": "address"
669
- },
670
- {
671
- "internalType": "address payable",
672
- "name": "protocolShareReserve_",
673
- "type": "address"
674
- },
675
- {
676
- "internalType": "address",
677
- "name": "accessControlManager_",
678
- "type": "address"
679
- }
680
- ],
681
- "name": "initialize",
682
- "outputs": [],
683
- "stateMutability": "nonpayable",
684
- "type": "function"
685
- },
686
- {
687
- "inputs": [],
688
- "name": "jumpRateFactory",
689
- "outputs": [
690
- {
691
- "internalType": "contract JumpRateModelFactory",
692
- "name": "",
693
- "type": "address"
694
- }
695
- ],
696
- "stateMutability": "view",
697
- "type": "function"
698
- },
699
- {
700
- "inputs": [
701
- {
702
- "internalType": "address",
703
- "name": "",
704
- "type": "address"
705
- }
706
- ],
707
- "name": "metadata",
708
- "outputs": [
709
- {
710
- "internalType": "string",
711
- "name": "category",
712
- "type": "string"
713
- },
714
- {
715
- "internalType": "string",
716
- "name": "logoURL",
717
- "type": "string"
718
- },
719
- {
720
- "internalType": "string",
721
- "name": "description",
722
- "type": "string"
723
- }
724
- ],
725
- "stateMutability": "view",
726
- "type": "function"
727
- },
728
- {
729
- "inputs": [],
730
- "name": "owner",
731
- "outputs": [
732
- {
733
- "internalType": "address",
734
- "name": "",
735
- "type": "address"
736
- }
737
- ],
738
- "stateMutability": "view",
739
- "type": "function"
740
- },
741
- {
742
- "inputs": [],
743
- "name": "pendingOwner",
744
- "outputs": [
745
- {
746
- "internalType": "address",
747
- "name": "",
748
- "type": "address"
749
- }
750
- ],
751
- "stateMutability": "view",
752
- "type": "function"
753
- },
754
- {
755
- "inputs": [],
756
- "name": "protocolShareReserve",
757
- "outputs": [
758
- {
759
- "internalType": "address payable",
760
- "name": "",
761
- "type": "address"
762
- }
763
- ],
764
- "stateMutability": "view",
765
- "type": "function"
766
- },
767
- {
768
- "inputs": [],
769
- "name": "renounceOwnership",
770
- "outputs": [],
771
- "stateMutability": "nonpayable",
772
- "type": "function"
773
- },
774
- {
775
- "inputs": [
776
- {
777
- "internalType": "address",
778
- "name": "accessControlManager_",
779
- "type": "address"
780
- }
781
- ],
782
- "name": "setAccessControlManager",
783
- "outputs": [],
784
- "stateMutability": "nonpayable",
785
- "type": "function"
786
- },
787
- {
788
- "inputs": [
789
- {
790
- "internalType": "address",
791
- "name": "comptroller",
792
- "type": "address"
793
- },
794
- {
795
- "internalType": "string",
796
- "name": "name",
797
- "type": "string"
798
- }
799
- ],
800
- "name": "setPoolName",
801
- "outputs": [],
802
- "stateMutability": "nonpayable",
803
- "type": "function"
804
- },
805
- {
806
- "inputs": [
807
- {
808
- "internalType": "address payable",
809
- "name": "protocolShareReserve_",
810
- "type": "address"
811
- }
812
- ],
813
- "name": "setProtocolShareReserve",
814
- "outputs": [],
815
- "stateMutability": "nonpayable",
816
- "type": "function"
817
- },
818
- {
819
- "inputs": [
820
- {
821
- "internalType": "contract Shortfall",
822
- "name": "shortfall_",
823
- "type": "address"
824
- }
825
- ],
826
- "name": "setShortfallContract",
827
- "outputs": [],
828
- "stateMutability": "nonpayable",
829
- "type": "function"
830
- },
831
- {
832
- "inputs": [],
833
- "name": "shortfall",
834
- "outputs": [
835
- {
836
- "internalType": "contract Shortfall",
837
- "name": "",
838
- "type": "address"
839
- }
840
- ],
841
- "stateMutability": "view",
842
- "type": "function"
843
- },
844
- {
845
- "inputs": [
846
- {
847
- "internalType": "address",
848
- "name": "newOwner",
849
- "type": "address"
850
- }
851
- ],
852
- "name": "transferOwnership",
853
- "outputs": [],
854
- "stateMutability": "nonpayable",
855
- "type": "function"
856
- },
857
- {
858
- "inputs": [
859
- {
860
- "internalType": "address",
861
- "name": "comptroller",
862
- "type": "address"
863
- },
864
- {
865
- "components": [
866
- {
867
- "internalType": "string",
868
- "name": "category",
869
- "type": "string"
870
- },
871
- {
872
- "internalType": "string",
873
- "name": "logoURL",
874
- "type": "string"
875
- },
876
- {
877
- "internalType": "string",
878
- "name": "description",
879
- "type": "string"
880
- }
881
- ],
882
- "internalType": "struct PoolRegistryInterface.VenusPoolMetaData",
883
- "name": "metadata_",
884
- "type": "tuple"
885
- }
886
- ],
887
- "name": "updatePoolMetadata",
888
- "outputs": [],
889
- "stateMutability": "nonpayable",
890
- "type": "function"
891
- },
892
- {
893
- "inputs": [],
894
- "name": "vTokenFactory",
895
- "outputs": [
896
- {
897
- "internalType": "contract VTokenProxyFactory",
898
- "name": "",
899
- "type": "address"
900
- }
901
- ],
902
- "stateMutability": "view",
903
- "type": "function"
904
- },
905
- {
906
- "inputs": [],
907
- "name": "whitePaperFactory",
908
- "outputs": [
909
- {
910
- "internalType": "contract WhitePaperInterestRateModelFactory",
911
- "name": "",
912
- "type": "address"
913
- }
914
- ],
915
- "stateMutability": "view",
916
- "type": "function"
917
- }
918
- ],
919
- "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b62000111565b600054610100900460ff1615620000565760405162461bcd60e51b81526004016200004d90620000af565b60405180910390fd5b60005460ff90811614620000ad576000805460ff191660ff9081179091556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891620000a49162000101565b60405180910390a15b565b60208082528101620000fb81602781527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469602082015266616c697a696e6760c81b604082015260600190565b92915050565b60ff8216815260208101620000fb565b614c6c80620001216000396000f3fe60806040523480156200001157600080fd5b5060043610620001925760003560e01c806379ba509711620000f0578063cc2a9a5b11620000a3578063e9a44fd9116200007a578063e9a44fd914620003af578063f2fde38b14620003c3578063f36dba3814620003da578063ff94d958146200040057600080fd5b8063cc2a9a5b146200036d578063d88ff1f41462000384578063e30c3978146200039d57600080fd5b806379ba509714620002df5780637aee632d14620002e957806388278770146200030f5780638da5cb5b1462000323578063a3aefa2c1462000335578063b4a0bdf3146200035b57600080fd5b806328dd9912116200014957806328dd991214620002475780632ba21572146200025b57806341f641ee14620002835780634d6cda14146200029a578063715018a614620002c1578063730aa2a014620002cb57600080fd5b80630e32cb861462000197578063107568df14620001b057806319b1faef14620001c75780631cb6bb7e14620001f35780631cdaafc7146200020a578063266e0a7f1462000221575b600080fd5b620001ae620001a8366004620027f8565b62000417565b005b620001ae620001c1366004620027f8565b6200042f565b60cc54620001db906001600160a01b031681565b604051620001ea91906200286d565b60405180910390f35b620001ae62000204366004620028d4565b62000444565b620001ae6200021b36600462002cc8565b620005a1565b620002386200023236600462002d08565b62000f1c565b604051620001ea919062002d56565b60c954620001db906001600160a01b031681565b620002726200026c366004620027f8565b62000f4b565b604051620001ea9392919062002dcc565b620001ae6200029436600462002e14565b6200111d565b620002b1620002ab36600462002e39565b62001132565b604051620001ea92919062002f24565b620001ae6200140e565b60ca54620001db906001600160a01b031681565b620001ae62001426565b62000300620002fa366004620027f8565b62001460565b604051620001ea919062002fb3565b60cb54620001db906001600160a01b031681565b6033546001600160a01b031662000238565b6200034c62000346366004620027f8565b62001561565b604051620001ea919062003018565b6097546001600160a01b0316620001db565b620001ae6200037e3660046200302b565b6200177d565b6200038e620018bc565b604051620001ea91906200313d565b6065546001600160a01b031662000238565b60cd5462000238906001600160a01b031681565b620001ae620003d4366004620027f8565b62001a74565b620003f1620003eb366004620027f8565b62001ae8565b604051620001ea9190620031b4565b620001ae62000411366004620031e4565b62001b60565b6200042162001dea565b6200042c8162001e17565b50565b6200043962001dea565b6200042c8162001ea1565b620004846040518060400160405280601b81526020017f736574506f6f6c4e616d6528616464726573732c737472696e6729000000000081525062001efe565b62000490828262001fa4565b6001600160a01b038316600090815260d16020526040812080549091908290620004ba906200324f565b80601f0160208091040260200160405190810160405280929190818152602001828054620004e8906200324f565b8015620005395780601f106200050d5761010080835404028352916020019162000539565b820191906000526020600020905b8154815290600101906020018083116200051b57829003601f168201915b5093945062000552935085925087915086905062002650565b50846001600160a01b03167fa01f2b0df2b143bfb23d4b696c103547a6bec8ca1f56e8e8a483611cb4e23a7e82868660405162000592939291906200329f565b60405180910390a25050505050565b620005e16040518060400160405280601981526020017f6164644d61726b6574284164644d61726b6574496e707574290000000000000081525062001efe565b8051620005ee9062001fc8565b620005fd816020015162001fc8565b6200060d816101c0015162001fc8565b6200061d81610200015162001fc8565b80516001600160a01b03908116600090815260d26020908152604080832082860151851684529091529020541615620006735760405162461bcd60e51b81526004016200066a90620032c9565b60405180910390fd5b6000816101e00151116200069b5760405162461bcd60e51b81526004016200066a906200337b565b600060018260a001516001811115620006b857620006b86200338d565b03620007605760ca5460c083015160e08401516101008501516101208601516101a087015160405163cccfa36160e01b81526001600160a01b039096169563cccfa3619562000712959094909390929091600401620033a3565b6020604051808303816000875af115801562000732573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000758919062003406565b9050620007e5565b60cb5460c083015160e08401516040516302f3cddb60e51b81526001600160a01b0390931692635e79bb60926200079c9290916004016200342b565b6020604051808303816000875af1158015620007bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007e2919062003406565b90505b600082600001519050600083602001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000833573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000859919062003457565b60ff169050600060405180610180016040528086602001516001600160a01b03168152602001846001600160a01b03168152602001856001600160a01b03168152602001866040015160ff16846012620008b4919062003492565b620008c09190620034ad565b620008cd90600a620035f5565b81526060808801516020808401919091526080808a0151604080860191909152808b015160ff169385019390935233908401526101a08901516001600160a01b0390811660a08501528251808401845260cc548216815260cd5482169281019290925260c08401919091526101c0890151811660e08401526101808901516101009093019290925260c95490516364f20d9560e01b81529293506000929116906364f20d9590620009839085906004016200374c565b6020604051808303816000875af1158015620009a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009c9919062003406565b6040516332ad3e1360e21b81529091506001600160a01b0385169063cab4f84c90620009fa9084906004016200286d565b600060405180830381600087803b15801562000a1557600080fd5b505af115801562000a2a573d6000803e3d6000fd5b505050610140870151610160880151604051635cc4fdeb60e01b81526001600160a01b0388169350635cc4fdeb9262000a689286926004016200375f565b600060405180830381600087803b15801562000a8357600080fd5b505af115801562000a98573d6000803e3d6000fd5b50600092506001915062000aa99050565b60405190808252806020026020018201604052801562000ad3578160200160208202803683370190505b50604080516001808252818301909252919250600091906020808301908036833750506040805160018082528183019092529293506000929150602080830190803683370190505090508861022001518360008151811062000b395762000b396200378d565b6020026020010181815250508861024001518260008151811062000b615762000b616200378d565b602002602001018181525050838160008151811062000b845762000b846200378d565b6001600160a01b03928316602091820292909201015260405163344dabd160e21b81529088169063d136af449062000bc3908490879060040162003845565b600060405180830381600087803b15801562000bde57600080fd5b505af115801562000bf3573d6000803e3d6000fd5b505060405163186db48f60e01b81526001600160a01b038a16925063186db48f915062000c27908490869060040162003845565b600060405180830381600087803b15801562000c4257600080fd5b505af115801562000c57573d6000803e3d6000fd5b505050508360d260008b600001516001600160a01b03166001600160a01b0316815260200190815260200160002060008b602001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060d360008a602001516001600160a01b03166001600160a01b0316815260200190815260200160002089600001519080600181540180825580915050600190039060005260206000200160009091909190916101000a8154816001600160a01b0302191690836001600160a01b03160217905550600089602001519050600062000d6182338d6101e0015162001ff0565b60405163095ea7b360e01b81529091506001600160a01b0383169063095ea7b39062000d9590899060009060040162003887565b6020604051808303816000875af115801562000db5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ddb9190620038bc565b5060405163095ea7b360e01b81526001600160a01b0383169063095ea7b39062000e0c9089908590600401620038e1565b6020604051808303816000875af115801562000e2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e529190620038bc565b506102008b01516040516323323e0360e01b81526001600160a01b038816916323323e039162000e8891908590600401620038e1565b6020604051808303816000875af115801562000ea8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ece9190620038fe565b50856001600160a01b0316896001600160a01b03167f7772c85e68debdf74fad87834e2cc05fa763e74faf14de7096da30529065114260405160405180910390a35050505050505050505050565b6001600160a01b03808316600090815260d2602090815260408083208585168452909152902054165b92915050565b60ce6020526000908152604090208054819062000f68906200324f565b80601f016020809104026020016040519081016040528092919081815260200182805462000f96906200324f565b801562000fe75780601f1062000fbb5761010080835404028352916020019162000fe7565b820191906000526020600020905b81548152906001019060200180831162000fc957829003601f168201915b50505050509080600101805462000ffe906200324f565b80601f01602080910402602001604051908101604052809291908181526020018280546200102c906200324f565b80156200107d5780601f1062001051576101008083540402835291602001916200107d565b820191906000526020600020905b8154815290600101906020018083116200105f57829003601f168201915b50505050509080600201805462001094906200324f565b80601f0160208091040260200160405190810160405280929190818152602001828054620010c2906200324f565b8015620011135780601f10620010e75761010080835404028352916020019162001113565b820191906000526020600020905b815481529060010190602001808311620010f557829003601f168201915b5050505050905083565b6200112762001dea565b6200042c816200210d565b6000806200115960405180608001604052806052815260200162004bb86052913962001efe565b620011648962001fc8565b6200116f8562001fc8565b60008963da35a26f60e01b86866040516024016200118f92919062002f24565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620011ce90620026df565b620011db92919062003923565b604051809103906000f080158015620011f8573d6000803e3d6000fd5b5091508190508060006200120e8e8e846200216a565b60405163091a474b60e11b81529091506001600160a01b038316906312348e96906200123f908e9060040162003947565b600060405180830381600087803b1580156200125a57600080fd5b505af11580156200126f573d6000803e3d6000fd5b505060405163a843108160e01b81526001600160a01b038516925063a84310819150620012a1908d9060040162003947565b600060405180830381600087803b158015620012bc57600080fd5b505af1158015620012d1573d6000803e3d6000fd5b5050604051631482db1d60e21b81526001600160a01b038516925063520b6c74915062001303908c9060040162003947565b600060405180830381600087803b1580156200131e57600080fd5b505af115801562001333573d6000803e3d6000fd5b505060405163530e784f60e01b81526001600160a01b038516925063530e784f915062001365908b906004016200286d565b600060405180830381600087803b1580156200138057600080fd5b505af115801562001395573d6000803e3d6000fd5b505060405163f2fde38b60e01b81526001600160a01b038516925063f2fde38b9150620013c790339060040162002d56565b600060405180830381600087803b158015620013e257600080fd5b505af1158015620013f7573d6000803e3d6000fd5b509296505050505050995099975050505050505050565b6200141862001dea565b62001424600062002319565b565b60655433906001600160a01b03168114620014555760405162461bcd60e51b81526004016200066a906200399e565b6200042c8162002319565b6200146a620026ed565b6001600160a01b038216600090815260d1602052604090819020815160a081019092528054829082906200149e906200324f565b80601f0160208091040260200160405190810160405280929190818152602001828054620014cc906200324f565b80156200151d5780601f10620014f1576101008083540402835291602001916200151d565b820191906000526020600020905b815481529060010190602001808311620014ff57829003601f168201915b505050918352505060018201546001600160a01b03908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b6200158660405180606001604052806060815260200160608152602001606081525090565b6001600160a01b038216600090815260ce602052604090819020815160608101909252805482908290620015ba906200324f565b80601f0160208091040260200160405190810160405280929190818152602001828054620015e8906200324f565b8015620016395780601f106200160d5761010080835404028352916020019162001639565b820191906000526020600020905b8154815290600101906020018083116200161b57829003601f168201915b5050505050815260200160018201805462001654906200324f565b80601f016020809104026020016040519081016040528092919081815260200182805462001682906200324f565b8015620016d35780601f10620016a757610100808354040283529160200191620016d3565b820191906000526020600020905b815481529060010190602001808311620016b557829003601f168201915b50505050508152602001600282018054620016ee906200324f565b80601f01602080910402602001604051908101604052809291908181526020018280546200171c906200324f565b80156200176d5780601f1062001741576101008083540402835291602001916200176d565b820191906000526020600020905b8154815290600101906020018083116200174f57829003601f168201915b5050505050815250509050919050565b600054610100900460ff16158080156200179e5750600054600160ff909116105b80620017ba5750303b158015620017ba575060005460ff166001145b620017d95760405162461bcd60e51b81526004016200066a90620039fc565b6000805460ff191660011790558015620017fd576000805461ff0019166101001790555b6200180762002334565b620018128262002368565b60c980546001600160a01b03808a166001600160a01b03199283161790925560ca805489841690831617905560cb8054928816929091169190911790556200185a846200210d565b620018658362001ea1565b8015620018b3576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890620018aa9060019062003a25565b60405180910390a15b50505050505050565b60d0546060906000816001600160401b03811115620018df57620018df62002937565b6040519080825280602002602001820160405280156200191c57816020015b62001908620026ed565b815260200190600190039081620018fe5790505b50905060015b82811162001a6d57600081815260cf60209081526040808320546001600160a01b031680845260d190925291829020825160a081019093528054919291829082906200196e906200324f565b80601f01602080910402602001604051908101604052809291908181526020018280546200199c906200324f565b8015620019ed5780601f10620019c157610100808354040283529160200191620019ed565b820191906000526020600020905b815481529060010190602001808311620019cf57829003601f168201915b50505091835250506001828101546001600160a01b039081166020840152600284015416604083015260038301546060830152600490920154608090910152849062001a3a9085620034ad565b8151811062001a4d5762001a4d6200378d565b6020026020010181905250508062001a659062003a35565b905062001922565b5092915050565b62001a7e62001dea565b606580546001600160a01b0383166001600160a01b0319909116811790915562001ab06033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6001600160a01b038116600090815260d3602090815260409182902080548351818402810184019094528084526060939283018282801562001b5457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001b35575b50505050509050919050565b62001b846040518060600160405280602d815260200162004c0a602d913962001efe565b6001600160a01b038216600090815260ce602052604080822081516060810190925280548290829062001bb7906200324f565b80601f016020809104026020016040519081016040528092919081815260200182805462001be5906200324f565b801562001c365780601f1062001c0a5761010080835404028352916020019162001c36565b820191906000526020600020905b81548152906001019060200180831162001c1857829003601f168201915b5050505050815260200160018201805462001c51906200324f565b80601f016020809104026020016040519081016040528092919081815260200182805462001c7f906200324f565b801562001cd05780601f1062001ca45761010080835404028352916020019162001cd0565b820191906000526020600020905b81548152906001019060200180831162001cb257829003601f168201915b5050505050815260200160028201805462001ceb906200324f565b80601f016020809104026020016040519081016040528092919081815260200182805462001d19906200324f565b801562001d6a5780601f1062001d3e5761010080835404028352916020019162001d6a565b820191906000526020600020905b81548152906001019060200180831162001d4c57829003601f168201915b505050919092525050506001600160a01b038416600090815260ce60205260409020909150829062001d9d828262003c9c565b905050826001600160a01b03167f8f91f3b5d20b61744ed591c43346d4514ee5c2ffced5fc3795bb13c6f9518147828460405162001ddd92919062003d73565b60405180910390a2505050565b6033546001600160a01b03163314620014245760405162461bcd60e51b81526004016200066a9062003dd1565b6001600160a01b03811662001e405760405162461bcd60e51b81526004016200066a9062003e26565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa09062001e95908390859062003e38565b60405180910390a15050565b62001eac8162001fc8565b60cd80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fafec95c8612496c3ecf5dddc71e393528fe29bd145fbaf9c6b496d78d7e2d79b90600090a35050565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab9062001f33903390869060040162003923565b602060405180830381865afa15801562001f51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f779190620038bc565b90508062001fa057333083604051634a3fa29360e01b81526004016200066a9392919062003e48565b5050565b606481111562001fa05760405162461bcd60e51b81526004016200066a9062003eb0565b6001600160a01b0381166200042c576040516342bcdf7f60e11b815260040160405180910390fd5b600080846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040162002021919062002d56565b602060405180830381865afa1580156200203f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620020659190620038fe565b90506200207e6001600160a01b03861685308662002392565b6040516370a0823160e01b81526000906001600160a01b038716906370a0823190620020af90309060040162002d56565b602060405180830381865afa158015620020cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620020f39190620038fe565b9050620021018282620034ad565b925050505b9392505050565b620021188162001fc8565b60cc80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f6dbf1ff28f860de5edafa4c6505e37c0aba213288cc4166c5352b6d3776c79ef90600090a35050565b6001600160a01b03808216600090815260d1602052604081206001810154919290911615620021ad5760405162461bcd60e51b81526004016200066a9062003f13565b620021b9858562001fa4565b60d060008154620021ca9062003a35565b9091555060d0546040805160c06020601f8901819004028201810190925260a081018781526000928291908a908a908190850183828082843760009201829052509385525050336020808501919091526001600160a01b038a1660408086018290524360608701524260809096019590955287845260cf825284842080546001600160a01b03191682179055835260d181529290912083518051949550859491936200227c935084929101906200272e565b5060208201516001820180546001600160a01b03199081166001600160a01b039384161790915560408085015160028501805490931690841617909155606084015160038401556080909301516004909201919091559051908616907f53ec2a1d9645c4631472dabcf6d255f5f2971baa64321235b1610d91c692928e906200230790849062002fb3565b60405180910390a25095945050505050565b606580546001600160a01b03191690556200042c81620023f4565b600054610100900460ff166200235e5760405162461bcd60e51b81526004016200066a9062003f6e565b6200142462002446565b600054610100900460ff16620004215760405162461bcd60e51b81526004016200066a9062003f6e565b620023ee846323b872dd60e01b858585604051602401620023b69392919062003f80565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200247b565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620024705760405162461bcd60e51b81526004016200066a9062003f6e565b620014243362002319565b6000620024d2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200251a9092919063ffffffff16565b9050805160001480620024f6575080806020019051810190620024f69190620038bc565b620025155760405162461bcd60e51b81526004016200066a9062003fe7565b505050565b60606200252b848460008562002533565b949350505050565b606082471015620025585760405162461bcd60e51b81526004016200066a906200403d565b600080866001600160a01b0316858760405162002576919062004074565b60006040518083038185875af1925050503d8060008114620025b5576040519150601f19603f3d011682016040523d82523d6000602084013e620025ba565b606091505b5091509150620025cd87838387620025d8565b979650505050505050565b606083156200261d57825160000362002615576001600160a01b0385163b620026155760405162461bcd60e51b81526004016200066a90620040b7565b50816200252b565b6200252b8383815115620026345781518083602001fd5b8060405162461bcd60e51b81526004016200066a9190620040c9565b8280546200265e906200324f565b90600052602060002090601f016020900481019282620026825760008555620026cd565b82601f106200269d5782800160ff19823516178555620026cd565b82800160010185558215620026cd579182015b82811115620026cd578235825591602001919060010190620026b0565b50620026db929150620027ab565b5090565b610adb80620040dd83390190565b6040518060a001604052806060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b8280546200273c906200324f565b90600052602060002090601f016020900481019282620027605760008555620026cd565b82601f106200277b57805160ff1916838001178555620026cd565b82800160010185558215620026cd579182015b82811115620026cd5782518255916020019190600101906200278e565b5b80821115620026db5760008155600101620027ac565b60006001600160a01b03821662000f45565b620027df81620027c2565b81146200042c57600080fd5b803562000f4581620027d4565b6000602082840312156200280f576200280f600080fd5b60006200252b8484620027eb565b600062000f456001600160a01b03831662002836565b90565b6001600160a01b031690565b600062000f45826200281d565b600062000f458262002842565b62002867816200284f565b82525050565b6020810162000f4582846200285c565b60008083601f840112620028945762002894600080fd5b5081356001600160401b03811115620028b057620028b0600080fd5b602083019150836001820283011115620028cd57620028cd600080fd5b9250929050565b600080600060408486031215620028ee57620028ee600080fd5b6000620028fc8686620027eb565b93505060208401356001600160401b038111156200291d576200291d600080fd5b6200292b868287016200287d565b92509250509250925092565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b038211171562002975576200297562002937565b6040525050565b60006200298860405190565b90506200299682826200294d565b919050565b60ff8116620027df565b803562000f45816200299b565b60006001600160401b03821115620029ce57620029ce62002937565b601f19601f83011660200192915050565b82818337506000910152565b600062002a02620029fc84620029b2565b6200297c565b90508281526020810184848401111562002a1f5762002a1f600080fd5b62002a2c848285620029df565b509392505050565b600082601f83011262002a4a5762002a4a600080fd5b81356200252b848260208601620029eb565b600281106200042c57600080fd5b803562000f458162002a5c565b80620027df565b803562000f458162002a77565b600062000f4582620027c2565b620027df8162002a8b565b803562000f458162002a98565b6000610260828403121562002ac85762002ac8600080fd5b62002ad56102606200297c565b9050600062002ae58484620027eb565b825250602062002af884848301620027eb565b602083015250604062002b0e84828501620029a5565b60408301525060608201356001600160401b0381111562002b325762002b32600080fd5b62002b408482850162002a34565b60608301525060808201356001600160401b0381111562002b645762002b64600080fd5b62002b728482850162002a34565b60808301525060a062002b888482850162002a6a565b60a08301525060c062002b9e8482850162002a7e565b60c08301525060e062002bb48482850162002a7e565b60e08301525061010062002bcb8482850162002a7e565b6101008301525061012062002be38482850162002a7e565b6101208301525061014062002bfb8482850162002a7e565b6101408301525061016062002c138482850162002a7e565b6101608301525061018062002c2b8482850162002a7e565b610180830152506101a062002c438482850162002aa3565b6101a0830152506101c062002c5b84828501620027eb565b6101c0830152506101e062002c738482850162002a7e565b6101e08301525061020062002c8b84828501620027eb565b6102008301525061022062002ca38482850162002a7e565b6102208301525061024062002cbb8482850162002a7e565b6102408301525092915050565b60006020828403121562002cdf5762002cdf600080fd5b81356001600160401b0381111562002cfa5762002cfa600080fd5b6200252b8482850162002ab0565b6000806040838503121562002d205762002d20600080fd5b600062002d2e8585620027eb565b925050602062002d4185828601620027eb565b9150509250929050565b6200286781620027c2565b6020810162000f45828462002d4b565b60005b8381101562002d8357818101518382015260200162002d69565b83811115620023ee5750506000910152565b600062002da0825190565b80845260208401935062002db981856020860162002d66565b601f19601f8201165b9093019392505050565b6060808252810162002ddf818662002d95565b9050818103602083015262002df5818562002d95565b9050818103604083015262002e0b818462002d95565b95945050505050565b60006020828403121562002e2b5762002e2b600080fd5b60006200252b848462002aa3565b60008060008060008060008060006101008a8c03121562002e5d5762002e5d600080fd5b89356001600160401b0381111562002e785762002e78600080fd5b62002e868c828d016200287d565b9950995050602062002e9b8c828d01620027eb565b975050604062002eae8c828d0162002a7e565b965050606062002ec18c828d0162002a7e565b955050608062002ed48c828d0162002a7e565b94505060a062002ee78c828d01620027eb565b93505060c062002efa8c828d0162002a7e565b92505060e062002f0d8c828d01620027eb565b9150509295985092959850929598565b8062002867565b6040810162002f34828562002f1d565b62002106602083018462002d4b565b805160a08084526000919084019062002f5d828262002d95565b915050602083015162002f74602086018262002d4b565b50604083015162002f89604086018262002d4b565b50606083015162002f9e606086018262002f1d565b50608083015162002a2c608086018262002f1d565b6020808252810162002106818462002f43565b805160608084526000919084019062002fe0828262002d95565b9150506020830151848203602086015262002ffc828262002d95565b9150506040830151848203604086015262002e0b828262002d95565b6020808252810162002106818462002fc6565b60008060008060008060c08789031215620030495762003049600080fd5b600062003057898962002aa3565b96505060206200306a89828a0162002aa3565b95505060406200307d89828a0162002aa3565b94505060606200309089828a0162002aa3565b9350506080620030a389828a01620027eb565b92505060a0620030b689828a01620027eb565b9150509295509295509295565b600062002106838362002f43565b6000620030dc825190565b80845260208401935083602082028501620030f78560200190565b8060005b85811015620031305784840389528151620031178582620030c3565b94506020830160209a909a0199925050600101620030fb565b5091979650505050505050565b60208082528101620021068184620030d1565b60006200315e838362002d4b565b505060200190565b600062003171825190565b80845260209384019383018060005b83811015620031a957815162003197888262003150565b97506020830192505060010162003180565b509495945050505050565b6020808252810162002106818462003166565b600060608284031215620031de57620031de600080fd5b50919050565b60008060408385031215620031fc57620031fc600080fd5b60006200320a8585620027eb565b92505060208301356001600160401b038111156200322b576200322b600080fd5b62002d4185828601620031c7565b634e487b7160e01b600052602260045260246000fd5b6002810460018216806200326457607f821691505b602082108103620031de57620031de62003239565b818352600060208401935062003291838584620029df565b601f19601f84011662002dc2565b60408082528101620032b2818662002d95565b9050818103602083015262002e0b81848662003279565b6020808252810162000f4581604481527f506f6f6c52656769737472793a204d61726b657420616c72656164792061646460208201527f656420666f7220617373657420636f6d7074726f6c6c657220636f6d62696e616040820152633a34b7b760e11b606082015260800190565b602381526000602082017f506f6f6c52656769737472793a20696e697469616c537570706c79206973207a81526265726f60e81b602082015291505b5060400190565b6020808252810162000f458162003338565b634e487b7160e01b600052602160045260246000fd5b60a08101620033b3828862002f1d565b620033c2602083018762002f1d565b620033d1604083018662002f1d565b620033e0606083018562002f1d565b620033ef60808301846200285c565b9695505050505050565b805162000f458162002a98565b6000602082840312156200341d576200341d600080fd5b60006200252b8484620033f9565b604081016200343b828562002f1d565b62002106602083018462002f1d565b805162000f45816200299b565b6000602082840312156200346e576200346e600080fd5b60006200252b84846200344a565b634e487b7160e01b600052601160045260246000fd5b60008219821115620034a857620034a86200347c565b500190565b600082821015620034c257620034c26200347c565b500390565b80825b60018511156200350d57808604811115620034e957620034e96200347c565b6001851615620034f857908102905b8002620035058560011c90565b9450620034ca565b94509492505050565b600082620035275750600162002106565b81620035365750600062002106565b81600181146200354f57600281146200355a576200358e565b600191505062002106565b60ff8411156200356e576200356e6200347c565b8360020a9150848211156200358757620035876200347c565b5062002106565b5060208310610133831016604e8410600b8410161715620035c6575081810a83811115620035c057620035c06200347c565b62002106565b620035d58484846001620034c7565b92509050818404811115620035ee57620035ee6200347c565b0292915050565b600062002106600019848462003516565b60ff811662002867565b8051604083019062003623848262002d4b565b506020820151620023ee602085018262002d4b565b80516000906101a08401906200364f858262002d4b565b5060208301516200366460208601826200285c565b5060408301516200367960408601826200285c565b5060608301516200368e606086018262002f1d565b5060808301518482036080860152620036a8828262002d95565b91505060a083015184820360a0860152620036c4828262002d95565b91505060c0830151620036db60c086018262003606565b5060e0830151620036f060e086018262002d4b565b50610100830151620037076101008601826200285c565b506101208301516200371e61012086018262003610565b506101408301516200373561016086018262002d4b565b5061016083015162002a2c61018086018262002f1d565b6020808252810162002106818462003638565b606081016200376f82866200285c565b6200377e602083018562002f1d565b6200252b604083018462002f1d565b634e487b7160e01b600052603260045260246000fd5b60006200315e83836200285c565b6000620037bc825190565b80845260209384019383018060005b83811015620031a9578151620037e28882620037a3565b975060208301925050600101620037cb565b60006200315e838362002f1d565b60006200380d825190565b80845260209384019383018060005b83811015620031a9578151620038338882620037f4565b9750602083019250506001016200381c565b60408082528101620038588185620037b1565b905081810360208301526200252b818462003802565b600062000f45620028338381565b62002867816200386e565b6040810162003897828562002d4b565b6200210660208301846200387c565b801515620027df565b805162000f4581620038a6565b600060208284031215620038d357620038d3600080fd5b60006200252b8484620038af565b604081016200343b828562002d4b565b805162000f458162002a77565b600060208284031215620039155762003915600080fd5b60006200252b8484620038f1565b6040810162003933828562002d4b565b81810360208301526200252b818462002d95565b6020810162000f45828462002f1d565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b6020820152915062003374565b6020808252810162000f458162003957565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b6020820152915062003374565b6020808252810162000f4581620039b0565b600060ff821662000f45565b620028678162003a0e565b6020810162000f45828462003a1a565b6000600019820362003a4b5762003a4b6200347c565b5060010190565b6000808335601e193685900301811262003a6f5762003a6f600080fd5b8084019250823591506001600160401b0382111562003a915762003a91600080fd5b60208301925060018202360383131562003aae5762003aae600080fd5b509250929050565b62003ac1836200386e565b81546008840282811b60001990911b908116901990911617825550505050565b60006200251581848462003ab6565b8181101562001fa05762003b0660008262003ae1565b60010162003af0565b601f82111562002515576000818152602090206020601f8501048101602085101562003b385750805b62003b4c6020601f86010483018262003af0565b5050505050565b826001600160401b0381111562003b6e5762003b6e62002937565b62003b7a82546200324f565b62003b8782828562003b0f565b6000601f83116001811462003bbe576000841562003ba55750858201355b600019600886021c1981166002860217865550620018b3565b600085815260208120601f198616915b8281101562003bf0578885013582556020948501946001909201910162003bce565b8683101562003c0d57600019601f88166008021c19858a01351682555b60016002880201885550505050505050505050565b6200251583838362003b53565b808262003c3d818062003a52565b62003c4a81838662003c22565b50505050600181016020830162003c62818562003a52565b62003c6f81838662003c22565b50505050600281016040830162003c87818562003a52565b62003c9481838662003c22565b505050505050565b62001fa0828262003c2f565b6000808335601e193685900301811262003cc55762003cc5600080fd5b8381016020810193503591506001600160401b0382111562003cea5762003cea600080fd5b3682900384131562003aae5762003aae600080fd5b60006060830162003d11838062003ca8565b858303865262003d2383828462003279565b9250505062003d36602084018462003ca8565b858303602087015262003d4b83828462003279565b9250505062003d5e604084018462003ca8565b8583036040870152620033ef83828462003279565b6040808252810162003d86818562002fc6565b905081810360208301526200252b818462003cff565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260005b5060200190565b6020808252810162000f458162003d9c565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b6020820152915062003374565b6020808252810162000f458162003de3565b6040810162002f34828562002d4b565b6060810162003e58828662002d4b565b62003e67602083018562002d4b565b818103604083015262002e0b818462002d95565b601881526000602082017f506f6f6c2773206e616d6520697320746f6f206c6172676500000000000000008152915062003dca565b6020808252810162000f458162003e7b565b603381526000602082017f506f6f6c52656769737472793a20506f6f6c20616c7265616479206578697374815272399034b7103a3432903234b932b1ba37b93c9760691b6020820152915062003374565b6020808252810162000f458162003ec2565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b6020820152915062003374565b6020808252810162000f458162003f25565b6060810162003f90828662002d4b565b6200377e602083018562002d4b565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b6020820152915062003374565b6020808252810162000f458162003f9f565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b6020820152915062003374565b6020808252810162000f458162003ff9565b60006200405a825190565b6200406a81856020860162002d66565b9290920192915050565b60006200210682846200404f565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000008152915062003dca565b6020808252810162000f458162004082565b6020808252810162002106818462002d9556fe608060405260405162000adb38038062000adb8339810160408190526200002691620004f5565b62000034828260006200003c565b5050620006ee565b620000478362000111565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a2600082511180620000895750805b156200010c576200010a836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f8919062000554565b836200024360201b620000291760201c565b505b505050565b62000127816200027460201b620000571760201c565b6200014f5760405162461bcd60e51b81526004016200014690620005be565b60405180910390fd5b620001c9816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000192573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b8919062000554565b6200027460201b620000571760201c565b620001e85760405162461bcd60e51b815260040162000146906200061e565b80620002227fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5060001b6200028360201b620000661760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b60606200026b838360405180606001604052806027815260200162000ab46027913962000286565b90505b92915050565b6001600160a01b03163b151590565b90565b6060600080856001600160a01b031685604051620002a5919062000655565b600060405180830381855af49150503d8060008114620002e2576040519150601f19603f3d011682016040523d82523d6000602084013e620002e7565b606091505b509092509050620002fb8683838762000305565b9695505050505050565b606083156200034a57825160000362000342576001600160a01b0385163b620003425760405162461bcd60e51b815260040162000146906200066a565b508162000356565b6200035683836200035e565b949350505050565b8151156200036f5781518083602001fd5b8060405162461bcd60e51b8152600401620001469190620006db565b60006001600160a01b0382166200026e565b620003a8816200038b565b8114620003b457600080fd5b50565b80516200026e816200039d565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b0382111715620004025762000402620003c4565b6040525050565b60006200041560405190565b9050620004238282620003da565b919050565b60006001600160401b03821115620004445762000444620003c4565b601f19601f83011660200192915050565b60005b838110156200047257818101518382015260200162000458565b838111156200010a5750506000910152565b60006200049b620004958462000428565b62000409565b905082815260208101848484011115620004b857620004b8600080fd5b620004c584828562000455565b509392505050565b600082601f830112620004e357620004e3600080fd5b81516200035684826020860162000484565b600080604083850312156200050d576200050d600080fd5b60006200051b8585620003b7565b92505060208301516001600160401b038111156200053c576200053c600080fd5b6200054a85828601620004cd565b9150509250929050565b6000602082840312156200056b576200056b600080fd5b6000620003568484620003b7565b602581526000602082017f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e8152641d1c9858dd60da1b602082015291505b5060400190565b602080825281016200026e8162000579565b603081526000602082017f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206981526f1cc81b9bdd08184818dbdb9d1c9858dd60821b60208201529150620005b7565b602080825281016200026e81620005d0565b60006200063b825190565b6200064b81856020860162000455565b9290920192915050565b600062000663828462000630565b9392505050565b602080825281016200026e81601d81527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000602082015260400190565b6000620006b1825190565b808452602084019350620006ca81856020860162000455565b601f01601f19169290920192915050565b602080825281016200026b8184620006a6565b6103b680620006fe6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610069565b610102565b565b606061004e838360405180606001604052806027815260200161035a60279139610126565b90505b92915050565b6001600160a01b03163b151590565b90565b600061009c7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fd9190610255565b905090565b3660008037600080366000845af43d6000803e808015610121573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161014391906102c8565b600060405180830381855af49150503d806000811461017e576040519150601f19603f3d011682016040523d82523d6000602084013e610183565b606091505b50915091506101948683838761019e565b9695505050505050565b606083156101e65782516000036101df576001600160a01b0385163b6101df5760405162461bcd60e51b81526004016101d6906102db565b60405180910390fd5b50816101f0565b6101f083836101f8565b949350505050565b8151156102085781518083602001fd5b8060405162461bcd60e51b81526004016101d69190610348565b60006001600160a01b038216610051565b61023c81610222565b811461024757600080fd5b50565b805161005181610233565b60006020828403121561026a5761026a600080fd5b60006101f0848461024a565b60005b83811015610291578181015183820152602001610279565b838111156102a0576000848401525b50505050565b60006102b0825190565b6102be818560208601610276565b9290920192915050565b60006102d482846102a6565b9392505050565b6020808252810161005181601d81527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000602082015260400190565b6000610320825190565b808452602084019350610337818560208601610276565b601f01601f19169290920192915050565b6020808252810161004e818461031656fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220fe754c8bb6bde7241f3f69c479c34398216be74093247b948c590ccdb814eb2a64736f6c634300080d0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65646372656174655265676973747279506f6f6c28737472696e672c616464726573732c75696e743235362c75696e743235362c75696e743235362c616464726573732c75696e743235362c6164647265737329757064617465506f6f6c4d6574616461746128616464726573732c56656e7573506f6f6c4d6574614461746129a2646970667358221220959c5ddd1e9634d7b55e14a02e67fbc33aec08256071ce8cced6d2d33af0169d64736f6c634300080d0033",
920
- "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620001925760003560e01c806379ba509711620000f0578063cc2a9a5b11620000a3578063e9a44fd9116200007a578063e9a44fd914620003af578063f2fde38b14620003c3578063f36dba3814620003da578063ff94d958146200040057600080fd5b8063cc2a9a5b146200036d578063d88ff1f41462000384578063e30c3978146200039d57600080fd5b806379ba509714620002df5780637aee632d14620002e957806388278770146200030f5780638da5cb5b1462000323578063a3aefa2c1462000335578063b4a0bdf3146200035b57600080fd5b806328dd9912116200014957806328dd991214620002475780632ba21572146200025b57806341f641ee14620002835780634d6cda14146200029a578063715018a614620002c1578063730aa2a014620002cb57600080fd5b80630e32cb861462000197578063107568df14620001b057806319b1faef14620001c75780631cb6bb7e14620001f35780631cdaafc7146200020a578063266e0a7f1462000221575b600080fd5b620001ae620001a8366004620027f8565b62000417565b005b620001ae620001c1366004620027f8565b6200042f565b60cc54620001db906001600160a01b031681565b604051620001ea91906200286d565b60405180910390f35b620001ae62000204366004620028d4565b62000444565b620001ae6200021b36600462002cc8565b620005a1565b620002386200023236600462002d08565b62000f1c565b604051620001ea919062002d56565b60c954620001db906001600160a01b031681565b620002726200026c366004620027f8565b62000f4b565b604051620001ea9392919062002dcc565b620001ae6200029436600462002e14565b6200111d565b620002b1620002ab36600462002e39565b62001132565b604051620001ea92919062002f24565b620001ae6200140e565b60ca54620001db906001600160a01b031681565b620001ae62001426565b62000300620002fa366004620027f8565b62001460565b604051620001ea919062002fb3565b60cb54620001db906001600160a01b031681565b6033546001600160a01b031662000238565b6200034c62000346366004620027f8565b62001561565b604051620001ea919062003018565b6097546001600160a01b0316620001db565b620001ae6200037e3660046200302b565b6200177d565b6200038e620018bc565b604051620001ea91906200313d565b6065546001600160a01b031662000238565b60cd5462000238906001600160a01b031681565b620001ae620003d4366004620027f8565b62001a74565b620003f1620003eb366004620027f8565b62001ae8565b604051620001ea9190620031b4565b620001ae62000411366004620031e4565b62001b60565b6200042162001dea565b6200042c8162001e17565b50565b6200043962001dea565b6200042c8162001ea1565b620004846040518060400160405280601b81526020017f736574506f6f6c4e616d6528616464726573732c737472696e6729000000000081525062001efe565b62000490828262001fa4565b6001600160a01b038316600090815260d16020526040812080549091908290620004ba906200324f565b80601f0160208091040260200160405190810160405280929190818152602001828054620004e8906200324f565b8015620005395780601f106200050d5761010080835404028352916020019162000539565b820191906000526020600020905b8154815290600101906020018083116200051b57829003601f168201915b5093945062000552935085925087915086905062002650565b50846001600160a01b03167fa01f2b0df2b143bfb23d4b696c103547a6bec8ca1f56e8e8a483611cb4e23a7e82868660405162000592939291906200329f565b60405180910390a25050505050565b620005e16040518060400160405280601981526020017f6164644d61726b6574284164644d61726b6574496e707574290000000000000081525062001efe565b8051620005ee9062001fc8565b620005fd816020015162001fc8565b6200060d816101c0015162001fc8565b6200061d81610200015162001fc8565b80516001600160a01b03908116600090815260d26020908152604080832082860151851684529091529020541615620006735760405162461bcd60e51b81526004016200066a90620032c9565b60405180910390fd5b6000816101e00151116200069b5760405162461bcd60e51b81526004016200066a906200337b565b600060018260a001516001811115620006b857620006b86200338d565b03620007605760ca5460c083015160e08401516101008501516101208601516101a087015160405163cccfa36160e01b81526001600160a01b039096169563cccfa3619562000712959094909390929091600401620033a3565b6020604051808303816000875af115801562000732573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000758919062003406565b9050620007e5565b60cb5460c083015160e08401516040516302f3cddb60e51b81526001600160a01b0390931692635e79bb60926200079c9290916004016200342b565b6020604051808303816000875af1158015620007bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007e2919062003406565b90505b600082600001519050600083602001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000833573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000859919062003457565b60ff169050600060405180610180016040528086602001516001600160a01b03168152602001846001600160a01b03168152602001856001600160a01b03168152602001866040015160ff16846012620008b4919062003492565b620008c09190620034ad565b620008cd90600a620035f5565b81526060808801516020808401919091526080808a0151604080860191909152808b015160ff169385019390935233908401526101a08901516001600160a01b0390811660a08501528251808401845260cc548216815260cd5482169281019290925260c08401919091526101c0890151811660e08401526101808901516101009093019290925260c95490516364f20d9560e01b81529293506000929116906364f20d9590620009839085906004016200374c565b6020604051808303816000875af1158015620009a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009c9919062003406565b6040516332ad3e1360e21b81529091506001600160a01b0385169063cab4f84c90620009fa9084906004016200286d565b600060405180830381600087803b15801562000a1557600080fd5b505af115801562000a2a573d6000803e3d6000fd5b505050610140870151610160880151604051635cc4fdeb60e01b81526001600160a01b0388169350635cc4fdeb9262000a689286926004016200375f565b600060405180830381600087803b15801562000a8357600080fd5b505af115801562000a98573d6000803e3d6000fd5b50600092506001915062000aa99050565b60405190808252806020026020018201604052801562000ad3578160200160208202803683370190505b50604080516001808252818301909252919250600091906020808301908036833750506040805160018082528183019092529293506000929150602080830190803683370190505090508861022001518360008151811062000b395762000b396200378d565b6020026020010181815250508861024001518260008151811062000b615762000b616200378d565b602002602001018181525050838160008151811062000b845762000b846200378d565b6001600160a01b03928316602091820292909201015260405163344dabd160e21b81529088169063d136af449062000bc3908490879060040162003845565b600060405180830381600087803b15801562000bde57600080fd5b505af115801562000bf3573d6000803e3d6000fd5b505060405163186db48f60e01b81526001600160a01b038a16925063186db48f915062000c27908490869060040162003845565b600060405180830381600087803b15801562000c4257600080fd5b505af115801562000c57573d6000803e3d6000fd5b505050508360d260008b600001516001600160a01b03166001600160a01b0316815260200190815260200160002060008b602001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060d360008a602001516001600160a01b03166001600160a01b0316815260200190815260200160002089600001519080600181540180825580915050600190039060005260206000200160009091909190916101000a8154816001600160a01b0302191690836001600160a01b03160217905550600089602001519050600062000d6182338d6101e0015162001ff0565b60405163095ea7b360e01b81529091506001600160a01b0383169063095ea7b39062000d9590899060009060040162003887565b6020604051808303816000875af115801562000db5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ddb9190620038bc565b5060405163095ea7b360e01b81526001600160a01b0383169063095ea7b39062000e0c9089908590600401620038e1565b6020604051808303816000875af115801562000e2c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e529190620038bc565b506102008b01516040516323323e0360e01b81526001600160a01b038816916323323e039162000e8891908590600401620038e1565b6020604051808303816000875af115801562000ea8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ece9190620038fe565b50856001600160a01b0316896001600160a01b03167f7772c85e68debdf74fad87834e2cc05fa763e74faf14de7096da30529065114260405160405180910390a35050505050505050505050565b6001600160a01b03808316600090815260d2602090815260408083208585168452909152902054165b92915050565b60ce6020526000908152604090208054819062000f68906200324f565b80601f016020809104026020016040519081016040528092919081815260200182805462000f96906200324f565b801562000fe75780601f1062000fbb5761010080835404028352916020019162000fe7565b820191906000526020600020905b81548152906001019060200180831162000fc957829003601f168201915b50505050509080600101805462000ffe906200324f565b80601f01602080910402602001604051908101604052809291908181526020018280546200102c906200324f565b80156200107d5780601f1062001051576101008083540402835291602001916200107d565b820191906000526020600020905b8154815290600101906020018083116200105f57829003601f168201915b50505050509080600201805462001094906200324f565b80601f0160208091040260200160405190810160405280929190818152602001828054620010c2906200324f565b8015620011135780601f10620010e75761010080835404028352916020019162001113565b820191906000526020600020905b815481529060010190602001808311620010f557829003601f168201915b5050505050905083565b6200112762001dea565b6200042c816200210d565b6000806200115960405180608001604052806052815260200162004bb86052913962001efe565b620011648962001fc8565b6200116f8562001fc8565b60008963da35a26f60e01b86866040516024016200118f92919062002f24565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051620011ce90620026df565b620011db92919062003923565b604051809103906000f080158015620011f8573d6000803e3d6000fd5b5091508190508060006200120e8e8e846200216a565b60405163091a474b60e11b81529091506001600160a01b038316906312348e96906200123f908e9060040162003947565b600060405180830381600087803b1580156200125a57600080fd5b505af11580156200126f573d6000803e3d6000fd5b505060405163a843108160e01b81526001600160a01b038516925063a84310819150620012a1908d9060040162003947565b600060405180830381600087803b158015620012bc57600080fd5b505af1158015620012d1573d6000803e3d6000fd5b5050604051631482db1d60e21b81526001600160a01b038516925063520b6c74915062001303908c9060040162003947565b600060405180830381600087803b1580156200131e57600080fd5b505af115801562001333573d6000803e3d6000fd5b505060405163530e784f60e01b81526001600160a01b038516925063530e784f915062001365908b906004016200286d565b600060405180830381600087803b1580156200138057600080fd5b505af115801562001395573d6000803e3d6000fd5b505060405163f2fde38b60e01b81526001600160a01b038516925063f2fde38b9150620013c790339060040162002d56565b600060405180830381600087803b158015620013e257600080fd5b505af1158015620013f7573d6000803e3d6000fd5b509296505050505050995099975050505050505050565b6200141862001dea565b62001424600062002319565b565b60655433906001600160a01b03168114620014555760405162461bcd60e51b81526004016200066a906200399e565b6200042c8162002319565b6200146a620026ed565b6001600160a01b038216600090815260d1602052604090819020815160a081019092528054829082906200149e906200324f565b80601f0160208091040260200160405190810160405280929190818152602001828054620014cc906200324f565b80156200151d5780601f10620014f1576101008083540402835291602001916200151d565b820191906000526020600020905b815481529060010190602001808311620014ff57829003601f168201915b505050918352505060018201546001600160a01b03908116602083015260028301541660408201526003820154606082015260049091015460809091015292915050565b6200158660405180606001604052806060815260200160608152602001606081525090565b6001600160a01b038216600090815260ce602052604090819020815160608101909252805482908290620015ba906200324f565b80601f0160208091040260200160405190810160405280929190818152602001828054620015e8906200324f565b8015620016395780601f106200160d5761010080835404028352916020019162001639565b820191906000526020600020905b8154815290600101906020018083116200161b57829003601f168201915b5050505050815260200160018201805462001654906200324f565b80601f016020809104026020016040519081016040528092919081815260200182805462001682906200324f565b8015620016d35780601f10620016a757610100808354040283529160200191620016d3565b820191906000526020600020905b815481529060010190602001808311620016b557829003601f168201915b50505050508152602001600282018054620016ee906200324f565b80601f01602080910402602001604051908101604052809291908181526020018280546200171c906200324f565b80156200176d5780601f1062001741576101008083540402835291602001916200176d565b820191906000526020600020905b8154815290600101906020018083116200174f57829003601f168201915b5050505050815250509050919050565b600054610100900460ff16158080156200179e5750600054600160ff909116105b80620017ba5750303b158015620017ba575060005460ff166001145b620017d95760405162461bcd60e51b81526004016200066a90620039fc565b6000805460ff191660011790558015620017fd576000805461ff0019166101001790555b6200180762002334565b620018128262002368565b60c980546001600160a01b03808a166001600160a01b03199283161790925560ca805489841690831617905560cb8054928816929091169190911790556200185a846200210d565b620018658362001ea1565b8015620018b3576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890620018aa9060019062003a25565b60405180910390a15b50505050505050565b60d0546060906000816001600160401b03811115620018df57620018df62002937565b6040519080825280602002602001820160405280156200191c57816020015b62001908620026ed565b815260200190600190039081620018fe5790505b50905060015b82811162001a6d57600081815260cf60209081526040808320546001600160a01b031680845260d190925291829020825160a081019093528054919291829082906200196e906200324f565b80601f01602080910402602001604051908101604052809291908181526020018280546200199c906200324f565b8015620019ed5780601f10620019c157610100808354040283529160200191620019ed565b820191906000526020600020905b815481529060010190602001808311620019cf57829003601f168201915b50505091835250506001828101546001600160a01b039081166020840152600284015416604083015260038301546060830152600490920154608090910152849062001a3a9085620034ad565b8151811062001a4d5762001a4d6200378d565b6020026020010181905250508062001a659062003a35565b905062001922565b5092915050565b62001a7e62001dea565b606580546001600160a01b0383166001600160a01b0319909116811790915562001ab06033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6001600160a01b038116600090815260d3602090815260409182902080548351818402810184019094528084526060939283018282801562001b5457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001b35575b50505050509050919050565b62001b846040518060600160405280602d815260200162004c0a602d913962001efe565b6001600160a01b038216600090815260ce602052604080822081516060810190925280548290829062001bb7906200324f565b80601f016020809104026020016040519081016040528092919081815260200182805462001be5906200324f565b801562001c365780601f1062001c0a5761010080835404028352916020019162001c36565b820191906000526020600020905b81548152906001019060200180831162001c1857829003601f168201915b5050505050815260200160018201805462001c51906200324f565b80601f016020809104026020016040519081016040528092919081815260200182805462001c7f906200324f565b801562001cd05780601f1062001ca45761010080835404028352916020019162001cd0565b820191906000526020600020905b81548152906001019060200180831162001cb257829003601f168201915b5050505050815260200160028201805462001ceb906200324f565b80601f016020809104026020016040519081016040528092919081815260200182805462001d19906200324f565b801562001d6a5780601f1062001d3e5761010080835404028352916020019162001d6a565b820191906000526020600020905b81548152906001019060200180831162001d4c57829003601f168201915b505050919092525050506001600160a01b038416600090815260ce60205260409020909150829062001d9d828262003c9c565b905050826001600160a01b03167f8f91f3b5d20b61744ed591c43346d4514ee5c2ffced5fc3795bb13c6f9518147828460405162001ddd92919062003d73565b60405180910390a2505050565b6033546001600160a01b03163314620014245760405162461bcd60e51b81526004016200066a9062003dd1565b6001600160a01b03811662001e405760405162461bcd60e51b81526004016200066a9062003e26565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa09062001e95908390859062003e38565b60405180910390a15050565b62001eac8162001fc8565b60cd80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fafec95c8612496c3ecf5dddc71e393528fe29bd145fbaf9c6b496d78d7e2d79b90600090a35050565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab9062001f33903390869060040162003923565b602060405180830381865afa15801562001f51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f779190620038bc565b90508062001fa057333083604051634a3fa29360e01b81526004016200066a9392919062003e48565b5050565b606481111562001fa05760405162461bcd60e51b81526004016200066a9062003eb0565b6001600160a01b0381166200042c576040516342bcdf7f60e11b815260040160405180910390fd5b600080846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040162002021919062002d56565b602060405180830381865afa1580156200203f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620020659190620038fe565b90506200207e6001600160a01b03861685308662002392565b6040516370a0823160e01b81526000906001600160a01b038716906370a0823190620020af90309060040162002d56565b602060405180830381865afa158015620020cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620020f39190620038fe565b9050620021018282620034ad565b925050505b9392505050565b620021188162001fc8565b60cc80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f6dbf1ff28f860de5edafa4c6505e37c0aba213288cc4166c5352b6d3776c79ef90600090a35050565b6001600160a01b03808216600090815260d1602052604081206001810154919290911615620021ad5760405162461bcd60e51b81526004016200066a9062003f13565b620021b9858562001fa4565b60d060008154620021ca9062003a35565b9091555060d0546040805160c06020601f8901819004028201810190925260a081018781526000928291908a908a908190850183828082843760009201829052509385525050336020808501919091526001600160a01b038a1660408086018290524360608701524260809096019590955287845260cf825284842080546001600160a01b03191682179055835260d181529290912083518051949550859491936200227c935084929101906200272e565b5060208201516001820180546001600160a01b03199081166001600160a01b039384161790915560408085015160028501805490931690841617909155606084015160038401556080909301516004909201919091559051908616907f53ec2a1d9645c4631472dabcf6d255f5f2971baa64321235b1610d91c692928e906200230790849062002fb3565b60405180910390a25095945050505050565b606580546001600160a01b03191690556200042c81620023f4565b600054610100900460ff166200235e5760405162461bcd60e51b81526004016200066a9062003f6e565b6200142462002446565b600054610100900460ff16620004215760405162461bcd60e51b81526004016200066a9062003f6e565b620023ee846323b872dd60e01b858585604051602401620023b69392919062003f80565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200247b565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620024705760405162461bcd60e51b81526004016200066a9062003f6e565b620014243362002319565b6000620024d2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200251a9092919063ffffffff16565b9050805160001480620024f6575080806020019051810190620024f69190620038bc565b620025155760405162461bcd60e51b81526004016200066a9062003fe7565b505050565b60606200252b848460008562002533565b949350505050565b606082471015620025585760405162461bcd60e51b81526004016200066a906200403d565b600080866001600160a01b0316858760405162002576919062004074565b60006040518083038185875af1925050503d8060008114620025b5576040519150601f19603f3d011682016040523d82523d6000602084013e620025ba565b606091505b5091509150620025cd87838387620025d8565b979650505050505050565b606083156200261d57825160000362002615576001600160a01b0385163b620026155760405162461bcd60e51b81526004016200066a90620040b7565b50816200252b565b6200252b8383815115620026345781518083602001fd5b8060405162461bcd60e51b81526004016200066a9190620040c9565b8280546200265e906200324f565b90600052602060002090601f016020900481019282620026825760008555620026cd565b82601f106200269d5782800160ff19823516178555620026cd565b82800160010185558215620026cd579182015b82811115620026cd578235825591602001919060010190620026b0565b50620026db929150620027ab565b5090565b610adb80620040dd83390190565b6040518060a001604052806060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b8280546200273c906200324f565b90600052602060002090601f016020900481019282620027605760008555620026cd565b82601f106200277b57805160ff1916838001178555620026cd565b82800160010185558215620026cd579182015b82811115620026cd5782518255916020019190600101906200278e565b5b80821115620026db5760008155600101620027ac565b60006001600160a01b03821662000f45565b620027df81620027c2565b81146200042c57600080fd5b803562000f4581620027d4565b6000602082840312156200280f576200280f600080fd5b60006200252b8484620027eb565b600062000f456001600160a01b03831662002836565b90565b6001600160a01b031690565b600062000f45826200281d565b600062000f458262002842565b62002867816200284f565b82525050565b6020810162000f4582846200285c565b60008083601f840112620028945762002894600080fd5b5081356001600160401b03811115620028b057620028b0600080fd5b602083019150836001820283011115620028cd57620028cd600080fd5b9250929050565b600080600060408486031215620028ee57620028ee600080fd5b6000620028fc8686620027eb565b93505060208401356001600160401b038111156200291d576200291d600080fd5b6200292b868287016200287d565b92509250509250925092565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b038211171562002975576200297562002937565b6040525050565b60006200298860405190565b90506200299682826200294d565b919050565b60ff8116620027df565b803562000f45816200299b565b60006001600160401b03821115620029ce57620029ce62002937565b601f19601f83011660200192915050565b82818337506000910152565b600062002a02620029fc84620029b2565b6200297c565b90508281526020810184848401111562002a1f5762002a1f600080fd5b62002a2c848285620029df565b509392505050565b600082601f83011262002a4a5762002a4a600080fd5b81356200252b848260208601620029eb565b600281106200042c57600080fd5b803562000f458162002a5c565b80620027df565b803562000f458162002a77565b600062000f4582620027c2565b620027df8162002a8b565b803562000f458162002a98565b6000610260828403121562002ac85762002ac8600080fd5b62002ad56102606200297c565b9050600062002ae58484620027eb565b825250602062002af884848301620027eb565b602083015250604062002b0e84828501620029a5565b60408301525060608201356001600160401b0381111562002b325762002b32600080fd5b62002b408482850162002a34565b60608301525060808201356001600160401b0381111562002b645762002b64600080fd5b62002b728482850162002a34565b60808301525060a062002b888482850162002a6a565b60a08301525060c062002b9e8482850162002a7e565b60c08301525060e062002bb48482850162002a7e565b60e08301525061010062002bcb8482850162002a7e565b6101008301525061012062002be38482850162002a7e565b6101208301525061014062002bfb8482850162002a7e565b6101408301525061016062002c138482850162002a7e565b6101608301525061018062002c2b8482850162002a7e565b610180830152506101a062002c438482850162002aa3565b6101a0830152506101c062002c5b84828501620027eb565b6101c0830152506101e062002c738482850162002a7e565b6101e08301525061020062002c8b84828501620027eb565b6102008301525061022062002ca38482850162002a7e565b6102208301525061024062002cbb8482850162002a7e565b6102408301525092915050565b60006020828403121562002cdf5762002cdf600080fd5b81356001600160401b0381111562002cfa5762002cfa600080fd5b6200252b8482850162002ab0565b6000806040838503121562002d205762002d20600080fd5b600062002d2e8585620027eb565b925050602062002d4185828601620027eb565b9150509250929050565b6200286781620027c2565b6020810162000f45828462002d4b565b60005b8381101562002d8357818101518382015260200162002d69565b83811115620023ee5750506000910152565b600062002da0825190565b80845260208401935062002db981856020860162002d66565b601f19601f8201165b9093019392505050565b6060808252810162002ddf818662002d95565b9050818103602083015262002df5818562002d95565b9050818103604083015262002e0b818462002d95565b95945050505050565b60006020828403121562002e2b5762002e2b600080fd5b60006200252b848462002aa3565b60008060008060008060008060006101008a8c03121562002e5d5762002e5d600080fd5b89356001600160401b0381111562002e785762002e78600080fd5b62002e868c828d016200287d565b9950995050602062002e9b8c828d01620027eb565b975050604062002eae8c828d0162002a7e565b965050606062002ec18c828d0162002a7e565b955050608062002ed48c828d0162002a7e565b94505060a062002ee78c828d01620027eb565b93505060c062002efa8c828d0162002a7e565b92505060e062002f0d8c828d01620027eb565b9150509295985092959850929598565b8062002867565b6040810162002f34828562002f1d565b62002106602083018462002d4b565b805160a08084526000919084019062002f5d828262002d95565b915050602083015162002f74602086018262002d4b565b50604083015162002f89604086018262002d4b565b50606083015162002f9e606086018262002f1d565b50608083015162002a2c608086018262002f1d565b6020808252810162002106818462002f43565b805160608084526000919084019062002fe0828262002d95565b9150506020830151848203602086015262002ffc828262002d95565b9150506040830151848203604086015262002e0b828262002d95565b6020808252810162002106818462002fc6565b60008060008060008060c08789031215620030495762003049600080fd5b600062003057898962002aa3565b96505060206200306a89828a0162002aa3565b95505060406200307d89828a0162002aa3565b94505060606200309089828a0162002aa3565b9350506080620030a389828a01620027eb565b92505060a0620030b689828a01620027eb565b9150509295509295509295565b600062002106838362002f43565b6000620030dc825190565b80845260208401935083602082028501620030f78560200190565b8060005b85811015620031305784840389528151620031178582620030c3565b94506020830160209a909a0199925050600101620030fb565b5091979650505050505050565b60208082528101620021068184620030d1565b60006200315e838362002d4b565b505060200190565b600062003171825190565b80845260209384019383018060005b83811015620031a957815162003197888262003150565b97506020830192505060010162003180565b509495945050505050565b6020808252810162002106818462003166565b600060608284031215620031de57620031de600080fd5b50919050565b60008060408385031215620031fc57620031fc600080fd5b60006200320a8585620027eb565b92505060208301356001600160401b038111156200322b576200322b600080fd5b62002d4185828601620031c7565b634e487b7160e01b600052602260045260246000fd5b6002810460018216806200326457607f821691505b602082108103620031de57620031de62003239565b818352600060208401935062003291838584620029df565b601f19601f84011662002dc2565b60408082528101620032b2818662002d95565b9050818103602083015262002e0b81848662003279565b6020808252810162000f4581604481527f506f6f6c52656769737472793a204d61726b657420616c72656164792061646460208201527f656420666f7220617373657420636f6d7074726f6c6c657220636f6d62696e616040820152633a34b7b760e11b606082015260800190565b602381526000602082017f506f6f6c52656769737472793a20696e697469616c537570706c79206973207a81526265726f60e81b602082015291505b5060400190565b6020808252810162000f458162003338565b634e487b7160e01b600052602160045260246000fd5b60a08101620033b3828862002f1d565b620033c2602083018762002f1d565b620033d1604083018662002f1d565b620033e0606083018562002f1d565b620033ef60808301846200285c565b9695505050505050565b805162000f458162002a98565b6000602082840312156200341d576200341d600080fd5b60006200252b8484620033f9565b604081016200343b828562002f1d565b62002106602083018462002f1d565b805162000f45816200299b565b6000602082840312156200346e576200346e600080fd5b60006200252b84846200344a565b634e487b7160e01b600052601160045260246000fd5b60008219821115620034a857620034a86200347c565b500190565b600082821015620034c257620034c26200347c565b500390565b80825b60018511156200350d57808604811115620034e957620034e96200347c565b6001851615620034f857908102905b8002620035058560011c90565b9450620034ca565b94509492505050565b600082620035275750600162002106565b81620035365750600062002106565b81600181146200354f57600281146200355a576200358e565b600191505062002106565b60ff8411156200356e576200356e6200347c565b8360020a9150848211156200358757620035876200347c565b5062002106565b5060208310610133831016604e8410600b8410161715620035c6575081810a83811115620035c057620035c06200347c565b62002106565b620035d58484846001620034c7565b92509050818404811115620035ee57620035ee6200347c565b0292915050565b600062002106600019848462003516565b60ff811662002867565b8051604083019062003623848262002d4b565b506020820151620023ee602085018262002d4b565b80516000906101a08401906200364f858262002d4b565b5060208301516200366460208601826200285c565b5060408301516200367960408601826200285c565b5060608301516200368e606086018262002f1d565b5060808301518482036080860152620036a8828262002d95565b91505060a083015184820360a0860152620036c4828262002d95565b91505060c0830151620036db60c086018262003606565b5060e0830151620036f060e086018262002d4b565b50610100830151620037076101008601826200285c565b506101208301516200371e61012086018262003610565b506101408301516200373561016086018262002d4b565b5061016083015162002a2c61018086018262002f1d565b6020808252810162002106818462003638565b606081016200376f82866200285c565b6200377e602083018562002f1d565b6200252b604083018462002f1d565b634e487b7160e01b600052603260045260246000fd5b60006200315e83836200285c565b6000620037bc825190565b80845260209384019383018060005b83811015620031a9578151620037e28882620037a3565b975060208301925050600101620037cb565b60006200315e838362002f1d565b60006200380d825190565b80845260209384019383018060005b83811015620031a9578151620038338882620037f4565b9750602083019250506001016200381c565b60408082528101620038588185620037b1565b905081810360208301526200252b818462003802565b600062000f45620028338381565b62002867816200386e565b6040810162003897828562002d4b565b6200210660208301846200387c565b801515620027df565b805162000f4581620038a6565b600060208284031215620038d357620038d3600080fd5b60006200252b8484620038af565b604081016200343b828562002d4b565b805162000f458162002a77565b600060208284031215620039155762003915600080fd5b60006200252b8484620038f1565b6040810162003933828562002d4b565b81810360208301526200252b818462002d95565b6020810162000f45828462002f1d565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b6020820152915062003374565b6020808252810162000f458162003957565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b6020820152915062003374565b6020808252810162000f4581620039b0565b600060ff821662000f45565b620028678162003a0e565b6020810162000f45828462003a1a565b6000600019820362003a4b5762003a4b6200347c565b5060010190565b6000808335601e193685900301811262003a6f5762003a6f600080fd5b8084019250823591506001600160401b0382111562003a915762003a91600080fd5b60208301925060018202360383131562003aae5762003aae600080fd5b509250929050565b62003ac1836200386e565b81546008840282811b60001990911b908116901990911617825550505050565b60006200251581848462003ab6565b8181101562001fa05762003b0660008262003ae1565b60010162003af0565b601f82111562002515576000818152602090206020601f8501048101602085101562003b385750805b62003b4c6020601f86010483018262003af0565b5050505050565b826001600160401b0381111562003b6e5762003b6e62002937565b62003b7a82546200324f565b62003b8782828562003b0f565b6000601f83116001811462003bbe576000841562003ba55750858201355b600019600886021c1981166002860217865550620018b3565b600085815260208120601f198616915b8281101562003bf0578885013582556020948501946001909201910162003bce565b8683101562003c0d57600019601f88166008021c19858a01351682555b60016002880201885550505050505050505050565b6200251583838362003b53565b808262003c3d818062003a52565b62003c4a81838662003c22565b50505050600181016020830162003c62818562003a52565b62003c6f81838662003c22565b50505050600281016040830162003c87818562003a52565b62003c9481838662003c22565b505050505050565b62001fa0828262003c2f565b6000808335601e193685900301811262003cc55762003cc5600080fd5b8381016020810193503591506001600160401b0382111562003cea5762003cea600080fd5b3682900384131562003aae5762003aae600080fd5b60006060830162003d11838062003ca8565b858303865262003d2383828462003279565b9250505062003d36602084018462003ca8565b858303602087015262003d4b83828462003279565b9250505062003d5e604084018462003ca8565b8583036040870152620033ef83828462003279565b6040808252810162003d86818562002fc6565b905081810360208301526200252b818462003cff565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260005b5060200190565b6020808252810162000f458162003d9c565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b6020820152915062003374565b6020808252810162000f458162003de3565b6040810162002f34828562002d4b565b6060810162003e58828662002d4b565b62003e67602083018562002d4b565b818103604083015262002e0b818462002d95565b601881526000602082017f506f6f6c2773206e616d6520697320746f6f206c6172676500000000000000008152915062003dca565b6020808252810162000f458162003e7b565b603381526000602082017f506f6f6c52656769737472793a20506f6f6c20616c7265616479206578697374815272399034b7103a3432903234b932b1ba37b93c9760691b6020820152915062003374565b6020808252810162000f458162003ec2565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b6020820152915062003374565b6020808252810162000f458162003f25565b6060810162003f90828662002d4b565b6200377e602083018562002d4b565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b6020820152915062003374565b6020808252810162000f458162003f9f565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b6020820152915062003374565b6020808252810162000f458162003ff9565b60006200405a825190565b6200406a81856020860162002d66565b9290920192915050565b60006200210682846200404f565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000008152915062003dca565b6020808252810162000f458162004082565b6020808252810162002106818462002d9556fe608060405260405162000adb38038062000adb8339810160408190526200002691620004f5565b62000034828260006200003c565b5050620006ee565b620000478362000111565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a2600082511180620000895750805b156200010c576200010a836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f8919062000554565b836200024360201b620000291760201c565b505b505050565b62000127816200027460201b620000571760201c565b6200014f5760405162461bcd60e51b81526004016200014690620005be565b60405180910390fd5b620001c9816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000192573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b8919062000554565b6200027460201b620000571760201c565b620001e85760405162461bcd60e51b815260040162000146906200061e565b80620002227fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5060001b6200028360201b620000661760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b60606200026b838360405180606001604052806027815260200162000ab46027913962000286565b90505b92915050565b6001600160a01b03163b151590565b90565b6060600080856001600160a01b031685604051620002a5919062000655565b600060405180830381855af49150503d8060008114620002e2576040519150601f19603f3d011682016040523d82523d6000602084013e620002e7565b606091505b509092509050620002fb8683838762000305565b9695505050505050565b606083156200034a57825160000362000342576001600160a01b0385163b620003425760405162461bcd60e51b815260040162000146906200066a565b508162000356565b6200035683836200035e565b949350505050565b8151156200036f5781518083602001fd5b8060405162461bcd60e51b8152600401620001469190620006db565b60006001600160a01b0382166200026e565b620003a8816200038b565b8114620003b457600080fd5b50565b80516200026e816200039d565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b0382111715620004025762000402620003c4565b6040525050565b60006200041560405190565b9050620004238282620003da565b919050565b60006001600160401b03821115620004445762000444620003c4565b601f19601f83011660200192915050565b60005b838110156200047257818101518382015260200162000458565b838111156200010a5750506000910152565b60006200049b620004958462000428565b62000409565b905082815260208101848484011115620004b857620004b8600080fd5b620004c584828562000455565b509392505050565b600082601f830112620004e357620004e3600080fd5b81516200035684826020860162000484565b600080604083850312156200050d576200050d600080fd5b60006200051b8585620003b7565b92505060208301516001600160401b038111156200053c576200053c600080fd5b6200054a85828601620004cd565b9150509250929050565b6000602082840312156200056b576200056b600080fd5b6000620003568484620003b7565b602581526000602082017f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e8152641d1c9858dd60da1b602082015291505b5060400190565b602080825281016200026e8162000579565b603081526000602082017f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206981526f1cc81b9bdd08184818dbdb9d1c9858dd60821b60208201529150620005b7565b602080825281016200026e81620005d0565b60006200063b825190565b6200064b81856020860162000455565b9290920192915050565b600062000663828462000630565b9392505050565b602080825281016200026e81601d81527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000602082015260400190565b6000620006b1825190565b808452602084019350620006ca81856020860162000455565b601f01601f19169290920192915050565b602080825281016200026b8184620006a6565b6103b680620006fe6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610069565b610102565b565b606061004e838360405180606001604052806027815260200161035a60279139610126565b90505b92915050565b6001600160a01b03163b151590565b90565b600061009c7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fd9190610255565b905090565b3660008037600080366000845af43d6000803e808015610121573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161014391906102c8565b600060405180830381855af49150503d806000811461017e576040519150601f19603f3d011682016040523d82523d6000602084013e610183565b606091505b50915091506101948683838761019e565b9695505050505050565b606083156101e65782516000036101df576001600160a01b0385163b6101df5760405162461bcd60e51b81526004016101d6906102db565b60405180910390fd5b50816101f0565b6101f083836101f8565b949350505050565b8151156102085781518083602001fd5b8060405162461bcd60e51b81526004016101d69190610348565b60006001600160a01b038216610051565b61023c81610222565b811461024757600080fd5b50565b805161005181610233565b60006020828403121561026a5761026a600080fd5b60006101f0848461024a565b60005b83811015610291578181015183820152602001610279565b838111156102a0576000848401525b50505050565b60006102b0825190565b6102be818560208601610276565b9290920192915050565b60006102d482846102a6565b9392505050565b6020808252810161005181601d81527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000602082015260400190565b6000610320825190565b808452602084019350610337818560208601610276565b601f01601f19169290920192915050565b6020808252810161004e818461031656fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220fe754c8bb6bde7241f3f69c479c34398216be74093247b948c590ccdb814eb2a64736f6c634300080d0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65646372656174655265676973747279506f6f6c28737472696e672c616464726573732c75696e743235362c75696e743235362c75696e743235362c616464726573732c75696e743235362c6164647265737329757064617465506f6f6c4d6574616461746128616464726573732c56656e7573506f6f6c4d6574614461746129a2646970667358221220959c5ddd1e9634d7b55e14a02e67fbc33aec08256071ce8cced6d2d33af0169d64736f6c634300080d0033",
921
- "linkReferences": {},
922
- "deployedLinkReferences": {}
923
- }