@pendle/core-v2 2.19.0 → 2.20.0-tradingbot

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 (617) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  32. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  39. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  41. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  43. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  46. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  48. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  111. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/BotDecisionHelperBase.sol/BotDecisionHelperBase.dbg.json +4 -0
  112. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/BotDecisionHelperBase.sol/BotDecisionHelperBase.json +816 -0
  113. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.dbg.json +4 -0
  114. package/build/artifacts/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol/LongYieldDecisionHelper.json +1411 -0
  115. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +4 -0
  116. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.json +2332 -0
  117. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.dbg.json +4 -0
  118. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.json +1641 -0
  119. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.dbg.json +4 -0
  120. package/build/artifacts/contracts/core/TradingBot/libraries/BotSimulationLib.sol/BotSimulationLib.json +10 -0
  121. package/build/artifacts/contracts/core/TradingBot/libraries/LongYieldActionLib.sol/LongYieldActionLib.dbg.json +4 -0
  122. package/build/artifacts/contracts/core/TradingBot/libraries/LongYieldActionLib.sol/LongYieldActionLib.json +154 -0
  123. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.dbg.json +4 -0
  124. package/build/artifacts/contracts/core/TradingBot/libraries/MarketExtLib.sol/MarketExtLib.json +24 -0
  125. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.dbg.json +4 -0
  126. package/build/artifacts/contracts/core/TradingBot/libraries/SpecSegmentLib.sol/SpecSegmentLib.json +10 -0
  127. package/build/artifacts/contracts/core/TradingBot/libraries/TvlLib.sol/TvlLib.dbg.json +4 -0
  128. package/build/artifacts/contracts/core/TradingBot/libraries/TvlLib.sol/TvlLib.json +262 -0
  129. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  132. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  134. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  136. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  138. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  139. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  141. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  143. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  145. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  146. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  147. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  148. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  149. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  150. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  151. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +151 -2
  152. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  153. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  154. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  155. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +4 -0
  156. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.json +10 -0
  157. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  158. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  159. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  189. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +6 -82
  207. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +22 -22
  209. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +4 -42
  212. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +32 -146
  239. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  256. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.dbg.json +4 -0
  257. package/build/artifacts/contracts/interfaces/TradingBot/IBotDecisionHelper.sol/IBotDecisionHelper.json +679 -0
  258. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.dbg.json +4 -0
  259. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol/ILongYieldDecisionHelper.json +698 -0
  260. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +4 -0
  261. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +813 -0
  262. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.dbg.json +4 -0
  263. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol/IShortYieldDecisionHelper.json +679 -0
  264. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.dbg.json +4 -0
  265. package/build/artifacts/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol/IShortYieldTradingBot.json +794 -0
  266. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +4 -0
  267. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +351 -0
  268. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  269. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  270. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  271. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  272. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  273. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  274. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  275. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  276. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  277. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  278. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  279. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  280. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  281. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  282. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  283. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  284. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  285. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  286. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +8 -84
  287. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  288. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +24 -24
  289. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  290. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +6 -44
  291. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  292. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  293. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  294. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  295. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  296. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  297. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  298. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  299. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  300. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  301. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  302. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  303. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  304. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  305. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  306. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  307. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  308. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  309. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  310. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  311. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  312. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  313. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  314. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  315. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  316. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  317. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  318. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  319. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  320. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  321. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  322. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  323. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  324. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  325. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  326. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  327. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  328. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  329. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  330. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  331. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  332. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  333. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  334. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  335. package/contracts/core/StandardizedYield/PYIndex.sol +14 -0
  336. package/contracts/core/TradingBot/DecisionHelper/BotDecisionHelperBase.sol +260 -0
  337. package/contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol +291 -0
  338. package/contracts/core/TradingBot/LongYieldTradingBot.sol +128 -0
  339. package/contracts/core/TradingBot/README.md +153 -0
  340. package/contracts/core/TradingBot/TradingBotBase.sol +254 -0
  341. package/contracts/core/TradingBot/libraries/BotSimulationLib.sol +155 -0
  342. package/contracts/core/TradingBot/libraries/LongYieldActionLib.sol +279 -0
  343. package/contracts/core/TradingBot/libraries/MarketExtLib.sol +310 -0
  344. package/contracts/core/TradingBot/libraries/SpecSegmentLib.sol +62 -0
  345. package/contracts/core/TradingBot/libraries/TvlLib.sol +57 -0
  346. package/contracts/core/libraries/Errors.sol +12 -0
  347. package/contracts/core/libraries/TokenAmountLib.sol +47 -0
  348. package/contracts/interfaces/IPActionInfoStatic.sol +7 -8
  349. package/contracts/interfaces/IPActionMarketAuxStatic.sol +14 -21
  350. package/contracts/interfaces/IPActionMarketCoreStatic.sol +67 -70
  351. package/contracts/interfaces/IPActionMintRedeemStatic.sol +11 -23
  352. package/contracts/interfaces/IPRouterStatic.sol +1 -5
  353. package/contracts/interfaces/IStandardizedYield.sol +10 -15
  354. package/contracts/interfaces/TradingBot/IBotDecisionHelper.sol +75 -0
  355. package/contracts/interfaces/TradingBot/ILongYieldDecisionHelper.sol +8 -0
  356. package/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol +51 -0
  357. package/contracts/interfaces/TradingBot/IShortYieldDecisionHelper.sol +7 -0
  358. package/contracts/interfaces/TradingBot/IShortYieldTradingBot.sol +27 -0
  359. package/contracts/interfaces/TradingBot/ITradingBotBase.sol +53 -0
  360. package/contracts/offchain-helpers/BulkSellerOffchain.sol +8 -11
  361. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +11 -14
  362. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +37 -96
  363. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +80 -88
  364. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +14 -43
  365. package/contracts/oracles/PendleLpOracleLib.sol +1 -1
  366. package/deployments/core.ts +29 -0
  367. package/deployments/index.ts +4 -0
  368. package/deployments/markets/ape-june-29-2023.ts +3 -0
  369. package/deployments/markets/balancer-reth-dec-28-2023.ts +3 -0
  370. package/deployments/markets/balancer-wsteth-jun-27-2024.ts +3 -0
  371. package/deployments/markets/curve-fraxusdc-march-30-2023.ts +3 -0
  372. package/deployments/markets/index.ts +17 -0
  373. package/deployments/markets/looks-march-30-2023.ts +3 -0
  374. package/deployments/markets/steth-june-29-2023.ts +3 -0
  375. package/deployments/markets/steth-march-30-2023.ts +3 -0
  376. package/deployments/markets/types.ts +9 -0
  377. package/deployments/misc.ts +23 -0
  378. package/package.json +1 -1
  379. package/typechain-types/ActionMarketAuxStatic.ts +38 -191
  380. package/typechain-types/ActionMarketCoreStatic.ts +134 -600
  381. package/typechain-types/ActionMintRedeemStatic.ts +26 -92
  382. package/typechain-types/AuraEthxBbAWethSY.ts +1532 -0
  383. package/typechain-types/AuraSwEthBbAWethSYV2.ts +1532 -0
  384. package/typechain-types/AuraWethVethSY.ts +1598 -0
  385. package/typechain-types/AutomateReady.ts +102 -0
  386. package/typechain-types/AutomationBase.ts +57 -0
  387. package/typechain-types/AutomationCompatible.ts +140 -0
  388. package/typechain-types/AutomationCompatibleInterface.ts +141 -0
  389. package/typechain-types/BotActionCallbackLib.ts +57 -0
  390. package/typechain-types/BotDecisionHelperBase.ts +508 -0
  391. package/typechain-types/ChainlinkRelayerAutomation.ts +305 -0
  392. package/typechain-types/ChainlinkRelayerGelato.ts +311 -0
  393. package/typechain-types/ComposableStablePreviewProxy.ts +352 -0
  394. package/typechain-types/ComposableStablePreviewV4.ts +217 -0
  395. package/typechain-types/ComposableStablePreviewV5.ts +217 -0
  396. package/typechain-types/IAnkrBNB.ts +150 -0
  397. package/typechain-types/IAnkrLiquidStaking.ts +253 -0
  398. package/typechain-types/IAutomate.ts +203 -0
  399. package/typechain-types/IBotDecisionHelper.ts +476 -0
  400. package/typechain-types/IFluxErc20.ts +298 -0
  401. package/typechain-types/IFluxInterestRateModel.ts +113 -0
  402. package/typechain-types/ILongYieldDecisionHelper.ts +512 -0
  403. package/typechain-types/ILongYieldTradingBot.ts +682 -0
  404. package/typechain-types/IOpsProxyFactory.ts +93 -0
  405. package/typechain-types/IPActionMarketAuxStatic.ts +38 -191
  406. package/typechain-types/IPActionMarketCoreStatic.ts +134 -600
  407. package/typechain-types/IPActionMintRedeemStatic.ts +26 -92
  408. package/typechain-types/IPComposableStablePreview.ts +217 -0
  409. package/typechain-types/IPExternalRewardDistributor.ts +198 -0
  410. package/typechain-types/IPMarketFactoryV2.ts +253 -0
  411. package/typechain-types/IPOracleForSy.ts +87 -0
  412. package/typechain-types/IPRouterStatic.ts +197 -888
  413. package/typechain-types/IPendlePreviewHelper.ts +147 -0
  414. package/typechain-types/IShortYieldDecisionHelper.ts +476 -0
  415. package/typechain-types/IShortYieldTradingBot.ts +574 -0
  416. package/typechain-types/{IExecutorHelper2.ts → ISwETH.ts} +40 -32
  417. package/typechain-types/ITaskTreasuryUpgradable.ts +160 -0
  418. package/typechain-types/IThenaFactory.ts +245 -0
  419. package/typechain-types/IThenaGaugeV2.ts +206 -0
  420. package/typechain-types/IThenaPair.ts +579 -0
  421. package/typechain-types/IThenaRouter.ts +313 -0
  422. package/typechain-types/IThenaSY.ts +81 -0
  423. package/typechain-types/ITradingBotBase.ts +373 -0
  424. package/typechain-types/IVersion.ts +81 -0
  425. package/typechain-types/{PendleSwapArbitrum.ts → IWBETH.ts} +50 -48
  426. package/typechain-types/LegacyNFTHelper.ts +87 -0
  427. package/typechain-types/LongYieldActionLib.ts +57 -0
  428. package/typechain-types/LongYieldDecisionHelper.ts +663 -0
  429. package/typechain-types/LongYieldTradingBot.ts +2420 -0
  430. package/typechain-types/MarketExtLib.ts +81 -0
  431. package/typechain-types/PendleAnkrBNBSY.ts +1235 -0
  432. package/typechain-types/PendleAuraBalancerStableLPSYV3.ts +1599 -0
  433. package/typechain-types/PendleAuraWethVethSY.ts +1511 -0
  434. package/typechain-types/PendleAuraWstethAnkreth.ts +1511 -0
  435. package/typechain-types/PendleBridgedLSDSY.ts +1222 -0
  436. package/typechain-types/PendleChainlinkReceiver.ts +239 -0
  437. package/typechain-types/PendleChainlinkRelayer.ts +158 -0
  438. package/typechain-types/PendleERC20PermitUpgradable.ts +452 -0
  439. package/typechain-types/PendleERC20Upgradable.ts +348 -0
  440. package/typechain-types/PendleERC4626SY.ts +1216 -0
  441. package/typechain-types/PendleExternalRewardDistributor.ts +596 -0
  442. package/typechain-types/PendleFluxLendingSY.ts +1232 -0
  443. package/typechain-types/PendleGaugeV2.ts +225 -0
  444. package/typechain-types/PendleMantleStakedEthSY.ts +1222 -0
  445. package/typechain-types/PendleMarketFactoryV2.ts +932 -0
  446. package/typechain-types/PendleMarketV2.ts +1311 -0
  447. package/typechain-types/PendleOracleForSyProxy.ts +275 -0
  448. package/typechain-types/{PendleCamelotV1SY.ts → PendleThenaSY.ts} +214 -332
  449. package/typechain-types/PendleWbEthSY.ts +1229 -0
  450. package/typechain-types/SDKErrorsDirectory.ts +57 -0
  451. package/typechain-types/SYBaseUpgradable.ts +1132 -0
  452. package/typechain-types/SYBaseWithRewardsUpgradable.ts +1225 -0
  453. package/typechain-types/StarNFTV1.ts +880 -0
  454. package/typechain-types/SwETHSY.ts +1216 -0
  455. package/typechain-types/{PendleCamelotV1RouterHelper.ts → ThenaLpHelper.ts} +63 -5
  456. package/typechain-types/ThenaMath.ts +87 -0
  457. package/typechain-types/{CamelotV1PreviewHelper.ts → ThenaPreview.ts} +42 -63
  458. package/typechain-types/TradingBotBase.ts +1837 -0
  459. package/typechain-types/TvlLib.ts +215 -0
  460. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  461. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  462. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +7 -83
  463. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +23 -23
  464. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +5 -43
  465. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  466. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  467. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  468. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  469. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  470. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1240 -0
  471. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1244 -0
  472. package/typechain-types/factories/AuraWethVethSY__factory.ts +1270 -0
  473. package/typechain-types/factories/AutomateReady__factory.ts +49 -0
  474. package/typechain-types/factories/AutomationBase__factory.ts +69 -0
  475. package/typechain-types/factories/AutomationCompatibleInterface__factory.ts +67 -0
  476. package/typechain-types/factories/AutomationCompatible__factory.ts +72 -0
  477. package/typechain-types/factories/BotActionCallbackLib__factory.ts +84 -0
  478. package/typechain-types/factories/BotDecisionHelperBase__factory.ts +835 -0
  479. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  480. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  481. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  482. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  483. package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +238 -0
  484. package/typechain-types/factories/ChainlinkRelayerGelato__factory.ts +263 -0
  485. package/typechain-types/factories/ComposableStablePreviewProxy__factory.ts +288 -0
  486. package/typechain-types/factories/ComposableStablePreviewV4__factory.ts +190 -0
  487. package/typechain-types/factories/ComposableStablePreviewV5__factory.ts +190 -0
  488. package/typechain-types/factories/Errors__factory.ts +150 -1
  489. package/typechain-types/factories/IAnkrBNB__factory.ts +74 -0
  490. package/typechain-types/factories/IAnkrLiquidStaking__factory.ts +123 -0
  491. package/typechain-types/factories/IAutomate__factory.ts +126 -0
  492. package/typechain-types/factories/IBotDecisionHelper__factory.ts +694 -0
  493. package/typechain-types/factories/IFluxErc20__factory.ts +178 -0
  494. package/typechain-types/factories/{IExecutorHelper2__factory.ts → IFluxInterestRateModel__factory.ts} +19 -15
  495. package/typechain-types/factories/ILongYieldDecisionHelper__factory.ts +717 -0
  496. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +832 -0
  497. package/typechain-types/factories/IOpsProxyFactory__factory.ts +50 -0
  498. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +6 -82
  499. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +22 -22
  500. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +4 -42
  501. package/typechain-types/factories/IPComposableStablePreview__factory.ts +152 -0
  502. package/typechain-types/factories/{IPVotingEscrowSidechain__factory.ts → IPExternalRewardDistributor__factory.ts} +60 -44
  503. package/typechain-types/factories/IPMarketFactoryV2__factory.ts +181 -0
  504. package/typechain-types/factories/IPOracleForSy__factory.ts +36 -0
  505. package/typechain-types/factories/IPRouterStatic__factory.ts +32 -146
  506. package/typechain-types/factories/IPendlePreviewHelper__factory.ts +78 -0
  507. package/typechain-types/factories/IShortYieldDecisionHelper__factory.ts +698 -0
  508. package/typechain-types/factories/IShortYieldTradingBot__factory.ts +813 -0
  509. package/typechain-types/factories/ISwETH__factory.ts +53 -0
  510. package/typechain-types/factories/ITaskTreasuryUpgradable__factory.ts +76 -0
  511. package/typechain-types/factories/IThenaFactory__factory.ts +164 -0
  512. package/typechain-types/factories/IThenaGaugeV2__factory.ts +83 -0
  513. package/typechain-types/factories/IThenaPair__factory.ts +421 -0
  514. package/typechain-types/factories/IThenaRouter__factory.ts +200 -0
  515. package/typechain-types/factories/IThenaSY__factory.ts +36 -0
  516. package/typechain-types/factories/ITradingBotBase__factory.ts +366 -0
  517. package/typechain-types/factories/IVersion__factory.ts +36 -0
  518. package/typechain-types/factories/IWBETH__factory.ts +51 -0
  519. package/typechain-types/factories/LegacyNFTHelper__factory.ts +83 -0
  520. package/typechain-types/factories/LongYieldActionLib__factory.ts +207 -0
  521. package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +1468 -0
  522. package/typechain-types/factories/LongYieldTradingBot__factory.ts +2333 -0
  523. package/typechain-types/factories/MarketExtLib__factory.ts +74 -0
  524. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  525. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1100 -0
  526. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  527. package/typechain-types/factories/PendleAuraBalancerStableLPSYV3__factory.ts +1212 -0
  528. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  529. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  530. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  531. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  532. package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1231 -0
  533. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  534. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1244 -0
  535. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1064 -0
  536. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  537. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +216 -0
  538. package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +180 -0
  539. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  540. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  541. package/typechain-types/factories/PendleERC20PermitUpgradable__factory.ts +401 -0
  542. package/typechain-types/factories/PendleERC20Upgradable__factory.ts +326 -0
  543. package/typechain-types/factories/PendleERC4626SY__factory.ts +1030 -0
  544. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +437 -0
  545. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  546. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  547. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1038 -0
  548. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  549. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  550. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  551. package/typechain-types/factories/PendleGaugeV2__factory.ts +140 -0
  552. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  553. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  554. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  555. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1068 -0
  556. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +770 -0
  557. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  558. package/typechain-types/factories/PendleMarketV2__factory.ts +1299 -0
  559. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  560. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  561. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  562. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +211 -0
  563. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  564. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  565. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  566. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  567. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  568. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  569. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  570. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  571. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  572. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  573. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  574. package/typechain-types/factories/PendleThenaSY__factory.ts +1352 -0
  575. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  576. package/typechain-types/factories/PendleWbEthSY__factory.ts +1049 -0
  577. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  578. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  579. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  580. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  581. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  582. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  583. package/typechain-types/factories/SAPE__factory.ts +1 -1
  584. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1596 -0
  585. package/typechain-types/factories/SYBaseUpgradable__factory.ts +889 -0
  586. package/typechain-types/factories/SYBaseWithRewardsUpgradable__factory.ts +959 -0
  587. package/typechain-types/factories/StarNFTV1__factory.ts +584 -0
  588. package/typechain-types/factories/SwETHSY__factory.ts +1022 -0
  589. package/typechain-types/factories/{PendleCamelotV1RouterHelper__factory.ts → ThenaLpHelper__factory.ts} +58 -13
  590. package/typechain-types/factories/ThenaMath__factory.ts +36 -0
  591. package/typechain-types/factories/ThenaPreview__factory.ts +319 -0
  592. package/typechain-types/factories/TradingBotBase__factory.ts +1656 -0
  593. package/typechain-types/factories/TvlLib__factory.ts +309 -0
  594. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  595. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  596. package/typechain-types/hardhat.d.ts +153 -126
  597. package/typechain-types/index.ts +34 -18
  598. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +0 -4
  599. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +0 -976
  600. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +0 -4
  601. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +0 -97
  602. package/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol +0 -120
  603. package/contracts/offchain-helpers/PtAndLpToAsset.sol +0 -62
  604. package/deployments/42161-markets/RETH-ARBITRUM-JUNE2024.json +0 -10
  605. package/deployments/42161-markets/WSTETH-ARBITRUM-JUNE2024.json +0 -10
  606. package/typechain-types/IExecutorHelper1.ts +0 -643
  607. package/typechain-types/IExecutorHelperEthereum1.ts +0 -643
  608. package/typechain-types/IPVotingEscrowSidechain.ts +0 -155
  609. package/typechain-types/PendleCamelotRewardHelper.ts +0 -347
  610. package/typechain-types/PendleSwapEthereum.ts +0 -126
  611. package/typechain-types/factories/CamelotV1PreviewHelper__factory.ts +0 -400
  612. package/typechain-types/factories/IExecutorHelper1__factory.ts +0 -403
  613. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +0 -407
  614. package/typechain-types/factories/PendleCamelotRewardHelper__factory.ts +0 -317
  615. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +0 -1448
  616. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +0 -129
  617. package/typechain-types/factories/PendleSwapEthereum__factory.ts +0 -129
@@ -0,0 +1,1411 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "LongYieldDecisionHelper",
4
+ "sourceName": "contracts/core/TradingBot/DecisionHelper/LongYieldDecisionHelper.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "ApproxFail",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "guessMin",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "guessMax",
21
+ "type": "uint256"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "eps",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "name": "ApproxParamsInvalid",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "BotBinarySearchFail",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "uint256",
41
+ "name": "action",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "internalType": "uint256",
46
+ "name": "guessMin",
47
+ "type": "uint256"
48
+ },
49
+ {
50
+ "internalType": "uint256",
51
+ "name": "guessMax",
52
+ "type": "uint256"
53
+ }
54
+ ],
55
+ "name": "BotBinarySearchInvalidRange",
56
+ "type": "error"
57
+ },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "int256",
62
+ "name": "exchangeRate",
63
+ "type": "int256"
64
+ }
65
+ ],
66
+ "name": "MarketExchangeRateBelowOne",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "MarketExpired",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [
76
+ {
77
+ "internalType": "int256",
78
+ "name": "currentAmount",
79
+ "type": "int256"
80
+ },
81
+ {
82
+ "internalType": "int256",
83
+ "name": "requiredAmount",
84
+ "type": "int256"
85
+ }
86
+ ],
87
+ "name": "MarketInsufficientPtForTrade",
88
+ "type": "error"
89
+ },
90
+ {
91
+ "inputs": [],
92
+ "name": "MarketProportionMustNotEqualOne",
93
+ "type": "error"
94
+ },
95
+ {
96
+ "inputs": [
97
+ {
98
+ "internalType": "int256",
99
+ "name": "proportion",
100
+ "type": "int256"
101
+ },
102
+ {
103
+ "internalType": "int256",
104
+ "name": "maxProportion",
105
+ "type": "int256"
106
+ }
107
+ ],
108
+ "name": "MarketProportionTooHigh",
109
+ "type": "error"
110
+ },
111
+ {
112
+ "inputs": [
113
+ {
114
+ "internalType": "int256",
115
+ "name": "rateScalar",
116
+ "type": "int256"
117
+ }
118
+ ],
119
+ "name": "MarketRateScalarBelowZero",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "inputs": [],
124
+ "name": "MarketZeroAmountsInput",
125
+ "type": "error"
126
+ },
127
+ {
128
+ "inputs": [],
129
+ "name": "MarketZeroAmountsOutput",
130
+ "type": "error"
131
+ },
132
+ {
133
+ "inputs": [],
134
+ "name": "MarketZeroLnImpliedRate",
135
+ "type": "error"
136
+ },
137
+ {
138
+ "inputs": [
139
+ {
140
+ "internalType": "int256",
141
+ "name": "totalPt",
142
+ "type": "int256"
143
+ },
144
+ {
145
+ "internalType": "int256",
146
+ "name": "totalAsset",
147
+ "type": "int256"
148
+ }
149
+ ],
150
+ "name": "MarketZeroTotalPtOrTotalAsset",
151
+ "type": "error"
152
+ },
153
+ {
154
+ "inputs": [],
155
+ "name": "INF",
156
+ "outputs": [
157
+ {
158
+ "internalType": "uint256",
159
+ "name": "",
160
+ "type": "uint256"
161
+ }
162
+ ],
163
+ "stateMutability": "view",
164
+ "type": "function"
165
+ },
166
+ {
167
+ "inputs": [],
168
+ "name": "MINIMAL_EPS",
169
+ "outputs": [
170
+ {
171
+ "internalType": "uint256",
172
+ "name": "",
173
+ "type": "uint256"
174
+ }
175
+ ],
176
+ "stateMutability": "view",
177
+ "type": "function"
178
+ },
179
+ {
180
+ "inputs": [
181
+ {
182
+ "components": [
183
+ {
184
+ "components": [
185
+ {
186
+ "internalType": "int256",
187
+ "name": "totalPt",
188
+ "type": "int256"
189
+ },
190
+ {
191
+ "internalType": "int256",
192
+ "name": "totalSy",
193
+ "type": "int256"
194
+ },
195
+ {
196
+ "internalType": "int256",
197
+ "name": "totalLp",
198
+ "type": "int256"
199
+ },
200
+ {
201
+ "internalType": "address",
202
+ "name": "treasury",
203
+ "type": "address"
204
+ },
205
+ {
206
+ "internalType": "int256",
207
+ "name": "scalarRoot",
208
+ "type": "int256"
209
+ },
210
+ {
211
+ "internalType": "uint256",
212
+ "name": "expiry",
213
+ "type": "uint256"
214
+ },
215
+ {
216
+ "internalType": "uint256",
217
+ "name": "lnFeeRateRoot",
218
+ "type": "uint256"
219
+ },
220
+ {
221
+ "internalType": "uint256",
222
+ "name": "reserveFeePercent",
223
+ "type": "uint256"
224
+ },
225
+ {
226
+ "internalType": "uint256",
227
+ "name": "lastLnImpliedRate",
228
+ "type": "uint256"
229
+ }
230
+ ],
231
+ "internalType": "struct MarketState",
232
+ "name": "state",
233
+ "type": "tuple"
234
+ },
235
+ {
236
+ "internalType": "PYIndex",
237
+ "name": "index",
238
+ "type": "uint256"
239
+ },
240
+ {
241
+ "internalType": "uint256",
242
+ "name": "blockTime",
243
+ "type": "uint256"
244
+ }
245
+ ],
246
+ "internalType": "struct MarketExtState",
247
+ "name": "marketExt",
248
+ "type": "tuple"
249
+ },
250
+ {
251
+ "internalType": "enum TradeActionType",
252
+ "name": "action",
253
+ "type": "uint8"
254
+ },
255
+ {
256
+ "internalType": "uint256",
257
+ "name": "botParam",
258
+ "type": "uint256"
259
+ }
260
+ ],
261
+ "name": "_calcTradeActionAmountOutAndIntParams",
262
+ "outputs": [
263
+ {
264
+ "internalType": "uint256",
265
+ "name": "amountOut",
266
+ "type": "uint256"
267
+ },
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "intParams",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "stateMutability": "pure",
275
+ "type": "function"
276
+ },
277
+ {
278
+ "inputs": [
279
+ {
280
+ "internalType": "address",
281
+ "name": "botAddress",
282
+ "type": "address"
283
+ }
284
+ ],
285
+ "name": "getBotPosition",
286
+ "outputs": [
287
+ {
288
+ "components": [
289
+ {
290
+ "components": [
291
+ {
292
+ "internalType": "uint256",
293
+ "name": "lpBalance",
294
+ "type": "uint256"
295
+ },
296
+ {
297
+ "internalType": "uint256",
298
+ "name": "ytBalance",
299
+ "type": "uint256"
300
+ },
301
+ {
302
+ "internalType": "uint256",
303
+ "name": "ptBalance",
304
+ "type": "uint256"
305
+ },
306
+ {
307
+ "internalType": "uint256",
308
+ "name": "syBalance",
309
+ "type": "uint256"
310
+ },
311
+ {
312
+ "internalType": "uint256",
313
+ "name": "buyBins",
314
+ "type": "uint256"
315
+ }
316
+ ],
317
+ "internalType": "struct BotState",
318
+ "name": "botState",
319
+ "type": "tuple"
320
+ },
321
+ {
322
+ "components": [
323
+ {
324
+ "components": [
325
+ {
326
+ "internalType": "int256",
327
+ "name": "totalPt",
328
+ "type": "int256"
329
+ },
330
+ {
331
+ "internalType": "int256",
332
+ "name": "totalSy",
333
+ "type": "int256"
334
+ },
335
+ {
336
+ "internalType": "int256",
337
+ "name": "totalLp",
338
+ "type": "int256"
339
+ },
340
+ {
341
+ "internalType": "address",
342
+ "name": "treasury",
343
+ "type": "address"
344
+ },
345
+ {
346
+ "internalType": "int256",
347
+ "name": "scalarRoot",
348
+ "type": "int256"
349
+ },
350
+ {
351
+ "internalType": "uint256",
352
+ "name": "expiry",
353
+ "type": "uint256"
354
+ },
355
+ {
356
+ "internalType": "uint256",
357
+ "name": "lnFeeRateRoot",
358
+ "type": "uint256"
359
+ },
360
+ {
361
+ "internalType": "uint256",
362
+ "name": "reserveFeePercent",
363
+ "type": "uint256"
364
+ },
365
+ {
366
+ "internalType": "uint256",
367
+ "name": "lastLnImpliedRate",
368
+ "type": "uint256"
369
+ }
370
+ ],
371
+ "internalType": "struct MarketState",
372
+ "name": "state",
373
+ "type": "tuple"
374
+ },
375
+ {
376
+ "internalType": "PYIndex",
377
+ "name": "index",
378
+ "type": "uint256"
379
+ },
380
+ {
381
+ "internalType": "uint256",
382
+ "name": "blockTime",
383
+ "type": "uint256"
384
+ }
385
+ ],
386
+ "internalType": "struct MarketExtState",
387
+ "name": "marketExt",
388
+ "type": "tuple"
389
+ },
390
+ {
391
+ "components": [
392
+ {
393
+ "internalType": "uint256",
394
+ "name": "buyYtIy",
395
+ "type": "uint256"
396
+ },
397
+ {
398
+ "internalType": "uint256",
399
+ "name": "sellYtIy",
400
+ "type": "uint256"
401
+ },
402
+ {
403
+ "internalType": "uint256",
404
+ "name": "targetSyRatio",
405
+ "type": "uint256"
406
+ },
407
+ {
408
+ "internalType": "uint256",
409
+ "name": "bufferSyRatio",
410
+ "type": "uint256"
411
+ },
412
+ {
413
+ "internalType": "uint256",
414
+ "name": "targetYtPtRatio",
415
+ "type": "uint256"
416
+ },
417
+ {
418
+ "internalType": "uint256",
419
+ "name": "numOfBins",
420
+ "type": "uint256"
421
+ }
422
+ ],
423
+ "internalType": "struct TradingSpecs",
424
+ "name": "specs",
425
+ "type": "tuple"
426
+ }
427
+ ],
428
+ "internalType": "struct StrategyData",
429
+ "name": "strategyData",
430
+ "type": "tuple"
431
+ },
432
+ {
433
+ "internalType": "uint256",
434
+ "name": "tvlInSy",
435
+ "type": "uint256"
436
+ },
437
+ {
438
+ "internalType": "uint256",
439
+ "name": "iy",
440
+ "type": "uint256"
441
+ },
442
+ {
443
+ "internalType": "uint256",
444
+ "name": "currentSyRatio",
445
+ "type": "uint256"
446
+ },
447
+ {
448
+ "internalType": "uint256",
449
+ "name": "currentYtPtRatio",
450
+ "type": "uint256"
451
+ }
452
+ ],
453
+ "stateMutability": "view",
454
+ "type": "function"
455
+ },
456
+ {
457
+ "inputs": [
458
+ {
459
+ "components": [
460
+ {
461
+ "components": [
462
+ {
463
+ "internalType": "uint256",
464
+ "name": "lpBalance",
465
+ "type": "uint256"
466
+ },
467
+ {
468
+ "internalType": "uint256",
469
+ "name": "ytBalance",
470
+ "type": "uint256"
471
+ },
472
+ {
473
+ "internalType": "uint256",
474
+ "name": "ptBalance",
475
+ "type": "uint256"
476
+ },
477
+ {
478
+ "internalType": "uint256",
479
+ "name": "syBalance",
480
+ "type": "uint256"
481
+ },
482
+ {
483
+ "internalType": "uint256",
484
+ "name": "buyBins",
485
+ "type": "uint256"
486
+ }
487
+ ],
488
+ "internalType": "struct BotState",
489
+ "name": "botState",
490
+ "type": "tuple"
491
+ },
492
+ {
493
+ "components": [
494
+ {
495
+ "components": [
496
+ {
497
+ "internalType": "int256",
498
+ "name": "totalPt",
499
+ "type": "int256"
500
+ },
501
+ {
502
+ "internalType": "int256",
503
+ "name": "totalSy",
504
+ "type": "int256"
505
+ },
506
+ {
507
+ "internalType": "int256",
508
+ "name": "totalLp",
509
+ "type": "int256"
510
+ },
511
+ {
512
+ "internalType": "address",
513
+ "name": "treasury",
514
+ "type": "address"
515
+ },
516
+ {
517
+ "internalType": "int256",
518
+ "name": "scalarRoot",
519
+ "type": "int256"
520
+ },
521
+ {
522
+ "internalType": "uint256",
523
+ "name": "expiry",
524
+ "type": "uint256"
525
+ },
526
+ {
527
+ "internalType": "uint256",
528
+ "name": "lnFeeRateRoot",
529
+ "type": "uint256"
530
+ },
531
+ {
532
+ "internalType": "uint256",
533
+ "name": "reserveFeePercent",
534
+ "type": "uint256"
535
+ },
536
+ {
537
+ "internalType": "uint256",
538
+ "name": "lastLnImpliedRate",
539
+ "type": "uint256"
540
+ }
541
+ ],
542
+ "internalType": "struct MarketState",
543
+ "name": "state",
544
+ "type": "tuple"
545
+ },
546
+ {
547
+ "internalType": "PYIndex",
548
+ "name": "index",
549
+ "type": "uint256"
550
+ },
551
+ {
552
+ "internalType": "uint256",
553
+ "name": "blockTime",
554
+ "type": "uint256"
555
+ }
556
+ ],
557
+ "internalType": "struct MarketExtState",
558
+ "name": "marketExt",
559
+ "type": "tuple"
560
+ },
561
+ {
562
+ "components": [
563
+ {
564
+ "internalType": "uint256",
565
+ "name": "buyYtIy",
566
+ "type": "uint256"
567
+ },
568
+ {
569
+ "internalType": "uint256",
570
+ "name": "sellYtIy",
571
+ "type": "uint256"
572
+ },
573
+ {
574
+ "internalType": "uint256",
575
+ "name": "targetSyRatio",
576
+ "type": "uint256"
577
+ },
578
+ {
579
+ "internalType": "uint256",
580
+ "name": "bufferSyRatio",
581
+ "type": "uint256"
582
+ },
583
+ {
584
+ "internalType": "uint256",
585
+ "name": "targetYtPtRatio",
586
+ "type": "uint256"
587
+ },
588
+ {
589
+ "internalType": "uint256",
590
+ "name": "numOfBins",
591
+ "type": "uint256"
592
+ }
593
+ ],
594
+ "internalType": "struct TradingSpecs",
595
+ "name": "specs",
596
+ "type": "tuple"
597
+ }
598
+ ],
599
+ "internalType": "struct StrategyData",
600
+ "name": "strategyData",
601
+ "type": "tuple"
602
+ }
603
+ ],
604
+ "name": "getCurrentBin",
605
+ "outputs": [
606
+ {
607
+ "internalType": "int256",
608
+ "name": "",
609
+ "type": "int256"
610
+ }
611
+ ],
612
+ "stateMutability": "pure",
613
+ "type": "function"
614
+ },
615
+ {
616
+ "inputs": [
617
+ {
618
+ "internalType": "address",
619
+ "name": "botAddress",
620
+ "type": "address"
621
+ }
622
+ ],
623
+ "name": "getRebalanceAction",
624
+ "outputs": [
625
+ {
626
+ "components": [
627
+ {
628
+ "internalType": "enum RebalanceType",
629
+ "name": "rebalanceType",
630
+ "type": "uint8"
631
+ },
632
+ {
633
+ "internalType": "uint256",
634
+ "name": "amountIn",
635
+ "type": "uint256"
636
+ },
637
+ {
638
+ "internalType": "uint256",
639
+ "name": "amountOut",
640
+ "type": "uint256"
641
+ },
642
+ {
643
+ "internalType": "uint256",
644
+ "name": "amountOut2",
645
+ "type": "uint256"
646
+ }
647
+ ],
648
+ "internalType": "struct IBotDecisionHelper.RebalanceOutput",
649
+ "name": "output",
650
+ "type": "tuple"
651
+ }
652
+ ],
653
+ "stateMutability": "view",
654
+ "type": "function"
655
+ },
656
+ {
657
+ "inputs": [
658
+ {
659
+ "internalType": "address",
660
+ "name": "botAddress",
661
+ "type": "address"
662
+ }
663
+ ],
664
+ "name": "getTradeAction",
665
+ "outputs": [
666
+ {
667
+ "components": [
668
+ {
669
+ "internalType": "enum TradeActionType",
670
+ "name": "action",
671
+ "type": "uint8"
672
+ },
673
+ {
674
+ "internalType": "int256",
675
+ "name": "currentBin",
676
+ "type": "int256"
677
+ },
678
+ {
679
+ "internalType": "uint256",
680
+ "name": "targetIy",
681
+ "type": "uint256"
682
+ },
683
+ {
684
+ "internalType": "uint256",
685
+ "name": "guessBotParams",
686
+ "type": "uint256"
687
+ },
688
+ {
689
+ "internalType": "uint256",
690
+ "name": "guessIntParams",
691
+ "type": "uint256"
692
+ },
693
+ {
694
+ "internalType": "uint256",
695
+ "name": "amountOut",
696
+ "type": "uint256"
697
+ }
698
+ ],
699
+ "internalType": "struct IBotDecisionHelper.TradeResult",
700
+ "name": "res",
701
+ "type": "tuple"
702
+ }
703
+ ],
704
+ "stateMutability": "view",
705
+ "type": "function"
706
+ },
707
+ {
708
+ "inputs": [
709
+ {
710
+ "components": [
711
+ {
712
+ "components": [
713
+ {
714
+ "internalType": "uint256",
715
+ "name": "lpBalance",
716
+ "type": "uint256"
717
+ },
718
+ {
719
+ "internalType": "uint256",
720
+ "name": "ytBalance",
721
+ "type": "uint256"
722
+ },
723
+ {
724
+ "internalType": "uint256",
725
+ "name": "ptBalance",
726
+ "type": "uint256"
727
+ },
728
+ {
729
+ "internalType": "uint256",
730
+ "name": "syBalance",
731
+ "type": "uint256"
732
+ },
733
+ {
734
+ "internalType": "uint256",
735
+ "name": "buyBins",
736
+ "type": "uint256"
737
+ }
738
+ ],
739
+ "internalType": "struct BotState",
740
+ "name": "botState",
741
+ "type": "tuple"
742
+ },
743
+ {
744
+ "components": [
745
+ {
746
+ "components": [
747
+ {
748
+ "internalType": "int256",
749
+ "name": "totalPt",
750
+ "type": "int256"
751
+ },
752
+ {
753
+ "internalType": "int256",
754
+ "name": "totalSy",
755
+ "type": "int256"
756
+ },
757
+ {
758
+ "internalType": "int256",
759
+ "name": "totalLp",
760
+ "type": "int256"
761
+ },
762
+ {
763
+ "internalType": "address",
764
+ "name": "treasury",
765
+ "type": "address"
766
+ },
767
+ {
768
+ "internalType": "int256",
769
+ "name": "scalarRoot",
770
+ "type": "int256"
771
+ },
772
+ {
773
+ "internalType": "uint256",
774
+ "name": "expiry",
775
+ "type": "uint256"
776
+ },
777
+ {
778
+ "internalType": "uint256",
779
+ "name": "lnFeeRateRoot",
780
+ "type": "uint256"
781
+ },
782
+ {
783
+ "internalType": "uint256",
784
+ "name": "reserveFeePercent",
785
+ "type": "uint256"
786
+ },
787
+ {
788
+ "internalType": "uint256",
789
+ "name": "lastLnImpliedRate",
790
+ "type": "uint256"
791
+ }
792
+ ],
793
+ "internalType": "struct MarketState",
794
+ "name": "state",
795
+ "type": "tuple"
796
+ },
797
+ {
798
+ "internalType": "PYIndex",
799
+ "name": "index",
800
+ "type": "uint256"
801
+ },
802
+ {
803
+ "internalType": "uint256",
804
+ "name": "blockTime",
805
+ "type": "uint256"
806
+ }
807
+ ],
808
+ "internalType": "struct MarketExtState",
809
+ "name": "marketExt",
810
+ "type": "tuple"
811
+ },
812
+ {
813
+ "components": [
814
+ {
815
+ "internalType": "uint256",
816
+ "name": "buyYtIy",
817
+ "type": "uint256"
818
+ },
819
+ {
820
+ "internalType": "uint256",
821
+ "name": "sellYtIy",
822
+ "type": "uint256"
823
+ },
824
+ {
825
+ "internalType": "uint256",
826
+ "name": "targetSyRatio",
827
+ "type": "uint256"
828
+ },
829
+ {
830
+ "internalType": "uint256",
831
+ "name": "bufferSyRatio",
832
+ "type": "uint256"
833
+ },
834
+ {
835
+ "internalType": "uint256",
836
+ "name": "targetYtPtRatio",
837
+ "type": "uint256"
838
+ },
839
+ {
840
+ "internalType": "uint256",
841
+ "name": "numOfBins",
842
+ "type": "uint256"
843
+ }
844
+ ],
845
+ "internalType": "struct TradingSpecs",
846
+ "name": "specs",
847
+ "type": "tuple"
848
+ }
849
+ ],
850
+ "internalType": "struct StrategyData",
851
+ "name": "strategyData",
852
+ "type": "tuple"
853
+ },
854
+ {
855
+ "internalType": "enum TradeActionType",
856
+ "name": "action",
857
+ "type": "uint8"
858
+ },
859
+ {
860
+ "internalType": "uint256",
861
+ "name": "botParam",
862
+ "type": "uint256"
863
+ },
864
+ {
865
+ "components": [
866
+ {
867
+ "internalType": "uint256",
868
+ "name": "guessMin",
869
+ "type": "uint256"
870
+ },
871
+ {
872
+ "internalType": "uint256",
873
+ "name": "guessMax",
874
+ "type": "uint256"
875
+ },
876
+ {
877
+ "internalType": "uint256",
878
+ "name": "guessOffchain",
879
+ "type": "uint256"
880
+ },
881
+ {
882
+ "internalType": "uint256",
883
+ "name": "maxIteration",
884
+ "type": "uint256"
885
+ },
886
+ {
887
+ "internalType": "uint256",
888
+ "name": "eps",
889
+ "type": "uint256"
890
+ }
891
+ ],
892
+ "internalType": "struct ApproxParams",
893
+ "name": "intParams",
894
+ "type": "tuple"
895
+ }
896
+ ],
897
+ "name": "previewAction",
898
+ "outputs": [
899
+ {
900
+ "internalType": "bool",
901
+ "name": "success",
902
+ "type": "bool"
903
+ },
904
+ {
905
+ "components": [
906
+ {
907
+ "internalType": "uint256",
908
+ "name": "lpBalance",
909
+ "type": "uint256"
910
+ },
911
+ {
912
+ "internalType": "uint256",
913
+ "name": "ytBalance",
914
+ "type": "uint256"
915
+ },
916
+ {
917
+ "internalType": "uint256",
918
+ "name": "ptBalance",
919
+ "type": "uint256"
920
+ },
921
+ {
922
+ "internalType": "uint256",
923
+ "name": "syBalance",
924
+ "type": "uint256"
925
+ },
926
+ {
927
+ "internalType": "uint256",
928
+ "name": "buyBins",
929
+ "type": "uint256"
930
+ }
931
+ ],
932
+ "internalType": "struct BotState",
933
+ "name": "bot",
934
+ "type": "tuple"
935
+ },
936
+ {
937
+ "components": [
938
+ {
939
+ "components": [
940
+ {
941
+ "internalType": "int256",
942
+ "name": "totalPt",
943
+ "type": "int256"
944
+ },
945
+ {
946
+ "internalType": "int256",
947
+ "name": "totalSy",
948
+ "type": "int256"
949
+ },
950
+ {
951
+ "internalType": "int256",
952
+ "name": "totalLp",
953
+ "type": "int256"
954
+ },
955
+ {
956
+ "internalType": "address",
957
+ "name": "treasury",
958
+ "type": "address"
959
+ },
960
+ {
961
+ "internalType": "int256",
962
+ "name": "scalarRoot",
963
+ "type": "int256"
964
+ },
965
+ {
966
+ "internalType": "uint256",
967
+ "name": "expiry",
968
+ "type": "uint256"
969
+ },
970
+ {
971
+ "internalType": "uint256",
972
+ "name": "lnFeeRateRoot",
973
+ "type": "uint256"
974
+ },
975
+ {
976
+ "internalType": "uint256",
977
+ "name": "reserveFeePercent",
978
+ "type": "uint256"
979
+ },
980
+ {
981
+ "internalType": "uint256",
982
+ "name": "lastLnImpliedRate",
983
+ "type": "uint256"
984
+ }
985
+ ],
986
+ "internalType": "struct MarketState",
987
+ "name": "state",
988
+ "type": "tuple"
989
+ },
990
+ {
991
+ "internalType": "PYIndex",
992
+ "name": "index",
993
+ "type": "uint256"
994
+ },
995
+ {
996
+ "internalType": "uint256",
997
+ "name": "blockTime",
998
+ "type": "uint256"
999
+ }
1000
+ ],
1001
+ "internalType": "struct MarketExtState",
1002
+ "name": "marketExt",
1003
+ "type": "tuple"
1004
+ }
1005
+ ],
1006
+ "stateMutability": "pure",
1007
+ "type": "function"
1008
+ },
1009
+ {
1010
+ "inputs": [
1011
+ {
1012
+ "components": [
1013
+ {
1014
+ "components": [
1015
+ {
1016
+ "internalType": "uint256",
1017
+ "name": "lpBalance",
1018
+ "type": "uint256"
1019
+ },
1020
+ {
1021
+ "internalType": "uint256",
1022
+ "name": "ytBalance",
1023
+ "type": "uint256"
1024
+ },
1025
+ {
1026
+ "internalType": "uint256",
1027
+ "name": "ptBalance",
1028
+ "type": "uint256"
1029
+ },
1030
+ {
1031
+ "internalType": "uint256",
1032
+ "name": "syBalance",
1033
+ "type": "uint256"
1034
+ },
1035
+ {
1036
+ "internalType": "uint256",
1037
+ "name": "buyBins",
1038
+ "type": "uint256"
1039
+ }
1040
+ ],
1041
+ "internalType": "struct BotState",
1042
+ "name": "botState",
1043
+ "type": "tuple"
1044
+ },
1045
+ {
1046
+ "components": [
1047
+ {
1048
+ "components": [
1049
+ {
1050
+ "internalType": "int256",
1051
+ "name": "totalPt",
1052
+ "type": "int256"
1053
+ },
1054
+ {
1055
+ "internalType": "int256",
1056
+ "name": "totalSy",
1057
+ "type": "int256"
1058
+ },
1059
+ {
1060
+ "internalType": "int256",
1061
+ "name": "totalLp",
1062
+ "type": "int256"
1063
+ },
1064
+ {
1065
+ "internalType": "address",
1066
+ "name": "treasury",
1067
+ "type": "address"
1068
+ },
1069
+ {
1070
+ "internalType": "int256",
1071
+ "name": "scalarRoot",
1072
+ "type": "int256"
1073
+ },
1074
+ {
1075
+ "internalType": "uint256",
1076
+ "name": "expiry",
1077
+ "type": "uint256"
1078
+ },
1079
+ {
1080
+ "internalType": "uint256",
1081
+ "name": "lnFeeRateRoot",
1082
+ "type": "uint256"
1083
+ },
1084
+ {
1085
+ "internalType": "uint256",
1086
+ "name": "reserveFeePercent",
1087
+ "type": "uint256"
1088
+ },
1089
+ {
1090
+ "internalType": "uint256",
1091
+ "name": "lastLnImpliedRate",
1092
+ "type": "uint256"
1093
+ }
1094
+ ],
1095
+ "internalType": "struct MarketState",
1096
+ "name": "state",
1097
+ "type": "tuple"
1098
+ },
1099
+ {
1100
+ "internalType": "PYIndex",
1101
+ "name": "index",
1102
+ "type": "uint256"
1103
+ },
1104
+ {
1105
+ "internalType": "uint256",
1106
+ "name": "blockTime",
1107
+ "type": "uint256"
1108
+ }
1109
+ ],
1110
+ "internalType": "struct MarketExtState",
1111
+ "name": "marketExt",
1112
+ "type": "tuple"
1113
+ },
1114
+ {
1115
+ "components": [
1116
+ {
1117
+ "internalType": "uint256",
1118
+ "name": "buyYtIy",
1119
+ "type": "uint256"
1120
+ },
1121
+ {
1122
+ "internalType": "uint256",
1123
+ "name": "sellYtIy",
1124
+ "type": "uint256"
1125
+ },
1126
+ {
1127
+ "internalType": "uint256",
1128
+ "name": "targetSyRatio",
1129
+ "type": "uint256"
1130
+ },
1131
+ {
1132
+ "internalType": "uint256",
1133
+ "name": "bufferSyRatio",
1134
+ "type": "uint256"
1135
+ },
1136
+ {
1137
+ "internalType": "uint256",
1138
+ "name": "targetYtPtRatio",
1139
+ "type": "uint256"
1140
+ },
1141
+ {
1142
+ "internalType": "uint256",
1143
+ "name": "numOfBins",
1144
+ "type": "uint256"
1145
+ }
1146
+ ],
1147
+ "internalType": "struct TradingSpecs",
1148
+ "name": "specs",
1149
+ "type": "tuple"
1150
+ }
1151
+ ],
1152
+ "internalType": "struct StrategyData",
1153
+ "name": "strategyData",
1154
+ "type": "tuple"
1155
+ },
1156
+ {
1157
+ "internalType": "enum TradeActionType",
1158
+ "name": "action",
1159
+ "type": "uint8"
1160
+ },
1161
+ {
1162
+ "internalType": "uint256",
1163
+ "name": "targetIy",
1164
+ "type": "uint256"
1165
+ },
1166
+ {
1167
+ "internalType": "uint256",
1168
+ "name": "rebalanceAdditionalCheck",
1169
+ "type": "uint256"
1170
+ },
1171
+ {
1172
+ "components": [
1173
+ {
1174
+ "internalType": "uint256",
1175
+ "name": "guessMin",
1176
+ "type": "uint256"
1177
+ },
1178
+ {
1179
+ "internalType": "uint256",
1180
+ "name": "guessMax",
1181
+ "type": "uint256"
1182
+ },
1183
+ {
1184
+ "internalType": "uint256",
1185
+ "name": "guessOffchain",
1186
+ "type": "uint256"
1187
+ },
1188
+ {
1189
+ "internalType": "uint256",
1190
+ "name": "maxIteration",
1191
+ "type": "uint256"
1192
+ },
1193
+ {
1194
+ "internalType": "uint256",
1195
+ "name": "eps",
1196
+ "type": "uint256"
1197
+ }
1198
+ ],
1199
+ "internalType": "struct ApproxParams",
1200
+ "name": "botParams",
1201
+ "type": "tuple"
1202
+ },
1203
+ {
1204
+ "components": [
1205
+ {
1206
+ "internalType": "uint256",
1207
+ "name": "guessMin",
1208
+ "type": "uint256"
1209
+ },
1210
+ {
1211
+ "internalType": "uint256",
1212
+ "name": "guessMax",
1213
+ "type": "uint256"
1214
+ },
1215
+ {
1216
+ "internalType": "uint256",
1217
+ "name": "guessOffchain",
1218
+ "type": "uint256"
1219
+ },
1220
+ {
1221
+ "internalType": "uint256",
1222
+ "name": "maxIteration",
1223
+ "type": "uint256"
1224
+ },
1225
+ {
1226
+ "internalType": "uint256",
1227
+ "name": "eps",
1228
+ "type": "uint256"
1229
+ }
1230
+ ],
1231
+ "internalType": "struct ApproxParams",
1232
+ "name": "intParams",
1233
+ "type": "tuple"
1234
+ }
1235
+ ],
1236
+ "name": "searchForBotParam",
1237
+ "outputs": [
1238
+ {
1239
+ "internalType": "uint256",
1240
+ "name": "",
1241
+ "type": "uint256"
1242
+ }
1243
+ ],
1244
+ "stateMutability": "pure",
1245
+ "type": "function"
1246
+ },
1247
+ {
1248
+ "inputs": [
1249
+ {
1250
+ "components": [
1251
+ {
1252
+ "components": [
1253
+ {
1254
+ "internalType": "uint256",
1255
+ "name": "lpBalance",
1256
+ "type": "uint256"
1257
+ },
1258
+ {
1259
+ "internalType": "uint256",
1260
+ "name": "ytBalance",
1261
+ "type": "uint256"
1262
+ },
1263
+ {
1264
+ "internalType": "uint256",
1265
+ "name": "ptBalance",
1266
+ "type": "uint256"
1267
+ },
1268
+ {
1269
+ "internalType": "uint256",
1270
+ "name": "syBalance",
1271
+ "type": "uint256"
1272
+ },
1273
+ {
1274
+ "internalType": "uint256",
1275
+ "name": "buyBins",
1276
+ "type": "uint256"
1277
+ }
1278
+ ],
1279
+ "internalType": "struct BotState",
1280
+ "name": "botState",
1281
+ "type": "tuple"
1282
+ },
1283
+ {
1284
+ "components": [
1285
+ {
1286
+ "components": [
1287
+ {
1288
+ "internalType": "int256",
1289
+ "name": "totalPt",
1290
+ "type": "int256"
1291
+ },
1292
+ {
1293
+ "internalType": "int256",
1294
+ "name": "totalSy",
1295
+ "type": "int256"
1296
+ },
1297
+ {
1298
+ "internalType": "int256",
1299
+ "name": "totalLp",
1300
+ "type": "int256"
1301
+ },
1302
+ {
1303
+ "internalType": "address",
1304
+ "name": "treasury",
1305
+ "type": "address"
1306
+ },
1307
+ {
1308
+ "internalType": "int256",
1309
+ "name": "scalarRoot",
1310
+ "type": "int256"
1311
+ },
1312
+ {
1313
+ "internalType": "uint256",
1314
+ "name": "expiry",
1315
+ "type": "uint256"
1316
+ },
1317
+ {
1318
+ "internalType": "uint256",
1319
+ "name": "lnFeeRateRoot",
1320
+ "type": "uint256"
1321
+ },
1322
+ {
1323
+ "internalType": "uint256",
1324
+ "name": "reserveFeePercent",
1325
+ "type": "uint256"
1326
+ },
1327
+ {
1328
+ "internalType": "uint256",
1329
+ "name": "lastLnImpliedRate",
1330
+ "type": "uint256"
1331
+ }
1332
+ ],
1333
+ "internalType": "struct MarketState",
1334
+ "name": "state",
1335
+ "type": "tuple"
1336
+ },
1337
+ {
1338
+ "internalType": "PYIndex",
1339
+ "name": "index",
1340
+ "type": "uint256"
1341
+ },
1342
+ {
1343
+ "internalType": "uint256",
1344
+ "name": "blockTime",
1345
+ "type": "uint256"
1346
+ }
1347
+ ],
1348
+ "internalType": "struct MarketExtState",
1349
+ "name": "marketExt",
1350
+ "type": "tuple"
1351
+ },
1352
+ {
1353
+ "components": [
1354
+ {
1355
+ "internalType": "uint256",
1356
+ "name": "buyYtIy",
1357
+ "type": "uint256"
1358
+ },
1359
+ {
1360
+ "internalType": "uint256",
1361
+ "name": "sellYtIy",
1362
+ "type": "uint256"
1363
+ },
1364
+ {
1365
+ "internalType": "uint256",
1366
+ "name": "targetSyRatio",
1367
+ "type": "uint256"
1368
+ },
1369
+ {
1370
+ "internalType": "uint256",
1371
+ "name": "bufferSyRatio",
1372
+ "type": "uint256"
1373
+ },
1374
+ {
1375
+ "internalType": "uint256",
1376
+ "name": "targetYtPtRatio",
1377
+ "type": "uint256"
1378
+ },
1379
+ {
1380
+ "internalType": "uint256",
1381
+ "name": "numOfBins",
1382
+ "type": "uint256"
1383
+ }
1384
+ ],
1385
+ "internalType": "struct TradingSpecs",
1386
+ "name": "specs",
1387
+ "type": "tuple"
1388
+ }
1389
+ ],
1390
+ "internalType": "struct StrategyData",
1391
+ "name": "strategyData",
1392
+ "type": "tuple"
1393
+ }
1394
+ ],
1395
+ "name": "searchMaxYtToAddLiq",
1396
+ "outputs": [
1397
+ {
1398
+ "internalType": "uint256",
1399
+ "name": "maxYtToAddLiq",
1400
+ "type": "uint256"
1401
+ }
1402
+ ],
1403
+ "stateMutability": "view",
1404
+ "type": "function"
1405
+ }
1406
+ ],
1407
+ "bytecode": "0x608060405234801561001057600080fd5b50613d42806100206000396000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c806303270af41461009357806306e8bac9146100b95780630c3fad99146100dd5780631cca5369146100fd5780632313dd6e14610110578063916ec547146101305780639d2a679f14610151578063a76541e51461015a578063ac4c7e841461016d578063cf209b601461017a575b600080fd5b6100a66100a1366004613661565b61019c565b6040519081526020015b60405180910390f35b6100cc6100c73660046136d0565b6103a8565b6040516100b0959493929190613798565b6100f06100eb3660046136d0565b61043e565b6040516100b0919061383c565b6100a661010b36600461388f565b610626565b61012361011e3660046136d0565b610762565b6040516100b091906138ac565b61014361013e3660046138eb565b610902565b6040516100b092919061392b565b6100a660001981565b6100a661016836600461388f565b610963565b6100a6655af3107a400081565b61018d610188366004613939565b61098a565b6040516100b09392919061398c565b60008060405180606001604052808981526020018860028111156101c2576101c2613826565b81526020018790526040850151909150156102105760016101ee82866040015188886080015188610a17565b60028111156101ff576101ff613826565b03610210575050604082015161039e565b600061022589600001518a602001518a610b39565b9050808560200151111561023b57602085018190525b6020850151855111156102865787600281111561025a5761025a613826565b8551602087015160405163f25ccea360e01b815261027d939291906004016139b0565b60405180910390fd5b50600261029e82866020015188886080015188610a17565b60028111156102af576102af613826565b146102c0575050602082015161039e565b60005b84606001518110156103745760006002866000015187602001516102e791906139dc565b6102f19190613a05565b86516102fd9190613a19565b9050600061031284838a8a608001518a610a17565b9050600181600281111561032857610328613826565b036103385750925061039e915050565b600081600281111561034c5761034c613826565b0361035957818752610361565b602087018290525b50508061036d90613a2c565b90506102c3565b50835115610385575050815161039e565b60405163fef33c9d60e01b815260040160405180910390fd5b9695505050505050565b6103b06132b7565b600080600080856001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190613aa8565b945061042d85600001518660200151610b6f565b979992985090969095509350915050565b6104786040805160c08101909152806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dd9190613aa8565b905060006104ee8260200151610c0f565b90506105038260000151836040015183610c5c565b6020840181905260000361051c57505060008152919050565b610533826000015183604001518560200151610c71565b604084015260208301516000199060009081131561058f5760028552835180516020870151608090920151604087015160a00151610572939190610cc5565b91508160000361058a57505060008352509092915050565b6105db565b60018552600061059e85610626565b90506105c0818760200151876000015160800151886040015160a00151610cc5565b9150816000036105d95750506000845250919392505050565b505b6105fb8486600001518760400151846105f387610d65565b6100a1610da1565b606086018190526020850151865161061292610902565b608087015260a08601525092949350505050565b60008061063b83600001518460200151610b6f565b93505050508260400151608001518110156106595750600092915050565b6000610677610672856000015186602001516001610b39565b610d65565b90506000610683610da1565b90505b8151610693906001613a19565b8260200151111561075a5760006002836000015184602001516106b691906139dc565b6106c09190613a05565b83516106cc9190613a19565b905060008060006106e0896001868861098a565b92509250925082610705576106f66001856139dc565b60208701525061068692505050565b61070f8282610b6f565b60408d015160800151909a508a109250610746915050578386526020808301518a519091015161073f91906139dc565b9750610751565b6106f66001856139dc565b50505050610686565b505050919050565b61078e604080516080810190915280600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156107cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f39190613aa8565b905060008061080a83600001518460200151610b6f565b509250509150600061083f846040015160600151670de0b6b3a764000061083191906139dc565b604080870151015190610de1565b90506000610870856040015160600151670de0b6b3a76400006108629190613a19565b604080880151015190610de1565b9050808311156108ae57600186818152505061089a85602001518585886040015160400151610e04565b6060890152604088015260208701526108f8565b818310156108f8576108c08585610e38565b6040890181905260208901829052888360038111156108e1576108e1613826565b60038111156108f2576108f2613826565b90525050505b5050505050919050565b600080600284600281111561091957610919613826565b036109445761093a8361092a610da1565b61093388610f8f565b9190610fcd565b909250905061095b565b6109578361095187610f8f565b9061106a565b5091505b935093915050565b60006109848260000151836040015161097f8560200151610c0f565b610c5c565b92915050565b600061099461331a565b61099c613349565b86516109a79061116e565b91506109b68760200151610f8f565b905060018660028111156109cc576109cc613826565b036109e3576109dc8282876111b8565b9250610a0d565b60028660028111156109f7576109f7613826565b03610a08576109dc82828787611216565b600092505b9450945094915050565b600080600080610a3189600001518a602001518a8861098a565b92509250925082610a485760029350505050610b30565b6000610a5382610c0f565b905060018a602001516002811115610a6d57610a6d613826565b03610aed576020808401518b515190910151600091610a8b916139dc565b905088811115610aa357600295505050505050610b30565b610ab2828c604001518a61126d565b15610ac557600195505050505050610b30565b8a60400151821015610adf57600295505050505050610b30565b600095505050505050610b30565b610afc818b60400151896112a0565b15610b0e576001945050505050610b30565b8960400151811115610b27576002945050505050610b30565b60009450505050505b95945050505050565b60006001826002811115610b4f57610b4f613826565b03610b6457610b5d836112ce565b9050610b68565b5082515b9392505050565b6000808080610b7e86866112f4565b9350610b8985610c0f565b6060870151909350610b9b90856113e2565b91506000610bb68760000151610bb088610f8f565b90611408565b9150506000876040015182610bcb9190613a19565b90508015610be9576020880151610be290826113e2565b9250610c04565b8760200151600003610bfe5760009250610c04565b60001992505b505092959194509250565b6000670de0b6b3a7640000610c52610c438460400151856000015160a00151610c3891906139dc565b6301e13380906113e2565b610c4c856114bf565b9061150c565b61098491906139dc565b6000610c698385846116b5565b949350505050565b600081600003610c8357610c83613be1565b6000610c8f85846116ca565b90506000831215610cb757610caf610ca8826001613a19565b8590611711565b915050610b68565b610caf610ca86001836139dc565b600083600003610cd757610cd7613be1565b6000808512610cfb5783610cec846002613bf7565b610cf691906139dc565b610cfd565b835b9050600081670de0b6b3a7640000610d148861178b565b610d1e9190613bf7565b610d289190613a05565b90506000670de0b6b3a7640000610d4383610c4c8184613a19565b610d4d91906139dc565b9050610d598882610de1565b98975050505050505050565b610d6d61331a565b506040805160a0810182526001815260208101929092526000908201526101006060820152655af3107a4000608082015290565b610da961331a565b6040518060a00160405280600181526020016000198152602001600081526020016101008152602001655af3107a4000815250905090565b600080610dee8385613bf7565b9050670de0b6b3a7640000815b04949350505050565b60008080610e1c610e1585876139dc565b8790610de1565b9250610e2887846117a6565b9398909750929550919350505050565b600080600080856000015160600151610e6287604001516040015187610de190919063ffffffff16565b610e6c91906139dc565b86515190915015610f2c57600080610ea2610e8e896000015160000151611832565b610e9b8a60200151610f8f565b5190611848565b915091506000610ec2896000015160200151610ebd84611914565b611923565b90506000610ee1828b602001516020015161193990919063ffffffff16565b610eea85611914565b610ef49190613a19565b905060029750610f048186611923565b8a51519096508190610f17908890613bf7565b610f219190613a05565b965050505050610f87565b6000610f4d876000015160200151610f478960200151610f8f565b90611945565b875160200151600396509091508190610f669084613bf7565b610f709190613a05565b9350610f8384610f478960200151610f8f565b9250505b509250925092565b610f97613349565b6040518060600160405280610faf84600001516119a0565b81526020018360200151815260200183604001518152509050919050565b600080600080610fdd8787611408565b915091506000610ffa838960200151611a1d90919063ffffffff16565b905060006110088284613a19565b9050600061102e8a60200151838c604001516110238c61116e565b8e5193929190611a29565b5060208c015160408d01518d5192995092935061104c928990611b45565b505050808361105b9190613a19565b96505050505050935093915050565b600080600061109285602001518587604001518860000151611b96909392919063ffffffff16565b5050602086015190915060006110a88284613bf7565b6110ba670de0b6b3a764000088613bf7565b6110c491906139dc565b8751519091506000906110d690611914565b836110e88a6000015160200151611914565b6110f29190613bf7565b6110fc9190613a05565b61110e90670de0b6b3a7640000613a19565b9050600061111c8284613a05565b905061112881896139dc565b95506000611143878b60200151611bbf90919063ffffffff16565b9050600061115187836139dc565b905061115e8b8285611bcb565b9850505050505050509250929050565b61117661331a565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b600080806111c6858561106a565b9150915085602001518111156111e157600092505050610b68565b80866020018181516111f391906139dc565b905250855182908790611207908390613a19565b90525060019695505050505050565b835160009083111561122a57506000610c69565b6000611241846112398561116e565b879190610fcd565b509050838660000181815161125691906139dc565b905250602086018051829190611207908390613a19565b6000828410158015610c6957506112958361129084670de0b6b3a7640000613a19565b610de1565b909311159392505050565b6000828411158015610c6957506112c38361129084670de0b6b3a76400006139dc565b909310159392505050565b602081015160408201518251600092610984926112ec929190611da1565b835151611e9b565b60008061130083610f8f565b905060008061131c86600001518461140890919063ffffffff16565b9150915060008287606001516113329190613a19565b905060008760400151836113469190613a19565b9050876020015181116113945761135d8582611f3a565b6113679083613a19565b915061138381896020015161137c91906139dc565b8690611945565b61138d9083613a19565b91506113d7565b60208801516113a4908690611f3a565b6113ae9083613a19565b91506113ca8860200151826113c391906139dc565b8690611f4c565b6113d49083613a19565b91505b509695505050505050565b6000806113f7670de0b6b3a764000085613bf7565b9050828181610dfb57610dfb6139ef565b600080600061141684611832565b855160408101516020909101519192506000916114339084613c0e565b61143d9190613c3e565b8651604081015190519192506000916114569085613c0e565b6114609190613c3e565b8751604001519091506114739084611f70565b8751604001528651516114869082611f70565b8751528651602001516114999083611f70565b8751602001526114a882611914565b6114b182611914565b945094505050509250929050565b60208101516040820151825160009283926114db929190611da1565b905060006115018460000151600001518360200151846000015185604001516000611fb7565b9050610c6981611914565b6000816000036115255750670de0b6b3a7640000610984565b8260000361153557506000610984565b600160ff1b831061157a5760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b604482015260640161027d565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106115d45760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b604482015260640161027d565b826000670c7d713b49da0000831380156115f55750670f43fc2c04ee000083125b1561162c57600061160584612068565b9050670de0b6b3a764000080820784020583670de0b6b3a76400008305020191505061163a565b8161163684612187565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590611668575068070c1cc73b00c800008113155b6116ac5760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b604482015260640161027d565b61039e8161252a565b6000610c69836116c5868561293f565b6129ab565b6000816000036116dc576116dc613be1565b600182126116f257816116ee81613c6c565b9250505b610b686117028460800151611832565b61170c9084613c84565b611914565b6000811580159061173c575060a083015161172d906002613bf7565b611738906001613a19565b8214155b61174857611748613be1565b6000611753846129e2565b9050611760600282613a05565b61176b6001856139dc565b6117759083613bf7565b85516117819190613a19565b610c699190613a19565b60008082136117a25761179d82613cac565b610984565b5090565b60008060006117ca6117bf866000015160200151611914565b602087015190611a1d565b8551516117d690611914565b6117e09190613a19565b8551516117ec90611914565b6117f69086613bf7565b6118009190613a05565b60208601519091506118129082611a1d565b91506118288561182283876139dc565b84611bcb565b9250509250929050565b60006001600160ff1b038211156117a257600080fd5b6000808260000361186c576040516325daaec360e01b815260040160405180910390fd5b604084015160208501516118809085613c0e565b61188a9190613c3e565b604085015185519193509061189f9085613c0e565b6118a99190613c3e565b9050811580156118b7575080155b156118d557604051631997ea8d60e31b815260040160405180910390fd5b60408401516118e49084611f70565b604085015283516118f59082611f70565b845260208401516119069083611f70565b602090940193909352929050565b6000808212156117a257600080fd5b60008183106119325781610b68565b5090919050565b6000610b688383612a10565b60208201516040830151835160009283926119639291908690611b96565b505090506000611980828660200151612a4690919063ffffffff16565b9050600061198e82866139dc565b602087015190915061039e9082611bbf565b6119a8613370565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b6000610b688383612a53565b6000808080611a39898988611da1565b90508460400151600003611a76578451611a539088612a68565b85526020850151611a6890610ebd8b84612a77565b6020860152611a7685612afb565b60005b8560600151811015611b20576000611a918783612b49565b9050600080611aa28d868e86612bae565b5090925090506000611ab48d84611a1d565b90506000611ac282866139dc565b90508c8111611af957611ada818e8d608001516112a0565b15611af157509750919550909350611b3a92505050565b848b52611b0a565b611b046001866139dc565b60208c01525b505050505080611b1990613a2c565b9050611a79565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b600080600080600080611b628a8a611b5c8b612bdf565b8a612bf6565b925092509250611b7183611914565b9550611b7c82611914565b9450611b8781611914565b93505050509450945094915050565b600080600080600080611bad8a8a611b5c8b611832565b925092509250611b7161170c84612c89565b6000610b688383612c97565b825160a00151604084015160009111611c255760405162461bcd60e51b815260206004820152601c60248201527b13585c9ad95d115e1d131a588e88195e1c1a5c9959081b585c9ad95d60221b604482015260640161027d565b835160400151600012611c715760405162461bcd60e51b815260206004820152601460248201527304d61726b65744578744c69623a204c50203c20360641b604482015260640161027d565b6000611c7c84611832565b90506000611c8984611832565b90506000806000808960000151600001518a600001516040015186611cae9190613c0e565b611cb89190613c3e565b8a516020810151604090910151919250600091611cd59089613c0e565b611cdf9190613c3e565b905080821215611d1a578a5160408101516020909101519295508694508592611d09908490613c0e565b611d139190613c3e565b9250611d43565b8a51604081015190519195508793508591611d36908390613c0e565b611d409190613c3e565b93505b828b60000151602001818151611d599190613c84565b9052508a518051859190611d6e908390613c84565b9052508a516040018051869190611d86908390613c84565b905250611d9285611914565b9b9a5050505050505050505050565b611dcc6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210611df05760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151611e0291906139dc565b9050611e0e8582612cac565b82526020850151611e20908590612d0d565b602083015284511580611e3557506020820151155b15611e5c578451602083015160405163b1c4aefb60e01b815261027d92919060040161392b565b611e7a85600001518661010001518460200151856000015185612d44565b604083015260c0850151611e8e9082612dc5565b6060830152509392505050565b600080611ec8611ec3856000015186604001518760600151611ebd9190613cc8565b90612df9565b61252a565b90506000611ee8611ee1670de0b6b3a764000084613c84565b8390612e1c565b90506000611f06866020015186611eff9190613c84565b8390612df9565b90506000611f148287613cc8565b90506103e8611f25826103e7613bf7565b611f2f9190613a05565b979650505050505050565b6020820151600090610b689083611bbf565b602082015160408301518351600092611f66928590611b45565b5090949350505050565b600081831215611fad5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b604482015260640161027d565b610b688284613cc8565b600080611fc48784611f70565b90506000611fd5611ee1888a613c84565b9050670d529ae9e860000081131561200c5780670d529ae9e8600000604051637e34684f60e11b815260040161027d92919061392b565b600061201782612e42565b9050856120248289612e1c565b61202e9190613c84565b9350670de0b6b3a764000084121561205c5760405163329e322960e21b81526004810185905260240161027d565b50505095945050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff19850102816120a9576120a96139ef565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156121c8576121bf826a0c097ce7bc90715b34b9f160241b816121b9576121b96139ef565b05612187565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126122135772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b831261224a576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612292576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126122cd576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261230457693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261233b57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126123705768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261239b57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126123d0576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612405576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612439576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261246d576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612496576124966139ef565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff19821215801561254f575068070c1cc73b00c800008213155b61258e5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161027d565b60008212156125c6576125a38260000361252a565b6a0c097ce7bc90715b34b9f160241b816125bf576125bf6139ef565b0592915050565b60006806f05b59d3b2000000831261260457506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61263a565b6803782dace9d9000000831261263657506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061263a565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261268a5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126126c6576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261270057682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261273a576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261277357680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126127ac5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126127e5576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261281e5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b815160009082101561295357506000610984565b82602001518211156129815760a083015161296f906002613bf7565b61297a906001613a19565b9050610984565b61298a836129e2565b835161299690846139dc565b6129a09190613a05565b610b68906001613a19565b6000806129bb8460800151611832565b6129c484611832565b6129ce9190613cc8565b905060018112610b685780610b3081613cef565b60008160a0015160026129f59190613bf7565b82516020840151612a0691906139dc565b6109849190613a05565b600082600181612a28670de0b6b3a764000086613bf7565b612a329190613a19565b612a3c91906139dc565b610b689190613a05565b600082610c698184612e95565b6000670de0b6b3a7640000612a3c8484613bf7565b60008183116119325781610b68565b60008060009050600060018460200151612a9191906139dc565b90505b808214612af35760006002612aa98385613a19565b612ab4906001613a19565b612abe9190613a05565b90506000612ad186886000015184612ead565b1215612ae957612ae26001826139dc565b9150612aed565b8092505b50612a94565b509392505050565b602081015181511180612b195750670de0b6b3a76400008160800151115b15612b4657805160208201516080830151604051632cc06bc160e21b815261027d939291906004016139b0565b50565b600081158015612b5c5750604083015115155b15612b6c57506040820151610984565b6020830151835111612b955760208301518351600291612b8b91613a19565b61297a9190613a05565b604051637d388ed960e11b815260040160405180910390fd5b60008080808080612bcc8989612bc38a613cac565b8d929190612f9f565b919c909b50909950975050505050505050565b6000612bea82611832565b61098490600019613c0e565b6000806000612c098760a0015185101590565b15612c275760405163b2094b5960e01b815260040160405180910390fd5b86518512612c4d578651604051632185509b60e21b815261027d9190879060040161392b565b6000612c5a888887611da1565b9050612c6888828989612f9f565b91955093509150612c7e8882898988878b6130f3565b509450945094915050565b600061098482600019613c0e565b600082612a3c670de0b6b3a764000084613bf7565b6000612cb782611832565b612cce612cc96201518061016d613bf7565b611832565b8460800151612cdd9190613c0e565b612ce79190613c3e565b90506000811361098457604051630e520c3b60e11b81526004810182905260240161027d565b60008060008312612d1f576001612d23565b6000195b9050612d3a612cc985612d358661178b565b612a53565b610c699082613c0e565b600080612d518684612dc5565b9050670de0b6b3a7640000811215612d7f5760405163329e322960e21b81526004810182905260240161027d565b6000612d95612d8e878a613c84565b8990612e1c565b90506000612da282612e42565b9050612dae8187612e1c565b612db89084613cc8565b9998505050505050505050565b600080612dd76201518061016d613bf7565b612de18486613bf7565b612deb9190613a05565b9050610c69611ec382611832565b600080612e068385613c0e565b9050670de0b6b3a7640000815b05949350505050565b600080612e31670de0b6b3a764000085613c0e565b9050828181612e1357612e136139ef565b6000670de0b6b3a76400008203612e6c5760405163a9c8b14d60e01b815260040160405180910390fd5b6000612e8a612e8384670de0b6b3a7640000613cc8565b8490612e1c565b9050610b6881613185565b6000670de0b6b3a7640000600181612a288686613bf7565b600080828560200151612ec09190613cc8565b90506000612ece8585613c84565b9050600082138015612ee05750600081135b612f215760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b604482015260640161027d565b6000612f4f612f308484613c0e565b6020890151612f3f9089613c84565b612f499088613c0e565b90612e1c565b90506000612f65612f608486612e1c565b613185565b8851909150600090612f8090670de0b6b3a764000090612e1c565b9050612f9081611ebd8486613cc8565b8960400151612db89190613cc8565b600080600080612fc28860000151886020015189600001518a6040015189611fb7565b90506000612fd8612fd38784612e1c565b612c89565b60608901519091506000871315613047576000612ff58483612e1c565b9050670de0b6b3a76400008112156130235760405163329e322960e21b81526004810182905260240161027d565b61303f61303883670de0b6b3a7640000613cc8565b8490612df9565b915050613074565b6130718161305d81670de0b6b3a7640000613cc8565b6130679085613c0e565b612fd39190613c3e565b90505b600060646130858c60e00151611832565b61308f9084613c0e565b6130999190613c3e565b905060006130a78385613cc8565b9050600081126130c0576130bb8a82613216565b6130ca565b6130ca8a82613243565b97506130d68a84613216565b96506130e28a83613216565b955050505050509450945094915050565b6000818860a0015161310591906139dc565b88519091506131149086611f70565b885261312e6131238486613c84565b60208a015190611f70565b60208901819052885161315391613146908990612d0d565b895160408b015185613270565b610100890181905260000361317b57604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b60008082136131c65760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640161027d565b670c7d713b49da0000821380156131e45750670f43fc2c04ee000082125b1561320857670de0b6b3a76400006131fb83612068565b816125bf576125bf6139ef565b61098482612187565b919050565b6000806000831261322857600161322c565b6000195b9050612d3a612cc98561323e8661178b565b612c97565b60008060008312613255576001613259565b6000195b9050612d3a612cc98561326b8661178b565b612a10565b600080613281878787876000611fb7565b9050600061329161170c83613185565b9050836132a36201518061016d613bf7565b6132ad9083613bf7565b610d599190613a05565b60405180606001604052806132ca61331a565b81526020016132d7613349565b81526020016133156040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b905290565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528061335c613370565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405160a081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b60405290565b604051606081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b600060a0828403121561349e57600080fd5b6134a66133c5565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b6001600160a01b0381168114612b4657600080fd5b8035613211816134da565b600081830361016081121561350e57600080fd5b6135166133fb565b91506101208082121561352857600080fd5b61353061342b565b9150833582526020840135602083015260408401356040830152613556606085016134ef565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b60008183036102c08112156135c257600080fd5b6135ca6133fb565b91506135d6848461348c565b82526135e58460a085016134fa565b602083015260c06101ff19820112156135fd57600080fd5b5061360661345c565b610200830135815261022083013560208201526102408301356040820152610260830135606082015261028083013560808201526102a083013560a08201528060408301525092915050565b80356003811061321157600080fd5b600080600080600080610460878903121561367b57600080fd5b61368588886135ae565b95506136946102c08801613652565b94506102e0870135935061030087013592506136b488610320890161348c565b91506136c4886103c0890161348c565b90509295509295509295565b6000602082840312156136e257600080fd5b8135610b68816134da565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b805180518352602081015160208401526040810151604084015260018060a01b0360608201511660608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e084015261010080820151818501525050602081015161012083015260408101516101408301525050565b6000610340820190506137ac8288516136ed565b60208701516137be60a084018261371d565b5060409687015180516102008401526020810151610220840152968701516102408301526060870151610260830152608087015161028083015260a0909601516102a08201526102c08101949094526102e08401929092526103008301526103209091015290565b634e487b7160e01b600052602160045260246000fd5b815160c08201906003811061385357613853613826565b808352506020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b60006102c082840312156138a257600080fd5b610b6883836135ae565b81516080820190600481106138c3576138c3613826565b8083525060208301516020830152604083015160408301526060830151606083015292915050565b60008060006101a0848603121561390157600080fd5b61390b85856134fa565b925061391a6101608501613652565b915061018084013590509250925092565b918252602082015260400190565b6000806000806103a0858703121561395057600080fd5b61395a86866135ae565b93506139696102c08601613652565b92506102e0850135915061398186610300870161348c565b905092959194509250565b831515815261022081016139a360208301856136ed565b610c6960c083018461371d565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610984576109846139c6565b634e487b7160e01b600052601260045260246000fd5b600082613a1457613a146139ef565b500490565b80820180821115610984576109846139c6565b600060018201613a3e57613a3e6139c6565b5060010190565b8051613211816134da565b600060c08284031215613a6257600080fd5b613a6a61345c565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036102c0811215613abc57600080fd5b613ac46133fb565b60a0821215613ad257600080fd5b613ada6133c5565b845181526020850151602082015260408501516040820152606085015160608201526080850151608082015280825250609f198201915061016080831215613b2157600080fd5b613b296133fb565b61012080851215613b3957600080fd5b613b4161342b565b945060a0870151855260c0870151602086015260e08701516040860152610100613b6c818901613a45565b606087015281880151608087015261014088015160a08701528388015160c087015261018088015160e08701526101a08801518187015250508381526101c086015160208201526101e086015160408201528060208401525050613bd4856102008601613a50565b6040820152949350505050565b634e487b7160e01b600052600160045260246000fd5b8082028115828204841417610984576109846139c6565b80820260008212600160ff1b84141615613c2a57613c2a6139c6565b8181058314821517610984576109846139c6565b600082613c4d57613c4d6139ef565b600160ff1b821460001984141615613c6757613c676139c6565b500590565b60006001600160ff1b018201613a3e57613a3e6139c6565b8082018281126000831280158216821582161715613ca457613ca46139c6565b505092915050565b6000600160ff1b8201613cc157613cc16139c6565b5060000390565b8181036000831280158383131683831282161715613ce857613ce86139c6565b5092915050565b6000600160ff1b8201613d0457613d046139c6565b50600019019056fea26469706673582212204f9d0464dff463e9b6c1f1748fd2a2a23ddbc63c4457f23e7635607080f5be0964736f6c63430008110033",
1408
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061008e5760003560e01c806303270af41461009357806306e8bac9146100b95780630c3fad99146100dd5780631cca5369146100fd5780632313dd6e14610110578063916ec547146101305780639d2a679f14610151578063a76541e51461015a578063ac4c7e841461016d578063cf209b601461017a575b600080fd5b6100a66100a1366004613661565b61019c565b6040519081526020015b60405180910390f35b6100cc6100c73660046136d0565b6103a8565b6040516100b0959493929190613798565b6100f06100eb3660046136d0565b61043e565b6040516100b0919061383c565b6100a661010b36600461388f565b610626565b61012361011e3660046136d0565b610762565b6040516100b091906138ac565b61014361013e3660046138eb565b610902565b6040516100b092919061392b565b6100a660001981565b6100a661016836600461388f565b610963565b6100a6655af3107a400081565b61018d610188366004613939565b61098a565b6040516100b09392919061398c565b60008060405180606001604052808981526020018860028111156101c2576101c2613826565b81526020018790526040850151909150156102105760016101ee82866040015188886080015188610a17565b60028111156101ff576101ff613826565b03610210575050604082015161039e565b600061022589600001518a602001518a610b39565b9050808560200151111561023b57602085018190525b6020850151855111156102865787600281111561025a5761025a613826565b8551602087015160405163f25ccea360e01b815261027d939291906004016139b0565b60405180910390fd5b50600261029e82866020015188886080015188610a17565b60028111156102af576102af613826565b146102c0575050602082015161039e565b60005b84606001518110156103745760006002866000015187602001516102e791906139dc565b6102f19190613a05565b86516102fd9190613a19565b9050600061031284838a8a608001518a610a17565b9050600181600281111561032857610328613826565b036103385750925061039e915050565b600081600281111561034c5761034c613826565b0361035957818752610361565b602087018290525b50508061036d90613a2c565b90506102c3565b50835115610385575050815161039e565b60405163fef33c9d60e01b815260040160405180910390fd5b9695505050505050565b6103b06132b7565b600080600080856001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190613aa8565b945061042d85600001518660200151610b6f565b979992985090969095509350915050565b6104786040805160c08101909152806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dd9190613aa8565b905060006104ee8260200151610c0f565b90506105038260000151836040015183610c5c565b6020840181905260000361051c57505060008152919050565b610533826000015183604001518560200151610c71565b604084015260208301516000199060009081131561058f5760028552835180516020870151608090920151604087015160a00151610572939190610cc5565b91508160000361058a57505060008352509092915050565b6105db565b60018552600061059e85610626565b90506105c0818760200151876000015160800151886040015160a00151610cc5565b9150816000036105d95750506000845250919392505050565b505b6105fb8486600001518760400151846105f387610d65565b6100a1610da1565b606086018190526020850151865161061292610902565b608087015260a08601525092949350505050565b60008061063b83600001518460200151610b6f565b93505050508260400151608001518110156106595750600092915050565b6000610677610672856000015186602001516001610b39565b610d65565b90506000610683610da1565b90505b8151610693906001613a19565b8260200151111561075a5760006002836000015184602001516106b691906139dc565b6106c09190613a05565b83516106cc9190613a19565b905060008060006106e0896001868861098a565b92509250925082610705576106f66001856139dc565b60208701525061068692505050565b61070f8282610b6f565b60408d015160800151909a508a109250610746915050578386526020808301518a519091015161073f91906139dc565b9750610751565b6106f66001856139dc565b50505050610686565b505050919050565b61078e604080516080810190915280600081526020016000815260200160008152602001600081525090565b6000826001600160a01b031663eb983ce56040518163ffffffff1660e01b81526004016102c060405180830381865afa1580156107cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f39190613aa8565b905060008061080a83600001518460200151610b6f565b509250509150600061083f846040015160600151670de0b6b3a764000061083191906139dc565b604080870151015190610de1565b90506000610870856040015160600151670de0b6b3a76400006108629190613a19565b604080880151015190610de1565b9050808311156108ae57600186818152505061089a85602001518585886040015160400151610e04565b6060890152604088015260208701526108f8565b818310156108f8576108c08585610e38565b6040890181905260208901829052888360038111156108e1576108e1613826565b60038111156108f2576108f2613826565b90525050505b5050505050919050565b600080600284600281111561091957610919613826565b036109445761093a8361092a610da1565b61093388610f8f565b9190610fcd565b909250905061095b565b6109578361095187610f8f565b9061106a565b5091505b935093915050565b60006109848260000151836040015161097f8560200151610c0f565b610c5c565b92915050565b600061099461331a565b61099c613349565b86516109a79061116e565b91506109b68760200151610f8f565b905060018660028111156109cc576109cc613826565b036109e3576109dc8282876111b8565b9250610a0d565b60028660028111156109f7576109f7613826565b03610a08576109dc82828787611216565b600092505b9450945094915050565b600080600080610a3189600001518a602001518a8861098a565b92509250925082610a485760029350505050610b30565b6000610a5382610c0f565b905060018a602001516002811115610a6d57610a6d613826565b03610aed576020808401518b515190910151600091610a8b916139dc565b905088811115610aa357600295505050505050610b30565b610ab2828c604001518a61126d565b15610ac557600195505050505050610b30565b8a60400151821015610adf57600295505050505050610b30565b600095505050505050610b30565b610afc818b60400151896112a0565b15610b0e576001945050505050610b30565b8960400151811115610b27576002945050505050610b30565b60009450505050505b95945050505050565b60006001826002811115610b4f57610b4f613826565b03610b6457610b5d836112ce565b9050610b68565b5082515b9392505050565b6000808080610b7e86866112f4565b9350610b8985610c0f565b6060870151909350610b9b90856113e2565b91506000610bb68760000151610bb088610f8f565b90611408565b9150506000876040015182610bcb9190613a19565b90508015610be9576020880151610be290826113e2565b9250610c04565b8760200151600003610bfe5760009250610c04565b60001992505b505092959194509250565b6000670de0b6b3a7640000610c52610c438460400151856000015160a00151610c3891906139dc565b6301e13380906113e2565b610c4c856114bf565b9061150c565b61098491906139dc565b6000610c698385846116b5565b949350505050565b600081600003610c8357610c83613be1565b6000610c8f85846116ca565b90506000831215610cb757610caf610ca8826001613a19565b8590611711565b915050610b68565b610caf610ca86001836139dc565b600083600003610cd757610cd7613be1565b6000808512610cfb5783610cec846002613bf7565b610cf691906139dc565b610cfd565b835b9050600081670de0b6b3a7640000610d148861178b565b610d1e9190613bf7565b610d289190613a05565b90506000670de0b6b3a7640000610d4383610c4c8184613a19565b610d4d91906139dc565b9050610d598882610de1565b98975050505050505050565b610d6d61331a565b506040805160a0810182526001815260208101929092526000908201526101006060820152655af3107a4000608082015290565b610da961331a565b6040518060a00160405280600181526020016000198152602001600081526020016101008152602001655af3107a4000815250905090565b600080610dee8385613bf7565b9050670de0b6b3a7640000815b04949350505050565b60008080610e1c610e1585876139dc565b8790610de1565b9250610e2887846117a6565b9398909750929550919350505050565b600080600080856000015160600151610e6287604001516040015187610de190919063ffffffff16565b610e6c91906139dc565b86515190915015610f2c57600080610ea2610e8e896000015160000151611832565b610e9b8a60200151610f8f565b5190611848565b915091506000610ec2896000015160200151610ebd84611914565b611923565b90506000610ee1828b602001516020015161193990919063ffffffff16565b610eea85611914565b610ef49190613a19565b905060029750610f048186611923565b8a51519096508190610f17908890613bf7565b610f219190613a05565b965050505050610f87565b6000610f4d876000015160200151610f478960200151610f8f565b90611945565b875160200151600396509091508190610f669084613bf7565b610f709190613a05565b9350610f8384610f478960200151610f8f565b9250505b509250925092565b610f97613349565b6040518060600160405280610faf84600001516119a0565b81526020018360200151815260200183604001518152509050919050565b600080600080610fdd8787611408565b915091506000610ffa838960200151611a1d90919063ffffffff16565b905060006110088284613a19565b9050600061102e8a60200151838c604001516110238c61116e565b8e5193929190611a29565b5060208c015160408d01518d5192995092935061104c928990611b45565b505050808361105b9190613a19565b96505050505050935093915050565b600080600061109285602001518587604001518860000151611b96909392919063ffffffff16565b5050602086015190915060006110a88284613bf7565b6110ba670de0b6b3a764000088613bf7565b6110c491906139dc565b8751519091506000906110d690611914565b836110e88a6000015160200151611914565b6110f29190613bf7565b6110fc9190613a05565b61110e90670de0b6b3a7640000613a19565b9050600061111c8284613a05565b905061112881896139dc565b95506000611143878b60200151611bbf90919063ffffffff16565b9050600061115187836139dc565b905061115e8b8285611bcb565b9850505050505050509250929050565b61117661331a565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b600080806111c6858561106a565b9150915085602001518111156111e157600092505050610b68565b80866020018181516111f391906139dc565b905250855182908790611207908390613a19565b90525060019695505050505050565b835160009083111561122a57506000610c69565b6000611241846112398561116e565b879190610fcd565b509050838660000181815161125691906139dc565b905250602086018051829190611207908390613a19565b6000828410158015610c6957506112958361129084670de0b6b3a7640000613a19565b610de1565b909311159392505050565b6000828411158015610c6957506112c38361129084670de0b6b3a76400006139dc565b909310159392505050565b602081015160408201518251600092610984926112ec929190611da1565b835151611e9b565b60008061130083610f8f565b905060008061131c86600001518461140890919063ffffffff16565b9150915060008287606001516113329190613a19565b905060008760400151836113469190613a19565b9050876020015181116113945761135d8582611f3a565b6113679083613a19565b915061138381896020015161137c91906139dc565b8690611945565b61138d9083613a19565b91506113d7565b60208801516113a4908690611f3a565b6113ae9083613a19565b91506113ca8860200151826113c391906139dc565b8690611f4c565b6113d49083613a19565b91505b509695505050505050565b6000806113f7670de0b6b3a764000085613bf7565b9050828181610dfb57610dfb6139ef565b600080600061141684611832565b855160408101516020909101519192506000916114339084613c0e565b61143d9190613c3e565b8651604081015190519192506000916114569085613c0e565b6114609190613c3e565b8751604001519091506114739084611f70565b8751604001528651516114869082611f70565b8751528651602001516114999083611f70565b8751602001526114a882611914565b6114b182611914565b945094505050509250929050565b60208101516040820151825160009283926114db929190611da1565b905060006115018460000151600001518360200151846000015185604001516000611fb7565b9050610c6981611914565b6000816000036115255750670de0b6b3a7640000610984565b8260000361153557506000610984565b600160ff1b831061157a5760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b604482015260640161027d565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f7653283106115d45760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b604482015260640161027d565b826000670c7d713b49da0000831380156115f55750670f43fc2c04ee000083125b1561162c57600061160584612068565b9050670de0b6b3a764000080820784020583670de0b6b3a76400008305020191505061163a565b8161163684612187565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590611668575068070c1cc73b00c800008113155b6116ac5760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b604482015260640161027d565b61039e8161252a565b6000610c69836116c5868561293f565b6129ab565b6000816000036116dc576116dc613be1565b600182126116f257816116ee81613c6c565b9250505b610b686117028460800151611832565b61170c9084613c84565b611914565b6000811580159061173c575060a083015161172d906002613bf7565b611738906001613a19565b8214155b61174857611748613be1565b6000611753846129e2565b9050611760600282613a05565b61176b6001856139dc565b6117759083613bf7565b85516117819190613a19565b610c699190613a19565b60008082136117a25761179d82613cac565b610984565b5090565b60008060006117ca6117bf866000015160200151611914565b602087015190611a1d565b8551516117d690611914565b6117e09190613a19565b8551516117ec90611914565b6117f69086613bf7565b6118009190613a05565b60208601519091506118129082611a1d565b91506118288561182283876139dc565b84611bcb565b9250509250929050565b60006001600160ff1b038211156117a257600080fd5b6000808260000361186c576040516325daaec360e01b815260040160405180910390fd5b604084015160208501516118809085613c0e565b61188a9190613c3e565b604085015185519193509061189f9085613c0e565b6118a99190613c3e565b9050811580156118b7575080155b156118d557604051631997ea8d60e31b815260040160405180910390fd5b60408401516118e49084611f70565b604085015283516118f59082611f70565b845260208401516119069083611f70565b602090940193909352929050565b6000808212156117a257600080fd5b60008183106119325781610b68565b5090919050565b6000610b688383612a10565b60208201516040830151835160009283926119639291908690611b96565b505090506000611980828660200151612a4690919063ffffffff16565b9050600061198e82866139dc565b602087015190915061039e9082611bbf565b6119a8613370565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b6000610b688383612a53565b6000808080611a39898988611da1565b90508460400151600003611a76578451611a539088612a68565b85526020850151611a6890610ebd8b84612a77565b6020860152611a7685612afb565b60005b8560600151811015611b20576000611a918783612b49565b9050600080611aa28d868e86612bae565b5090925090506000611ab48d84611a1d565b90506000611ac282866139dc565b90508c8111611af957611ada818e8d608001516112a0565b15611af157509750919550909350611b3a92505050565b848b52611b0a565b611b046001866139dc565b60208c01525b505050505080611b1990613a2c565b9050611a79565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b600080600080600080611b628a8a611b5c8b612bdf565b8a612bf6565b925092509250611b7183611914565b9550611b7c82611914565b9450611b8781611914565b93505050509450945094915050565b600080600080600080611bad8a8a611b5c8b611832565b925092509250611b7161170c84612c89565b6000610b688383612c97565b825160a00151604084015160009111611c255760405162461bcd60e51b815260206004820152601c60248201527b13585c9ad95d115e1d131a588e88195e1c1a5c9959081b585c9ad95d60221b604482015260640161027d565b835160400151600012611c715760405162461bcd60e51b815260206004820152601460248201527304d61726b65744578744c69623a204c50203c20360641b604482015260640161027d565b6000611c7c84611832565b90506000611c8984611832565b90506000806000808960000151600001518a600001516040015186611cae9190613c0e565b611cb89190613c3e565b8a516020810151604090910151919250600091611cd59089613c0e565b611cdf9190613c3e565b905080821215611d1a578a5160408101516020909101519295508694508592611d09908490613c0e565b611d139190613c3e565b9250611d43565b8a51604081015190519195508793508591611d36908390613c0e565b611d409190613c3e565b93505b828b60000151602001818151611d599190613c84565b9052508a518051859190611d6e908390613c84565b9052508a516040018051869190611d86908390613c84565b905250611d9285611914565b9b9a5050505050505050505050565b611dcc6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210611df05760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151611e0291906139dc565b9050611e0e8582612cac565b82526020850151611e20908590612d0d565b602083015284511580611e3557506020820151155b15611e5c578451602083015160405163b1c4aefb60e01b815261027d92919060040161392b565b611e7a85600001518661010001518460200151856000015185612d44565b604083015260c0850151611e8e9082612dc5565b6060830152509392505050565b600080611ec8611ec3856000015186604001518760600151611ebd9190613cc8565b90612df9565b61252a565b90506000611ee8611ee1670de0b6b3a764000084613c84565b8390612e1c565b90506000611f06866020015186611eff9190613c84565b8390612df9565b90506000611f148287613cc8565b90506103e8611f25826103e7613bf7565b611f2f9190613a05565b979650505050505050565b6020820151600090610b689083611bbf565b602082015160408301518351600092611f66928590611b45565b5090949350505050565b600081831215611fad5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b604482015260640161027d565b610b688284613cc8565b600080611fc48784611f70565b90506000611fd5611ee1888a613c84565b9050670d529ae9e860000081131561200c5780670d529ae9e8600000604051637e34684f60e11b815260040161027d92919061392b565b600061201782612e42565b9050856120248289612e1c565b61202e9190613c84565b9350670de0b6b3a764000084121561205c5760405163329e322960e21b81526004810185905260240161027d565b50505095945050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff19850102816120a9576120a96139ef565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156121c8576121bf826a0c097ce7bc90715b34b9f160241b816121b9576121b96139ef565b05612187565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126122135772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b831261224a576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612292576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126122cd576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261230457693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261233b57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126123705768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261239b57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126123d0576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312612405576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312612439576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261246d576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281612496576124966139ef565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff19821215801561254f575068070c1cc73b00c800008213155b61258e5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640161027d565b60008212156125c6576125a38260000361252a565b6a0c097ce7bc90715b34b9f160241b816125bf576125bf6139ef565b0592915050565b60006806f05b59d3b2000000831261260457506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61263a565b6803782dace9d9000000831261263657506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061263a565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261268a5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126126c6576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261270057682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261273a576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261277357680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126127ac5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126127e5576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261281e5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b815160009082101561295357506000610984565b82602001518211156129815760a083015161296f906002613bf7565b61297a906001613a19565b9050610984565b61298a836129e2565b835161299690846139dc565b6129a09190613a05565b610b68906001613a19565b6000806129bb8460800151611832565b6129c484611832565b6129ce9190613cc8565b905060018112610b685780610b3081613cef565b60008160a0015160026129f59190613bf7565b82516020840151612a0691906139dc565b6109849190613a05565b600082600181612a28670de0b6b3a764000086613bf7565b612a329190613a19565b612a3c91906139dc565b610b689190613a05565b600082610c698184612e95565b6000670de0b6b3a7640000612a3c8484613bf7565b60008183116119325781610b68565b60008060009050600060018460200151612a9191906139dc565b90505b808214612af35760006002612aa98385613a19565b612ab4906001613a19565b612abe9190613a05565b90506000612ad186886000015184612ead565b1215612ae957612ae26001826139dc565b9150612aed565b8092505b50612a94565b509392505050565b602081015181511180612b195750670de0b6b3a76400008160800151115b15612b4657805160208201516080830151604051632cc06bc160e21b815261027d939291906004016139b0565b50565b600081158015612b5c5750604083015115155b15612b6c57506040820151610984565b6020830151835111612b955760208301518351600291612b8b91613a19565b61297a9190613a05565b604051637d388ed960e11b815260040160405180910390fd5b60008080808080612bcc8989612bc38a613cac565b8d929190612f9f565b919c909b50909950975050505050505050565b6000612bea82611832565b61098490600019613c0e565b6000806000612c098760a0015185101590565b15612c275760405163b2094b5960e01b815260040160405180910390fd5b86518512612c4d578651604051632185509b60e21b815261027d9190879060040161392b565b6000612c5a888887611da1565b9050612c6888828989612f9f565b91955093509150612c7e8882898988878b6130f3565b509450945094915050565b600061098482600019613c0e565b600082612a3c670de0b6b3a764000084613bf7565b6000612cb782611832565b612cce612cc96201518061016d613bf7565b611832565b8460800151612cdd9190613c0e565b612ce79190613c3e565b90506000811361098457604051630e520c3b60e11b81526004810182905260240161027d565b60008060008312612d1f576001612d23565b6000195b9050612d3a612cc985612d358661178b565b612a53565b610c699082613c0e565b600080612d518684612dc5565b9050670de0b6b3a7640000811215612d7f5760405163329e322960e21b81526004810182905260240161027d565b6000612d95612d8e878a613c84565b8990612e1c565b90506000612da282612e42565b9050612dae8187612e1c565b612db89084613cc8565b9998505050505050505050565b600080612dd76201518061016d613bf7565b612de18486613bf7565b612deb9190613a05565b9050610c69611ec382611832565b600080612e068385613c0e565b9050670de0b6b3a7640000815b05949350505050565b600080612e31670de0b6b3a764000085613c0e565b9050828181612e1357612e136139ef565b6000670de0b6b3a76400008203612e6c5760405163a9c8b14d60e01b815260040160405180910390fd5b6000612e8a612e8384670de0b6b3a7640000613cc8565b8490612e1c565b9050610b6881613185565b6000670de0b6b3a7640000600181612a288686613bf7565b600080828560200151612ec09190613cc8565b90506000612ece8585613c84565b9050600082138015612ee05750600081135b612f215760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b604482015260640161027d565b6000612f4f612f308484613c0e565b6020890151612f3f9089613c84565b612f499088613c0e565b90612e1c565b90506000612f65612f608486612e1c565b613185565b8851909150600090612f8090670de0b6b3a764000090612e1c565b9050612f9081611ebd8486613cc8565b8960400151612db89190613cc8565b600080600080612fc28860000151886020015189600001518a6040015189611fb7565b90506000612fd8612fd38784612e1c565b612c89565b60608901519091506000871315613047576000612ff58483612e1c565b9050670de0b6b3a76400008112156130235760405163329e322960e21b81526004810182905260240161027d565b61303f61303883670de0b6b3a7640000613cc8565b8490612df9565b915050613074565b6130718161305d81670de0b6b3a7640000613cc8565b6130679085613c0e565b612fd39190613c3e565b90505b600060646130858c60e00151611832565b61308f9084613c0e565b6130999190613c3e565b905060006130a78385613cc8565b9050600081126130c0576130bb8a82613216565b6130ca565b6130ca8a82613243565b97506130d68a84613216565b96506130e28a83613216565b955050505050509450945094915050565b6000818860a0015161310591906139dc565b88519091506131149086611f70565b885261312e6131238486613c84565b60208a015190611f70565b60208901819052885161315391613146908990612d0d565b895160408b015185613270565b610100890181905260000361317b57604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b60008082136131c65760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640161027d565b670c7d713b49da0000821380156131e45750670f43fc2c04ee000082125b1561320857670de0b6b3a76400006131fb83612068565b816125bf576125bf6139ef565b61098482612187565b919050565b6000806000831261322857600161322c565b6000195b9050612d3a612cc98561323e8661178b565b612c97565b60008060008312613255576001613259565b6000195b9050612d3a612cc98561326b8661178b565b612a10565b600080613281878787876000611fb7565b9050600061329161170c83613185565b9050836132a36201518061016d613bf7565b6132ad9083613bf7565b610d599190613a05565b60405180606001604052806132ca61331a565b81526020016132d7613349565b81526020016133156040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b905290565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528061335c613370565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405160a081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b60405290565b604051606081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156133f557634e487b7160e01b600052604160045260246000fd5b600060a0828403121561349e57600080fd5b6134a66133c5565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015292915050565b6001600160a01b0381168114612b4657600080fd5b8035613211816134da565b600081830361016081121561350e57600080fd5b6135166133fb565b91506101208082121561352857600080fd5b61353061342b565b9150833582526020840135602083015260408401356040830152613556606085016134ef565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b60008183036102c08112156135c257600080fd5b6135ca6133fb565b91506135d6848461348c565b82526135e58460a085016134fa565b602083015260c06101ff19820112156135fd57600080fd5b5061360661345c565b610200830135815261022083013560208201526102408301356040820152610260830135606082015261028083013560808201526102a083013560a08201528060408301525092915050565b80356003811061321157600080fd5b600080600080600080610460878903121561367b57600080fd5b61368588886135ae565b95506136946102c08801613652565b94506102e0870135935061030087013592506136b488610320890161348c565b91506136c4886103c0890161348c565b90509295509295509295565b6000602082840312156136e257600080fd5b8135610b68816134da565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b805180518352602081015160208401526040810151604084015260018060a01b0360608201511660608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e084015261010080820151818501525050602081015161012083015260408101516101408301525050565b6000610340820190506137ac8288516136ed565b60208701516137be60a084018261371d565b5060409687015180516102008401526020810151610220840152968701516102408301526060870151610260830152608087015161028083015260a0909601516102a08201526102c08101949094526102e08401929092526103008301526103209091015290565b634e487b7160e01b600052602160045260246000fd5b815160c08201906003811061385357613853613826565b808352506020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b60006102c082840312156138a257600080fd5b610b6883836135ae565b81516080820190600481106138c3576138c3613826565b8083525060208301516020830152604083015160408301526060830151606083015292915050565b60008060006101a0848603121561390157600080fd5b61390b85856134fa565b925061391a6101608501613652565b915061018084013590509250925092565b918252602082015260400190565b6000806000806103a0858703121561395057600080fd5b61395a86866135ae565b93506139696102c08601613652565b92506102e0850135915061398186610300870161348c565b905092959194509250565b831515815261022081016139a360208301856136ed565b610c6960c083018461371d565b9283526020830191909152604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610984576109846139c6565b634e487b7160e01b600052601260045260246000fd5b600082613a1457613a146139ef565b500490565b80820180821115610984576109846139c6565b600060018201613a3e57613a3e6139c6565b5060010190565b8051613211816134da565b600060c08284031215613a6257600080fd5b613a6a61345c565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b60008183036102c0811215613abc57600080fd5b613ac46133fb565b60a0821215613ad257600080fd5b613ada6133c5565b845181526020850151602082015260408501516040820152606085015160608201526080850151608082015280825250609f198201915061016080831215613b2157600080fd5b613b296133fb565b61012080851215613b3957600080fd5b613b4161342b565b945060a0870151855260c0870151602086015260e08701516040860152610100613b6c818901613a45565b606087015281880151608087015261014088015160a08701528388015160c087015261018088015160e08701526101a08801518187015250508381526101c086015160208201526101e086015160408201528060208401525050613bd4856102008601613a50565b6040820152949350505050565b634e487b7160e01b600052600160045260246000fd5b8082028115828204841417610984576109846139c6565b80820260008212600160ff1b84141615613c2a57613c2a6139c6565b8181058314821517610984576109846139c6565b600082613c4d57613c4d6139ef565b600160ff1b821460001984141615613c6757613c676139c6565b500590565b60006001600160ff1b018201613a3e57613a3e6139c6565b8082018281126000831280158216821582161715613ca457613ca46139c6565b505092915050565b6000600160ff1b8201613cc157613cc16139c6565b5060000390565b8181036000831280158383131683831282161715613ce857613ce86139c6565b5092915050565b6000600160ff1b8201613d0457613d046139c6565b50600019019056fea26469706673582212204f9d0464dff463e9b6c1f1748fd2a2a23ddbc63c4457f23e7635607080f5be0964736f6c63430008110033",
1409
+ "linkReferences": {},
1410
+ "deployedLinkReferences": {}
1411
+ }