@pendle/core-v2 4.0.4 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  3. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +1 -1
  4. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.json +2 -2
  5. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  6. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  7. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  8. package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +1 -1
  9. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +1 -1
  10. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +2 -2
  11. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +1 -1
  12. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +2 -2
  13. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  14. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  15. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  16. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  17. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.dbg.json +1 -1
  19. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.json +2 -2
  20. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
  21. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +2 -2
  22. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  24. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
  26. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +2 -2
  28. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.json +2 -2
  30. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  32. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  34. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  36. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  38. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  40. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.dbg.json +4 -0
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.json +1060 -0
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.json +2 -2
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.dbg.json +4 -0
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.json +1141 -0
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.json +2 -2
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +2 -2
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +2 -2
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +2 -2
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.json +2 -2
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +2 -2
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
  102. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  104. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  106. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  108. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  110. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  111. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  112. package/build/artifacts/contracts/interfaces/EtherFi/IEtherFiLiquidityPool.sol/IEtherFiLiquidityPool.dbg.json +4 -0
  113. package/build/artifacts/contracts/interfaces/EtherFi/IEtherFiLiquidityPool.sol/IEtherFiLiquidityPool.json +145 -0
  114. package/build/artifacts/contracts/interfaces/EtherFi/IEtherFiWEEth.sol/IEtherFiWEEth.dbg.json +4 -0
  115. package/build/artifacts/contracts/interfaces/EtherFi/IEtherFiWEEth.sol/IEtherFiWEEth.json +75 -0
  116. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +3 -3
  118. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +3 -3
  120. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +4 -0
  121. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.json +24 -0
  122. package/build/artifacts/contracts/interfaces/KelpDAO/IKelpDepositPool.sol/IKelpDepositPool.dbg.json +4 -0
  123. package/build/artifacts/contracts/interfaces/KelpDAO/IKelpDepositPool.sol/IKelpDepositPool.json +76 -0
  124. package/build/artifacts/contracts/interfaces/KelpDAO/IKelpLRTConfig.sol/IKelpLRTConfig.dbg.json +4 -0
  125. package/build/artifacts/contracts/interfaces/KelpDAO/IKelpLRTConfig.sol/IKelpLRTConfig.json +43 -0
  126. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  127. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.json +2 -2
  128. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +1 -1
  129. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json +2 -2
  130. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +4 -0
  131. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +307 -0
  132. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  133. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +5 -5
  134. package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.dbg.json +1 -1
  135. package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.json +2 -2
  136. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapBase.dbg.json +1 -1
  137. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL1.dbg.json +1 -1
  138. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL1.json +2 -2
  139. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL2.dbg.json +1 -1
  140. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL2.json +2 -2
  141. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  142. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.json +168 -0
  143. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.dbg.json +1 -1
  144. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.json +378 -0
  145. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.dbg.json +1 -1
  146. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.json +2 -2
  147. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  148. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.json +2 -2
  149. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.dbg.json +1 -1
  150. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.json +2 -2
  151. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.dbg.json +1 -1
  152. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.json +2 -2
  153. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.dbg.json +1 -1
  154. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.json +2 -2
  155. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.dbg.json +1 -1
  156. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.json +2 -2
  157. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.dbg.json +1 -1
  158. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.json +2 -2
  159. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.dbg.json +1 -1
  160. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.json +2 -2
  161. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.dbg.json +1 -1
  162. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.json +2 -2
  163. package/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol +100 -0
  164. package/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol +149 -0
  165. package/contracts/core/libraries/ArrayLib.sol +8 -1
  166. package/contracts/interfaces/EtherFi/IEtherFiLiquidityPool.sol +16 -0
  167. package/contracts/interfaces/EtherFi/IEtherFiWEEth.sol +12 -0
  168. package/contracts/interfaces/IPActionAddRemoveLiqV3.sol +2 -1
  169. package/contracts/interfaces/IPExchangeRateOracle.sol +6 -0
  170. package/contracts/interfaces/KelpDAO/IKelpDepositPool.sol +15 -0
  171. package/contracts/interfaces/KelpDAO/IKelpLRTConfig.sol +8 -0
  172. package/contracts/offchain-helpers/BytesLib.sol +4 -2
  173. package/contracts/offchain-helpers/PendleExchangeRateOracle.sol +86 -0
  174. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol +58 -1
  175. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol +107 -1
  176. package/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol +14 -0
  177. package/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol +32 -0
  178. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol +6 -0
  179. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol +59 -2
  180. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol +22 -1
  181. package/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol +24 -0
  182. package/deployments/1-core.json +1 -1
  183. package/deployments/10-core.json +1 -1
  184. package/deployments/42161-core.json +1 -1
  185. package/deployments/56-core.json +1 -1
  186. package/package.json +1 -1
  187. package/typechain-types/ActionAddRemoveLiqV3.ts +3 -3
  188. package/typechain-types/IEtherFiLiquidityPool.ts +291 -0
  189. package/typechain-types/IEtherFiWEEth.ts +162 -0
  190. package/typechain-types/IExecutorHelper.ts +273 -0
  191. package/typechain-types/IExecutorHelperL2.ts +455 -0
  192. package/typechain-types/IKelpDepositPool.ts +172 -0
  193. package/typechain-types/IKelpLRTConfig.ts +120 -0
  194. package/typechain-types/IPActionAddRemoveLiqV3.ts +3 -3
  195. package/typechain-types/IPAllActionV3.ts +3 -3
  196. package/typechain-types/IPExchangeRateOracle.ts +87 -0
  197. package/typechain-types/PendleExchangeRateOracle.ts +393 -0
  198. package/typechain-types/PendleRsETHSY.ts +1461 -0
  199. package/typechain-types/PendleWEEthSY.ts +1302 -0
  200. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +4 -4
  201. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
  202. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
  203. package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1 -1
  204. package/typechain-types/factories/IEtherFiLiquidityPool__factory.ts +164 -0
  205. package/typechain-types/factories/IEtherFiWEEth__factory.ts +87 -0
  206. package/typechain-types/factories/IExecutorHelperL2__factory.ts +378 -0
  207. package/typechain-types/factories/IExecutorHelper__factory.ts +168 -0
  208. package/typechain-types/factories/IKelpDepositPool__factory.ts +91 -0
  209. package/typechain-types/factories/IKelpLRTConfig__factory.ts +58 -0
  210. package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +3 -3
  211. package/typechain-types/factories/IPAllActionV3__factory.ts +3 -3
  212. package/typechain-types/factories/IPExchangeRateOracle__factory.ts +43 -0
  213. package/typechain-types/factories/LimitBackendHelper__factory.ts +1 -1
  214. package/typechain-types/factories/PendleAaveV3SY__factory.ts +1 -1
  215. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
  216. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  217. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  218. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  219. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  220. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  221. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  222. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  223. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
  224. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  225. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  226. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  227. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  228. package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
  229. package/typechain-types/factories/PendleEUSDSY__factory.ts +1 -1
  230. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +379 -0
  231. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
  232. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  233. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1 -1
  234. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  235. package/typechain-types/factories/PendleGMV2TokenSY__factory.ts +1 -1
  236. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  237. package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
  238. package/typechain-types/factories/PendleKyberElasticSYUpg__factory.ts +1 -1
  239. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  240. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1 -1
  241. package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
  242. package/typechain-types/factories/PendleMarketV3__factory.ts +1 -1
  243. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  244. package/typechain-types/factories/PendleMlpSY__factory.ts +1 -1
  245. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
  246. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  247. package/typechain-types/factories/PendleRouterV3__factory.ts +1 -1
  248. package/typechain-types/factories/PendleRsETHSY__factory.ts +1215 -0
  249. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  250. package/typechain-types/factories/PendleSiloWithIncentiveSY__factory.ts +1 -1
  251. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  252. package/typechain-types/factories/PendleSwapL1__factory.ts +1 -1
  253. package/typechain-types/factories/PendleSwapL2__factory.ts +1 -1
  254. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  255. package/typechain-types/factories/PendleWEEthSY__factory.ts +1118 -0
  256. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  257. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  258. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  259. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  260. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  261. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  262. package/typechain-types/factories/SAPE__factory.ts +1 -1
  263. package/typechain-types/factories/SwETHSY__factory.ts +1 -1
  264. package/typechain-types/hardhat.d.ts +72 -0
  265. package/typechain-types/index.ts +16 -0
@@ -34,6 +34,54 @@ const _abi = [
34
34
  stateMutability: "payable",
35
35
  type: "function",
36
36
  },
37
+ {
38
+ inputs: [
39
+ {
40
+ internalType: "bytes",
41
+ name: "data",
42
+ type: "bytes",
43
+ },
44
+ {
45
+ internalType: "uint256",
46
+ name: "flagsAndPrevAmountOut",
47
+ type: "uint256",
48
+ },
49
+ ],
50
+ name: "executeAmbient",
51
+ outputs: [
52
+ {
53
+ internalType: "uint256",
54
+ name: "",
55
+ type: "uint256",
56
+ },
57
+ ],
58
+ stateMutability: "payable",
59
+ type: "function",
60
+ },
61
+ {
62
+ inputs: [
63
+ {
64
+ internalType: "bytes",
65
+ name: "data",
66
+ type: "bytes",
67
+ },
68
+ {
69
+ internalType: "uint256",
70
+ name: "flagsAndPrevAmountOut",
71
+ type: "uint256",
72
+ },
73
+ ],
74
+ name: "executeArbswapStable",
75
+ outputs: [
76
+ {
77
+ internalType: "uint256",
78
+ name: "",
79
+ type: "uint256",
80
+ },
81
+ ],
82
+ stateMutability: "payable",
83
+ type: "function",
84
+ },
37
85
  {
38
86
  inputs: [
39
87
  {
@@ -82,6 +130,78 @@ const _abi = [
82
130
  stateMutability: "payable",
83
131
  type: "function",
84
132
  },
133
+ {
134
+ inputs: [
135
+ {
136
+ internalType: "bytes",
137
+ name: "data",
138
+ type: "bytes",
139
+ },
140
+ {
141
+ internalType: "uint256",
142
+ name: "flagsAndPrevAmountOut",
143
+ type: "uint256",
144
+ },
145
+ ],
146
+ name: "executeBalancerV1",
147
+ outputs: [
148
+ {
149
+ internalType: "uint256",
150
+ name: "",
151
+ type: "uint256",
152
+ },
153
+ ],
154
+ stateMutability: "payable",
155
+ type: "function",
156
+ },
157
+ {
158
+ inputs: [
159
+ {
160
+ internalType: "bytes",
161
+ name: "data",
162
+ type: "bytes",
163
+ },
164
+ {
165
+ internalType: "uint256",
166
+ name: "flagsAndPrevAmountOut",
167
+ type: "uint256",
168
+ },
169
+ ],
170
+ name: "executeBancorV2",
171
+ outputs: [
172
+ {
173
+ internalType: "uint256",
174
+ name: "",
175
+ type: "uint256",
176
+ },
177
+ ],
178
+ stateMutability: "payable",
179
+ type: "function",
180
+ },
181
+ {
182
+ inputs: [
183
+ {
184
+ internalType: "bytes",
185
+ name: "data",
186
+ type: "bytes",
187
+ },
188
+ {
189
+ internalType: "uint256",
190
+ name: "flagsAndPrevAmountOut",
191
+ type: "uint256",
192
+ },
193
+ ],
194
+ name: "executeBancorV3",
195
+ outputs: [
196
+ {
197
+ internalType: "uint256",
198
+ name: "",
199
+ type: "uint256",
200
+ },
201
+ ],
202
+ stateMutability: "payable",
203
+ type: "function",
204
+ },
85
205
  {
86
206
  inputs: [
87
207
  {
@@ -442,6 +562,30 @@ const _abi = [
442
562
  stateMutability: "payable",
443
563
  type: "function",
444
564
  },
565
+ {
566
+ inputs: [
567
+ {
568
+ internalType: "bytes",
569
+ name: "data",
570
+ type: "bytes",
571
+ },
572
+ {
573
+ internalType: "uint256",
574
+ name: "flagsAndPrevAmountOut",
575
+ type: "uint256",
576
+ },
577
+ ],
578
+ name: "executeNomiswapStable",
579
+ outputs: [
580
+ {
581
+ internalType: "uint256",
582
+ name: "",
583
+ type: "uint256",
584
+ },
585
+ ],
586
+ stateMutability: "payable",
587
+ type: "function",
588
+ },
445
589
  {
446
590
  inputs: [
447
591
  {
@@ -634,6 +778,30 @@ const _abi = [
634
778
  stateMutability: "payable",
635
779
  type: "function",
636
780
  },
781
+ {
782
+ inputs: [
783
+ {
784
+ internalType: "bytes",
785
+ name: "data",
786
+ type: "bytes",
787
+ },
788
+ {
789
+ internalType: "uint256",
790
+ name: "flagsAndPrevAmountOut",
791
+ type: "uint256",
792
+ },
793
+ ],
794
+ name: "executeSwaapV2",
795
+ outputs: [
796
+ {
797
+ internalType: "uint256",
798
+ name: "",
799
+ type: "uint256",
800
+ },
801
+ ],
802
+ stateMutability: "payable",
803
+ type: "function",
804
+ },
637
805
  {
638
806
  inputs: [
639
807
  {
@@ -0,0 +1,91 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ IKelpDepositPool,
9
+ IKelpDepositPoolInterface,
10
+ } from "../IKelpDepositPool";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "address",
17
+ name: "asset",
18
+ type: "address",
19
+ },
20
+ {
21
+ internalType: "uint256",
22
+ name: "depositAmount",
23
+ type: "uint256",
24
+ },
25
+ {
26
+ internalType: "uint256",
27
+ name: "minRSETHAmountToReceive",
28
+ type: "uint256",
29
+ },
30
+ {
31
+ internalType: "string",
32
+ name: "referralId",
33
+ type: "string",
34
+ },
35
+ ],
36
+ name: "depositAsset",
37
+ outputs: [],
38
+ stateMutability: "nonpayable",
39
+ type: "function",
40
+ },
41
+ {
42
+ inputs: [
43
+ {
44
+ internalType: "address",
45
+ name: "asset",
46
+ type: "address",
47
+ },
48
+ {
49
+ internalType: "uint256",
50
+ name: "amount",
51
+ type: "uint256",
52
+ },
53
+ ],
54
+ name: "getRsETHAmountToMint",
55
+ outputs: [
56
+ {
57
+ internalType: "uint256",
58
+ name: "rsethAmountToMint",
59
+ type: "uint256",
60
+ },
61
+ ],
62
+ stateMutability: "view",
63
+ type: "function",
64
+ },
65
+ {
66
+ inputs: [],
67
+ name: "lrtConfig",
68
+ outputs: [
69
+ {
70
+ internalType: "address",
71
+ name: "",
72
+ type: "address",
73
+ },
74
+ ],
75
+ stateMutability: "view",
76
+ type: "function",
77
+ },
78
+ ];
79
+
80
+ export class IKelpDepositPool__factory {
81
+ static readonly abi = _abi;
82
+ static createInterface(): IKelpDepositPoolInterface {
83
+ return new utils.Interface(_abi) as IKelpDepositPoolInterface;
84
+ }
85
+ static connect(
86
+ address: string,
87
+ signerOrProvider: Signer | Provider
88
+ ): IKelpDepositPool {
89
+ return new Contract(address, _abi, signerOrProvider) as IKelpDepositPool;
90
+ }
91
+ }
@@ -0,0 +1,58 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ IKelpLRTConfig,
9
+ IKelpLRTConfigInterface,
10
+ } from "../IKelpLRTConfig";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [],
15
+ name: "getSupportedAssetList",
16
+ outputs: [
17
+ {
18
+ internalType: "address[]",
19
+ name: "",
20
+ type: "address[]",
21
+ },
22
+ ],
23
+ stateMutability: "view",
24
+ type: "function",
25
+ },
26
+ {
27
+ inputs: [
28
+ {
29
+ internalType: "address",
30
+ name: "token",
31
+ type: "address",
32
+ },
33
+ ],
34
+ name: "isSupportedAsset",
35
+ outputs: [
36
+ {
37
+ internalType: "bool",
38
+ name: "",
39
+ type: "bool",
40
+ },
41
+ ],
42
+ stateMutability: "view",
43
+ type: "function",
44
+ },
45
+ ];
46
+
47
+ export class IKelpLRTConfig__factory {
48
+ static readonly abi = _abi;
49
+ static createInterface(): IKelpLRTConfigInterface {
50
+ return new utils.Interface(_abi) as IKelpLRTConfigInterface;
51
+ }
52
+ static connect(
53
+ address: string,
54
+ signerOrProvider: Signer | Provider
55
+ ): IKelpLRTConfig {
56
+ return new Contract(address, _abi, signerOrProvider) as IKelpLRTConfig;
57
+ }
58
+ }
@@ -316,19 +316,19 @@ const _abi = [
316
316
  {
317
317
  indexed: false,
318
318
  internalType: "uint256",
319
- name: "netSyMintPy",
319
+ name: "netLpOut",
320
320
  type: "uint256",
321
321
  },
322
322
  {
323
323
  indexed: false,
324
324
  internalType: "uint256",
325
- name: "netLpOut",
325
+ name: "netYtOut",
326
326
  type: "uint256",
327
327
  },
328
328
  {
329
329
  indexed: false,
330
330
  internalType: "uint256",
331
- name: "netYtOut",
331
+ name: "netSyMintPy",
332
332
  type: "uint256",
333
333
  },
334
334
  {
@@ -313,19 +313,19 @@ const _abi = [
313
313
  {
314
314
  indexed: false,
315
315
  internalType: "uint256",
316
- name: "netSyMintPy",
316
+ name: "netLpOut",
317
317
  type: "uint256",
318
318
  },
319
319
  {
320
320
  indexed: false,
321
321
  internalType: "uint256",
322
- name: "netLpOut",
322
+ name: "netYtOut",
323
323
  type: "uint256",
324
324
  },
325
325
  {
326
326
  indexed: false,
327
327
  internalType: "uint256",
328
- name: "netYtOut",
328
+ name: "netSyMintPy",
329
329
  type: "uint256",
330
330
  },
331
331
  {
@@ -0,0 +1,43 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ IPExchangeRateOracle,
9
+ IPExchangeRateOracleInterface,
10
+ } from "../IPExchangeRateOracle";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [],
15
+ name: "getExchangeRate",
16
+ outputs: [
17
+ {
18
+ internalType: "uint256",
19
+ name: "",
20
+ type: "uint256",
21
+ },
22
+ ],
23
+ stateMutability: "view",
24
+ type: "function",
25
+ },
26
+ ];
27
+
28
+ export class IPExchangeRateOracle__factory {
29
+ static readonly abi = _abi;
30
+ static createInterface(): IPExchangeRateOracleInterface {
31
+ return new utils.Interface(_abi) as IPExchangeRateOracleInterface;
32
+ }
33
+ static connect(
34
+ address: string,
35
+ signerOrProvider: Signer | Provider
36
+ ): IPExchangeRateOracle {
37
+ return new Contract(
38
+ address,
39
+ _abi,
40
+ signerOrProvider
41
+ ) as IPExchangeRateOracle;
42
+ }
43
+ }
@@ -175,7 +175,7 @@ const _abi = [
175
175
  ];
176
176
 
177
177
  const _bytecode =
178
- "0x60c060405234801561001057600080fd5b506040516117a13803806117a183398101604081905261002f91610044565b6001600160a01b03166080523060a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a0516116fb6100a6600039600061083301526000818160da0152818161013801526101ad01526116fb6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063083c1fce14610051578063152c3db7146100775780632d36a6d314610098578063cd62578b146100ab575b600080fd5b61006461005f36600461112b565b6100cb565b6040519081526020015b60405180910390f35b61008a6100853660046111c7565b6102cc565b60405161006e929190611286565b61008a6100a63660046112b4565b610565565b6100be6100b936600461131b565b610770565b60405161006e91906113c7565b60006100d88386846109a7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161480156101a35750604051637d2d278360e11b81526001600160a01b0385169063fa5a4f0690610160907f0000000000000000000000000000000000000000000000000000000000000000906004016113e1565b602060405180830381865afa15801561017d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a1919061140a565b155b156101d9576101d47f0000000000000000000000000000000000000000000000000000000000000000600084610a13565b600092505b6101e38385610ad9565b60006001600160a01b03808616906320e8c56590861615610205576000610207565b845b6040516001600160e01b031960e084901b1681523060048201526001600160a01b0388166024820152604481018790526000606482015260840160206040518083038185885af115801561025f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102849190611425565b905060018160405160200161029b91815260200190565b60408051601f198184030181529082905263032695f960e31b82526102c3929160040161148e565b60405180910390fd5b6060808584146103105760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016102c3565b836001600160401b03811115610328576103286114a9565b604051908082528060200260200182016040528015610351578160200160208202803683370190505b509150836001600160401b0381111561036c5761036c6114a9565b604051908082528060200260200182016040528015610395578160200160208202803683370190505b50905060005b8481101561055a578787828181106103b5576103b56114bf565b90506020020160208101906103ca91906114d5565b6001600160a01b03166370a082318787848181106103ea576103ea6114bf565b90506020020160208101906103ff91906114d5565b6040518263ffffffff1660e01b815260040161041b91906113e1565b602060405180830381865afa158015610438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045c9190611425565b83828151811061046e5761046e6114bf565b60200260200101818152505087878281811061048c5761048c6114bf565b90506020020160208101906104a191906114d5565b6001600160a01b031663dd62ed3e8787848181106104c1576104c16114bf565b90506020020160208101906104d691906114d5565b866040518363ffffffff1660e01b81526004016104f49291906114f2565b602060405180830381865afa158015610511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105359190611425565b828281518110610547576105476114bf565b602090810291909101015260010161039b565b509550959350505050565b606080836001600160401b03811115610580576105806114a9565b6040519080825280602002602001820160405280156105a9578160200160208202803683370190505b509150836001600160401b038111156105c4576105c46114a9565b6040519080825280602002602001820160405280156105ed578160200160208202803683370190505b50905060005b8481101561076657866001600160a01b03166370a0823187878481811061061c5761061c6114bf565b905060200201602081019061063191906114d5565b6040518263ffffffff1660e01b815260040161064d91906113e1565b602060405180830381865afa15801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068e9190611425565b8382815181106106a0576106a06114bf565b602002602001018181525050866001600160a01b031663dd62ed3e8787848181106106cd576106cd6114bf565b90506020020160208101906106e291906114d5565b866040518363ffffffff1660e01b81526004016107009291906114f2565b602060405180830381865afa15801561071d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107419190611425565b828281518110610753576107536114bf565b60209081029190910101526001016105f3565b5094509492505050565b606060008787905090506000896001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107de919061150c565b9050816001600160401b038111156107f8576107f86114a9565b604051908082528060200260200182016040528015610821578160200160208202803683370190505b50925060005b828110156109995760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168b8b8481811061086d5761086d6114bf565b905060200201602081019061088291906114d5565b848b8b86818110610895576108956114bf565b90506020020160208101906108aa91906114d5565b8a8a878181106108bc576108bc6114bf565b6040516001600160a01b039687166024820152948616604486015292909416606484015260209091020135608482015260a401905060408051601f198184030181529181526020820180516001600160e01b031663041e0fe760e11b179052516109269190611529565b600060405180830381855af49150503d8060008114610961576040519150601f19603f3d011682016040523d82523d6000602084013e610966565b606091505b5091505061097381610b98565b858381518110610985576109856114bf565b602090810291909101015250600101610827565b505050979650505050505050565b6001600160a01b0383166109f8578034146109f35760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016102c3565b505050565b80156109f3576109f36001600160a01b038416833084610c37565b6001600160a01b038316610a7a57816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b5050505050505050565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03841690632e1a7d4d90602401600060405180830381600087803b158015610abc57600080fd5b505af1158015610ad0573d6000803e3d6000fd5b50505050505050565b6001600160a01b038216610aeb575050565b610afd60026001600160601b0361155b565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b8152600401610b349291906114f2565b602060405180830381865afa158015610b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b759190611425565b1015610b9457610b8782826000610c97565b610b948282600019610c97565b5050565b6000600482511015610bad5750600019919050565b6000610bbc8360006004610da1565b610bc59061158f565b9050631cd96a0760e31b6001600160e01b0319821601610c2b576000610bf9846004808751610bf491906115c6565b610da1565b806020019051810190610c0c91906115df565b91505080806020019051810190610c239190611425565b925050610c31565b60001991505b50919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610c91908590610eae565b50505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691610cf39190611529565b6000604051808303816000865af19150503d8060008114610d30576040519150601f19603f3d011682016040523d82523d6000602084013e610d35565b606091505b5091509150818015610d5f575080511580610d5f575080806020019051810190610d5f919061140a565b610d9a5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016102c3565b5050505050565b606081610daf81601f61169f565b1015610dee5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102c3565b610df8828461169f565b84511015610e3c5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102c3565b606082158015610e5b5760405191506000825260208201604052610ea5565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610e94578051835260209283019201610e7c565b5050858452601f01601f1916604052505b50949350505050565b6000610f03826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f839092919063ffffffff16565b9050805160001480610f24575080806020019051810190610f24919061140a565b6109f35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102c3565b6060610f928484600085610f9a565b949350505050565b606082471015610ffb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102c3565b600080866001600160a01b031685876040516110179190611529565b60006040518083038185875af1925050503d8060008114611054576040519150601f19603f3d011682016040523d82523d6000602084013e611059565b606091505b509150915061106a87838387611075565b979650505050505050565b606083156110e45782516000036110dd576001600160a01b0385163b6110dd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102c3565b5081610f92565b610f9283838151156110f95781518083602001fd5b8060405162461bcd60e51b81526004016102c391906116b2565b6001600160a01b038116811461112857600080fd5b50565b6000806000806080858703121561114157600080fd5b843561114c81611113565b9350602085013561115c81611113565b9250604085013561116c81611113565b9396929550929360600135925050565b60008083601f84011261118e57600080fd5b5081356001600160401b038111156111a557600080fd5b6020830191508360208260051b85010111156111c057600080fd5b9250929050565b6000806000806000606086880312156111df57600080fd5b85356001600160401b03808211156111f657600080fd5b61120289838a0161117c565b9097509550602088013591508082111561121b57600080fd5b506112288882890161117c565b909450925050604086013561123c81611113565b809150509295509295909350565b60008151808452602080850194506020840160005b8381101561127b5781518752958201959082019060010161125f565b509495945050505050565b604081526000611299604083018561124a565b82810360208401526112ab818561124a565b95945050505050565b600080600080606085870312156112ca57600080fd5b84356112d581611113565b935060208501356001600160401b038111156112f057600080fd5b6112fc8782880161117c565b909450925050604085013561131081611113565b939692955090935050565b60008060008060008060006080888a03121561133657600080fd5b873561134181611113565b965060208801356001600160401b038082111561135d57600080fd5b6113698b838c0161117c565b909850965060408a013591508082111561138257600080fd5b61138e8b838c0161117c565b909650945060608a01359150808211156113a757600080fd5b506113b48a828b0161117c565b989b979a50959850939692959293505050565b6020815260006113da602083018461124a565b9392505050565b6001600160a01b0391909116815260200190565b8051801515811461140557600080fd5b919050565b60006020828403121561141c57600080fd5b6113da826113f5565b60006020828403121561143757600080fd5b5051919050565b60005b83811015611459578181015183820152602001611441565b50506000910152565b6000815180845261147a81602086016020860161143e565b601f01601f19169290920160200192915050565b8215158152604060208201526000610f926040830184611462565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114e757600080fd5b81356113da81611113565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561151e57600080fd5b81516113da81611113565b6000825161153b81846020870161143e565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b60006001600160601b038381168061158357634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b805160208201516001600160e01b031980821692919060048310156115be5780818460040360031b1b83161693505b505050919050565b818103818111156115d9576115d9611545565b92915050565b600080604083850312156115f257600080fd5b6115fb836113f5565b60208401519092506001600160401b038082111561161857600080fd5b818501915085601f83011261162c57600080fd5b81518181111561163e5761163e6114a9565b604051601f8201601f19908116603f01168101908382118183101715611666576116666114a9565b8160405282815288602084870101111561167f57600080fd5b61169083602083016020880161143e565b80955050505050509250929050565b808201808211156115d9576115d9611545565b6020815260006113da602083018461146256fea2646970667358221220314e7d04c7446cf5fbbe48a2a621248f0be3d870b4245830ef6d248cd5239fca64736f6c63430008170033";
178
+ "0x60c060405234801561001057600080fd5b506040516117a13803806117a183398101604081905261002f91610044565b6001600160a01b03166080523060a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a0516116fb6100a6600039600061083301526000818160da0152818161013801526101ad01526116fb6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063083c1fce14610051578063152c3db7146100775780632d36a6d314610098578063cd62578b146100ab575b600080fd5b61006461005f36600461112b565b6100cb565b6040519081526020015b60405180910390f35b61008a6100853660046111c7565b6102cc565b60405161006e929190611286565b61008a6100a63660046112b4565b610565565b6100be6100b936600461131b565b610770565b60405161006e91906113c7565b60006100d88386846109a7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161480156101a35750604051637d2d278360e11b81526001600160a01b0385169063fa5a4f0690610160907f0000000000000000000000000000000000000000000000000000000000000000906004016113e1565b602060405180830381865afa15801561017d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a1919061140a565b155b156101d9576101d47f0000000000000000000000000000000000000000000000000000000000000000600084610a13565b600092505b6101e38385610ad9565b60006001600160a01b03808616906320e8c56590861615610205576000610207565b845b6040516001600160e01b031960e084901b1681523060048201526001600160a01b0388166024820152604481018790526000606482015260840160206040518083038185885af115801561025f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102849190611425565b905060018160405160200161029b91815260200190565b60408051601f198184030181529082905263032695f960e31b82526102c3929160040161148e565b60405180910390fd5b6060808584146103105760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016102c3565b836001600160401b03811115610328576103286114a9565b604051908082528060200260200182016040528015610351578160200160208202803683370190505b509150836001600160401b0381111561036c5761036c6114a9565b604051908082528060200260200182016040528015610395578160200160208202803683370190505b50905060005b8481101561055a578787828181106103b5576103b56114bf565b90506020020160208101906103ca91906114d5565b6001600160a01b03166370a082318787848181106103ea576103ea6114bf565b90506020020160208101906103ff91906114d5565b6040518263ffffffff1660e01b815260040161041b91906113e1565b602060405180830381865afa158015610438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045c9190611425565b83828151811061046e5761046e6114bf565b60200260200101818152505087878281811061048c5761048c6114bf565b90506020020160208101906104a191906114d5565b6001600160a01b031663dd62ed3e8787848181106104c1576104c16114bf565b90506020020160208101906104d691906114d5565b866040518363ffffffff1660e01b81526004016104f49291906114f2565b602060405180830381865afa158015610511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105359190611425565b828281518110610547576105476114bf565b602090810291909101015260010161039b565b509550959350505050565b606080836001600160401b03811115610580576105806114a9565b6040519080825280602002602001820160405280156105a9578160200160208202803683370190505b509150836001600160401b038111156105c4576105c46114a9565b6040519080825280602002602001820160405280156105ed578160200160208202803683370190505b50905060005b8481101561076657866001600160a01b03166370a0823187878481811061061c5761061c6114bf565b905060200201602081019061063191906114d5565b6040518263ffffffff1660e01b815260040161064d91906113e1565b602060405180830381865afa15801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068e9190611425565b8382815181106106a0576106a06114bf565b602002602001018181525050866001600160a01b031663dd62ed3e8787848181106106cd576106cd6114bf565b90506020020160208101906106e291906114d5565b866040518363ffffffff1660e01b81526004016107009291906114f2565b602060405180830381865afa15801561071d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107419190611425565b828281518110610753576107536114bf565b60209081029190910101526001016105f3565b5094509492505050565b606060008787905090506000896001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107de919061150c565b9050816001600160401b038111156107f8576107f86114a9565b604051908082528060200260200182016040528015610821578160200160208202803683370190505b50925060005b828110156109995760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168b8b8481811061086d5761086d6114bf565b905060200201602081019061088291906114d5565b848b8b86818110610895576108956114bf565b90506020020160208101906108aa91906114d5565b8a8a878181106108bc576108bc6114bf565b6040516001600160a01b039687166024820152948616604486015292909416606484015260209091020135608482015260a401905060408051601f198184030181529181526020820180516001600160e01b031663041e0fe760e11b179052516109269190611529565b600060405180830381855af49150503d8060008114610961576040519150601f19603f3d011682016040523d82523d6000602084013e610966565b606091505b5091505061097381610b98565b858381518110610985576109856114bf565b602090810291909101015250600101610827565b505050979650505050505050565b6001600160a01b0383166109f8578034146109f35760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016102c3565b505050565b80156109f3576109f36001600160a01b038416833084610c37565b6001600160a01b038316610a7a57816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b5050505050505050565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03841690632e1a7d4d90602401600060405180830381600087803b158015610abc57600080fd5b505af1158015610ad0573d6000803e3d6000fd5b50505050505050565b6001600160a01b038216610aeb575050565b610afd60026001600160601b0361155b565b6001600160601b0316826001600160a01b031663dd62ed3e30846040518363ffffffff1660e01b8152600401610b349291906114f2565b602060405180830381865afa158015610b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b759190611425565b1015610b9457610b8782826000610c97565b610b948282600019610c97565b5050565b6000600482511015610bad5750600019919050565b6000610bbc8360006004610da1565b610bc59061158f565b9050631cd96a0760e31b6001600160e01b0319821601610c2b576000610bf9846004808751610bf491906115c6565b610da1565b806020019051810190610c0c91906115df565b91505080806020019051810190610c239190611425565b925050610c31565b60001991505b50919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610c91908590610eae565b50505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691610cf39190611529565b6000604051808303816000865af19150503d8060008114610d30576040519150601f19603f3d011682016040523d82523d6000602084013e610d35565b606091505b5091509150818015610d5f575080511580610d5f575080806020019051810190610d5f919061140a565b610d9a5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016102c3565b5050505050565b606081610daf81601f61169f565b1015610dee5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016102c3565b610df8828461169f565b84511015610e3c5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016102c3565b606082158015610e5b5760405191506000825260208201604052610ea5565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610e94578051835260209283019201610e7c565b5050858452601f01601f1916604052505b50949350505050565b6000610f03826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f839092919063ffffffff16565b9050805160001480610f24575080806020019051810190610f24919061140a565b6109f35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102c3565b6060610f928484600085610f9a565b949350505050565b606082471015610ffb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016102c3565b600080866001600160a01b031685876040516110179190611529565b60006040518083038185875af1925050503d8060008114611054576040519150601f19603f3d011682016040523d82523d6000602084013e611059565b606091505b509150915061106a87838387611075565b979650505050505050565b606083156110e45782516000036110dd576001600160a01b0385163b6110dd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102c3565b5081610f92565b610f9283838151156110f95781518083602001fd5b8060405162461bcd60e51b81526004016102c391906116b2565b6001600160a01b038116811461112857600080fd5b50565b6000806000806080858703121561114157600080fd5b843561114c81611113565b9350602085013561115c81611113565b9250604085013561116c81611113565b9396929550929360600135925050565b60008083601f84011261118e57600080fd5b5081356001600160401b038111156111a557600080fd5b6020830191508360208260051b85010111156111c057600080fd5b9250929050565b6000806000806000606086880312156111df57600080fd5b85356001600160401b03808211156111f657600080fd5b61120289838a0161117c565b9097509550602088013591508082111561121b57600080fd5b506112288882890161117c565b909450925050604086013561123c81611113565b809150509295509295909350565b60008151808452602080850194506020840160005b8381101561127b5781518752958201959082019060010161125f565b509495945050505050565b604081526000611299604083018561124a565b82810360208401526112ab818561124a565b95945050505050565b600080600080606085870312156112ca57600080fd5b84356112d581611113565b935060208501356001600160401b038111156112f057600080fd5b6112fc8782880161117c565b909450925050604085013561131081611113565b939692955090935050565b60008060008060008060006080888a03121561133657600080fd5b873561134181611113565b965060208801356001600160401b038082111561135d57600080fd5b6113698b838c0161117c565b909850965060408a013591508082111561138257600080fd5b61138e8b838c0161117c565b909650945060608a01359150808211156113a757600080fd5b506113b48a828b0161117c565b989b979a50959850939692959293505050565b6020815260006113da602083018461124a565b9392505050565b6001600160a01b0391909116815260200190565b8051801515811461140557600080fd5b919050565b60006020828403121561141c57600080fd5b6113da826113f5565b60006020828403121561143757600080fd5b5051919050565b60005b83811015611459578181015183820152602001611441565b50506000910152565b6000815180845261147a81602086016020860161143e565b601f01601f19169290920160200192915050565b8215158152604060208201526000610f926040830184611462565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156114e757600080fd5b81356113da81611113565b6001600160a01b0392831681529116602082015260400190565b60006020828403121561151e57600080fd5b81516113da81611113565b6000825161153b81846020870161143e565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b60006001600160601b038381168061158357634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b805160208201516001600160e01b031980821692919060048310156115be5780818460040360031b1b83161693505b505050919050565b818103818111156115d9576115d9611545565b92915050565b600080604083850312156115f257600080fd5b6115fb836113f5565b60208401519092506001600160401b038082111561161857600080fd5b818501915085601f83011261162c57600080fd5b81518181111561163e5761163e6114a9565b604051601f8201601f19908116603f01168101908382118183101715611666576116666114a9565b8160405282815288602084870101111561167f57600080fd5b61169083602083016020880161143e565b80955050505050509250929050565b808201808211156115d9576115d9611545565b6020815260006113da602083018461146256fea264697066735822122086c76b17d342d5571a626cc8a59eac5c35280de888bd435a595f673f4062c57b64736f6c63430008170033";
179
179
 
180
180
  type LimitBackendHelperConstructorParams =
181
181
  | [signer?: Signer]
@@ -1058,7 +1058,7 @@ const _abi = [
1058
1058
  ];
1059
1059
 
1060
1060
  const _bytecode =
1061
- "0x6102006040523480156200001257600080fd5b50604051620037663803806200376683398101604081905262000035916200076e565b8383828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000079573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009f9190620007fd565b6040805180820190915260018152603160f81b602082015283908184846003620000ca8482620008ba565b506004620000d98382620008ba565b5060ff166080525050600280546001600160f81b0316600160f81b17905562000104826005620003a2565b6101405262000115816006620003a2565b61016052815160208084019190912061010052815190820120610120524660c052620001a56101005161012051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05250503060e0525050603a805460ff1916905550600954600160a81b900460ff1615808015620001e457506009546001600160a01b90910460ff16105b80620002075750303b158015620002075750600954600160a01b900460ff166001145b620002705760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6009805460ff60a01b1916600160a01b17905580156200029e576009805460ff60a81b1916600160a81b1790555b6001600160a01b03821661018052620002b6620003db565b8015620002ff576009805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050506001600160a01b038181166101a08190529083166101c052604080516358b50cef60e11b8152905163b16a19de916004808201926020929091908290030181865afa15801562000357573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037d919062000986565b6001600160a01b03166101e08190526200039890836200045e565b5050505062000a8f565b6000602083511015620003c257620003ba836200052d565b9050620003d5565b81620003cf8482620008ba565b5060ff90505b92915050565b600954600160a81b900460ff166200044a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000267565b600880546001600160a01b03191633179055565b6001600160a01b03821662000471575050565b6200048560026001600160601b03620009a4565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015620004df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005059190620009d9565b101562000529576200051a8282600062000570565b62000529828260001962000570565b5050565b600080829050601f815111156200055b578260405163305a27a960e01b8152600401620002679190620009f3565b8051620005688262000a28565b179392505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691620005ce919062000a4d565b6000604051808303816000865af19150503d80600081146200060d576040519150601f19603f3d011682016040523d82523d6000602084013e62000612565b606091505b5091509150818015620006405750805115806200064057508080602001905181019062000640919062000a6b565b6200067d5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640162000267565b5050505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006b75781810151838201526020016200069d565b50506000910152565b600082601f830112620006d257600080fd5b81516001600160401b0380821115620006ef57620006ef62000684565b604051601f8301601f19908116603f011681019082821181831017156200071a576200071a62000684565b816040528381528660208588010111156200073457600080fd5b620007478460208301602089016200069a565b9695505050505050565b80516001600160a01b03811681146200076957600080fd5b919050565b600080600080608085870312156200078557600080fd5b84516001600160401b03808211156200079d57600080fd5b620007ab88838901620006c0565b95506020870151915080821115620007c257600080fd5b50620007d187828801620006c0565b935050620007e26040860162000751565b9150620007f26060860162000751565b905092959194509250565b6000602082840312156200081057600080fd5b815160ff811681146200082257600080fd5b9392505050565b600181811c908216806200083e57607f821691505b6020821081036200085f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620008b5576000816000526020600020601f850160051c81016020861015620008905750805b601f850160051c820191505b81811015620008b1578281556001016200089c565b5050505b505050565b81516001600160401b03811115620008d657620008d662000684565b620008ee81620008e7845462000829565b8462000865565b602080601f8311600181146200092657600084156200090d5750858301515b600019600386901b1c1916600185901b178555620008b1565b600085815260208120601f198616915b82811015620009575788860151825594840194600190910190840162000936565b5085821015620009765787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200099957600080fd5b620008228262000751565b60006001600160601b0383811680620009cd57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600060208284031215620009ec57600080fd5b5051919050565b602081526000825180602084015262000a148160408501602087016200069a565b601f01601f19169190910160400192915050565b805160208083015191908110156200085f5760001960209190910360031b1b16919050565b6000825162000a618184602087016200069a565b9190910192915050565b60006020828403121562000a7e57600080fd5b815180151581146200082257600080fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051612bdc62000b8a600039600081816103bb0152818161074d01528181610d3001528181610e5901528181610e7a01528181611393015281816113e1015281816119af01528181611bf40152611c420152600081816105380152818161141d015281816119820152611c7901526000818161056c0152818161076e01528181610cf50152611cf10152600061045201526000610df201526000610dc701526000611917015260006118ef0152600061184a015260006118740152600061189e015260006103090152612bdc6000f3fe6080604052600436106101c45760003560e01c806306fdde03146101d0578063071bc3c9146101fb578063078dfbe71461021d578063095ea7b31461023f578063128fced11461026f57806318160ddd1461029c57806320e8c565146102c4578063213cae63146101fb57806323b872dd146102d7578063313ce567146102f75780633644e5151461033d5780633ba0b9a9146103525780633f4ba83a146103675780634e71e0c81461037c5780635c975abb146103915780636f307dc3146103a957806370a08231146103ea578063769f8e5d1461042057806376d5de8514610440578063784367d6146104745780637ecebe00146104945780638456cb59146104b457806384b0196e146104c95780638da5cb5b146104f157806395d89b4114610511578063a03e4bc314610526578063a0c1f15e1461055a578063a40bee501461058e578063a9059cbb146105b2578063b8f82b26146105d2578063c4f59f9b146105f2578063cbe52ae314610613578063d505accf14610633578063da88ecb414610653578063dd62ed3e14610674578063e30c397814610694578063ef5cfb8c1461026f578063f8b2f99114610653578063fa5a4f061461047457600080fd5b366101cb57005b600080fd5b3480156101dc57600080fd5b506101e56106b4565b6040516101f291906125c6565b60405180910390f35b34801561020757600080fd5b50610210610746565b6040516101f291906125d9565b34801561022957600080fd5b5061023d610238366004612650565b610797565b005b34801561024b57600080fd5b5061025f61025a366004612699565b61089d565b60405190151581526020016101f2565b34801561027b57600080fd5b5061028f61028a3660046126c3565b6108b7565b6040516101f2919061271a565b3480156102a857600080fd5b506002546001600160f81b03165b6040519081526020016101f2565b6102b66102d236600461272d565b6108d2565b3480156102e357600080fd5b5061025f6102f236600461276f565b610a1b565b34801561030357600080fd5b5061032b7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101f2565b34801561034957600080fd5b506102b6610a99565b34801561035e57600080fd5b506102b6610aa3565b34801561037357600080fd5b5061023d610abc565b34801561038857600080fd5b5061023d610af0565b34801561039d57600080fd5b50603a5460ff1661025f565b3480156103b557600080fd5b506103dd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101f291906127ab565b3480156103f657600080fd5b506102b66104053660046126c3565b6001600160a01b031660009081526020819052604090205490565b34801561042c57600080fd5b506102b661043b3660046127bf565b610b9c565b34801561044c57600080fd5b506103dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048057600080fd5b5061025f61048f3660046126c3565b610cf1565b3480156104a057600080fd5b506102b66104af3660046126c3565b610d69565b3480156104c057600080fd5b5061023d610d87565b3480156104d557600080fd5b506104de610db9565b6040516101f2979695949392919061281a565b3480156104fd57600080fd5b506008546103dd906001600160a01b031681565b34801561051d57600080fd5b506101e5610e42565b34801561053257600080fd5b506103dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561056657600080fd5b506103dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a57600080fd5b506105a3610e51565b6040516101f2939291906128a0565b3480156105be57600080fd5b5061025f6105cd366004612699565b610f05565b3480156105de57600080fd5b506102b66105ed366004612699565b610f77565b3480156105fe57600080fd5b50604080516000815260208101909152610210565b34801561061f57600080fd5b506102b661062e366004612699565b610fb2565b34801561063f57600080fd5b5061023d61064e3660046128f1565b610fe6565b34801561065f57600080fd5b5060408051600081526020810190915261028f565b34801561068057600080fd5b506102b661068f36600461295e565b61114a565b3480156106a057600080fd5b506009546103dd906001600160a01b031681565b6060600380546106c390612991565b80601f01602080910402602001604051908101604052809291908181526020018280546106ef90612991565b801561073c5780601f106107115761010080835404028352916020019161073c565b820191906000526020600020905b81548152906001019060200180831161071f57829003601f168201915b5050505050905090565b60606107927f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611175565b905090565b6008546001600160a01b031633146107ca5760405162461bcd60e51b81526004016107c1906129c5565b60405180910390fd5b811561087c576001600160a01b0383161515806107e45750805b6108285760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016107c1565b6008546040516001600160a01b03808616921690600080516020612b6783398151915290600090a3600880546001600160a01b0385166001600160a01b031991821617909155600980549091169055505050565b600980546001600160a01b0319166001600160a01b0385161790555b505050565b6000336108ab818585611203565b60019150505b92915050565b604080516000808252602082019092526060915b5092915050565b600254600090600119600160f81b90910460ff16016109035760405162461bcd60e51b81526004016107c1906129fa565b600280546001600160f81b0316600160f91b17905561092184610cf1565b61094057836040516315d57ce360e31b81526004016107c191906127ab565b8260000361096157604051630a907f2f60e41b815260040160405180910390fd5b61096c843385611328565b610976848461138f565b90508181101561099d578082604051635e38f95d60e11b81526004016107c1929190612a31565b6109a7858261148b565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d5986856040516109f6929190612a31565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b600254600090600119600160f81b90910460ff1601610a4c5760405162461bcd60e51b81526004016107c1906129fa565b600280546001600160f81b0316600160f91b17905533610a6d8582856115a1565b610a7885858561161b565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b600061079261183d565b6000633b9aca00610ab2611968565b6107929190612a55565b6008546001600160a01b03163314610ae65760405162461bcd60e51b81526004016107c1906129c5565b610aee611a18565b565b6009546001600160a01b0316338114610b4b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016107c1565b6008546040516001600160a01b03808416921690600080516020612b6783398151915290600090a3600880546001600160a01b039092166001600160a01b0319928316179055600980549091169055565b600254600090600119600160f81b90910460ff1601610bcd5760405162461bcd60e51b81526004016107c1906129fa565b600280546001600160f81b0316600160f91b179055610beb84610cf1565b610c0a57836040516388a5056160e01b81526004016107c191906127ab565b84600003610c2b5760405163c3d83b0760e01b815260040160405180910390fd5b8115610c4057610c3b3086611a64565b610c4a565b610c4a3386611a64565b610c55868587611bdd565b905082811015610c7c5780836040516305ff726560e51b81526004016107c1929190612a31565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c8885604051610ccb929190612a31565b60405180910390a4600280546001600160f81b0316600160f81b17905595945050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806108b157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6001600160a01b0381166000908152600760205260408120546108b1565b6008546001600160a01b03163314610db15760405162461bcd60e51b81526004016107c1906129c5565b610aee611d17565b600060608082808083610ded7f00000000000000000000000000000000000000000000000000000000000000006005611d54565b610e187f00000000000000000000000000000000000000000000000000000000000000006006611d54565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546106c390612991565b6000806000807f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efa9190612a77565b925092509250909192565b600254600090600119600160f81b90910460ff1601610f365760405162461bcd60e51b81526004016107c1906129fa565b600280546001600160f81b0316600160f91b17905533610f5781858561161b565b6001915050600280546001600160f81b0316600160f81b17905592915050565b6000610f8283610cf1565b610fa157826040516315d57ce360e31b81526004016107c191906127ab565b610fab8383611dff565b9392505050565b6000610fbd83610cf1565b610fdc57826040516388a5056160e01b81526004016107c191906127ab565b610fab8383611e0d565b834211156110365760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016107c1565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110658c611e1b565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006110c082611e43565b905060006110d082878787611e70565b9050896001600160a01b0316816001600160a01b0316146111335760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016107c1565b61113e8a8a8a611203565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b604080516002808252606080830184529260208301908036833701905050905082816000815181106111a9576111a9612a94565b60200260200101906001600160a01b031690816001600160a01b03168152505081816001815181106111dd576111dd612a94565b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6001600160a01b0383166112655760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107c1565b6001600160a01b0382166112c65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107c1565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611374578034146108985760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016107c1565b8015610898576108986001600160a01b038416833084611e9a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361147a5760405163617ba03760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba03790608401600060405180830381600087803b15801561146157600080fd5b505af1158015611475573d6000803e3d6000fd5b505050505b610fab82611486611968565b611f05565b6001600160a01b0382166114e15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107c1565b6114ed60008383611f11565b6114f681611f19565b600280546000906115119084906001600160f81b0316612aaa565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546115699190612aca565b90915550506040518181526001600160a01b03831690600090600080516020612b878339815191529060200160405180910390a35050565b60006115ad848461114a565b9050600019811461161557818110156116085760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107c1565b6116158484848403611203565b50505050565b6001600160a01b03831661167f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107c1565b6001600160a01b0382166116e15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107c1565b816001600160a01b0316836001600160a01b03160361173c5760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016107c1565b611747838383611f11565b6001600160a01b038316600090815260208190526040902054818110156117bf5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107c1565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906117f6908490612aca565b92505081905550826001600160a01b0316846001600160a01b0316600080516020612b878339815191528460405161183091815260200190565b60405180910390a3611615565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561189657507f000000000000000000000000000000000000000000000000000000000000000046145b156118c057507f000000000000000000000000000000000000000000000000000000000000000090565b610792604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60405163d15e005360e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d15e0053906119d7907f0000000000000000000000000000000000000000000000000000000000000000906004016127ab565b602060405180830381865afa1580156119f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107929190612add565b611a20611f33565b603a805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051611a5a91906127ab565b60405180910390a1565b6001600160a01b038216611ac45760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016107c1565b611ad082600083611f11565b6001600160a01b03821660009081526020819052604090205481811015611b445760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107c1565b6001600160a01b03831660009081526020819052604090208282039055611b6a82611f19565b60028054600090611b859084906001600160f81b0316612af6565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b0316600080516020612b878339815191528460405161131b91815260200190565b6000611bf082611beb611968565b611f7c565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611cec57604051631a4ca37b60e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820183905285811660448301527f000000000000000000000000000000000000000000000000000000000000000016906369328dec906064016020604051808303816000875af1158015611cc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce69190612add565b50610fab565b610fab7f00000000000000000000000000000000000000000000000000000000000000008583611f9e565b611d1f612062565b603a805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611a4d3390565b606060ff8314611d6e57611d67836120a8565b90506108b1565b818054611d7a90612991565b80601f0160208091040260200160405190810160405280929190818152602001828054611da690612991565b8015611df35780601f10611dc857610100808354040283529160200191611df3565b820191906000526020600020905b815481529060010190602001808311611dd657829003601f168201915b505050505090506108b1565b6000610fab82611486611968565b6000610fab82611beb611968565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b60006108b1611e5061183d565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611e81878787876120e7565b91509150611e8e816121a1565b5090505b949350505050565b6040516001600160a01b03808516602483015283166044820152606481018290526116159085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526122e9565b6000610fab83836123be565b610898612062565b60006001600160f81b03821115611f2f57600080fd5b5090565b603a5460ff16610aee5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107c1565b6000676765c793fa10079d601b1b611f948385612b16565b610fab9190612a55565b80600003611fab57505050565b6001600160a01b03831661204e576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612006576040519150601f19603f3d011682016040523d82523d6000602084013e61200b565b606091505b50509050806116155760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016107c1565b6108986001600160a01b03841683836123fb565b603a5460ff1615610aee5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107c1565b606060006120b58361242b565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156121145750600090506003612198565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612168573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661219157600060019250925050612198565b9150600090505b94509492505050565b60008160048111156121b5576121b561288a565b036121bd5750565b60018160048111156121d1576121d161288a565b036122195760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b60448201526064016107c1565b600281600481111561222d5761222d61288a565b0361227a5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016107c1565b600381600481111561228e5761228e61288a565b036122e65760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016107c1565b50565b600061233e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166124539092919063ffffffff16565b905080516000148061235f57508080602001905181019061235f9190612b2d565b6108985760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107c1565b60008115676765c793fa10079d601b1b600284041904841117156123e157600080fd5b50676765c793fa10079d601b1b9190910260028204010490565b6040516001600160a01b03831660248201526044810182905261089890849063a9059cbb60e01b90606401611ece565b600060ff8216601f8111156108b157604051632cd44ac360e21b815260040160405180910390fd5b6060611e92848460008585600080866001600160a01b0316858760405161247a9190612b4a565b60006040518083038185875af1925050503d80600081146124b7576040519150601f19603f3d011682016040523d82523d6000602084013e6124bc565b606091505b50915091506124cd878383876124d8565b979650505050505050565b60608315612547578251600003612540576001600160a01b0385163b6125405760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107c1565b5081611e92565b611e92838381511561255c5781518083602001fd5b8060405162461bcd60e51b81526004016107c191906125c6565b60005b83811015612591578181015183820152602001612579565b50506000910152565b600081518084526125b2816020860160208601612576565b601f01601f19169290920160200192915050565b602081526000610fab602083018461259a565b6020808252825182820181905260009190848201906040850190845b8181101561261a5783516001600160a01b0316835292840192918401916001016125f5565b50909695505050505050565b80356001600160a01b038116811461263d57600080fd5b919050565b80151581146122e657600080fd5b60008060006060848603121561266557600080fd5b61266e84612626565b9250602084013561267e81612642565b9150604084013561268e81612642565b809150509250925092565b600080604083850312156126ac57600080fd5b6126b583612626565b946020939093013593505050565b6000602082840312156126d557600080fd5b610fab82612626565b60008151808452602080850194506020840160005b8381101561270f578151875295820195908201906001016126f3565b509495945050505050565b602081526000610fab60208301846126de565b6000806000806080858703121561274357600080fd5b61274c85612626565b935061275a60208601612626565b93969395505050506040820135916060013590565b60008060006060848603121561278457600080fd5b61278d84612626565b925061279b60208501612626565b9150604084013590509250925092565b6001600160a01b0391909116815260200190565b600080600080600060a086880312156127d757600080fd5b6127e086612626565b9450602086013593506127f560408701612626565b925060608601359150608086013561280c81612642565b809150509295509295909350565b60ff60f81b8816815260e06020820152600061283960e083018961259a565b828103604084015261284b818961259a565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152905061287c81856126de565b9a9950505050505050505050565b634e487b7160e01b600052602160045260246000fd5b60608101600285106128c257634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b60ff811681146122e657600080fd5b600080600080600080600060e0888a03121561290c57600080fd5b61291588612626565b965061292360208901612626565b955060408801359450606088013593506080880135612941816128e2565b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561297157600080fd5b61297a83612626565b915061298860208401612626565b90509250929050565b600181811c908216806129a557607f821691505b602082108103611e3d57634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b600082612a7257634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612a8957600080fd5b8151610fab816128e2565b634e487b7160e01b600052603260045260246000fd5b6001600160f81b038181168382160190808211156108cb576108cb612a3f565b808201808211156108b1576108b1612a3f565b600060208284031215612aef57600080fd5b5051919050565b6001600160f81b038281168282160390808211156108cb576108cb612a3f565b80820281158282048414176108b1576108b1612a3f565b600060208284031215612b3f57600080fd5b8151610fab81612642565b60008251612b5c818460208701612576565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220a8ce23a9c0fb1366992cc71fa3d81bd7dd6855c497623a20facf4826d2f244a164736f6c63430008170033";
1061
+ "0x6102006040523480156200001257600080fd5b50604051620037663803806200376683398101604081905262000035916200076e565b8383828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000079573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009f9190620007fd565b6040805180820190915260018152603160f81b602082015283908184846003620000ca8482620008ba565b506004620000d98382620008ba565b5060ff166080525050600280546001600160f81b0316600160f81b17905562000104826005620003a2565b6101405262000115816006620003a2565b61016052815160208084019190912061010052815190820120610120524660c052620001a56101005161012051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05250503060e0525050603a805460ff1916905550600954600160a81b900460ff1615808015620001e457506009546001600160a01b90910460ff16105b80620002075750303b158015620002075750600954600160a01b900460ff166001145b620002705760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6009805460ff60a01b1916600160a01b17905580156200029e576009805460ff60a81b1916600160a81b1790555b6001600160a01b03821661018052620002b6620003db565b8015620002ff576009805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050506001600160a01b038181166101a08190529083166101c052604080516358b50cef60e11b8152905163b16a19de916004808201926020929091908290030181865afa15801562000357573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037d919062000986565b6001600160a01b03166101e08190526200039890836200045e565b5050505062000a8f565b6000602083511015620003c257620003ba836200052d565b9050620003d5565b81620003cf8482620008ba565b5060ff90505b92915050565b600954600160a81b900460ff166200044a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000267565b600880546001600160a01b03191633179055565b6001600160a01b03821662000471575050565b6200048560026001600160601b03620009a4565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015620004df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005059190620009d9565b101562000529576200051a8282600062000570565b62000529828260001962000570565b5050565b600080829050601f815111156200055b578260405163305a27a960e01b8152600401620002679190620009f3565b8051620005688262000a28565b179392505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691620005ce919062000a4d565b6000604051808303816000865af19150503d80600081146200060d576040519150601f19603f3d011682016040523d82523d6000602084013e62000612565b606091505b5091509150818015620006405750805115806200064057508080602001905181019062000640919062000a6b565b6200067d5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640162000267565b5050505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006b75781810151838201526020016200069d565b50506000910152565b600082601f830112620006d257600080fd5b81516001600160401b0380821115620006ef57620006ef62000684565b604051601f8301601f19908116603f011681019082821181831017156200071a576200071a62000684565b816040528381528660208588010111156200073457600080fd5b620007478460208301602089016200069a565b9695505050505050565b80516001600160a01b03811681146200076957600080fd5b919050565b600080600080608085870312156200078557600080fd5b84516001600160401b03808211156200079d57600080fd5b620007ab88838901620006c0565b95506020870151915080821115620007c257600080fd5b50620007d187828801620006c0565b935050620007e26040860162000751565b9150620007f26060860162000751565b905092959194509250565b6000602082840312156200081057600080fd5b815160ff811681146200082257600080fd5b9392505050565b600181811c908216806200083e57607f821691505b6020821081036200085f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620008b5576000816000526020600020601f850160051c81016020861015620008905750805b601f850160051c820191505b81811015620008b1578281556001016200089c565b5050505b505050565b81516001600160401b03811115620008d657620008d662000684565b620008ee81620008e7845462000829565b8462000865565b602080601f8311600181146200092657600084156200090d5750858301515b600019600386901b1c1916600185901b178555620008b1565b600085815260208120601f198616915b82811015620009575788860151825594840194600190910190840162000936565b5085821015620009765787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200099957600080fd5b620008228262000751565b60006001600160601b0383811680620009cd57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600060208284031215620009ec57600080fd5b5051919050565b602081526000825180602084015262000a148160408501602087016200069a565b601f01601f19169190910160400192915050565b805160208083015191908110156200085f5760001960209190910360031b1b16919050565b6000825162000a618184602087016200069a565b9190910192915050565b60006020828403121562000a7e57600080fd5b815180151581146200082257600080fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051612bdc62000b8a600039600081816103bb0152818161074d01528181610d3001528181610e5901528181610e7a01528181611393015281816113e1015281816119af01528181611bf40152611c420152600081816105380152818161141d015281816119820152611c7901526000818161056c0152818161076e01528181610cf50152611cf10152600061045201526000610df201526000610dc701526000611917015260006118ef0152600061184a015260006118740152600061189e015260006103090152612bdc6000f3fe6080604052600436106101c45760003560e01c806306fdde03146101d0578063071bc3c9146101fb578063078dfbe71461021d578063095ea7b31461023f578063128fced11461026f57806318160ddd1461029c57806320e8c565146102c4578063213cae63146101fb57806323b872dd146102d7578063313ce567146102f75780633644e5151461033d5780633ba0b9a9146103525780633f4ba83a146103675780634e71e0c81461037c5780635c975abb146103915780636f307dc3146103a957806370a08231146103ea578063769f8e5d1461042057806376d5de8514610440578063784367d6146104745780637ecebe00146104945780638456cb59146104b457806384b0196e146104c95780638da5cb5b146104f157806395d89b4114610511578063a03e4bc314610526578063a0c1f15e1461055a578063a40bee501461058e578063a9059cbb146105b2578063b8f82b26146105d2578063c4f59f9b146105f2578063cbe52ae314610613578063d505accf14610633578063da88ecb414610653578063dd62ed3e14610674578063e30c397814610694578063ef5cfb8c1461026f578063f8b2f99114610653578063fa5a4f061461047457600080fd5b366101cb57005b600080fd5b3480156101dc57600080fd5b506101e56106b4565b6040516101f291906125c6565b60405180910390f35b34801561020757600080fd5b50610210610746565b6040516101f291906125d9565b34801561022957600080fd5b5061023d610238366004612650565b610797565b005b34801561024b57600080fd5b5061025f61025a366004612699565b61089d565b60405190151581526020016101f2565b34801561027b57600080fd5b5061028f61028a3660046126c3565b6108b7565b6040516101f2919061271a565b3480156102a857600080fd5b506002546001600160f81b03165b6040519081526020016101f2565b6102b66102d236600461272d565b6108d2565b3480156102e357600080fd5b5061025f6102f236600461276f565b610a1b565b34801561030357600080fd5b5061032b7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101f2565b34801561034957600080fd5b506102b6610a99565b34801561035e57600080fd5b506102b6610aa3565b34801561037357600080fd5b5061023d610abc565b34801561038857600080fd5b5061023d610af0565b34801561039d57600080fd5b50603a5460ff1661025f565b3480156103b557600080fd5b506103dd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101f291906127ab565b3480156103f657600080fd5b506102b66104053660046126c3565b6001600160a01b031660009081526020819052604090205490565b34801561042c57600080fd5b506102b661043b3660046127bf565b610b9c565b34801561044c57600080fd5b506103dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048057600080fd5b5061025f61048f3660046126c3565b610cf1565b3480156104a057600080fd5b506102b66104af3660046126c3565b610d69565b3480156104c057600080fd5b5061023d610d87565b3480156104d557600080fd5b506104de610db9565b6040516101f2979695949392919061281a565b3480156104fd57600080fd5b506008546103dd906001600160a01b031681565b34801561051d57600080fd5b506101e5610e42565b34801561053257600080fd5b506103dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561056657600080fd5b506103dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059a57600080fd5b506105a3610e51565b6040516101f2939291906128a0565b3480156105be57600080fd5b5061025f6105cd366004612699565b610f05565b3480156105de57600080fd5b506102b66105ed366004612699565b610f77565b3480156105fe57600080fd5b50604080516000815260208101909152610210565b34801561061f57600080fd5b506102b661062e366004612699565b610fb2565b34801561063f57600080fd5b5061023d61064e3660046128f1565b610fe6565b34801561065f57600080fd5b5060408051600081526020810190915261028f565b34801561068057600080fd5b506102b661068f36600461295e565b61114a565b3480156106a057600080fd5b506009546103dd906001600160a01b031681565b6060600380546106c390612991565b80601f01602080910402602001604051908101604052809291908181526020018280546106ef90612991565b801561073c5780601f106107115761010080835404028352916020019161073c565b820191906000526020600020905b81548152906001019060200180831161071f57829003601f168201915b5050505050905090565b60606107927f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611175565b905090565b6008546001600160a01b031633146107ca5760405162461bcd60e51b81526004016107c1906129c5565b60405180910390fd5b811561087c576001600160a01b0383161515806107e45750805b6108285760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016107c1565b6008546040516001600160a01b03808616921690600080516020612b6783398151915290600090a3600880546001600160a01b0385166001600160a01b031991821617909155600980549091169055505050565b600980546001600160a01b0319166001600160a01b0385161790555b505050565b6000336108ab818585611203565b60019150505b92915050565b604080516000808252602082019092526060915b5092915050565b600254600090600119600160f81b90910460ff16016109035760405162461bcd60e51b81526004016107c1906129fa565b600280546001600160f81b0316600160f91b17905561092184610cf1565b61094057836040516315d57ce360e31b81526004016107c191906127ab565b8260000361096157604051630a907f2f60e41b815260040160405180910390fd5b61096c843385611328565b610976848461138f565b90508181101561099d578082604051635e38f95d60e11b81526004016107c1929190612a31565b6109a7858261148b565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d5986856040516109f6929190612a31565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b600254600090600119600160f81b90910460ff1601610a4c5760405162461bcd60e51b81526004016107c1906129fa565b600280546001600160f81b0316600160f91b17905533610a6d8582856115a1565b610a7885858561161b565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b600061079261183d565b6000633b9aca00610ab2611968565b6107929190612a55565b6008546001600160a01b03163314610ae65760405162461bcd60e51b81526004016107c1906129c5565b610aee611a18565b565b6009546001600160a01b0316338114610b4b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016107c1565b6008546040516001600160a01b03808416921690600080516020612b6783398151915290600090a3600880546001600160a01b039092166001600160a01b0319928316179055600980549091169055565b600254600090600119600160f81b90910460ff1601610bcd5760405162461bcd60e51b81526004016107c1906129fa565b600280546001600160f81b0316600160f91b179055610beb84610cf1565b610c0a57836040516388a5056160e01b81526004016107c191906127ab565b84600003610c2b5760405163c3d83b0760e01b815260040160405180910390fd5b8115610c4057610c3b3086611a64565b610c4a565b610c4a3386611a64565b610c55868587611bdd565b905082811015610c7c5780836040516305ff726560e51b81526004016107c1929190612a31565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c8885604051610ccb929190612a31565b60405180910390a4600280546001600160f81b0316600160f81b17905595945050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806108b157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6001600160a01b0381166000908152600760205260408120546108b1565b6008546001600160a01b03163314610db15760405162461bcd60e51b81526004016107c1906129c5565b610aee611d17565b600060608082808083610ded7f00000000000000000000000000000000000000000000000000000000000000006005611d54565b610e187f00000000000000000000000000000000000000000000000000000000000000006006611d54565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546106c390612991565b6000806000807f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efa9190612a77565b925092509250909192565b600254600090600119600160f81b90910460ff1601610f365760405162461bcd60e51b81526004016107c1906129fa565b600280546001600160f81b0316600160f91b17905533610f5781858561161b565b6001915050600280546001600160f81b0316600160f81b17905592915050565b6000610f8283610cf1565b610fa157826040516315d57ce360e31b81526004016107c191906127ab565b610fab8383611dff565b9392505050565b6000610fbd83610cf1565b610fdc57826040516388a5056160e01b81526004016107c191906127ab565b610fab8383611e0d565b834211156110365760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016107c1565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110658c611e1b565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006110c082611e43565b905060006110d082878787611e70565b9050896001600160a01b0316816001600160a01b0316146111335760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016107c1565b61113e8a8a8a611203565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b604080516002808252606080830184529260208301908036833701905050905082816000815181106111a9576111a9612a94565b60200260200101906001600160a01b031690816001600160a01b03168152505081816001815181106111dd576111dd612a94565b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6001600160a01b0383166112655760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107c1565b6001600160a01b0382166112c65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107c1565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611374578034146108985760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016107c1565b8015610898576108986001600160a01b038416833084611e9a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361147a5760405163617ba03760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015260248201849052306044830152600060648301527f0000000000000000000000000000000000000000000000000000000000000000169063617ba03790608401600060405180830381600087803b15801561146157600080fd5b505af1158015611475573d6000803e3d6000fd5b505050505b610fab82611486611968565b611f05565b6001600160a01b0382166114e15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107c1565b6114ed60008383611f11565b6114f681611f19565b600280546000906115119084906001600160f81b0316612aaa565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546115699190612aca565b90915550506040518181526001600160a01b03831690600090600080516020612b878339815191529060200160405180910390a35050565b60006115ad848461114a565b9050600019811461161557818110156116085760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107c1565b6116158484848403611203565b50505050565b6001600160a01b03831661167f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107c1565b6001600160a01b0382166116e15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107c1565b816001600160a01b0316836001600160a01b03160361173c5760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016107c1565b611747838383611f11565b6001600160a01b038316600090815260208190526040902054818110156117bf5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107c1565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906117f6908490612aca565b92505081905550826001600160a01b0316846001600160a01b0316600080516020612b878339815191528460405161183091815260200190565b60405180910390a3611615565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561189657507f000000000000000000000000000000000000000000000000000000000000000046145b156118c057507f000000000000000000000000000000000000000000000000000000000000000090565b610792604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60405163d15e005360e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d15e0053906119d7907f0000000000000000000000000000000000000000000000000000000000000000906004016127ab565b602060405180830381865afa1580156119f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107929190612add565b611a20611f33565b603a805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051611a5a91906127ab565b60405180910390a1565b6001600160a01b038216611ac45760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016107c1565b611ad082600083611f11565b6001600160a01b03821660009081526020819052604090205481811015611b445760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107c1565b6001600160a01b03831660009081526020819052604090208282039055611b6a82611f19565b60028054600090611b859084906001600160f81b0316612af6565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b0316600080516020612b878339815191528460405161131b91815260200190565b6000611bf082611beb611968565b611f7c565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611cec57604051631a4ca37b60e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820183905285811660448301527f000000000000000000000000000000000000000000000000000000000000000016906369328dec906064016020604051808303816000875af1158015611cc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce69190612add565b50610fab565b610fab7f00000000000000000000000000000000000000000000000000000000000000008583611f9e565b611d1f612062565b603a805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611a4d3390565b606060ff8314611d6e57611d67836120a8565b90506108b1565b818054611d7a90612991565b80601f0160208091040260200160405190810160405280929190818152602001828054611da690612991565b8015611df35780601f10611dc857610100808354040283529160200191611df3565b820191906000526020600020905b815481529060010190602001808311611dd657829003601f168201915b505050505090506108b1565b6000610fab82611486611968565b6000610fab82611beb611968565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b60006108b1611e5061183d565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611e81878787876120e7565b91509150611e8e816121a1565b5090505b949350505050565b6040516001600160a01b03808516602483015283166044820152606481018290526116159085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526122e9565b6000610fab83836123be565b610898612062565b60006001600160f81b03821115611f2f57600080fd5b5090565b603a5460ff16610aee5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107c1565b6000676765c793fa10079d601b1b611f948385612b16565b610fab9190612a55565b80600003611fab57505050565b6001600160a01b03831661204e576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612006576040519150601f19603f3d011682016040523d82523d6000602084013e61200b565b606091505b50509050806116155760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016107c1565b6108986001600160a01b03841683836123fb565b603a5460ff1615610aee5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107c1565b606060006120b58361242b565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156121145750600090506003612198565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612168573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661219157600060019250925050612198565b9150600090505b94509492505050565b60008160048111156121b5576121b561288a565b036121bd5750565b60018160048111156121d1576121d161288a565b036122195760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b60448201526064016107c1565b600281600481111561222d5761222d61288a565b0361227a5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016107c1565b600381600481111561228e5761228e61288a565b036122e65760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016107c1565b50565b600061233e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166124539092919063ffffffff16565b905080516000148061235f57508080602001905181019061235f9190612b2d565b6108985760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107c1565b60008115676765c793fa10079d601b1b600284041904841117156123e157600080fd5b50676765c793fa10079d601b1b9190910260028204010490565b6040516001600160a01b03831660248201526044810182905261089890849063a9059cbb60e01b90606401611ece565b600060ff8216601f8111156108b157604051632cd44ac360e21b815260040160405180910390fd5b6060611e92848460008585600080866001600160a01b0316858760405161247a9190612b4a565b60006040518083038185875af1925050503d80600081146124b7576040519150601f19603f3d011682016040523d82523d6000602084013e6124bc565b606091505b50915091506124cd878383876124d8565b979650505050505050565b60608315612547578251600003612540576001600160a01b0385163b6125405760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107c1565b5081611e92565b611e92838381511561255c5781518083602001fd5b8060405162461bcd60e51b81526004016107c191906125c6565b60005b83811015612591578181015183820152602001612579565b50506000910152565b600081518084526125b2816020860160208601612576565b601f01601f19169290920160200192915050565b602081526000610fab602083018461259a565b6020808252825182820181905260009190848201906040850190845b8181101561261a5783516001600160a01b0316835292840192918401916001016125f5565b50909695505050505050565b80356001600160a01b038116811461263d57600080fd5b919050565b80151581146122e657600080fd5b60008060006060848603121561266557600080fd5b61266e84612626565b9250602084013561267e81612642565b9150604084013561268e81612642565b809150509250925092565b600080604083850312156126ac57600080fd5b6126b583612626565b946020939093013593505050565b6000602082840312156126d557600080fd5b610fab82612626565b60008151808452602080850194506020840160005b8381101561270f578151875295820195908201906001016126f3565b509495945050505050565b602081526000610fab60208301846126de565b6000806000806080858703121561274357600080fd5b61274c85612626565b935061275a60208601612626565b93969395505050506040820135916060013590565b60008060006060848603121561278457600080fd5b61278d84612626565b925061279b60208501612626565b9150604084013590509250925092565b6001600160a01b0391909116815260200190565b600080600080600060a086880312156127d757600080fd5b6127e086612626565b9450602086013593506127f560408701612626565b925060608601359150608086013561280c81612642565b809150509295509295909350565b60ff60f81b8816815260e06020820152600061283960e083018961259a565b828103604084015261284b818961259a565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152905061287c81856126de565b9a9950505050505050505050565b634e487b7160e01b600052602160045260246000fd5b60608101600285106128c257634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b60ff811681146122e657600080fd5b600080600080600080600060e0888a03121561290c57600080fd5b61291588612626565b965061292360208901612626565b955060408801359450606088013593506080880135612941816128e2565b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561297157600080fd5b61297a83612626565b915061298860208401612626565b90509250929050565b600181811c908216806129a557607f821691505b602082108103611e3d57634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b600082612a7257634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612a8957600080fd5b8151610fab816128e2565b634e487b7160e01b600052603260045260246000fd5b6001600160f81b038181168382160190808211156108cb576108cb612a3f565b808201808211156108b1576108b1612a3f565b600060208284031215612aef57600080fd5b5051919050565b6001600160f81b038281168282160390808211156108cb576108cb612a3f565b80820281158282048414176108b1576108b1612a3f565b600060208284031215612b3f57600080fd5b8151610fab81612642565b60008251612b5c818460208701612576565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220be5b511594785a1a0271c4726fb1c791394c617b5ddbf009eb4ba2840dc4377e64736f6c63430008170033";
1062
1062
 
1063
1063
  type PendleAaveV3SYConstructorParams =
1064
1064
  | [signer?: Signer]