@pendle/core-v2 2.17.0 → 2.17.2-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 (441) 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/SYBase.sol/SYBase.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  110. package/build/artifacts/contracts/core/TradingBot/BotActionCallback.sol/BotActionCallback.dbg.json +4 -0
  111. package/build/artifacts/contracts/core/TradingBot/BotActionCallback.sol/BotActionCallback.json +638 -0
  112. package/build/artifacts/contracts/core/TradingBot/BotActionHelper.sol/BotActionHelper.dbg.json +4 -0
  113. package/build/artifacts/contracts/core/TradingBot/BotActionHelper.sol/BotActionHelper.json +638 -0
  114. package/build/artifacts/contracts/core/TradingBot/BotDecisionLib.sol/BotDecisionLib.dbg.json +4 -0
  115. package/build/artifacts/contracts/core/TradingBot/BotDecisionLib.sol/BotDecisionLib.json +567 -0
  116. package/build/artifacts/contracts/core/TradingBot/BotSimulationLib.sol/BotSimulationLib.dbg.json +4 -0
  117. package/build/artifacts/contracts/core/TradingBot/BotSimulationLib.sol/BotSimulationLib.json +10 -0
  118. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.dbg.json +4 -0
  119. package/build/artifacts/contracts/core/TradingBot/LongYieldTradingBot.sol/LongYieldTradingBot.json +1882 -0
  120. package/build/artifacts/contracts/core/TradingBot/MarketExtLib.sol/MarketExtLib.dbg.json +4 -0
  121. package/build/artifacts/contracts/core/TradingBot/MarketExtLib.sol/MarketExtLib.json +24 -0
  122. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.dbg.json +4 -0
  123. package/build/artifacts/contracts/core/TradingBot/TradingBotBase.sol/TradingBotBase.json +588 -0
  124. package/build/artifacts/contracts/core/TradingBot/TradingBotOffchain.sol/TradingBotOffchain.dbg.json +4 -0
  125. package/build/artifacts/contracts/core/TradingBot/TradingBotOffchain.sol/TradingBotOffchain.json +1053 -0
  126. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  129. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  131. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  133. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  134. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  136. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  138. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  140. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  141. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  143. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  145. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  146. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  147. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  148. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +151 -2
  149. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  150. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  151. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  152. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.dbg.json +4 -0
  153. package/build/artifacts/contracts/core/libraries/TokenAmountLib.sol/TokenAmountLib.json +10 -0
  154. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  155. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  156. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  185. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  189. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.dbg.json +4 -0
  250. package/build/artifacts/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol/ILongYieldTradingBot.json +884 -0
  251. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.dbg.json +4 -0
  252. package/build/artifacts/contracts/interfaces/TradingBot/ITradingBotBase.sol/ITradingBotBase.json +390 -0
  253. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  254. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  255. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +4 -0
  256. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.json +10 -0
  257. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  258. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  259. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  260. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  261. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  262. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  263. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  264. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  265. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  266. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  267. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  268. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  269. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  270. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  271. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  272. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  273. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  274. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  275. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  276. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  277. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  278. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  279. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  280. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  281. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  282. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  283. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  284. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  285. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  286. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  287. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  288. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +4 -0
  289. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +166 -0
  290. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  291. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  292. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  293. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  294. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  295. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  296. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  297. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  298. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  299. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  300. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  301. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  302. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  303. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  304. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  305. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  306. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  307. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  308. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  309. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  310. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  311. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  312. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  313. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  314. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  315. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  316. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  317. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IHashflow.sol/IHashflow.dbg.json +1 -1
  318. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  319. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  320. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  321. package/contracts/core/TradingBot/BotActionCallback.sol +112 -0
  322. package/contracts/core/TradingBot/BotActionHelper.sol +138 -0
  323. package/contracts/core/TradingBot/BotDecisionLib.sol +272 -0
  324. package/contracts/core/TradingBot/BotSimulationLib.sol +115 -0
  325. package/contracts/core/TradingBot/LongYieldTradingBot.sol +154 -0
  326. package/contracts/core/TradingBot/MarketExtLib.sol +246 -0
  327. package/contracts/core/TradingBot/README.md +151 -0
  328. package/contracts/core/TradingBot/TradingBotBase.sol +131 -0
  329. package/contracts/core/TradingBot/TradingBotOffchain.sol +137 -0
  330. package/contracts/core/libraries/Errors.sol +12 -0
  331. package/contracts/core/libraries/TokenAmountLib.sol +47 -0
  332. package/contracts/interfaces/TradingBot/ILongYieldTradingBot.sol +89 -0
  333. package/contracts/interfaces/TradingBot/ITradingBotBase.sol +43 -0
  334. package/contracts/offchain-helpers/BoringLpSeller.sol +47 -0
  335. package/contracts/oracles/samples/PendleLpGlpOracle.sol +49 -0
  336. package/package.json +1 -1
  337. package/typechain-types/BotActionCallback.ts +727 -0
  338. package/typechain-types/BotActionHelper.ts +727 -0
  339. package/typechain-types/BotDecisionLib.ts +330 -0
  340. package/typechain-types/CamelotV1LpHelper.ts +203 -0
  341. package/typechain-types/CamelotV1Preview.ts +431 -0
  342. package/typechain-types/ICamelotSY.ts +100 -0
  343. package/typechain-types/ILongYieldTradingBot.ts +652 -0
  344. package/typechain-types/IPendlePreviewHelper.ts +147 -0
  345. package/typechain-types/IThenaFactory.ts +245 -0
  346. package/typechain-types/IThenaGaugeV2.ts +206 -0
  347. package/typechain-types/IThenaPair.ts +579 -0
  348. package/typechain-types/IThenaRouter.ts +313 -0
  349. package/typechain-types/IThenaSY.ts +81 -0
  350. package/typechain-types/ITradingBotBase.ts +447 -0
  351. package/typechain-types/LongYieldTradingBot.ts +1520 -0
  352. package/typechain-types/MarketExtLib.ts +81 -0
  353. package/typechain-types/PendleArbitrumStakedEthSY.ts +1222 -0
  354. package/typechain-types/PendleCamelotV1SY.ts +1961 -0
  355. package/typechain-types/PendleLpGlpOracle.ts +145 -0
  356. package/typechain-types/PendleThenaSY.ts +1445 -0
  357. package/typechain-types/ThenaLpHelper.ts +172 -0
  358. package/typechain-types/ThenaPreview.ts +431 -0
  359. package/typechain-types/TradingBotBase.ts +683 -0
  360. package/typechain-types/TradingBotOffchain.ts +563 -0
  361. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  362. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  363. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  364. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  365. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  366. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  367. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  368. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  369. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  370. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  371. package/typechain-types/factories/BotActionCallback__factory.ts +653 -0
  372. package/typechain-types/factories/BotActionHelper__factory.ts +653 -0
  373. package/typechain-types/factories/BotDecisionLib__factory.ts +620 -0
  374. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  375. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  376. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  377. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  378. package/typechain-types/factories/CamelotV1LpHelper__factory.ts +143 -0
  379. package/typechain-types/factories/CamelotV1Preview__factory.ts +309 -0
  380. package/typechain-types/factories/Errors__factory.ts +150 -1
  381. package/typechain-types/factories/ICamelotSY__factory.ts +49 -0
  382. package/typechain-types/factories/ILongYieldTradingBot__factory.ts +903 -0
  383. package/typechain-types/factories/IPendlePreviewHelper__factory.ts +78 -0
  384. package/typechain-types/factories/IThenaFactory__factory.ts +164 -0
  385. package/typechain-types/factories/IThenaGaugeV2__factory.ts +83 -0
  386. package/typechain-types/factories/IThenaPair__factory.ts +421 -0
  387. package/typechain-types/factories/IThenaRouter__factory.ts +200 -0
  388. package/typechain-types/factories/IThenaSY__factory.ts +36 -0
  389. package/typechain-types/factories/ITradingBotBase__factory.ts +405 -0
  390. package/typechain-types/factories/LongYieldTradingBot__factory.ts +1951 -0
  391. package/typechain-types/factories/MarketExtLib__factory.ts +74 -0
  392. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  393. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1068 -0
  394. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  395. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  396. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  397. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  398. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  399. package/typechain-types/factories/PendleCamelotV1SY__factory.ts +1595 -0
  400. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  401. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  402. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  403. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  404. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  405. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  406. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  407. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  408. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  409. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  410. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +246 -0
  411. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  412. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  413. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  414. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  415. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  416. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  417. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  418. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  419. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  420. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  421. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  422. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  423. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  424. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  425. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  426. package/typechain-types/factories/PendleThenaSY__factory.ts +1268 -0
  427. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  428. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  429. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  430. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  431. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  432. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  433. package/typechain-types/factories/SAPE__factory.ts +1 -1
  434. package/typechain-types/factories/ThenaLpHelper__factory.ts +127 -0
  435. package/typechain-types/factories/ThenaPreview__factory.ts +306 -0
  436. package/typechain-types/factories/TradingBotBase__factory.ts +603 -0
  437. package/typechain-types/factories/TradingBotOffchain__factory.ts +1111 -0
  438. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  439. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  440. package/typechain-types/hardhat.d.ts +90 -108
  441. package/typechain-types/index.ts +22 -14
@@ -0,0 +1,567 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BotDecisionLib",
4
+ "sourceName": "contracts/core/TradingBot/BotDecisionLib.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
+ "name": "BotBinarySearchGuessMinInvalid",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [
55
+ {
56
+ "internalType": "uint256",
57
+ "name": "action",
58
+ "type": "uint256"
59
+ },
60
+ {
61
+ "internalType": "uint256",
62
+ "name": "guessMin",
63
+ "type": "uint256"
64
+ },
65
+ {
66
+ "internalType": "uint256",
67
+ "name": "guessMax",
68
+ "type": "uint256"
69
+ }
70
+ ],
71
+ "name": "BotBinarySearchInvalidRange",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [
76
+ {
77
+ "internalType": "int256",
78
+ "name": "exchangeRate",
79
+ "type": "int256"
80
+ }
81
+ ],
82
+ "name": "MarketExchangeRateBelowOne",
83
+ "type": "error"
84
+ },
85
+ {
86
+ "inputs": [],
87
+ "name": "MarketExpired",
88
+ "type": "error"
89
+ },
90
+ {
91
+ "inputs": [
92
+ {
93
+ "internalType": "int256",
94
+ "name": "currentAmount",
95
+ "type": "int256"
96
+ },
97
+ {
98
+ "internalType": "int256",
99
+ "name": "requiredAmount",
100
+ "type": "int256"
101
+ }
102
+ ],
103
+ "name": "MarketInsufficientPtForTrade",
104
+ "type": "error"
105
+ },
106
+ {
107
+ "inputs": [],
108
+ "name": "MarketProportionMustNotEqualOne",
109
+ "type": "error"
110
+ },
111
+ {
112
+ "inputs": [
113
+ {
114
+ "internalType": "int256",
115
+ "name": "proportion",
116
+ "type": "int256"
117
+ },
118
+ {
119
+ "internalType": "int256",
120
+ "name": "maxProportion",
121
+ "type": "int256"
122
+ }
123
+ ],
124
+ "name": "MarketProportionTooHigh",
125
+ "type": "error"
126
+ },
127
+ {
128
+ "inputs": [
129
+ {
130
+ "internalType": "int256",
131
+ "name": "rateScalar",
132
+ "type": "int256"
133
+ }
134
+ ],
135
+ "name": "MarketRateScalarBelowZero",
136
+ "type": "error"
137
+ },
138
+ {
139
+ "inputs": [],
140
+ "name": "MarketZeroAmountsInput",
141
+ "type": "error"
142
+ },
143
+ {
144
+ "inputs": [],
145
+ "name": "MarketZeroAmountsOutput",
146
+ "type": "error"
147
+ },
148
+ {
149
+ "inputs": [],
150
+ "name": "MarketZeroLnImpliedRate",
151
+ "type": "error"
152
+ },
153
+ {
154
+ "inputs": [
155
+ {
156
+ "internalType": "int256",
157
+ "name": "totalPt",
158
+ "type": "int256"
159
+ },
160
+ {
161
+ "internalType": "int256",
162
+ "name": "totalAsset",
163
+ "type": "int256"
164
+ }
165
+ ],
166
+ "name": "MarketZeroTotalPtOrTotalAsset",
167
+ "type": "error"
168
+ },
169
+ {
170
+ "inputs": [
171
+ {
172
+ "components": [
173
+ {
174
+ "internalType": "enum StrategyFlag",
175
+ "name": "iyFlag",
176
+ "type": "uint8"
177
+ },
178
+ {
179
+ "internalType": "enum StrategyFlag",
180
+ "name": "syRatioFlag",
181
+ "type": "uint8"
182
+ }
183
+ ],
184
+ "internalType": "struct StrategyState",
185
+ "name": "currentState",
186
+ "type": "tuple"
187
+ }
188
+ ],
189
+ "name": "actionToTake",
190
+ "outputs": [
191
+ {
192
+ "internalType": "enum ActionType",
193
+ "name": "",
194
+ "type": "uint8"
195
+ }
196
+ ],
197
+ "stateMutability": "pure",
198
+ "type": "function"
199
+ },
200
+ {
201
+ "inputs": [
202
+ {
203
+ "components": [
204
+ {
205
+ "internalType": "uint256",
206
+ "name": "lpBalance",
207
+ "type": "uint256"
208
+ },
209
+ {
210
+ "internalType": "uint256",
211
+ "name": "ytBalance",
212
+ "type": "uint256"
213
+ },
214
+ {
215
+ "internalType": "uint256",
216
+ "name": "syBalance",
217
+ "type": "uint256"
218
+ }
219
+ ],
220
+ "internalType": "struct BotState",
221
+ "name": "bot",
222
+ "type": "tuple"
223
+ },
224
+ {
225
+ "components": [
226
+ {
227
+ "components": [
228
+ {
229
+ "internalType": "int256",
230
+ "name": "totalPt",
231
+ "type": "int256"
232
+ },
233
+ {
234
+ "internalType": "int256",
235
+ "name": "totalSy",
236
+ "type": "int256"
237
+ },
238
+ {
239
+ "internalType": "int256",
240
+ "name": "totalLp",
241
+ "type": "int256"
242
+ },
243
+ {
244
+ "internalType": "address",
245
+ "name": "treasury",
246
+ "type": "address"
247
+ },
248
+ {
249
+ "internalType": "int256",
250
+ "name": "scalarRoot",
251
+ "type": "int256"
252
+ },
253
+ {
254
+ "internalType": "uint256",
255
+ "name": "expiry",
256
+ "type": "uint256"
257
+ },
258
+ {
259
+ "internalType": "uint256",
260
+ "name": "lnFeeRateRoot",
261
+ "type": "uint256"
262
+ },
263
+ {
264
+ "internalType": "uint256",
265
+ "name": "reserveFeePercent",
266
+ "type": "uint256"
267
+ },
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "lastLnImpliedRate",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "internalType": "struct MarketState",
275
+ "name": "state",
276
+ "type": "tuple"
277
+ },
278
+ {
279
+ "internalType": "PYIndex",
280
+ "name": "index",
281
+ "type": "uint256"
282
+ },
283
+ {
284
+ "internalType": "uint256",
285
+ "name": "blockTime",
286
+ "type": "uint256"
287
+ }
288
+ ],
289
+ "internalType": "struct MarketExtState",
290
+ "name": "marketExt",
291
+ "type": "tuple"
292
+ },
293
+ {
294
+ "components": [
295
+ {
296
+ "internalType": "uint256",
297
+ "name": "lowerIyLimit",
298
+ "type": "uint256"
299
+ },
300
+ {
301
+ "internalType": "uint256",
302
+ "name": "upperIyLimit",
303
+ "type": "uint256"
304
+ },
305
+ {
306
+ "internalType": "uint256",
307
+ "name": "floatingSyRatioLimit",
308
+ "type": "uint256"
309
+ },
310
+ {
311
+ "internalType": "uint256",
312
+ "name": "ytPtRatioLimit",
313
+ "type": "uint256"
314
+ }
315
+ ],
316
+ "internalType": "struct LongTradingSpecs",
317
+ "name": "specs",
318
+ "type": "tuple"
319
+ },
320
+ {
321
+ "internalType": "enum ActionType",
322
+ "name": "action",
323
+ "type": "uint8"
324
+ },
325
+ {
326
+ "components": [
327
+ {
328
+ "internalType": "enum StrategyFlag",
329
+ "name": "iyFlag",
330
+ "type": "uint8"
331
+ },
332
+ {
333
+ "internalType": "enum StrategyFlag",
334
+ "name": "syRatioFlag",
335
+ "type": "uint8"
336
+ }
337
+ ],
338
+ "internalType": "struct StrategyState",
339
+ "name": "oldState",
340
+ "type": "tuple"
341
+ },
342
+ {
343
+ "components": [
344
+ {
345
+ "internalType": "uint256",
346
+ "name": "guessMin",
347
+ "type": "uint256"
348
+ },
349
+ {
350
+ "internalType": "uint256",
351
+ "name": "guessMax",
352
+ "type": "uint256"
353
+ },
354
+ {
355
+ "internalType": "uint256",
356
+ "name": "guessOffchain",
357
+ "type": "uint256"
358
+ },
359
+ {
360
+ "internalType": "uint256",
361
+ "name": "maxIteration",
362
+ "type": "uint256"
363
+ },
364
+ {
365
+ "internalType": "uint256",
366
+ "name": "eps",
367
+ "type": "uint256"
368
+ }
369
+ ],
370
+ "internalType": "struct ApproxParams",
371
+ "name": "botParams",
372
+ "type": "tuple"
373
+ },
374
+ {
375
+ "components": [
376
+ {
377
+ "internalType": "uint256",
378
+ "name": "guessMin",
379
+ "type": "uint256"
380
+ },
381
+ {
382
+ "internalType": "uint256",
383
+ "name": "guessMax",
384
+ "type": "uint256"
385
+ },
386
+ {
387
+ "internalType": "uint256",
388
+ "name": "guessOffchain",
389
+ "type": "uint256"
390
+ },
391
+ {
392
+ "internalType": "uint256",
393
+ "name": "maxIteration",
394
+ "type": "uint256"
395
+ },
396
+ {
397
+ "internalType": "uint256",
398
+ "name": "eps",
399
+ "type": "uint256"
400
+ }
401
+ ],
402
+ "internalType": "struct ApproxParams",
403
+ "name": "intParams",
404
+ "type": "tuple"
405
+ }
406
+ ],
407
+ "name": "binarySearchUntilSwitchState",
408
+ "outputs": [
409
+ {
410
+ "internalType": "uint256",
411
+ "name": "",
412
+ "type": "uint256"
413
+ }
414
+ ],
415
+ "stateMutability": "pure",
416
+ "type": "function"
417
+ },
418
+ {
419
+ "inputs": [
420
+ {
421
+ "components": [
422
+ {
423
+ "internalType": "uint256",
424
+ "name": "lpBalance",
425
+ "type": "uint256"
426
+ },
427
+ {
428
+ "internalType": "uint256",
429
+ "name": "ytBalance",
430
+ "type": "uint256"
431
+ },
432
+ {
433
+ "internalType": "uint256",
434
+ "name": "syBalance",
435
+ "type": "uint256"
436
+ }
437
+ ],
438
+ "internalType": "struct BotState",
439
+ "name": "bot",
440
+ "type": "tuple"
441
+ },
442
+ {
443
+ "components": [
444
+ {
445
+ "components": [
446
+ {
447
+ "internalType": "int256",
448
+ "name": "totalPt",
449
+ "type": "int256"
450
+ },
451
+ {
452
+ "internalType": "int256",
453
+ "name": "totalSy",
454
+ "type": "int256"
455
+ },
456
+ {
457
+ "internalType": "int256",
458
+ "name": "totalLp",
459
+ "type": "int256"
460
+ },
461
+ {
462
+ "internalType": "address",
463
+ "name": "treasury",
464
+ "type": "address"
465
+ },
466
+ {
467
+ "internalType": "int256",
468
+ "name": "scalarRoot",
469
+ "type": "int256"
470
+ },
471
+ {
472
+ "internalType": "uint256",
473
+ "name": "expiry",
474
+ "type": "uint256"
475
+ },
476
+ {
477
+ "internalType": "uint256",
478
+ "name": "lnFeeRateRoot",
479
+ "type": "uint256"
480
+ },
481
+ {
482
+ "internalType": "uint256",
483
+ "name": "reserveFeePercent",
484
+ "type": "uint256"
485
+ },
486
+ {
487
+ "internalType": "uint256",
488
+ "name": "lastLnImpliedRate",
489
+ "type": "uint256"
490
+ }
491
+ ],
492
+ "internalType": "struct MarketState",
493
+ "name": "state",
494
+ "type": "tuple"
495
+ },
496
+ {
497
+ "internalType": "PYIndex",
498
+ "name": "index",
499
+ "type": "uint256"
500
+ },
501
+ {
502
+ "internalType": "uint256",
503
+ "name": "blockTime",
504
+ "type": "uint256"
505
+ }
506
+ ],
507
+ "internalType": "struct MarketExtState",
508
+ "name": "marketExt",
509
+ "type": "tuple"
510
+ },
511
+ {
512
+ "components": [
513
+ {
514
+ "internalType": "uint256",
515
+ "name": "lowerIyLimit",
516
+ "type": "uint256"
517
+ },
518
+ {
519
+ "internalType": "uint256",
520
+ "name": "upperIyLimit",
521
+ "type": "uint256"
522
+ },
523
+ {
524
+ "internalType": "uint256",
525
+ "name": "floatingSyRatioLimit",
526
+ "type": "uint256"
527
+ },
528
+ {
529
+ "internalType": "uint256",
530
+ "name": "ytPtRatioLimit",
531
+ "type": "uint256"
532
+ }
533
+ ],
534
+ "internalType": "struct LongTradingSpecs",
535
+ "name": "specs",
536
+ "type": "tuple"
537
+ }
538
+ ],
539
+ "name": "strategyState",
540
+ "outputs": [
541
+ {
542
+ "components": [
543
+ {
544
+ "internalType": "enum StrategyFlag",
545
+ "name": "iyFlag",
546
+ "type": "uint8"
547
+ },
548
+ {
549
+ "internalType": "enum StrategyFlag",
550
+ "name": "syRatioFlag",
551
+ "type": "uint8"
552
+ }
553
+ ],
554
+ "internalType": "struct StrategyState",
555
+ "name": "currentState",
556
+ "type": "tuple"
557
+ }
558
+ ],
559
+ "stateMutability": "pure",
560
+ "type": "function"
561
+ }
562
+ ],
563
+ "bytecode": "0x608060405234801561001057600080fd5b50613378806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063218494d414610046578063a546c1d11461006f578063f829d9e414610090575b600080fd5b610059610054366004612e65565b6100b0565b6040516100669190612e97565b60405180910390f35b61008261007d3660046130a6565b610172565b604051908152602001610066565b6100a361009e36600461313e565b61046b565b604051610066919061319a565b60006001825160028111156100c7576100c7612e81565b036100f9576002826020015160028111156100e4576100e4612e81565b036100f157506000919050565b506004919050565b60008251600281111561010e5761010e612e81565b036101405760028260200151600281111561012b5761012b612e81565b0361013857506001919050565b506005919050565b60028260200151600281111561015857610158612e81565b0361016557506002919050565b506003919050565b919050565b6000806040518060a001604052808a81526020018981526020018881526020018760058111156101a4576101a4612e81565b81526020018690526040850151909150156102415760006101e18560800151670de0b6b3a76400006101d691906131dc565b604087015190610550565b905060026101f483876040015187610575565b600281111561020557610205612e81565b14801561022d5750600161021a838387610575565b600281111561022b5761022b612e81565b145b1561023f575050506040820151610460565b505b600061024e8a8a896105c5565b9050808560200151111561026457602085018190525b6020850151855111156102af5786600581111561028357610283612e81565b8551602087015160405163f25ccea360e01b81526102a6939291906004016131ef565b60405180910390fd5b60016102c083876020015187610575565b60028111156102d1576102d1612e81565b036102e3575050506020820151610460565b5060006102f582866000015186610575565b9050600081600281111561030b5761030b612e81565b0361033f5786600581111561032257610322612e81565b8551604051630cf4fb5360e31b81526102a6929190600401613205565b600281600281111561035357610353612e81565b0361036357505082519050610460565b5060005b846060015181101561044657600060028660000151876020015161038b91906131dc565b6103959190613229565b86516103a1919061323d565b905060016103b0848388610575565b60028111156103c1576103c1612e81565b036103ce578086526103d6565b602086018190525b6103ed866000015187602001518860800151610680565b1561043557600061040384886020015188610575565b600281111561041457610414612e81565b03610426575050835191506104609050565b85602001519350505050610460565b5061043f81613250565b9050610367565b5060405163fef33c9d60e01b815260040160405180910390fd5b979650505050505050565b610473612cf1565b600061047e846106b4565b8551909150600090610491908690610701565b9150506000816000146104b25760208701516104ad9083610774565b6104b6565b6000195b85519091508310156104e1578360015b908160028111156104d9576104d9612e81565b905250610509565b8285602001511080156104f75750846060015181115b15610504578360026104c6565b600084525b6000610523610518898961079a565b60408a015190610774565b9050856040015181111561053d5760026020860152610545565b600060208601525b505050509392505050565b60008061055d8385613269565b9050670de0b6b3a7640000815b049150505b92915050565b6000806000610585868686610876565b9150915081610599576000925050506105be565b6105a78660800151826109a4565b156105b7576001925050506105be565b6002925050505b9392505050565b6000808260058111156105da576105da612e81565b036105ef576105e883610a09565b90506105be565b600182600581111561060357610603612e81565b03610613575060408301516105be565b600282600581111561062757610627612e81565b03610635576105e883610a44565b600382600581111561064957610649612e81565b03610657576105e883610a44565b600482600581111561066b5761066b612e81565b03610678575082516105be565b5060006105be565b60008284111580156106ac57506106a8836106a384670de0b6b3a76400006131dc565b610550565b8410155b949350505050565b6000670de0b6b3a76400006106f76106e88460400151856000015160a001516106dd91906131dc565b6301e1338090610774565b6106f185610a6a565b90610ab7565b61056f91906131dc565b600080610715846000015160400151610c6a565b84516020015161072490610c6a565b61072e9085613269565b6107389190613229565b915061074b846000015160400151610c6a565b84515161075790610c6a565b6107619085613269565b61076b9190613229565b90509250929050565b600080610789670de0b6b3a764000085613269565b905082818161056a5761056a613213565b60008060006107b685600001518561070190919063ffffffff16565b9150915060008286604001516107cc919061323d565b905085602001518211610822576107e38583610c7d565b6107ed908261323d565b905061081182876020015161080291906131dc565b61080b87610c8f565b90610ccd565b61081b908261323d565b905061086d565b6020860151610832908690610c7d565b61083c908261323d565b905061086086602001518361085191906131dc565b61085a87610c8f565b90610d28565b61086a908261323d565b90505b95945050505050565b6000610880612cf1565b600061088f8660000151610d4c565b905060006108a08760200151610c8f565b90506000876060015160058111156108ba576108ba612e81565b036108d1576108ca828288610d94565b9350610982565b6001876060015160058111156108e9576108e9612e81565b036108f9576108ca828288610df0565b60028760600151600581111561091157610911612e81565b03610921576108ca828288610e63565b60038760600151600581111561093957610939612e81565b03610949576108ca828288610eb2565b60048760600151600581111561096157610961612e81565b0361097d576108ca818761097488610eed565b85929190610f61565b600093505b831561099a576109978282896040015161046b565b92505b5050935093915050565b805160009060028111156109ba576109ba612e81565b835160028111156109cd576109cd612e81565b1480156105be5750816020015160028111156109eb576109eb612e81565b83602001516002811115610a0157610a01612e81565b149392505050565b805160208201516040830151600092600a92610a2f92610a2a918391610f96565b611090565b610a3a906009613269565b61056f9190613229565b60208101516040820151825160009261056f92610a62929190610f96565b835151611114565b6020810151604082015182516000928392610a86929190610f96565b90506000610aac84600001516000015183602001518460000151856040015160006111a8565b90506106ac81610c6a565b600081600003610ad05750670de0b6b3a764000061056f565b82600003610ae05750600061056f565b600160ff1b8310610b255760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b60448201526064016102a6565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f765328310610b7f5760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b60448201526064016102a6565b826000670c7d713b49da000083138015610ba05750670f43fc2c04ee000083125b15610bd7576000610bb084611259565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050610be5565b81610be184611378565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590610c13575068070c1cc73b00c800008113155b610c575760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b60448201526064016102a6565b610c608161171b565b9695505050505050565b600080821215610c7957600080fd5b5090565b60208201516000906105be9083611b30565b610c97612d08565b6040518060600160405280610caf8460000151611b3c565b81526020018360200151815260200183604001518152509050919050565b6020820151604083015183516000928392610ceb9291908690611bb9565b505090506000610d08828660200151611c1290919063ffffffff16565b90506000610d1682866131dc565b6020870151909150610c609082611b30565b602082015160408301518351600092610d42928590611c1f565b5090949350505050565b610d7060405180606001604052806000815260200160008152602001600081525090565b50604080516060810182528251815260208084015190820152918101519082015290565b600080610da18484611c45565b90508460400151811115610db95760009150506105be565b8085604001818151610dcb91906131dc565b905250602085018051849190610de290839061323d565b905250600195945050505050565b60008360400151821115610e06575060006105be565b600080610e138585611c8c565b915091508386604001818151610e2991906131dc565b905250855182908790610e3d90839061323d565b905250602086018051829190610e5490839061323d565b90525060019695505050505050565b60008080610e718585611d26565b915091508560400151811115610e8c576000925050506105be565b8086604001818151610e9e91906131dc565b905250855182908790610e5490839061323d565b60008080610ec08585611dba565b915091508560200151811115610edb576000925050506105be565b8086602001818151610e9e91906131dc565b610f1f6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b8351600090831115610f75575060006106ac565b6000610f82858585611ece565b90508386600001818151610e3d91906131dc565b610fc16040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210610fe55760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151610ff791906131dc565b90506110038582611f6f565b82526020850151611015908590611fd0565b60208301528451158061102a57506020820151155b15611051578451602083015160405163b1c4aefb60e01b81526102a6929190600401613205565b61106f85600001518661010001518460200151856000015185612007565b604083015260c08501516110839082612088565b6060830152509392505050565b600080600090506000600184602001516110aa91906131dc565b90505b80821461110c57600060026110c2838561323d565b6110cd90600161323d565b6110d79190613229565b905060006110ea868860000151846120bc565b1215611102576110fb6001826131dc565b9150611106565b8092505b506110ad565b509392505050565b60008061114161113c8560000151866040015187606001516111369190613280565b906121ae565b61171b565b9050600061116161115a670de0b6b3a7640000846132a0565b83906121d1565b9050600061117f86602001518661117891906132a0565b83906121ae565b9050600061118d8287613280565b90506103e861119e826103e7613269565b6104609190613229565b6000806111b587846121f7565b905060006111c661115a888a6132a0565b9050670d529ae9e86000008113156111fd5780670d529ae9e8600000604051637e34684f60e11b81526004016102a6929190613205565b60006112088261223e565b90508561121582896121d1565b61121f91906132a0565b9350670de0b6b3a764000084121561124d5760405163329e322960e21b8152600481018590526024016102a6565b50505095945050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161129a5761129a613213565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156113b9576113b0826a0c097ce7bc90715b34b9f160241b816113aa576113aa613213565b05611378565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126114045772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b831261143b576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611483576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126114be576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126114f557693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261152c57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126115615768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261158c57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126115c1576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126115f6576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831261162a576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261165e576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161168757611687613213565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff198212158015611740575068070c1cc73b00c800008213155b61177f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016102a6565b60008212156117b7576117948260000361171b565b6a0c097ce7bc90715b34b9f160241b816117b0576117b0613213565b0592915050565b60006806f05b59d3b200000083126117f557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61182b565b6803782dace9d9000000831261182757506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061182b565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261187b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126118b7576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126118f157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261192b576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261196457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261199d5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126119d6576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412611a0f5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b60006105be8383612291565b611b44612d2f565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b600080600080600080611bd68a8a611bd08b6122b0565b8a6122c6565b925092509250611bed611be884612359565b610c6a565b9550611bf882610c6a565b9450611c0381610c6a565b93505050509450945094915050565b6000826106ac8184612367565b600080600080600080611c368a8a611bd08b612393565b925092509250611bed83610c6a565b6020820151604083015183516000928392611c639291908690611c1f565b505090506000611c808486602001516123aa90919063ffffffff16565b905061086d81836123b6565b6000806000611cb0611ca5866000015160200151610c6a565b6020870151906123cd565b855151611cbc90610c6a565b611cc6919061323d565b855151611cd290610c6a565b611cdc9086613269565b611ce69190613229565b6020860151909150611cf890826123cd565b9150611d17611d0782866131dc565b60408701518751919085906123d9565b50909793965092945050505050565b6000806000611d4e85602001518587604001518860000151611bb9909392919063ffffffff16565b5050855151909150600090611d6290610c6a565b865160200151611d7190610c6a565b611d7b9087613269565b611d859190613229565b60408701518751919250611d9d9190839088906123d9565b50909550611daf91508290508361323d565b925050509250929050565b6000806000611de285602001518587604001518860000151611bb9909392919063ffffffff16565b505060208601519091506000611df88284613269565b611e0a670de0b6b3a764000088613269565b611e1491906131dc565b875151909150600090611e2690610c6a565b83611e388a6000015160200151610c6a565b611e429190613269565b611e4c9190613229565b611e5e90670de0b6b3a764000061323d565b90506000611e6c8284613229565b9050611e7881896131dc565b95506000611e93878b60200151611b3090919063ffffffff16565b90506000611ea187836131dc565b60408c01518c51919250611eb99190839086906123d9565b50909d999c50989a5050505050505050505050565b825160009081908190611ee19086612444565b915091506000611efe8388602001516123cd90919063ffffffff16565b90506000611f0c828461323d565b9050600080611f338a60200151848c60400151611f288c610eed565b8e5193929190612474565b5060208c015160408d01518d51939550919350611f5292918490611c1f565b5050508184611f61919061323d565b9a9950505050505050505050565b6000611f7a826122b0565b611f91611f8c6201518061016d613269565b6122b0565b8460800151611fa091906132c8565b611faa91906132f8565b90506000811361056f57604051630e520c3b60e11b8152600481018290526024016102a6565b60008060008312611fe2576001611fe6565b6000195b9050611ffd611f8c85611ff886612595565b6125ac565b6106ac90826132c8565b6000806120148684612088565b9050670de0b6b3a76400008112156120425760405163329e322960e21b8152600481018290526024016102a6565b6000612058612051878a6132a0565b89906121d1565b905060006120658261223e565b905061207181876121d1565b61207b9084613280565b9998505050505050505050565b60008061209a6201518061016d613269565b6120a48486613269565b6120ae9190613229565b90506106ac61113c826122b0565b6000808285602001516120cf9190613280565b905060006120dd85856132a0565b90506000821380156120ef5750600081135b6121305760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b60448201526064016102a6565b600061215e61213f84846132c8565b602089015161214e90896132a0565b61215890886132c8565b906121d1565b9050600061217461216f84866121d1565b6125c1565b885190915060009061218f90670de0b6b3a7640000906121d1565b905061219f816111368486613280565b896040015161207b9190613280565b6000806121bb83856132c8565b9050670de0b6b3a7640000815b05949350505050565b6000806121e6670de0b6b3a7640000856132c8565b90508281816121c8576121c8613213565b6000818312156122345760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b60448201526064016102a6565b6105be8284613280565b6000670de0b6b3a764000082036122685760405163a9c8b14d60e01b815260040160405180910390fd5b600061228661227f84670de0b6b3a7640000613280565b84906121d1565b90506105be816125c1565b6000826122a6670de0b6b3a764000084613269565b6105be9190613229565b60006001600160ff1b03821115610c7957600080fd5b60008060006122d98760a0015185101590565b156122f75760405163b2094b5960e01b815260040160405180910390fd5b8651851261231d578651604051632185509b60e21b81526102a691908790600401613205565b600061232a888887610f96565b90506123388882898961264d565b9195509350915061234e8882898988878b6127a1565b509450945094915050565b600061056f826000196132c8565b6000670de0b6b3a764000060018161237f8686613269565b612389919061323d565b6122a691906131dc565b600061239e826122b0565b61056f906000196132c8565b60006105be8383612833565b6000818310156123c75760006105be565b50900390565b60006105be83836125ac565b6000806000806000806000806124018c6123f28d6122b0565b6123fb8d6122b0565b8c61284b565b935093509350935061241284610c6a565b975061241d83610c6a565b965061242882610c6a565b955061243381610c6a565b945050505050945094509450949050565b60008060008061245c86612457876122b0565b6129f9565b9150915061246982610c6a565b9350611daf81610c6a565b6000808080612484898988610f96565b905084604001516000036124c657845161249e9088612ac5565b855260208501516124b8906124b38b84611090565b612adb565b60208601526124c685612aea565b60005b85606001518110156125705760006124e18783612b38565b90506000806124f28d868e86612ba4565b50909250905060006125048d846123cd565b9050600061251282866131dc565b90508c81116125495761252a818e8d60800151610680565b156125415750975091955090935061258a92505050565b848b5261255a565b6125546001866131dc565b60208c01525b50505050508061256990613250565b90506124c9565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000808213610c79576125a782613326565b61056f565b6000670de0b6b3a76400006122a68484613269565b60008082136126025760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016102a6565b670c7d713b49da0000821380156126205750670f43fc2c04ee000082125b1561264457670de0b6b3a764000061263783611259565b816117b0576117b0613213565b61056f82611378565b6000806000806126708860000151886020015189600001518a60400151896111a8565b9050600061268661268187846121d1565b612359565b606089015190915060008713156126f55760006126a384836121d1565b9050670de0b6b3a76400008112156126d15760405163329e322960e21b8152600481018290526024016102a6565b6126ed6126e683670de0b6b3a7640000613280565b84906121ae565b915050612722565b61271f8161270b81670de0b6b3a7640000613280565b61271590856132c8565b61268191906132f8565b90505b600060646127338c60e001516122b0565b61273d90846132c8565b61274791906132f8565b905060006127558385613280565b90506000811261276e576127698a82612bd5565b612778565b6127788a82612c02565b97506127848a84612bd5565b96506127908a83612bd5565b955050505050509450945094915050565b6000818860a001516127b391906131dc565b88519091506127c290866121f7565b88526127dc6127d184866132a0565b60208a0151906121f7565b602089018190528851612801916127f4908990611fd0565b895160408b015185612c2f565b610100890181905260000361282957604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b60008260018161237f670de0b6b3a764000086613269565b600080808086158061285b575085155b15612879576040516325daaec360e01b815260040160405180910390fd5b60a0880151851061289d5760405163b2094b5960e01b815260040160405180910390fd5b87604001516000036128e0576103e86128c4611f8c6128bf611be88a8c6132c8565b612c82565b6128ce9190613280565b92506103e89350869150859050612983565b87516040890151600091906128f590896132c8565b6128ff91906132f8565b9050600089602001518a604001518a61291891906132c8565b61292291906132f8565b905080821215612958578194508792508960400151858b6020015161294791906132c8565b61295191906132f8565b9350612980565b8094508893508960400151858b6000015161297391906132c8565b61297d91906132f8565b92505b50505b600083136129a457604051631997ea8d60e31b815260040160405180910390fd5b81886020018181516129b691906132a0565b9052508751819089906129ca9083906132a0565b9052506129d784846132a0565b886040018181516129e891906132a0565b905250929791965094509092509050565b60008082600003612a1d576040516325daaec360e01b815260040160405180910390fd5b60408401516020850151612a3190856132c8565b612a3b91906132f8565b6040850151855191935090612a5090856132c8565b612a5a91906132f8565b905081158015612a68575080155b15612a8657604051631997ea8d60e31b815260040160405180910390fd5b6040840151612a9590846121f7565b60408501528351612aa690826121f7565b84526020840151612ab790836121f7565b602090940193909352929050565b6000818311612ad457816105be565b5090919050565b6000818310612ad457816105be565b602081015181511180612b085750670de0b6b3a76400008160800151115b15612b3557805160208201516080830151604051632cc06bc160e21b81526102a6939291906004016131ef565b50565b600081158015612b4b5750604083015115155b15612b5b5750604082015161056f565b6020830151835111612b8b5760208301518351600291612b7a9161323d565b612b849190613229565b905061056f565b604051637d388ed960e11b815260040160405180910390fd5b60008080808080612bc28989612bb98a613326565b8d92919061264d565b919c909b50909950975050505050505050565b60008060008312612be7576001612beb565b6000195b9050611ffd611f8c85612bfd86612595565b612291565b60008060008312612c14576001612c18565b6000195b9050611ffd611f8c85612c2a86612595565b612833565b600080612c408787878760006111a8565b90506000612c50611be8836125c1565b905083612c626201518061016d613269565b612c6c9083613269565b612c769190613229565b98975050505050505050565b60006003821115612ce35750806000612c9c600283613229565b612ca790600161323d565b90505b81811015612cdd57905080600281612cc28186613229565b612ccc919061323d565b612cd69190613229565b9050612caa565b50919050565b811561016d57506001919050565b604080518082019091526000808252602082015290565b6040518060600160405280612d1b612d2f565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051606081016001600160401b0381118282101715612db457634e487b7160e01b600052604160045260246000fd5b60405290565b60405161012081016001600160401b0381118282101715612db457634e487b7160e01b600052604160045260246000fd5b80356003811061016d57600080fd5b600060408284031215612e0c57600080fd5b604080519081016001600160401b0381118282101715612e3c57634e487b7160e01b600052604160045260246000fd5b604052905080612e4b83612deb565b8152612e5960208401612deb565b60208201525092915050565b600060408284031215612e7757600080fd5b6105be8383612dfa565b634e487b7160e01b600052602160045260246000fd5b6020810160068310612eab57612eab612e81565b91905290565b600060608284031215612ec357600080fd5b612ecb612d84565b905081358152602082013560208201526040820135604082015292915050565b80356001600160a01b038116811461016d57600080fd5b6000818303610160811215612f1657600080fd5b612f1e612d84565b915061012080821215612f3057600080fd5b612f38612dba565b9150833582526020840135602083015260408401356040830152612f5e60608501612eeb565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b600060808284031215612fc857600080fd5b604051608081016001600160401b0381118282101715612ff857634e487b7160e01b600052604160045260246000fd5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b600060a0828403121561303b57600080fd5b60405160a081016001600160401b038111828210171561306b57634e487b7160e01b600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152608083013560808201525092915050565b60008060008060008060006103e0888a0312156130c257600080fd5b6130cc8989612eb1565b96506130db8960608a01612f02565b95506130eb896101c08a01612fb6565b94506102408801356006811061310057600080fd5b9350613110896102608a01612dfa565b9250613120896102a08a01613029565b9150613130896103408a01613029565b905092959891949750929550565b6000806000610240848603121561315457600080fd5b61315e8585612eb1565b925061316d8560608601612f02565b915061317d856101c08601612fb6565b90509250925092565b6003811061319657613196612e81565b9052565b60006040820190506131ad828451613186565b60208301516131bf6020840182613186565b5092915050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561056f5761056f6131c6565b9283526020830191909152604082015260600190565b918252602082015260400190565b634e487b7160e01b600052601260045260246000fd5b60008261323857613238613213565b500490565b8082018082111561056f5761056f6131c6565b600060018201613262576132626131c6565b5060010190565b808202811582820484141761056f5761056f6131c6565b81810360008312801583831316838312821617156131bf576131bf6131c6565b80820182811260008312801582168215821617156132c0576132c06131c6565b505092915050565b80820260008212600160ff1b841416156132e4576132e46131c6565b818105831482151761056f5761056f6131c6565b60008261330757613307613213565b600160ff1b821460001984141615613321576133216131c6565b500590565b6000600160ff1b820161333b5761333b6131c6565b506000039056fea2646970667358221220ef537f6e175c09cdca7d69acd75d1c237ae283b425d763722da0047623c8b04a64736f6c63430008110033",
564
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063218494d414610046578063a546c1d11461006f578063f829d9e414610090575b600080fd5b610059610054366004612e65565b6100b0565b6040516100669190612e97565b60405180910390f35b61008261007d3660046130a6565b610172565b604051908152602001610066565b6100a361009e36600461313e565b61046b565b604051610066919061319a565b60006001825160028111156100c7576100c7612e81565b036100f9576002826020015160028111156100e4576100e4612e81565b036100f157506000919050565b506004919050565b60008251600281111561010e5761010e612e81565b036101405760028260200151600281111561012b5761012b612e81565b0361013857506001919050565b506005919050565b60028260200151600281111561015857610158612e81565b0361016557506002919050565b506003919050565b919050565b6000806040518060a001604052808a81526020018981526020018881526020018760058111156101a4576101a4612e81565b81526020018690526040850151909150156102415760006101e18560800151670de0b6b3a76400006101d691906131dc565b604087015190610550565b905060026101f483876040015187610575565b600281111561020557610205612e81565b14801561022d5750600161021a838387610575565b600281111561022b5761022b612e81565b145b1561023f575050506040820151610460565b505b600061024e8a8a896105c5565b9050808560200151111561026457602085018190525b6020850151855111156102af5786600581111561028357610283612e81565b8551602087015160405163f25ccea360e01b81526102a6939291906004016131ef565b60405180910390fd5b60016102c083876020015187610575565b60028111156102d1576102d1612e81565b036102e3575050506020820151610460565b5060006102f582866000015186610575565b9050600081600281111561030b5761030b612e81565b0361033f5786600581111561032257610322612e81565b8551604051630cf4fb5360e31b81526102a6929190600401613205565b600281600281111561035357610353612e81565b0361036357505082519050610460565b5060005b846060015181101561044657600060028660000151876020015161038b91906131dc565b6103959190613229565b86516103a1919061323d565b905060016103b0848388610575565b60028111156103c1576103c1612e81565b036103ce578086526103d6565b602086018190525b6103ed866000015187602001518860800151610680565b1561043557600061040384886020015188610575565b600281111561041457610414612e81565b03610426575050835191506104609050565b85602001519350505050610460565b5061043f81613250565b9050610367565b5060405163fef33c9d60e01b815260040160405180910390fd5b979650505050505050565b610473612cf1565b600061047e846106b4565b8551909150600090610491908690610701565b9150506000816000146104b25760208701516104ad9083610774565b6104b6565b6000195b85519091508310156104e1578360015b908160028111156104d9576104d9612e81565b905250610509565b8285602001511080156104f75750846060015181115b15610504578360026104c6565b600084525b6000610523610518898961079a565b60408a015190610774565b9050856040015181111561053d5760026020860152610545565b600060208601525b505050509392505050565b60008061055d8385613269565b9050670de0b6b3a7640000815b049150505b92915050565b6000806000610585868686610876565b9150915081610599576000925050506105be565b6105a78660800151826109a4565b156105b7576001925050506105be565b6002925050505b9392505050565b6000808260058111156105da576105da612e81565b036105ef576105e883610a09565b90506105be565b600182600581111561060357610603612e81565b03610613575060408301516105be565b600282600581111561062757610627612e81565b03610635576105e883610a44565b600382600581111561064957610649612e81565b03610657576105e883610a44565b600482600581111561066b5761066b612e81565b03610678575082516105be565b5060006105be565b60008284111580156106ac57506106a8836106a384670de0b6b3a76400006131dc565b610550565b8410155b949350505050565b6000670de0b6b3a76400006106f76106e88460400151856000015160a001516106dd91906131dc565b6301e1338090610774565b6106f185610a6a565b90610ab7565b61056f91906131dc565b600080610715846000015160400151610c6a565b84516020015161072490610c6a565b61072e9085613269565b6107389190613229565b915061074b846000015160400151610c6a565b84515161075790610c6a565b6107619085613269565b61076b9190613229565b90509250929050565b600080610789670de0b6b3a764000085613269565b905082818161056a5761056a613213565b60008060006107b685600001518561070190919063ffffffff16565b9150915060008286604001516107cc919061323d565b905085602001518211610822576107e38583610c7d565b6107ed908261323d565b905061081182876020015161080291906131dc565b61080b87610c8f565b90610ccd565b61081b908261323d565b905061086d565b6020860151610832908690610c7d565b61083c908261323d565b905061086086602001518361085191906131dc565b61085a87610c8f565b90610d28565b61086a908261323d565b90505b95945050505050565b6000610880612cf1565b600061088f8660000151610d4c565b905060006108a08760200151610c8f565b90506000876060015160058111156108ba576108ba612e81565b036108d1576108ca828288610d94565b9350610982565b6001876060015160058111156108e9576108e9612e81565b036108f9576108ca828288610df0565b60028760600151600581111561091157610911612e81565b03610921576108ca828288610e63565b60038760600151600581111561093957610939612e81565b03610949576108ca828288610eb2565b60048760600151600581111561096157610961612e81565b0361097d576108ca818761097488610eed565b85929190610f61565b600093505b831561099a576109978282896040015161046b565b92505b5050935093915050565b805160009060028111156109ba576109ba612e81565b835160028111156109cd576109cd612e81565b1480156105be5750816020015160028111156109eb576109eb612e81565b83602001516002811115610a0157610a01612e81565b149392505050565b805160208201516040830151600092600a92610a2f92610a2a918391610f96565b611090565b610a3a906009613269565b61056f9190613229565b60208101516040820151825160009261056f92610a62929190610f96565b835151611114565b6020810151604082015182516000928392610a86929190610f96565b90506000610aac84600001516000015183602001518460000151856040015160006111a8565b90506106ac81610c6a565b600081600003610ad05750670de0b6b3a764000061056f565b82600003610ae05750600061056f565b600160ff1b8310610b255760405162461bcd60e51b815260206004820152600f60248201526e78206f7574206f6620626f756e647360881b60448201526064016102a6565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f765328310610b7f5760405162461bcd60e51b815260206004820152600f60248201526e79206f7574206f6620626f756e647360881b60448201526064016102a6565b826000670c7d713b49da000083138015610ba05750670f43fc2c04ee000083125b15610bd7576000610bb084611259565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050610be5565b81610be184611378565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590610c13575068070c1cc73b00c800008113155b610c575760405162461bcd60e51b815260206004820152601560248201527470726f64756374206f7574206f6620626f756e647360581b60448201526064016102a6565b610c608161171b565b9695505050505050565b600080821215610c7957600080fd5b5090565b60208201516000906105be9083611b30565b610c97612d08565b6040518060600160405280610caf8460000151611b3c565b81526020018360200151815260200183604001518152509050919050565b6020820151604083015183516000928392610ceb9291908690611bb9565b505090506000610d08828660200151611c1290919063ffffffff16565b90506000610d1682866131dc565b6020870151909150610c609082611b30565b602082015160408301518351600092610d42928590611c1f565b5090949350505050565b610d7060405180606001604052806000815260200160008152602001600081525090565b50604080516060810182528251815260208084015190820152918101519082015290565b600080610da18484611c45565b90508460400151811115610db95760009150506105be565b8085604001818151610dcb91906131dc565b905250602085018051849190610de290839061323d565b905250600195945050505050565b60008360400151821115610e06575060006105be565b600080610e138585611c8c565b915091508386604001818151610e2991906131dc565b905250855182908790610e3d90839061323d565b905250602086018051829190610e5490839061323d565b90525060019695505050505050565b60008080610e718585611d26565b915091508560400151811115610e8c576000925050506105be565b8086604001818151610e9e91906131dc565b905250855182908790610e5490839061323d565b60008080610ec08585611dba565b915091508560200151811115610edb576000925050506105be565b8086602001818151610e9e91906131dc565b610f1f6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a001604052808360000151815260200183602001518152602001836040015181526020018360600151815260200183608001518152509050919050565b8351600090831115610f75575060006106ac565b6000610f82858585611ece565b90508386600001818151610e3d91906131dc565b610fc16040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210610fe55760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151610ff791906131dc565b90506110038582611f6f565b82526020850151611015908590611fd0565b60208301528451158061102a57506020820151155b15611051578451602083015160405163b1c4aefb60e01b81526102a6929190600401613205565b61106f85600001518661010001518460200151856000015185612007565b604083015260c08501516110839082612088565b6060830152509392505050565b600080600090506000600184602001516110aa91906131dc565b90505b80821461110c57600060026110c2838561323d565b6110cd90600161323d565b6110d79190613229565b905060006110ea868860000151846120bc565b1215611102576110fb6001826131dc565b9150611106565b8092505b506110ad565b509392505050565b60008061114161113c8560000151866040015187606001516111369190613280565b906121ae565b61171b565b9050600061116161115a670de0b6b3a7640000846132a0565b83906121d1565b9050600061117f86602001518661117891906132a0565b83906121ae565b9050600061118d8287613280565b90506103e861119e826103e7613269565b6104609190613229565b6000806111b587846121f7565b905060006111c661115a888a6132a0565b9050670d529ae9e86000008113156111fd5780670d529ae9e8600000604051637e34684f60e11b81526004016102a6929190613205565b60006112088261223e565b90508561121582896121d1565b61121f91906132a0565b9350670de0b6b3a764000084121561124d5760405163329e322960e21b8152600481018590526024016102a6565b50505095945050505050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161129a5761129a613213565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a76400008212156113b9576113b0826a0c097ce7bc90715b34b9f160241b816113aa576113aa613213565b05611378565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126114045772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b831261143b576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611483576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126114be576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126114f557693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261152c57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126115615768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261158c57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126115c1576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126115f6576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831261162a576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261165e576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161168757611687613213565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff198212158015611740575068070c1cc73b00c800008213155b61177f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016102a6565b60008212156117b7576117948260000361171b565b6a0c097ce7bc90715b34b9f160241b816117b0576117b0613213565b0592915050565b60006806f05b59d3b200000083126117f557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61182b565b6803782dace9d9000000831261182757506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061182b565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261187b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126118b7576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126118f157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261192b576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261196457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261199d5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126119d6576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412611a0f5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b60006105be8383612291565b611b44612d2f565b60405180610120016040528083600001518152602001836020015181526020018360400151815260200183606001516001600160a01b03168152602001836080015181526020018360a0015181526020018360c0015181526020018360e0015181526020018361010001518152509050919050565b600080600080600080611bd68a8a611bd08b6122b0565b8a6122c6565b925092509250611bed611be884612359565b610c6a565b9550611bf882610c6a565b9450611c0381610c6a565b93505050509450945094915050565b6000826106ac8184612367565b600080600080600080611c368a8a611bd08b612393565b925092509250611bed83610c6a565b6020820151604083015183516000928392611c639291908690611c1f565b505090506000611c808486602001516123aa90919063ffffffff16565b905061086d81836123b6565b6000806000611cb0611ca5866000015160200151610c6a565b6020870151906123cd565b855151611cbc90610c6a565b611cc6919061323d565b855151611cd290610c6a565b611cdc9086613269565b611ce69190613229565b6020860151909150611cf890826123cd565b9150611d17611d0782866131dc565b60408701518751919085906123d9565b50909793965092945050505050565b6000806000611d4e85602001518587604001518860000151611bb9909392919063ffffffff16565b5050855151909150600090611d6290610c6a565b865160200151611d7190610c6a565b611d7b9087613269565b611d859190613229565b60408701518751919250611d9d9190839088906123d9565b50909550611daf91508290508361323d565b925050509250929050565b6000806000611de285602001518587604001518860000151611bb9909392919063ffffffff16565b505060208601519091506000611df88284613269565b611e0a670de0b6b3a764000088613269565b611e1491906131dc565b875151909150600090611e2690610c6a565b83611e388a6000015160200151610c6a565b611e429190613269565b611e4c9190613229565b611e5e90670de0b6b3a764000061323d565b90506000611e6c8284613229565b9050611e7881896131dc565b95506000611e93878b60200151611b3090919063ffffffff16565b90506000611ea187836131dc565b60408c01518c51919250611eb99190839086906123d9565b50909d999c50989a5050505050505050505050565b825160009081908190611ee19086612444565b915091506000611efe8388602001516123cd90919063ffffffff16565b90506000611f0c828461323d565b9050600080611f338a60200151848c60400151611f288c610eed565b8e5193929190612474565b5060208c015160408d01518d51939550919350611f5292918490611c1f565b5050508184611f61919061323d565b9a9950505050505050505050565b6000611f7a826122b0565b611f91611f8c6201518061016d613269565b6122b0565b8460800151611fa091906132c8565b611faa91906132f8565b90506000811361056f57604051630e520c3b60e11b8152600481018290526024016102a6565b60008060008312611fe2576001611fe6565b6000195b9050611ffd611f8c85611ff886612595565b6125ac565b6106ac90826132c8565b6000806120148684612088565b9050670de0b6b3a76400008112156120425760405163329e322960e21b8152600481018290526024016102a6565b6000612058612051878a6132a0565b89906121d1565b905060006120658261223e565b905061207181876121d1565b61207b9084613280565b9998505050505050505050565b60008061209a6201518061016d613269565b6120a48486613269565b6120ae9190613229565b90506106ac61113c826122b0565b6000808285602001516120cf9190613280565b905060006120dd85856132a0565b90506000821380156120ef5750600081135b6121305760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b60448201526064016102a6565b600061215e61213f84846132c8565b602089015161214e90896132a0565b61215890886132c8565b906121d1565b9050600061217461216f84866121d1565b6125c1565b885190915060009061218f90670de0b6b3a7640000906121d1565b905061219f816111368486613280565b896040015161207b9190613280565b6000806121bb83856132c8565b9050670de0b6b3a7640000815b05949350505050565b6000806121e6670de0b6b3a7640000856132c8565b90508281816121c8576121c8613213565b6000818312156122345760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b60448201526064016102a6565b6105be8284613280565b6000670de0b6b3a764000082036122685760405163a9c8b14d60e01b815260040160405180910390fd5b600061228661227f84670de0b6b3a7640000613280565b84906121d1565b90506105be816125c1565b6000826122a6670de0b6b3a764000084613269565b6105be9190613229565b60006001600160ff1b03821115610c7957600080fd5b60008060006122d98760a0015185101590565b156122f75760405163b2094b5960e01b815260040160405180910390fd5b8651851261231d578651604051632185509b60e21b81526102a691908790600401613205565b600061232a888887610f96565b90506123388882898961264d565b9195509350915061234e8882898988878b6127a1565b509450945094915050565b600061056f826000196132c8565b6000670de0b6b3a764000060018161237f8686613269565b612389919061323d565b6122a691906131dc565b600061239e826122b0565b61056f906000196132c8565b60006105be8383612833565b6000818310156123c75760006105be565b50900390565b60006105be83836125ac565b6000806000806000806000806124018c6123f28d6122b0565b6123fb8d6122b0565b8c61284b565b935093509350935061241284610c6a565b975061241d83610c6a565b965061242882610c6a565b955061243381610c6a565b945050505050945094509450949050565b60008060008061245c86612457876122b0565b6129f9565b9150915061246982610c6a565b9350611daf81610c6a565b6000808080612484898988610f96565b905084604001516000036124c657845161249e9088612ac5565b855260208501516124b8906124b38b84611090565b612adb565b60208601526124c685612aea565b60005b85606001518110156125705760006124e18783612b38565b90506000806124f28d868e86612ba4565b50909250905060006125048d846123cd565b9050600061251282866131dc565b90508c81116125495761252a818e8d60800151610680565b156125415750975091955090935061258a92505050565b848b5261255a565b6125546001866131dc565b60208c01525b50505050508061256990613250565b90506124c9565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000808213610c79576125a782613326565b61056f565b6000670de0b6b3a76400006122a68484613269565b60008082136126025760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016102a6565b670c7d713b49da0000821380156126205750670f43fc2c04ee000082125b1561264457670de0b6b3a764000061263783611259565b816117b0576117b0613213565b61056f82611378565b6000806000806126708860000151886020015189600001518a60400151896111a8565b9050600061268661268187846121d1565b612359565b606089015190915060008713156126f55760006126a384836121d1565b9050670de0b6b3a76400008112156126d15760405163329e322960e21b8152600481018290526024016102a6565b6126ed6126e683670de0b6b3a7640000613280565b84906121ae565b915050612722565b61271f8161270b81670de0b6b3a7640000613280565b61271590856132c8565b61268191906132f8565b90505b600060646127338c60e001516122b0565b61273d90846132c8565b61274791906132f8565b905060006127558385613280565b90506000811261276e576127698a82612bd5565b612778565b6127788a82612c02565b97506127848a84612bd5565b96506127908a83612bd5565b955050505050509450945094915050565b6000818860a001516127b391906131dc565b88519091506127c290866121f7565b88526127dc6127d184866132a0565b60208a0151906121f7565b602089018190528851612801916127f4908990611fd0565b895160408b015185612c2f565b610100890181905260000361282957604051635534d70f60e11b815260040160405180910390fd5b5050505050505050565b60008260018161237f670de0b6b3a764000086613269565b600080808086158061285b575085155b15612879576040516325daaec360e01b815260040160405180910390fd5b60a0880151851061289d5760405163b2094b5960e01b815260040160405180910390fd5b87604001516000036128e0576103e86128c4611f8c6128bf611be88a8c6132c8565b612c82565b6128ce9190613280565b92506103e89350869150859050612983565b87516040890151600091906128f590896132c8565b6128ff91906132f8565b9050600089602001518a604001518a61291891906132c8565b61292291906132f8565b905080821215612958578194508792508960400151858b6020015161294791906132c8565b61295191906132f8565b9350612980565b8094508893508960400151858b6000015161297391906132c8565b61297d91906132f8565b92505b50505b600083136129a457604051631997ea8d60e31b815260040160405180910390fd5b81886020018181516129b691906132a0565b9052508751819089906129ca9083906132a0565b9052506129d784846132a0565b886040018181516129e891906132a0565b905250929791965094509092509050565b60008082600003612a1d576040516325daaec360e01b815260040160405180910390fd5b60408401516020850151612a3190856132c8565b612a3b91906132f8565b6040850151855191935090612a5090856132c8565b612a5a91906132f8565b905081158015612a68575080155b15612a8657604051631997ea8d60e31b815260040160405180910390fd5b6040840151612a9590846121f7565b60408501528351612aa690826121f7565b84526020840151612ab790836121f7565b602090940193909352929050565b6000818311612ad457816105be565b5090919050565b6000818310612ad457816105be565b602081015181511180612b085750670de0b6b3a76400008160800151115b15612b3557805160208201516080830151604051632cc06bc160e21b81526102a6939291906004016131ef565b50565b600081158015612b4b5750604083015115155b15612b5b5750604082015161056f565b6020830151835111612b8b5760208301518351600291612b7a9161323d565b612b849190613229565b905061056f565b604051637d388ed960e11b815260040160405180910390fd5b60008080808080612bc28989612bb98a613326565b8d92919061264d565b919c909b50909950975050505050505050565b60008060008312612be7576001612beb565b6000195b9050611ffd611f8c85612bfd86612595565b612291565b60008060008312612c14576001612c18565b6000195b9050611ffd611f8c85612c2a86612595565b612833565b600080612c408787878760006111a8565b90506000612c50611be8836125c1565b905083612c626201518061016d613269565b612c6c9083613269565b612c769190613229565b98975050505050505050565b60006003821115612ce35750806000612c9c600283613229565b612ca790600161323d565b90505b81811015612cdd57905080600281612cc28186613229565b612ccc919061323d565b612cd69190613229565b9050612caa565b50919050565b811561016d57506001919050565b604080518082019091526000808252602082015290565b6040518060600160405280612d1b612d2f565b815260200160008152602001600081525090565b60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051606081016001600160401b0381118282101715612db457634e487b7160e01b600052604160045260246000fd5b60405290565b60405161012081016001600160401b0381118282101715612db457634e487b7160e01b600052604160045260246000fd5b80356003811061016d57600080fd5b600060408284031215612e0c57600080fd5b604080519081016001600160401b0381118282101715612e3c57634e487b7160e01b600052604160045260246000fd5b604052905080612e4b83612deb565b8152612e5960208401612deb565b60208201525092915050565b600060408284031215612e7757600080fd5b6105be8383612dfa565b634e487b7160e01b600052602160045260246000fd5b6020810160068310612eab57612eab612e81565b91905290565b600060608284031215612ec357600080fd5b612ecb612d84565b905081358152602082013560208201526040820135604082015292915050565b80356001600160a01b038116811461016d57600080fd5b6000818303610160811215612f1657600080fd5b612f1e612d84565b915061012080821215612f3057600080fd5b612f38612dba565b9150833582526020840135602083015260408401356040830152612f5e60608501612eeb565b60608301526080840135608083015260a084013560a083015260c084013560c083015260e084013560e08301526101008085013581840152508183528084013560208401525050610140820135604082015292915050565b600060808284031215612fc857600080fd5b604051608081016001600160401b0381118282101715612ff857634e487b7160e01b600052604160045260246000fd5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b600060a0828403121561303b57600080fd5b60405160a081016001600160401b038111828210171561306b57634e487b7160e01b600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152608083013560808201525092915050565b60008060008060008060006103e0888a0312156130c257600080fd5b6130cc8989612eb1565b96506130db8960608a01612f02565b95506130eb896101c08a01612fb6565b94506102408801356006811061310057600080fd5b9350613110896102608a01612dfa565b9250613120896102a08a01613029565b9150613130896103408a01613029565b905092959891949750929550565b6000806000610240848603121561315457600080fd5b61315e8585612eb1565b925061316d8560608601612f02565b915061317d856101c08601612fb6565b90509250925092565b6003811061319657613196612e81565b9052565b60006040820190506131ad828451613186565b60208301516131bf6020840182613186565b5092915050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561056f5761056f6131c6565b9283526020830191909152604082015260600190565b918252602082015260400190565b634e487b7160e01b600052601260045260246000fd5b60008261323857613238613213565b500490565b8082018082111561056f5761056f6131c6565b600060018201613262576132626131c6565b5060010190565b808202811582820484141761056f5761056f6131c6565b81810360008312801583831316838312821617156131bf576131bf6131c6565b80820182811260008312801582168215821617156132c0576132c06131c6565b505092915050565b80820260008212600160ff1b841416156132e4576132e46131c6565b818105831482151761056f5761056f6131c6565b60008261330757613307613213565b600160ff1b821460001984141615613321576133216131c6565b500590565b6000600160ff1b820161333b5761333b6131c6565b506000039056fea2646970667358221220ef537f6e175c09cdca7d69acd75d1c237ae283b425d763722da0047623c8b04a64736f6c63430008110033",
565
+ "linkReferences": {},
566
+ "deployedLinkReferences": {}
567
+ }