@raac/rpc 1.2.0-beta.4 → 1.2.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (665) hide show
  1. package/dist/RPCLibrary.js +236 -83
  2. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +2 -2
  3. package/dist/artifacts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.json +15 -2
  4. package/dist/artifacts/core/collectors/RAACTokenCollector.sol/RAACTokenCollector.json +2 -2
  5. package/dist/artifacts/core/collectors/RWAIndexTokenCollector.sol/RWAIndexTokenCollector.json +2 -2
  6. package/dist/artifacts/core/collectors/Treasury.sol/Treasury.json +2 -2
  7. package/dist/artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json +144 -158
  8. package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +119 -355
  9. package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +104 -325
  10. package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +156 -160
  11. package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +156 -160
  12. package/dist/artifacts/core/governance/proposals/Governance.sol/Governance.json +2 -2
  13. package/dist/artifacts/core/governance/proposals/TimelockController.sol/TimelockController.json +2 -2
  14. package/dist/artifacts/core/lockers/RAACBotLocker.sol/RAACBotLocker.json +915 -0
  15. package/dist/artifacts/core/lockers/RAACLiquidLocker.sol/RAACLiquidLocker.json +2158 -0
  16. package/dist/artifacts/core/lockers/RAACMaturityVault.sol/RAACMaturityVault.json +911 -0
  17. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +59 -741
  18. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +106 -2
  19. package/dist/artifacts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle.json +2 -2
  20. package/dist/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +2 -2
  21. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +2 -2
  22. package/dist/artifacts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.json +15 -2
  23. package/dist/artifacts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.json +15 -2
  24. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +20 -49
  25. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +2 -2
  26. package/dist/artifacts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry.json +2 -2
  27. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +2 -2
  28. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +21 -2
  29. package/dist/artifacts/core/tokens/LeRAAC.sol/LiquidEscrowedRAAC.json +621 -0
  30. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +101 -74
  31. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +24 -322
  32. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +2 -2
  33. package/dist/artifacts/core/tokens/RWAIndexToken.sol/RWAIndexToken.json +66 -2
  34. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +79 -32
  35. package/dist/artifacts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.json +15 -2
  36. package/dist/artifacts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.json +15 -2
  37. package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +46 -2
  38. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +2 -2
  39. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
  40. package/dist/artifacts/zap/AladdinZap.sol/AladdinZap.json +398 -0
  41. package/dist/artifacts/zeno/Auction.sol/Auction.json +2 -2
  42. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +2 -2
  43. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +2 -2
  44. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +2 -2
  45. package/dist/configs/chains/11155111.json +72 -16
  46. package/dist/configs/chains/8453.json +40 -8
  47. package/dist/contracts/getContractAddress.js +3 -0
  48. package/dist/contracts/governance/distributor/claimAll.js +25 -0
  49. package/dist/contracts/governance/distributor/claimForGauge.js +26 -0
  50. package/dist/contracts/governance/distributor/deposit.js +12 -21
  51. package/dist/contracts/governance/distributor/getClaimableForGauge.js +29 -0
  52. package/dist/contracts/governance/distributor/getClaimedAtEpoch.js +30 -0
  53. package/dist/contracts/governance/distributor/getDepositedAtEpoch.js +30 -0
  54. package/dist/contracts/governance/distributor/getGaugeController.js +28 -0
  55. package/dist/contracts/governance/distributor/getLastClaimedEpoch.js +29 -0
  56. package/dist/contracts/governance/distributor/getPeriodDuration.js +28 -0
  57. package/dist/contracts/governance/distributor/{getRewardTokens.js → getRewardToken.js} +10 -9
  58. package/dist/contracts/governance/distributor/getRewardTokenInfo.js +9 -19
  59. package/dist/contracts/governance/distributor/getRewardTokenStats.js +30 -0
  60. package/dist/contracts/governance/{gaugeController/isGauge.js → distributor/getStartEpoch.js} +10 -10
  61. package/dist/contracts/governance/distributor/index.js +31 -17
  62. package/dist/contracts/governance/distributor/setController.js +26 -0
  63. package/dist/contracts/governance/distributor/withdrawRemovedGaugeRewards.js +27 -0
  64. package/dist/contracts/governance/distributor/withdrawUnallocatedRewards.js +26 -0
  65. package/dist/contracts/governance/gauge/addRewardToken.js +34 -0
  66. package/dist/contracts/governance/gauge/claimExtraReward.js +34 -0
  67. package/dist/contracts/governance/gauge/claimExtraRewards.js +33 -0
  68. package/dist/contracts/governance/gauge/claimOnBehalfOf.js +36 -0
  69. package/dist/contracts/governance/gauge/claimRewardToken.js +3 -4
  70. package/dist/contracts/governance/gauge/claimRewardsFor.js +34 -0
  71. package/dist/contracts/governance/gauge/depositRewardToken.js +35 -0
  72. package/dist/contracts/governance/gauge/getAllPendingExtraRewards.js +36 -0
  73. package/dist/contracts/governance/gauge/getControllerAddress.js +34 -0
  74. package/dist/contracts/governance/gauge/getDecimalAdjustment.js +35 -0
  75. package/dist/contracts/governance/gauge/getDepositRAACOnClaim.js +34 -0
  76. package/dist/contracts/governance/gauge/getDistributorData.js +36 -0
  77. package/dist/contracts/governance/gauge/getDistributors.js +34 -0
  78. package/dist/contracts/governance/gauge/getEarnedReward.js +11 -19
  79. package/dist/contracts/governance/gauge/getExtraRewardTokens.js +34 -0
  80. package/dist/contracts/governance/gauge/getGaugeRewardTokenData.js +44 -0
  81. package/dist/contracts/governance/gauge/getPendingExtraRewards.js +36 -0
  82. package/dist/contracts/governance/gauge/getPendingRewards.js +11 -19
  83. package/dist/contracts/governance/gauge/getRaacAutolockMin.js +34 -0
  84. package/dist/contracts/governance/gauge/getUserRewardTokenData.js +37 -0
  85. package/dist/contracts/governance/gauge/getUserWeight.js +35 -0
  86. package/dist/contracts/governance/gauge/index.js +53 -35
  87. package/dist/contracts/governance/gauge/isPaused.js +34 -0
  88. package/dist/contracts/governance/gauge/manageDistributor.js +35 -0
  89. package/dist/contracts/governance/gauge/setController.js +34 -0
  90. package/dist/contracts/governance/gauge/setDepositRAACOnClaim.js +34 -0
  91. package/dist/contracts/governance/gauge/setDistributorApproval.js +35 -0
  92. package/dist/contracts/governance/gauge/setEmergencyPaused.js +34 -0
  93. package/dist/contracts/governance/gauge/setGaugeRewardDistributor.js +34 -0
  94. package/dist/contracts/governance/gauge/setRaacAutolockMin.js +34 -0
  95. package/dist/contracts/governance/gauge/updateUserRewards.js +3 -2
  96. package/dist/contracts/governance/gaugeController/addGauge.js +24 -0
  97. package/dist/contracts/governance/gaugeController/batchVote.js +25 -0
  98. package/dist/contracts/governance/gaugeController/forceCompleteCheckpoint.js +24 -0
  99. package/dist/contracts/governance/gaugeController/getConstants.js +45 -0
  100. package/dist/contracts/governance/gaugeController/getCurrentEpoch.js +27 -0
  101. package/dist/contracts/governance/gaugeController/getGauge.js +29 -0
  102. package/dist/contracts/governance/gaugeController/getGaugeRelativeWeight.js +29 -0
  103. package/dist/contracts/governance/gaugeController/getGaugeRelativeWeightView.js +30 -0
  104. package/dist/contracts/governance/gaugeController/getLastVoteTime.js +29 -0
  105. package/dist/contracts/governance/gaugeController/getNextEpoch.js +27 -0
  106. package/dist/contracts/governance/gaugeController/getUserGaugeVotePower.js +29 -0
  107. package/dist/contracts/governance/gaugeController/getVeToken.js +27 -0
  108. package/dist/contracts/governance/gaugeController/getVoteUserPower.js +28 -0
  109. package/dist/contracts/governance/gaugeController/getVoteUserSlope.js +30 -0
  110. package/dist/contracts/governance/gaugeController/index.js +43 -23
  111. package/dist/contracts/governance/gaugeController/isPaused.js +27 -0
  112. package/dist/contracts/governance/gaugeController/kick.js +24 -0
  113. package/dist/contracts/governance/gaugeController/removeGauge.js +24 -0
  114. package/dist/contracts/governance/gaugeController/removePowerFromGauge.js +24 -0
  115. package/dist/contracts/governance/gaugeController/setBoostAmplificationEnabled.js +25 -0
  116. package/dist/contracts/governance/gaugeController/setEmergencyGaugePause.js +25 -0
  117. package/dist/contracts/governance/gaugeController/setEmergencyPause.js +24 -0
  118. package/dist/contracts/lockers/botLocker/_helpers.js +19 -0
  119. package/dist/contracts/lockers/botLocker/claim.js +16 -0
  120. package/dist/contracts/lockers/botLocker/getClaimable.js +12 -0
  121. package/dist/contracts/lockers/botLocker/getClaimables.js +16 -0
  122. package/dist/contracts/lockers/botLocker/getClaimedRewards.js +13 -0
  123. package/dist/contracts/lockers/botLocker/getLockedTokenIds.js +10 -0
  124. package/dist/contracts/lockers/botLocker/getLocks.js +27 -0
  125. package/dist/contracts/lockers/botLocker/getRewardTokenCount.js +10 -0
  126. package/dist/contracts/lockers/botLocker/getRewardTokens.js +9 -0
  127. package/dist/contracts/lockers/botLocker/lock.js +17 -0
  128. package/dist/contracts/lockers/botLocker/unlock.js +20 -0
  129. package/dist/contracts/lockers/botLocker/unlockAndClaim.js +16 -0
  130. package/dist/contracts/lockers/liquidLocker/_helpers.js +19 -0
  131. package/dist/contracts/lockers/liquidLocker/borrow.js +17 -0
  132. package/dist/contracts/lockers/liquidLocker/deposit.js +17 -0
  133. package/dist/contracts/lockers/liquidLocker/donate.js +16 -0
  134. package/dist/contracts/lockers/liquidLocker/getConfig.js +52 -0
  135. package/dist/contracts/lockers/liquidLocker/getGlobalInfo.js +39 -0
  136. package/dist/contracts/lockers/liquidLocker/getUserInfo.js +28 -0
  137. package/dist/contracts/lockers/liquidLocker/getUserLocks.js +26 -0
  138. package/dist/contracts/lockers/liquidLocker/harvest.js +17 -0
  139. package/dist/contracts/lockers/liquidLocker/isKeeper.js +9 -0
  140. package/dist/contracts/lockers/liquidLocker/processVaultExpiredLocks.js +17 -0
  141. package/dist/contracts/lockers/liquidLocker/repay.js +17 -0
  142. package/dist/contracts/lockers/liquidLocker/requestUnlock.js +17 -0
  143. package/dist/contracts/lockers/liquidLocker/voteGauge.js +17 -0
  144. package/dist/contracts/lockers/liquidLocker/voteGovernance.js +16 -0
  145. package/dist/contracts/lockers/liquidLocker/withdrawUnlocked.js +16 -0
  146. package/dist/contracts/lockers/maturityVault/_helpers.js +19 -0
  147. package/dist/contracts/lockers/maturityVault/claim.js +16 -0
  148. package/dist/contracts/lockers/maturityVault/deposit.js +17 -0
  149. package/dist/contracts/lockers/maturityVault/depositFor.js +16 -0
  150. package/dist/contracts/lockers/maturityVault/distribute.js +17 -0
  151. package/dist/contracts/lockers/maturityVault/exit.js +16 -0
  152. package/dist/contracts/lockers/maturityVault/getConfig.js +26 -0
  153. package/dist/contracts/lockers/maturityVault/getGlobalInfo.js +45 -0
  154. package/dist/contracts/lockers/maturityVault/getUserInfo.js +18 -0
  155. package/dist/contracts/lockers/maturityVault/harvest.js +17 -0
  156. package/dist/contracts/lockers/maturityVault/isWhitelisted.js +9 -0
  157. package/dist/contracts/lockers/maturityVault/updatePendingDistribution.js +16 -0
  158. package/dist/contracts/lockers/maturityVault/withdraw.js +16 -0
  159. package/dist/contracts/lockers/maturityVault/withdrawAll.js +16 -0
  160. package/dist/contracts/tokens/leRAAC/_helpers.js +19 -0
  161. package/dist/contracts/tokens/leRAAC/approve.js +13 -0
  162. package/dist/contracts/tokens/leRAAC/burn.js +16 -0
  163. package/dist/contracts/tokens/leRAAC/burnFrom.js +16 -0
  164. package/dist/contracts/tokens/leRAAC/getAllowance.js +11 -0
  165. package/dist/contracts/tokens/leRAAC/getBalance.js +11 -0
  166. package/dist/contracts/tokens/leRAAC/getMinterInfo.js +15 -0
  167. package/dist/contracts/tokens/leRAAC/getTotalSupply.js +11 -0
  168. package/dist/contracts/tokens/leRAAC/transfer.js +13 -0
  169. package/dist/contracts/tokens/leRAAC/transferFrom.js +13 -0
  170. package/dist/contracts/zap/aladdin/_helpers.js +19 -0
  171. package/dist/contracts/zap/aladdin/_types.js +38 -0
  172. package/dist/contracts/zap/aladdin/decodeRoute.js +36 -0
  173. package/dist/contracts/zap/aladdin/encodeRoute.js +34 -0
  174. package/dist/contracts/zap/aladdin/getCurvePoolToken.js +13 -0
  175. package/dist/contracts/zap/aladdin/getOwner.js +9 -0
  176. package/dist/contracts/zap/aladdin/getPool2Token.js +12 -0
  177. package/dist/contracts/zap/aladdin/getRoutes.js +16 -0
  178. package/dist/contracts/zap/aladdin/getVersion.js +9 -0
  179. package/dist/contracts/zap/aladdin/rescue.js +16 -0
  180. package/dist/contracts/zap/aladdin/updatePoolTokens.js +19 -0
  181. package/dist/contracts/zap/aladdin/updateRoute.js +31 -0
  182. package/dist/contracts/zap/aladdin/validateRoute.js +80 -0
  183. package/dist/contracts/zap/aladdin/zap.js +18 -0
  184. package/dist/contracts/zap/aladdin/zapFrom.js +18 -0
  185. package/dist/contracts/zap/aladdin/zapWithRoutes.js +28 -0
  186. package/dist/contracts/zap/codec.js +423 -0
  187. package/dist/minter/_helpers.js +19 -0
  188. package/dist/minter/activate.js +18 -0
  189. package/dist/minter/addDistributionPool.js +17 -0
  190. package/dist/minter/calculateScheduledMintableAmount.js +14 -0
  191. package/dist/minter/get.js +44 -112
  192. package/dist/minter/getApy.js +55 -19
  193. package/dist/minter/getDistributionPools.js +39 -0
  194. package/dist/minter/getEmissionPerSecond.js +25 -0
  195. package/dist/minter/getPoolInfo.js +23 -0
  196. package/dist/minter/isPaused.js +9 -0
  197. package/dist/minter/manageDistributionPool.js +18 -0
  198. package/dist/minter/pause.js +24 -0
  199. package/dist/minter/removeDistributionPool.js +20 -0
  200. package/dist/minter/tick.js +12 -24
  201. package/dist/types/RPCLibrary.d.ts +177 -64
  202. package/dist/types/contracts/governance/distributor/claimAll.d.ts +11 -0
  203. package/dist/types/contracts/governance/distributor/claimForGauge.d.ts +12 -0
  204. package/dist/types/contracts/governance/distributor/deposit.d.ts +6 -7
  205. package/dist/types/contracts/governance/distributor/getClaimableForGauge.d.ts +11 -0
  206. package/dist/types/contracts/governance/distributor/getClaimedAtEpoch.d.ts +12 -0
  207. package/dist/types/contracts/governance/distributor/getDepositedAtEpoch.d.ts +12 -0
  208. package/dist/types/contracts/governance/distributor/getGaugeController.d.ts +10 -0
  209. package/dist/types/contracts/governance/distributor/getLastClaimedEpoch.d.ts +11 -0
  210. package/dist/types/contracts/governance/distributor/getPeriodDuration.d.ts +10 -0
  211. package/dist/types/contracts/governance/distributor/{getRewardTokens.d.ts → getRewardToken.d.ts} +3 -3
  212. package/dist/types/contracts/governance/distributor/getRewardTokenInfo.d.ts +8 -10
  213. package/dist/types/contracts/governance/distributor/getRewardTokenStats.d.ts +15 -0
  214. package/dist/types/contracts/governance/distributor/getStartEpoch.d.ts +10 -0
  215. package/dist/types/contracts/governance/distributor/index.d.ts +16 -8
  216. package/dist/types/contracts/governance/distributor/setController.d.ts +12 -0
  217. package/dist/types/contracts/governance/distributor/withdrawRemovedGaugeRewards.d.ts +13 -0
  218. package/dist/types/contracts/governance/distributor/withdrawUnallocatedRewards.d.ts +12 -0
  219. package/dist/types/contracts/governance/gauge/addRewardToken.d.ts +10 -0
  220. package/dist/types/contracts/governance/gauge/claimExtraReward.d.ts +10 -0
  221. package/dist/types/contracts/governance/gauge/claimExtraRewards.d.ts +9 -0
  222. package/dist/types/contracts/governance/gauge/claimOnBehalfOf.d.ts +12 -0
  223. package/dist/types/contracts/governance/gauge/claimRewardToken.d.ts +1 -2
  224. package/dist/types/contracts/governance/gauge/claimRewardsFor.d.ts +10 -0
  225. package/dist/types/contracts/governance/gauge/depositRewardToken.d.ts +11 -0
  226. package/dist/types/contracts/governance/gauge/getAllPendingExtraRewards.d.ts +13 -0
  227. package/dist/types/contracts/governance/gauge/getControllerAddress.d.ts +9 -0
  228. package/dist/types/contracts/governance/gauge/getDecimalAdjustment.d.ts +10 -0
  229. package/dist/types/contracts/governance/gauge/getDepositRAACOnClaim.d.ts +9 -0
  230. package/dist/types/contracts/governance/gauge/getDistributorData.d.ts +13 -0
  231. package/dist/types/contracts/governance/gauge/{getRewardTokens.d.ts → getDistributors.d.ts} +3 -5
  232. package/dist/types/contracts/governance/gauge/getEarnedReward.d.ts +4 -5
  233. package/dist/types/contracts/governance/gauge/getExtraRewardTokens.d.ts +9 -0
  234. package/dist/types/contracts/governance/gauge/getGaugeRewardTokenData.d.ts +18 -0
  235. package/dist/types/contracts/governance/gauge/getPendingExtraRewards.d.ts +11 -0
  236. package/dist/types/contracts/governance/gauge/getPendingRewards.d.ts +4 -5
  237. package/dist/types/contracts/governance/gauge/getRaacAutolockMin.d.ts +9 -0
  238. package/dist/types/contracts/governance/gauge/getUserRewardTokenData.d.ts +17 -0
  239. package/dist/types/contracts/governance/gauge/getUserWeight.d.ts +10 -0
  240. package/dist/types/contracts/governance/gauge/index.d.ts +38 -17
  241. package/dist/types/contracts/governance/gauge/isPaused.d.ts +9 -0
  242. package/dist/types/contracts/governance/gauge/manageDistributor.d.ts +11 -0
  243. package/dist/types/contracts/governance/gauge/setController.d.ts +10 -0
  244. package/dist/types/contracts/governance/gauge/setDepositRAACOnClaim.d.ts +10 -0
  245. package/dist/types/contracts/governance/gauge/setDistributorApproval.d.ts +11 -0
  246. package/dist/types/contracts/governance/gauge/setEmergencyPaused.d.ts +10 -0
  247. package/dist/types/contracts/governance/gauge/setGaugeRewardDistributor.d.ts +10 -0
  248. package/dist/types/contracts/governance/gauge/setRaacAutolockMin.d.ts +10 -0
  249. package/dist/types/contracts/governance/gauge/updateUserRewards.d.ts +2 -1
  250. package/dist/types/contracts/governance/gaugeController/addGauge.d.ts +10 -0
  251. package/dist/types/contracts/governance/gaugeController/batchVote.d.ts +11 -0
  252. package/dist/types/contracts/governance/gaugeController/forceCompleteCheckpoint.d.ts +10 -0
  253. package/dist/types/contracts/governance/gaugeController/getConstants.d.ts +18 -0
  254. package/dist/types/contracts/governance/gaugeController/getCurrentEpoch.d.ts +9 -0
  255. package/dist/types/contracts/governance/gaugeController/getGauge.d.ts +15 -0
  256. package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeight.d.ts +15 -0
  257. package/dist/types/contracts/governance/gaugeController/getGaugeRelativeWeightView.d.ts +14 -0
  258. package/dist/types/contracts/governance/gaugeController/getLastVoteTime.d.ts +11 -0
  259. package/dist/types/contracts/governance/gaugeController/getNextEpoch.d.ts +9 -0
  260. package/dist/types/contracts/governance/gaugeController/getUserGaugeVotePower.d.ts +11 -0
  261. package/dist/types/contracts/governance/gaugeController/getVeToken.d.ts +9 -0
  262. package/dist/types/contracts/governance/gaugeController/getVoteUserPower.d.ts +10 -0
  263. package/dist/types/contracts/governance/gaugeController/getVoteUserSlope.d.ts +15 -0
  264. package/dist/types/contracts/governance/gaugeController/index.d.ts +28 -11
  265. package/dist/types/contracts/governance/gaugeController/isPaused.d.ts +9 -0
  266. package/dist/types/contracts/governance/gaugeController/kick.d.ts +10 -0
  267. package/dist/types/contracts/governance/gaugeController/removeGauge.d.ts +10 -0
  268. package/dist/types/contracts/governance/gaugeController/removePowerFromGauge.d.ts +10 -0
  269. package/dist/types/contracts/governance/gaugeController/setBoostAmplificationEnabled.d.ts +11 -0
  270. package/dist/types/contracts/governance/gaugeController/setEmergencyGaugePause.d.ts +11 -0
  271. package/dist/types/contracts/governance/gaugeController/setEmergencyPause.d.ts +10 -0
  272. package/dist/types/contracts/lockers/botLocker/_helpers.d.ts +4 -0
  273. package/dist/types/contracts/lockers/botLocker/claim.d.ts +6 -0
  274. package/dist/types/contracts/lockers/botLocker/getClaimable.d.ts +6 -0
  275. package/dist/types/contracts/lockers/botLocker/getClaimables.d.ts +10 -0
  276. package/dist/types/contracts/lockers/botLocker/getClaimedRewards.d.ts +7 -0
  277. package/dist/types/contracts/lockers/botLocker/getLockedTokenIds.d.ts +3 -0
  278. package/dist/types/contracts/lockers/botLocker/getLocks.d.ts +15 -0
  279. package/dist/types/contracts/lockers/botLocker/getRewardTokenCount.d.ts +3 -0
  280. package/dist/types/contracts/lockers/botLocker/getRewardTokens.d.ts +3 -0
  281. package/dist/types/contracts/lockers/botLocker/lock.d.ts +7 -0
  282. package/dist/types/contracts/lockers/botLocker/unlock.d.ts +10 -0
  283. package/dist/types/contracts/lockers/botLocker/unlockAndClaim.d.ts +6 -0
  284. package/dist/types/contracts/lockers/liquidLocker/_helpers.d.ts +4 -0
  285. package/dist/types/contracts/lockers/liquidLocker/borrow.d.ts +7 -0
  286. package/dist/types/contracts/lockers/liquidLocker/deposit.d.ts +7 -0
  287. package/dist/types/contracts/lockers/liquidLocker/donate.d.ts +6 -0
  288. package/dist/types/contracts/lockers/liquidLocker/getConfig.d.ts +27 -0
  289. package/dist/types/contracts/lockers/liquidLocker/getGlobalInfo.d.ts +24 -0
  290. package/dist/types/contracts/lockers/liquidLocker/getUserInfo.d.ts +21 -0
  291. package/dist/types/contracts/lockers/liquidLocker/getUserLocks.d.ts +17 -0
  292. package/dist/types/contracts/lockers/liquidLocker/harvest.d.ts +7 -0
  293. package/dist/types/contracts/lockers/liquidLocker/isKeeper.d.ts +3 -0
  294. package/dist/types/contracts/lockers/liquidLocker/processVaultExpiredLocks.d.ts +7 -0
  295. package/dist/types/contracts/lockers/liquidLocker/repay.d.ts +7 -0
  296. package/dist/types/contracts/lockers/liquidLocker/requestUnlock.d.ts +7 -0
  297. package/dist/types/contracts/lockers/liquidLocker/voteGauge.d.ts +7 -0
  298. package/dist/types/contracts/lockers/liquidLocker/voteGovernance.d.ts +6 -0
  299. package/dist/types/contracts/lockers/liquidLocker/withdrawUnlocked.d.ts +6 -0
  300. package/dist/types/contracts/lockers/maturityVault/_helpers.d.ts +4 -0
  301. package/dist/types/contracts/lockers/maturityVault/claim.d.ts +6 -0
  302. package/dist/types/contracts/lockers/maturityVault/deposit.d.ts +7 -0
  303. package/dist/types/contracts/lockers/maturityVault/depositFor.d.ts +6 -0
  304. package/dist/types/contracts/lockers/maturityVault/distribute.d.ts +7 -0
  305. package/dist/types/contracts/lockers/maturityVault/exit.d.ts +6 -0
  306. package/dist/types/contracts/lockers/maturityVault/getConfig.d.ts +12 -0
  307. package/dist/types/contracts/lockers/maturityVault/getGlobalInfo.d.ts +32 -0
  308. package/dist/types/contracts/lockers/maturityVault/getUserInfo.d.ts +14 -0
  309. package/dist/types/contracts/lockers/maturityVault/harvest.d.ts +6 -0
  310. package/dist/types/contracts/lockers/maturityVault/isWhitelisted.d.ts +3 -0
  311. package/dist/types/contracts/lockers/maturityVault/updatePendingDistribution.d.ts +6 -0
  312. package/dist/types/contracts/lockers/maturityVault/withdraw.d.ts +6 -0
  313. package/dist/types/contracts/lockers/maturityVault/withdrawAll.d.ts +6 -0
  314. package/dist/types/contracts/tokens/leRAAC/_helpers.d.ts +4 -0
  315. package/dist/types/contracts/tokens/leRAAC/approve.d.ts +3 -0
  316. package/dist/types/contracts/tokens/leRAAC/burn.d.ts +6 -0
  317. package/dist/types/contracts/tokens/leRAAC/burnFrom.d.ts +6 -0
  318. package/dist/types/contracts/tokens/leRAAC/getAllowance.d.ts +3 -0
  319. package/dist/types/contracts/tokens/leRAAC/getBalance.d.ts +3 -0
  320. package/dist/types/contracts/tokens/leRAAC/getMinterInfo.d.ts +8 -0
  321. package/dist/types/contracts/tokens/leRAAC/getTotalSupply.d.ts +3 -0
  322. package/dist/types/contracts/tokens/leRAAC/transfer.d.ts +3 -0
  323. package/dist/types/contracts/tokens/leRAAC/transferFrom.d.ts +3 -0
  324. package/dist/types/contracts/zap/aladdin/_helpers.d.ts +4 -0
  325. package/dist/types/contracts/zap/aladdin/_types.d.ts +44 -0
  326. package/dist/types/contracts/zap/aladdin/decodeRoute.d.ts +14 -0
  327. package/dist/types/contracts/zap/aladdin/encodeRoute.d.ts +18 -0
  328. package/dist/types/contracts/zap/aladdin/getCurvePoolToken.d.ts +8 -0
  329. package/dist/types/contracts/zap/aladdin/getOwner.d.ts +3 -0
  330. package/dist/types/contracts/zap/aladdin/getPool2Token.d.ts +6 -0
  331. package/dist/types/contracts/zap/aladdin/getRoutes.d.ts +13 -0
  332. package/dist/types/contracts/zap/aladdin/getVersion.d.ts +3 -0
  333. package/dist/types/contracts/zap/aladdin/rescue.d.ts +6 -0
  334. package/dist/types/contracts/zap/aladdin/updatePoolTokens.d.ts +6 -0
  335. package/dist/types/contracts/zap/aladdin/updateRoute.d.ts +13 -0
  336. package/dist/types/contracts/zap/aladdin/validateRoute.d.ts +26 -0
  337. package/dist/types/contracts/zap/aladdin/zap.d.ts +8 -0
  338. package/dist/types/contracts/zap/aladdin/zapFrom.d.ts +8 -0
  339. package/dist/types/contracts/zap/aladdin/zapWithRoutes.d.ts +11 -0
  340. package/dist/types/contracts/zap/codec.d.ts +36 -0
  341. package/dist/types/minter/_helpers.d.ts +4 -0
  342. package/dist/types/minter/activate.d.ts +8 -0
  343. package/dist/types/minter/addDistributionPool.d.ts +7 -0
  344. package/dist/types/minter/calculateScheduledMintableAmount.d.ts +8 -0
  345. package/dist/types/minter/get.d.ts +28 -16
  346. package/dist/types/minter/getApy.d.ts +19 -2
  347. package/dist/types/minter/getDistributionPools.d.ts +16 -0
  348. package/dist/types/minter/getEmissionPerSecond.d.ts +8 -0
  349. package/dist/types/minter/getPoolInfo.d.ts +13 -0
  350. package/dist/types/minter/isPaused.d.ts +3 -0
  351. package/dist/types/minter/manageDistributionPool.d.ts +8 -0
  352. package/dist/types/minter/pause.d.ts +6 -0
  353. package/dist/types/minter/removeDistributionPool.d.ts +10 -0
  354. package/dist/types/minter/tick.d.ts +7 -3
  355. package/dist/types/typechain-types/@openzeppelin/{contracts-v3/token/ERC20/IERC20.d.ts → contracts/token/ERC20/extensions/ERC20Capped.d.ts} +34 -18
  356. package/dist/types/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +1 -0
  357. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/index.d.ts +2 -0
  358. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.d.ts +155 -0
  359. package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC20/index.d.ts +1 -0
  360. package/dist/types/typechain-types/@openzeppelin/index.d.ts +0 -2
  361. package/dist/types/typechain-types/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.d.ts +15 -1
  362. package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +1 -25
  363. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +1 -13
  364. package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +1 -25
  365. package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +1 -25
  366. package/dist/types/typechain-types/contracts/core/lockers/RAACLiquidLocker.d.ts +101 -171
  367. package/dist/types/typechain-types/contracts/core/lockers/RAACMaturityVault.d.ts +5 -38
  368. package/dist/types/typechain-types/contracts/core/minters/RAACMinter/RAACMinter.d.ts +58 -418
  369. package/dist/types/typechain-types/contracts/core/oracles/BaseVRFv2Consumer.d.ts +108 -2
  370. package/dist/types/typechain-types/contracts/core/oracles/KYCVerifyModule.sol/IKYCVerifyModule.d.ts +25 -0
  371. package/dist/types/typechain-types/{@openzeppelin/contracts-v3/access/Ownable.d.ts → contracts/core/oracles/KYCVerifyModule.sol/KYCVerifyModule.d.ts} +10 -6
  372. package/dist/types/typechain-types/contracts/core/oracles/KYCVerifyModule.sol/index.d.ts +2 -0
  373. package/dist/types/typechain-types/contracts/core/oracles/PmUSDToUSDOracle.d.ts +338 -0
  374. package/dist/types/typechain-types/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle.d.ts +60 -4
  375. package/dist/types/typechain-types/contracts/core/oracles/ZkMeKYCVerifyModule.sol/ZKMEKYCVerifyModule.d.ts +110 -0
  376. package/dist/types/typechain-types/contracts/core/oracles/ZkMeKYCVerifyModule.sol/index.d.ts +1 -0
  377. package/dist/types/typechain-types/contracts/core/oracles/index.d.ts +5 -0
  378. package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.d.ts +15 -1
  379. package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.d.ts +15 -1
  380. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +9 -23
  381. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +8 -4
  382. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +8 -4
  383. package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +8 -4
  384. package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationSwap.d.ts +70 -1
  385. package/dist/types/typechain-types/contracts/core/tokens/DEToken.d.ts +16 -1
  386. package/dist/types/typechain-types/contracts/core/tokens/LeRAAC.sol/LiquidEscrowedRAAC.d.ts +3 -3
  387. package/dist/types/typechain-types/contracts/core/tokens/RAACNFT.d.ts +65 -50
  388. package/dist/types/typechain-types/contracts/core/tokens/RAACToken.d.ts +6 -191
  389. package/dist/types/typechain-types/contracts/core/tokens/RWAIndexToken.d.ts +62 -1
  390. package/dist/types/typechain-types/contracts/core/tokens/SToken.d.ts +804 -0
  391. package/dist/types/typechain-types/contracts/core/tokens/index.d.ts +1 -0
  392. package/dist/types/typechain-types/contracts/core/vaults/ERC20VaultAdapter.d.ts +15 -1
  393. package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.d.ts +15 -1
  394. package/dist/types/typechain-types/contracts/core/vaults/RAACNFTVaultAdapterV2.d.ts +15 -1
  395. package/dist/types/typechain-types/contracts/core/vaults/RWAVault.d.ts +28 -2
  396. package/dist/types/typechain-types/contracts/index.d.ts +2 -0
  397. package/dist/types/typechain-types/contracts/interfaces/IZap.d.ts +15 -1
  398. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +1 -25
  399. package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRaacLiquidLocker.d.ts +30 -37
  400. package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/IRAACMinter.d.ts +68 -205
  401. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IBaseVRFv2Consumer.d.ts +100 -2
  402. package/dist/types/typechain-types/contracts/interfaces/core/oracles/IZKMEVerifyUpgradeable.d.ts +15 -1
  403. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +1 -19
  404. package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/ILiquidationSwap.d.ts +70 -1
  405. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDEToken.d.ts +16 -1
  406. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRAACNFT.d.ts +36 -25
  407. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRAACToken.d.ts +2 -179
  408. package/dist/types/typechain-types/contracts/interfaces/core/tokens/ISToken.d.ts +454 -0
  409. package/dist/types/typechain-types/contracts/interfaces/core/tokens/index.d.ts +1 -0
  410. package/dist/types/typechain-types/contracts/interfaces/core/vaults/IBaseHybridVault.d.ts +15 -1
  411. package/dist/types/typechain-types/contracts/interfaces/core/vaults/IVaultAssetAdapter.d.ts +19 -3
  412. package/dist/types/typechain-types/contracts/interfaces/curve/ICurveCrvUSDVault.d.ts +47 -1
  413. package/dist/types/typechain-types/contracts/mocks/core/curve/CurveCrvUSDVaultMock.d.ts +47 -1
  414. package/dist/types/typechain-types/contracts/mocks/core/index.d.ts +2 -0
  415. package/dist/types/typechain-types/contracts/mocks/core/minters/MockRAACMinterRewardsReceiver.d.ts +181 -0
  416. package/dist/types/typechain-types/contracts/mocks/core/minters/index.d.ts +1 -0
  417. package/dist/types/typechain-types/contracts/mocks/core/oracles/MockZKMEVerifyUpgradeable.d.ts +15 -1
  418. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +1 -19
  419. package/dist/types/typechain-types/contracts/mocks/core/tokens/MockFeeOnTransferToken.d.ts +163 -0
  420. package/dist/types/typechain-types/contracts/mocks/core/tokens/index.d.ts +1 -0
  421. package/dist/types/typechain-types/contracts/mocks/libraries/index.d.ts +2 -0
  422. package/dist/types/typechain-types/contracts/mocks/libraries/minters/EmissionScheduleMock.d.ts +91 -0
  423. package/dist/types/typechain-types/contracts/mocks/libraries/minters/index.d.ts +1 -0
  424. package/dist/types/typechain-types/contracts/rwaf/ChainlinkOracleAdapter.sol/ChainlinkOracleAdapter.d.ts +212 -0
  425. package/dist/types/typechain-types/contracts/rwaf/ChainlinkOracleAdapter.sol/IRWACoordinator.d.ts +67 -0
  426. package/dist/types/typechain-types/contracts/rwaf/ChainlinkOracleAdapter.sol/index.d.ts +2 -0
  427. package/dist/types/typechain-types/contracts/rwaf/TokenBlender.sol/ITokenBlender.d.ts +331 -0
  428. package/dist/types/typechain-types/contracts/rwaf/TokenBlender.sol/TokenBlender.d.ts +671 -0
  429. package/dist/types/typechain-types/contracts/rwaf/TokenBlender.sol/index.d.ts +2 -0
  430. package/dist/types/typechain-types/contracts/rwaf/index.d.ts +4 -0
  431. package/dist/types/typechain-types/contracts/zap/AladdinZap.d.ts +15 -1
  432. package/dist/types/typechain-types/contracts/zap/index.d.ts +0 -2
  433. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/functions/v1_0_0/libraries/FunctionsRequest__factory.d.ts +1 -1
  434. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwnerWithProposal__factory.d.ts +1 -1
  435. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner__factory.d.ts +1 -1
  436. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/libraries/VRFV2PlusClient__factory.d.ts +1 -1
  437. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/mocks/VRFCoordinatorV2_5Mock__factory.d.ts +1 -1
  438. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped__factory.d.ts +271 -0
  439. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts +1 -0
  440. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
  441. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +1 -1
  442. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts +1 -1
  443. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
  444. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -1
  445. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  446. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/MerkleProof__factory.d.ts +1 -1
  447. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  448. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.d.ts +1 -0
  449. package/dist/types/typechain-types/factories/@openzeppelin/{contracts-v3/token/ERC20/IERC20__factory.d.ts → contracts-upgradeable/token/ERC20/ERC20Upgradeable__factory.d.ts} +122 -10
  450. package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC20/index.d.ts +1 -0
  451. package/dist/types/typechain-types/factories/@openzeppelin/index.d.ts +0 -1
  452. package/dist/types/typechain-types/factories/contracts/core/collectors/ERC20Collector__factory.d.ts +1 -1
  453. package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +1 -1
  454. package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector__factory.d.ts +11 -1
  455. package/dist/types/typechain-types/factories/contracts/core/collectors/RAACTokenCollector__factory.d.ts +1 -1
  456. package/dist/types/typechain-types/factories/contracts/core/collectors/RWAIndexTokenCollector__factory.d.ts +1 -1
  457. package/dist/types/typechain-types/factories/contracts/core/collectors/Treasury__factory.d.ts +1 -1
  458. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +0 -20
  459. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +1 -17
  460. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +1 -1
  461. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +1 -21
  462. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +1 -21
  463. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoostProxy__factory.d.ts +1 -1
  464. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoost__factory.d.ts +1 -1
  465. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/Governance__factory.d.ts +1 -1
  466. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/TimelockController__factory.d.ts +1 -1
  467. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACBotLocker__factory.d.ts +1 -1
  468. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACLiquidLocker__factory.d.ts +129 -197
  469. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACMaturityVault__factory.d.ts +11 -51
  470. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACNFTLocker__factory.d.ts +1 -1
  471. package/dist/types/typechain-types/factories/contracts/core/minters/RAACMinter/RAACMinter__factory.d.ts +28 -557
  472. package/dist/types/typechain-types/factories/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator__factory.d.ts +1 -1
  473. package/dist/types/typechain-types/factories/contracts/core/oracles/BaseVRFv2Consumer__factory.d.ts +81 -1
  474. package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle__factory.d.ts +1 -1
  475. package/dist/types/typechain-types/factories/contracts/core/oracles/KYCVerifyModule.sol/IKYCVerifyModule__factory.d.ts +25 -0
  476. package/dist/types/typechain-types/factories/{@openzeppelin/contracts-v3/access/Ownable__factory.d.ts → contracts/core/oracles/KYCVerifyModule.sol/KYCVerifyModule__factory.d.ts} +38 -4
  477. package/dist/types/typechain-types/factories/contracts/core/oracles/KYCVerifyModule.sol/index.d.ts +2 -0
  478. package/dist/types/typechain-types/factories/contracts/core/oracles/PmUSDToUSDOracle__factory.d.ts +443 -0
  479. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACHousePriceOracle__factory.d.ts +1 -1
  480. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +1 -1
  481. package/dist/types/typechain-types/factories/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle__factory.d.ts +97 -3
  482. package/dist/types/typechain-types/factories/contracts/core/oracles/ZkMeKYCVerifyModule.sol/ZKMEKYCVerifyModule__factory.d.ts +181 -0
  483. package/dist/types/typechain-types/factories/contracts/core/oracles/ZkMeKYCVerifyModule.sol/index.d.ts +1 -0
  484. package/dist/types/typechain-types/factories/contracts/core/oracles/crvUSDPriceOracle.sol/CrvUSDPriceOracle__factory.d.ts +1 -1
  485. package/dist/types/typechain-types/factories/contracts/core/oracles/index.d.ts +3 -0
  486. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter__factory.d.ts +11 -1
  487. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter__factory.d.ts +11 -1
  488. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +9 -5
  489. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +9 -31
  490. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +9 -5
  491. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +9 -5
  492. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +1 -1
  493. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationSwap__factory.d.ts +62 -3
  494. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPoolStorage__factory.d.ts +1 -1
  495. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +1 -1
  496. package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry__factory.d.ts +1 -1
  497. package/dist/types/typechain-types/factories/contracts/core/primitives/RAACHousePrices__factory.d.ts +1 -1
  498. package/dist/types/typechain-types/factories/contracts/core/tokens/DEToken__factory.d.ts +16 -1
  499. package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +1 -1
  500. package/dist/types/typechain-types/factories/contracts/core/tokens/LPToken__factory.d.ts +1 -1
  501. package/dist/types/typechain-types/factories/contracts/core/tokens/LeRAAC.sol/LiquidEscrowedRAAC__factory.d.ts +7 -3
  502. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACNFT__factory.d.ts +79 -58
  503. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACToken__factory.d.ts +21 -252
  504. package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +1 -1
  505. package/dist/types/typechain-types/factories/contracts/core/tokens/RWAIndexToken__factory.d.ts +51 -1
  506. package/dist/types/typechain-types/factories/contracts/core/tokens/SToken__factory.d.ts +1153 -0
  507. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +1 -1
  508. package/dist/types/typechain-types/factories/contracts/core/tokens/index.d.ts +1 -0
  509. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC20VaultAdapter__factory.d.ts +11 -1
  510. package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter__factory.d.ts +11 -1
  511. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapterOracle.sol/RAACNFTVaultAdapterOracle__factory.d.ts +1 -1
  512. package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapterV2__factory.d.ts +11 -1
  513. package/dist/types/typechain-types/factories/contracts/core/vaults/RWAVault__factory.d.ts +35 -1
  514. package/dist/types/typechain-types/factories/contracts/index.d.ts +1 -0
  515. package/dist/types/typechain-types/factories/contracts/interfaces/IZap__factory.d.ts +18 -0
  516. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +0 -20
  517. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRaacLiquidLocker__factory.d.ts +26 -29
  518. package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/IRAACMinter__factory.d.ts +44 -230
  519. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IBaseVRFv2Consumer__factory.d.ts +70 -0
  520. package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IZKMEVerifyUpgradeable__factory.d.ts +18 -0
  521. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +0 -26
  522. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/ILiquidationSwap__factory.d.ts +55 -0
  523. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDEToken__factory.d.ts +15 -0
  524. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRAACNFT__factory.d.ts +28 -15
  525. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRAACToken__factory.d.ts +0 -219
  526. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/ISToken__factory.d.ts +564 -0
  527. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/index.d.ts +1 -0
  528. package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IBaseHybridVault__factory.d.ts +10 -0
  529. package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IVaultAssetAdapter__factory.d.ts +10 -0
  530. package/dist/types/typechain-types/factories/contracts/interfaces/curve/ICurveCrvUSDVault__factory.d.ts +66 -0
  531. package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
  532. package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +1 -1
  533. package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +1 -1
  534. package/dist/types/typechain-types/factories/contracts/libraries/governance/RagequitLib__factory.d.ts +1 -1
  535. package/dist/types/typechain-types/factories/contracts/libraries/governance/RewardLib__factory.d.ts +1 -1
  536. package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -1
  537. package/dist/types/typechain-types/factories/contracts/libraries/pools/LendingPoolFeeLibrary__factory.d.ts +1 -1
  538. package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
  539. package/dist/types/typechain-types/factories/contracts/libraries/utils/StringUtils__factory.d.ts +1 -1
  540. package/dist/types/typechain-types/factories/contracts/mocks/ERC20BurnableMock__factory.d.ts +1 -1
  541. package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockTreasury__factory.d.ts +1 -1
  542. package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockWETH__factory.d.ts +1 -1
  543. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveCrvUSDVaultMock__factory.d.ts +67 -1
  544. package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/CurveLiquidityGaugeV5Mock__factory.d.ts +1 -1
  545. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeController__factory.d.ts +1 -1
  546. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/libraries/LockManagerMock__factory.d.ts +1 -1
  547. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockPayableTestTarget__factory.d.ts +1 -1
  548. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockTestTarget__factory.d.ts +1 -1
  549. package/dist/types/typechain-types/factories/contracts/mocks/core/index.d.ts +1 -0
  550. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LLamaLocker.sol/LlamaLocker__factory.d.ts +1 -1
  551. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/MockLamaLocker__factory.d.ts +1 -1
  552. package/dist/types/typechain-types/factories/contracts/mocks/core/minters/MockRAACMinterRewardsReceiver__factory.d.ts +184 -0
  553. package/dist/types/typechain-types/factories/contracts/mocks/core/minters/index.d.ts +1 -0
  554. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockChainlinkAggregator__factory.d.ts +1 -1
  555. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockCurveEMA.sol/MockCurveEMA__factory.d.ts +1 -1
  556. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle__factory.d.ts +1 -1
  557. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter__factory.d.ts +1 -1
  558. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
  559. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockRAACNFTVaultAdapterNAVOracle__factory.d.ts +1 -1
  560. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockVRFCoordinatorV2__factory.d.ts +1 -1
  561. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockZKMEVerifyUpgradeable__factory.d.ts +19 -1
  562. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACHousePriceOracle__factory.d.ts +1 -1
  563. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +1 -1
  564. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/CurveStyleCrvUSDiRAACPool__factory.d.ts +1 -1
  565. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolCollector__factory.d.ts +1 -1
  566. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +1 -27
  567. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPool__factory.d.ts +1 -1
  568. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLiquidityPool__factory.d.ts +1 -1
  569. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockPool__factory.d.ts +1 -1
  570. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockStabilityPool__factory.d.ts +1 -1
  571. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/MockChainAnalysis__factory.d.ts +1 -1
  572. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContractWithConfig__factory.d.ts +1 -1
  573. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContract__factory.d.ts +1 -1
  574. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockDistributableContract__factory.d.ts +1 -1
  575. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/RAACHousePricesMock__factory.d.ts +1 -1
  576. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDTokenLimited__factory.d.ts +1 -1
  577. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDToken__factory.d.ts +1 -1
  578. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC20Mock__factory.d.ts +1 -1
  579. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC721Mock__factory.d.ts +1 -1
  580. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockCollectableUnderlying__factory.d.ts +1 -1
  581. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockFeeCollectorToken__factory.d.ts +1 -1
  582. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockFeeOnTransferToken__factory.d.ts +306 -0
  583. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockToken__factory.d.ts +1 -1
  584. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockUSDC__factory.d.ts +1 -1
  585. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/RAACMockERC20__factory.d.ts +1 -1
  586. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/index.d.ts +1 -0
  587. package/dist/types/typechain-types/factories/contracts/mocks/core/vaults/MockVault__factory.d.ts +1 -1
  588. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockStringUtils__factory.d.ts +1 -1
  589. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockTimeUtils__factory.d.ts +1 -1
  590. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +1 -1
  591. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +1 -1
  592. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RagequitHarness__factory.d.ts +1 -1
  593. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RewardIntegralCalculatorMock.sol/MockRewardIntegralCalculator__factory.d.ts +1 -1
  594. package/dist/types/typechain-types/factories/contracts/mocks/libraries/index.d.ts +1 -0
  595. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +1 -1
  596. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/WadRayMathMock__factory.d.ts +1 -1
  597. package/dist/types/typechain-types/factories/contracts/mocks/libraries/minters/EmissionScheduleMock__factory.d.ts +115 -0
  598. package/dist/types/typechain-types/factories/contracts/mocks/libraries/minters/index.d.ts +1 -0
  599. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation__factory.d.ts +1 -1
  600. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +1 -1
  601. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousDeposit__factory.d.ts +1 -1
  602. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousWithdraw__factory.d.ts +1 -1
  603. package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +1 -1
  604. package/dist/types/typechain-types/factories/contracts/rwaf/ChainlinkOracleAdapter.sol/ChainlinkOracleAdapter__factory.d.ts +295 -0
  605. package/dist/types/typechain-types/factories/contracts/rwaf/ChainlinkOracleAdapter.sol/IRWACoordinator__factory.d.ts +43 -0
  606. package/dist/types/typechain-types/factories/contracts/rwaf/ChainlinkOracleAdapter.sol/index.d.ts +2 -0
  607. package/dist/types/typechain-types/factories/contracts/rwaf/TokenBlender.sol/ITokenBlender__factory.d.ts +409 -0
  608. package/dist/types/typechain-types/factories/contracts/rwaf/TokenBlender.sol/TokenBlender__factory.d.ts +990 -0
  609. package/dist/types/typechain-types/factories/contracts/rwaf/TokenBlender.sol/index.d.ts +2 -0
  610. package/dist/types/typechain-types/factories/contracts/rwaf/index.d.ts +2 -0
  611. package/dist/types/typechain-types/factories/contracts/zap/AladdinZap__factory.d.ts +19 -1
  612. package/dist/types/typechain-types/factories/contracts/zap/index.d.ts +0 -2
  613. package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +1 -1
  614. package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +1 -1
  615. package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +1 -1
  616. package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +1 -1
  617. package/dist/types/typechain-types/index.d.ts +34 -8
  618. package/dist/types/utils/artifacts.d.ts +616 -95
  619. package/dist/utils/artifacts.js +16 -0
  620. package/dist/utils/contracts.js +1 -1
  621. package/package.json +1 -1
  622. package/dist/contracts/governance/distributor/getAvailableBalance.js +0 -29
  623. package/dist/contracts/governance/distributor/getGaugeRewardTokens.js +0 -28
  624. package/dist/contracts/governance/distributor/getTransferableBalance.js +0 -30
  625. package/dist/contracts/governance/distributor/isRewardTokenApproved.js +0 -29
  626. package/dist/contracts/governance/distributor/isTokenApproved.js +0 -29
  627. package/dist/contracts/governance/gauge/claimReward.js +0 -44
  628. package/dist/contracts/governance/gauge/getAllEarnedRewards.js +0 -51
  629. package/dist/contracts/governance/gauge/getAllPendingRewards.js +0 -41
  630. package/dist/contracts/governance/gauge/getRewardTokens.js +0 -41
  631. package/dist/contracts/governance/gauge/getUserGaugeVoteWeight.js +0 -42
  632. package/dist/contracts/governance/gauge/getWorkingBalance.js +0 -43
  633. package/dist/contracts/governance/gauge/syncRewardTokens.js +0 -51
  634. package/dist/contracts/governance/gaugeController/checkpoint.js +0 -33
  635. package/dist/contracts/governance/gaugeController/checkpointGauge.js +0 -34
  636. package/dist/contracts/governance/gaugeController/getUserGaugeVoteWeight.js +0 -30
  637. package/dist/tests/test.js +0 -32
  638. package/dist/types/contracts/governance/distributor/getAvailableBalance.d.ts +0 -11
  639. package/dist/types/contracts/governance/distributor/getGaugeRewardTokens.d.ts +0 -11
  640. package/dist/types/contracts/governance/distributor/getTransferableBalance.d.ts +0 -12
  641. package/dist/types/contracts/governance/distributor/isRewardTokenApproved.d.ts +0 -12
  642. package/dist/types/contracts/governance/distributor/isTokenApproved.d.ts +0 -11
  643. package/dist/types/contracts/governance/gauge/claimReward.d.ts +0 -11
  644. package/dist/types/contracts/governance/gauge/getAllEarnedRewards.d.ts +0 -17
  645. package/dist/types/contracts/governance/gauge/getAllPendingRewards.d.ts +0 -19
  646. package/dist/types/contracts/governance/gauge/getUserGaugeVoteWeight.d.ts +0 -14
  647. package/dist/types/contracts/governance/gauge/getWorkingBalance.d.ts +0 -12
  648. package/dist/types/contracts/governance/gauge/syncRewardTokens.d.ts +0 -13
  649. package/dist/types/contracts/governance/gaugeController/checkpoint.d.ts +0 -11
  650. package/dist/types/contracts/governance/gaugeController/checkpointGauge.d.ts +0 -12
  651. package/dist/types/contracts/governance/gaugeController/getUserGaugeVoteWeight.d.ts +0 -12
  652. package/dist/types/contracts/governance/gaugeController/isGauge.d.ts +0 -11
  653. package/dist/types/tests/test.d.ts +0 -1
  654. package/dist/types/typechain-types/@openzeppelin/contracts-v3/access/index.d.ts +0 -1
  655. package/dist/types/typechain-types/@openzeppelin/contracts-v3/index.d.ts +0 -4
  656. package/dist/types/typechain-types/@openzeppelin/contracts-v3/token/ERC20/index.d.ts +0 -1
  657. package/dist/types/typechain-types/contracts/zap/AladdinCRVZap.d.ts +0 -83
  658. package/dist/types/typechain-types/contracts/zap/AladdinConvexVaultZap.d.ts +0 -172
  659. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/access/index.d.ts +0 -1
  660. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/index.d.ts +0 -2
  661. package/dist/types/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/index.d.ts +0 -1
  662. package/dist/types/typechain-types/factories/contracts/zap/AladdinCRVZap__factory.d.ts +0 -107
  663. package/dist/types/typechain-types/factories/contracts/zap/AladdinConvexVaultZap__factory.d.ts +0 -208
  664. /package/dist/types/typechain-types/@openzeppelin/{contracts-v3 → contracts-upgradeable}/token/index.d.ts +0 -0
  665. /package/dist/types/typechain-types/factories/@openzeppelin/{contracts-v3 → contracts-upgradeable}/token/index.d.ts +0 -0
@@ -35,6 +35,11 @@
35
35
  "name": "AccessControlUnauthorizedAccount",
36
36
  "type": "error"
37
37
  },
38
+ {
39
+ "inputs": [],
40
+ "name": "ActiveGauge",
41
+ "type": "error"
42
+ },
38
43
  {
39
44
  "inputs": [],
40
45
  "name": "ArrayLengthMismatch",
@@ -70,11 +75,6 @@
70
75
  "name": "GaugeNotActive",
71
76
  "type": "error"
72
77
  },
73
- {
74
- "inputs": [],
75
- "name": "GaugeNotFound",
76
- "type": "error"
77
- },
78
78
  {
79
79
  "inputs": [],
80
80
  "name": "InvalidAddress",
@@ -105,6 +105,11 @@
105
105
  "name": "LockExpiresSoon",
106
106
  "type": "error"
107
107
  },
108
+ {
109
+ "inputs": [],
110
+ "name": "NoPower",
111
+ "type": "error"
112
+ },
108
113
  {
109
114
  "inputs": [],
110
115
  "name": "NoVeTokenBalance",
@@ -130,6 +135,16 @@
130
135
  "name": "VoteDelayNotElapsed",
131
136
  "type": "error"
132
137
  },
138
+ {
139
+ "inputs": [],
140
+ "name": "VoteWeightTooLow",
141
+ "type": "error"
142
+ },
143
+ {
144
+ "inputs": [],
145
+ "name": "ZeroLocked",
146
+ "type": "error"
147
+ },
133
148
  {
134
149
  "anonymous": false,
135
150
  "inputs": [
@@ -149,6 +164,31 @@
149
164
  "name": "BoostAmplificationToggled",
150
165
  "type": "event"
151
166
  },
167
+ {
168
+ "anonymous": false,
169
+ "inputs": [
170
+ {
171
+ "indexed": true,
172
+ "internalType": "address",
173
+ "name": "gauge",
174
+ "type": "address"
175
+ },
176
+ {
177
+ "indexed": false,
178
+ "internalType": "bool",
179
+ "name": "paused",
180
+ "type": "bool"
181
+ },
182
+ {
183
+ "indexed": true,
184
+ "internalType": "address",
185
+ "name": "triggeredBy",
186
+ "type": "address"
187
+ }
188
+ ],
189
+ "name": "EmergencyGaugePauseUpdated",
190
+ "type": "event"
191
+ },
152
192
  {
153
193
  "anonymous": false,
154
194
  "inputs": [
@@ -202,9 +242,21 @@
202
242
  "internalType": "address",
203
243
  "name": "gauge",
204
244
  "type": "address"
245
+ },
246
+ {
247
+ "indexed": false,
248
+ "internalType": "uint256",
249
+ "name": "bias",
250
+ "type": "uint256"
251
+ },
252
+ {
253
+ "indexed": false,
254
+ "internalType": "uint256",
255
+ "name": "slope",
256
+ "type": "uint256"
205
257
  }
206
258
  ],
207
- "name": "GaugeRemoved",
259
+ "name": "GaugeKicked",
208
260
  "type": "event"
209
261
  },
210
262
  {
@@ -215,15 +267,9 @@
215
267
  "internalType": "address",
216
268
  "name": "gauge",
217
269
  "type": "address"
218
- },
219
- {
220
- "indexed": false,
221
- "internalType": "bool",
222
- "name": "isActive",
223
- "type": "bool"
224
270
  }
225
271
  ],
226
- "name": "GaugeStatusUpdated",
272
+ "name": "GaugeRemoved",
227
273
  "type": "event"
228
274
  },
229
275
  {
@@ -370,7 +416,7 @@
370
416
  {
371
417
  "indexed": false,
372
418
  "internalType": "uint256",
373
- "name": "slope",
419
+ "name": "locked",
374
420
  "type": "uint256"
375
421
  }
376
422
  ],
@@ -397,17 +443,29 @@
397
443
  "type": "event"
398
444
  },
399
445
  {
400
- "inputs": [],
401
- "name": "CHECKPOINT_INTERVAL",
402
- "outputs": [
446
+ "anonymous": false,
447
+ "inputs": [
403
448
  {
449
+ "indexed": true,
450
+ "internalType": "address",
451
+ "name": "gauge",
452
+ "type": "address"
453
+ },
454
+ {
455
+ "indexed": false,
404
456
  "internalType": "uint256",
405
- "name": "",
457
+ "name": "oldVP",
458
+ "type": "uint256"
459
+ },
460
+ {
461
+ "indexed": false,
462
+ "internalType": "uint256",
463
+ "name": "newVotingPower",
406
464
  "type": "uint256"
407
465
  }
408
466
  ],
409
- "stateMutability": "view",
410
- "type": "function"
467
+ "name": "VotingPowerRemovedInactiveGauge",
468
+ "type": "event"
411
469
  },
412
470
  {
413
471
  "inputs": [],
@@ -461,19 +519,6 @@
461
519
  "stateMutability": "view",
462
520
  "type": "function"
463
521
  },
464
- {
465
- "inputs": [],
466
- "name": "MAX_CHECKPOINT_ITERATIONS",
467
- "outputs": [
468
- {
469
- "internalType": "uint256",
470
- "name": "",
471
- "type": "uint256"
472
- }
473
- ],
474
- "stateMutability": "view",
475
- "type": "function"
476
- },
477
522
  {
478
523
  "inputs": [],
479
524
  "name": "MAX_VOTE_WEIGHT",
@@ -660,91 +705,6 @@
660
705
  "stateMutability": "view",
661
706
  "type": "function"
662
707
  },
663
- {
664
- "inputs": [],
665
- "name": "checkpoint",
666
- "outputs": [],
667
- "stateMutability": "nonpayable",
668
- "type": "function"
669
- },
670
- {
671
- "inputs": [
672
- {
673
- "internalType": "address",
674
- "name": "gauge",
675
- "type": "address"
676
- }
677
- ],
678
- "name": "checkpointGauge",
679
- "outputs": [],
680
- "stateMutability": "nonpayable",
681
- "type": "function"
682
- },
683
- {
684
- "inputs": [
685
- {
686
- "internalType": "address",
687
- "name": "",
688
- "type": "address"
689
- }
690
- ],
691
- "name": "currentGaugePoint",
692
- "outputs": [
693
- {
694
- "internalType": "int128",
695
- "name": "bias",
696
- "type": "int128"
697
- },
698
- {
699
- "internalType": "int128",
700
- "name": "slope",
701
- "type": "int128"
702
- },
703
- {
704
- "internalType": "uint256",
705
- "name": "timestamp",
706
- "type": "uint256"
707
- }
708
- ],
709
- "stateMutability": "view",
710
- "type": "function"
711
- },
712
- {
713
- "inputs": [],
714
- "name": "currentTotalPoint",
715
- "outputs": [
716
- {
717
- "internalType": "int128",
718
- "name": "bias",
719
- "type": "int128"
720
- },
721
- {
722
- "internalType": "int128",
723
- "name": "slope",
724
- "type": "int128"
725
- },
726
- {
727
- "internalType": "uint256",
728
- "name": "timestamp",
729
- "type": "uint256"
730
- }
731
- ],
732
- "stateMutability": "view",
733
- "type": "function"
734
- },
735
- {
736
- "inputs": [
737
- {
738
- "internalType": "address",
739
- "name": "gauge",
740
- "type": "address"
741
- }
742
- ],
743
- "name": "emergencyShutdown",
744
- "outputs": [],
745
- "stateMutability": "nonpayable",
746
- "type": "function"
747
- },
748
708
  {
749
709
  "inputs": [
750
710
  {
@@ -849,6 +809,11 @@
849
809
  ],
850
810
  "name": "getGaugeRelativeWeight",
851
811
  "outputs": [
812
+ {
813
+ "internalType": "uint256",
814
+ "name": "",
815
+ "type": "uint256"
816
+ },
852
817
  {
853
818
  "internalType": "uint256",
854
819
  "name": "",
@@ -873,6 +838,11 @@
873
838
  ],
874
839
  "name": "getGaugeRelativeWeightView",
875
840
  "outputs": [
841
+ {
842
+ "internalType": "uint256",
843
+ "name": "",
844
+ "type": "uint256"
845
+ },
876
846
  {
877
847
  "internalType": "uint256",
878
848
  "name": "",
@@ -959,7 +929,7 @@
959
929
  "type": "address"
960
930
  }
961
931
  ],
962
- "name": "getUserGaugeVoteWeight",
932
+ "name": "getUserGaugeVotePower",
963
933
  "outputs": [
964
934
  {
965
935
  "internalType": "uint256",
@@ -1031,25 +1001,6 @@
1031
1001
  "stateMutability": "view",
1032
1002
  "type": "function"
1033
1003
  },
1034
- {
1035
- "inputs": [
1036
- {
1037
- "internalType": "address",
1038
- "name": "gauge",
1039
- "type": "address"
1040
- }
1041
- ],
1042
- "name": "isGauge",
1043
- "outputs": [
1044
- {
1045
- "internalType": "bool",
1046
- "name": "",
1047
- "type": "bool"
1048
- }
1049
- ],
1050
- "stateMutability": "view",
1051
- "type": "function"
1052
- },
1053
1004
  {
1054
1005
  "inputs": [
1055
1006
  {
@@ -1082,57 +1033,6 @@
1082
1033
  "stateMutability": "nonpayable",
1083
1034
  "type": "function"
1084
1035
  },
1085
- {
1086
- "inputs": [
1087
- {
1088
- "internalType": "address",
1089
- "name": "",
1090
- "type": "address"
1091
- }
1092
- ],
1093
- "name": "lastCheckpoint",
1094
- "outputs": [
1095
- {
1096
- "internalType": "uint256",
1097
- "name": "",
1098
- "type": "uint256"
1099
- }
1100
- ],
1101
- "stateMutability": "view",
1102
- "type": "function"
1103
- },
1104
- {
1105
- "inputs": [
1106
- {
1107
- "internalType": "address",
1108
- "name": "",
1109
- "type": "address"
1110
- }
1111
- ],
1112
- "name": "lastGaugeUpdate",
1113
- "outputs": [
1114
- {
1115
- "internalType": "uint256",
1116
- "name": "",
1117
- "type": "uint256"
1118
- }
1119
- ],
1120
- "stateMutability": "view",
1121
- "type": "function"
1122
- },
1123
- {
1124
- "inputs": [],
1125
- "name": "lastTotalCheckpoint",
1126
- "outputs": [
1127
- {
1128
- "internalType": "uint256",
1129
- "name": "",
1130
- "type": "uint256"
1131
- }
1132
- ],
1133
- "stateMutability": "view",
1134
- "type": "function"
1135
- },
1136
1036
  {
1137
1037
  "inputs": [
1138
1038
  {
@@ -1146,25 +1046,6 @@
1146
1046
  "type": "address"
1147
1047
  }
1148
1048
  ],
1149
- "name": "lastUserVoteTime",
1150
- "outputs": [
1151
- {
1152
- "internalType": "uint256",
1153
- "name": "",
1154
- "type": "uint256"
1155
- }
1156
- ],
1157
- "stateMutability": "view",
1158
- "type": "function"
1159
- },
1160
- {
1161
- "inputs": [
1162
- {
1163
- "internalType": "address",
1164
- "name": "",
1165
- "type": "address"
1166
- }
1167
- ],
1168
1049
  "name": "lastVoteTime",
1169
1050
  "outputs": [
1170
1051
  {
@@ -1206,7 +1087,7 @@
1206
1087
  },
1207
1088
  {
1208
1089
  "internalType": "uint256",
1209
- "name": "slope",
1090
+ "name": "locked",
1210
1091
  "type": "uint256"
1211
1092
  }
1212
1093
  ],
@@ -1235,7 +1116,7 @@
1235
1116
  },
1236
1117
  {
1237
1118
  "internalType": "uint256",
1238
- "name": "slope",
1119
+ "name": "locked",
1239
1120
  "type": "uint256"
1240
1121
  }
1241
1122
  ],
@@ -1255,6 +1136,19 @@
1255
1136
  "stateMutability": "nonpayable",
1256
1137
  "type": "function"
1257
1138
  },
1139
+ {
1140
+ "inputs": [
1141
+ {
1142
+ "internalType": "address",
1143
+ "name": "gauge",
1144
+ "type": "address"
1145
+ }
1146
+ ],
1147
+ "name": "removePowerFromGauge",
1148
+ "outputs": [],
1149
+ "stateMutability": "nonpayable",
1150
+ "type": "function"
1151
+ },
1258
1152
  {
1259
1153
  "inputs": [
1260
1154
  {
@@ -1311,13 +1205,18 @@
1311
1205
  },
1312
1206
  {
1313
1207
  "inputs": [
1208
+ {
1209
+ "internalType": "address",
1210
+ "name": "gauge",
1211
+ "type": "address"
1212
+ },
1314
1213
  {
1315
1214
  "internalType": "bool",
1316
1215
  "name": "paused",
1317
1216
  "type": "bool"
1318
1217
  }
1319
1218
  ],
1320
- "name": "setEmergencyPause",
1219
+ "name": "setEmergencyGaugePause",
1321
1220
  "outputs": [],
1322
1221
  "stateMutability": "nonpayable",
1323
1222
  "type": "function"
@@ -1325,25 +1224,14 @@
1325
1224
  {
1326
1225
  "inputs": [
1327
1226
  {
1328
- "internalType": "address",
1329
- "name": "",
1330
- "type": "address"
1331
- },
1332
- {
1333
- "internalType": "uint256",
1334
- "name": "",
1335
- "type": "uint256"
1336
- }
1337
- ],
1338
- "name": "slopeChanges",
1339
- "outputs": [
1340
- {
1341
- "internalType": "int128",
1342
- "name": "",
1343
- "type": "int128"
1227
+ "internalType": "bool",
1228
+ "name": "paused",
1229
+ "type": "bool"
1344
1230
  }
1345
1231
  ],
1346
- "stateMutability": "view",
1232
+ "name": "setEmergencyPause",
1233
+ "outputs": [],
1234
+ "stateMutability": "nonpayable",
1347
1235
  "type": "function"
1348
1236
  },
1349
1237
  {
@@ -1397,38 +1285,6 @@
1397
1285
  "stateMutability": "view",
1398
1286
  "type": "function"
1399
1287
  },
1400
- {
1401
- "inputs": [
1402
- {
1403
- "internalType": "address",
1404
- "name": "gaugeAddress",
1405
- "type": "address"
1406
- }
1407
- ],
1408
- "name": "toggleGaugeStatus",
1409
- "outputs": [],
1410
- "stateMutability": "nonpayable",
1411
- "type": "function"
1412
- },
1413
- {
1414
- "inputs": [
1415
- {
1416
- "internalType": "uint256",
1417
- "name": "",
1418
- "type": "uint256"
1419
- }
1420
- ],
1421
- "name": "totalSlopeChanges",
1422
- "outputs": [
1423
- {
1424
- "internalType": "int128",
1425
- "name": "",
1426
- "type": "int128"
1427
- }
1428
- ],
1429
- "stateMutability": "view",
1430
- "type": "function"
1431
- },
1432
1288
  {
1433
1289
  "inputs": [
1434
1290
  {
@@ -1453,64 +1309,6 @@
1453
1309
  "stateMutability": "view",
1454
1310
  "type": "function"
1455
1311
  },
1456
- {
1457
- "inputs": [
1458
- {
1459
- "internalType": "address",
1460
- "name": "",
1461
- "type": "address"
1462
- },
1463
- {
1464
- "internalType": "address",
1465
- "name": "",
1466
- "type": "address"
1467
- }
1468
- ],
1469
- "name": "userVotePoint",
1470
- "outputs": [
1471
- {
1472
- "internalType": "int128",
1473
- "name": "bias",
1474
- "type": "int128"
1475
- },
1476
- {
1477
- "internalType": "int128",
1478
- "name": "slope",
1479
- "type": "int128"
1480
- },
1481
- {
1482
- "internalType": "uint256",
1483
- "name": "timestamp",
1484
- "type": "uint256"
1485
- },
1486
- {
1487
- "internalType": "uint256",
1488
- "name": "expiryWeek",
1489
- "type": "uint256"
1490
- }
1491
- ],
1492
- "stateMutability": "view",
1493
- "type": "function"
1494
- },
1495
- {
1496
- "inputs": [
1497
- {
1498
- "internalType": "address",
1499
- "name": "",
1500
- "type": "address"
1501
- }
1502
- ],
1503
- "name": "userVotePowerUsed",
1504
- "outputs": [
1505
- {
1506
- "internalType": "uint256",
1507
- "name": "",
1508
- "type": "uint256"
1509
- }
1510
- ],
1511
- "stateMutability": "view",
1512
- "type": "function"
1513
- },
1514
1312
  {
1515
1313
  "inputs": [
1516
1314
  {
@@ -1566,40 +1364,6 @@
1566
1364
  "stateMutability": "nonpayable",
1567
1365
  "type": "function"
1568
1366
  },
1569
- {
1570
- "inputs": [
1571
- {
1572
- "internalType": "address",
1573
- "name": "",
1574
- "type": "address"
1575
- },
1576
- {
1577
- "internalType": "address",
1578
- "name": "",
1579
- "type": "address"
1580
- },
1581
- {
1582
- "internalType": "uint256",
1583
- "name": "",
1584
- "type": "uint256"
1585
- }
1586
- ],
1587
- "name": "voteUserLockSlopes",
1588
- "outputs": [
1589
- {
1590
- "internalType": "uint256",
1591
- "name": "slope",
1592
- "type": "uint256"
1593
- },
1594
- {
1595
- "internalType": "uint256",
1596
- "name": "unlockTime",
1597
- "type": "uint256"
1598
- }
1599
- ],
1600
- "stateMutability": "view",
1601
- "type": "function"
1602
- },
1603
1367
  {
1604
1368
  "inputs": [
1605
1369
  {
@@ -1636,7 +1400,7 @@
1636
1400
  "outputs": [
1637
1401
  {
1638
1402
  "internalType": "uint256",
1639
- "name": "slope",
1403
+ "name": "locked",
1640
1404
  "type": "uint256"
1641
1405
  },
1642
1406
  {
@@ -1654,8 +1418,8 @@
1654
1418
  "type": "function"
1655
1419
  }
1656
1420
  ],
1657
- "bytecode": "0x6080346100d157601f6139c738819003918201601f19168301916001600160401b038311848410176100d5578084926020946040528339810103126100d157516001600160a01b0381168082036100d15760018055156100c25760028054610100600160a81b03191660089290921b610100600160a81b0316919091179055610087336100e9565b506100913361015f565b5061009b336101f2565b506161a8600b55612710600c5562093a80600d55426012556040516136c190816102868239f35b63c6d038c160e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381165f9081525f5160206139a75f395f51905f52602052604090205460ff1661015a576001600160a01b03165f8181525f5160206139a75f395f51905f5260205260408120805460ff191660011790553391905f5160206139475f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f5160206139675f395f51905f52602052604090205460ff1661015a576001600160a01b03165f8181525f5160206139675f395f51905f5260205260408120805460ff191660011790553391907ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014905f5160206139475f395f51905f529080a4600190565b6001600160a01b0381165f9081525f5160206139875f395f51905f52602052604090205460ff1661015a576001600160a01b03165f8181525f5160206139875f395f51905f5260205260408120805460ff191660011790553391907f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb905f5160206139475f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f905f3560e01c908162ae252414611da35750806301ffc9a714611d4d57806306aba0e114611d245780630a7486c7146114695780630b27737e14611cf75780630c42320114611ccd578063103490f914611c205780631685614414611bd95780631c3ebaeb146114695780631c7e399f14611b1c578063248a9ca314611af2578063289f338f14611aba5780632f2ff15d14611a7d578063315865df14611a6157806336568abe14611a1b5780633a0451451461198b5780633b92eb231461195f57806348264997146119425780634f62d649146118cb5780634f6ffd07146118ae578063507ba5e21461188757806351ae58af1461179b57806353bacc7c146117635780635af1d193146116ff5780635baa02be146116db5780635c679f7b146115655780635c975abb146115425780635f74bbde146114b257806366351557146114965780636ca32ae71461146e5780637001f4bb1461146957806372be5276146113fb57806374a23843146113c2578063776c01c4146113835780638aca6a23146113285780638c10e8f6146112ef57806391d14854146112a657806396c5517514610d865780639c31c8fb14610cfe5780639d17505314610cca5780639da882ac14610b125780639eeb40071461065d578063a217fddf14610af6578063a85bde9d14610ad0578063a9753d5814610a98578063aa79979b14610a50578063b97dd9e214610a35578063b9a09fd5146109d2578063bb3d832f14610971578063c2c4c5c114610922578063c3a6ca13146108d4578063c58b1ee614610881578063cffd31dd14610710578063d0262d8e146106b0578063d045d6241461065d578063d547741f14610616578063d6585ecf146105db578063d8d1a657146104c8578063d93c6ede14610485578063d9ce3d0314610469578063dcda162c1461042e578063e75ec699146103b6578063ead68f8214610398578063ec73d9061461035f578063efe97d051461033c578063effcbdb91461031e5763f4359ce5146102fe575f80fd5b3461031b578060031936011261031b57602060405162093a808152f35b80fd5b503461031b578060031936011261031b576020601254604051908152f35b503461031b578060031936011261031b57602061035761246a565b604051908152f35b503461031b57602036600319011261031b576020906040906001600160a01b03610387611dd7565b168152602a83522054604051908152f35b503461031b578060031936011261031b576020604051621275008152f35b503461031b57604036600319011261031b5760406103d2611dd7565b916103db611ded565b9260018060a01b031681526028602052209060018060a01b03165f5260205260405f20805461042a60026001840154930154604051938493846040919493926060820195825260208201520152565b0390f35b503461031b578060031936011261031b5760206040517ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d420148152f35b503461031b578060031936011261031b57602060405160348152f35b503461031b57604036600319011261031b576020906040906001600160a01b036104ad611dd7565b16815260238352818120602435825283522054604051908152f35b503461031b57602036600319011261031b57600435801515908181036105d7576104f0612504565b156105625760207fed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2f91610521612887565b600160ff1960025416176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25882604051338152a15b604051908152a180f35b60025460ff8116156105c8577fed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2f9160209160ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa82604051338152a1610558565b638dfc202b60e01b8352600483fd5b8280fd5b503461031b578060031936011261031b5760206040517f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb8152f35b503461031b57604036600319011261031b57610659600435610636611ded565b9061065461064f825f525f602052600160405f20015490565b612573565b612807565b5080f35b503461031b57604036600319011261031b576040610679611dd7565b91610682611ded565b9260018060a01b03168152601f602052209060018060a01b03165f52602052602060405f2054604051908152f35b503461031b576106bf36611e50565b929160018060a01b031682526029602052604082209060018060a01b03165f5260205260405f2090815483101561031b5760406106fc8484611ecb565b506001815491015482519182526020820152f35b503461031b578060031936011261031b578060165461072e81612452565b9161073c6040519384612010565b81835261074882612452565b602084019490601f190136863761075e83612452565b61076b6040519182612010565b83815261077784612452565b602082019490601f190136863782905b8082106108135750506040519460608601906060875251809152608086019690835b8181106107f457505050602090858703828701525195868152019290945b8086106107dc57505082935060408301520390f35b909260208060019286518152019401950194906107c7565b82516001600160a01b03168952602098890198909201916001016107a9565b9093610876600191610827879a969a611e8a565b848060a01b0391549060031b1c1680610840898c61211b565b52808b52602260205260408b20908b52602460205260408b20548b5260205260408a20549081610870898861211b565b52612070565b940190969296610787565b503461031b57604036600319011261031b57604061089d611dd7565b916108a6611ded565b9260018060a01b03168152601b602052209060018060a01b03165f52602052602060405f2054604051908152f35b503461031b57604036600319011261031b5760409081906001600160a01b036108fb611dd7565b16815260226020528181206024358252602052206001815491015482519182526020820152f35b503461031b578060031936011261031b5761093b61342a565b50805b601654811015610659578061096a610957600193611e8a565b848060a01b0391549060031b1c166132d7565b500161093e565b503461031b57604036600319011261031b5761098b611dd7565b6001600160a01b03168152602c602052604081208054602435929083101561031b5760206109b98484611eb6565b905460405160039290921b1c6001600160a01b03168152f35b503461031b57602036600319011261031b576080906040906001600160a01b036109fa611dd7565b168152601860205220805490600260018201549101549060ff604051938181161515855260081c161515602084015260408301526060820152f35b503461031b578060031936011261031b576020610357612432565b503461031b57602036600319011261031b576020610a8e610a6f611dd7565b6001600160a01b03165f90815260186020526040902060020154151590565b6040519015158152f35b503461031b578060031936011261031b5760135460145460408051600f84810b825260809490941d90930b6020840152820152606090f35b503461031b576040610aea610ae436611e50565b91612178565b82519182526020820152f35b503461031b578060031936011261031b57602090604051908152f35b503461031b57602036600319011261031b57610b2c611dd7565b610b34612495565b6001600160a01b038116908115610cbb576001600160a01b0381165f90815260186020526040902060020154610cac576040516080810181811067ffffffffffffffff821117610c98576040528381526002602082016001815260408301868152610bd860608501924284528789526018602052604089209551151560ff80198854169116178655511515859061ff00825491151560081b169061ff001916179055565b51600184015551910155601554600160401b811015610c845790610c2f81610c0b846001610c3496016015556015611eb6565b81546001600160a01b0393841660039290921b91821b9390911b1916919091179055565b6125ab565b610c3c612432565b818352602460205280604084205560275415610c7b575b507f9808313031a8f4caa534c417adad16800af7317516eff29a2d37cec0ffb244db8280a280f35b6027555f610c53565b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b85526041600452602485fd5b630fad09e160e11b8352600483fd5b6365da5bb960e11b8352600483fd5b503461031b57602036600319011261031b576040809160043581526025602052206001815491015482519182526020820152f35b503461031b57602036600319011261031b57610d18611dd7565b906001600160a01b038216610d3e575050610d3161342a565b505b602060405160018152f35b6001600160a01b0382165f9081526018602052604090206002015415610d775750610d68906132d7565b50610d7161342a565b50610d33565b6325d939f560e01b8152600490fd5b503461031b57602036600319011261031b57610da0611dd7565b610da8612887565b610db06128a2565b600254604051621e403d60e21b81526001600160a01b039283166004820181905292909160a0918391602491839160081c165afa90811561129b57839161121f575b50511561121057808252602c6020526040822060405190816020825491828152019185526020852090855b8181106111f15750505081610e33910382612010565b610e3b61246a565b9280915b8051831015611177576001600160a01b03610e5a848361211b565b511692610e66846132d7565b50610e6f61342a565b5084835260286020526040832060018060a01b0385165f5260205260405f2060405190610e9b82611fc4565b60028154918284526001810154602085015201548060408401528115611169579081898093116110ac575b5050508484526022602052604084208785526020526001604085200154815111155f1461108c578051858552602260205260408520888652602052610f1360016040872001918254612032565b90555b8684526025602052604084206001015481511161107557518684526025602052610f4860016040862001918254612032565b90555b84835260296020526040832060018060a01b0385165f5260205260405f2091835b835481101561101657806001610f83819387611ecb565b500154610f908287611ecb565b5054908888526023602052604088208189526020528160408920541015610fee575b80885260266020528160408920541015610fcf575b505001610f6c565b87526026602052610fe560408820918254612032565b90555f80610fc7565b8888526023602052604088208189526020526040882061100f838254612032565b9055610fb2565b50959360019250858452602960205260408420838060a01b0382165f5260205261104260405f2061212f565b85845260286020526040842090838060a01b03165f526020525f600260408220828155828582015501555b019193610e3f565b508583526025602052826001604082200155610f4b565b848452602260205260408420878552602052836001604082200155610f16565b6110bf926110b991612032565b90611f02565b85855260226020526040852088865260205280604086205410155f1461114c5785855260226020526040852088865260205260408520611100828254612032565b90555b87855260256020526040852054811161113857878552602560205261112d60408620918254612032565b90555b865f80610ec6565b508684526025602052836040812055611130565b858552602260205260408520888652602052846040812055611103565b50505060019195935061106d565b8390818352602c60205260408320805490848155816111d3575b505060207feaafa67bd3aa4bb44bce0c035314029d39227a502ac081269bdd5989e1aa592b91838552602a825284604081205551604051908152a26001805580f35b845260208420908101905b81811015611191578481556001016111de565b82546001600160a01b0316845260209093019260019283019201610e1d565b630139629360e11b8252600482fd5b905060a0813d60a011611293575b8161123a60a09383612010565b810103126105d7576040519060a0820182811067ffffffffffffffff821117610c98579060809160405280518352602081015160208401526040810151604084015260608101516060840152015160808201525f610df2565b3d915061122d565b6040513d85823e3d90fd5b503461031b57604036600319011261031b5760406112c2611ded565b91600435815280602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b503461031b57602036600319011261031b576020906040906001600160a01b03611317611dd7565b168152601e83522054604051908152f35b503461031b57602036600319011261031b57611342611dd7565b6001600160a01b0381165f90815260186020526040902060020154156113745761136b906132d7565b5061065961342a565b6325d939f560e01b8252600482fd5b503461031b57602036600319011261031b5760209060ff906040906001600160a01b036113ae611dd7565b168152601884522054166040519015158152f35b503461031b57602036600319011261031b576020906040906001600160a01b036113ea611dd7565b168152602183522054604051908152f35b503461031b57602036600319011261031b57611415611dd7565b6001600160a01b0381165f9081526018602052604090206002015415611374576001600160a01b03168082526022602090815260408084209284526024825280842054845291815291819020549051908152f35b611e03565b503461031b57604036600319011261031b57602061035761148d611dd7565b6024359061208d565b503461031b578060031936011261031b57602060405160648152f35b503461031b57604036600319011261031b576114cc611dd7565b6114d4612887565b6114dc6128a2565b338252602b6020526040822054620d2f00810180911161152e57421061151f5761150a9060243590336128d4565b338152602b6020524260408220556001805580f35b630618259b60e11b8252600482fd5b634e487b7160e01b83526011600452602483fd5b503461031b578060031936011261031b57602060ff600254166040519015158152f35b503461031b57604036600319011261031b5760043567ffffffffffffffff81116116d757611597903690600401611e1f565b60243567ffffffffffffffff81116116d3576115b7903690600401611e1f565b916115c0612887565b6115c86128a2565b801580156116c9575b6116ba57338552602b6020526040852054620d2f0081018091116116a65742106116975784805b8282106116775761271091501161166857845b8181106116285785338152602b6020524260408220556001805580f35b61163381838761207d565b35906001600160a01b03821682036116645761165e60019261165683888861207d565b3590336128d4565b0161160b565b8680fd5b63585b926360e01b8552600485fd5b61168f60019161168884888861207d565b3590612070565b9101906115f8565b630618259b60e11b8552600485fd5b634e487b7160e01b86526011600452602486fd5b63512509d360e11b8552600485fd5b50828114156115d1565b8380fd5b5080fd5b503461031b57602036600319011261031b5760206103576116fa611dd7565b61203f565b503461031b57602036600319011261031b576040906001600160a01b03611724611dd7565b168152601c60205220600181549101549061042a6040519282849360801d90600f0b846040919493926060820195600f0b8252600f0b60208201520152565b503461031b57602036600319011261031b576020906040906001600160a01b0361178b611dd7565b1681528280522054604051908152f35b5034611874576020366003190112611874576117b5611dd7565b6117bd612504565b6001600160a01b0381165f9081526018602052604090206002015415611878576001600160a01b03165f818152601860205260409020805460ff19169055803b1561187457604051639d0ab89f60e01b8152600160048201525f8160248183865af1801561186957611854575b5033907f63a2919109d26a48f4afb06be65bb1e0ef2fe197b3a7f9a58268b211745f8f6d8380a380f35b6118619192505f90612010565b5f905f61182a565b6040513d5f823e3d90fd5b5f80fd5b6325d939f560e01b5f5260045ffd5b346118745760403660031901126118745760206103576118a5611dd7565b60243590611f29565b34611874575f366003190112611874576020604051620d2f008152f35b34611874576040366003190112611874576118e4611dd7565b6118ec611ded565b9060018060a01b03165f52601d60205260405f209060018060a01b03165f52602052608060405f2080549060026001820154910154906040519280600f0b8452841d600f0b602084015260408301526060820152f35b34611874575f366003190112611874576020602754604051908152f35b34611874575f3660031901126118745760025460405160089190911c6001600160a01b03168152602090f35b34611874576020366003190112611874576119a4611dd7565b6119ac612495565b6001600160a01b038116908115611a0c576001600160a01b0381165f9081526018602052604090206002015415611878576119e690612655565b7f94ac12f5301759f065db9de7f23677e50bef009f062b028d4d4612f620f0f5fb5f80a2005b6365da5bb960e11b5f5260045ffd5b3461187457604036600319011261187457611a34611ded565b336001600160a01b03821603611a5257611a5090600435612807565b005b63334bd91960e11b5f5260045ffd5b34611874575f3660031901126118745760206040516161a88152f35b3461187457604036600319011261187457611a50600435611a9c611ded565b90611ab561064f825f525f602052600160405f20015490565b61277f565b34611874576020366003190112611874576001600160a01b03611adb611dd7565b165f526024602052602060405f2054604051908152f35b346118745760203660031901126118745760206103576004355f525f602052600160405f20015490565b3461187457602036600319011261187457611b35611dd7565b611b3d612495565b6001600160a01b038116908115611a0c576001600160a01b0381165f908152601860205260409020600201541561187857815f52601860205260ff60405f2054165f14611bcb57611b8d90612655565b805f5260186020527fb68c252413c1dbd0ed9a087ae0596489741f83c26e283fb6739ca73f79ff8654602060ff60405f2054166040519015158152a2005b611bd4906125ab565b611b8d565b34611874576040366003190112611874576001600160a01b03611bfa611dd7565b165f52601960205260405f206024355f52602052602060405f2054600f0b604051908152f35b3461187457604036600319011261187457611c39611dd7565b602435908115159081830361187457611c50612495565b6001600160a01b0381165f9081526018602052604090206002015415611878576001600160a01b03165f818152601860209081526040909120805461ff00191694151560081b61ff001694909417909355917f07829327d364c8af8ea5af9c81cac2a7ec3ec6a9879d2154b4a65e2c623d79db91604051908152a2005b34611874576020366003190112611874576004355f526026602052602060405f2054604051908152f35b34611874576020366003190112611874576004355f52601a602052602060405f2054600f0b604051908152f35b34611874575f366003190112611874576027545f526025602052602060405f2054604051908152f35b346118745760203660031901126118745760043563ffffffff60e01b811680910361187457602090637965db0b60e01b8114908115611d92575b506040519015158152f35b6301ffc9a760e01b14905082611d87565b34611874576020366003190112611874576020906001600160a01b03611dc7611dd7565b165f52602b825260405f20548152f35b600435906001600160a01b038216820361187457565b602435906001600160a01b038216820361187457565b34611874575f3660031901126118745760206040516127108152f35b9181601f840112156118745782359167ffffffffffffffff8311611874576020808501948460051b01011161187457565b6060906003190112611874576004356001600160a01b038116810361187457906024356001600160a01b0381168103611874579060443590565b601654811015611ea25760165f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611ea2575f5260205f2001905f90565b8054821015611ea2575f5260205f209060011b01905f90565b8115611eee570490565b634e487b7160e01b5f52601260045260245ffd5b81810292918115918404141715611f1557565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b0381165f90815260186020526040902060020154156118785760018060a01b03165f52602260205260405f20815f5260205260405f2054905f52602560205260405f20548015611fa757670de0b6b3a7640000820291808304670de0b6b3a76400001490151715611f1557611fa491611ee4565b90565b50506016548015611fbf57670de0b6b3a76400000490565b505f90565b6060810190811067ffffffffffffffff821117611fe057604052565b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff821117611fe057604052565b90601f8019910116810190811067ffffffffffffffff821117611fe057604052565b91908203918211611f1557565b6001600160a01b03165f908152602a6020526040902054612710811015611fbf57612710036127108111611f155790565b91908201809211611f1557565b9190811015611ea25760051b0190565b6001600160a01b0381165f9081526018602052604090206002015415611878576120b6816132d7565b506120bf61342a565b5060018060a01b03165f52602260205260405f20815f5260205260405f2054905f52602560205260405f20548015611fa757670de0b6b3a7640000820291808304670de0b6b3a76400001490151715611f1557611fa491611ee4565b8051821015611ea25760209160051b010190565b8054905f81558161213e575050565b6001600160ff1b0382168203611f15575f5260205f209060011b8101905b818110612167575050565b5f808255600182015560020161215c565b6001600160a01b0382165f90815260186020526040902060020154929392156118785783159182801561240d575b612400576002546040516370a0823160e01b81526001600160a01b03938416600482015260089190911c90921692602083602481875afa928315611869575f936123c9575b506020600494604051958680926318160ddd60e01b82525afa938415611869575f94612395575b508315801561238d575b61236e5750604051635a38556f60e11b81526001600160a01b0391909116929091602083600481875afa928315611869575f93612337575b506020600494604051958680926318160ddd60e01b82525afa938415611869575f94612303575b50600b5493600c54936040519460c086019686881067ffffffffffffffff891117611fe0576122c99760405286526020860152604085015260608401528560808401525f60a0840152613537565b9161271083106122f9575b6161a883116122ef575b6122eb8361271092611f02565b0490565b6161a892506122de565b61271092506122d4565b9093506020813d60201161232f575b8161231f60209383612010565b810103126118745751925f61227b565b3d9150612312565b9392506020843d602011612366575b8161235360209383612010565b8101031261187457925191926020612254565b3d9150612346565b925050506127108302928304612710141715611f155761271080920490565b50821561221c565b9093506020813d6020116123c1575b816123b160209383612010565b810103126118745751925f612212565b3d91506123a4565b9392506020843d6020116123f8575b816123e560209383612010565b81010312611874579251919260206121eb565b3d91506123d8565b5050509050612710905f90565b506001600160a01b0381165f9081526018602052604090205460081c60ff16156121a6565b62093a80420462093a8081029080820462093a801490151715611f155790565b67ffffffffffffffff8111611fe05760051b60200190565b62093a80420460018101809111611f155762093a8081029080820462093a801490151715611f155790565b335f9081527fbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00c602052604090205460ff16156124cd57565b63e2517d3f60e01b5f52336004527ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d4201460245260445ffd5b335f9081527fac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668d602052604090205460ff161561253c57565b63e2517d3f60e01b5f52336004527f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb60245260445ffd5b5f8181526020818152604080832033845290915290205460ff16156125955750565b63e2517d3f60e01b5f523360045260245260445ffd5b6001600160a01b0381165f9081526018602052604090206002015415611878576001600160a01b0381165f8181526018602052604090205490919060ff1661264657815f52601860205260405f20600160ff1982541617905560165490600160401b821015611fe057610c0b82600161262994016016556016611eb6565b6016545f19810191908211611f15575f52601760205260405f2055565b63580aedcf60e01b5f5260045ffd5b6001600160a01b0381165f9081526018602052604090206002015415611878576001600160a01b03165f8181526018602052604090205460ff1615612770575f818152601860209081526040808320805460ff1916905560179091529020546016545f198101908111611f1557808203612735575b50506016548015612721575f19016126fb6126e6826016611eb6565b81549060018060a01b039060031b1b19169055565b601655805f5260176020525f60408120555f52601860205260405f2060ff198154169055565b634e487b7160e01b5f52603160045260245ffd5b61273e90611e8a565b905460039190911b1c6001600160a01b031661275d81610c0b84611e8a565b5f52601760205260405f20555f806126ca565b63d4220bed60e01b5f5260045ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16612801575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615612801575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b60ff6002541661289357565b63d93c066560e01b5f5260045ffd5b6002600154146128b3576002600155565b633ee5aeb560e01b5f5260045ffd5b519064ffffffffff8216820361187457565b90916001600160a01b038316908115611a0c576001600160a01b0384165f908152601860205260409020600201541561187857815f52601860205260ff60405f20541615612770576127108111612e905761292e846132d7565b5061293761342a565b5061294061246a565b60025460405163f1380ea960e01b815260089190911c6001600160a01b0316949190606081600481895afa908115611869575f905f92613280575b5064ffffffffff8061298f93169116611f02565b96871561327157604051630481930d60e21b81526001600160a01b0390931660048401819052976020846024818a5afa938415611869575f9461323c575b5060206129dc60249286611ee4565b976040519283809263394b295360e11b82528d60048301525afa8015611869575f906131fe575b64ffffffffff91501696828811156131ef57885f52602860205260405f20865f5260205260405f209660405197612a3989611fc4565b8054808a52600260018301549260208c0193845201548060408c015281612fbd575b505f91508190508715612e9f575050895f52602a602052612710612a838760405f2054612070565b11612e9057612a958661271092611f02565b0494612aaa612aa4858b612032565b87611f02565b91875f52602260205260405f20855f5260205260405f20612acc848254612070565b9055875f52602260205260405f20855f52602052600160405f2001612af2888254612070565b9055845f52602560205260405f20612b0b848254612070565b9055845f526025602052600160405f2001612b27888254612070565b905560025460405163719f308960e01b8152600481018d905299905f908b90602490829060081c6001600160a01b03165afa998a15611869575f9a612dbf575b505f5b8a51811015612cd1578664ffffffffff6020612b86848f61211b565b510151161115612cc95780888c8b8215612cbe576001600160701b03612bb2612bbf95612bba9461211b565b515116611f02565b611ee4565b905b8b8b8315612cb357612c0b8364ffffffffff936020935f526023845260405f208585612bed858561211b565b510151165f52845260405f20612c04888254612070565b905561211b565b510151165f52602660205260405f20612c25838254612070565b90558d5f52602960205260405f208b5f526020528b64ffffffffff6020612c508460405f209461211b565b5101511660405193612c6185611ff4565b845260208401528054600160401b811015611fe057612c8591600182018155611ecb565b612ca057825181556020909201516001928301555b01612b6a565b634e487b7160e01b5f525f60045260245ffd5b505060019150612c9a565b505050505f90612bc1565b600190612c9a565b50939a985093509350939496600260405191612cec83611fc4565b8783526020830186815260408401918252895f52602860205260405f208b5f5260205260405f209351845551600184015551910155855f52602a60205260405f20612d38848254612070565b90555115612d77575b50612d725f51602061366c5f395f51905f52935b604051938493846040919493926060820195825260208201520152565b0390a3565b92845f52602c60205260405f20908154600160401b811015611fe0575f51602061366c5f395f51905f5295610c0b82612d72956001612db895018155611eb6565b9350612d41565b9099503d805f833e612dd18183612010565b8101906020818303126118745780519067ffffffffffffffff8211611874570181601f8201121561187457805190612e0882612452565b92612e166040519485612010565b82845260208085019360061b8301019181831161187457602001925b828410612e445750505050985f612b67565b6040848303126118745760405190612e5b82611ff4565b8451906001600160701b0382168203611874578260209260409452612e818388016128c2565b83820152815201930192612e32565b63585b926360e01b5f5260045ffd5b9550985050509693945050825f52602860205260405f20845f526020525f6002604082208281558260018201550155825f52602960205260405f20845f52602052612eec60405f2061212f565b825f52602c60205260405f20915f5b835480821015612f9f5786612f108387611eb6565b905460039190911b1c6001600160a01b031614612f305750600101612efb565b905f97929394959697198201918211611f1557610c0b612f53612f6c9388611eb6565b905460039190911b1c6001600160a01b03169187611eb6565b8354908115612721575f51602061366c5f395f51905f5294612d72925f190190612f996126e68383611eb6565b55612d55565b5050909150612d725f51602061366c5f395f51905f52939495612d55565b9081878096949d9a98939c9997959b9c1161319e575b505050885f52602260205260405f20835f52602052600160405f200154865111155f1461317e578551895f52602260205260405f20845f52602052613020600160405f2001918254612032565b90555b5f83815260256020526040902060010154865111613168578551835f526025602052613057600160405f2001918254612032565b90555b8a5f52602960205260405f20895f5260205260405f20975f5b895481101561311d5780600161308a81938d611ecb565b500154613097828d611ecb565b5054908d5f52602360205260405f20815f526020528160405f205410156130f5575b805f5260266020528160405f205410156130d6575b505001613073565b5f5260266020526130ec60405f20918254612032565b90555f806130ce565b8d5f52602360205260405f20815f5260205260405f20613116838254612032565b90556130b9565b50919395989750919395988a5f52602960205260405f20885f5260205261314660405f2061212f565b518a5f52602a60205261315e60405f20918254612032565b90555f8080612a5b565b825f5260256020525f600160408220015561305a565b885f52602260205260405f20835f526020525f6001604082200155613023565b6131ab926110b991612032565b895f52602260205260405f20845f5260205260405f206131cc828254612032565b9055835f5260256020526131e560405f20918254612032565b9055825f80612fd3565b63823c7e3560e01b5f5260045ffd5b506020813d602011613234575b8161321860209383612010565b810103126118745761322f64ffffffffff916128c2565b612a03565b3d915061320b565b9093506020813d602011613269575b8161325860209383612010565b8101031261187457519260206129cd565b3d915061324b565b63c6d038c160e01b5f5260045ffd5b9150506060813d6060116132cf575b8161329c60609383612010565b81010312611874578064ffffffffff806132c760406132c0602061298f97016128c2565b94016128c2565b93505061297b565b3d915061328f565b6001600160a01b03165f81815260246020526040902054801561280157815f52602260205260405f20815f5260205260405f209160016040519361331a85611ff4565b805485520154602084019081525f905b6101f48210613346575b50505f52602460205260405f20555190565b90924281116134245762093a808101809111611f15578093835f52602360205260405f20825f5260205260405f20549183519262093a8084029380850462093a801490151715611f155787516001948082111561341c576133a691612032565b885284518111613414576133bb818651612032565b85525b855f52602260205260405f20825f526020526133e98860405f20906020600191805184550151910155565b6133f6575b50019061332a565b845f52602360205260405f20905f526020525f60408120555f6133ee565b5f85526133be565b50505f6133a6565b92613334565b6027548015611fbf57805f52602560205260405f209060016040519261344f84611ff4565b805484520154602083019081525f905b6101f48210613472575b50506027555190565b90914281116135315762093a808101809111611f15578092815f52602660205260405f20549183519262093a8084029380850462093a801490151715611f1557865160019480821115613529576134c891612032565b875284518111613521576134dd818651612032565b85525b815f5260256020526135018760405f20906020600191805184550151910155565b61350e575b50019061345f565b5f5260266020525f60408120555f613506565b5f85526134e0565b50505f6134c8565b91613469565b608083015190811590818015613663575b6136585767058d15e17628000083029183830467058d15e176280000141715611f1557670de0b6b3a76400008402908415948204670de0b6b3a764000014851715611f15575f94811515908161364f575b506135fa575b50506135cb92670de0b6b3a76400006135b89204612070565b8181116135f3575b8351612bba91611f02565b9060208101518083106135eb575b50518082116135e6575090565b905090565b91505f6135d9565b50806135c0565b61360a9194506060860151611f02565b90670853a0d2313c0000820291808304670853a0d2313c00001490151715611f1557670de0b6b3a76400006136456135cb956135b894611ee4565b945081925061359f565b9050155f613599565b505050506020015190565b50831561354856feba96fb19972930bda84dd5c49e835c4975aedb6dd8664e174c08d072662f518fa2646970667358221220a98ced233e935d17f34c5171d484c66832ff4e366392bf49a2a41b3186287f4864736f6c634300081e00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0dbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00cac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668dad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5",
1658
- "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f905f3560e01c908162ae252414611da35750806301ffc9a714611d4d57806306aba0e114611d245780630a7486c7146114695780630b27737e14611cf75780630c42320114611ccd578063103490f914611c205780631685614414611bd95780631c3ebaeb146114695780631c7e399f14611b1c578063248a9ca314611af2578063289f338f14611aba5780632f2ff15d14611a7d578063315865df14611a6157806336568abe14611a1b5780633a0451451461198b5780633b92eb231461195f57806348264997146119425780634f62d649146118cb5780634f6ffd07146118ae578063507ba5e21461188757806351ae58af1461179b57806353bacc7c146117635780635af1d193146116ff5780635baa02be146116db5780635c679f7b146115655780635c975abb146115425780635f74bbde146114b257806366351557146114965780636ca32ae71461146e5780637001f4bb1461146957806372be5276146113fb57806374a23843146113c2578063776c01c4146113835780638aca6a23146113285780638c10e8f6146112ef57806391d14854146112a657806396c5517514610d865780639c31c8fb14610cfe5780639d17505314610cca5780639da882ac14610b125780639eeb40071461065d578063a217fddf14610af6578063a85bde9d14610ad0578063a9753d5814610a98578063aa79979b14610a50578063b97dd9e214610a35578063b9a09fd5146109d2578063bb3d832f14610971578063c2c4c5c114610922578063c3a6ca13146108d4578063c58b1ee614610881578063cffd31dd14610710578063d0262d8e146106b0578063d045d6241461065d578063d547741f14610616578063d6585ecf146105db578063d8d1a657146104c8578063d93c6ede14610485578063d9ce3d0314610469578063dcda162c1461042e578063e75ec699146103b6578063ead68f8214610398578063ec73d9061461035f578063efe97d051461033c578063effcbdb91461031e5763f4359ce5146102fe575f80fd5b3461031b578060031936011261031b57602060405162093a808152f35b80fd5b503461031b578060031936011261031b576020601254604051908152f35b503461031b578060031936011261031b57602061035761246a565b604051908152f35b503461031b57602036600319011261031b576020906040906001600160a01b03610387611dd7565b168152602a83522054604051908152f35b503461031b578060031936011261031b576020604051621275008152f35b503461031b57604036600319011261031b5760406103d2611dd7565b916103db611ded565b9260018060a01b031681526028602052209060018060a01b03165f5260205260405f20805461042a60026001840154930154604051938493846040919493926060820195825260208201520152565b0390f35b503461031b578060031936011261031b5760206040517ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d420148152f35b503461031b578060031936011261031b57602060405160348152f35b503461031b57604036600319011261031b576020906040906001600160a01b036104ad611dd7565b16815260238352818120602435825283522054604051908152f35b503461031b57602036600319011261031b57600435801515908181036105d7576104f0612504565b156105625760207fed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2f91610521612887565b600160ff1960025416176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25882604051338152a15b604051908152a180f35b60025460ff8116156105c8577fed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2f9160209160ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa82604051338152a1610558565b638dfc202b60e01b8352600483fd5b8280fd5b503461031b578060031936011261031b5760206040517f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb8152f35b503461031b57604036600319011261031b57610659600435610636611ded565b9061065461064f825f525f602052600160405f20015490565b612573565b612807565b5080f35b503461031b57604036600319011261031b576040610679611dd7565b91610682611ded565b9260018060a01b03168152601f602052209060018060a01b03165f52602052602060405f2054604051908152f35b503461031b576106bf36611e50565b929160018060a01b031682526029602052604082209060018060a01b03165f5260205260405f2090815483101561031b5760406106fc8484611ecb565b506001815491015482519182526020820152f35b503461031b578060031936011261031b578060165461072e81612452565b9161073c6040519384612010565b81835261074882612452565b602084019490601f190136863761075e83612452565b61076b6040519182612010565b83815261077784612452565b602082019490601f190136863782905b8082106108135750506040519460608601906060875251809152608086019690835b8181106107f457505050602090858703828701525195868152019290945b8086106107dc57505082935060408301520390f35b909260208060019286518152019401950194906107c7565b82516001600160a01b03168952602098890198909201916001016107a9565b9093610876600191610827879a969a611e8a565b848060a01b0391549060031b1c1680610840898c61211b565b52808b52602260205260408b20908b52602460205260408b20548b5260205260408a20549081610870898861211b565b52612070565b940190969296610787565b503461031b57604036600319011261031b57604061089d611dd7565b916108a6611ded565b9260018060a01b03168152601b602052209060018060a01b03165f52602052602060405f2054604051908152f35b503461031b57604036600319011261031b5760409081906001600160a01b036108fb611dd7565b16815260226020528181206024358252602052206001815491015482519182526020820152f35b503461031b578060031936011261031b5761093b61342a565b50805b601654811015610659578061096a610957600193611e8a565b848060a01b0391549060031b1c166132d7565b500161093e565b503461031b57604036600319011261031b5761098b611dd7565b6001600160a01b03168152602c602052604081208054602435929083101561031b5760206109b98484611eb6565b905460405160039290921b1c6001600160a01b03168152f35b503461031b57602036600319011261031b576080906040906001600160a01b036109fa611dd7565b168152601860205220805490600260018201549101549060ff604051938181161515855260081c161515602084015260408301526060820152f35b503461031b578060031936011261031b576020610357612432565b503461031b57602036600319011261031b576020610a8e610a6f611dd7565b6001600160a01b03165f90815260186020526040902060020154151590565b6040519015158152f35b503461031b578060031936011261031b5760135460145460408051600f84810b825260809490941d90930b6020840152820152606090f35b503461031b576040610aea610ae436611e50565b91612178565b82519182526020820152f35b503461031b578060031936011261031b57602090604051908152f35b503461031b57602036600319011261031b57610b2c611dd7565b610b34612495565b6001600160a01b038116908115610cbb576001600160a01b0381165f90815260186020526040902060020154610cac576040516080810181811067ffffffffffffffff821117610c98576040528381526002602082016001815260408301868152610bd860608501924284528789526018602052604089209551151560ff80198854169116178655511515859061ff00825491151560081b169061ff001916179055565b51600184015551910155601554600160401b811015610c845790610c2f81610c0b846001610c3496016015556015611eb6565b81546001600160a01b0393841660039290921b91821b9390911b1916919091179055565b6125ab565b610c3c612432565b818352602460205280604084205560275415610c7b575b507f9808313031a8f4caa534c417adad16800af7317516eff29a2d37cec0ffb244db8280a280f35b6027555f610c53565b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b85526041600452602485fd5b630fad09e160e11b8352600483fd5b6365da5bb960e11b8352600483fd5b503461031b57602036600319011261031b576040809160043581526025602052206001815491015482519182526020820152f35b503461031b57602036600319011261031b57610d18611dd7565b906001600160a01b038216610d3e575050610d3161342a565b505b602060405160018152f35b6001600160a01b0382165f9081526018602052604090206002015415610d775750610d68906132d7565b50610d7161342a565b50610d33565b6325d939f560e01b8152600490fd5b503461031b57602036600319011261031b57610da0611dd7565b610da8612887565b610db06128a2565b600254604051621e403d60e21b81526001600160a01b039283166004820181905292909160a0918391602491839160081c165afa90811561129b57839161121f575b50511561121057808252602c6020526040822060405190816020825491828152019185526020852090855b8181106111f15750505081610e33910382612010565b610e3b61246a565b9280915b8051831015611177576001600160a01b03610e5a848361211b565b511692610e66846132d7565b50610e6f61342a565b5084835260286020526040832060018060a01b0385165f5260205260405f2060405190610e9b82611fc4565b60028154918284526001810154602085015201548060408401528115611169579081898093116110ac575b5050508484526022602052604084208785526020526001604085200154815111155f1461108c578051858552602260205260408520888652602052610f1360016040872001918254612032565b90555b8684526025602052604084206001015481511161107557518684526025602052610f4860016040862001918254612032565b90555b84835260296020526040832060018060a01b0385165f5260205260405f2091835b835481101561101657806001610f83819387611ecb565b500154610f908287611ecb565b5054908888526023602052604088208189526020528160408920541015610fee575b80885260266020528160408920541015610fcf575b505001610f6c565b87526026602052610fe560408820918254612032565b90555f80610fc7565b8888526023602052604088208189526020526040882061100f838254612032565b9055610fb2565b50959360019250858452602960205260408420838060a01b0382165f5260205261104260405f2061212f565b85845260286020526040842090838060a01b03165f526020525f600260408220828155828582015501555b019193610e3f565b508583526025602052826001604082200155610f4b565b848452602260205260408420878552602052836001604082200155610f16565b6110bf926110b991612032565b90611f02565b85855260226020526040852088865260205280604086205410155f1461114c5785855260226020526040852088865260205260408520611100828254612032565b90555b87855260256020526040852054811161113857878552602560205261112d60408620918254612032565b90555b865f80610ec6565b508684526025602052836040812055611130565b858552602260205260408520888652602052846040812055611103565b50505060019195935061106d565b8390818352602c60205260408320805490848155816111d3575b505060207feaafa67bd3aa4bb44bce0c035314029d39227a502ac081269bdd5989e1aa592b91838552602a825284604081205551604051908152a26001805580f35b845260208420908101905b81811015611191578481556001016111de565b82546001600160a01b0316845260209093019260019283019201610e1d565b630139629360e11b8252600482fd5b905060a0813d60a011611293575b8161123a60a09383612010565b810103126105d7576040519060a0820182811067ffffffffffffffff821117610c98579060809160405280518352602081015160208401526040810151604084015260608101516060840152015160808201525f610df2565b3d915061122d565b6040513d85823e3d90fd5b503461031b57604036600319011261031b5760406112c2611ded565b91600435815280602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b503461031b57602036600319011261031b576020906040906001600160a01b03611317611dd7565b168152601e83522054604051908152f35b503461031b57602036600319011261031b57611342611dd7565b6001600160a01b0381165f90815260186020526040902060020154156113745761136b906132d7565b5061065961342a565b6325d939f560e01b8252600482fd5b503461031b57602036600319011261031b5760209060ff906040906001600160a01b036113ae611dd7565b168152601884522054166040519015158152f35b503461031b57602036600319011261031b576020906040906001600160a01b036113ea611dd7565b168152602183522054604051908152f35b503461031b57602036600319011261031b57611415611dd7565b6001600160a01b0381165f9081526018602052604090206002015415611374576001600160a01b03168082526022602090815260408084209284526024825280842054845291815291819020549051908152f35b611e03565b503461031b57604036600319011261031b57602061035761148d611dd7565b6024359061208d565b503461031b578060031936011261031b57602060405160648152f35b503461031b57604036600319011261031b576114cc611dd7565b6114d4612887565b6114dc6128a2565b338252602b6020526040822054620d2f00810180911161152e57421061151f5761150a9060243590336128d4565b338152602b6020524260408220556001805580f35b630618259b60e11b8252600482fd5b634e487b7160e01b83526011600452602483fd5b503461031b578060031936011261031b57602060ff600254166040519015158152f35b503461031b57604036600319011261031b5760043567ffffffffffffffff81116116d757611597903690600401611e1f565b60243567ffffffffffffffff81116116d3576115b7903690600401611e1f565b916115c0612887565b6115c86128a2565b801580156116c9575b6116ba57338552602b6020526040852054620d2f0081018091116116a65742106116975784805b8282106116775761271091501161166857845b8181106116285785338152602b6020524260408220556001805580f35b61163381838761207d565b35906001600160a01b03821682036116645761165e60019261165683888861207d565b3590336128d4565b0161160b565b8680fd5b63585b926360e01b8552600485fd5b61168f60019161168884888861207d565b3590612070565b9101906115f8565b630618259b60e11b8552600485fd5b634e487b7160e01b86526011600452602486fd5b63512509d360e11b8552600485fd5b50828114156115d1565b8380fd5b5080fd5b503461031b57602036600319011261031b5760206103576116fa611dd7565b61203f565b503461031b57602036600319011261031b576040906001600160a01b03611724611dd7565b168152601c60205220600181549101549061042a6040519282849360801d90600f0b846040919493926060820195600f0b8252600f0b60208201520152565b503461031b57602036600319011261031b576020906040906001600160a01b0361178b611dd7565b1681528280522054604051908152f35b5034611874576020366003190112611874576117b5611dd7565b6117bd612504565b6001600160a01b0381165f9081526018602052604090206002015415611878576001600160a01b03165f818152601860205260409020805460ff19169055803b1561187457604051639d0ab89f60e01b8152600160048201525f8160248183865af1801561186957611854575b5033907f63a2919109d26a48f4afb06be65bb1e0ef2fe197b3a7f9a58268b211745f8f6d8380a380f35b6118619192505f90612010565b5f905f61182a565b6040513d5f823e3d90fd5b5f80fd5b6325d939f560e01b5f5260045ffd5b346118745760403660031901126118745760206103576118a5611dd7565b60243590611f29565b34611874575f366003190112611874576020604051620d2f008152f35b34611874576040366003190112611874576118e4611dd7565b6118ec611ded565b9060018060a01b03165f52601d60205260405f209060018060a01b03165f52602052608060405f2080549060026001820154910154906040519280600f0b8452841d600f0b602084015260408301526060820152f35b34611874575f366003190112611874576020602754604051908152f35b34611874575f3660031901126118745760025460405160089190911c6001600160a01b03168152602090f35b34611874576020366003190112611874576119a4611dd7565b6119ac612495565b6001600160a01b038116908115611a0c576001600160a01b0381165f9081526018602052604090206002015415611878576119e690612655565b7f94ac12f5301759f065db9de7f23677e50bef009f062b028d4d4612f620f0f5fb5f80a2005b6365da5bb960e11b5f5260045ffd5b3461187457604036600319011261187457611a34611ded565b336001600160a01b03821603611a5257611a5090600435612807565b005b63334bd91960e11b5f5260045ffd5b34611874575f3660031901126118745760206040516161a88152f35b3461187457604036600319011261187457611a50600435611a9c611ded565b90611ab561064f825f525f602052600160405f20015490565b61277f565b34611874576020366003190112611874576001600160a01b03611adb611dd7565b165f526024602052602060405f2054604051908152f35b346118745760203660031901126118745760206103576004355f525f602052600160405f20015490565b3461187457602036600319011261187457611b35611dd7565b611b3d612495565b6001600160a01b038116908115611a0c576001600160a01b0381165f908152601860205260409020600201541561187857815f52601860205260ff60405f2054165f14611bcb57611b8d90612655565b805f5260186020527fb68c252413c1dbd0ed9a087ae0596489741f83c26e283fb6739ca73f79ff8654602060ff60405f2054166040519015158152a2005b611bd4906125ab565b611b8d565b34611874576040366003190112611874576001600160a01b03611bfa611dd7565b165f52601960205260405f206024355f52602052602060405f2054600f0b604051908152f35b3461187457604036600319011261187457611c39611dd7565b602435908115159081830361187457611c50612495565b6001600160a01b0381165f9081526018602052604090206002015415611878576001600160a01b03165f818152601860209081526040909120805461ff00191694151560081b61ff001694909417909355917f07829327d364c8af8ea5af9c81cac2a7ec3ec6a9879d2154b4a65e2c623d79db91604051908152a2005b34611874576020366003190112611874576004355f526026602052602060405f2054604051908152f35b34611874576020366003190112611874576004355f52601a602052602060405f2054600f0b604051908152f35b34611874575f366003190112611874576027545f526025602052602060405f2054604051908152f35b346118745760203660031901126118745760043563ffffffff60e01b811680910361187457602090637965db0b60e01b8114908115611d92575b506040519015158152f35b6301ffc9a760e01b14905082611d87565b34611874576020366003190112611874576020906001600160a01b03611dc7611dd7565b165f52602b825260405f20548152f35b600435906001600160a01b038216820361187457565b602435906001600160a01b038216820361187457565b34611874575f3660031901126118745760206040516127108152f35b9181601f840112156118745782359167ffffffffffffffff8311611874576020808501948460051b01011161187457565b6060906003190112611874576004356001600160a01b038116810361187457906024356001600160a01b0381168103611874579060443590565b601654811015611ea25760165f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611ea2575f5260205f2001905f90565b8054821015611ea2575f5260205f209060011b01905f90565b8115611eee570490565b634e487b7160e01b5f52601260045260245ffd5b81810292918115918404141715611f1557565b634e487b7160e01b5f52601160045260245ffd5b6001600160a01b0381165f90815260186020526040902060020154156118785760018060a01b03165f52602260205260405f20815f5260205260405f2054905f52602560205260405f20548015611fa757670de0b6b3a7640000820291808304670de0b6b3a76400001490151715611f1557611fa491611ee4565b90565b50506016548015611fbf57670de0b6b3a76400000490565b505f90565b6060810190811067ffffffffffffffff821117611fe057604052565b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff821117611fe057604052565b90601f8019910116810190811067ffffffffffffffff821117611fe057604052565b91908203918211611f1557565b6001600160a01b03165f908152602a6020526040902054612710811015611fbf57612710036127108111611f155790565b91908201809211611f1557565b9190811015611ea25760051b0190565b6001600160a01b0381165f9081526018602052604090206002015415611878576120b6816132d7565b506120bf61342a565b5060018060a01b03165f52602260205260405f20815f5260205260405f2054905f52602560205260405f20548015611fa757670de0b6b3a7640000820291808304670de0b6b3a76400001490151715611f1557611fa491611ee4565b8051821015611ea25760209160051b010190565b8054905f81558161213e575050565b6001600160ff1b0382168203611f15575f5260205f209060011b8101905b818110612167575050565b5f808255600182015560020161215c565b6001600160a01b0382165f90815260186020526040902060020154929392156118785783159182801561240d575b612400576002546040516370a0823160e01b81526001600160a01b03938416600482015260089190911c90921692602083602481875afa928315611869575f936123c9575b506020600494604051958680926318160ddd60e01b82525afa938415611869575f94612395575b508315801561238d575b61236e5750604051635a38556f60e11b81526001600160a01b0391909116929091602083600481875afa928315611869575f93612337575b506020600494604051958680926318160ddd60e01b82525afa938415611869575f94612303575b50600b5493600c54936040519460c086019686881067ffffffffffffffff891117611fe0576122c99760405286526020860152604085015260608401528560808401525f60a0840152613537565b9161271083106122f9575b6161a883116122ef575b6122eb8361271092611f02565b0490565b6161a892506122de565b61271092506122d4565b9093506020813d60201161232f575b8161231f60209383612010565b810103126118745751925f61227b565b3d9150612312565b9392506020843d602011612366575b8161235360209383612010565b8101031261187457925191926020612254565b3d9150612346565b925050506127108302928304612710141715611f155761271080920490565b50821561221c565b9093506020813d6020116123c1575b816123b160209383612010565b810103126118745751925f612212565b3d91506123a4565b9392506020843d6020116123f8575b816123e560209383612010565b81010312611874579251919260206121eb565b3d91506123d8565b5050509050612710905f90565b506001600160a01b0381165f9081526018602052604090205460081c60ff16156121a6565b62093a80420462093a8081029080820462093a801490151715611f155790565b67ffffffffffffffff8111611fe05760051b60200190565b62093a80420460018101809111611f155762093a8081029080820462093a801490151715611f155790565b335f9081527fbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00c602052604090205460ff16156124cd57565b63e2517d3f60e01b5f52336004527ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d4201460245260445ffd5b335f9081527fac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668d602052604090205460ff161561253c57565b63e2517d3f60e01b5f52336004527f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb60245260445ffd5b5f8181526020818152604080832033845290915290205460ff16156125955750565b63e2517d3f60e01b5f523360045260245260445ffd5b6001600160a01b0381165f9081526018602052604090206002015415611878576001600160a01b0381165f8181526018602052604090205490919060ff1661264657815f52601860205260405f20600160ff1982541617905560165490600160401b821015611fe057610c0b82600161262994016016556016611eb6565b6016545f19810191908211611f15575f52601760205260405f2055565b63580aedcf60e01b5f5260045ffd5b6001600160a01b0381165f9081526018602052604090206002015415611878576001600160a01b03165f8181526018602052604090205460ff1615612770575f818152601860209081526040808320805460ff1916905560179091529020546016545f198101908111611f1557808203612735575b50506016548015612721575f19016126fb6126e6826016611eb6565b81549060018060a01b039060031b1b19169055565b601655805f5260176020525f60408120555f52601860205260405f2060ff198154169055565b634e487b7160e01b5f52603160045260245ffd5b61273e90611e8a565b905460039190911b1c6001600160a01b031661275d81610c0b84611e8a565b5f52601760205260405f20555f806126ca565b63d4220bed60e01b5f5260045ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff16612801575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff1615612801575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b60ff6002541661289357565b63d93c066560e01b5f5260045ffd5b6002600154146128b3576002600155565b633ee5aeb560e01b5f5260045ffd5b519064ffffffffff8216820361187457565b90916001600160a01b038316908115611a0c576001600160a01b0384165f908152601860205260409020600201541561187857815f52601860205260ff60405f20541615612770576127108111612e905761292e846132d7565b5061293761342a565b5061294061246a565b60025460405163f1380ea960e01b815260089190911c6001600160a01b0316949190606081600481895afa908115611869575f905f92613280575b5064ffffffffff8061298f93169116611f02565b96871561327157604051630481930d60e21b81526001600160a01b0390931660048401819052976020846024818a5afa938415611869575f9461323c575b5060206129dc60249286611ee4565b976040519283809263394b295360e11b82528d60048301525afa8015611869575f906131fe575b64ffffffffff91501696828811156131ef57885f52602860205260405f20865f5260205260405f209660405197612a3989611fc4565b8054808a52600260018301549260208c0193845201548060408c015281612fbd575b505f91508190508715612e9f575050895f52602a602052612710612a838760405f2054612070565b11612e9057612a958661271092611f02565b0494612aaa612aa4858b612032565b87611f02565b91875f52602260205260405f20855f5260205260405f20612acc848254612070565b9055875f52602260205260405f20855f52602052600160405f2001612af2888254612070565b9055845f52602560205260405f20612b0b848254612070565b9055845f526025602052600160405f2001612b27888254612070565b905560025460405163719f308960e01b8152600481018d905299905f908b90602490829060081c6001600160a01b03165afa998a15611869575f9a612dbf575b505f5b8a51811015612cd1578664ffffffffff6020612b86848f61211b565b510151161115612cc95780888c8b8215612cbe576001600160701b03612bb2612bbf95612bba9461211b565b515116611f02565b611ee4565b905b8b8b8315612cb357612c0b8364ffffffffff936020935f526023845260405f208585612bed858561211b565b510151165f52845260405f20612c04888254612070565b905561211b565b510151165f52602660205260405f20612c25838254612070565b90558d5f52602960205260405f208b5f526020528b64ffffffffff6020612c508460405f209461211b565b5101511660405193612c6185611ff4565b845260208401528054600160401b811015611fe057612c8591600182018155611ecb565b612ca057825181556020909201516001928301555b01612b6a565b634e487b7160e01b5f525f60045260245ffd5b505060019150612c9a565b505050505f90612bc1565b600190612c9a565b50939a985093509350939496600260405191612cec83611fc4565b8783526020830186815260408401918252895f52602860205260405f208b5f5260205260405f209351845551600184015551910155855f52602a60205260405f20612d38848254612070565b90555115612d77575b50612d725f51602061366c5f395f51905f52935b604051938493846040919493926060820195825260208201520152565b0390a3565b92845f52602c60205260405f20908154600160401b811015611fe0575f51602061366c5f395f51905f5295610c0b82612d72956001612db895018155611eb6565b9350612d41565b9099503d805f833e612dd18183612010565b8101906020818303126118745780519067ffffffffffffffff8211611874570181601f8201121561187457805190612e0882612452565b92612e166040519485612010565b82845260208085019360061b8301019181831161187457602001925b828410612e445750505050985f612b67565b6040848303126118745760405190612e5b82611ff4565b8451906001600160701b0382168203611874578260209260409452612e818388016128c2565b83820152815201930192612e32565b63585b926360e01b5f5260045ffd5b9550985050509693945050825f52602860205260405f20845f526020525f6002604082208281558260018201550155825f52602960205260405f20845f52602052612eec60405f2061212f565b825f52602c60205260405f20915f5b835480821015612f9f5786612f108387611eb6565b905460039190911b1c6001600160a01b031614612f305750600101612efb565b905f97929394959697198201918211611f1557610c0b612f53612f6c9388611eb6565b905460039190911b1c6001600160a01b03169187611eb6565b8354908115612721575f51602061366c5f395f51905f5294612d72925f190190612f996126e68383611eb6565b55612d55565b5050909150612d725f51602061366c5f395f51905f52939495612d55565b9081878096949d9a98939c9997959b9c1161319e575b505050885f52602260205260405f20835f52602052600160405f200154865111155f1461317e578551895f52602260205260405f20845f52602052613020600160405f2001918254612032565b90555b5f83815260256020526040902060010154865111613168578551835f526025602052613057600160405f2001918254612032565b90555b8a5f52602960205260405f20895f5260205260405f20975f5b895481101561311d5780600161308a81938d611ecb565b500154613097828d611ecb565b5054908d5f52602360205260405f20815f526020528160405f205410156130f5575b805f5260266020528160405f205410156130d6575b505001613073565b5f5260266020526130ec60405f20918254612032565b90555f806130ce565b8d5f52602360205260405f20815f5260205260405f20613116838254612032565b90556130b9565b50919395989750919395988a5f52602960205260405f20885f5260205261314660405f2061212f565b518a5f52602a60205261315e60405f20918254612032565b90555f8080612a5b565b825f5260256020525f600160408220015561305a565b885f52602260205260405f20835f526020525f6001604082200155613023565b6131ab926110b991612032565b895f52602260205260405f20845f5260205260405f206131cc828254612032565b9055835f5260256020526131e560405f20918254612032565b9055825f80612fd3565b63823c7e3560e01b5f5260045ffd5b506020813d602011613234575b8161321860209383612010565b810103126118745761322f64ffffffffff916128c2565b612a03565b3d915061320b565b9093506020813d602011613269575b8161325860209383612010565b8101031261187457519260206129cd565b3d915061324b565b63c6d038c160e01b5f5260045ffd5b9150506060813d6060116132cf575b8161329c60609383612010565b81010312611874578064ffffffffff806132c760406132c0602061298f97016128c2565b94016128c2565b93505061297b565b3d915061328f565b6001600160a01b03165f81815260246020526040902054801561280157815f52602260205260405f20815f5260205260405f209160016040519361331a85611ff4565b805485520154602084019081525f905b6101f48210613346575b50505f52602460205260405f20555190565b90924281116134245762093a808101809111611f15578093835f52602360205260405f20825f5260205260405f20549183519262093a8084029380850462093a801490151715611f155787516001948082111561341c576133a691612032565b885284518111613414576133bb818651612032565b85525b855f52602260205260405f20825f526020526133e98860405f20906020600191805184550151910155565b6133f6575b50019061332a565b845f52602360205260405f20905f526020525f60408120555f6133ee565b5f85526133be565b50505f6133a6565b92613334565b6027548015611fbf57805f52602560205260405f209060016040519261344f84611ff4565b805484520154602083019081525f905b6101f48210613472575b50506027555190565b90914281116135315762093a808101809111611f15578092815f52602660205260405f20549183519262093a8084029380850462093a801490151715611f1557865160019480821115613529576134c891612032565b875284518111613521576134dd818651612032565b85525b815f5260256020526135018760405f20906020600191805184550151910155565b61350e575b50019061345f565b5f5260266020525f60408120555f613506565b5f85526134e0565b50505f6134c8565b91613469565b608083015190811590818015613663575b6136585767058d15e17628000083029183830467058d15e176280000141715611f1557670de0b6b3a76400008402908415948204670de0b6b3a764000014851715611f15575f94811515908161364f575b506135fa575b50506135cb92670de0b6b3a76400006135b89204612070565b8181116135f3575b8351612bba91611f02565b9060208101518083106135eb575b50518082116135e6575090565b905090565b91505f6135d9565b50806135c0565b61360a9194506060860151611f02565b90670853a0d2313c0000820291808304670853a0d2313c00001490151715611f1557670de0b6b3a76400006136456135cb956135b894611ee4565b945081925061359f565b9050155f613599565b505050506020015190565b50831561354856feba96fb19972930bda84dd5c49e835c4975aedb6dd8664e174c08d072662f518fa2646970667358221220a98ced233e935d17f34c5171d484c66832ff4e366392bf49a2a41b3186287f4864736f6c634300081e0033",
1421
+ "bytecode": "0x6080346100cd57601f613a9138819003918201601f19168301916001600160401b038311848410176100d1578084926020946040528339810103126100cd57516001600160a01b0381168082036100cd5760018055156100be5760028054610100600160a81b03191660089290921b610100600160a81b0316919091179055610087336100e5565b506100913361015b565b5061009b336101ee565b506161a8600b55612710600c5562093a80600d5560405161378f90816102828239f35b63c6d038c160e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b0381165f9081525f516020613a715f395f51905f52602052604090205460ff16610156576001600160a01b03165f8181525f516020613a715f395f51905f5260205260408120805460ff191660011790553391905f516020613a115f395f51905f528180a4600190565b505f90565b6001600160a01b0381165f9081525f516020613a315f395f51905f52602052604090205460ff16610156576001600160a01b03165f8181525f516020613a315f395f51905f5260205260408120805460ff191660011790553391907ffda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014905f516020613a115f395f51905f529080a4600190565b6001600160a01b0381165f9081525f516020613a515f395f51905f52602052604090205460ff16610156576001600160a01b03165f8181525f516020613a515f395f51905f5260205260408120805460ff191660011790553391907f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb905f516020613a115f395f51905f529080a460019056fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a714611a6f5750806306aba0e114611a465780630a7486c71461147b5780630c42320114611a1c578063103490f91461197a5780631c3ebaeb1461147b578063248a9ca31461195c578063289f338f146119245780632f2ff15d146118f3578063315865df146118d757806336568abe146118915780633a0451451461181b5780633b92eb23146117ef57806348264997146117d25780634e7968e3146117825780634f6ffd0714611765578063507ba5e21461173e5780635baa02be1461171b5780635c679f7b146115a25780635c975abb146115805780635f74bbde146114ca57806366351557146114af5780636ca32ae7146114805780637001f4bb1461147b57806372be527614611426578063776c01c4146113e957806380c0ca451461139657806391d148541461134e57806396c5517514610e0c5780639c31c8fb14610d995780639d17505314610d665780639da882ac14610c3d5780639eeb400714610bed578063a217fddf14610bd3578063a85bde9d14610b98578063b4bb008514610a3f578063b97dd9e214610a24578063b9a09fd5146109c1578063bb3d832f14610960578063c3a6ca1314610912578063cffd31dd146107b3578063d547741f14610778578063d6585ecf14610750578063d8d1a65714610596578063d93c6ede14610553578063dcda162c1461052b578063e75ec699146104c4578063ec73d9061461048b578063efe97d0514610468578063f0164ca01461026f5763f4359ce51461024f575f80fd5b3461026c578060031936011261026c57602060405162093a808152f35b80fd5b503461026c57602036600319011261026c57610289611ade565b610291612982565b61029961299d565b6001600160a01b03168082526014602052604082205460ff1661045957338252601c60205260408220815f5260205260405f20906040516102d981611d3e565b8254815260018301549060406002602083019584875201549101521561044a57338352601c60205260408320815f526020525f6002604082208281558260018201550155338352601d6020526103356040842054925183611c4e565b338452601d6020526040842055338352601f6020526040832091835b83548082101561042f57836103668387611b75565b905460039190911b1c6001600160a01b0316146103865750600101610351565b929391925f19810190811161041b57826103f85f5160206136fa5f395f51905f5295936103d46103bb6103fd95604098611b75565b905460039190911b1c6001600160a01b03169184611b75565b9080546001600160a01b0360039390931b83811b199091169290931690921b179055565b6120f7565b338552601d6020528185205482519182526020820152a26001805580f35b634e487b7160e01b86526011600452602486fd5b50505f5160206136fa5f395f51905f529192506040906103fd565b632ada3b3f60e21b8352600483fd5b63e7e28cd960e01b8252600482fd5b503461026c578060031936011261026c5760206104836120cc565b604051908152f35b503461026c57602036600319011261026c576020906040906001600160a01b036104b3611ade565b168152601d83522054604051908152f35b503461026c57604036600319011261026c5760406104e0611ade565b916104e9611af4565b9260018060a01b03168152601c602052209060018060a01b03165f5260205260405f2080546105276002600184015493015460405193849384611b8a565b0390f35b503461026c578060031936011261026c5760206040515f51602061373a5f395f51905f528152f35b503461026c57604036600319011261026c576020906040906001600160a01b0361057b611ade565b16815260178352818120602435825283522054604051908152f35b503461026c57602036600319011261026c57600435908115159182810361074c576105bf612198565b156106e9576105cc612982565b600160ff1960025416176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1604051906012548083528260208101601284526020842092845b8181106106c757505061063292500383611d74565b805b82518110156106a7576001600160a01b0361064f8285611dd2565b5116803b156106a35782604051639d0ab89f60e01b8152866004820152818160248183875af161068e575b505090610688600192612334565b01610634565b8161069891611d74565b6106a357825f61067a565b8280fd5b50915f5160206136da5f395f51905f5291506020905b604051908152a180f35b84546001600160a01b031683526001948501948794506020909301920161061d565b9060025460ff81161561073d575f5160206136da5f395f51905f529160209160ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa82604051338152a16106bd565b638dfc202b60e01b8352600483fd5b5080fd5b503461026c578060031936011261026c5760206040515f51602061371a5f395f51905f528152f35b503461026c57604036600319011261026c576107af600435610798611af4565b906107aa6107a582611bb8565b6121f4565b6122b4565b5080f35b503461026c578060031936011261026c57806012546107d1816120b5565b916107df6040519384611d74565b8183526107eb826120b5565b602084019490601f1901368637610801836120b5565b61080e6040519182611d74565b83815261081a846120b5565b602082019490601f19013686378290601b545b8183106108ba575050506040519460608601906060875251809152608086019690835b81811061089b57505050602090858703828701525195868152019290945b80861061088357505082935060408301520390f35b9092602080600192865181520194019501949061086e565b82516001600160a01b0316895260209889019890920191600101610850565b9091946109066001916108f484898c6108ee9a9e9a6108d883611b49565b898060a01b0391549060031b1c16928392611dd2565b52612656565b90816109008a89611dd2565b52611ca1565b9501919097939761082d565b503461026c57604036600319011261026c5760409081906001600160a01b03610939611ade565b16815260166020528181206024358252602052206001815491015482519182526020820152f35b503461026c57604036600319011261026c5761097a611ade565b6001600160a01b03168152601f602052604081208054602435929083101561026c5760206109a88484611b75565b905460405160039290921b1c6001600160a01b03168152f35b503461026c57602036600319011261026c576080906040906001600160a01b036109e9611ade565b168152601460205220805490600260018201549101549060ff604051938181161515855260081c161515602084015260408301526060820152f35b503461026c578060031936011261026c576020610483612095565b5034610b4a576040366003190112610b4a57610a59611ade565b610a61611b0a565b90610a6a612982565b610a72612198565b6001600160a01b038116908115610b8957815f52601460205260ff60405f2054161580610b82575b610b7357815f52601460205260ff60405f20541680610b6b575b610b5c578215610b4e57610ac790612334565b803b15610b4a57604051639d0ab89f60e01b815291151560048301819052915f8160248183865af18015610b3f57610b2a575b506040519182527fed7f15007d2fa386f7b65d4b77efa7ef6422cc126225238b14ab707ce5dcc3a160203393a380f35b610b379193505f90611d74565b5f915f610afa565b6040513d5f823e3d90fd5b5f80fd5b610b5790613502565b610ac7565b63580aedcf60e01b5f5260045ffd5b508215610ab4565b63d4220bed60e01b5f5260045ffd5b5082610a9a565b6365da5bb960e11b5f5260045ffd5b34610b4a576060366003190112610b4a576040610bc7610bb6611ade565b610bbe611af4565b60443591611de6565b82519182526020820152f35b34610b4a575f366003190112610b4a5760206040515f8152f35b34610b4a576040366003190112610b4a57610c06611ade565b610c0e611af4565b6001600160a01b039182165f908152601560209081526040808320949093168252928352819020549051908152f35b34610b4a576020366003190112610b4a57610c56611ade565b610c5e612982565b610c6661213c565b6001600160a01b038116908115610b8957610c8090613502565b604051608081016001600160401b03811182821017610d52576040526001815260026020820160018152604083015f8152610ce16060850192428452865f52601460205260405f209551151560ff8019885416911617865551151585611ba0565b51600184015551910155610cf3612095565b815f52601860205260405f205415610d3f575b601b5415610d36575b507f9808313031a8f4caa534c417adad16800af7317516eff29a2d37cec0ffb244db5f80a2005b601b5581610d0f565b815f5260186020528060405f2055610d06565b634e487b7160e01b5f52604160045260245ffd5b34610b4a576020366003190112610b4a576004355f5260196020526040805f206001815491015482519182526020820152f35b34610b4a576020366003190112610b4a57610db2611ade565b610dba612982565b6001600160a01b03811680610de0575050610dd3613376565b505b602060405160018152f35b5f52601460205260ff60405f20541615610b7357610dfd906131a4565b50610e06613376565b50610dd5565b34610b4a576020366003190112610b4a57610e25611ade565b610e2d612982565b610e3561299d565b600254604051621e403d60e21b81526001600160a01b03928316600482018190529260089290921c9091169060a081602481855afa908115610b3f575f916112d3575b5051156112c457815f52601f60205260405f2091604051928381549182825260208201905f5260205f20925f5b8181106112a2575050610eba92500384611d74565b60046060610ec66120cc565b936040519283809263f1380ea960e01b82525afa908115610b3f57610eff915f915f91611264575b5064ffffffffff8091169116611bc9565b905f5b84518110156111ec576001906001600160a01b03610f208288611dd2565b5116610f2b816131a4565b50610f34613376565b50835f52601c60205260405f20838060a01b0382165f5260205260405f2060405190610f5f82611d3e565b8688600283549384865288810154602087015201546040850193818552156111e15711806111d4575b610fc1575b505050835f52601c60205260405f2090838060a01b03165f526020525f600260408220828155828582015501555b01610f02565b61101961101e92855f52601760205260405f2081515f5260205260405f20548551809110156111aa575b5080515f52601a60205260405f205485518091101561118a575b506110138b86519251611c4e565b90611bc9565b611bdc565b806110e1575b50815f52601660205260405f20875f526020528360405f200154815111155f146110c2578051825f52601660205260405f20885f5260205261106d8560405f2001918254611c4e565b90555b5f8781526019602052604090208401548151116110ac5751865f5260196020526110a18460405f2001918254611c4e565b90555b878086610f8d565b50855f5260196020525f836040822001556110a4565b815f52601660205260405f20875f526020525f84604082200155611070565b825f52601660205260405f20885f526020528060405f205410155f1461116d57825f52601660205260405f20885f5260205260405f20611122828254611c4e565b90555b5f88815260196020526040902054811161115957875f52601960205261115060405f20918254611c4e565b90555b88611024565b50865f5260196020525f6040812055611153565b825f52601660205260405f20885f526020525f6040812055611125565b81515f52601a6020526111a260405f20918254611c4e565b90558c611005565b865f52601760205260405f2082515f526020526111cc60405f20918254611c4e565b90558c610feb565b506301dfe2008114610f88565b505050505050610fbb565b5083815f52601f60205260405f208054905f815581611246575b837feaafa67bd3aa4bb44bce0c035314029d39227a502ac081269bdd5989e1aa592b602085835f52601d82525f604081205551604051908152a260018055005b5f5260205f20908101905b81811015611206575f8155600101611251565b64ffffffffff92508291506112909060603d60601161129b575b6112888183611d74565b810190611da9565b939150929150610eee565b503d61127e565b84546001600160a01b0316835260019485019488945060209093019201610ea5565b630139629360e11b5f5260045ffd5b905060a0813d60a011611346575b816112ee60a09383611d74565b81010312610b4a576040519060a08201906001600160401b03821183831017610d5257608091604052805183526020810151602084015260408101516040840152606081015160608401520151608082015283610e78565b3d91506112e1565b34610b4a576040366003190112610b4a57611367611af4565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610b4a576040366003190112610b4a576113af611ade565b6113b7611af4565b6001600160a01b039182165f908152601c60209081526040808320949093168252928352819020600101549051908152f35b34610b4a576020366003190112610b4a576001600160a01b0361140a611ade565b165f526014602052602060ff60405f2054166040519015158152f35b34610b4a576020366003190112610b4a576001600160a01b03611447611ade565b168015610b8957805f52601660205260405f20905f52601860205260405f20545f52602052602060405f2054604051908152f35b611ac2565b34610b4a576040366003190112610b4a576040610bc761149e611ade565b6114a6612982565b60243590611cc2565b34610b4a575f366003190112610b4a57602060405160648152f35b34610b4a576040366003190112610b4a576114e3611ade565b6114eb612982565b6114f361299d565b335f52601e60205260405f2060018060a01b0382165f5260205260405f2054620d2f00810180911161156c57421061155d5761153260243582336129bd565b335f908152601e602090815260408083206001600160a01b0390941683529290522042905560018055005b630618259b60e11b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b34610b4a575f366003190112610b4a57602060ff600254166040519015158152f35b34610b4a576040366003190112610b4a576004356001600160401b038111610b4a576115d2903690600401611b19565b906024356001600160401b038111610b4a576115f2903690600401611b19565b9190926115fd612982565b61160561299d565b80158015611711575b611702575f805b8282106116e2576127109150116116d3575f5b8181106116355760018055005b335f52601e60205260405f2061165461164f838587611c91565b611cae565b60018060a01b03165f5260205260405f2054620d2f00810180911161156c57421061155d57806116a061168d61164f6001948688611c91565b61169883888a611c91565b3590336129bd565b335f52601e60205260405f206116ba61164f838688611c91565b838060a01b03165f5260205260405f2042905501611628565b63585b926360e01b5f5260045ffd5b6116fa6001916116f384888a611c91565b3590611ca1565b910190611615565b63512509d360e11b5f5260045ffd5b508281141561160e565b34610b4a576020366003190112610b4a576020610483611739611ade565b611c5b565b34610b4a576040366003190112610b4a576040610bc761175c611ade565b60243590611bfa565b34610b4a575f366003190112610b4a576020604051620d2f008152f35b34610b4a576040366003190112610b4a5761179b611ade565b6117a3611af4565b6001600160a01b039182165f908152601e60209081526040808320949093168252928352819020549051908152f35b34610b4a575f366003190112610b4a576020601b54604051908152f35b34610b4a575f366003190112610b4a5760025460405160089190911c6001600160a01b03168152602090f35b34610b4a576020366003190112610b4a57611834611ade565b61183c61213c565b6001600160a01b038116908115610b8957815f52601460205260ff60405f20541615610b735761186b90612334565b7f94ac12f5301759f065db9de7f23677e50bef009f062b028d4d4612f620f0f5fb5f80a2005b34610b4a576040366003190112610b4a576118aa611af4565b336001600160a01b038216036118c8576118c6906004356122b4565b005b63334bd91960e11b5f5260045ffd5b34610b4a575f366003190112610b4a5760206040516161a88152f35b34610b4a576040366003190112610b4a576118c6600435611912611af4565b9061191f6107a582611bb8565b61222c565b34610b4a576020366003190112610b4a576001600160a01b03611945611ade565b165f526018602052602060405f2054604051908152f35b34610b4a576020366003190112610b4a576020610483600435611bb8565b34610b4a576040366003190112610b4a57611993611ade565b61199b611b0a565b906119a461213c565b6001600160a01b0316908115610b8957815f52601460205260ff60405f20541615610b735760207f07829327d364c8af8ea5af9c81cac2a7ec3ec6a9879d2154b4a65e2c623d79db91835f5260148252611a018160405f20611ba0565b835f526014825242600260405f2001556040519015158152a2005b34610b4a576020366003190112610b4a576004355f52601a602052602060405f2054604051908152f35b34610b4a575f366003190112610b4a57601b545f526019602052602060405f2054604051908152f35b34610b4a576020366003190112610b4a576004359063ffffffff60e01b8216809203610b4a57602091637965db0b60e01b8114908115611ab1575b5015158152f35b6301ffc9a760e01b14905083611aaa565b34610b4a575f366003190112610b4a5760206040516127108152f35b600435906001600160a01b0382168203610b4a57565b602435906001600160a01b0382168203610b4a57565b602435908115158203610b4a57565b9181601f84011215610b4a578235916001600160401b038311610b4a576020808501948460051b010111610b4a57565b601254811015611b615760125f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611b61575f5260205f2001905f90565b6040919493926060820195825260208201520152565b9061ff00825491151560081b169061ff001916179055565b5f525f602052600160405f20015490565b8181029291811591840414171561156c57565b8115611be6570490565b634e487b7160e01b5f52601260045260245ffd5b611c0a82611c1092949394612656565b9261280f565b918215611c4657670de0b6b3a7640000810290808204670de0b6b3a7640000149015171561156c5782611c4291611bdc565b9190565b505f91508190565b9190820391821161156c57565b6001600160a01b03165f908152601d6020526040902054612710811015611c8c5761271003612710811161156c5790565b505f90565b9190811015611b615760051b0190565b9190820180921161156c57565b356001600160a01b0381168103610b4a5790565b9091906001600160a01b038116908115610b8957611cdf906131a4565b50611ce8613376565b505f52601660205260405f20825f5260205260405f2054915f52601960205260405f2054918215611c4657670de0b6b3a7640000810290808204670de0b6b3a7640000149015171561156c5782611c4291611bdc565b606081019081106001600160401b03821117610d5257604052565b604081019081106001600160401b03821117610d5257604052565b601f909101601f19168101906001600160401b03821190821017610d5257604052565b519064ffffffffff82168203610b4a57565b90816060910312610b4a57805191611dcf6040611dc860208501611d97565b9301611d97565b90565b8051821015611b615760209160051b010190565b9192916001600160a01b0316908115612086576001600160a01b0316908115610b8957815f52601460205260ff60405f20541615610b7357831561207a57815f52601460205260ff60405f205460081c161561205d576002546040516370a0823160e01b8152600481019290925260081c6001600160a01b031691602082602481865afa8015610b3f575f9061202a575b6004925060208194604051948580926318160ddd60e01b82525afa928315610b3f575f93611ff6575b508210611fed575b81158015611fe5575b611fc757604051635a38556f60e11b815290602082600481845afa918215610b3f575f92611f92575b50602060049160405192838092632964b67b60e21b82525afa908115610b3f575f91611f60575b50600b5492600c54946040519260c084019484861060018060401b03871117610d52576161a897611f5c97611f559760405286526020860152604085015260608401528760808401525f60a0840152613585565b8094611bc9565b0490565b90506020813d602011611f8a575b81611f7b60209383611d74565b81010312610b4a57515f611f01565b3d9150611f6e565b9091506020813d602011611fbf575b81611fae60209383611d74565b81010312610b4a5751906020611eda565b3d9150611fa1565b50505061271082029182046127100361156c576161a8612710920490565b508215611eb1565b91508091611ea8565b9092506020813d602011612022575b8161201260209383611d74565b81010312610b4a5751915f611ea0565b3d9150612005565b506020823d602011612055575b8161204460209383611d74565b81010312610b4a5760049151611e77565b3d9150612037565b505061271082029182046127100361156c576161a8612710920490565b50509050612710905f90565b63e6c4247b60e01b5f5260045ffd5b62093a80420462093a8081029080820462093a80149015171561156c5790565b6001600160401b038111610d525760051b60200190565b62093a8042046001810180911161156c5762093a8081029080820462093a80149015171561156c5790565b80548015612128575f1901906121256121108383611b75565b81549060018060a01b039060031b1b19169055565b55565b634e487b7160e01b5f52603160045260245ffd5b335f9081527fbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00c602052604090205460ff161561217457565b63e2517d3f60e01b5f52336004525f51602061373a5f395f51905f5260245260445ffd5b335f9081527fac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668d602052604090205460ff16156121d057565b63e2517d3f60e01b5f52336004525f51602061371a5f395f51905f5260245260445ffd5b5f8181526020818152604080832033845290915290205460ff16156122165750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff166122ae575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16156122ae575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b6001600160a01b0381165f8181526014602052604090205490919060ff1615610b735761237490825f52601460205260405f2060ff1981541690556131a4565b5061237d613376565b506123866120cc565b5f82815260166020908152604080832084845282528083208054600190910154601990935292205491929091831161263557805f52601960205260405f206123cf848254611c4e565b90555b5f81815260196020526040902060010154821161261f57805f526019602052600160405f2001612403838254611c4e565b90555b5f84815260166020908152604080832084845290915280822082815560010191909155600254905163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa8015610b3f5764ffffffffff915f916125fd575b501662093a8081029080820462093a80149015171561156c579061248c8594939282611ca1565b905b818111156125655750507fce362b7a1360d8d2e178b7890ae09c938033b09f9c074ca57b4660b032a3daeb9160409182519182526020820152a2805f52601460205242600260405f200155805f52601360205260405f20546012545f19810190811161156c5780820361252a575b50506012548015612128575f1901612518612110826012611b75565b6012555f5260136020525f6040812055565b61253390611b49565b905460039190911b1c6001600160a01b0316612552816103d484611b49565b5f52601360205260405f20555f806124fc565b909192935f52601760205260405f20815f5260205260405f20548061259d575b5062093a80810180911161156c57908493929161248e565b5f828152601a602052604090205481116125e957815f52601a6020526125c860405f20918254611c4e565b90555b845f52601760205260405f20815f526020525f60408120555f612585565b50805f52601a6020525f60408120556125cb565b612616915060603d60601161129b576112888183611d74565b5090505f612465565b805f5260196020525f6001604082200155612406565b805f5260196020525f60408120556123d2565b5f19811461156c5760010190565b6001600160a01b03165f818152601860205260409020549290831561280757828410156127eb5760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa908115610b3f576126ca915f915f91611264575064ffffffffff8091169116611bc9565b936301dfe20085036127dc57815f52601660205260405f20815f5260205260405f20916001604051936126fc85611d59565b80548552015493602084019485525f5b6101f48110806127d3575b156127c75762093a80840180941161156c5783835f52601760205260405f20905f5260205260405f20549086519162093a8083029280840462093a80149015171561156c576127698a6127a394611bdc565b875190808211156127bf5761277d91611c4e565b8752875181116127b657612792908851611c4e565b87525b86516127a8575f8652612648565b61270c565b8551612648575f8752612648565b505f8752612795565b50505f61277d565b50955050509150505190565b50868410612717565b63c6d038c160e01b5f5260045ffd5b9092505f52601660205260405f20905f5260205260405f205490565b509150505f90565b601b5491821561297b578183101561296a5760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa908115610b3f5761286e915f915f91611264575064ffffffffff8091169116611bc9565b926301dfe20084036127dc57805f52601960205260405f209060016040519261289684611d59565b80548452015492602083019384525f5b6101f4811080612961575b156129565762093a80830180931161156c57825f52601a60205260405f20549085519162093a8083029280840462093a80149015171561156c576128f88961293294611bdc565b8651908082111561294e5761290c91611c4e565b86528651811161294557612921908751611c4e565b86525b8551612937575f8552612648565b6128a6565b8451612648575f8652612648565b505f8652612924565b50505f61290c565b509450509150505190565b508583106128b1565b91505f52601960205260405f205490565b9150505f90565b60ff6002541661298e57565b63d93c066560e01b5f5260045ffd5b6002600154146129ae576002600155565b633ee5aeb560e01b5f5260045ffd5b6001600160a01b03821692918315610b8957835f52601460205260ff60405f20541615610b735761271083116116d357821515928380613182575b61317357612a05826131a4565b50612a0e613376565b50612a176120cc565b9160018060a01b0360025460081c169460405163f1380ea960e01b81526060816004818a5afa908115610b3f57612a61915f915f91611264575064ffffffffff8091169116611bc9565b946301dfe20086036127dc57604051632c9aab9b60e11b81526001600160a01b039091166004820181905296602082602481845afa918215610b3f575f9261313f575b506040516301f84a1360e01b81526004810189905264ffffffffff8716602482015282602082604481865afa918215610b3f575f9261310b575b50816130f3575b5050602060649160405192838092634bc7fe5160e11b82528c60048301528a60248301528660448301525afa8015610b3f575f906130b5575b64ffffffffff16905062093a80810661309257905b8582111561308357875f52601c60205260405f20895f5260205260405f209260405193612b5f85611d3e565b805480865260026001830154926020880193845201548a8a604089019383855280612e47575b5050505050505f5f915f14612d79575050875f52601d602052612710612baf8660405f2054611ca1565b116116d357612710612bc486612bd993611bc9565b0496611019612bd38885611c4e565b89611bc9565b948615612d6a57885f52601660205260405f20815f5260205260405f20612c01878254611ca1565b9055885f52601660205260405f20815f52602052600160405f2001612c27888254611ca1565b9055805f52601960205260405f20612c40878254611ca1565b90555f526019602052600160405f2001612c5b878254611ca1565b9055875f52601760205260405f20815f5260205260405f20612c7e878254611ca1565b9055805f52601a60205260405f20612c97878254611ca1565b9055600260405191612ca883611d3e565b8783526020830186815260408401918252895f52601c60205260405f208b5f5260205260405f209351845551600184015551910155855f52601d60205260405f20612cf4848254611ca1565b90555115612d22575b50612d1d5f5160206136ba5f395f51905f52935b60405193849384611b8a565b0390a3565b92845f52601f60205260405f20908154600160401b811015610d52575f5160206136ba5f395f51905f52956103d482612d1d956001612d6395018155611b75565b9350612cfd565b635ee9d34160e01b5f5260045ffd5b9596509897965050505050825f52601c60205260405f20845f526020525f6002604082208281558260018201550155825f52601f60205260405f20915f5b835480821015612e295786612dcc8387611b75565b905460039190911b1c6001600160a01b031614612dec5750600101612db7565b919293949596905f19830192831161156c57856103f8612e24926103d46103bb612d1d975f5160206136ba5f395f51905f529b611b75565b612d11565b5050909150612d1d5f5160206136ba5f395f51905f52939495612d11565b818411612e79575b505050505051895f52601d602052612e6c60405f20918254611c4e565b90555f80808a8a82612b85565b61101361101992612e8995611c4e565b80612fda575b508b5f52601660205260405f20895f52602052600160405f200154865111155f14612fba5785518c5f52601660205260405f208a5f52602052612eda600160405f2001918254611c4e565b90555b5f89815260196020526040902060010154865111612fa4578551895f526019602052612f11600160405f2001918254611c4e565b90555b8b5f52601760205260405f2081515f5260205260405f2054865180911015612f7a575b5080515f52601a60205260405f205490865180921015612f5a575b8a8a82612e4f565b515f52601a602052612f7160405f20918254611c4e565b90555f80612f52565b8c5f52601760205260405f2082515f52602052612f9c60405f20918254611c4e565b90555f612f37565b885f5260196020525f6001604082200155612f14565b8b5f52601660205260405f20895f526020525f6001604082200155612edd565b8c5f52601660205260405f208a5f526020528060405f205410155f14613066578c5f52601660205260405f208a5f5260205260405f2061301b828254611c4e565b90555b5f8a815260196020526040902054811161305257895f52601960205261304960405f20918254611c4e565b90555b5f612e8f565b50885f5260196020525f604081205561304c565b8c5f52601660205260405f208a5f526020525f604081205561301e565b63823c7e3560e01b5f5260045ffd5b62093a80900462093a8081029080820462093a80149015171561156c5790612b33565b506020813d6020116130eb575b816130cf60209383611d74565b81010312610b4a576130e664ffffffffff91611d97565b612b1e565b3d91506130c2565b606492935060209161310491611c4e565b9291612ae5565b9091506020813d602011613137575b8161312760209383611d74565b81010312610b4a5751905f612ade565b3d915061311a565b9091506020813d60201161316b575b8161315b60209383611d74565b81010312610b4a5751905f612aa4565b3d915061314e565b6315c1487560e31b5f5260045ffd5b50606481106129f8565b81810392915f13801582851316918412161761156c57565b6001600160a01b03165f8181526018602052604090205480156122ae5760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa908115610b3f5761320e915f915f91611264575064ffffffffff8091169116611bc9565b916301dfe20083036127dc57805f52601660205260405f20825f5260205260405f209260016040519461324086611d59565b805486520154602085019081525f915b6101f4831061326d575b5050505f52601860205260405f20555190565b9091934281116133705762093a80810180911161156c578094845f52601760205260405f20825f5260205260405f20549184519262093a8084029380850462093a80149015171561156c576132c485600195611bdc565b6132cf818b5161318c565b5089519080821115613368576132e491611c4e565b895285518111613360576132f9818751611c4e565b86525b8551613352575f89525b865f52601660205260405f20825f5260205260405f2089518155848751910155613334575b50019190613250565b855f52601760205260405f20905f526020525f60408120555f61332b565b8851613306575f8652613306565b5f86526132fc565b50505f6132e4565b9361325a565b601b548015611c8c5760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa908115610b3f576133cc915f915f91611264575064ffffffffff8091169116611bc9565b906301dfe20082036127dc57805f52601960205260405f20916001604051936133f485611d59565b805485520154602084019081525f915b6101f48310613418575b505050601b555190565b9091924281116134fc5762093a80810180911161156c578093815f52601a60205260405f20549184519262093a8084029380850462093a80149015171561156c5761346585600195611bdc565b613470818a5161318c565b50885190808211156134f45761348591611c4e565b8852855181116134ec5761349a818751611c4e565b86525b85516134de575f88525b815f52601960205260405f20885181558487519101556134cb575b50019190613404565b5f52601a6020525f60408120555f6134c2565b87516134a7575f86526134a7565b5f865261349d565b50505f613485565b9261340e565b6001600160a01b0381165f8181526014602052604090205490919060ff16610b5c575f828152601460205260409020805460ff191660011781554260029091015560125490600160401b821015610d52576103d482600161356894016012556012611b75565b6012545f1981019190821161156c575f52601360205260405f2055565b6080830151908115908180156136b1575b6136a65767058d15e17628000083029183830467058d15e17628000014171561156c57670de0b6b3a76400008402908415948204670de0b6b3a76400001485171561156c575f94811515908161369d575b50613648575b505061361992670de0b6b3a76400006136069204611ca1565b818111613641575b835161101991611bc9565b906020810151808310613639575b5051808211613634575090565b905090565b91505f613627565b508061360e565b6136589194506060860151611bc9565b90670853a0d2313c0000820291808304670853a0d2313c0000149015171561156c57670de0b6b3a76400006136936136199561360694611bdc565b94508192506135ed565b9050155f6135e7565b505050506020015190565b50831561359656feba96fb19972930bda84dd5c49e835c4975aedb6dd8664e174c08d072662f518fed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2ff4f26a807a94b528f4b1525e7409e5f8a61de5ab075eade452ecbad32436e3955c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fbfda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014a2646970667358221220b32b5cf564ec663558f6a8c030cd3a8b04c00eb4a9ae54a18b933e1544eec72064736f6c634300081e00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0dbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00cac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668dad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5",
1422
+ "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a714611a6f5750806306aba0e114611a465780630a7486c71461147b5780630c42320114611a1c578063103490f91461197a5780631c3ebaeb1461147b578063248a9ca31461195c578063289f338f146119245780632f2ff15d146118f3578063315865df146118d757806336568abe146118915780633a0451451461181b5780633b92eb23146117ef57806348264997146117d25780634e7968e3146117825780634f6ffd0714611765578063507ba5e21461173e5780635baa02be1461171b5780635c679f7b146115a25780635c975abb146115805780635f74bbde146114ca57806366351557146114af5780636ca32ae7146114805780637001f4bb1461147b57806372be527614611426578063776c01c4146113e957806380c0ca451461139657806391d148541461134e57806396c5517514610e0c5780639c31c8fb14610d995780639d17505314610d665780639da882ac14610c3d5780639eeb400714610bed578063a217fddf14610bd3578063a85bde9d14610b98578063b4bb008514610a3f578063b97dd9e214610a24578063b9a09fd5146109c1578063bb3d832f14610960578063c3a6ca1314610912578063cffd31dd146107b3578063d547741f14610778578063d6585ecf14610750578063d8d1a65714610596578063d93c6ede14610553578063dcda162c1461052b578063e75ec699146104c4578063ec73d9061461048b578063efe97d0514610468578063f0164ca01461026f5763f4359ce51461024f575f80fd5b3461026c578060031936011261026c57602060405162093a808152f35b80fd5b503461026c57602036600319011261026c57610289611ade565b610291612982565b61029961299d565b6001600160a01b03168082526014602052604082205460ff1661045957338252601c60205260408220815f5260205260405f20906040516102d981611d3e565b8254815260018301549060406002602083019584875201549101521561044a57338352601c60205260408320815f526020525f6002604082208281558260018201550155338352601d6020526103356040842054925183611c4e565b338452601d6020526040842055338352601f6020526040832091835b83548082101561042f57836103668387611b75565b905460039190911b1c6001600160a01b0316146103865750600101610351565b929391925f19810190811161041b57826103f85f5160206136fa5f395f51905f5295936103d46103bb6103fd95604098611b75565b905460039190911b1c6001600160a01b03169184611b75565b9080546001600160a01b0360039390931b83811b199091169290931690921b179055565b6120f7565b338552601d6020528185205482519182526020820152a26001805580f35b634e487b7160e01b86526011600452602486fd5b50505f5160206136fa5f395f51905f529192506040906103fd565b632ada3b3f60e21b8352600483fd5b63e7e28cd960e01b8252600482fd5b503461026c578060031936011261026c5760206104836120cc565b604051908152f35b503461026c57602036600319011261026c576020906040906001600160a01b036104b3611ade565b168152601d83522054604051908152f35b503461026c57604036600319011261026c5760406104e0611ade565b916104e9611af4565b9260018060a01b03168152601c602052209060018060a01b03165f5260205260405f2080546105276002600184015493015460405193849384611b8a565b0390f35b503461026c578060031936011261026c5760206040515f51602061373a5f395f51905f528152f35b503461026c57604036600319011261026c576020906040906001600160a01b0361057b611ade565b16815260178352818120602435825283522054604051908152f35b503461026c57602036600319011261026c57600435908115159182810361074c576105bf612198565b156106e9576105cc612982565b600160ff1960025416176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1604051906012548083528260208101601284526020842092845b8181106106c757505061063292500383611d74565b805b82518110156106a7576001600160a01b0361064f8285611dd2565b5116803b156106a35782604051639d0ab89f60e01b8152866004820152818160248183875af161068e575b505090610688600192612334565b01610634565b8161069891611d74565b6106a357825f61067a565b8280fd5b50915f5160206136da5f395f51905f5291506020905b604051908152a180f35b84546001600160a01b031683526001948501948794506020909301920161061d565b9060025460ff81161561073d575f5160206136da5f395f51905f529160209160ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa82604051338152a16106bd565b638dfc202b60e01b8352600483fd5b5080fd5b503461026c578060031936011261026c5760206040515f51602061371a5f395f51905f528152f35b503461026c57604036600319011261026c576107af600435610798611af4565b906107aa6107a582611bb8565b6121f4565b6122b4565b5080f35b503461026c578060031936011261026c57806012546107d1816120b5565b916107df6040519384611d74565b8183526107eb826120b5565b602084019490601f1901368637610801836120b5565b61080e6040519182611d74565b83815261081a846120b5565b602082019490601f19013686378290601b545b8183106108ba575050506040519460608601906060875251809152608086019690835b81811061089b57505050602090858703828701525195868152019290945b80861061088357505082935060408301520390f35b9092602080600192865181520194019501949061086e565b82516001600160a01b0316895260209889019890920191600101610850565b9091946109066001916108f484898c6108ee9a9e9a6108d883611b49565b898060a01b0391549060031b1c16928392611dd2565b52612656565b90816109008a89611dd2565b52611ca1565b9501919097939761082d565b503461026c57604036600319011261026c5760409081906001600160a01b03610939611ade565b16815260166020528181206024358252602052206001815491015482519182526020820152f35b503461026c57604036600319011261026c5761097a611ade565b6001600160a01b03168152601f602052604081208054602435929083101561026c5760206109a88484611b75565b905460405160039290921b1c6001600160a01b03168152f35b503461026c57602036600319011261026c576080906040906001600160a01b036109e9611ade565b168152601460205220805490600260018201549101549060ff604051938181161515855260081c161515602084015260408301526060820152f35b503461026c578060031936011261026c576020610483612095565b5034610b4a576040366003190112610b4a57610a59611ade565b610a61611b0a565b90610a6a612982565b610a72612198565b6001600160a01b038116908115610b8957815f52601460205260ff60405f2054161580610b82575b610b7357815f52601460205260ff60405f20541680610b6b575b610b5c578215610b4e57610ac790612334565b803b15610b4a57604051639d0ab89f60e01b815291151560048301819052915f8160248183865af18015610b3f57610b2a575b506040519182527fed7f15007d2fa386f7b65d4b77efa7ef6422cc126225238b14ab707ce5dcc3a160203393a380f35b610b379193505f90611d74565b5f915f610afa565b6040513d5f823e3d90fd5b5f80fd5b610b5790613502565b610ac7565b63580aedcf60e01b5f5260045ffd5b508215610ab4565b63d4220bed60e01b5f5260045ffd5b5082610a9a565b6365da5bb960e11b5f5260045ffd5b34610b4a576060366003190112610b4a576040610bc7610bb6611ade565b610bbe611af4565b60443591611de6565b82519182526020820152f35b34610b4a575f366003190112610b4a5760206040515f8152f35b34610b4a576040366003190112610b4a57610c06611ade565b610c0e611af4565b6001600160a01b039182165f908152601560209081526040808320949093168252928352819020549051908152f35b34610b4a576020366003190112610b4a57610c56611ade565b610c5e612982565b610c6661213c565b6001600160a01b038116908115610b8957610c8090613502565b604051608081016001600160401b03811182821017610d52576040526001815260026020820160018152604083015f8152610ce16060850192428452865f52601460205260405f209551151560ff8019885416911617865551151585611ba0565b51600184015551910155610cf3612095565b815f52601860205260405f205415610d3f575b601b5415610d36575b507f9808313031a8f4caa534c417adad16800af7317516eff29a2d37cec0ffb244db5f80a2005b601b5581610d0f565b815f5260186020528060405f2055610d06565b634e487b7160e01b5f52604160045260245ffd5b34610b4a576020366003190112610b4a576004355f5260196020526040805f206001815491015482519182526020820152f35b34610b4a576020366003190112610b4a57610db2611ade565b610dba612982565b6001600160a01b03811680610de0575050610dd3613376565b505b602060405160018152f35b5f52601460205260ff60405f20541615610b7357610dfd906131a4565b50610e06613376565b50610dd5565b34610b4a576020366003190112610b4a57610e25611ade565b610e2d612982565b610e3561299d565b600254604051621e403d60e21b81526001600160a01b03928316600482018190529260089290921c9091169060a081602481855afa908115610b3f575f916112d3575b5051156112c457815f52601f60205260405f2091604051928381549182825260208201905f5260205f20925f5b8181106112a2575050610eba92500384611d74565b60046060610ec66120cc565b936040519283809263f1380ea960e01b82525afa908115610b3f57610eff915f915f91611264575b5064ffffffffff8091169116611bc9565b905f5b84518110156111ec576001906001600160a01b03610f208288611dd2565b5116610f2b816131a4565b50610f34613376565b50835f52601c60205260405f20838060a01b0382165f5260205260405f2060405190610f5f82611d3e565b8688600283549384865288810154602087015201546040850193818552156111e15711806111d4575b610fc1575b505050835f52601c60205260405f2090838060a01b03165f526020525f600260408220828155828582015501555b01610f02565b61101961101e92855f52601760205260405f2081515f5260205260405f20548551809110156111aa575b5080515f52601a60205260405f205485518091101561118a575b506110138b86519251611c4e565b90611bc9565b611bdc565b806110e1575b50815f52601660205260405f20875f526020528360405f200154815111155f146110c2578051825f52601660205260405f20885f5260205261106d8560405f2001918254611c4e565b90555b5f8781526019602052604090208401548151116110ac5751865f5260196020526110a18460405f2001918254611c4e565b90555b878086610f8d565b50855f5260196020525f836040822001556110a4565b815f52601660205260405f20875f526020525f84604082200155611070565b825f52601660205260405f20885f526020528060405f205410155f1461116d57825f52601660205260405f20885f5260205260405f20611122828254611c4e565b90555b5f88815260196020526040902054811161115957875f52601960205261115060405f20918254611c4e565b90555b88611024565b50865f5260196020525f6040812055611153565b825f52601660205260405f20885f526020525f6040812055611125565b81515f52601a6020526111a260405f20918254611c4e565b90558c611005565b865f52601760205260405f2082515f526020526111cc60405f20918254611c4e565b90558c610feb565b506301dfe2008114610f88565b505050505050610fbb565b5083815f52601f60205260405f208054905f815581611246575b837feaafa67bd3aa4bb44bce0c035314029d39227a502ac081269bdd5989e1aa592b602085835f52601d82525f604081205551604051908152a260018055005b5f5260205f20908101905b81811015611206575f8155600101611251565b64ffffffffff92508291506112909060603d60601161129b575b6112888183611d74565b810190611da9565b939150929150610eee565b503d61127e565b84546001600160a01b0316835260019485019488945060209093019201610ea5565b630139629360e11b5f5260045ffd5b905060a0813d60a011611346575b816112ee60a09383611d74565b81010312610b4a576040519060a08201906001600160401b03821183831017610d5257608091604052805183526020810151602084015260408101516040840152606081015160608401520151608082015283610e78565b3d91506112e1565b34610b4a576040366003190112610b4a57611367611af4565b6004355f525f60205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610b4a576040366003190112610b4a576113af611ade565b6113b7611af4565b6001600160a01b039182165f908152601c60209081526040808320949093168252928352819020600101549051908152f35b34610b4a576020366003190112610b4a576001600160a01b0361140a611ade565b165f526014602052602060ff60405f2054166040519015158152f35b34610b4a576020366003190112610b4a576001600160a01b03611447611ade565b168015610b8957805f52601660205260405f20905f52601860205260405f20545f52602052602060405f2054604051908152f35b611ac2565b34610b4a576040366003190112610b4a576040610bc761149e611ade565b6114a6612982565b60243590611cc2565b34610b4a575f366003190112610b4a57602060405160648152f35b34610b4a576040366003190112610b4a576114e3611ade565b6114eb612982565b6114f361299d565b335f52601e60205260405f2060018060a01b0382165f5260205260405f2054620d2f00810180911161156c57421061155d5761153260243582336129bd565b335f908152601e602090815260408083206001600160a01b0390941683529290522042905560018055005b630618259b60e11b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b34610b4a575f366003190112610b4a57602060ff600254166040519015158152f35b34610b4a576040366003190112610b4a576004356001600160401b038111610b4a576115d2903690600401611b19565b906024356001600160401b038111610b4a576115f2903690600401611b19565b9190926115fd612982565b61160561299d565b80158015611711575b611702575f805b8282106116e2576127109150116116d3575f5b8181106116355760018055005b335f52601e60205260405f2061165461164f838587611c91565b611cae565b60018060a01b03165f5260205260405f2054620d2f00810180911161156c57421061155d57806116a061168d61164f6001948688611c91565b61169883888a611c91565b3590336129bd565b335f52601e60205260405f206116ba61164f838688611c91565b838060a01b03165f5260205260405f2042905501611628565b63585b926360e01b5f5260045ffd5b6116fa6001916116f384888a611c91565b3590611ca1565b910190611615565b63512509d360e11b5f5260045ffd5b508281141561160e565b34610b4a576020366003190112610b4a576020610483611739611ade565b611c5b565b34610b4a576040366003190112610b4a576040610bc761175c611ade565b60243590611bfa565b34610b4a575f366003190112610b4a576020604051620d2f008152f35b34610b4a576040366003190112610b4a5761179b611ade565b6117a3611af4565b6001600160a01b039182165f908152601e60209081526040808320949093168252928352819020549051908152f35b34610b4a575f366003190112610b4a576020601b54604051908152f35b34610b4a575f366003190112610b4a5760025460405160089190911c6001600160a01b03168152602090f35b34610b4a576020366003190112610b4a57611834611ade565b61183c61213c565b6001600160a01b038116908115610b8957815f52601460205260ff60405f20541615610b735761186b90612334565b7f94ac12f5301759f065db9de7f23677e50bef009f062b028d4d4612f620f0f5fb5f80a2005b34610b4a576040366003190112610b4a576118aa611af4565b336001600160a01b038216036118c8576118c6906004356122b4565b005b63334bd91960e11b5f5260045ffd5b34610b4a575f366003190112610b4a5760206040516161a88152f35b34610b4a576040366003190112610b4a576118c6600435611912611af4565b9061191f6107a582611bb8565b61222c565b34610b4a576020366003190112610b4a576001600160a01b03611945611ade565b165f526018602052602060405f2054604051908152f35b34610b4a576020366003190112610b4a576020610483600435611bb8565b34610b4a576040366003190112610b4a57611993611ade565b61199b611b0a565b906119a461213c565b6001600160a01b0316908115610b8957815f52601460205260ff60405f20541615610b735760207f07829327d364c8af8ea5af9c81cac2a7ec3ec6a9879d2154b4a65e2c623d79db91835f5260148252611a018160405f20611ba0565b835f526014825242600260405f2001556040519015158152a2005b34610b4a576020366003190112610b4a576004355f52601a602052602060405f2054604051908152f35b34610b4a575f366003190112610b4a57601b545f526019602052602060405f2054604051908152f35b34610b4a576020366003190112610b4a576004359063ffffffff60e01b8216809203610b4a57602091637965db0b60e01b8114908115611ab1575b5015158152f35b6301ffc9a760e01b14905083611aaa565b34610b4a575f366003190112610b4a5760206040516127108152f35b600435906001600160a01b0382168203610b4a57565b602435906001600160a01b0382168203610b4a57565b602435908115158203610b4a57565b9181601f84011215610b4a578235916001600160401b038311610b4a576020808501948460051b010111610b4a57565b601254811015611b615760125f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611b61575f5260205f2001905f90565b6040919493926060820195825260208201520152565b9061ff00825491151560081b169061ff001916179055565b5f525f602052600160405f20015490565b8181029291811591840414171561156c57565b8115611be6570490565b634e487b7160e01b5f52601260045260245ffd5b611c0a82611c1092949394612656565b9261280f565b918215611c4657670de0b6b3a7640000810290808204670de0b6b3a7640000149015171561156c5782611c4291611bdc565b9190565b505f91508190565b9190820391821161156c57565b6001600160a01b03165f908152601d6020526040902054612710811015611c8c5761271003612710811161156c5790565b505f90565b9190811015611b615760051b0190565b9190820180921161156c57565b356001600160a01b0381168103610b4a5790565b9091906001600160a01b038116908115610b8957611cdf906131a4565b50611ce8613376565b505f52601660205260405f20825f5260205260405f2054915f52601960205260405f2054918215611c4657670de0b6b3a7640000810290808204670de0b6b3a7640000149015171561156c5782611c4291611bdc565b606081019081106001600160401b03821117610d5257604052565b604081019081106001600160401b03821117610d5257604052565b601f909101601f19168101906001600160401b03821190821017610d5257604052565b519064ffffffffff82168203610b4a57565b90816060910312610b4a57805191611dcf6040611dc860208501611d97565b9301611d97565b90565b8051821015611b615760209160051b010190565b9192916001600160a01b0316908115612086576001600160a01b0316908115610b8957815f52601460205260ff60405f20541615610b7357831561207a57815f52601460205260ff60405f205460081c161561205d576002546040516370a0823160e01b8152600481019290925260081c6001600160a01b031691602082602481865afa8015610b3f575f9061202a575b6004925060208194604051948580926318160ddd60e01b82525afa928315610b3f575f93611ff6575b508210611fed575b81158015611fe5575b611fc757604051635a38556f60e11b815290602082600481845afa918215610b3f575f92611f92575b50602060049160405192838092632964b67b60e21b82525afa908115610b3f575f91611f60575b50600b5492600c54946040519260c084019484861060018060401b03871117610d52576161a897611f5c97611f559760405286526020860152604085015260608401528760808401525f60a0840152613585565b8094611bc9565b0490565b90506020813d602011611f8a575b81611f7b60209383611d74565b81010312610b4a57515f611f01565b3d9150611f6e565b9091506020813d602011611fbf575b81611fae60209383611d74565b81010312610b4a5751906020611eda565b3d9150611fa1565b50505061271082029182046127100361156c576161a8612710920490565b508215611eb1565b91508091611ea8565b9092506020813d602011612022575b8161201260209383611d74565b81010312610b4a5751915f611ea0565b3d9150612005565b506020823d602011612055575b8161204460209383611d74565b81010312610b4a5760049151611e77565b3d9150612037565b505061271082029182046127100361156c576161a8612710920490565b50509050612710905f90565b63e6c4247b60e01b5f5260045ffd5b62093a80420462093a8081029080820462093a80149015171561156c5790565b6001600160401b038111610d525760051b60200190565b62093a8042046001810180911161156c5762093a8081029080820462093a80149015171561156c5790565b80548015612128575f1901906121256121108383611b75565b81549060018060a01b039060031b1b19169055565b55565b634e487b7160e01b5f52603160045260245ffd5b335f9081527fbfe3375f87fed3740ea47aaaa82e5c11969038c76964e4c61f034b0b0e31b00c602052604090205460ff161561217457565b63e2517d3f60e01b5f52336004525f51602061373a5f395f51905f5260245260445ffd5b335f9081527fac55d60145c2b1e72232130507b090ddd2cd26daa31eeab1e3e64b89140e668d602052604090205460ff16156121d057565b63e2517d3f60e01b5f52336004525f51602061371a5f395f51905f5260245260445ffd5b5f8181526020818152604080832033845290915290205460ff16156122165750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f818152602081815260408083206001600160a01b038616845290915290205460ff166122ae575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f818152602081815260408083206001600160a01b038616845290915290205460ff16156122ae575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b6001600160a01b0381165f8181526014602052604090205490919060ff1615610b735761237490825f52601460205260405f2060ff1981541690556131a4565b5061237d613376565b506123866120cc565b5f82815260166020908152604080832084845282528083208054600190910154601990935292205491929091831161263557805f52601960205260405f206123cf848254611c4e565b90555b5f81815260196020526040902060010154821161261f57805f526019602052600160405f2001612403838254611c4e565b90555b5f84815260166020908152604080832084845290915280822082815560010191909155600254905163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa8015610b3f5764ffffffffff915f916125fd575b501662093a8081029080820462093a80149015171561156c579061248c8594939282611ca1565b905b818111156125655750507fce362b7a1360d8d2e178b7890ae09c938033b09f9c074ca57b4660b032a3daeb9160409182519182526020820152a2805f52601460205242600260405f200155805f52601360205260405f20546012545f19810190811161156c5780820361252a575b50506012548015612128575f1901612518612110826012611b75565b6012555f5260136020525f6040812055565b61253390611b49565b905460039190911b1c6001600160a01b0316612552816103d484611b49565b5f52601360205260405f20555f806124fc565b909192935f52601760205260405f20815f5260205260405f20548061259d575b5062093a80810180911161156c57908493929161248e565b5f828152601a602052604090205481116125e957815f52601a6020526125c860405f20918254611c4e565b90555b845f52601760205260405f20815f526020525f60408120555f612585565b50805f52601a6020525f60408120556125cb565b612616915060603d60601161129b576112888183611d74565b5090505f612465565b805f5260196020525f6001604082200155612406565b805f5260196020525f60408120556123d2565b5f19811461156c5760010190565b6001600160a01b03165f818152601860205260409020549290831561280757828410156127eb5760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa908115610b3f576126ca915f915f91611264575064ffffffffff8091169116611bc9565b936301dfe20085036127dc57815f52601660205260405f20815f5260205260405f20916001604051936126fc85611d59565b80548552015493602084019485525f5b6101f48110806127d3575b156127c75762093a80840180941161156c5783835f52601760205260405f20905f5260205260405f20549086519162093a8083029280840462093a80149015171561156c576127698a6127a394611bdc565b875190808211156127bf5761277d91611c4e565b8752875181116127b657612792908851611c4e565b87525b86516127a8575f8652612648565b61270c565b8551612648575f8752612648565b505f8752612795565b50505f61277d565b50955050509150505190565b50868410612717565b63c6d038c160e01b5f5260045ffd5b9092505f52601660205260405f20905f5260205260405f205490565b509150505f90565b601b5491821561297b578183101561296a5760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa908115610b3f5761286e915f915f91611264575064ffffffffff8091169116611bc9565b926301dfe20084036127dc57805f52601960205260405f209060016040519261289684611d59565b80548452015492602083019384525f5b6101f4811080612961575b156129565762093a80830180931161156c57825f52601a60205260405f20549085519162093a8083029280840462093a80149015171561156c576128f88961293294611bdc565b8651908082111561294e5761290c91611c4e565b86528651811161294557612921908751611c4e565b86525b8551612937575f8552612648565b6128a6565b8451612648575f8652612648565b505f8652612924565b50505f61290c565b509450509150505190565b508583106128b1565b91505f52601960205260405f205490565b9150505f90565b60ff6002541661298e57565b63d93c066560e01b5f5260045ffd5b6002600154146129ae576002600155565b633ee5aeb560e01b5f5260045ffd5b6001600160a01b03821692918315610b8957835f52601460205260ff60405f20541615610b735761271083116116d357821515928380613182575b61317357612a05826131a4565b50612a0e613376565b50612a176120cc565b9160018060a01b0360025460081c169460405163f1380ea960e01b81526060816004818a5afa908115610b3f57612a61915f915f91611264575064ffffffffff8091169116611bc9565b946301dfe20086036127dc57604051632c9aab9b60e11b81526001600160a01b039091166004820181905296602082602481845afa918215610b3f575f9261313f575b506040516301f84a1360e01b81526004810189905264ffffffffff8716602482015282602082604481865afa918215610b3f575f9261310b575b50816130f3575b5050602060649160405192838092634bc7fe5160e11b82528c60048301528a60248301528660448301525afa8015610b3f575f906130b5575b64ffffffffff16905062093a80810661309257905b8582111561308357875f52601c60205260405f20895f5260205260405f209260405193612b5f85611d3e565b805480865260026001830154926020880193845201548a8a604089019383855280612e47575b5050505050505f5f915f14612d79575050875f52601d602052612710612baf8660405f2054611ca1565b116116d357612710612bc486612bd993611bc9565b0496611019612bd38885611c4e565b89611bc9565b948615612d6a57885f52601660205260405f20815f5260205260405f20612c01878254611ca1565b9055885f52601660205260405f20815f52602052600160405f2001612c27888254611ca1565b9055805f52601960205260405f20612c40878254611ca1565b90555f526019602052600160405f2001612c5b878254611ca1565b9055875f52601760205260405f20815f5260205260405f20612c7e878254611ca1565b9055805f52601a60205260405f20612c97878254611ca1565b9055600260405191612ca883611d3e565b8783526020830186815260408401918252895f52601c60205260405f208b5f5260205260405f209351845551600184015551910155855f52601d60205260405f20612cf4848254611ca1565b90555115612d22575b50612d1d5f5160206136ba5f395f51905f52935b60405193849384611b8a565b0390a3565b92845f52601f60205260405f20908154600160401b811015610d52575f5160206136ba5f395f51905f52956103d482612d1d956001612d6395018155611b75565b9350612cfd565b635ee9d34160e01b5f5260045ffd5b9596509897965050505050825f52601c60205260405f20845f526020525f6002604082208281558260018201550155825f52601f60205260405f20915f5b835480821015612e295786612dcc8387611b75565b905460039190911b1c6001600160a01b031614612dec5750600101612db7565b919293949596905f19830192831161156c57856103f8612e24926103d46103bb612d1d975f5160206136ba5f395f51905f529b611b75565b612d11565b5050909150612d1d5f5160206136ba5f395f51905f52939495612d11565b818411612e79575b505050505051895f52601d602052612e6c60405f20918254611c4e565b90555f80808a8a82612b85565b61101361101992612e8995611c4e565b80612fda575b508b5f52601660205260405f20895f52602052600160405f200154865111155f14612fba5785518c5f52601660205260405f208a5f52602052612eda600160405f2001918254611c4e565b90555b5f89815260196020526040902060010154865111612fa4578551895f526019602052612f11600160405f2001918254611c4e565b90555b8b5f52601760205260405f2081515f5260205260405f2054865180911015612f7a575b5080515f52601a60205260405f205490865180921015612f5a575b8a8a82612e4f565b515f52601a602052612f7160405f20918254611c4e565b90555f80612f52565b8c5f52601760205260405f2082515f52602052612f9c60405f20918254611c4e565b90555f612f37565b885f5260196020525f6001604082200155612f14565b8b5f52601660205260405f20895f526020525f6001604082200155612edd565b8c5f52601660205260405f208a5f526020528060405f205410155f14613066578c5f52601660205260405f208a5f5260205260405f2061301b828254611c4e565b90555b5f8a815260196020526040902054811161305257895f52601960205261304960405f20918254611c4e565b90555b5f612e8f565b50885f5260196020525f604081205561304c565b8c5f52601660205260405f208a5f526020525f604081205561301e565b63823c7e3560e01b5f5260045ffd5b62093a80900462093a8081029080820462093a80149015171561156c5790612b33565b506020813d6020116130eb575b816130cf60209383611d74565b81010312610b4a576130e664ffffffffff91611d97565b612b1e565b3d91506130c2565b606492935060209161310491611c4e565b9291612ae5565b9091506020813d602011613137575b8161312760209383611d74565b81010312610b4a5751905f612ade565b3d915061311a565b9091506020813d60201161316b575b8161315b60209383611d74565b81010312610b4a5751905f612aa4565b3d915061314e565b6315c1487560e31b5f5260045ffd5b50606481106129f8565b81810392915f13801582851316918412161761156c57565b6001600160a01b03165f8181526018602052604090205480156122ae5760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa908115610b3f5761320e915f915f91611264575064ffffffffff8091169116611bc9565b916301dfe20083036127dc57805f52601660205260405f20825f5260205260405f209260016040519461324086611d59565b805486520154602085019081525f915b6101f4831061326d575b5050505f52601860205260405f20555190565b9091934281116133705762093a80810180911161156c578094845f52601760205260405f20825f5260205260405f20549184519262093a8084029380850462093a80149015171561156c576132c485600195611bdc565b6132cf818b5161318c565b5089519080821115613368576132e491611c4e565b895285518111613360576132f9818751611c4e565b86525b8551613352575f89525b865f52601660205260405f20825f5260205260405f2089518155848751910155613334575b50019190613250565b855f52601760205260405f20905f526020525f60408120555f61332b565b8851613306575f8652613306565b5f86526132fc565b50505f6132e4565b9361325a565b601b548015611c8c5760025460405163f1380ea960e01b8152906060908290600490829060081c6001600160a01b03165afa908115610b3f576133cc915f915f91611264575064ffffffffff8091169116611bc9565b906301dfe20082036127dc57805f52601960205260405f20916001604051936133f485611d59565b805485520154602084019081525f915b6101f48310613418575b505050601b555190565b9091924281116134fc5762093a80810180911161156c578093815f52601a60205260405f20549184519262093a8084029380850462093a80149015171561156c5761346585600195611bdc565b613470818a5161318c565b50885190808211156134f45761348591611c4e565b8852855181116134ec5761349a818751611c4e565b86525b85516134de575f88525b815f52601960205260405f20885181558487519101556134cb575b50019190613404565b5f52601a6020525f60408120555f6134c2565b87516134a7575f86526134a7565b5f865261349d565b50505f613485565b9261340e565b6001600160a01b0381165f8181526014602052604090205490919060ff16610b5c575f828152601460205260409020805460ff191660011781554260029091015560125490600160401b821015610d52576103d482600161356894016012556012611b75565b6012545f1981019190821161156c575f52601360205260405f2055565b6080830151908115908180156136b1575b6136a65767058d15e17628000083029183830467058d15e17628000014171561156c57670de0b6b3a76400008402908415948204670de0b6b3a76400001485171561156c575f94811515908161369d575b50613648575b505061361992670de0b6b3a76400006136069204611ca1565b818111613641575b835161101991611bc9565b906020810151808310613639575b5051808211613634575090565b905090565b91505f613627565b508061360e565b6136589194506060860151611bc9565b90670853a0d2313c0000820291808304670853a0d2313c0000149015171561156c57670de0b6b3a76400006136936136199561360694611bdc565b94508192506135ed565b9050155f6135e7565b505050506020015190565b50831561359656feba96fb19972930bda84dd5c49e835c4975aedb6dd8664e174c08d072662f518fed1f3e12429ce88e77b14ddf9c2eb89f0b9e1e0faa7e33a95d0ce1bbc90a1c2ff4f26a807a94b528f4b1525e7409e5f8a61de5ab075eade452ecbad32436e3955c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fbfda1ae526c1fb38407f23e8b7712f7cfacc146f3e340a04221488331e0d42014a2646970667358221220b32b5cf564ec663558f6a8c030cd3a8b04c00eb4a9ae54a18b933e1544eec72064736f6c634300081e0033",
1659
1423
  "linkReferences": {},
1660
1424
  "deployedLinkReferences": {}
1661
1425
  }