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

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 (203) hide show
  1. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +4 -0
  2. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +215 -0
  3. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json +4 -0
  4. package/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json +183 -0
  5. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
  6. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
  7. package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.dbg.json +4 -0
  8. package/artifacts/@openzeppelin/contracts/interfaces/IERC1967.sol/IERC1967.json +56 -0
  9. package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +4 -0
  10. package/artifacts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.json +24 -0
  11. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +4 -0
  12. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.json +56 -0
  13. package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +4 -0
  14. package/artifacts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.json +19 -0
  15. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +4 -0
  16. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.json +80 -0
  17. package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +4 -0
  18. package/artifacts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.json +24 -0
  19. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +4 -0
  20. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +113 -0
  21. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +4 -0
  22. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +297 -0
  23. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +4 -0
  24. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +194 -0
  25. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +4 -0
  26. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +233 -0
  27. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +4 -0
  28. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json +10 -0
  29. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
  30. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
  31. package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +4 -0
  32. package/artifacts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +10 -0
  33. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +4 -0
  34. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +10 -0
  35. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +4 -0
  36. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +30 -0
  37. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +4 -0
  38. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +30 -0
  39. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json +4 -0
  40. package/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json +10 -0
  41. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json +4 -0
  42. package/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json +10 -0
  43. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.dbg.json +4 -0
  44. package/artifacts/@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol/Ownable2StepUpgradeable.json +115 -0
  45. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +4 -0
  46. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +76 -0
  47. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +4 -0
  48. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +24 -0
  49. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +4 -0
  50. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +24 -0
  51. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +4 -0
  52. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json +194 -0
  53. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.dbg.json +4 -0
  54. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.json +86 -0
  55. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.dbg.json +4 -0
  56. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.json +10 -0
  57. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +4 -0
  58. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +10 -0
  59. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +4 -0
  60. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +24 -0
  61. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.dbg.json +4 -0
  62. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlManager.sol/AccessControlManager.json +369 -0
  63. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +4 -0
  64. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.json +181 -0
  65. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +4 -0
  66. package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.json +282 -0
  67. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +4 -0
  68. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.json +40 -0
  69. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +4 -0
  70. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.json +30 -0
  71. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +4 -0
  72. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.json +43 -0
  73. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +4 -0
  74. package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.json +49 -0
  75. package/artifacts/build-info/eb7e5feedaca37f948646aa7bfff0291.json +1 -0
  76. package/artifacts/build-info/f19d689bc99e63a20dd2a17a14e2b84a.json +1 -0
  77. package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.dbg.json +4 -0
  78. package/artifacts/contracts/BaseJumpRateModelV2.sol/BaseJumpRateModelV2.json +276 -0
  79. package/artifacts/contracts/Comptroller.sol/Comptroller.dbg.json +4 -0
  80. package/artifacts/contracts/Comptroller.sol/Comptroller.json +1667 -0
  81. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.dbg.json +4 -0
  82. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerInterface.json +285 -0
  83. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.dbg.json +4 -0
  84. package/artifacts/contracts/ComptrollerInterface.sol/ComptrollerViewInterface.json +170 -0
  85. package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.dbg.json +4 -0
  86. package/artifacts/contracts/ComptrollerStorage.sol/ComptrollerStorage.json +173 -0
  87. package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.dbg.json +4 -0
  88. package/artifacts/contracts/ErrorReporter.sol/TokenErrorReporter.json +156 -0
  89. package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.dbg.json +4 -0
  90. package/artifacts/contracts/ExponentialNoError.sol/ExponentialNoError.json +10 -0
  91. package/artifacts/contracts/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.dbg.json +4 -0
  92. package/artifacts/contracts/Factories/JumpRateModelFactory.sol/JumpRateModelFactory.json +50 -0
  93. package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.dbg.json +4 -0
  94. package/artifacts/contracts/Factories/VTokenProxyFactory.sol/VTokenProxyFactory.json +191 -0
  95. package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.dbg.json +4 -0
  96. package/artifacts/contracts/Factories/WhitePaperInterestRateModelFactory.sol/WhitePaperInterestRateModelFactory.json +35 -0
  97. package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.dbg.json +4 -0
  98. package/artifacts/contracts/IPancakeswapV2Router.sol/IPancakeswapV2Router.json +50 -0
  99. package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.dbg.json +4 -0
  100. package/artifacts/contracts/InterestRateModel.sol/InterestRateModel.json +97 -0
  101. package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.dbg.json +4 -0
  102. package/artifacts/contracts/JumpRateModelV2.sol/JumpRateModelV2.json +307 -0
  103. package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.dbg.json +4 -0
  104. package/artifacts/contracts/Lens/PoolLens.sol/PoolLens.json +1087 -0
  105. package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +4 -0
  106. package/artifacts/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.json +59 -0
  107. package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.dbg.json +4 -0
  108. package/artifacts/contracts/Pool/PoolRegistry.sol/PoolRegistry.json +923 -0
  109. package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.dbg.json +4 -0
  110. package/artifacts/contracts/Pool/PoolRegistryInterface.sol/PoolRegistryInterface.json +176 -0
  111. package/artifacts/contracts/Proxy/UpgradeableBeacon.sol/Beacon.dbg.json +4 -0
  112. package/artifacts/contracts/Proxy/UpgradeableBeacon.sol/Beacon.json +113 -0
  113. package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.dbg.json +4 -0
  114. package/artifacts/contracts/Rewards/RewardsDistributor.sol/RewardsDistributor.json +928 -0
  115. package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.dbg.json +4 -0
  116. package/artifacts/contracts/RiskFund/IProtocolShareReserve.sol/IProtocolShareReserve.json +29 -0
  117. package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.dbg.json +4 -0
  118. package/artifacts/contracts/RiskFund/IRiskFund.sol/IRiskFund.json +101 -0
  119. package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.dbg.json +4 -0
  120. package/artifacts/contracts/RiskFund/ProtocolShareReserve.sol/ProtocolShareReserve.json +296 -0
  121. package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.dbg.json +4 -0
  122. package/artifacts/contracts/RiskFund/ReserveHelpers.sol/ReserveHelpers.json +83 -0
  123. package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.dbg.json +4 -0
  124. package/artifacts/contracts/RiskFund/RiskFund.sol/RiskFund.json +615 -0
  125. package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.dbg.json +4 -0
  126. package/artifacts/contracts/Shortfall/IShortfall.sol/IShortfall.json +24 -0
  127. package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.dbg.json +4 -0
  128. package/artifacts/contracts/Shortfall/Shortfall.sol/Shortfall.json +756 -0
  129. package/artifacts/contracts/VToken.sol/VToken.dbg.json +4 -0
  130. package/artifacts/contracts/VToken.sol/VToken.json +1850 -0
  131. package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.dbg.json +4 -0
  132. package/artifacts/contracts/VTokenInterfaces.sol/VTokenInterface.json +1398 -0
  133. package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.dbg.json +4 -0
  134. package/artifacts/contracts/VTokenInterfaces.sol/VTokenStorage.json +219 -0
  135. package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.dbg.json +4 -0
  136. package/artifacts/contracts/WhitePaperInterestRateModel.sol/WhitePaperInterestRateModel.json +192 -0
  137. package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.dbg.json +4 -0
  138. package/artifacts/contracts/test/ComptrollerHarness.sol/ComptrollerHarness.json +1712 -0
  139. package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.dbg.json +4 -0
  140. package/artifacts/contracts/test/ComptrollerHarness.sol/EchoTypesComptroller.json +94 -0
  141. package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.dbg.json +4 -0
  142. package/artifacts/contracts/test/ComptrollerScenario.sol/ComptrollerScenario.json +1744 -0
  143. package/artifacts/contracts/test/ERC20.sol/ERC20.dbg.json +4 -0
  144. package/artifacts/contracts/test/ERC20.sol/ERC20.json +194 -0
  145. package/artifacts/contracts/test/ERC20.sol/ERC20Base.dbg.json +4 -0
  146. package/artifacts/contracts/test/ERC20.sol/ERC20Base.json +141 -0
  147. package/artifacts/contracts/test/ERC20.sol/ERC20Harness.dbg.json +4 -0
  148. package/artifacts/contracts/test/ERC20.sol/ERC20Harness.json +351 -0
  149. package/artifacts/contracts/test/ERC20.sol/ERC20NS.dbg.json +4 -0
  150. package/artifacts/contracts/test/ERC20.sol/ERC20NS.json +182 -0
  151. package/artifacts/contracts/test/ERC20.sol/NonStandardToken.dbg.json +4 -0
  152. package/artifacts/contracts/test/ERC20.sol/NonStandardToken.json +247 -0
  153. package/artifacts/contracts/test/ERC20.sol/StandardToken.dbg.json +4 -0
  154. package/artifacts/contracts/test/ERC20.sol/StandardToken.json +259 -0
  155. package/artifacts/contracts/test/EvilToken.sol/EvilToken.dbg.json +4 -0
  156. package/artifacts/contracts/test/EvilToken.sol/EvilToken.json +303 -0
  157. package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.dbg.json +4 -0
  158. package/artifacts/contracts/test/FaucetToken.sol/FaucetNonStandardToken.json +265 -0
  159. package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.dbg.json +4 -0
  160. package/artifacts/contracts/test/FaucetToken.sol/FaucetToken.json +277 -0
  161. package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.dbg.json +4 -0
  162. package/artifacts/contracts/test/FaucetToken.sol/FaucetTokenReEntrantHarness.json +313 -0
  163. package/artifacts/contracts/test/FeeToken.sol/FeeToken.dbg.json +4 -0
  164. package/artifacts/contracts/test/FeeToken.sol/FeeToken.json +313 -0
  165. package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.dbg.json +4 -0
  166. package/artifacts/contracts/test/HarnessMaxLoopsLimitHelper.sol/HarnessMaxLoopsLimitHelper.json +85 -0
  167. package/artifacts/contracts/test/MockDeflationaryToken.sol/MockDeflatingToken.dbg.json +4 -0
  168. package/artifacts/contracts/test/MockDeflationaryToken.sol/MockDeflatingToken.json +332 -0
  169. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.dbg.json +4 -0
  170. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IERC20.json +233 -0
  171. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.dbg.json +4 -0
  172. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeFactory.json +187 -0
  173. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.dbg.json +4 -0
  174. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakePair.json +668 -0
  175. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.dbg.json +4 -0
  176. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter01.json +760 -0
  177. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.dbg.json +4 -0
  178. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IPancakeRouter02.json +962 -0
  179. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.dbg.json +4 -0
  180. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/IWETH.json +55 -0
  181. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.dbg.json +4 -0
  182. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeLibrary.json +10 -0
  183. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.dbg.json +4 -0
  184. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/PancakeRouter.json +982 -0
  185. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.dbg.json +4 -0
  186. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/SafeMath.json +10 -0
  187. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.dbg.json +4 -0
  188. package/artifacts/contracts/test/Mocks/MockPancakeSwap.sol/TransferHelper.json +10 -0
  189. package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.dbg.json +4 -0
  190. package/artifacts/contracts/test/Mocks/MockPriceOracle.sol/MockPriceOracle.json +85 -0
  191. package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.dbg.json +4 -0
  192. package/artifacts/contracts/test/Mocks/MockToken.sol/MockToken.json +315 -0
  193. package/artifacts/contracts/test/SafeMath.sol/SafeMath.dbg.json +4 -0
  194. package/artifacts/contracts/test/SafeMath.sol/SafeMath.json +10 -0
  195. package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.dbg.json +4 -0
  196. package/artifacts/contracts/test/UpgradedVToken.sol/UpgradedVToken.json +1946 -0
  197. package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.dbg.json +4 -0
  198. package/artifacts/contracts/test/VTokenHarness.sol/VTokenHarness.json +2306 -0
  199. package/contracts/BaseJumpRateModelV2.sol +1 -1
  200. package/contracts/Comptroller.sol +6 -10
  201. package/contracts/Shortfall/Shortfall.sol +0 -2
  202. package/contracts/WhitePaperInterestRateModel.sol +1 -1
  203. package/package.json +1 -1
@@ -0,0 +1,756 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Shortfall",
4
+ "sourceName": "contracts/Shortfall/Shortfall.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": true,
42
+ "internalType": "address",
43
+ "name": "comptroller",
44
+ "type": "address"
45
+ },
46
+ {
47
+ "indexed": false,
48
+ "internalType": "uint256",
49
+ "name": "auctionStartBlock",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "indexed": true,
54
+ "internalType": "address",
55
+ "name": "highestBidder",
56
+ "type": "address"
57
+ },
58
+ {
59
+ "indexed": false,
60
+ "internalType": "uint256",
61
+ "name": "highestBidBps",
62
+ "type": "uint256"
63
+ },
64
+ {
65
+ "indexed": false,
66
+ "internalType": "uint256",
67
+ "name": "seizedRiskFind",
68
+ "type": "uint256"
69
+ },
70
+ {
71
+ "indexed": false,
72
+ "internalType": "contract VToken[]",
73
+ "name": "markets",
74
+ "type": "address[]"
75
+ },
76
+ {
77
+ "indexed": false,
78
+ "internalType": "uint256[]",
79
+ "name": "marketDebt",
80
+ "type": "uint256[]"
81
+ }
82
+ ],
83
+ "name": "AuctionClosed",
84
+ "type": "event"
85
+ },
86
+ {
87
+ "anonymous": false,
88
+ "inputs": [
89
+ {
90
+ "indexed": true,
91
+ "internalType": "address",
92
+ "name": "comptroller",
93
+ "type": "address"
94
+ },
95
+ {
96
+ "indexed": false,
97
+ "internalType": "uint256",
98
+ "name": "auctionStartBlock",
99
+ "type": "uint256"
100
+ }
101
+ ],
102
+ "name": "AuctionRestarted",
103
+ "type": "event"
104
+ },
105
+ {
106
+ "anonymous": false,
107
+ "inputs": [
108
+ {
109
+ "indexed": true,
110
+ "internalType": "address",
111
+ "name": "comptroller",
112
+ "type": "address"
113
+ },
114
+ {
115
+ "indexed": false,
116
+ "internalType": "uint256",
117
+ "name": "auctionStartBlock",
118
+ "type": "uint256"
119
+ },
120
+ {
121
+ "indexed": false,
122
+ "internalType": "enum Shortfall.AuctionType",
123
+ "name": "auctionType",
124
+ "type": "uint8"
125
+ },
126
+ {
127
+ "indexed": false,
128
+ "internalType": "contract VToken[]",
129
+ "name": "markets",
130
+ "type": "address[]"
131
+ },
132
+ {
133
+ "indexed": false,
134
+ "internalType": "uint256[]",
135
+ "name": "marketsDebt",
136
+ "type": "uint256[]"
137
+ },
138
+ {
139
+ "indexed": false,
140
+ "internalType": "uint256",
141
+ "name": "seizedRiskFund",
142
+ "type": "uint256"
143
+ },
144
+ {
145
+ "indexed": false,
146
+ "internalType": "uint256",
147
+ "name": "startBidBps",
148
+ "type": "uint256"
149
+ }
150
+ ],
151
+ "name": "AuctionStarted",
152
+ "type": "event"
153
+ },
154
+ {
155
+ "anonymous": false,
156
+ "inputs": [
157
+ {
158
+ "indexed": false,
159
+ "internalType": "address",
160
+ "name": "sender",
161
+ "type": "address"
162
+ }
163
+ ],
164
+ "name": "AuctionsPaused",
165
+ "type": "event"
166
+ },
167
+ {
168
+ "anonymous": false,
169
+ "inputs": [
170
+ {
171
+ "indexed": false,
172
+ "internalType": "address",
173
+ "name": "sender",
174
+ "type": "address"
175
+ }
176
+ ],
177
+ "name": "AuctionsResumed",
178
+ "type": "event"
179
+ },
180
+ {
181
+ "anonymous": false,
182
+ "inputs": [
183
+ {
184
+ "indexed": true,
185
+ "internalType": "address",
186
+ "name": "comptroller",
187
+ "type": "address"
188
+ },
189
+ {
190
+ "indexed": false,
191
+ "internalType": "uint256",
192
+ "name": "auctionStartBlock",
193
+ "type": "uint256"
194
+ },
195
+ {
196
+ "indexed": false,
197
+ "internalType": "uint256",
198
+ "name": "bidBps",
199
+ "type": "uint256"
200
+ },
201
+ {
202
+ "indexed": true,
203
+ "internalType": "address",
204
+ "name": "bidder",
205
+ "type": "address"
206
+ }
207
+ ],
208
+ "name": "BidPlaced",
209
+ "type": "event"
210
+ },
211
+ {
212
+ "anonymous": false,
213
+ "inputs": [
214
+ {
215
+ "indexed": false,
216
+ "internalType": "uint256",
217
+ "name": "oldIncentiveBps",
218
+ "type": "uint256"
219
+ },
220
+ {
221
+ "indexed": false,
222
+ "internalType": "uint256",
223
+ "name": "newIncentiveBps",
224
+ "type": "uint256"
225
+ }
226
+ ],
227
+ "name": "IncentiveBpsUpdated",
228
+ "type": "event"
229
+ },
230
+ {
231
+ "anonymous": false,
232
+ "inputs": [
233
+ {
234
+ "indexed": false,
235
+ "internalType": "uint8",
236
+ "name": "version",
237
+ "type": "uint8"
238
+ }
239
+ ],
240
+ "name": "Initialized",
241
+ "type": "event"
242
+ },
243
+ {
244
+ "anonymous": false,
245
+ "inputs": [
246
+ {
247
+ "indexed": false,
248
+ "internalType": "uint256",
249
+ "name": "oldMinimumPoolBadDebt",
250
+ "type": "uint256"
251
+ },
252
+ {
253
+ "indexed": false,
254
+ "internalType": "uint256",
255
+ "name": "newMinimumPoolBadDebt",
256
+ "type": "uint256"
257
+ }
258
+ ],
259
+ "name": "MinimumPoolBadDebtUpdated",
260
+ "type": "event"
261
+ },
262
+ {
263
+ "anonymous": false,
264
+ "inputs": [
265
+ {
266
+ "indexed": false,
267
+ "internalType": "address",
268
+ "name": "oldAccessControlManager",
269
+ "type": "address"
270
+ },
271
+ {
272
+ "indexed": false,
273
+ "internalType": "address",
274
+ "name": "newAccessControlManager",
275
+ "type": "address"
276
+ }
277
+ ],
278
+ "name": "NewAccessControlManager",
279
+ "type": "event"
280
+ },
281
+ {
282
+ "anonymous": false,
283
+ "inputs": [
284
+ {
285
+ "indexed": false,
286
+ "internalType": "uint256",
287
+ "name": "oldNextBidderBlockLimit",
288
+ "type": "uint256"
289
+ },
290
+ {
291
+ "indexed": false,
292
+ "internalType": "uint256",
293
+ "name": "newNextBidderBlockLimit",
294
+ "type": "uint256"
295
+ }
296
+ ],
297
+ "name": "NextBidderBlockLimitUpdated",
298
+ "type": "event"
299
+ },
300
+ {
301
+ "anonymous": false,
302
+ "inputs": [
303
+ {
304
+ "indexed": true,
305
+ "internalType": "address",
306
+ "name": "previousOwner",
307
+ "type": "address"
308
+ },
309
+ {
310
+ "indexed": true,
311
+ "internalType": "address",
312
+ "name": "newOwner",
313
+ "type": "address"
314
+ }
315
+ ],
316
+ "name": "OwnershipTransferStarted",
317
+ "type": "event"
318
+ },
319
+ {
320
+ "anonymous": false,
321
+ "inputs": [
322
+ {
323
+ "indexed": true,
324
+ "internalType": "address",
325
+ "name": "previousOwner",
326
+ "type": "address"
327
+ },
328
+ {
329
+ "indexed": true,
330
+ "internalType": "address",
331
+ "name": "newOwner",
332
+ "type": "address"
333
+ }
334
+ ],
335
+ "name": "OwnershipTransferred",
336
+ "type": "event"
337
+ },
338
+ {
339
+ "anonymous": false,
340
+ "inputs": [
341
+ {
342
+ "indexed": true,
343
+ "internalType": "address",
344
+ "name": "oldPoolRegistry",
345
+ "type": "address"
346
+ },
347
+ {
348
+ "indexed": true,
349
+ "internalType": "address",
350
+ "name": "newPoolRegistry",
351
+ "type": "address"
352
+ }
353
+ ],
354
+ "name": "PoolRegistryUpdated",
355
+ "type": "event"
356
+ },
357
+ {
358
+ "anonymous": false,
359
+ "inputs": [
360
+ {
361
+ "indexed": false,
362
+ "internalType": "uint256",
363
+ "name": "oldWaitForFirstBidder",
364
+ "type": "uint256"
365
+ },
366
+ {
367
+ "indexed": false,
368
+ "internalType": "uint256",
369
+ "name": "newWaitForFirstBidder",
370
+ "type": "uint256"
371
+ }
372
+ ],
373
+ "name": "WaitForFirstBidderUpdated",
374
+ "type": "event"
375
+ },
376
+ {
377
+ "inputs": [],
378
+ "name": "acceptOwnership",
379
+ "outputs": [],
380
+ "stateMutability": "nonpayable",
381
+ "type": "function"
382
+ },
383
+ {
384
+ "inputs": [],
385
+ "name": "accessControlManager",
386
+ "outputs": [
387
+ {
388
+ "internalType": "contract IAccessControlManagerV8",
389
+ "name": "",
390
+ "type": "address"
391
+ }
392
+ ],
393
+ "stateMutability": "view",
394
+ "type": "function"
395
+ },
396
+ {
397
+ "inputs": [
398
+ {
399
+ "internalType": "address",
400
+ "name": "",
401
+ "type": "address"
402
+ }
403
+ ],
404
+ "name": "auctions",
405
+ "outputs": [
406
+ {
407
+ "internalType": "uint256",
408
+ "name": "startBlock",
409
+ "type": "uint256"
410
+ },
411
+ {
412
+ "internalType": "enum Shortfall.AuctionType",
413
+ "name": "auctionType",
414
+ "type": "uint8"
415
+ },
416
+ {
417
+ "internalType": "enum Shortfall.AuctionStatus",
418
+ "name": "status",
419
+ "type": "uint8"
420
+ },
421
+ {
422
+ "internalType": "uint256",
423
+ "name": "seizedRiskFund",
424
+ "type": "uint256"
425
+ },
426
+ {
427
+ "internalType": "address",
428
+ "name": "highestBidder",
429
+ "type": "address"
430
+ },
431
+ {
432
+ "internalType": "uint256",
433
+ "name": "highestBidBps",
434
+ "type": "uint256"
435
+ },
436
+ {
437
+ "internalType": "uint256",
438
+ "name": "highestBidBlock",
439
+ "type": "uint256"
440
+ },
441
+ {
442
+ "internalType": "uint256",
443
+ "name": "startBidBps",
444
+ "type": "uint256"
445
+ }
446
+ ],
447
+ "stateMutability": "view",
448
+ "type": "function"
449
+ },
450
+ {
451
+ "inputs": [],
452
+ "name": "auctionsPaused",
453
+ "outputs": [
454
+ {
455
+ "internalType": "bool",
456
+ "name": "",
457
+ "type": "bool"
458
+ }
459
+ ],
460
+ "stateMutability": "view",
461
+ "type": "function"
462
+ },
463
+ {
464
+ "inputs": [
465
+ {
466
+ "internalType": "address",
467
+ "name": "comptroller",
468
+ "type": "address"
469
+ }
470
+ ],
471
+ "name": "closeAuction",
472
+ "outputs": [],
473
+ "stateMutability": "nonpayable",
474
+ "type": "function"
475
+ },
476
+ {
477
+ "inputs": [],
478
+ "name": "convertibleBaseAsset",
479
+ "outputs": [
480
+ {
481
+ "internalType": "address",
482
+ "name": "",
483
+ "type": "address"
484
+ }
485
+ ],
486
+ "stateMutability": "view",
487
+ "type": "function"
488
+ },
489
+ {
490
+ "inputs": [
491
+ {
492
+ "internalType": "address",
493
+ "name": "convertibleBaseAsset_",
494
+ "type": "address"
495
+ },
496
+ {
497
+ "internalType": "contract IRiskFund",
498
+ "name": "riskFund_",
499
+ "type": "address"
500
+ },
501
+ {
502
+ "internalType": "uint256",
503
+ "name": "minimumPoolBadDebt_",
504
+ "type": "uint256"
505
+ },
506
+ {
507
+ "internalType": "address",
508
+ "name": "accessControlManager_",
509
+ "type": "address"
510
+ }
511
+ ],
512
+ "name": "initialize",
513
+ "outputs": [],
514
+ "stateMutability": "nonpayable",
515
+ "type": "function"
516
+ },
517
+ {
518
+ "inputs": [],
519
+ "name": "minimumPoolBadDebt",
520
+ "outputs": [
521
+ {
522
+ "internalType": "uint256",
523
+ "name": "",
524
+ "type": "uint256"
525
+ }
526
+ ],
527
+ "stateMutability": "view",
528
+ "type": "function"
529
+ },
530
+ {
531
+ "inputs": [],
532
+ "name": "nextBidderBlockLimit",
533
+ "outputs": [
534
+ {
535
+ "internalType": "uint256",
536
+ "name": "",
537
+ "type": "uint256"
538
+ }
539
+ ],
540
+ "stateMutability": "view",
541
+ "type": "function"
542
+ },
543
+ {
544
+ "inputs": [],
545
+ "name": "owner",
546
+ "outputs": [
547
+ {
548
+ "internalType": "address",
549
+ "name": "",
550
+ "type": "address"
551
+ }
552
+ ],
553
+ "stateMutability": "view",
554
+ "type": "function"
555
+ },
556
+ {
557
+ "inputs": [],
558
+ "name": "pauseAuctions",
559
+ "outputs": [],
560
+ "stateMutability": "nonpayable",
561
+ "type": "function"
562
+ },
563
+ {
564
+ "inputs": [],
565
+ "name": "pendingOwner",
566
+ "outputs": [
567
+ {
568
+ "internalType": "address",
569
+ "name": "",
570
+ "type": "address"
571
+ }
572
+ ],
573
+ "stateMutability": "view",
574
+ "type": "function"
575
+ },
576
+ {
577
+ "inputs": [
578
+ {
579
+ "internalType": "address",
580
+ "name": "comptroller",
581
+ "type": "address"
582
+ },
583
+ {
584
+ "internalType": "uint256",
585
+ "name": "bidBps",
586
+ "type": "uint256"
587
+ }
588
+ ],
589
+ "name": "placeBid",
590
+ "outputs": [],
591
+ "stateMutability": "nonpayable",
592
+ "type": "function"
593
+ },
594
+ {
595
+ "inputs": [],
596
+ "name": "poolRegistry",
597
+ "outputs": [
598
+ {
599
+ "internalType": "address",
600
+ "name": "",
601
+ "type": "address"
602
+ }
603
+ ],
604
+ "stateMutability": "view",
605
+ "type": "function"
606
+ },
607
+ {
608
+ "inputs": [],
609
+ "name": "renounceOwnership",
610
+ "outputs": [],
611
+ "stateMutability": "nonpayable",
612
+ "type": "function"
613
+ },
614
+ {
615
+ "inputs": [
616
+ {
617
+ "internalType": "address",
618
+ "name": "comptroller",
619
+ "type": "address"
620
+ }
621
+ ],
622
+ "name": "restartAuction",
623
+ "outputs": [],
624
+ "stateMutability": "nonpayable",
625
+ "type": "function"
626
+ },
627
+ {
628
+ "inputs": [],
629
+ "name": "resumeAuctions",
630
+ "outputs": [],
631
+ "stateMutability": "nonpayable",
632
+ "type": "function"
633
+ },
634
+ {
635
+ "inputs": [
636
+ {
637
+ "internalType": "address",
638
+ "name": "accessControlManager_",
639
+ "type": "address"
640
+ }
641
+ ],
642
+ "name": "setAccessControlManager",
643
+ "outputs": [],
644
+ "stateMutability": "nonpayable",
645
+ "type": "function"
646
+ },
647
+ {
648
+ "inputs": [
649
+ {
650
+ "internalType": "address",
651
+ "name": "comptroller",
652
+ "type": "address"
653
+ }
654
+ ],
655
+ "name": "startAuction",
656
+ "outputs": [],
657
+ "stateMutability": "nonpayable",
658
+ "type": "function"
659
+ },
660
+ {
661
+ "inputs": [
662
+ {
663
+ "internalType": "address",
664
+ "name": "newOwner",
665
+ "type": "address"
666
+ }
667
+ ],
668
+ "name": "transferOwnership",
669
+ "outputs": [],
670
+ "stateMutability": "nonpayable",
671
+ "type": "function"
672
+ },
673
+ {
674
+ "inputs": [
675
+ {
676
+ "internalType": "uint256",
677
+ "name": "_incentiveBps",
678
+ "type": "uint256"
679
+ }
680
+ ],
681
+ "name": "updateIncentiveBps",
682
+ "outputs": [],
683
+ "stateMutability": "nonpayable",
684
+ "type": "function"
685
+ },
686
+ {
687
+ "inputs": [
688
+ {
689
+ "internalType": "uint256",
690
+ "name": "_minimumPoolBadDebt",
691
+ "type": "uint256"
692
+ }
693
+ ],
694
+ "name": "updateMinimumPoolBadDebt",
695
+ "outputs": [],
696
+ "stateMutability": "nonpayable",
697
+ "type": "function"
698
+ },
699
+ {
700
+ "inputs": [
701
+ {
702
+ "internalType": "uint256",
703
+ "name": "_nextBidderBlockLimit",
704
+ "type": "uint256"
705
+ }
706
+ ],
707
+ "name": "updateNextBidderBlockLimit",
708
+ "outputs": [],
709
+ "stateMutability": "nonpayable",
710
+ "type": "function"
711
+ },
712
+ {
713
+ "inputs": [
714
+ {
715
+ "internalType": "address",
716
+ "name": "poolRegistry_",
717
+ "type": "address"
718
+ }
719
+ ],
720
+ "name": "updatePoolRegistry",
721
+ "outputs": [],
722
+ "stateMutability": "nonpayable",
723
+ "type": "function"
724
+ },
725
+ {
726
+ "inputs": [
727
+ {
728
+ "internalType": "uint256",
729
+ "name": "_waitForFirstBidder",
730
+ "type": "uint256"
731
+ }
732
+ ],
733
+ "name": "updateWaitForFirstBidder",
734
+ "outputs": [],
735
+ "stateMutability": "nonpayable",
736
+ "type": "function"
737
+ },
738
+ {
739
+ "inputs": [],
740
+ "name": "waitForFirstBidder",
741
+ "outputs": [
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "",
745
+ "type": "uint256"
746
+ }
747
+ ],
748
+ "stateMutability": "view",
749
+ "type": "function"
750
+ }
751
+ ],
752
+ "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b62000111565b600054610100900460ff1615620000565760405162461bcd60e51b81526004016200004d90620000af565b60405180910390fd5b60005460ff90811614620000ad576000805460ff191660ff9081179091556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249891620000a49162000101565b60405180910390a15b565b60208082528101620000fb81602781527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469602082015266616c697a696e6760c81b604082015260600190565b92915050565b60ff8216815260208101620000fb565b61346180620001216000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063892149a3116100de578063b4a0bdf311610097578063d98b9bb511610071578063d98b9bb514610378578063e30c39781461038b578063e630fee01461039c578063f2fde38b146103af57600080fd5b8063b4a0bdf314610338578063be20309414610351578063c8ecc0d31461036457600080fd5b8063892149a3146102cb5780638da5cb5b146102d557806391f8e694146102ef578063a23926e1146102f7578063ae8ddcb014610312578063afcff50f1461032557600080fd5b806351b2fd011161014b5780636f254c32116101255780636f254c321461029f578063715018a6146102b257806373d73f40146102ba57806379ba5097146102c357600080fd5b806351b2fd01146102715780635be3fe1b1461028457806367cd03ab1461028c57600080fd5b80630db011d0146101935780630e32cb86146101a85780631d59410a146101bb578063264ad3d4146102355780634075fa0f1461024b5780634b34e5661461025e575b600080fd5b6101a66101a136600461231f565b6103c2565b005b6101a66101b636600461231f565b610490565b6102186101c936600461231f565b610103602052600090815260409020805460018201546003830154600484015460058501546006860154600790960154949560ff8086169661010090960416946001600160a01b039093169288565b60405161022c9897969594939291906123c8565b60405180910390f35b61023e60fd5481565b60405161022c919061243f565b6101a661025936600461231f565b6104a4565b6101a661026c36600461231f565b6104d1565b6101a661027f36600461245e565b610a46565b6101a6610aad565b6101a661029a36600461245e565b610b46565b6101a66102ad36600461245e565b610bde565b6101a6610c59565b61023e60ff5481565b6101a6610c6d565b61023e6101015481565b6033546001600160a01b03165b60405161022c919061247f565b6101a6610ca2565b610100546103059060ff1681565b60405161022c9190612495565b6101a661032036600461231f565b610d34565b60fb546102e2906001600160a01b031681565b6097546001600160a01b031660405161022c91906124de565b6101a661035f36600461250b565b610d97565b610102546102e2906001600160a01b031681565b6101a661038636600461256f565b610eff565b6065546001600160a01b03166102e2565b6101a66103aa36600461245e565b61143c565b6101a66103bd36600461231f565b611498565b6001600160a01b0381166000908152610103602052604090206103e481611509565b6104095760405162461bcd60e51b8152600401610400906125d9565b60405180910390fd5b6104128161153e565b61042e5760405162461bcd60e51b815260040161040090612638565b60018101805461ff00191661020017905580546040516001600160a01b038416917faca104a4f0d6f116782afaefa8b644e86d53857ff9151824131b726b49a858d49161047b919061243f565b60405180910390a261048c82611572565b5050565b610498611c7b565b6104a181611ca5565b50565b6101005460ff16156104c85760405162461bcd60e51b815260040161040090612672565b6104a181611572565b6104d9611d1e565b6001600160a01b0381166000908152610103602052604090206104fb81611509565b6105175760405162461bcd60e51b8152600401610400906125d9565b60ff5481600601546105299190612698565b43118015610543575060048101546001600160a01b031615155b61055f5760405162461bcd60e51b8152600401610400906126fa565b600281015460008167ffffffffffffffff81111561057f5761057f61270a565b6040519080825280602002602001820160405280156105a8578160200160208202803683370190505b5060018401805461ff001916610200179055905060005b828110156108f35760008460020182815481106105de576105de612720565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106549190612741565b90506000816001600160a01b03166370a0823188600201868154811061067c5761067c612720565b6000918252602090912001546040516001600160e01b031960e084901b1681526106b2916001600160a01b03169060040161247f565b602060405180830381865afa1580156106cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f3919061276d565b905061077a87600201858154811061070d5761070d612720565b9060005260206000200160009054906101000a90046001600160a01b03168860090160008a600201888154811061074657610746612720565b60009182526020808320909101546001600160a01b0390811684529083019390935260409091019020549085169190611d47565b6000826001600160a01b03166370a082318960020187815481106107a0576107a0612720565b6000918252602090912001546040516001600160e01b031960e084901b1681526107d6916001600160a01b03169060040161247f565b602060405180830381865afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610817919061276d565b9050610823828261278e565b86868151811061083557610835612720565b60200260200101818152505087600201858154811061085657610856612720565b60009182526020909120015486516001600160a01b039091169063ef60450c9088908890811061088857610888612720565b60200260200101516040518263ffffffff1660e01b81526004016108ac919061243f565b600060405180830381600087803b1580156108c657600080fd5b505af11580156108da573d6000803e3d6000fd5b5050505050505050806108ec906127a5565b90506105bf565b5060008060018086015460ff169081111561091057610910612348565b0361092057506003830154610944565b6127108460050154856003015461093791906127bf565b61094191906127f4565b90505b60fc54604051630a9837c560e01b81526000916001600160a01b031690630a9837c5906109779089908690600401612808565b6020604051808303816000875af1158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba919061276d565b6004860154610102549192506109dd916001600160a01b03908116911684611d47565b6004850154855460058701546040516001600160a01b03938416938a16927ff50338be3ffa7cdbebca76c758cfd1745fb4abe5bd3736c2dbf0cc6483a7b93f92610a2f92879060028d01908b906128eb565b60405180910390a350505050506104a1600160c955565b610a676040518060600160405280602181526020016133c760219139611da9565b60fd8054908290556040517f85814f0246fcd999c88af70c9e6238211e79444ff07ec745b80aed19ddb268c890610aa19083908590612939565b60405180910390a15050565b610ade6040518060400160405280601081526020016f726573756d6541756374696f6e73282960801b815250611da9565b6101005460ff16610b015760405162461bcd60e51b81526004016104009061297b565b610100805460ff191690556040517f91b812e075fb9190eebe2d938c00a7179d150156469a467ec60a290035f4635a90610b3c90339061247f565b60405180910390a1565b610b846040518060400160405280601b81526020017f757064617465496e63656e746976654270732875696e74323536290000000000815250611da9565b80600003610ba45760405162461bcd60e51b8152600401610400906129bf565b60fe8054908290556040517f3d438fa36c5052935d12a6925d1660c8150c74ef11ca672d4279bc6fd41b8bcf90610aa19083908590612939565b610bff6040518060600160405280602381526020016133e860239139611da9565b80600003610c1f5760405162461bcd60e51b815260040161040090612a0f565b60ff8054908290556040517f3f22dba09ee9845bd2be6926fea5337a0db935ca059cbb205d62174783e2966490610aa19083908590612939565b610c61611c7b565b610c6b6000611e43565b565b60655433906001600160a01b03168114610c995760405162461bcd60e51b815260040161040090612a65565b6104a181611e43565b610cd26040518060400160405280600f81526020016e706175736541756374696f6e73282960881b815250611da9565b6101005460ff1615610cf65760405162461bcd60e51b815260040161040090612aa9565b610100805460ff191660011790556040517fc1be5163c9ebecf05bfbd6c6ae7c2b6ce2d3c43088dffaf5270cbf951615049990610b3c90339061247f565b610d3c611c7b565b610d4581611e5c565b60fb80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fa87b964d321035d2165e484ff4b722dd6eae30606c0b98887d2ed1a34e594bfe90600090a35050565b600054610100900460ff1615808015610db75750600054600160ff909116105b80610dd15750303b158015610dd1575060005460ff166001145b610ded5760405162461bcd60e51b815260040161040090612b04565b6000805460ff191660011790558015610e10576000805461ff0019166101001790555b610e1985611e5c565b610e2284611e5c565b82600003610e425760405162461bcd60e51b815260040161040090612b48565b610e4a611e83565b610e5382611eb2565b610e5b611ed9565b60fd83905561010280546001600160a01b038088166001600160a01b03199283161790925560fc805492871692909116919091179055606461010155600a60ff556103e860fe55610100805460ff191690558015610ef8576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610eef90600190612b6c565b60405180910390a15b5050505050565b610f07611d1e565b6001600160a01b038216600090815261010360205260409020610f2981611509565b610f455760405162461bcd60e51b8152600401610400906125d9565b610f4e8161153e565b15610f6b5760405162461bcd60e51b815260040161040090612bae565b612710821115610f8d5760405162461bcd60e51b815260040161040090612c01565b600060018083015460ff1690811115610fa857610fa8612348565b148015610ff4575060048101546001600160a01b031615801590610fcf5750806005015482115b80610ff4575060048101546001600160a01b0316158015610ff4575080600701548210155b8061105f575060018181015460ff168181111561101357611013612348565b14801561105f575060048101546001600160a01b03161580159061103a5750806005015482105b8061105f575060048101546001600160a01b031615801561105f575080600701548211155b61107b5760405162461bcd60e51b815260040161040090612c45565b600281015460005b818110156113c55760008360020182815481106110a2576110a2612720565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190612741565b60048601549091506001600160a01b031615611194576004850154600286018054611194926001600160a01b0316916009890191600091908890811061116057611160612720565b60009182526020808320909101546001600160a01b0390811684529083019390935260409091019020549084169190611d47565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906111c390309060040161247f565b602060405180830381865afa1580156111e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611204919061276d565b9050600060018088015460ff169081111561122157611221612348565b0361129d576000612710888860080160008a600201898154811061124757611247612720565b60009182526020808320909101546001600160a01b0316835282019290925260400190205461127691906127bf565b61128091906127f4565b90506112976001600160a01b038416333084611f08565b506112f2565b6112f233308860080160008a60020189815481106112bd576112bd612720565b60009182526020808320909101546001600160a01b039081168452908301939093526040909101902054908616929190611f08565b6040516370a0823160e01b81526000906001600160a01b038416906370a082319061132190309060040161247f565b602060405180830381865afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611362919061276d565b905061136e828261278e565b87600901600089600201888154811061138957611389612720565b60009182526020808320909101546001600160a01b03168352820192909252604001902055506113be92508391506127a59050565b9050611083565b506004820180546001600160a01b031916339081179091556005830184905543600684015582546040516001600160a01b038716917f5485cf82060404805b51f48c0c4afa3cec4a9e5755c0131e1243553f0eebb9a39161142891908890612939565b60405180910390a3505061048c600160c955565b61145d60405180606001604052806021815260200161340b60219139611da9565b6101018054908290556040517f2a5be8a6b827e16c392d22522295794d6baff64565057a17b1f14c9d6c125a6090610aa19083908590612939565b6114a0611c7b565b606580546001600160a01b0383166001600160a01b031990911681179091556114d16033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b8054600090158015906115385750600180830154610100900460ff16600281111561153657611536612348565b145b92915050565b60048101546000906001600160a01b03161580801561156b57506101015483546115689190612698565b43115b9392505050565b60fb54604051637aee632d60e01b81526000916001600160a01b031690637aee632d906115a390859060040161247f565b600060405180830381865afa1580156115c0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115e89190810190612df6565b9050816001600160a01b031681604001516001600160a01b03161461161f5760405162461bcd60e51b815260040161040090612e75565b6001600160a01b0382166000908152610103602052604090208054158015611664575060006001820154610100900460ff16600281111561166257611662612348565b145b8061168c575060026001820154610100900460ff16600281111561168a5761168a612348565b145b6116a85760405162461bcd60e51b815260040161040090612eaf565b600060058201819055600682018190556002820154905b818110156117135760008360020182815481106116de576116de612720565b60009182526020808320909101546001600160a01b0316825260088601905260408120555061170c816127a5565b90506116bf565b50611722600283016000612257565b600061172d85611f2f565b905080519150600061173e86611f97565b90506000808467ffffffffffffffff81111561175c5761175c61270a565b604051908082528060200260200182016040528015611785578160200160208202803683370190505b5090508467ffffffffffffffff8111156117a1576117a161270a565b6040519080825280602002602001820160405280156117ca578160200160208202803683370190505b5080516117e1916002890191602090910190612275565b5060005b85811015611a6b57600085828151811061180157611801612720565b60200260200101516001600160a01b031663bbcac5576040518163ffffffff1660e01b8152600401602060405180830381865afa158015611846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186a919061276d565b9050846001600160a01b03166396e85ced87848151811061188d5761188d612720565b60200260200101516040518263ffffffff1660e01b81526004016118b1919061247f565b600060405180830381600087803b1580156118cb57600080fd5b505af11580156118df573d6000803e3d6000fd5b505050506000670de0b6b3a764000082876001600160a01b031663fc57d4df8a878151811061191057611910612720565b60200260200101516040518263ffffffff1660e01b8152600401611934919061247f565b602060405180830381865afa158015611951573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611975919061276d565b61197f91906127bf565b61198991906127f4565b90506119958186612698565b94508683815181106119a9576119a9612720565b60200260200101518960020184815481106119c6576119c6612720565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081896008016000898681518110611a0d57611a0d612720565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555081848481518110611a4c57611a4c612720565b602002602001018181525050505080611a64906127a5565b90506117e5565b5060fd54821015611a8e5760405162461bcd60e51b815260040161040090612ef3565b60fc5460405163f481395b60e01b81526000916001600160a01b03169063f481395b90611abf908c9060040161247f565b602060405180830381865afa158015611adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b00919061276d565b90506000819050600061271060fe5486611b1a91906127bf565b611b2491906127f4565b611b2e9086612698565b9050828110611b8b5760fe54611b4690612710612698565b611b5090866127bf565b82611b5d612710806127bf565b611b6791906127bf565b611b7191906127f4565b60078a015560018901805460ff1916905560009150611bb2565b80611b96818461278e565b60018b8101805460ff1916909117905561271060078c01559250505b611bbc828461278e565b60038a01554389556001808a01805461ff00191661010083021790555060008960040160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a6001600160a01b03167f56c1f0c5ea96c78d614c0246b1915086a325f09ce15526bd5d69b50232d681328a600001548b60010160009054906101000a900460ff168c600201888e600301548f60070154604051611c6696959493929190612f03565b60405180910390a25050505050505050505050565b6033546001600160a01b03163314610c6b5760405162461bcd60e51b815260040161040090612f92565b6001600160a01b038116611ccb5760405162461bcd60e51b815260040161040090612fe4565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa090610aa19083908590612ff4565b600260c95403611d405760405162461bcd60e51b815260040161040090613043565b600260c955565b611d9d8363a9059cbb60e01b8484604051602401611d66929190612808565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611ffb565b505050565b600160c955565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab90611ddc9033908690600401613085565b602060405180830381865afa158015611df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1d91906130b8565b90508061048c57333083604051634a3fa29360e01b8152600401610400939291906130d9565b606580546001600160a01b03191690556104a18161208d565b6001600160a01b0381166104a1576040516342bcdf7f60e11b815260040160405180910390fd5b600054610100900460ff16611eaa5760405162461bcd60e51b815260040161040090613157565b610c6b6120df565b600054610100900460ff166104985760405162461bcd60e51b815260040161040090613157565b600054610100900460ff16611f005760405162461bcd60e51b815260040161040090613157565b610c6b61210f565b611f29846323b872dd60e01b858585604051602401611d6693929190613167565b50505050565b6060816001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611f6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611538919081019061323d565b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115389190613278565b6000612050826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121369092919063ffffffff16565b905080516000148061207157508080602001905181019061207191906130b8565b611d9d5760405162461bcd60e51b8152600401610400906132e0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166121065760405162461bcd60e51b815260040161040090613157565b610c6b33611e43565b600054610100900460ff16611da25760405162461bcd60e51b815260040161040090613157565b6060612145848460008561214d565b949350505050565b60608247101561216f5760405162461bcd60e51b815260040161040090613333565b600080866001600160a01b0316858760405161218b9190613365565b60006040518083038185875af1925050503d80600081146121c8576040519150601f19603f3d011682016040523d82523d6000602084013e6121cd565b606091505b50915091506121de878383876121e9565b979650505050505050565b60608315612228578251600003612221576001600160a01b0385163b6122215760405162461bcd60e51b8152600401610400906133a5565b5081612145565b612145838381511561223d5781518083602001fd5b8060405162461bcd60e51b815260040161040091906133b5565b50805460008255906000526020600020908101906104a191906122da565b8280548282559060005260206000209081019282156122ca579160200282015b828111156122ca57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612295565b506122d69291506122da565b5090565b5b808211156122d657600081556001016122db565b60006001600160a01b038216611538565b612309816122ef565b81146104a157600080fd5b803561153881612300565b60006020828403121561233457612334600080fd5b60006121458484612314565b805b82525050565b634e487b7160e01b600052602160045260246000fd5b600281106104a1576104a1612348565b806123788161235e565b919050565b60006115388261236e565b6123428161237d565b600381106104a1576104a1612348565b8061237881612391565b6000611538826123a1565b612342816123ab565b612342816122ef565b61010081016123d7828b612340565b6123e4602083018a612388565b6123f160408301896123b6565b6123fe6060830188612340565b61240b60808301876123bf565b61241860a0830186612340565b61242560c0830185612340565b61243260e0830184612340565b9998505050505050505050565b602081016115388284612340565b80612309565b80356115388161244d565b60006020828403121561247357612473600080fd5b60006121458484612453565b6020810161153882846123bf565b801515612342565b60208101611538828461248d565b60006115386001600160a01b0383165b6001600160a01b031690565b6000611538826124a3565b6000611538826124bf565b612342816124ca565b6020810161153882846124d5565b6000611538826122ef565b612309816124ec565b8035611538816124f7565b6000806000806080858703121561252457612524600080fd5b60006125308787612314565b945050602061254187828801612500565b935050604061255287828801612453565b925050606061256387828801612314565b91505092959194509250565b6000806040838503121561258557612585600080fd5b60006125918585612314565b92505060206125a285828601612453565b9150509250929050565b601381526000602082017237379037b716b3b7b4b7339030bab1ba34b7b760691b815291505b5060200190565b60208082528101611538816125ac565b602f81526000602082017f796f75206e65656420746f207761697420666f72206d6f72652074696d65206681526e37b9103334b939ba103134b23232b960891b602082015291505b5060400190565b60208082528101611538816125e9565b6013815260006020820172105d58dd1a5bdb9cc8185c99481c185d5cd959606a1b815291506125d2565b6020808252810161153881612648565b634e487b7160e01b600052601160045260246000fd5b600082198211156126ab576126ab612682565b500190565b602d81526000602082017f77616974696e6720666f72206e657874206269646465722e2063616e6e6f742081526c31b637b9b29030bab1ba34b7b760991b60208201529150612631565b60208082528101611538816126b0565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b805161153881612300565b60006020828403121561275657612756600080fd5b60006121458484612736565b80516115388161244d565b60006020828403121561278257612782600080fd5b60006121458484612762565b6000828210156127a0576127a0612682565b500390565b600060001982036127b8576127b8612682565b5060010190565b60008160001904831182151516156127d9576127d9612682565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612803576128036127de565b500490565b6040810161281682856123bf565b61156b6020830184612340565b600061282f83836124d5565b505060200190565b6000611538826124b3565b60006115388254612837565b6000612858825490565b808452600083815260208082209501949081905b838110156128965761287d82612842565b6128878882612823565b9750506001918201910161286c565b509495945050505050565b600061282f8383612340565b60006128b7825190565b80845260209384019383018060005b838110156128965781516128da88826128a1565b9750602083019250506001016128c6565b60a081016128f98288612340565b6129066020830187612340565b6129136040830186612340565b8181036060830152612925818561284e565b905081810360808301526121de81846128ad565b604081016128168285612340565b601781526000602082017f41756374696f6e7320617265206e6f7420706175736564000000000000000000815291506125d2565b6020808252810161153881612947565b601a81526000602082017f696e63656e74697665427073206d757374206e6f742062652030000000000000815291506125d2565b602080825281016115388161298b565b602381526000602082017f5f6e657874426964646572426c6f636b4c696d6974206d757374206e6f74206281526206520360ec1b60208201529150612631565b60208082528101611538816129cf565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b60208201529150612631565b6020808252810161153881612a1f565b601b81526000602082017f41756374696f6e732061726520616c7265616479207061757365640000000000815291506125d2565b6020808252810161153881612a75565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150612631565b6020808252810161153881612ab9565b601d81526000602082017f696e76616c6964206d696e696d756d20706f6f6c206261642064656274000000815291506125d2565b6020808252810161153881612b14565b600060ff8216611538565b61234281612b58565b602081016115388284612b63565b601c81526000602082017f61756374696f6e206973207374616c652c207265737461727420697400000000815291506125d2565b6020808252810161153881612b7a565b602681526000602082017f626173697320706f696e74732063616e6e6f74206265206d6f7265207468616e81526502031303030360d41b60208201529150612631565b6020808252810161153881612bbe565b601b81526000602082017f796f757220626964206973206e6f742074686520686967686573740000000000815291506125d2565b6020808252810161153881612c11565b601f19601f830116810181811067ffffffffffffffff82111715612c7b57612c7b61270a565b6040525050565b6000612c8d60405190565b90506123788282612c55565b600067ffffffffffffffff821115612cb357612cb361270a565b601f19601f83011660200192915050565b60005b83811015612cdf578181015183820152602001612cc7565b83811115611f295750506000910152565b6000612d03612cfe84612c99565b612c82565b905082815260208101848484011115612d1e57612d1e600080fd5b612d29848285612cc4565b509392505050565b600082601f830112612d4557612d45600080fd5b8151612145848260208601612cf0565b600060a08284031215612d6a57612d6a600080fd5b612d7460a0612c82565b825190915067ffffffffffffffff811115612d9157612d91600080fd5b612d9d84828501612d31565b8252506020612dae84848301612736565b6020830152506040612dc284828501612736565b6040830152506060612dd684828501612762565b6060830152506080612dea84828501612762565b60808301525092915050565b600060208284031215612e0b57612e0b600080fd5b815167ffffffffffffffff811115612e2557612e25600080fd5b61214584828501612d55565b602781526000602082017f636f6d7074726f6c6c657220646f65736e277420657869737420706f6f6c20728152666567697374727960c81b60208201529150612631565b6020808252810161153881612e31565b601381526000602082017261756374696f6e206973206f6e2d676f696e6760681b815291506125d2565b6020808252810161153881612e85565b601881526000602082017f706f6f6c20626164206465627420697320746f6f206c6f770000000000000000815291506125d2565b6020808252810161153881612ebf565b60c08101612f118289612340565b612f1e6020830188612388565b8181036040830152612f30818761284e565b90508181036060830152612f4481866128ad565b9050612f536080830185612340565b6121de60a0830184612340565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260006125d2565b6020808252810161153881612f60565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b60208201529150612631565b6020808252810161153881612fa2565b6040810161300282856123bf565b61156b60208301846123bf565b601f81526000602082017f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815291506125d2565b602080825281016115388161300f565b600061305d825190565b808452602084019350613074818560208601612cc4565b601f01601f19169290920192915050565b6040810161309382856123bf565b81810360208301526121458184613053565b801515612309565b8051611538816130a5565b6000602082840312156130cd576130cd600080fd5b600061214584846130ad565b606081016130e782866123bf565b6130f460208301856123bf565b81810360408301526131068184613053565b95945050505050565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150612631565b602080825281016115388161310f565b6060810161317582866123bf565b61318260208301856123bf565b6121456040830184612340565b600067ffffffffffffffff8211156131a9576131a961270a565b5060209081020190565b8051611538816124f7565b60006131cc612cfe8461318f565b838152905060208082019084028301858111156131eb576131eb600080fd5b835b8181101561320f578061320088826131b3565b845250602092830192016131ed565b5050509392505050565b600082601f83011261322d5761322d600080fd5b81516121458482602086016131be565b60006020828403121561325257613252600080fd5b815167ffffffffffffffff81111561326c5761326c600080fd5b61214584828501613219565b60006020828403121561328d5761328d600080fd5b600061214584846131b3565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529150612631565b6020808252810161153881613299565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529150612631565b60208082528101611538816132f0565b600061334d825190565b61335b818560208601612cc4565b9290920192915050565b600061156b8284613343565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815291506125d2565b6020808252810161153881613371565b6020808252810161156b818461305356fe7570646174654d696e696d756d506f6f6c426164446562742875696e74323536297570646174654e657874426964646572426c6f636b4c696d69742875696e743235362975706461746557616974466f7246697273744269646465722875696e7432353629a264697066735822122000ded1fb387e966787f11d24df29747050aa2356d2b816acf5a0d72b41d7ce6864736f6c634300080d0033",
753
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061018e5760003560e01c8063892149a3116100de578063b4a0bdf311610097578063d98b9bb511610071578063d98b9bb514610378578063e30c39781461038b578063e630fee01461039c578063f2fde38b146103af57600080fd5b8063b4a0bdf314610338578063be20309414610351578063c8ecc0d31461036457600080fd5b8063892149a3146102cb5780638da5cb5b146102d557806391f8e694146102ef578063a23926e1146102f7578063ae8ddcb014610312578063afcff50f1461032557600080fd5b806351b2fd011161014b5780636f254c32116101255780636f254c321461029f578063715018a6146102b257806373d73f40146102ba57806379ba5097146102c357600080fd5b806351b2fd01146102715780635be3fe1b1461028457806367cd03ab1461028c57600080fd5b80630db011d0146101935780630e32cb86146101a85780631d59410a146101bb578063264ad3d4146102355780634075fa0f1461024b5780634b34e5661461025e575b600080fd5b6101a66101a136600461231f565b6103c2565b005b6101a66101b636600461231f565b610490565b6102186101c936600461231f565b610103602052600090815260409020805460018201546003830154600484015460058501546006860154600790960154949560ff8086169661010090960416946001600160a01b039093169288565b60405161022c9897969594939291906123c8565b60405180910390f35b61023e60fd5481565b60405161022c919061243f565b6101a661025936600461231f565b6104a4565b6101a661026c36600461231f565b6104d1565b6101a661027f36600461245e565b610a46565b6101a6610aad565b6101a661029a36600461245e565b610b46565b6101a66102ad36600461245e565b610bde565b6101a6610c59565b61023e60ff5481565b6101a6610c6d565b61023e6101015481565b6033546001600160a01b03165b60405161022c919061247f565b6101a6610ca2565b610100546103059060ff1681565b60405161022c9190612495565b6101a661032036600461231f565b610d34565b60fb546102e2906001600160a01b031681565b6097546001600160a01b031660405161022c91906124de565b6101a661035f36600461250b565b610d97565b610102546102e2906001600160a01b031681565b6101a661038636600461256f565b610eff565b6065546001600160a01b03166102e2565b6101a66103aa36600461245e565b61143c565b6101a66103bd36600461231f565b611498565b6001600160a01b0381166000908152610103602052604090206103e481611509565b6104095760405162461bcd60e51b8152600401610400906125d9565b60405180910390fd5b6104128161153e565b61042e5760405162461bcd60e51b815260040161040090612638565b60018101805461ff00191661020017905580546040516001600160a01b038416917faca104a4f0d6f116782afaefa8b644e86d53857ff9151824131b726b49a858d49161047b919061243f565b60405180910390a261048c82611572565b5050565b610498611c7b565b6104a181611ca5565b50565b6101005460ff16156104c85760405162461bcd60e51b815260040161040090612672565b6104a181611572565b6104d9611d1e565b6001600160a01b0381166000908152610103602052604090206104fb81611509565b6105175760405162461bcd60e51b8152600401610400906125d9565b60ff5481600601546105299190612698565b43118015610543575060048101546001600160a01b031615155b61055f5760405162461bcd60e51b8152600401610400906126fa565b600281015460008167ffffffffffffffff81111561057f5761057f61270a565b6040519080825280602002602001820160405280156105a8578160200160208202803683370190505b5060018401805461ff001916610200179055905060005b828110156108f35760008460020182815481106105de576105de612720565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106549190612741565b90506000816001600160a01b03166370a0823188600201868154811061067c5761067c612720565b6000918252602090912001546040516001600160e01b031960e084901b1681526106b2916001600160a01b03169060040161247f565b602060405180830381865afa1580156106cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f3919061276d565b905061077a87600201858154811061070d5761070d612720565b9060005260206000200160009054906101000a90046001600160a01b03168860090160008a600201888154811061074657610746612720565b60009182526020808320909101546001600160a01b0390811684529083019390935260409091019020549085169190611d47565b6000826001600160a01b03166370a082318960020187815481106107a0576107a0612720565b6000918252602090912001546040516001600160e01b031960e084901b1681526107d6916001600160a01b03169060040161247f565b602060405180830381865afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610817919061276d565b9050610823828261278e565b86868151811061083557610835612720565b60200260200101818152505087600201858154811061085657610856612720565b60009182526020909120015486516001600160a01b039091169063ef60450c9088908890811061088857610888612720565b60200260200101516040518263ffffffff1660e01b81526004016108ac919061243f565b600060405180830381600087803b1580156108c657600080fd5b505af11580156108da573d6000803e3d6000fd5b5050505050505050806108ec906127a5565b90506105bf565b5060008060018086015460ff169081111561091057610910612348565b0361092057506003830154610944565b6127108460050154856003015461093791906127bf565b61094191906127f4565b90505b60fc54604051630a9837c560e01b81526000916001600160a01b031690630a9837c5906109779089908690600401612808565b6020604051808303816000875af1158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba919061276d565b6004860154610102549192506109dd916001600160a01b03908116911684611d47565b6004850154855460058701546040516001600160a01b03938416938a16927ff50338be3ffa7cdbebca76c758cfd1745fb4abe5bd3736c2dbf0cc6483a7b93f92610a2f92879060028d01908b906128eb565b60405180910390a350505050506104a1600160c955565b610a676040518060600160405280602181526020016133c760219139611da9565b60fd8054908290556040517f85814f0246fcd999c88af70c9e6238211e79444ff07ec745b80aed19ddb268c890610aa19083908590612939565b60405180910390a15050565b610ade6040518060400160405280601081526020016f726573756d6541756374696f6e73282960801b815250611da9565b6101005460ff16610b015760405162461bcd60e51b81526004016104009061297b565b610100805460ff191690556040517f91b812e075fb9190eebe2d938c00a7179d150156469a467ec60a290035f4635a90610b3c90339061247f565b60405180910390a1565b610b846040518060400160405280601b81526020017f757064617465496e63656e746976654270732875696e74323536290000000000815250611da9565b80600003610ba45760405162461bcd60e51b8152600401610400906129bf565b60fe8054908290556040517f3d438fa36c5052935d12a6925d1660c8150c74ef11ca672d4279bc6fd41b8bcf90610aa19083908590612939565b610bff6040518060600160405280602381526020016133e860239139611da9565b80600003610c1f5760405162461bcd60e51b815260040161040090612a0f565b60ff8054908290556040517f3f22dba09ee9845bd2be6926fea5337a0db935ca059cbb205d62174783e2966490610aa19083908590612939565b610c61611c7b565b610c6b6000611e43565b565b60655433906001600160a01b03168114610c995760405162461bcd60e51b815260040161040090612a65565b6104a181611e43565b610cd26040518060400160405280600f81526020016e706175736541756374696f6e73282960881b815250611da9565b6101005460ff1615610cf65760405162461bcd60e51b815260040161040090612aa9565b610100805460ff191660011790556040517fc1be5163c9ebecf05bfbd6c6ae7c2b6ce2d3c43088dffaf5270cbf951615049990610b3c90339061247f565b610d3c611c7b565b610d4581611e5c565b60fb80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fa87b964d321035d2165e484ff4b722dd6eae30606c0b98887d2ed1a34e594bfe90600090a35050565b600054610100900460ff1615808015610db75750600054600160ff909116105b80610dd15750303b158015610dd1575060005460ff166001145b610ded5760405162461bcd60e51b815260040161040090612b04565b6000805460ff191660011790558015610e10576000805461ff0019166101001790555b610e1985611e5c565b610e2284611e5c565b82600003610e425760405162461bcd60e51b815260040161040090612b48565b610e4a611e83565b610e5382611eb2565b610e5b611ed9565b60fd83905561010280546001600160a01b038088166001600160a01b03199283161790925560fc805492871692909116919091179055606461010155600a60ff556103e860fe55610100805460ff191690558015610ef8576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610eef90600190612b6c565b60405180910390a15b5050505050565b610f07611d1e565b6001600160a01b038216600090815261010360205260409020610f2981611509565b610f455760405162461bcd60e51b8152600401610400906125d9565b610f4e8161153e565b15610f6b5760405162461bcd60e51b815260040161040090612bae565b612710821115610f8d5760405162461bcd60e51b815260040161040090612c01565b600060018083015460ff1690811115610fa857610fa8612348565b148015610ff4575060048101546001600160a01b031615801590610fcf5750806005015482115b80610ff4575060048101546001600160a01b0316158015610ff4575080600701548210155b8061105f575060018181015460ff168181111561101357611013612348565b14801561105f575060048101546001600160a01b03161580159061103a5750806005015482105b8061105f575060048101546001600160a01b031615801561105f575080600701548211155b61107b5760405162461bcd60e51b815260040161040090612c45565b600281015460005b818110156113c55760008360020182815481106110a2576110a2612720565b600091825260208083209091015460408051636f307dc360e01b815290516001600160a01b0390921694508492636f307dc3926004808401938290030181865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190612741565b60048601549091506001600160a01b031615611194576004850154600286018054611194926001600160a01b0316916009890191600091908890811061116057611160612720565b60009182526020808320909101546001600160a01b0390811684529083019390935260409091019020549084169190611d47565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906111c390309060040161247f565b602060405180830381865afa1580156111e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611204919061276d565b9050600060018088015460ff169081111561122157611221612348565b0361129d576000612710888860080160008a600201898154811061124757611247612720565b60009182526020808320909101546001600160a01b0316835282019290925260400190205461127691906127bf565b61128091906127f4565b90506112976001600160a01b038416333084611f08565b506112f2565b6112f233308860080160008a60020189815481106112bd576112bd612720565b60009182526020808320909101546001600160a01b039081168452908301939093526040909101902054908616929190611f08565b6040516370a0823160e01b81526000906001600160a01b038416906370a082319061132190309060040161247f565b602060405180830381865afa15801561133e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611362919061276d565b905061136e828261278e565b87600901600089600201888154811061138957611389612720565b60009182526020808320909101546001600160a01b03168352820192909252604001902055506113be92508391506127a59050565b9050611083565b506004820180546001600160a01b031916339081179091556005830184905543600684015582546040516001600160a01b038716917f5485cf82060404805b51f48c0c4afa3cec4a9e5755c0131e1243553f0eebb9a39161142891908890612939565b60405180910390a3505061048c600160c955565b61145d60405180606001604052806021815260200161340b60219139611da9565b6101018054908290556040517f2a5be8a6b827e16c392d22522295794d6baff64565057a17b1f14c9d6c125a6090610aa19083908590612939565b6114a0611c7b565b606580546001600160a01b0383166001600160a01b031990911681179091556114d16033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b8054600090158015906115385750600180830154610100900460ff16600281111561153657611536612348565b145b92915050565b60048101546000906001600160a01b03161580801561156b57506101015483546115689190612698565b43115b9392505050565b60fb54604051637aee632d60e01b81526000916001600160a01b031690637aee632d906115a390859060040161247f565b600060405180830381865afa1580156115c0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115e89190810190612df6565b9050816001600160a01b031681604001516001600160a01b03161461161f5760405162461bcd60e51b815260040161040090612e75565b6001600160a01b0382166000908152610103602052604090208054158015611664575060006001820154610100900460ff16600281111561166257611662612348565b145b8061168c575060026001820154610100900460ff16600281111561168a5761168a612348565b145b6116a85760405162461bcd60e51b815260040161040090612eaf565b600060058201819055600682018190556002820154905b818110156117135760008360020182815481106116de576116de612720565b60009182526020808320909101546001600160a01b0316825260088601905260408120555061170c816127a5565b90506116bf565b50611722600283016000612257565b600061172d85611f2f565b905080519150600061173e86611f97565b90506000808467ffffffffffffffff81111561175c5761175c61270a565b604051908082528060200260200182016040528015611785578160200160208202803683370190505b5090508467ffffffffffffffff8111156117a1576117a161270a565b6040519080825280602002602001820160405280156117ca578160200160208202803683370190505b5080516117e1916002890191602090910190612275565b5060005b85811015611a6b57600085828151811061180157611801612720565b60200260200101516001600160a01b031663bbcac5576040518163ffffffff1660e01b8152600401602060405180830381865afa158015611846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186a919061276d565b9050846001600160a01b03166396e85ced87848151811061188d5761188d612720565b60200260200101516040518263ffffffff1660e01b81526004016118b1919061247f565b600060405180830381600087803b1580156118cb57600080fd5b505af11580156118df573d6000803e3d6000fd5b505050506000670de0b6b3a764000082876001600160a01b031663fc57d4df8a878151811061191057611910612720565b60200260200101516040518263ffffffff1660e01b8152600401611934919061247f565b602060405180830381865afa158015611951573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611975919061276d565b61197f91906127bf565b61198991906127f4565b90506119958186612698565b94508683815181106119a9576119a9612720565b60200260200101518960020184815481106119c6576119c6612720565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081896008016000898681518110611a0d57611a0d612720565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555081848481518110611a4c57611a4c612720565b602002602001018181525050505080611a64906127a5565b90506117e5565b5060fd54821015611a8e5760405162461bcd60e51b815260040161040090612ef3565b60fc5460405163f481395b60e01b81526000916001600160a01b03169063f481395b90611abf908c9060040161247f565b602060405180830381865afa158015611adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b00919061276d565b90506000819050600061271060fe5486611b1a91906127bf565b611b2491906127f4565b611b2e9086612698565b9050828110611b8b5760fe54611b4690612710612698565b611b5090866127bf565b82611b5d612710806127bf565b611b6791906127bf565b611b7191906127f4565b60078a015560018901805460ff1916905560009150611bb2565b80611b96818461278e565b60018b8101805460ff1916909117905561271060078c01559250505b611bbc828461278e565b60038a01554389556001808a01805461ff00191661010083021790555060008960040160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a6001600160a01b03167f56c1f0c5ea96c78d614c0246b1915086a325f09ce15526bd5d69b50232d681328a600001548b60010160009054906101000a900460ff168c600201888e600301548f60070154604051611c6696959493929190612f03565b60405180910390a25050505050505050505050565b6033546001600160a01b03163314610c6b5760405162461bcd60e51b815260040161040090612f92565b6001600160a01b038116611ccb5760405162461bcd60e51b815260040161040090612fe4565b609780546001600160a01b038381166001600160a01b03198316179092556040519116907f66fd58e82f7b31a2a5c30e0888f3093efe4e111b00cd2b0c31fe014601293aa090610aa19083908590612ff4565b600260c95403611d405760405162461bcd60e51b815260040161040090613043565b600260c955565b611d9d8363a9059cbb60e01b8484604051602401611d66929190612808565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611ffb565b505050565b600160c955565b6097546040516318c5e8ab60e01b81526000916001600160a01b0316906318c5e8ab90611ddc9033908690600401613085565b602060405180830381865afa158015611df9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1d91906130b8565b90508061048c57333083604051634a3fa29360e01b8152600401610400939291906130d9565b606580546001600160a01b03191690556104a18161208d565b6001600160a01b0381166104a1576040516342bcdf7f60e11b815260040160405180910390fd5b600054610100900460ff16611eaa5760405162461bcd60e51b815260040161040090613157565b610c6b6120df565b600054610100900460ff166104985760405162461bcd60e51b815260040161040090613157565b600054610100900460ff16611f005760405162461bcd60e51b815260040161040090613157565b610c6b61210f565b611f29846323b872dd60e01b858585604051602401611d6693929190613167565b50505050565b6060816001600160a01b031663b0772d0b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611f6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611538919081019061323d565b6000816001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115389190613278565b6000612050826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121369092919063ffffffff16565b905080516000148061207157508080602001905181019061207191906130b8565b611d9d5760405162461bcd60e51b8152600401610400906132e0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166121065760405162461bcd60e51b815260040161040090613157565b610c6b33611e43565b600054610100900460ff16611da25760405162461bcd60e51b815260040161040090613157565b6060612145848460008561214d565b949350505050565b60608247101561216f5760405162461bcd60e51b815260040161040090613333565b600080866001600160a01b0316858760405161218b9190613365565b60006040518083038185875af1925050503d80600081146121c8576040519150601f19603f3d011682016040523d82523d6000602084013e6121cd565b606091505b50915091506121de878383876121e9565b979650505050505050565b60608315612228578251600003612221576001600160a01b0385163b6122215760405162461bcd60e51b8152600401610400906133a5565b5081612145565b612145838381511561223d5781518083602001fd5b8060405162461bcd60e51b815260040161040091906133b5565b50805460008255906000526020600020908101906104a191906122da565b8280548282559060005260206000209081019282156122ca579160200282015b828111156122ca57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612295565b506122d69291506122da565b5090565b5b808211156122d657600081556001016122db565b60006001600160a01b038216611538565b612309816122ef565b81146104a157600080fd5b803561153881612300565b60006020828403121561233457612334600080fd5b60006121458484612314565b805b82525050565b634e487b7160e01b600052602160045260246000fd5b600281106104a1576104a1612348565b806123788161235e565b919050565b60006115388261236e565b6123428161237d565b600381106104a1576104a1612348565b8061237881612391565b6000611538826123a1565b612342816123ab565b612342816122ef565b61010081016123d7828b612340565b6123e4602083018a612388565b6123f160408301896123b6565b6123fe6060830188612340565b61240b60808301876123bf565b61241860a0830186612340565b61242560c0830185612340565b61243260e0830184612340565b9998505050505050505050565b602081016115388284612340565b80612309565b80356115388161244d565b60006020828403121561247357612473600080fd5b60006121458484612453565b6020810161153882846123bf565b801515612342565b60208101611538828461248d565b60006115386001600160a01b0383165b6001600160a01b031690565b6000611538826124a3565b6000611538826124bf565b612342816124ca565b6020810161153882846124d5565b6000611538826122ef565b612309816124ec565b8035611538816124f7565b6000806000806080858703121561252457612524600080fd5b60006125308787612314565b945050602061254187828801612500565b935050604061255287828801612453565b925050606061256387828801612314565b91505092959194509250565b6000806040838503121561258557612585600080fd5b60006125918585612314565b92505060206125a285828601612453565b9150509250929050565b601381526000602082017237379037b716b3b7b4b7339030bab1ba34b7b760691b815291505b5060200190565b60208082528101611538816125ac565b602f81526000602082017f796f75206e65656420746f207761697420666f72206d6f72652074696d65206681526e37b9103334b939ba103134b23232b960891b602082015291505b5060400190565b60208082528101611538816125e9565b6013815260006020820172105d58dd1a5bdb9cc8185c99481c185d5cd959606a1b815291506125d2565b6020808252810161153881612648565b634e487b7160e01b600052601160045260246000fd5b600082198211156126ab576126ab612682565b500190565b602d81526000602082017f77616974696e6720666f72206e657874206269646465722e2063616e6e6f742081526c31b637b9b29030bab1ba34b7b760991b60208201529150612631565b60208082528101611538816126b0565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b805161153881612300565b60006020828403121561275657612756600080fd5b60006121458484612736565b80516115388161244d565b60006020828403121561278257612782600080fd5b60006121458484612762565b6000828210156127a0576127a0612682565b500390565b600060001982036127b8576127b8612682565b5060010190565b60008160001904831182151516156127d9576127d9612682565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612803576128036127de565b500490565b6040810161281682856123bf565b61156b6020830184612340565b600061282f83836124d5565b505060200190565b6000611538826124b3565b60006115388254612837565b6000612858825490565b808452600083815260208082209501949081905b838110156128965761287d82612842565b6128878882612823565b9750506001918201910161286c565b509495945050505050565b600061282f8383612340565b60006128b7825190565b80845260209384019383018060005b838110156128965781516128da88826128a1565b9750602083019250506001016128c6565b60a081016128f98288612340565b6129066020830187612340565b6129136040830186612340565b8181036060830152612925818561284e565b905081810360808301526121de81846128ad565b604081016128168285612340565b601781526000602082017f41756374696f6e7320617265206e6f7420706175736564000000000000000000815291506125d2565b6020808252810161153881612947565b601a81526000602082017f696e63656e74697665427073206d757374206e6f742062652030000000000000815291506125d2565b602080825281016115388161298b565b602381526000602082017f5f6e657874426964646572426c6f636b4c696d6974206d757374206e6f74206281526206520360ec1b60208201529150612631565b60208082528101611538816129cf565b602981526000602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b60208201529150612631565b6020808252810161153881612a1f565b601b81526000602082017f41756374696f6e732061726520616c7265616479207061757365640000000000815291506125d2565b6020808252810161153881612a75565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150612631565b6020808252810161153881612ab9565b601d81526000602082017f696e76616c6964206d696e696d756d20706f6f6c206261642064656274000000815291506125d2565b6020808252810161153881612b14565b600060ff8216611538565b61234281612b58565b602081016115388284612b63565b601c81526000602082017f61756374696f6e206973207374616c652c207265737461727420697400000000815291506125d2565b6020808252810161153881612b7a565b602681526000602082017f626173697320706f696e74732063616e6e6f74206265206d6f7265207468616e81526502031303030360d41b60208201529150612631565b6020808252810161153881612bbe565b601b81526000602082017f796f757220626964206973206e6f742074686520686967686573740000000000815291506125d2565b6020808252810161153881612c11565b601f19601f830116810181811067ffffffffffffffff82111715612c7b57612c7b61270a565b6040525050565b6000612c8d60405190565b90506123788282612c55565b600067ffffffffffffffff821115612cb357612cb361270a565b601f19601f83011660200192915050565b60005b83811015612cdf578181015183820152602001612cc7565b83811115611f295750506000910152565b6000612d03612cfe84612c99565b612c82565b905082815260208101848484011115612d1e57612d1e600080fd5b612d29848285612cc4565b509392505050565b600082601f830112612d4557612d45600080fd5b8151612145848260208601612cf0565b600060a08284031215612d6a57612d6a600080fd5b612d7460a0612c82565b825190915067ffffffffffffffff811115612d9157612d91600080fd5b612d9d84828501612d31565b8252506020612dae84848301612736565b6020830152506040612dc284828501612736565b6040830152506060612dd684828501612762565b6060830152506080612dea84828501612762565b60808301525092915050565b600060208284031215612e0b57612e0b600080fd5b815167ffffffffffffffff811115612e2557612e25600080fd5b61214584828501612d55565b602781526000602082017f636f6d7074726f6c6c657220646f65736e277420657869737420706f6f6c20728152666567697374727960c81b60208201529150612631565b6020808252810161153881612e31565b601381526000602082017261756374696f6e206973206f6e2d676f696e6760681b815291506125d2565b6020808252810161153881612e85565b601881526000602082017f706f6f6c20626164206465627420697320746f6f206c6f770000000000000000815291506125d2565b6020808252810161153881612ebf565b60c08101612f118289612340565b612f1e6020830188612388565b8181036040830152612f30818761284e565b90508181036060830152612f4481866128ad565b9050612f536080830185612340565b6121de60a0830184612340565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260006125d2565b6020808252810161153881612f60565b602581526000602082017f696e76616c696420616365737320636f6e74726f6c206d616e61676572206164815264647265737360d81b60208201529150612631565b6020808252810161153881612fa2565b6040810161300282856123bf565b61156b60208301846123bf565b601f81526000602082017f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815291506125d2565b602080825281016115388161300f565b600061305d825190565b808452602084019350613074818560208601612cc4565b601f01601f19169290920192915050565b6040810161309382856123bf565b81810360208301526121458184613053565b801515612309565b8051611538816130a5565b6000602082840312156130cd576130cd600080fd5b600061214584846130ad565b606081016130e782866123bf565b6130f460208301856123bf565b81810360408301526131068184613053565b95945050505050565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150612631565b602080825281016115388161310f565b6060810161317582866123bf565b61318260208301856123bf565b6121456040830184612340565b600067ffffffffffffffff8211156131a9576131a961270a565b5060209081020190565b8051611538816124f7565b60006131cc612cfe8461318f565b838152905060208082019084028301858111156131eb576131eb600080fd5b835b8181101561320f578061320088826131b3565b845250602092830192016131ed565b5050509392505050565b600082601f83011261322d5761322d600080fd5b81516121458482602086016131be565b60006020828403121561325257613252600080fd5b815167ffffffffffffffff81111561326c5761326c600080fd5b61214584828501613219565b60006020828403121561328d5761328d600080fd5b600061214584846131b3565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529150612631565b6020808252810161153881613299565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529150612631565b60208082528101611538816132f0565b600061334d825190565b61335b818560208601612cc4565b9290920192915050565b600061156b8284613343565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815291506125d2565b6020808252810161153881613371565b6020808252810161156b818461305356fe7570646174654d696e696d756d506f6f6c426164446562742875696e74323536297570646174654e657874426964646572426c6f636b4c696d69742875696e743235362975706461746557616974466f7246697273744269646465722875696e7432353629a264697066735822122000ded1fb387e966787f11d24df29747050aa2356d2b816acf5a0d72b41d7ce6864736f6c634300080d0033",
754
+ "linkReferences": {},
755
+ "deployedLinkReferences": {}
756
+ }