@raac/rpc 1.0.2-beta.4 → 1.0.2-beta.5

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 (262) hide show
  1. package/artifacts/core/collectors/FeeCollector.sol/FeeCollector.dbg.json +4 -0
  2. package/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +1743 -0
  3. package/artifacts/core/collectors/Treasury.sol/Treasury.dbg.json +4 -0
  4. package/artifacts/core/collectors/Treasury.sol/Treasury.json +481 -0
  5. package/artifacts/core/governance/boost/BoostController.sol/BoostController.dbg.json +4 -0
  6. package/artifacts/core/governance/boost/BoostController.sol/BoostController.json +905 -0
  7. package/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.dbg.json +4 -0
  8. package/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json +1398 -0
  9. package/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.dbg.json +4 -0
  10. package/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +1435 -0
  11. package/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.dbg.json +4 -0
  12. package/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +1471 -0
  13. package/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.dbg.json +4 -0
  14. package/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +1471 -0
  15. package/artifacts/core/governance/proposals/Governance.sol/Governance.dbg.json +4 -0
  16. package/artifacts/core/governance/proposals/Governance.sol/Governance.json +1242 -0
  17. package/artifacts/core/governance/proposals/TimelockController.sol/TimelockController.dbg.json +4 -0
  18. package/artifacts/core/governance/proposals/TimelockController.sol/TimelockController.json +988 -0
  19. package/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.dbg.json +4 -0
  20. package/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +1443 -0
  21. package/artifacts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator.sol/RAACReleaseOrchestrator.dbg.json +4 -0
  22. package/artifacts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator.sol/RAACReleaseOrchestrator.json +860 -0
  23. package/artifacts/core/oracles/BaseChainlinkFunctionsOracle.sol/BaseChainlinkFunctionsOracle.dbg.json +4 -0
  24. package/artifacts/core/oracles/BaseChainlinkFunctionsOracle.sol/BaseChainlinkFunctionsOracle.json +264 -0
  25. package/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.dbg.json +4 -0
  26. package/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +279 -0
  27. package/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.dbg.json +4 -0
  28. package/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +335 -0
  29. package/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.dbg.json +4 -0
  30. package/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +350 -0
  31. package/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.dbg.json +4 -0
  32. package/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +2760 -0
  33. package/artifacts/core/pools/StabilityPool/NFTLiquidator.sol/NFTLiquidator.dbg.json +4 -0
  34. package/artifacts/core/pools/StabilityPool/NFTLiquidator.sol/NFTLiquidator.json +485 -0
  35. package/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.dbg.json +4 -0
  36. package/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +1146 -0
  37. package/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.dbg.json +4 -0
  38. package/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +285 -0
  39. package/artifacts/core/tokens/DEToken.sol/DEToken.dbg.json +4 -0
  40. package/artifacts/core/tokens/DEToken.sol/DEToken.json +858 -0
  41. package/artifacts/core/tokens/DebtToken.sol/DebtToken.dbg.json +4 -0
  42. package/artifacts/core/tokens/DebtToken.sol/DebtToken.json +953 -0
  43. package/artifacts/core/tokens/IndexToken.sol/IndexToken.dbg.json +4 -0
  44. package/artifacts/core/tokens/IndexToken.sol/IndexToken.json +770 -0
  45. package/artifacts/core/tokens/LPToken.sol/LPToken.dbg.json +4 -0
  46. package/artifacts/core/tokens/LPToken.sol/LPToken.json +507 -0
  47. package/artifacts/core/tokens/RAACNFT.sol/RAACNFT.dbg.json +4 -0
  48. package/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +1472 -0
  49. package/artifacts/core/tokens/RAACToken.sol/RAACToken.dbg.json +4 -0
  50. package/artifacts/core/tokens/RAACToken.sol/RAACToken.json +832 -0
  51. package/artifacts/core/tokens/RToken.sol/RToken.dbg.json +4 -0
  52. package/artifacts/core/tokens/RToken.sol/RToken.json +1205 -0
  53. package/artifacts/core/tokens/veRAACToken.sol/veRAACToken.dbg.json +4 -0
  54. package/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +1616 -0
  55. package/artifacts/interfaces/IERC20.sol/IERC20.dbg.json +4 -0
  56. package/artifacts/interfaces/IERC20.sol/IERC20.json +194 -0
  57. package/artifacts/interfaces/IHousePrices.sol/IHousePrices.dbg.json +4 -0
  58. package/artifacts/interfaces/IHousePrices.sol/IHousePrices.json +30 -0
  59. package/artifacts/interfaces/INFTLiquidator.sol/INFTLiquidator.dbg.json +4 -0
  60. package/artifacts/interfaces/INFTLiquidator.sol/INFTLiquidator.json +86 -0
  61. package/artifacts/interfaces/IPoolManager.sol/IPoolManager.dbg.json +4 -0
  62. package/artifacts/interfaces/IPoolManager.sol/IPoolManager.json +57 -0
  63. package/artifacts/interfaces/IReserveAllocationLibraryMock.sol/IReserveAllocationLibraryMock.dbg.json +4 -0
  64. package/artifacts/interfaces/IReserveAllocationLibraryMock.sol/IReserveAllocationLibraryMock.json +246 -0
  65. package/artifacts/interfaces/IUSDC.sol/IUSDC.dbg.json +4 -0
  66. package/artifacts/interfaces/IUSDC.sol/IUSDC.json +194 -0
  67. package/artifacts/interfaces/IveRAACDistributor.sol/IveRAACDistributor.dbg.json +4 -0
  68. package/artifacts/interfaces/IveRAACDistributor.sol/IveRAACDistributor.json +100 -0
  69. package/artifacts/interfaces/core/collectors/IBaseCollector.sol/IBaseCollector.dbg.json +4 -0
  70. package/artifacts/interfaces/core/collectors/IBaseCollector.sol/IBaseCollector.json +45 -0
  71. package/artifacts/interfaces/core/collectors/IFeeCollector.sol/IFeeCollector.dbg.json +4 -0
  72. package/artifacts/interfaces/core/collectors/IFeeCollector.sol/IFeeCollector.json +922 -0
  73. package/artifacts/interfaces/core/collectors/ITreasury.sol/ITreasury.dbg.json +4 -0
  74. package/artifacts/interfaces/core/collectors/ITreasury.sol/ITreasury.json +214 -0
  75. package/artifacts/interfaces/core/governance/IBoostController.sol/IBoostController.dbg.json +4 -0
  76. package/artifacts/interfaces/core/governance/IBoostController.sol/IBoostController.json +378 -0
  77. package/artifacts/interfaces/core/governance/gauges/IGauge.sol/IGauge.dbg.json +4 -0
  78. package/artifacts/interfaces/core/governance/gauges/IGauge.sol/IGauge.json +394 -0
  79. package/artifacts/interfaces/core/governance/gauges/IGaugeController.sol/IGaugeController.dbg.json +4 -0
  80. package/artifacts/interfaces/core/governance/gauges/IGaugeController.sol/IGaugeController.json +577 -0
  81. package/artifacts/interfaces/core/governance/proposals/IGovernance.sol/IGovernance.dbg.json +4 -0
  82. package/artifacts/interfaces/core/governance/proposals/IGovernance.sol/IGovernance.json +1134 -0
  83. package/artifacts/interfaces/core/governance/proposals/ITimelockController.sol/ITimelockController.dbg.json +4 -0
  84. package/artifacts/interfaces/core/governance/proposals/ITimelockController.sol/ITimelockController.json +612 -0
  85. package/artifacts/interfaces/core/minters/RAACMinter/IRAACMinter.sol/IRAACMinter.dbg.json +4 -0
  86. package/artifacts/interfaces/core/minters/RAACMinter/IRAACMinter.sol/IRAACMinter.json +542 -0
  87. package/artifacts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator.sol/IReleaseOrchestrator.dbg.json +4 -0
  88. package/artifacts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator.sol/IReleaseOrchestrator.json +358 -0
  89. package/artifacts/interfaces/core/oracles/IBaseVRFv2Consumer.sol/IBaseVRFv2Consumer.dbg.json +4 -0
  90. package/artifacts/interfaces/core/oracles/IBaseVRFv2Consumer.sol/IBaseVRFv2Consumer.json +102 -0
  91. package/artifacts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices.dbg.json +4 -0
  92. package/artifacts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices.json +193 -0
  93. package/artifacts/interfaces/core/pools/ILiquidityPool.sol/ILiquidityPool.dbg.json +4 -0
  94. package/artifacts/interfaces/core/pools/ILiquidityPool.sol/ILiquidityPool.json +310 -0
  95. package/artifacts/interfaces/core/pools/LendingPool/ILendingPool.sol/ILendingPool.dbg.json +4 -0
  96. package/artifacts/interfaces/core/pools/LendingPool/ILendingPool.sol/ILendingPool.json +1500 -0
  97. package/artifacts/interfaces/core/pools/StabilityPool/IStabilityPool.sol/IStabilityPool.dbg.json +4 -0
  98. package/artifacts/interfaces/core/pools/StabilityPool/IStabilityPool.sol/IStabilityPool.json +622 -0
  99. package/artifacts/interfaces/core/tokens/IDEToken.sol/IDEToken.dbg.json +4 -0
  100. package/artifacts/interfaces/core/tokens/IDEToken.sol/IDEToken.json +333 -0
  101. package/artifacts/interfaces/core/tokens/IDebtToken.sol/IDebtToken.dbg.json +4 -0
  102. package/artifacts/interfaces/core/tokens/IDebtToken.sol/IDebtToken.json +507 -0
  103. package/artifacts/interfaces/core/tokens/IIndexToken.sol/IIndexToken.dbg.json +4 -0
  104. package/artifacts/interfaces/core/tokens/IIndexToken.sol/IIndexToken.json +299 -0
  105. package/artifacts/interfaces/core/tokens/IRAACNFT.sol/IRAACNFT.dbg.json +4 -0
  106. package/artifacts/interfaces/core/tokens/IRAACNFT.sol/IRAACNFT.json +816 -0
  107. package/artifacts/interfaces/core/tokens/IRAACToken.sol/IRAACToken.dbg.json +4 -0
  108. package/artifacts/interfaces/core/tokens/IRAACToken.sol/IRAACToken.json +567 -0
  109. package/artifacts/interfaces/core/tokens/IRToken.sol/IRToken.dbg.json +4 -0
  110. package/artifacts/interfaces/core/tokens/IRToken.sol/IRToken.json +641 -0
  111. package/artifacts/interfaces/core/tokens/IveRAACToken.sol/IveRAACToken.dbg.json +4 -0
  112. package/artifacts/interfaces/core/tokens/IveRAACToken.sol/IveRAACToken.json +560 -0
  113. package/artifacts/interfaces/core/vaults/IBaseVault.sol/IBaseVault.dbg.json +4 -0
  114. package/artifacts/interfaces/core/vaults/IBaseVault.sol/IBaseVault.json +185 -0
  115. package/artifacts/interfaces/curve/ICurveCrvUSDVault.sol/ICurveCrvUSDVault.dbg.json +4 -0
  116. package/artifacts/interfaces/curve/ICurveCrvUSDVault.sol/ICurveCrvUSDVault.json +250 -0
  117. package/artifacts/interfaces/zeno/IAuction.sol/IAuction.dbg.json +4 -0
  118. package/artifacts/interfaces/zeno/IAuction.sol/IAuction.json +162 -0
  119. package/artifacts/interfaces/zeno/IZENO.sol/IZENO.dbg.json +4 -0
  120. package/artifacts/interfaces/zeno/IZENO.sol/IZENO.json +321 -0
  121. package/artifacts/libraries/governance/BoostCalculator.sol/BoostCalculator.dbg.json +4 -0
  122. package/artifacts/libraries/governance/BoostCalculator.sol/BoostCalculator.json +51 -0
  123. package/artifacts/libraries/governance/Checkpoints.sol/Checkpoints.dbg.json +4 -0
  124. package/artifacts/libraries/governance/Checkpoints.sol/Checkpoints.json +69 -0
  125. package/artifacts/libraries/governance/LockManager.sol/LockManager.dbg.json +4 -0
  126. package/artifacts/libraries/governance/LockManager.sol/LockManager.json +123 -0
  127. package/artifacts/libraries/governance/PowerCheckpoint.sol/PowerCheckpoint.dbg.json +4 -0
  128. package/artifacts/libraries/governance/PowerCheckpoint.sol/PowerCheckpoint.json +70 -0
  129. package/artifacts/libraries/governance/RAACVoting.sol/RAACVoting.dbg.json +4 -0
  130. package/artifacts/libraries/governance/RAACVoting.sol/RAACVoting.json +102 -0
  131. package/artifacts/libraries/governance/VotingPowerLib.sol/VotingPowerLib.dbg.json +4 -0
  132. package/artifacts/libraries/governance/VotingPowerLib.sol/VotingPowerLib.json +76 -0
  133. package/artifacts/libraries/math/PercentageMath.sol/PercentageMath.dbg.json +4 -0
  134. package/artifacts/libraries/math/PercentageMath.sol/PercentageMath.json +10 -0
  135. package/artifacts/libraries/math/TimeWeightedAverage.sol/TimeWeightedAverage.dbg.json +4 -0
  136. package/artifacts/libraries/math/TimeWeightedAverage.sol/TimeWeightedAverage.json +142 -0
  137. package/artifacts/libraries/math/WadRayMath.sol/WadRayMath.dbg.json +4 -0
  138. package/artifacts/libraries/math/WadRayMath.sol/WadRayMath.json +10 -0
  139. package/artifacts/libraries/pools/DataTypes.sol/DataTypes.dbg.json +4 -0
  140. package/artifacts/libraries/pools/DataTypes.sol/DataTypes.json +10 -0
  141. package/artifacts/libraries/pools/ReserveLibrary.sol/ReserveLibrary.dbg.json +4 -0
  142. package/artifacts/libraries/pools/ReserveLibrary.sol/ReserveLibrary.json +153 -0
  143. package/artifacts/libraries/utils/StringUtils.sol/StringUtils.dbg.json +4 -0
  144. package/artifacts/libraries/utils/StringUtils.sol/StringUtils.json +16 -0
  145. package/artifacts/mocks/core/collectors/MockTreasury.sol/MockTreasury.dbg.json +4 -0
  146. package/artifacts/mocks/core/collectors/MockTreasury.sol/MockTreasury.json +255 -0
  147. package/artifacts/mocks/core/governance/gauges/MockBaseGauge.sol/MockBaseGauge.dbg.json +4 -0
  148. package/artifacts/mocks/core/governance/gauges/MockBaseGauge.sol/MockBaseGauge.json +1522 -0
  149. package/artifacts/mocks/core/governance/gauges/MockGaugeController.sol/MockGaugeController.dbg.json +4 -0
  150. package/artifacts/mocks/core/governance/gauges/MockGaugeController.sol/MockGaugeController.json +49 -0
  151. package/artifacts/mocks/core/governance/proposals/TimelockTestTarget.sol/TimelockTestTarget.dbg.json +4 -0
  152. package/artifacts/mocks/core/governance/proposals/TimelockTestTarget.sol/TimelockTestTarget.json +112 -0
  153. package/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/IFunctionsRouter.dbg.json +4 -0
  154. package/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/IFunctionsRouter.json +50 -0
  155. package/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter.dbg.json +4 -0
  156. package/artifacts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter.json +69 -0
  157. package/artifacts/mocks/core/oracles/MockOracle.sol/MockOracle.dbg.json +4 -0
  158. package/artifacts/mocks/core/oracles/MockOracle.sol/MockOracle.json +63 -0
  159. package/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.dbg.json +4 -0
  160. package/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +774 -0
  161. package/artifacts/mocks/core/oracles/TestRAACHousePriceOracle.sol/TestRAACHousePriceOracle.dbg.json +4 -0
  162. package/artifacts/mocks/core/oracles/TestRAACHousePriceOracle.sol/TestRAACHousePriceOracle.json +358 -0
  163. package/artifacts/mocks/core/oracles/TestRAACPrimeRateOracle.sol/TestRAACPrimeRateOracle.dbg.json +4 -0
  164. package/artifacts/mocks/core/oracles/TestRAACPrimeRateOracle.sol/TestRAACPrimeRateOracle.json +373 -0
  165. package/artifacts/mocks/core/pools/MockLendingPool.sol/MockLendingPool.dbg.json +4 -0
  166. package/artifacts/mocks/core/pools/MockLendingPool.sol/MockLendingPool.json +241 -0
  167. package/artifacts/mocks/core/pools/MockLendingPoolCollector.sol/MockLendingPoolCollector.dbg.json +4 -0
  168. package/artifacts/mocks/core/pools/MockLendingPoolCollector.sol/MockLendingPoolCollector.json +288 -0
  169. package/artifacts/mocks/core/pools/MockLendingPoolDebtToken.sol/MockLendingPoolDebtToken.dbg.json +4 -0
  170. package/artifacts/mocks/core/pools/MockLendingPoolDebtToken.sol/MockLendingPoolDebtToken.json +1522 -0
  171. package/artifacts/mocks/core/pools/MockLiquidityPool.sol/MockLiquidityPool.dbg.json +4 -0
  172. package/artifacts/mocks/core/pools/MockLiquidityPool.sol/MockLiquidityPool.json +1019 -0
  173. package/artifacts/mocks/core/pools/MockPool.sol/MockPool.dbg.json +4 -0
  174. package/artifacts/mocks/core/pools/MockPool.sol/MockPool.json +93 -0
  175. package/artifacts/mocks/core/pools/MockStabilityPool.sol/MockStabilityPool.dbg.json +4 -0
  176. package/artifacts/mocks/core/pools/MockStabilityPool.sol/MockStabilityPool.json +126 -0
  177. package/artifacts/mocks/core/primitives/MockContract.sol/MockContract.dbg.json +4 -0
  178. package/artifacts/mocks/core/primitives/MockContract.sol/MockContract.json +37 -0
  179. package/artifacts/mocks/core/primitives/MockContractWithConfig.sol/MockContractWithConfig.dbg.json +4 -0
  180. package/artifacts/mocks/core/primitives/MockContractWithConfig.sol/MockContractWithConfig.json +52 -0
  181. package/artifacts/mocks/core/primitives/MockDistributableContract.sol/MockDistributableContract.dbg.json +4 -0
  182. package/artifacts/mocks/core/primitives/MockDistributableContract.sol/MockDistributableContract.json +73 -0
  183. package/artifacts/mocks/core/primitives/RAACHousePricesMock.sol/RAACHousePricesMock.dbg.json +4 -0
  184. package/artifacts/mocks/core/primitives/RAACHousePricesMock.sol/RAACHousePricesMock.json +67 -0
  185. package/artifacts/mocks/core/tokens/ERC20Mock.sol/ERC20Mock.dbg.json +4 -0
  186. package/artifacts/mocks/core/tokens/ERC20Mock.sol/ERC20Mock.json +353 -0
  187. package/artifacts/mocks/core/tokens/ERC721Mock.sol/ERC721Mock.dbg.json +4 -0
  188. package/artifacts/mocks/core/tokens/ERC721Mock.sol/ERC721Mock.json +491 -0
  189. package/artifacts/mocks/core/tokens/MockCollectableUnderlying.sol/MockCollectableUnderlying.dbg.json +4 -0
  190. package/artifacts/mocks/core/tokens/MockCollectableUnderlying.sol/MockCollectableUnderlying.json +568 -0
  191. package/artifacts/mocks/core/tokens/MockFeeCollectorToken.sol/MockFeeCollectorToken.dbg.json +4 -0
  192. package/artifacts/mocks/core/tokens/MockFeeCollectorToken.sol/MockFeeCollectorToken.json +515 -0
  193. package/artifacts/mocks/core/tokens/MockToken.sol/MockToken.dbg.json +4 -0
  194. package/artifacts/mocks/core/tokens/MockToken.sol/MockToken.json +426 -0
  195. package/artifacts/mocks/core/tokens/MockUSDC.sol/MockUSDC.dbg.json +4 -0
  196. package/artifacts/mocks/core/tokens/MockUSDC.sol/MockUSDC.json +348 -0
  197. package/artifacts/mocks/core/tokens/MockVeToken.sol/MockVeToken.dbg.json +4 -0
  198. package/artifacts/mocks/core/tokens/MockVeToken.sol/MockVeToken.json +905 -0
  199. package/artifacts/mocks/core/tokens/RAACMockERC20.sol/RAACMockERC20.dbg.json +4 -0
  200. package/artifacts/mocks/core/tokens/RAACMockERC20.sol/RAACMockERC20.json +422 -0
  201. package/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.dbg.json +4 -0
  202. package/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +479 -0
  203. package/artifacts/mocks/core/vaults/MockVault.sol/MockVault.dbg.json +4 -0
  204. package/artifacts/mocks/core/vaults/MockVault.sol/MockVault.json +672 -0
  205. package/artifacts/mocks/libraries/MockStringUtils.sol/MockStringUtils.dbg.json +4 -0
  206. package/artifacts/mocks/libraries/MockStringUtils.sol/MockStringUtils.json +35 -0
  207. package/artifacts/mocks/libraries/governance/BoostCalculatorMock.sol/BoostCalculatorMock.dbg.json +4 -0
  208. package/artifacts/mocks/libraries/governance/BoostCalculatorMock.sol/BoostCalculatorMock.json +431 -0
  209. package/artifacts/mocks/libraries/governance/CheckpointsMock.sol/CheckpointsMock.dbg.json +4 -0
  210. package/artifacts/mocks/libraries/governance/CheckpointsMock.sol/CheckpointsMock.json +144 -0
  211. package/artifacts/mocks/libraries/governance/LockManagerMock.sol/LockManagerMock.dbg.json +4 -0
  212. package/artifacts/mocks/libraries/governance/LockManagerMock.sol/LockManagerMock.json +237 -0
  213. package/artifacts/mocks/libraries/governance/PowerCheckpointMock.sol/PowerCheckpointMock.dbg.json +4 -0
  214. package/artifacts/mocks/libraries/governance/PowerCheckpointMock.sol/PowerCheckpointMock.json +221 -0
  215. package/artifacts/mocks/libraries/governance/RAACVotingMock.sol/RAACVotingMock.dbg.json +4 -0
  216. package/artifacts/mocks/libraries/governance/RAACVotingMock.sol/RAACVotingMock.json +95 -0
  217. package/artifacts/mocks/libraries/governance/VotingPowerMock.sol/VotingPowerMock.dbg.json +4 -0
  218. package/artifacts/mocks/libraries/governance/VotingPowerMock.sol/VotingPowerMock.json +442 -0
  219. package/artifacts/mocks/libraries/math/TimeWeightedAverageMock.sol/TimeWeightedAverageMock.dbg.json +4 -0
  220. package/artifacts/mocks/libraries/math/TimeWeightedAverageMock.sol/TimeWeightedAverageMock.json +309 -0
  221. package/artifacts/mocks/libraries/math/WadRayMathMock.sol/WadRayMathMock.dbg.json +4 -0
  222. package/artifacts/mocks/libraries/math/WadRayMathMock.sol/WadRayMathMock.json +188 -0
  223. package/artifacts/mocks/libraries/pools/ReserveLibraryMock.sol/ReserveLibraryMock.dbg.json +4 -0
  224. package/artifacts/mocks/libraries/pools/ReserveLibraryMock.sol/ReserveLibraryMock.json +339 -0
  225. package/artifacts/mocks/tests/MaliciousDeposit.sol/MaliciousDeposit.dbg.json +4 -0
  226. package/artifacts/mocks/tests/MaliciousDeposit.sol/MaliciousDeposit.json +52 -0
  227. package/artifacts/mocks/tests/MaliciousWithdraw.sol/MaliciousWithdraw.dbg.json +4 -0
  228. package/artifacts/mocks/tests/MaliciousWithdraw.sol/MaliciousWithdraw.json +52 -0
  229. package/artifacts/mocks/tests/VeRAACFuzzHelper.sol/VeRAACFuzzHelper.dbg.json +4 -0
  230. package/artifacts/mocks/tests/VeRAACFuzzHelper.sol/VeRAACFuzzHelper.json +88 -0
  231. package/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/IVMTimeControl.dbg.json +4 -0
  232. package/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/IVMTimeControl.json +24 -0
  233. package/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper.dbg.json +4 -0
  234. package/artifacts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper.json +129 -0
  235. package/artifacts/zeno/Auction.sol/Auction.dbg.json +4 -0
  236. package/artifacts/zeno/Auction.sol/Auction.json +393 -0
  237. package/artifacts/zeno/AuctionFactory.sol/AuctionFactory.dbg.json +4 -0
  238. package/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +307 -0
  239. package/artifacts/zeno/ZENO.sol/ZENO.dbg.json +4 -0
  240. package/artifacts/zeno/ZENO.sol/ZENO.json +620 -0
  241. package/artifacts/zeno/ZENOFactory.sol/ZENOFactory.dbg.json +4 -0
  242. package/artifacts/zeno/ZENOFactory.sol/ZENOFactory.json +275 -0
  243. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +1743 -0
  244. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +1443 -0
  245. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +279 -0
  246. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +2760 -0
  247. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +1146 -0
  248. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +285 -0
  249. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +858 -0
  250. package/dist/artifacts/core/tokens/IndexToken.sol/IndexToken.json +770 -0
  251. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +1472 -0
  252. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +832 -0
  253. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +1205 -0
  254. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +1616 -0
  255. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +774 -0
  256. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +479 -0
  257. package/dist/artifacts/zeno/Auction.sol/Auction.json +393 -0
  258. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +307 -0
  259. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +620 -0
  260. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +275 -0
  261. package/package.json +1 -1
  262. package/wallet/assets/getAssets.js +0 -1
@@ -0,0 +1,1616 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "veRAACToken",
4
+ "sourceName": "contracts/core/tokens/veRAACToken.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_raacToken",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "target",
22
+ "type": "address"
23
+ }
24
+ ],
25
+ "name": "AddressEmptyCode",
26
+ "type": "error"
27
+ },
28
+ {
29
+ "inputs": [
30
+ {
31
+ "internalType": "address",
32
+ "name": "account",
33
+ "type": "address"
34
+ }
35
+ ],
36
+ "name": "AddressInsufficientBalance",
37
+ "type": "error"
38
+ },
39
+ {
40
+ "inputs": [],
41
+ "name": "AlreadyVoted",
42
+ "type": "error"
43
+ },
44
+ {
45
+ "inputs": [],
46
+ "name": "AmountExceedsLimit",
47
+ "type": "error"
48
+ },
49
+ {
50
+ "inputs": [],
51
+ "name": "AmountExceedsLimit",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [],
56
+ "name": "ContractPaused",
57
+ "type": "error"
58
+ },
59
+ {
60
+ "inputs": [
61
+ {
62
+ "internalType": "address",
63
+ "name": "spender",
64
+ "type": "address"
65
+ },
66
+ {
67
+ "internalType": "uint256",
68
+ "name": "allowance",
69
+ "type": "uint256"
70
+ },
71
+ {
72
+ "internalType": "uint256",
73
+ "name": "needed",
74
+ "type": "uint256"
75
+ }
76
+ ],
77
+ "name": "ERC20InsufficientAllowance",
78
+ "type": "error"
79
+ },
80
+ {
81
+ "inputs": [
82
+ {
83
+ "internalType": "address",
84
+ "name": "sender",
85
+ "type": "address"
86
+ },
87
+ {
88
+ "internalType": "uint256",
89
+ "name": "balance",
90
+ "type": "uint256"
91
+ },
92
+ {
93
+ "internalType": "uint256",
94
+ "name": "needed",
95
+ "type": "uint256"
96
+ }
97
+ ],
98
+ "name": "ERC20InsufficientBalance",
99
+ "type": "error"
100
+ },
101
+ {
102
+ "inputs": [
103
+ {
104
+ "internalType": "address",
105
+ "name": "approver",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "name": "ERC20InvalidApprover",
110
+ "type": "error"
111
+ },
112
+ {
113
+ "inputs": [
114
+ {
115
+ "internalType": "address",
116
+ "name": "receiver",
117
+ "type": "address"
118
+ }
119
+ ],
120
+ "name": "ERC20InvalidReceiver",
121
+ "type": "error"
122
+ },
123
+ {
124
+ "inputs": [
125
+ {
126
+ "internalType": "address",
127
+ "name": "sender",
128
+ "type": "address"
129
+ }
130
+ ],
131
+ "name": "ERC20InvalidSender",
132
+ "type": "error"
133
+ },
134
+ {
135
+ "inputs": [
136
+ {
137
+ "internalType": "address",
138
+ "name": "spender",
139
+ "type": "address"
140
+ }
141
+ ],
142
+ "name": "ERC20InvalidSpender",
143
+ "type": "error"
144
+ },
145
+ {
146
+ "inputs": [],
147
+ "name": "EmergencyActionNotScheduled",
148
+ "type": "error"
149
+ },
150
+ {
151
+ "inputs": [],
152
+ "name": "EmergencyDelayNotMet",
153
+ "type": "error"
154
+ },
155
+ {
156
+ "inputs": [],
157
+ "name": "EmergencyUnlockNotEnabled",
158
+ "type": "error"
159
+ },
160
+ {
161
+ "inputs": [],
162
+ "name": "EmergencyUnlockNotScheduled",
163
+ "type": "error"
164
+ },
165
+ {
166
+ "inputs": [],
167
+ "name": "EmergencyWithdrawNotEnabled",
168
+ "type": "error"
169
+ },
170
+ {
171
+ "inputs": [],
172
+ "name": "FailedInnerCall",
173
+ "type": "error"
174
+ },
175
+ {
176
+ "inputs": [],
177
+ "name": "FutureBlockQuery",
178
+ "type": "error"
179
+ },
180
+ {
181
+ "inputs": [],
182
+ "name": "InvalidAddress",
183
+ "type": "error"
184
+ },
185
+ {
186
+ "inputs": [],
187
+ "name": "InvalidAmount",
188
+ "type": "error"
189
+ },
190
+ {
191
+ "inputs": [],
192
+ "name": "InvalidBlockNumber",
193
+ "type": "error"
194
+ },
195
+ {
196
+ "inputs": [],
197
+ "name": "InvalidBoostBounds",
198
+ "type": "error"
199
+ },
200
+ {
201
+ "inputs": [],
202
+ "name": "InvalidBoostWindow",
203
+ "type": "error"
204
+ },
205
+ {
206
+ "inputs": [],
207
+ "name": "InvalidLockAmount",
208
+ "type": "error"
209
+ },
210
+ {
211
+ "inputs": [],
212
+ "name": "InvalidLockDuration",
213
+ "type": "error"
214
+ },
215
+ {
216
+ "inputs": [],
217
+ "name": "InvalidLockDuration",
218
+ "type": "error"
219
+ },
220
+ {
221
+ "inputs": [],
222
+ "name": "InvalidPowerParameters",
223
+ "type": "error"
224
+ },
225
+ {
226
+ "inputs": [],
227
+ "name": "InvalidProposal",
228
+ "type": "error"
229
+ },
230
+ {
231
+ "inputs": [],
232
+ "name": "InvalidTime",
233
+ "type": "error"
234
+ },
235
+ {
236
+ "inputs": [],
237
+ "name": "LockExpired",
238
+ "type": "error"
239
+ },
240
+ {
241
+ "inputs": [],
242
+ "name": "LockNotExpired",
243
+ "type": "error"
244
+ },
245
+ {
246
+ "inputs": [],
247
+ "name": "LockNotFound",
248
+ "type": "error"
249
+ },
250
+ {
251
+ "inputs": [],
252
+ "name": "LockNotFound",
253
+ "type": "error"
254
+ },
255
+ {
256
+ "inputs": [],
257
+ "name": "NoExistingLock",
258
+ "type": "error"
259
+ },
260
+ {
261
+ "inputs": [],
262
+ "name": "NoTokensLocked",
263
+ "type": "error"
264
+ },
265
+ {
266
+ "inputs": [
267
+ {
268
+ "internalType": "address",
269
+ "name": "owner",
270
+ "type": "address"
271
+ }
272
+ ],
273
+ "name": "OwnableInvalidOwner",
274
+ "type": "error"
275
+ },
276
+ {
277
+ "inputs": [
278
+ {
279
+ "internalType": "address",
280
+ "name": "account",
281
+ "type": "address"
282
+ }
283
+ ],
284
+ "name": "OwnableUnauthorizedAccount",
285
+ "type": "error"
286
+ },
287
+ {
288
+ "inputs": [],
289
+ "name": "PeriodNotElapsed",
290
+ "type": "error"
291
+ },
292
+ {
293
+ "inputs": [],
294
+ "name": "PowerTooHigh",
295
+ "type": "error"
296
+ },
297
+ {
298
+ "inputs": [],
299
+ "name": "ReentrancyGuardReentrantCall",
300
+ "type": "error"
301
+ },
302
+ {
303
+ "inputs": [
304
+ {
305
+ "internalType": "address",
306
+ "name": "token",
307
+ "type": "address"
308
+ }
309
+ ],
310
+ "name": "SafeERC20FailedOperation",
311
+ "type": "error"
312
+ },
313
+ {
314
+ "inputs": [],
315
+ "name": "TotalSupplyLimitExceeded",
316
+ "type": "error"
317
+ },
318
+ {
319
+ "inputs": [],
320
+ "name": "TransferNotAllowed",
321
+ "type": "error"
322
+ },
323
+ {
324
+ "inputs": [],
325
+ "name": "ValueOverflow",
326
+ "type": "error"
327
+ },
328
+ {
329
+ "inputs": [],
330
+ "name": "ValueTooLarge",
331
+ "type": "error"
332
+ },
333
+ {
334
+ "inputs": [],
335
+ "name": "ZeroAmount",
336
+ "type": "error"
337
+ },
338
+ {
339
+ "inputs": [],
340
+ "name": "ZeroDuration",
341
+ "type": "error"
342
+ },
343
+ {
344
+ "inputs": [],
345
+ "name": "ZeroWeight",
346
+ "type": "error"
347
+ },
348
+ {
349
+ "anonymous": false,
350
+ "inputs": [
351
+ {
352
+ "indexed": true,
353
+ "internalType": "address",
354
+ "name": "owner",
355
+ "type": "address"
356
+ },
357
+ {
358
+ "indexed": true,
359
+ "internalType": "address",
360
+ "name": "spender",
361
+ "type": "address"
362
+ },
363
+ {
364
+ "indexed": false,
365
+ "internalType": "uint256",
366
+ "name": "value",
367
+ "type": "uint256"
368
+ }
369
+ ],
370
+ "name": "Approval",
371
+ "type": "event"
372
+ },
373
+ {
374
+ "anonymous": false,
375
+ "inputs": [
376
+ {
377
+ "indexed": true,
378
+ "internalType": "address",
379
+ "name": "user",
380
+ "type": "address"
381
+ },
382
+ {
383
+ "indexed": false,
384
+ "internalType": "uint256",
385
+ "name": "blockNumber",
386
+ "type": "uint256"
387
+ },
388
+ {
389
+ "indexed": false,
390
+ "internalType": "uint256",
391
+ "name": "power",
392
+ "type": "uint256"
393
+ }
394
+ ],
395
+ "name": "CheckpointCreated",
396
+ "type": "event"
397
+ },
398
+ {
399
+ "anonymous": false,
400
+ "inputs": [
401
+ {
402
+ "indexed": true,
403
+ "internalType": "bytes32",
404
+ "name": "actionId",
405
+ "type": "bytes32"
406
+ }
407
+ ],
408
+ "name": "EmergencyActionCancelled",
409
+ "type": "event"
410
+ },
411
+ {
412
+ "anonymous": false,
413
+ "inputs": [
414
+ {
415
+ "indexed": true,
416
+ "internalType": "bytes32",
417
+ "name": "actionId",
418
+ "type": "bytes32"
419
+ },
420
+ {
421
+ "indexed": false,
422
+ "internalType": "uint256",
423
+ "name": "executeTime",
424
+ "type": "uint256"
425
+ }
426
+ ],
427
+ "name": "EmergencyActionScheduled",
428
+ "type": "event"
429
+ },
430
+ {
431
+ "anonymous": false,
432
+ "inputs": [],
433
+ "name": "EmergencyUnlockEnabled",
434
+ "type": "event"
435
+ },
436
+ {
437
+ "anonymous": false,
438
+ "inputs": [],
439
+ "name": "EmergencyUnlockScheduled",
440
+ "type": "event"
441
+ },
442
+ {
443
+ "anonymous": false,
444
+ "inputs": [
445
+ {
446
+ "indexed": false,
447
+ "internalType": "uint256",
448
+ "name": "withdrawTime",
449
+ "type": "uint256"
450
+ }
451
+ ],
452
+ "name": "EmergencyWithdrawEnabled",
453
+ "type": "event"
454
+ },
455
+ {
456
+ "anonymous": false,
457
+ "inputs": [
458
+ {
459
+ "indexed": true,
460
+ "internalType": "address",
461
+ "name": "user",
462
+ "type": "address"
463
+ },
464
+ {
465
+ "indexed": false,
466
+ "internalType": "uint256",
467
+ "name": "amount",
468
+ "type": "uint256"
469
+ }
470
+ ],
471
+ "name": "EmergencyWithdrawn",
472
+ "type": "event"
473
+ },
474
+ {
475
+ "anonymous": false,
476
+ "inputs": [
477
+ {
478
+ "indexed": true,
479
+ "internalType": "address",
480
+ "name": "user",
481
+ "type": "address"
482
+ },
483
+ {
484
+ "indexed": false,
485
+ "internalType": "uint256",
486
+ "name": "amount",
487
+ "type": "uint256"
488
+ },
489
+ {
490
+ "indexed": false,
491
+ "internalType": "uint256",
492
+ "name": "unlockTime",
493
+ "type": "uint256"
494
+ }
495
+ ],
496
+ "name": "LockCreated",
497
+ "type": "event"
498
+ },
499
+ {
500
+ "anonymous": false,
501
+ "inputs": [
502
+ {
503
+ "indexed": true,
504
+ "internalType": "address",
505
+ "name": "user",
506
+ "type": "address"
507
+ },
508
+ {
509
+ "indexed": false,
510
+ "internalType": "uint256",
511
+ "name": "amount",
512
+ "type": "uint256"
513
+ },
514
+ {
515
+ "indexed": false,
516
+ "internalType": "uint256",
517
+ "name": "end",
518
+ "type": "uint256"
519
+ }
520
+ ],
521
+ "name": "LockCreated",
522
+ "type": "event"
523
+ },
524
+ {
525
+ "anonymous": false,
526
+ "inputs": [
527
+ {
528
+ "indexed": true,
529
+ "internalType": "address",
530
+ "name": "user",
531
+ "type": "address"
532
+ },
533
+ {
534
+ "indexed": false,
535
+ "internalType": "uint256",
536
+ "name": "newUnlockTime",
537
+ "type": "uint256"
538
+ }
539
+ ],
540
+ "name": "LockExtended",
541
+ "type": "event"
542
+ },
543
+ {
544
+ "anonymous": false,
545
+ "inputs": [
546
+ {
547
+ "indexed": true,
548
+ "internalType": "address",
549
+ "name": "user",
550
+ "type": "address"
551
+ },
552
+ {
553
+ "indexed": false,
554
+ "internalType": "uint256",
555
+ "name": "newEnd",
556
+ "type": "uint256"
557
+ }
558
+ ],
559
+ "name": "LockExtended",
560
+ "type": "event"
561
+ },
562
+ {
563
+ "anonymous": false,
564
+ "inputs": [
565
+ {
566
+ "indexed": true,
567
+ "internalType": "address",
568
+ "name": "user",
569
+ "type": "address"
570
+ },
571
+ {
572
+ "indexed": false,
573
+ "internalType": "uint256",
574
+ "name": "additionalAmount",
575
+ "type": "uint256"
576
+ }
577
+ ],
578
+ "name": "LockIncreased",
579
+ "type": "event"
580
+ },
581
+ {
582
+ "anonymous": false,
583
+ "inputs": [
584
+ {
585
+ "indexed": true,
586
+ "internalType": "address",
587
+ "name": "user",
588
+ "type": "address"
589
+ },
590
+ {
591
+ "indexed": false,
592
+ "internalType": "uint256",
593
+ "name": "additionalAmount",
594
+ "type": "uint256"
595
+ }
596
+ ],
597
+ "name": "LockIncreased",
598
+ "type": "event"
599
+ },
600
+ {
601
+ "anonymous": false,
602
+ "inputs": [
603
+ {
604
+ "indexed": true,
605
+ "internalType": "address",
606
+ "name": "user",
607
+ "type": "address"
608
+ },
609
+ {
610
+ "indexed": false,
611
+ "internalType": "uint256",
612
+ "name": "amount",
613
+ "type": "uint256"
614
+ },
615
+ {
616
+ "indexed": false,
617
+ "internalType": "uint256",
618
+ "name": "lockDuration",
619
+ "type": "uint256"
620
+ }
621
+ ],
622
+ "name": "Locked",
623
+ "type": "event"
624
+ },
625
+ {
626
+ "anonymous": false,
627
+ "inputs": [
628
+ {
629
+ "indexed": true,
630
+ "internalType": "address",
631
+ "name": "minter",
632
+ "type": "address"
633
+ }
634
+ ],
635
+ "name": "MinterSet",
636
+ "type": "event"
637
+ },
638
+ {
639
+ "anonymous": false,
640
+ "inputs": [
641
+ {
642
+ "indexed": true,
643
+ "internalType": "address",
644
+ "name": "previousOwner",
645
+ "type": "address"
646
+ },
647
+ {
648
+ "indexed": true,
649
+ "internalType": "address",
650
+ "name": "newOwner",
651
+ "type": "address"
652
+ }
653
+ ],
654
+ "name": "OwnershipTransferred",
655
+ "type": "event"
656
+ },
657
+ {
658
+ "anonymous": false,
659
+ "inputs": [
660
+ {
661
+ "indexed": false,
662
+ "internalType": "uint256",
663
+ "name": "startTime",
664
+ "type": "uint256"
665
+ },
666
+ {
667
+ "indexed": false,
668
+ "internalType": "uint256",
669
+ "name": "duration",
670
+ "type": "uint256"
671
+ },
672
+ {
673
+ "indexed": false,
674
+ "internalType": "uint256",
675
+ "name": "initialValue",
676
+ "type": "uint256"
677
+ }
678
+ ],
679
+ "name": "PeriodCreated",
680
+ "type": "event"
681
+ },
682
+ {
683
+ "anonymous": false,
684
+ "inputs": [
685
+ {
686
+ "indexed": true,
687
+ "internalType": "address",
688
+ "name": "from",
689
+ "type": "address"
690
+ },
691
+ {
692
+ "indexed": true,
693
+ "internalType": "address",
694
+ "name": "to",
695
+ "type": "address"
696
+ },
697
+ {
698
+ "indexed": false,
699
+ "internalType": "uint256",
700
+ "name": "value",
701
+ "type": "uint256"
702
+ }
703
+ ],
704
+ "name": "Transfer",
705
+ "type": "event"
706
+ },
707
+ {
708
+ "anonymous": false,
709
+ "inputs": [
710
+ {
711
+ "indexed": true,
712
+ "internalType": "address",
713
+ "name": "voter",
714
+ "type": "address"
715
+ },
716
+ {
717
+ "indexed": true,
718
+ "internalType": "uint256",
719
+ "name": "proposalId",
720
+ "type": "uint256"
721
+ },
722
+ {
723
+ "indexed": false,
724
+ "internalType": "uint256",
725
+ "name": "power",
726
+ "type": "uint256"
727
+ }
728
+ ],
729
+ "name": "VoteCast",
730
+ "type": "event"
731
+ },
732
+ {
733
+ "anonymous": false,
734
+ "inputs": [
735
+ {
736
+ "indexed": true,
737
+ "internalType": "address",
738
+ "name": "user",
739
+ "type": "address"
740
+ },
741
+ {
742
+ "indexed": false,
743
+ "internalType": "uint256",
744
+ "name": "oldPower",
745
+ "type": "uint256"
746
+ },
747
+ {
748
+ "indexed": false,
749
+ "internalType": "uint256",
750
+ "name": "newPower",
751
+ "type": "uint256"
752
+ }
753
+ ],
754
+ "name": "VotingPowerUpdated",
755
+ "type": "event"
756
+ },
757
+ {
758
+ "anonymous": false,
759
+ "inputs": [
760
+ {
761
+ "indexed": true,
762
+ "internalType": "address",
763
+ "name": "user",
764
+ "type": "address"
765
+ },
766
+ {
767
+ "indexed": false,
768
+ "internalType": "uint256",
769
+ "name": "amount",
770
+ "type": "uint256"
771
+ }
772
+ ],
773
+ "name": "Withdrawn",
774
+ "type": "event"
775
+ },
776
+ {
777
+ "inputs": [],
778
+ "name": "EMERGENCY_DELAY",
779
+ "outputs": [
780
+ {
781
+ "internalType": "uint256",
782
+ "name": "",
783
+ "type": "uint256"
784
+ }
785
+ ],
786
+ "stateMutability": "view",
787
+ "type": "function"
788
+ },
789
+ {
790
+ "inputs": [],
791
+ "name": "MAX_BOOST",
792
+ "outputs": [
793
+ {
794
+ "internalType": "uint256",
795
+ "name": "",
796
+ "type": "uint256"
797
+ }
798
+ ],
799
+ "stateMutability": "view",
800
+ "type": "function"
801
+ },
802
+ {
803
+ "inputs": [],
804
+ "name": "MAX_LOCK_DURATION",
805
+ "outputs": [
806
+ {
807
+ "internalType": "uint256",
808
+ "name": "",
809
+ "type": "uint256"
810
+ }
811
+ ],
812
+ "stateMutability": "view",
813
+ "type": "function"
814
+ },
815
+ {
816
+ "inputs": [],
817
+ "name": "MAX_TOTAL_LOCKED_AMOUNT",
818
+ "outputs": [
819
+ {
820
+ "internalType": "uint256",
821
+ "name": "",
822
+ "type": "uint256"
823
+ }
824
+ ],
825
+ "stateMutability": "view",
826
+ "type": "function"
827
+ },
828
+ {
829
+ "inputs": [],
830
+ "name": "MIN_BOOST",
831
+ "outputs": [
832
+ {
833
+ "internalType": "uint256",
834
+ "name": "",
835
+ "type": "uint256"
836
+ }
837
+ ],
838
+ "stateMutability": "view",
839
+ "type": "function"
840
+ },
841
+ {
842
+ "inputs": [],
843
+ "name": "MIN_LOCK_DURATION",
844
+ "outputs": [
845
+ {
846
+ "internalType": "uint256",
847
+ "name": "",
848
+ "type": "uint256"
849
+ }
850
+ ],
851
+ "stateMutability": "view",
852
+ "type": "function"
853
+ },
854
+ {
855
+ "inputs": [
856
+ {
857
+ "internalType": "address",
858
+ "name": "owner",
859
+ "type": "address"
860
+ },
861
+ {
862
+ "internalType": "address",
863
+ "name": "spender",
864
+ "type": "address"
865
+ }
866
+ ],
867
+ "name": "allowance",
868
+ "outputs": [
869
+ {
870
+ "internalType": "uint256",
871
+ "name": "",
872
+ "type": "uint256"
873
+ }
874
+ ],
875
+ "stateMutability": "view",
876
+ "type": "function"
877
+ },
878
+ {
879
+ "inputs": [
880
+ {
881
+ "internalType": "address",
882
+ "name": "spender",
883
+ "type": "address"
884
+ },
885
+ {
886
+ "internalType": "uint256",
887
+ "name": "value",
888
+ "type": "uint256"
889
+ }
890
+ ],
891
+ "name": "approve",
892
+ "outputs": [
893
+ {
894
+ "internalType": "bool",
895
+ "name": "",
896
+ "type": "bool"
897
+ }
898
+ ],
899
+ "stateMutability": "nonpayable",
900
+ "type": "function"
901
+ },
902
+ {
903
+ "inputs": [
904
+ {
905
+ "internalType": "address",
906
+ "name": "account",
907
+ "type": "address"
908
+ }
909
+ ],
910
+ "name": "balanceOf",
911
+ "outputs": [
912
+ {
913
+ "internalType": "uint256",
914
+ "name": "",
915
+ "type": "uint256"
916
+ }
917
+ ],
918
+ "stateMutability": "view",
919
+ "type": "function"
920
+ },
921
+ {
922
+ "inputs": [
923
+ {
924
+ "internalType": "address",
925
+ "name": "user",
926
+ "type": "address"
927
+ },
928
+ {
929
+ "internalType": "uint256",
930
+ "name": "amount",
931
+ "type": "uint256"
932
+ }
933
+ ],
934
+ "name": "calculateBoost",
935
+ "outputs": [
936
+ {
937
+ "internalType": "uint256",
938
+ "name": "boostBasisPoints",
939
+ "type": "uint256"
940
+ },
941
+ {
942
+ "internalType": "uint256",
943
+ "name": "boostedAmount",
944
+ "type": "uint256"
945
+ }
946
+ ],
947
+ "stateMutability": "view",
948
+ "type": "function"
949
+ },
950
+ {
951
+ "inputs": [
952
+ {
953
+ "internalType": "uint256",
954
+ "name": "amount",
955
+ "type": "uint256"
956
+ },
957
+ {
958
+ "internalType": "uint256",
959
+ "name": "lockDuration",
960
+ "type": "uint256"
961
+ }
962
+ ],
963
+ "name": "calculateVeAmount",
964
+ "outputs": [
965
+ {
966
+ "internalType": "uint256",
967
+ "name": "",
968
+ "type": "uint256"
969
+ }
970
+ ],
971
+ "stateMutability": "pure",
972
+ "type": "function"
973
+ },
974
+ {
975
+ "inputs": [
976
+ {
977
+ "internalType": "bytes32",
978
+ "name": "actionId",
979
+ "type": "bytes32"
980
+ }
981
+ ],
982
+ "name": "cancelEmergencyAction",
983
+ "outputs": [],
984
+ "stateMutability": "nonpayable",
985
+ "type": "function"
986
+ },
987
+ {
988
+ "inputs": [],
989
+ "name": "decimals",
990
+ "outputs": [
991
+ {
992
+ "internalType": "uint8",
993
+ "name": "",
994
+ "type": "uint8"
995
+ }
996
+ ],
997
+ "stateMutability": "view",
998
+ "type": "function"
999
+ },
1000
+ {
1001
+ "inputs": [],
1002
+ "name": "emergencyUnlockEnabled",
1003
+ "outputs": [
1004
+ {
1005
+ "internalType": "bool",
1006
+ "name": "",
1007
+ "type": "bool"
1008
+ }
1009
+ ],
1010
+ "stateMutability": "view",
1011
+ "type": "function"
1012
+ },
1013
+ {
1014
+ "inputs": [],
1015
+ "name": "emergencyWithdraw",
1016
+ "outputs": [],
1017
+ "stateMutability": "nonpayable",
1018
+ "type": "function"
1019
+ },
1020
+ {
1021
+ "inputs": [],
1022
+ "name": "emergencyWithdrawDelay",
1023
+ "outputs": [
1024
+ {
1025
+ "internalType": "uint256",
1026
+ "name": "",
1027
+ "type": "uint256"
1028
+ }
1029
+ ],
1030
+ "stateMutability": "view",
1031
+ "type": "function"
1032
+ },
1033
+ {
1034
+ "inputs": [],
1035
+ "name": "enableEmergencyWithdraw",
1036
+ "outputs": [],
1037
+ "stateMutability": "nonpayable",
1038
+ "type": "function"
1039
+ },
1040
+ {
1041
+ "inputs": [],
1042
+ "name": "executeEmergencyUnlock",
1043
+ "outputs": [],
1044
+ "stateMutability": "nonpayable",
1045
+ "type": "function"
1046
+ },
1047
+ {
1048
+ "inputs": [
1049
+ {
1050
+ "internalType": "uint256",
1051
+ "name": "newDuration",
1052
+ "type": "uint256"
1053
+ }
1054
+ ],
1055
+ "name": "extend",
1056
+ "outputs": [],
1057
+ "stateMutability": "nonpayable",
1058
+ "type": "function"
1059
+ },
1060
+ {
1061
+ "inputs": [],
1062
+ "name": "getBoostState",
1063
+ "outputs": [
1064
+ {
1065
+ "components": [
1066
+ {
1067
+ "internalType": "uint256",
1068
+ "name": "minBoost",
1069
+ "type": "uint256"
1070
+ },
1071
+ {
1072
+ "internalType": "uint256",
1073
+ "name": "maxBoost",
1074
+ "type": "uint256"
1075
+ },
1076
+ {
1077
+ "internalType": "uint256",
1078
+ "name": "boostWindow",
1079
+ "type": "uint256"
1080
+ },
1081
+ {
1082
+ "internalType": "uint256",
1083
+ "name": "totalVotingPower",
1084
+ "type": "uint256"
1085
+ },
1086
+ {
1087
+ "internalType": "uint256",
1088
+ "name": "totalWeight",
1089
+ "type": "uint256"
1090
+ }
1091
+ ],
1092
+ "internalType": "struct veRAACToken.BoostStateView",
1093
+ "name": "",
1094
+ "type": "tuple"
1095
+ }
1096
+ ],
1097
+ "stateMutability": "view",
1098
+ "type": "function"
1099
+ },
1100
+ {
1101
+ "inputs": [],
1102
+ "name": "getBoostWindow",
1103
+ "outputs": [
1104
+ {
1105
+ "internalType": "uint256",
1106
+ "name": "",
1107
+ "type": "uint256"
1108
+ }
1109
+ ],
1110
+ "stateMutability": "view",
1111
+ "type": "function"
1112
+ },
1113
+ {
1114
+ "inputs": [
1115
+ {
1116
+ "internalType": "address",
1117
+ "name": "account",
1118
+ "type": "address"
1119
+ }
1120
+ ],
1121
+ "name": "getCurrentBoost",
1122
+ "outputs": [
1123
+ {
1124
+ "internalType": "uint256",
1125
+ "name": "boostBasisPoints",
1126
+ "type": "uint256"
1127
+ },
1128
+ {
1129
+ "internalType": "uint256",
1130
+ "name": "boostedAmount",
1131
+ "type": "uint256"
1132
+ }
1133
+ ],
1134
+ "stateMutability": "view",
1135
+ "type": "function"
1136
+ },
1137
+ {
1138
+ "inputs": [
1139
+ {
1140
+ "internalType": "address",
1141
+ "name": "account",
1142
+ "type": "address"
1143
+ }
1144
+ ],
1145
+ "name": "getLockEndTime",
1146
+ "outputs": [
1147
+ {
1148
+ "internalType": "uint256",
1149
+ "name": "",
1150
+ "type": "uint256"
1151
+ }
1152
+ ],
1153
+ "stateMutability": "view",
1154
+ "type": "function"
1155
+ },
1156
+ {
1157
+ "inputs": [
1158
+ {
1159
+ "internalType": "address",
1160
+ "name": "account",
1161
+ "type": "address"
1162
+ }
1163
+ ],
1164
+ "name": "getLockPosition",
1165
+ "outputs": [
1166
+ {
1167
+ "components": [
1168
+ {
1169
+ "internalType": "uint256",
1170
+ "name": "amount",
1171
+ "type": "uint256"
1172
+ },
1173
+ {
1174
+ "internalType": "uint256",
1175
+ "name": "end",
1176
+ "type": "uint256"
1177
+ },
1178
+ {
1179
+ "internalType": "uint256",
1180
+ "name": "power",
1181
+ "type": "uint256"
1182
+ }
1183
+ ],
1184
+ "internalType": "struct IveRAACToken.LockPosition",
1185
+ "name": "",
1186
+ "type": "tuple"
1187
+ }
1188
+ ],
1189
+ "stateMutability": "view",
1190
+ "type": "function"
1191
+ },
1192
+ {
1193
+ "inputs": [
1194
+ {
1195
+ "internalType": "address",
1196
+ "name": "account",
1197
+ "type": "address"
1198
+ }
1199
+ ],
1200
+ "name": "getLockedBalance",
1201
+ "outputs": [
1202
+ {
1203
+ "internalType": "uint256",
1204
+ "name": "",
1205
+ "type": "uint256"
1206
+ }
1207
+ ],
1208
+ "stateMutability": "view",
1209
+ "type": "function"
1210
+ },
1211
+ {
1212
+ "inputs": [
1213
+ {
1214
+ "internalType": "address",
1215
+ "name": "account",
1216
+ "type": "address"
1217
+ },
1218
+ {
1219
+ "internalType": "uint256",
1220
+ "name": "blockNumber",
1221
+ "type": "uint256"
1222
+ }
1223
+ ],
1224
+ "name": "getPastVotes",
1225
+ "outputs": [
1226
+ {
1227
+ "internalType": "uint256",
1228
+ "name": "",
1229
+ "type": "uint256"
1230
+ }
1231
+ ],
1232
+ "stateMutability": "view",
1233
+ "type": "function"
1234
+ },
1235
+ {
1236
+ "inputs": [],
1237
+ "name": "getTotalVotingPower",
1238
+ "outputs": [
1239
+ {
1240
+ "internalType": "uint256",
1241
+ "name": "",
1242
+ "type": "uint256"
1243
+ }
1244
+ ],
1245
+ "stateMutability": "view",
1246
+ "type": "function"
1247
+ },
1248
+ {
1249
+ "inputs": [
1250
+ {
1251
+ "internalType": "address",
1252
+ "name": "account",
1253
+ "type": "address"
1254
+ },
1255
+ {
1256
+ "internalType": "uint256",
1257
+ "name": "timestamp",
1258
+ "type": "uint256"
1259
+ }
1260
+ ],
1261
+ "name": "getVotingPower",
1262
+ "outputs": [
1263
+ {
1264
+ "internalType": "uint256",
1265
+ "name": "",
1266
+ "type": "uint256"
1267
+ }
1268
+ ],
1269
+ "stateMutability": "view",
1270
+ "type": "function"
1271
+ },
1272
+ {
1273
+ "inputs": [
1274
+ {
1275
+ "internalType": "address",
1276
+ "name": "account",
1277
+ "type": "address"
1278
+ }
1279
+ ],
1280
+ "name": "getVotingPower",
1281
+ "outputs": [
1282
+ {
1283
+ "internalType": "uint256",
1284
+ "name": "",
1285
+ "type": "uint256"
1286
+ }
1287
+ ],
1288
+ "stateMutability": "view",
1289
+ "type": "function"
1290
+ },
1291
+ {
1292
+ "inputs": [
1293
+ {
1294
+ "internalType": "address",
1295
+ "name": "account",
1296
+ "type": "address"
1297
+ },
1298
+ {
1299
+ "internalType": "uint256",
1300
+ "name": "proposalId",
1301
+ "type": "uint256"
1302
+ }
1303
+ ],
1304
+ "name": "getVotingPowerForProposal",
1305
+ "outputs": [
1306
+ {
1307
+ "internalType": "uint256",
1308
+ "name": "",
1309
+ "type": "uint256"
1310
+ }
1311
+ ],
1312
+ "stateMutability": "view",
1313
+ "type": "function"
1314
+ },
1315
+ {
1316
+ "inputs": [
1317
+ {
1318
+ "internalType": "uint256",
1319
+ "name": "amount",
1320
+ "type": "uint256"
1321
+ }
1322
+ ],
1323
+ "name": "increase",
1324
+ "outputs": [],
1325
+ "stateMutability": "nonpayable",
1326
+ "type": "function"
1327
+ },
1328
+ {
1329
+ "inputs": [
1330
+ {
1331
+ "internalType": "uint256",
1332
+ "name": "amount",
1333
+ "type": "uint256"
1334
+ },
1335
+ {
1336
+ "internalType": "uint256",
1337
+ "name": "duration",
1338
+ "type": "uint256"
1339
+ }
1340
+ ],
1341
+ "name": "lock",
1342
+ "outputs": [],
1343
+ "stateMutability": "nonpayable",
1344
+ "type": "function"
1345
+ },
1346
+ {
1347
+ "inputs": [
1348
+ {
1349
+ "internalType": "address",
1350
+ "name": "",
1351
+ "type": "address"
1352
+ }
1353
+ ],
1354
+ "name": "locks",
1355
+ "outputs": [
1356
+ {
1357
+ "internalType": "uint256",
1358
+ "name": "amount",
1359
+ "type": "uint256"
1360
+ },
1361
+ {
1362
+ "internalType": "uint256",
1363
+ "name": "end",
1364
+ "type": "uint256"
1365
+ }
1366
+ ],
1367
+ "stateMutability": "view",
1368
+ "type": "function"
1369
+ },
1370
+ {
1371
+ "inputs": [],
1372
+ "name": "minter",
1373
+ "outputs": [
1374
+ {
1375
+ "internalType": "address",
1376
+ "name": "",
1377
+ "type": "address"
1378
+ }
1379
+ ],
1380
+ "stateMutability": "view",
1381
+ "type": "function"
1382
+ },
1383
+ {
1384
+ "inputs": [],
1385
+ "name": "name",
1386
+ "outputs": [
1387
+ {
1388
+ "internalType": "string",
1389
+ "name": "",
1390
+ "type": "string"
1391
+ }
1392
+ ],
1393
+ "stateMutability": "view",
1394
+ "type": "function"
1395
+ },
1396
+ {
1397
+ "inputs": [],
1398
+ "name": "owner",
1399
+ "outputs": [
1400
+ {
1401
+ "internalType": "address",
1402
+ "name": "",
1403
+ "type": "address"
1404
+ }
1405
+ ],
1406
+ "stateMutability": "view",
1407
+ "type": "function"
1408
+ },
1409
+ {
1410
+ "inputs": [],
1411
+ "name": "paused",
1412
+ "outputs": [
1413
+ {
1414
+ "internalType": "bool",
1415
+ "name": "",
1416
+ "type": "bool"
1417
+ }
1418
+ ],
1419
+ "stateMutability": "view",
1420
+ "type": "function"
1421
+ },
1422
+ {
1423
+ "inputs": [
1424
+ {
1425
+ "internalType": "uint256",
1426
+ "name": "",
1427
+ "type": "uint256"
1428
+ }
1429
+ ],
1430
+ "name": "proposalPowerSnapshots",
1431
+ "outputs": [
1432
+ {
1433
+ "internalType": "uint256",
1434
+ "name": "",
1435
+ "type": "uint256"
1436
+ }
1437
+ ],
1438
+ "stateMutability": "view",
1439
+ "type": "function"
1440
+ },
1441
+ {
1442
+ "inputs": [],
1443
+ "name": "raacToken",
1444
+ "outputs": [
1445
+ {
1446
+ "internalType": "contract IERC20",
1447
+ "name": "",
1448
+ "type": "address"
1449
+ }
1450
+ ],
1451
+ "stateMutability": "view",
1452
+ "type": "function"
1453
+ },
1454
+ {
1455
+ "inputs": [
1456
+ {
1457
+ "internalType": "address",
1458
+ "name": "voter",
1459
+ "type": "address"
1460
+ },
1461
+ {
1462
+ "internalType": "uint256",
1463
+ "name": "proposalId",
1464
+ "type": "uint256"
1465
+ }
1466
+ ],
1467
+ "name": "recordVote",
1468
+ "outputs": [],
1469
+ "stateMutability": "nonpayable",
1470
+ "type": "function"
1471
+ },
1472
+ {
1473
+ "inputs": [],
1474
+ "name": "renounceOwnership",
1475
+ "outputs": [],
1476
+ "stateMutability": "nonpayable",
1477
+ "type": "function"
1478
+ },
1479
+ {
1480
+ "inputs": [
1481
+ {
1482
+ "internalType": "bytes32",
1483
+ "name": "actionId",
1484
+ "type": "bytes32"
1485
+ }
1486
+ ],
1487
+ "name": "scheduleEmergencyAction",
1488
+ "outputs": [],
1489
+ "stateMutability": "nonpayable",
1490
+ "type": "function"
1491
+ },
1492
+ {
1493
+ "inputs": [],
1494
+ "name": "scheduleEmergencyUnlock",
1495
+ "outputs": [],
1496
+ "stateMutability": "nonpayable",
1497
+ "type": "function"
1498
+ },
1499
+ {
1500
+ "inputs": [
1501
+ {
1502
+ "internalType": "address",
1503
+ "name": "_minter",
1504
+ "type": "address"
1505
+ }
1506
+ ],
1507
+ "name": "setMinter",
1508
+ "outputs": [],
1509
+ "stateMutability": "nonpayable",
1510
+ "type": "function"
1511
+ },
1512
+ {
1513
+ "inputs": [],
1514
+ "name": "symbol",
1515
+ "outputs": [
1516
+ {
1517
+ "internalType": "string",
1518
+ "name": "",
1519
+ "type": "string"
1520
+ }
1521
+ ],
1522
+ "stateMutability": "view",
1523
+ "type": "function"
1524
+ },
1525
+ {
1526
+ "inputs": [],
1527
+ "name": "totalSupply",
1528
+ "outputs": [
1529
+ {
1530
+ "internalType": "uint256",
1531
+ "name": "",
1532
+ "type": "uint256"
1533
+ }
1534
+ ],
1535
+ "stateMutability": "view",
1536
+ "type": "function"
1537
+ },
1538
+ {
1539
+ "inputs": [
1540
+ {
1541
+ "internalType": "address",
1542
+ "name": "to",
1543
+ "type": "address"
1544
+ },
1545
+ {
1546
+ "internalType": "uint256",
1547
+ "name": "amount",
1548
+ "type": "uint256"
1549
+ }
1550
+ ],
1551
+ "name": "transfer",
1552
+ "outputs": [
1553
+ {
1554
+ "internalType": "bool",
1555
+ "name": "",
1556
+ "type": "bool"
1557
+ }
1558
+ ],
1559
+ "stateMutability": "nonpayable",
1560
+ "type": "function"
1561
+ },
1562
+ {
1563
+ "inputs": [
1564
+ {
1565
+ "internalType": "address",
1566
+ "name": "from",
1567
+ "type": "address"
1568
+ },
1569
+ {
1570
+ "internalType": "address",
1571
+ "name": "to",
1572
+ "type": "address"
1573
+ },
1574
+ {
1575
+ "internalType": "uint256",
1576
+ "name": "amount",
1577
+ "type": "uint256"
1578
+ }
1579
+ ],
1580
+ "name": "transferFrom",
1581
+ "outputs": [
1582
+ {
1583
+ "internalType": "bool",
1584
+ "name": "",
1585
+ "type": "bool"
1586
+ }
1587
+ ],
1588
+ "stateMutability": "nonpayable",
1589
+ "type": "function"
1590
+ },
1591
+ {
1592
+ "inputs": [
1593
+ {
1594
+ "internalType": "address",
1595
+ "name": "newOwner",
1596
+ "type": "address"
1597
+ }
1598
+ ],
1599
+ "name": "transferOwnership",
1600
+ "outputs": [],
1601
+ "stateMutability": "nonpayable",
1602
+ "type": "function"
1603
+ },
1604
+ {
1605
+ "inputs": [],
1606
+ "name": "withdraw",
1607
+ "outputs": [],
1608
+ "stateMutability": "nonpayable",
1609
+ "type": "function"
1610
+ }
1611
+ ],
1612
+ "bytecode": "0x60a06040523480156200001157600080fd5b50604051620031ef380380620031ef8339810160408190526200003491620001fb565b3360405180604001604052806012815260200171566f746520457363726f776564205241414360701b8152506040518060400160405280600681526020016576655241414360d01b8152508160039081620000909190620002d2565b5060046200009f8282620002d2565b5050506001600160a01b038116620000d257604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000dd81620001a9565b5060016006556001600160a01b0381166200013b5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c6964205241414320746f6b656e20616464726573730000000000006044820152606401620000c9565b6001600160a01b0381166080526200017d6301e13380600d55630784ce00600e556a084595161401484a0000006010556b033b2e3c9fd0803ce8000000600f55565b620001a26161a8601955612710601a5562093a80601b55670de0b6b3a7640000601c55565b506200039e565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200020e57600080fd5b81516001600160a01b03811681146200022657600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200025857607f821691505b6020821081036200027957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002cd57600081815260208120601f850160051c81016020861015620002a85750805b601f850160051c820191505b81811015620002c957828155600101620002b4565b5050505b505050565b81516001600160401b03811115620002ee57620002ee6200022d565b6200030681620002ff845462000243565b846200027f565b602080601f8311600181146200033e5760008415620003255750858301515b600019600386901b1c1916600185901b178555620002c9565b600085815260208120601f198616915b828110156200036f578886015182559484019460019091019084016200034e565b50858210156200038e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b608051612e19620003d6600039600081816106d40152818161092501528181610aea01528181610e5a015261145d0152612e196000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c80635c975abb116101825780639c17a18d116100e9578063d2e01b2f116100a2578063dd62ed3e1161007c578063dd62ed3e14610696578063e40963f2146106cf578063f2fde38b146106f6578063fca3b5aa1461070957600080fd5b8063d2e01b2f14610646578063db2e21bc1461067b578063dd5b76231461068357600080fd5b80639c17a18d146105be578063a446b900146105d1578063a9059cbb146105e4578063ac15e02d146105f7578063bb4d44361461060a578063c40868931461061d57600080fd5b806378b4330f1161013b57806378b4330f1461056a57806382944e2d146105755780638da5cb5b1461057f5780638ff400f41461059057806395d89b41146105a35780639714378c146105ab57600080fd5b80635c975abb146105035780635de9a1371461051757806370a082311461053e578063715018a61461055157806372070b8114610559578063742ea0651461056257600080fd5b8063315865df116102415780633fa05f8a116101fa5780634f1bfc9e116101d45780634f1bfc9e1461049d5780634f8502d6146104a857806354b2e409146104bb578063558ac136146104db57600080fd5b80633fa05f8a1461041f5780634a8e4f8f146104695780634c5ecdac1461047157600080fd5b8063315865df146103d857806334bbeab8146103e157806336301533146103e95780633a46b1a8146103f15780633a6ba693146104045780633ccfd60b1461041757600080fd5b806311acc1a71161029357806311acc1a71461037e5780631338736f1461038657806318160ddd1461039b57806323b872dd146103a357806330f3f0db146103b6578063313ce567146103c957600080fd5b806306fdde03146102db57806307546172146102f9578063095ea7b3146103245780630a7486c7146103475780630b5dce331461035e57806310075ab21461036b575b600080fd5b6102e361071c565b6040516102f09190612adb565b60405180910390f35b60075461030c906001600160a01b031681565b6040516001600160a01b0390911681526020016102f0565b610337610332366004612b2a565b6107ae565b60405190151581526020016102f0565b61035061271081565b6040519081526020016102f0565b6009546103379060ff1681565b610350610379366004612b54565b6107c8565b610350610816565b610399610394366004612b54565b610826565b005b600254610350565b6103376103b1366004612b76565b6109f5565b6103996103c4366004612bb2565b610a0a565b604051601281526020016102f0565b6103506161a881565b610399610b74565b610399610c5f565b6103506103ff366004612b2a565b610d59565b6103506b033b2e3c9fd0803ce800000081565b610399610d67565b610427610ec6565b6040516102f09190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b601b54610350565b61035061047f366004612bcb565b6001600160a01b03166000908152600a602052604090206001015490565b610350630784ce0081565b6103506104b6366004612b2a565b610f2d565b6103506104c9366004612bb2565b60286020526000908152604090205481565b6104ee6104e9366004612bcb565b610f66565b604080519283526020830191909152016102f0565b60075461033790600160a01b900460ff1681565b6104ee610525366004612bcb565b600a602052600090815260409020805460019091015482565b61035061054c366004612bcb565b610fa4565b610399610fbf565b61035060085481565b610399610fd1565b6103506301e1338081565b6103506203f48081565b6005546001600160a01b031661030c565b61035061059e366004612b2a565b611050565b6102e361105e565b6103996105b9366004612bb2565b61106d565b6104ee6105cc366004612b2a565b6111a1565b6103996105df366004612b2a565b6111c8565b6103376105f2366004612b2a565b61128f565b610399610605366004612bb2565b61129b565b610350610618366004612bcb565b6112fc565b61035061062b366004612bcb565b6001600160a01b03166000908152600a602052604090205490565b610659610654366004612bcb565b61130a565b60408051825181526020808401519082015291810151908201526060016102f0565b61039961136e565b610399610691366004612bb2565b6114b6565b6103506106a4366004612be6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61030c7f000000000000000000000000000000000000000000000000000000000000000081565b610399610704366004612bcb565b6114f9565b610399610717366004612bcb565b611539565b60606003805461072b90612c19565b80601f016020809104026020016040519081016040528092919081815260200182805461075790612c19565b80156107a45780601f10610779576101008083540402835291602001916107a4565b820191906000526020600020905b81548152906001019060200180831161078757829003601f168201915b5050505050905090565b6000336107bc8185856115da565b60019150505b92915050565b60008215806107d5575081155b156107e2575060006107c2565b630784ce008211156107f657630784ce0091505b630784ce006108058385612c69565b61080f9190612c96565b9392505050565b600061082160025490565b905090565b61082e6115ec565b600754600160a01b900460ff16156108595760405163ab35696f60e01b815260040160405180910390fd5b8160000361087a5760405163162908e360e11b815260040160405180910390fd5b6a084595161401484a0000008211156108a65760405163172bd6a160e31b815260040160405180910390fd5b6a52b7d2dcc80cd2e4000000826108bc60025490565b6108c69190612caa565b11156108e557604051633c92a01b60e11b815260040160405180910390fd5b6301e133808110806108fa5750630784ce0081115b1561091857604051630f962f3d60e31b815260040160405180910390fd5b61094d6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085611616565b60006109598242612caa565b9050610968600b338585611683565b5061097333846117bd565b60008061098360233387866117e2565b90925090506001600160801b03821661099e60203383611976565b6109a83382611a62565b604080518781526020810186905233917f167357c41e38a45e1950f61b1f5accf902c878d83f1685f7f72fb666203ce047910160405180910390a2505050506109f16001600655565b5050565b6000610a02848484611a98565b949350505050565b610a126115ec565b600754600160a01b900460ff1615610a3d5760405163ab35696f60e01b815260040160405180910390fd5b610a49600b3383611abc565b336000818152600a6020526040902054610a6391906117bd565b336000818152600b602090815260408083208151606081018352815480825260018301549482019490945260029091015460ff16151591810191909152928291610ac29190610ab3908790612caa565b602086015160239291906117e2565b90925090506001600160801b038216610add60203383611976565b610b126001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088611616565b610b2e33610b1f33610fa4565b610b299084612cbd565b611a62565b60405185815233907fb6f6047ccb2c5eb4dd18dd4204255859ff2dd42986622a68192bad01a6084b549060200160405180910390a250505050610b716001600655565b50565b610b7c611bc6565b7f8d51cc669104abd05781e3bd91a56e4f469b4c936799300c8c63595cf9a028b6600081815260266020527fd376c864ab7c6a331f81a06094225060f13cb4620e82711512f0b39e42bf8daa5490819003610bea5760405163610a8b2d60e01b815260040160405180910390fd5b610bf76203f48082612caa565b421015610c17576040516394ef5f3560e01b815260040160405180910390fd5b6009805460ff191660011790556040517fa8da083c86be6220353772f872cb01a3bc43292309e703a3bd38197ec4d8735690600090a150600090815260266020526040812055565b610c67611bc6565b7fb90cbad5ff8166afd6f4d1cddb15dd6c2e07accef35424f938aafab38c768910600081815260266020527f60ab01d0845f25b7cf9828205af7c8f954ec07963270089ae1d27cd3e3bd824d5490819003610cd55760405163610a8b2d60e01b815260040160405180910390fd5b610ce26203f48082612caa565b421015610d02576040516394ef5f3560e01b815260040160405180910390fd5b610d0f6203f48042612caa565b60088190556040519081527f25004abd8ec665bad2ee0fe374e3b11952166214e204b05d2ea4122417dc22049060200160405180910390a150600090815260266020526040812055565b600061080f60208484611bf3565b610d6f6115ec565b336000908152600b602090815260408083208151606081018352815480825260018301549482019490945260029091015460ff161515918101919091529103610dcb57604051636086ee6f60e11b815260040160405180910390fd5b8060200151421015610df05760405163342ad40160e11b815260040160405180910390fd5b80516000610dfd33610fa4565b336000818152600b6020908152604080832083815560018082018590556002909101805460ff191690556023835290832083815501829055929350610e43929190611976565b610e4d3382611c37565b610e816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163384611c6d565b60405182815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a2505050610ec46001600655565b565b610ef86040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b506040805160a081018252601a5481526019546020820152601b5491810191909152601f546060820152601e54608082015290565b600081815260286020526040812054808203610f5c57604051631dc0650160e31b815260040160405180910390fd5b610a028482610d59565b600080610f9b610f7584610fa4565b6002546001600160a01b0386166000908152600b60205260409020546011929190611c9e565b91509150915091565b6001600160a01b031660009081526020819052604090205490565b610fc7611bc6565b610ec46000611d31565b610fd9611bc6565b7f8d51cc669104abd05781e3bd91a56e4f469b4c936799300c8c63595cf9a028b660009081526026602052427fd376c864ab7c6a331f81a06094225060f13cb4620e82711512f0b39e42bf8daa556040517ff1065a9a3232a185314e36c6249df953c8ff0c44cdf4580b700bfcc4816d29b59190a1565b600061080f60238484611d83565b60606004805461072b90612c19565b6110756115ec565b600754600160a01b900460ff16156110a05760405163ab35696f60e01b815260040160405180910390fd5b60006110ae600b3384611e4a565b336000818152600b602090815260408083208151606081018352815480825260018301549482019490945260029091015460ff16151591810191909152939450909182916110ff91602391876117e2565b91509150600061110e33610fa4565b90506001600160801b03831661112660203383611976565b818111156111415761113c33610b298484612cbd565b61115c565b8181101561115c5761115c336111578385612cbd565b611c37565b60405186815233907fe5d4b5c97a45cd2c590e17dd6dc2c0b1935d6c56701144a267f57b1a9f6779f49060200160405180910390a2505050505050610b716001600655565b6000806111bd6111b085610fa4565b6002546011919086611c9e565b915091509250929050565b6001600160a01b038216600090815260276020908152604080832084845290915290205460ff161561120d57604051637c9a1cf960e01b815260040160405180910390fd5b6001600160a01b03821660009081526027602090815260408083208484529091528120805460ff19166001179055611244836112fc565b905081836001600160a01b03167fb4cfecf70861b7b150d8337780d34fb4cbc2114b5fb1fe51a5c5fca1849f72748360405161128291815260200190565b60405180910390a3505050565b600061080f8383611f4e565b6112a3611bc6565b6000818152602660205260409020429081905581907f200aed9164e142f3e2c072cbad433b7386e1bb53e9ec4b89d05fa991b72040aa906112e8906203f48090612caa565b60405190815260200160405180910390a250565b60006107c260238342611f5c565b61132e60405180606001604052806000815260200160008152602001600081525090565b600061133b600b8461202f565b90506040518060600160405280826000015181526020018260200151815260200161136585610fa4565b90529392505050565b6113766115ec565b6008541580611386575060085442105b156113a457604051632457654760e11b815260040160405180910390fd5b336000908152600b602090815260408083208151606081018352815480825260018301549482019490945260029091015460ff161515918101919091529103611400576040516343b976c160e01b815260040160405180910390fd5b8051600061140d33610fa4565b336000818152600b6020908152604080832083815560018082018590556002909101805460ff191690556023909252822082815501559091506114509082611c37565b6114846001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163384611c6d565b60405182815233907f2e39961a70a10f4d46383948095ac2752b3ee642a7c76aa827410aaff08c2e5190602001610eaf565b6114be611bc6565b6000818152602660205260408082208290555182917f92528b34118c4cf8173b224dabbaee2937cc353ca0fa8cd525411832bb4bef4b91a250565b611501611bc6565b6001600160a01b03811661153057604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610b7181611d31565b611541611bc6565b6001600160a01b0381166115905760405162461bcd60e51b8152602060048201526016602482015275496e76616c6964206d696e746572206164647265737360501b6044820152606401611527565b600780546001600160a01b0319166001600160a01b0383169081179091556040517f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6115e78383836001612097565b505050565b60026006540361160f57604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b6040516001600160a01b03848116602483015283811660448301526064820183905261167d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061216c565b50505050565b6000846002015460001415801561169d5750600385015415155b156116d55784600201548210806116b75750846003015482115b156116d557604051630f962f3d60e31b815260040160405180910390fd5b826000036116f65760405163409fef3360e01b815260040160405180910390fd5b6117008242612caa565b60408051606081018252858152602080820184815260018385018181526001600160a01b038b166000908152938c90529483209351845590518382015592516002909201805460ff1916921515929092179091559087018054929350859290919061176c908490612caa565b909155505060408051848152602081018390526001600160a01b038616917f167357c41e38a45e1950f61b1f5accf902c878d83f1685f7f72fb666203ce047910160405180910390a2949350505050565b6117c960238342611d83565b601d55600254601f55600c54601e556109f160116121cf565b6000808315806117f25750428311155b156118105760405163e2d8438b60e01b815260040160405180910390fd5b630784ce0060006118214286612cbd565b90506000826118308389612c69565b61183a9190612c96565b94508490506118498282612c96565b935060006118588a8a42611f5c565b9050604051806060016040528087600f0b815260200186600f0b8152602001428152508a60000160008b6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555060208201518160000160106101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506040820151816001015590505061191c8a8860008861228b565b604080518281526001600160801b03881660208201526001600160a01b038b16917f2a1b0acb0a6fe010db932fc889bec652a0daadc5cafa0d648ada6b79e48937d2910160405180910390a2505050505b94509492505050565b6001600160e01b0381111561199e57604051632f537ee160e01b815260040160405180910390fd5b4360006119aa8361233c565b60408051808201825263ffffffff80861682526001600160e01b0380851660208085019182526001600160a01b038b1660008181528d83528781208054600181018255908252929020865193519094166401000000000292909416919091179101559151929350917f9d362ba40ca7e8092153f1352b7c262010bd99054fac4b75a4d86b4be14ecffa90611a52908690889063ffffffff929092168252602082015260400190565b60405180910390a2505050505050565b6001600160a01b038216611a8c5760405163ec442f0560e01b815260006004820152602401611527565b6109f16000838361236a565b600033611aa68582856123b0565b611ab1858585612428565b506001949350505050565b6001600160a01b0382166000908152602084905260409020600281015460ff16611af957604051636086ee6f60e11b815260040160405180910390fd5b42816001015411611b1d576040516307b7d7dd60e51b815260040160405180910390fd5b60058401548154611b2f908490612caa565b1115611b4e5760405163172bd6a160e31b815260040160405180910390fd5b81816000016000828254611b629190612caa565b9250508190555081846001016000828254611b7d9190612caa565b90915550506040518281526001600160a01b038416907fb6f6047ccb2c5eb4dd18dd4204255859ff2dd42986622a68192bad01a6084b549060200160405180910390a250505050565b6005546001600160a01b03163314610ec45760405163118cdaa760e01b8152336004820152602401611527565b6000438210611c1557604051631391e11b60e21b815260040160405180910390fd5b6001600160a01b0383166000908152602085905260409020610a029083612487565b6001600160a01b038216611c6157604051634b637e8f60e11b815260006004820152602401611527565b6109f18260008361236a565b6040516001600160a01b038381166024830152604482018390526115e791859182169063a9059cbb9060640161164b565b600080831580611cac575082155b15611cbc5750600090508161196d565b6040805160c0810182526008880154815260098801546020820152600a88015491810191909152600d8701546060820152600e8701546080820152600c87015460a0820152611d0c868683612627565b9250612710611d1b8486612c69565b611d259190612c96565b91505094509492505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821660009081526020848152604080832081516060810183528154600f81810b8352600160801b909104900b93810193909352600101549082018190528203611dd857600091505061080f565b8060400151831015611dee57600091505061080f565b6000816040015184611e009190612cbd565b90506000818360200151611e149190612cd0565b8351611e209190612cf7565b9050600081600f0b13611e34576000611e3f565b806001600160801b03165b979650505050505050565b6001600160a01b0382166000908152602084905260408120600281015460ff16611e8757604051636086ee6f60e11b815260040160405180910390fd5b42816001015411611eab576040516307b7d7dd60e51b815260040160405180910390fd5b6000428260010154611ebd9190612cbd565b90506000611ecb8583612caa565b90508660030154811115611ef257604051630f962f3d60e31b815260040160405180910390fd5b611efc8142612caa565b600184018190556040518181529094506001600160a01b038716907fe5d4b5c97a45cd2c590e17dd6dc2c0b1935d6c56701144a267f57b1a9f6779f49060200160405180910390a25050509392505050565b6000336107bc818585612428565b6001600160a01b03821660009081526020848152604080832081516060810183528154600f81810b8352600160801b909104900b93810193909352600101549082018190528203611fb157600091505061080f565b8060400151831015611fce57516001600160801b0316905061080f565b6000816040015184611fe09190612cbd565b8251909150811561201d5760006001838560200151611fff9190612cd0565b6120099190612d24565b8451909150612019908290612cf7565b9150505b600081600f0b13611e34576000611e3f565b612055604051806060016040528060008152602001600081526020016000151581525090565b506001600160a01b0316600090815260209182526040908190208151606081018352815481526001820154938101939093526002015460ff1615159082015290565b6001600160a01b0384166120c15760405163e602df0560e01b815260006004820152602401611527565b6001600160a01b0383166120eb57604051634a1406b160e11b815260006004820152602401611527565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561167d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161215e91815260200190565b60405180910390a350505050565b60006121816001600160a01b038416836126e0565b905080516000141580156121a65750808060200190518101906121a49190612d62565b155b156115e757604051635274afe760e01b81526001600160a01b0384166004820152602401611527565b80600a01546000036121f45760405163a8c60b8160e01b815260040160405180910390fd5b80600901548160080154101561221d5760405163151843ad60e21b815260040160405180910390fd5b60018101544290801561226f57600a8301546122399082612caa565b821061225b576115e7836001018385600a015486600c015487600801546126ee565b600c8301546115e7906001850190846127ea565b6115e7836001018385600a015486600c015487600801546126ee565b81600f0b6000146122e1576000838152600285016020526040812080548492906122b9908490600f0b612cf7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505b80600f0b60001461167d5760008381526002850160205260408120805483929061230f908490600f0b612d84565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555050505050565b60006001600160e01b0382111561236657604051632ad907fb60e01b815260040160405180910390fd5b5090565b6001600160a01b038316158061238757506001600160a01b038216155b15612397576115e7838383612887565b604051638cd22d1960e01b815260040160405180910390fd5b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461167d578181101561241957604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401611527565b61167d84848484036000612097565b6001600160a01b03831661245257604051634b637e8f60e11b815260006004820152602401611527565b6001600160a01b03821661247c5760405163ec442f0560e01b815260006004820152602401611527565b6115e783838361236a565b60004382106124a9576040516301648f5b60e31b815260040160405180910390fd5b825460008190036124be5760009150506107c2565b836000815481106124d1576124d1612db1565b60009182526020909120015463ffffffff168310156124f45760009150506107c2565b83612500600183612cbd565b8154811061251057612510612db1565b60009182526020909120015463ffffffff16831061256a5783612534600183612cbd565b8154811061254457612544612db1565b60009182526020909120015464010000000090046001600160e01b031691506107c29050565b600080612578600184612cbd565b90505b808210156125ee57600060026125918385612caa565b61259c906001612caa565b6125a69190612c96565b9050858782815481106125bb576125bb612db1565b60009182526020909120015463ffffffff16116125da578092506125e8565b6125e5600182612cbd565b91505b5061257b565b85828154811061260057612600612db1565b60009182526020909120015464010000000090046001600160e01b03169695505050505050565b60008260000361263c5750602081015161080f565b60008361265186670de0b6b3a7640000612c69565b61265b9190612c96565b90506000836020015184600001516126739190612cbd565b90506000670de0b6b3a764000061268a8385612c69565b6126949190612c96565b85602001516126a39190612caa565b905084602001518110156126c0578460200151935050505061080f565b84518111156126d65750508251915061080f9050565b9695505050505050565b606061080f838360006129a4565b84541580159061270d57506005850154855461270a9190612caa565b84105b1561272b5760405163f0aaee6560e01b815260040160405180910390fd5b8260000361274c5760405163346ab43760e11b815260040160405180910390fd5b8060000361276d576040516319a2a9bd60e01b815260040160405180910390fd5b83855561277a8385612caa565b6001860155600285018490556003850182905560006004860155600585018390556006850181905560408051858152602081018590529081018390527f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a0829060600160405180910390a15050505050565b82548110806127fc5750826001015481115b1561281a576040516337bf561360e11b815260040160405180910390fd5b60028301548082039082146128765760038401548082029082828161284157612841612c80565b04146128605760405163f20577e560e01b815260040160405180910390fd5b6004850180549091019055600584018054820190555b506003830191909155600290910155565b6001600160a01b0383166128b25780600260008282546128a79190612caa565b909155506129249050565b6001600160a01b038316600090815260208190526040902054818110156129055760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401611527565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166129405760028054829003905561295f565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161128291815260200190565b6060814710156129c95760405163cd78605960e01b8152306004820152602401611527565b600080856001600160a01b031684866040516129e59190612dc7565b60006040518083038185875af1925050503d8060008114612a22576040519150601f19603f3d011682016040523d82523d6000602084013e612a27565b606091505b50915091506126d6868383606082612a4757612a4282612a8e565b61080f565b8151158015612a5e57506001600160a01b0384163b155b15612a8757604051639996b31560e01b81526001600160a01b0385166004820152602401611527565b508061080f565b805115612a9e5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015612ad2578181015183820152602001612aba565b50506000910152565b6020815260008251806020840152612afa816040850160208701612ab7565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114612b2557600080fd5b919050565b60008060408385031215612b3d57600080fd5b612b4683612b0e565b946020939093013593505050565b60008060408385031215612b6757600080fd5b50508035926020909101359150565b600080600060608486031215612b8b57600080fd5b612b9484612b0e565b9250612ba260208501612b0e565b9150604084013590509250925092565b600060208284031215612bc457600080fd5b5035919050565b600060208284031215612bdd57600080fd5b61080f82612b0e565b60008060408385031215612bf957600080fd5b612c0283612b0e565b9150612c1060208401612b0e565b90509250929050565b600181811c90821680612c2d57607f821691505b602082108103612c4d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107c2576107c2612c53565b634e487b7160e01b600052601260045260246000fd5b600082612ca557612ca5612c80565b500490565b808201808211156107c2576107c2612c53565b818103818111156107c2576107c2612c53565b600082600f0b82600f0b0280600f0b9150808214612cf057612cf0612c53565b5092915050565b600f82810b9082900b0360016001607f1b0319811260016001607f1b03821317156107c2576107c2612c53565b600081600f0b83600f0b80612d3b57612d3b612c80565b60016001607f1b0319821460001982141615612d5957612d59612c53565b90059392505050565b600060208284031215612d7457600080fd5b8151801515811461080f57600080fd5b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156107c2576107c2612c53565b634e487b7160e01b600052603260045260246000fd5b60008251612dd9818460208701612ab7565b919091019291505056fea264697066735822122033a1ca93ffc4072053f9f34ffbca08a65745d2753ff879487943e3c94beec79d64736f6c63430008140033",
1613
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102d65760003560e01c80635c975abb116101825780639c17a18d116100e9578063d2e01b2f116100a2578063dd62ed3e1161007c578063dd62ed3e14610696578063e40963f2146106cf578063f2fde38b146106f6578063fca3b5aa1461070957600080fd5b8063d2e01b2f14610646578063db2e21bc1461067b578063dd5b76231461068357600080fd5b80639c17a18d146105be578063a446b900146105d1578063a9059cbb146105e4578063ac15e02d146105f7578063bb4d44361461060a578063c40868931461061d57600080fd5b806378b4330f1161013b57806378b4330f1461056a57806382944e2d146105755780638da5cb5b1461057f5780638ff400f41461059057806395d89b41146105a35780639714378c146105ab57600080fd5b80635c975abb146105035780635de9a1371461051757806370a082311461053e578063715018a61461055157806372070b8114610559578063742ea0651461056257600080fd5b8063315865df116102415780633fa05f8a116101fa5780634f1bfc9e116101d45780634f1bfc9e1461049d5780634f8502d6146104a857806354b2e409146104bb578063558ac136146104db57600080fd5b80633fa05f8a1461041f5780634a8e4f8f146104695780634c5ecdac1461047157600080fd5b8063315865df146103d857806334bbeab8146103e157806336301533146103e95780633a46b1a8146103f15780633a6ba693146104045780633ccfd60b1461041757600080fd5b806311acc1a71161029357806311acc1a71461037e5780631338736f1461038657806318160ddd1461039b57806323b872dd146103a357806330f3f0db146103b6578063313ce567146103c957600080fd5b806306fdde03146102db57806307546172146102f9578063095ea7b3146103245780630a7486c7146103475780630b5dce331461035e57806310075ab21461036b575b600080fd5b6102e361071c565b6040516102f09190612adb565b60405180910390f35b60075461030c906001600160a01b031681565b6040516001600160a01b0390911681526020016102f0565b610337610332366004612b2a565b6107ae565b60405190151581526020016102f0565b61035061271081565b6040519081526020016102f0565b6009546103379060ff1681565b610350610379366004612b54565b6107c8565b610350610816565b610399610394366004612b54565b610826565b005b600254610350565b6103376103b1366004612b76565b6109f5565b6103996103c4366004612bb2565b610a0a565b604051601281526020016102f0565b6103506161a881565b610399610b74565b610399610c5f565b6103506103ff366004612b2a565b610d59565b6103506b033b2e3c9fd0803ce800000081565b610399610d67565b610427610ec6565b6040516102f09190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b601b54610350565b61035061047f366004612bcb565b6001600160a01b03166000908152600a602052604090206001015490565b610350630784ce0081565b6103506104b6366004612b2a565b610f2d565b6103506104c9366004612bb2565b60286020526000908152604090205481565b6104ee6104e9366004612bcb565b610f66565b604080519283526020830191909152016102f0565b60075461033790600160a01b900460ff1681565b6104ee610525366004612bcb565b600a602052600090815260409020805460019091015482565b61035061054c366004612bcb565b610fa4565b610399610fbf565b61035060085481565b610399610fd1565b6103506301e1338081565b6103506203f48081565b6005546001600160a01b031661030c565b61035061059e366004612b2a565b611050565b6102e361105e565b6103996105b9366004612bb2565b61106d565b6104ee6105cc366004612b2a565b6111a1565b6103996105df366004612b2a565b6111c8565b6103376105f2366004612b2a565b61128f565b610399610605366004612bb2565b61129b565b610350610618366004612bcb565b6112fc565b61035061062b366004612bcb565b6001600160a01b03166000908152600a602052604090205490565b610659610654366004612bcb565b61130a565b60408051825181526020808401519082015291810151908201526060016102f0565b61039961136e565b610399610691366004612bb2565b6114b6565b6103506106a4366004612be6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61030c7f000000000000000000000000000000000000000000000000000000000000000081565b610399610704366004612bcb565b6114f9565b610399610717366004612bcb565b611539565b60606003805461072b90612c19565b80601f016020809104026020016040519081016040528092919081815260200182805461075790612c19565b80156107a45780601f10610779576101008083540402835291602001916107a4565b820191906000526020600020905b81548152906001019060200180831161078757829003601f168201915b5050505050905090565b6000336107bc8185856115da565b60019150505b92915050565b60008215806107d5575081155b156107e2575060006107c2565b630784ce008211156107f657630784ce0091505b630784ce006108058385612c69565b61080f9190612c96565b9392505050565b600061082160025490565b905090565b61082e6115ec565b600754600160a01b900460ff16156108595760405163ab35696f60e01b815260040160405180910390fd5b8160000361087a5760405163162908e360e11b815260040160405180910390fd5b6a084595161401484a0000008211156108a65760405163172bd6a160e31b815260040160405180910390fd5b6a52b7d2dcc80cd2e4000000826108bc60025490565b6108c69190612caa565b11156108e557604051633c92a01b60e11b815260040160405180910390fd5b6301e133808110806108fa5750630784ce0081115b1561091857604051630f962f3d60e31b815260040160405180910390fd5b61094d6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085611616565b60006109598242612caa565b9050610968600b338585611683565b5061097333846117bd565b60008061098360233387866117e2565b90925090506001600160801b03821661099e60203383611976565b6109a83382611a62565b604080518781526020810186905233917f167357c41e38a45e1950f61b1f5accf902c878d83f1685f7f72fb666203ce047910160405180910390a2505050506109f16001600655565b5050565b6000610a02848484611a98565b949350505050565b610a126115ec565b600754600160a01b900460ff1615610a3d5760405163ab35696f60e01b815260040160405180910390fd5b610a49600b3383611abc565b336000818152600a6020526040902054610a6391906117bd565b336000818152600b602090815260408083208151606081018352815480825260018301549482019490945260029091015460ff16151591810191909152928291610ac29190610ab3908790612caa565b602086015160239291906117e2565b90925090506001600160801b038216610add60203383611976565b610b126001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088611616565b610b2e33610b1f33610fa4565b610b299084612cbd565b611a62565b60405185815233907fb6f6047ccb2c5eb4dd18dd4204255859ff2dd42986622a68192bad01a6084b549060200160405180910390a250505050610b716001600655565b50565b610b7c611bc6565b7f8d51cc669104abd05781e3bd91a56e4f469b4c936799300c8c63595cf9a028b6600081815260266020527fd376c864ab7c6a331f81a06094225060f13cb4620e82711512f0b39e42bf8daa5490819003610bea5760405163610a8b2d60e01b815260040160405180910390fd5b610bf76203f48082612caa565b421015610c17576040516394ef5f3560e01b815260040160405180910390fd5b6009805460ff191660011790556040517fa8da083c86be6220353772f872cb01a3bc43292309e703a3bd38197ec4d8735690600090a150600090815260266020526040812055565b610c67611bc6565b7fb90cbad5ff8166afd6f4d1cddb15dd6c2e07accef35424f938aafab38c768910600081815260266020527f60ab01d0845f25b7cf9828205af7c8f954ec07963270089ae1d27cd3e3bd824d5490819003610cd55760405163610a8b2d60e01b815260040160405180910390fd5b610ce26203f48082612caa565b421015610d02576040516394ef5f3560e01b815260040160405180910390fd5b610d0f6203f48042612caa565b60088190556040519081527f25004abd8ec665bad2ee0fe374e3b11952166214e204b05d2ea4122417dc22049060200160405180910390a150600090815260266020526040812055565b600061080f60208484611bf3565b610d6f6115ec565b336000908152600b602090815260408083208151606081018352815480825260018301549482019490945260029091015460ff161515918101919091529103610dcb57604051636086ee6f60e11b815260040160405180910390fd5b8060200151421015610df05760405163342ad40160e11b815260040160405180910390fd5b80516000610dfd33610fa4565b336000818152600b6020908152604080832083815560018082018590556002909101805460ff191690556023835290832083815501829055929350610e43929190611976565b610e4d3382611c37565b610e816001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163384611c6d565b60405182815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5906020015b60405180910390a2505050610ec46001600655565b565b610ef86040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b506040805160a081018252601a5481526019546020820152601b5491810191909152601f546060820152601e54608082015290565b600081815260286020526040812054808203610f5c57604051631dc0650160e31b815260040160405180910390fd5b610a028482610d59565b600080610f9b610f7584610fa4565b6002546001600160a01b0386166000908152600b60205260409020546011929190611c9e565b91509150915091565b6001600160a01b031660009081526020819052604090205490565b610fc7611bc6565b610ec46000611d31565b610fd9611bc6565b7f8d51cc669104abd05781e3bd91a56e4f469b4c936799300c8c63595cf9a028b660009081526026602052427fd376c864ab7c6a331f81a06094225060f13cb4620e82711512f0b39e42bf8daa556040517ff1065a9a3232a185314e36c6249df953c8ff0c44cdf4580b700bfcc4816d29b59190a1565b600061080f60238484611d83565b60606004805461072b90612c19565b6110756115ec565b600754600160a01b900460ff16156110a05760405163ab35696f60e01b815260040160405180910390fd5b60006110ae600b3384611e4a565b336000818152600b602090815260408083208151606081018352815480825260018301549482019490945260029091015460ff16151591810191909152939450909182916110ff91602391876117e2565b91509150600061110e33610fa4565b90506001600160801b03831661112660203383611976565b818111156111415761113c33610b298484612cbd565b61115c565b8181101561115c5761115c336111578385612cbd565b611c37565b60405186815233907fe5d4b5c97a45cd2c590e17dd6dc2c0b1935d6c56701144a267f57b1a9f6779f49060200160405180910390a2505050505050610b716001600655565b6000806111bd6111b085610fa4565b6002546011919086611c9e565b915091509250929050565b6001600160a01b038216600090815260276020908152604080832084845290915290205460ff161561120d57604051637c9a1cf960e01b815260040160405180910390fd5b6001600160a01b03821660009081526027602090815260408083208484529091528120805460ff19166001179055611244836112fc565b905081836001600160a01b03167fb4cfecf70861b7b150d8337780d34fb4cbc2114b5fb1fe51a5c5fca1849f72748360405161128291815260200190565b60405180910390a3505050565b600061080f8383611f4e565b6112a3611bc6565b6000818152602660205260409020429081905581907f200aed9164e142f3e2c072cbad433b7386e1bb53e9ec4b89d05fa991b72040aa906112e8906203f48090612caa565b60405190815260200160405180910390a250565b60006107c260238342611f5c565b61132e60405180606001604052806000815260200160008152602001600081525090565b600061133b600b8461202f565b90506040518060600160405280826000015181526020018260200151815260200161136585610fa4565b90529392505050565b6113766115ec565b6008541580611386575060085442105b156113a457604051632457654760e11b815260040160405180910390fd5b336000908152600b602090815260408083208151606081018352815480825260018301549482019490945260029091015460ff161515918101919091529103611400576040516343b976c160e01b815260040160405180910390fd5b8051600061140d33610fa4565b336000818152600b6020908152604080832083815560018082018590556002909101805460ff191690556023909252822082815501559091506114509082611c37565b6114846001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163384611c6d565b60405182815233907f2e39961a70a10f4d46383948095ac2752b3ee642a7c76aa827410aaff08c2e5190602001610eaf565b6114be611bc6565b6000818152602660205260408082208290555182917f92528b34118c4cf8173b224dabbaee2937cc353ca0fa8cd525411832bb4bef4b91a250565b611501611bc6565b6001600160a01b03811661153057604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610b7181611d31565b611541611bc6565b6001600160a01b0381166115905760405162461bcd60e51b8152602060048201526016602482015275496e76616c6964206d696e746572206164647265737360501b6044820152606401611527565b600780546001600160a01b0319166001600160a01b0383169081179091556040517f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b6115e78383836001612097565b505050565b60026006540361160f57604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b6040516001600160a01b03848116602483015283811660448301526064820183905261167d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061216c565b50505050565b6000846002015460001415801561169d5750600385015415155b156116d55784600201548210806116b75750846003015482115b156116d557604051630f962f3d60e31b815260040160405180910390fd5b826000036116f65760405163409fef3360e01b815260040160405180910390fd5b6117008242612caa565b60408051606081018252858152602080820184815260018385018181526001600160a01b038b166000908152938c90529483209351845590518382015592516002909201805460ff1916921515929092179091559087018054929350859290919061176c908490612caa565b909155505060408051848152602081018390526001600160a01b038616917f167357c41e38a45e1950f61b1f5accf902c878d83f1685f7f72fb666203ce047910160405180910390a2949350505050565b6117c960238342611d83565b601d55600254601f55600c54601e556109f160116121cf565b6000808315806117f25750428311155b156118105760405163e2d8438b60e01b815260040160405180910390fd5b630784ce0060006118214286612cbd565b90506000826118308389612c69565b61183a9190612c96565b94508490506118498282612c96565b935060006118588a8a42611f5c565b9050604051806060016040528087600f0b815260200186600f0b8152602001428152508a60000160008b6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555060208201518160000160106101000a8154816001600160801b030219169083600f0b6001600160801b031602179055506040820151816001015590505061191c8a8860008861228b565b604080518281526001600160801b03881660208201526001600160a01b038b16917f2a1b0acb0a6fe010db932fc889bec652a0daadc5cafa0d648ada6b79e48937d2910160405180910390a2505050505b94509492505050565b6001600160e01b0381111561199e57604051632f537ee160e01b815260040160405180910390fd5b4360006119aa8361233c565b60408051808201825263ffffffff80861682526001600160e01b0380851660208085019182526001600160a01b038b1660008181528d83528781208054600181018255908252929020865193519094166401000000000292909416919091179101559151929350917f9d362ba40ca7e8092153f1352b7c262010bd99054fac4b75a4d86b4be14ecffa90611a52908690889063ffffffff929092168252602082015260400190565b60405180910390a2505050505050565b6001600160a01b038216611a8c5760405163ec442f0560e01b815260006004820152602401611527565b6109f16000838361236a565b600033611aa68582856123b0565b611ab1858585612428565b506001949350505050565b6001600160a01b0382166000908152602084905260409020600281015460ff16611af957604051636086ee6f60e11b815260040160405180910390fd5b42816001015411611b1d576040516307b7d7dd60e51b815260040160405180910390fd5b60058401548154611b2f908490612caa565b1115611b4e5760405163172bd6a160e31b815260040160405180910390fd5b81816000016000828254611b629190612caa565b9250508190555081846001016000828254611b7d9190612caa565b90915550506040518281526001600160a01b038416907fb6f6047ccb2c5eb4dd18dd4204255859ff2dd42986622a68192bad01a6084b549060200160405180910390a250505050565b6005546001600160a01b03163314610ec45760405163118cdaa760e01b8152336004820152602401611527565b6000438210611c1557604051631391e11b60e21b815260040160405180910390fd5b6001600160a01b0383166000908152602085905260409020610a029083612487565b6001600160a01b038216611c6157604051634b637e8f60e11b815260006004820152602401611527565b6109f18260008361236a565b6040516001600160a01b038381166024830152604482018390526115e791859182169063a9059cbb9060640161164b565b600080831580611cac575082155b15611cbc5750600090508161196d565b6040805160c0810182526008880154815260098801546020820152600a88015491810191909152600d8701546060820152600e8701546080820152600c87015460a0820152611d0c868683612627565b9250612710611d1b8486612c69565b611d259190612c96565b91505094509492505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821660009081526020848152604080832081516060810183528154600f81810b8352600160801b909104900b93810193909352600101549082018190528203611dd857600091505061080f565b8060400151831015611dee57600091505061080f565b6000816040015184611e009190612cbd565b90506000818360200151611e149190612cd0565b8351611e209190612cf7565b9050600081600f0b13611e34576000611e3f565b806001600160801b03165b979650505050505050565b6001600160a01b0382166000908152602084905260408120600281015460ff16611e8757604051636086ee6f60e11b815260040160405180910390fd5b42816001015411611eab576040516307b7d7dd60e51b815260040160405180910390fd5b6000428260010154611ebd9190612cbd565b90506000611ecb8583612caa565b90508660030154811115611ef257604051630f962f3d60e31b815260040160405180910390fd5b611efc8142612caa565b600184018190556040518181529094506001600160a01b038716907fe5d4b5c97a45cd2c590e17dd6dc2c0b1935d6c56701144a267f57b1a9f6779f49060200160405180910390a25050509392505050565b6000336107bc818585612428565b6001600160a01b03821660009081526020848152604080832081516060810183528154600f81810b8352600160801b909104900b93810193909352600101549082018190528203611fb157600091505061080f565b8060400151831015611fce57516001600160801b0316905061080f565b6000816040015184611fe09190612cbd565b8251909150811561201d5760006001838560200151611fff9190612cd0565b6120099190612d24565b8451909150612019908290612cf7565b9150505b600081600f0b13611e34576000611e3f565b612055604051806060016040528060008152602001600081526020016000151581525090565b506001600160a01b0316600090815260209182526040908190208151606081018352815481526001820154938101939093526002015460ff1615159082015290565b6001600160a01b0384166120c15760405163e602df0560e01b815260006004820152602401611527565b6001600160a01b0383166120eb57604051634a1406b160e11b815260006004820152602401611527565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561167d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161215e91815260200190565b60405180910390a350505050565b60006121816001600160a01b038416836126e0565b905080516000141580156121a65750808060200190518101906121a49190612d62565b155b156115e757604051635274afe760e01b81526001600160a01b0384166004820152602401611527565b80600a01546000036121f45760405163a8c60b8160e01b815260040160405180910390fd5b80600901548160080154101561221d5760405163151843ad60e21b815260040160405180910390fd5b60018101544290801561226f57600a8301546122399082612caa565b821061225b576115e7836001018385600a015486600c015487600801546126ee565b600c8301546115e7906001850190846127ea565b6115e7836001018385600a015486600c015487600801546126ee565b81600f0b6000146122e1576000838152600285016020526040812080548492906122b9908490600f0b612cf7565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505b80600f0b60001461167d5760008381526002850160205260408120805483929061230f908490600f0b612d84565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555050505050565b60006001600160e01b0382111561236657604051632ad907fb60e01b815260040160405180910390fd5b5090565b6001600160a01b038316158061238757506001600160a01b038216155b15612397576115e7838383612887565b604051638cd22d1960e01b815260040160405180910390fd5b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461167d578181101561241957604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401611527565b61167d84848484036000612097565b6001600160a01b03831661245257604051634b637e8f60e11b815260006004820152602401611527565b6001600160a01b03821661247c5760405163ec442f0560e01b815260006004820152602401611527565b6115e783838361236a565b60004382106124a9576040516301648f5b60e31b815260040160405180910390fd5b825460008190036124be5760009150506107c2565b836000815481106124d1576124d1612db1565b60009182526020909120015463ffffffff168310156124f45760009150506107c2565b83612500600183612cbd565b8154811061251057612510612db1565b60009182526020909120015463ffffffff16831061256a5783612534600183612cbd565b8154811061254457612544612db1565b60009182526020909120015464010000000090046001600160e01b031691506107c29050565b600080612578600184612cbd565b90505b808210156125ee57600060026125918385612caa565b61259c906001612caa565b6125a69190612c96565b9050858782815481106125bb576125bb612db1565b60009182526020909120015463ffffffff16116125da578092506125e8565b6125e5600182612cbd565b91505b5061257b565b85828154811061260057612600612db1565b60009182526020909120015464010000000090046001600160e01b03169695505050505050565b60008260000361263c5750602081015161080f565b60008361265186670de0b6b3a7640000612c69565b61265b9190612c96565b90506000836020015184600001516126739190612cbd565b90506000670de0b6b3a764000061268a8385612c69565b6126949190612c96565b85602001516126a39190612caa565b905084602001518110156126c0578460200151935050505061080f565b84518111156126d65750508251915061080f9050565b9695505050505050565b606061080f838360006129a4565b84541580159061270d57506005850154855461270a9190612caa565b84105b1561272b5760405163f0aaee6560e01b815260040160405180910390fd5b8260000361274c5760405163346ab43760e11b815260040160405180910390fd5b8060000361276d576040516319a2a9bd60e01b815260040160405180910390fd5b83855561277a8385612caa565b6001860155600285018490556003850182905560006004860155600585018390556006850181905560408051858152602081018590529081018390527f0792cf7388f234e543a10a68aeb7b96568fb90b55ddc2b2945961c80a3c3a0829060600160405180910390a15050505050565b82548110806127fc5750826001015481115b1561281a576040516337bf561360e11b815260040160405180910390fd5b60028301548082039082146128765760038401548082029082828161284157612841612c80565b04146128605760405163f20577e560e01b815260040160405180910390fd5b6004850180549091019055600584018054820190555b506003830191909155600290910155565b6001600160a01b0383166128b25780600260008282546128a79190612caa565b909155506129249050565b6001600160a01b038316600090815260208190526040902054818110156129055760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401611527565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166129405760028054829003905561295f565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161128291815260200190565b6060814710156129c95760405163cd78605960e01b8152306004820152602401611527565b600080856001600160a01b031684866040516129e59190612dc7565b60006040518083038185875af1925050503d8060008114612a22576040519150601f19603f3d011682016040523d82523d6000602084013e612a27565b606091505b50915091506126d6868383606082612a4757612a4282612a8e565b61080f565b8151158015612a5e57506001600160a01b0384163b155b15612a8757604051639996b31560e01b81526001600160a01b0385166004820152602401611527565b508061080f565b805115612a9e5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015612ad2578181015183820152602001612aba565b50506000910152565b6020815260008251806020840152612afa816040850160208701612ab7565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114612b2557600080fd5b919050565b60008060408385031215612b3d57600080fd5b612b4683612b0e565b946020939093013593505050565b60008060408385031215612b6757600080fd5b50508035926020909101359150565b600080600060608486031215612b8b57600080fd5b612b9484612b0e565b9250612ba260208501612b0e565b9150604084013590509250925092565b600060208284031215612bc457600080fd5b5035919050565b600060208284031215612bdd57600080fd5b61080f82612b0e565b60008060408385031215612bf957600080fd5b612c0283612b0e565b9150612c1060208401612b0e565b90509250929050565b600181811c90821680612c2d57607f821691505b602082108103612c4d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107c2576107c2612c53565b634e487b7160e01b600052601260045260246000fd5b600082612ca557612ca5612c80565b500490565b808201808211156107c2576107c2612c53565b818103818111156107c2576107c2612c53565b600082600f0b82600f0b0280600f0b9150808214612cf057612cf0612c53565b5092915050565b600f82810b9082900b0360016001607f1b0319811260016001607f1b03821317156107c2576107c2612c53565b600081600f0b83600f0b80612d3b57612d3b612c80565b60016001607f1b0319821460001982141615612d5957612d59612c53565b90059392505050565b600060208284031215612d7457600080fd5b8151801515811461080f57600080fd5b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156107c2576107c2612c53565b634e487b7160e01b600052603260045260246000fd5b60008251612dd9818460208701612ab7565b919091019291505056fea264697066735822122033a1ca93ffc4072053f9f34ffbca08a65745d2753ff879487943e3c94beec79d64736f6c63430008140033",
1614
+ "linkReferences": {},
1615
+ "deployedLinkReferences": {}
1616
+ }