@pendle/core-v2 2.29.1 → 3.0.0-beta-1

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 (715) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  33. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  34. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  35. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.json +2 -2
  36. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  38. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  40. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.json +2 -2
  42. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  45. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  47. package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.json +2 -2
  50. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +2 -2
  52. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  56. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +2 -2
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +2 -2
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol/ComposableStablePreviewProxy.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol/ComposableStablePreviewV4.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol/ComposableStablePreviewV5.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +2 -2
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.json +2 -2
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.json +2 -2
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +2 -2
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
  103. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  106. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  108. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
  109. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.json +2 -2
  110. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
  111. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
  112. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.json +2 -2
  115. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
  117. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.json +2 -2
  119. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  121. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  122. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  123. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  124. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  126. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  128. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  129. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  130. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/FluxTokenLib.sol/FluxTokenLib.json +2 -2
  133. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
  134. package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +2 -2
  135. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  136. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  138. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/HLPPricingHelper.sol/HLPPricingHelper.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
  140. package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +2 -2
  141. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
  142. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +2 -2
  143. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
  144. package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
  145. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
  146. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
  147. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
  148. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +2 -2
  149. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  150. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  151. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
  152. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +2 -2
  153. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  154. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  155. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  156. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  157. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  158. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  159. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  160. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  161. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
  162. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
  163. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  164. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  165. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
  166. package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +2 -2
  167. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
  168. package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
  169. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
  170. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
  171. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
  172. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
  173. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
  174. package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
  175. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  176. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  177. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  178. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  179. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  180. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  181. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  182. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  183. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  184. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  185. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  186. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  187. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  188. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  189. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  190. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  191. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  192. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  193. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  194. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  195. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  196. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  197. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  198. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  199. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  200. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  201. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  202. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  203. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +9 -162
  204. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  205. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  206. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  207. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.json +2 -2
  208. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  209. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  210. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  211. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  212. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  213. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  214. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  215. package/build/artifacts/contracts/interfaces/Ankr/IAnkrBNB.sol/IAnkrBNB.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol/IAnkrLiquidStaking.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/Balancer/IPComposableStablePreview.sol/IPComposableStablePreview.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/Balancer/IVersion.sol/IVersion.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  245. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  246. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  247. package/build/artifacts/contracts/interfaces/Flux/IFluxErc20.sol/IFluxErc20.dbg.json +1 -1
  248. package/build/artifacts/contracts/interfaces/Flux/IFluxInterestRateModel.sol/IFluxInterestRateModel.dbg.json +1 -1
  249. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  250. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  251. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  252. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  253. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  254. package/build/artifacts/contracts/interfaces/HMX/IHLPStaking.sol/IHLPStaking.dbg.json +1 -1
  255. package/build/artifacts/contracts/interfaces/HMX/IHMXCalculator.sol/IHMXCalculator.dbg.json +1 -1
  256. package/build/artifacts/contracts/interfaces/HMX/IHMXCompounder.sol/IHMXCompounder.dbg.json +1 -1
  257. package/build/artifacts/contracts/interfaces/HMX/IHMXStaking.sol/IHMXStaking.dbg.json +1 -1
  258. package/build/artifacts/contracts/interfaces/HMX/IHMXVester.sol/IHMXVester.dbg.json +1 -1
  259. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  260. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  261. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  262. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  263. package/build/artifacts/contracts/interfaces/IDailLikePermit.sol/IDaiLikePermit.dbg.json +4 -0
  264. package/build/artifacts/contracts/interfaces/IDailLikePermit.sol/IDaiLikePermit.json +59 -0
  265. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  266. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  267. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  268. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  269. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  270. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  271. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  272. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  273. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +1050 -30
  274. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  275. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  276. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  277. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +0 -45
  278. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  279. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +0 -69
  280. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  281. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +734 -1
  282. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  283. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +0 -26
  284. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  285. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +688 -108
  286. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  287. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +688 -108
  288. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  289. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  290. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +2550 -331
  291. package/build/artifacts/contracts/interfaces/IPExternalRewardDistributor.sol/IPExternalRewardDistributor.dbg.json +1 -1
  292. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  293. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  294. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  295. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  296. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  297. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  298. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  299. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/ILimitOrderCallee.dbg.json +4 -0
  300. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/ILimitOrderCallee.json +77 -0
  301. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +4 -0
  302. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +779 -0
  303. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.dbg.json +4 -0
  304. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.json +544 -0
  305. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixinType.dbg.json +4 -0
  306. package/build/artifacts/contracts/{router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json → interfaces/IPLimitRouter.sol/IPOrderMixinType.json} +2 -2
  307. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  308. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  309. package/build/artifacts/contracts/interfaces/IPMarketFactoryV2.sol/IPMarketFactoryV2.dbg.json +1 -1
  310. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  311. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  312. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  313. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  314. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  315. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  316. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
  317. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  318. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.json +0 -25
  319. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  320. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -140
  321. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  322. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  323. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  324. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  325. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  326. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  327. package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.dbg.json +1 -1
  328. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  329. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  330. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  331. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  332. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  333. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  334. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  335. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  336. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  337. package/build/artifacts/contracts/interfaces/ISwETH.sol/ISwETH.dbg.json +1 -1
  338. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  339. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  340. package/build/artifacts/contracts/interfaces/Lybra/IEUSD.sol/IEUSD.dbg.json +1 -1
  341. package/build/artifacts/contracts/interfaces/Stader/IStaderStakeManager.sol/IStaderStakeManager.dbg.json +1 -1
  342. package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.dbg.json +1 -1
  343. package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.dbg.json +1 -1
  344. package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.dbg.json +1 -1
  345. package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.dbg.json +1 -1
  346. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +4 -0
  347. package/build/artifacts/contracts/{core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json → limit/LimitMathCore.sol/LimitMathCore.json} +4 -4
  348. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +4 -0
  349. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +1006 -0
  350. package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.dbg.json +4 -0
  351. package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.json +760 -0
  352. package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.dbg.json +4 -0
  353. package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.json +10 -0
  354. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +4 -0
  355. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.json +99 -0
  356. package/build/artifacts/contracts/limit/helpers/Permitable.sol/Permitable.dbg.json +4 -0
  357. package/build/artifacts/contracts/limit/helpers/Permitable.sol/Permitable.json +10 -0
  358. package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.dbg.json +4 -0
  359. package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.json +10 -0
  360. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  361. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  362. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  363. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  364. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  365. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  366. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  367. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  368. package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  369. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  370. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  371. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  372. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.dbg.json +1 -1
  373. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.json +2 -2
  374. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.dbg.json +1 -1
  375. package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.json +2 -2
  376. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  377. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
  378. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  379. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
  380. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  381. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
  382. package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
  383. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  384. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  385. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  386. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
  387. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  388. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
  389. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +1 -1
  390. package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +2 -2
  391. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  392. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -171
  393. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  394. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  395. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  396. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  397. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  398. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  399. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  400. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -47
  401. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  402. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -103
  403. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  404. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -28
  405. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  406. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  407. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  408. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  409. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  410. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
  411. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
  412. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
  413. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
  414. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
  415. package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
  416. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
  417. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
  418. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
  419. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  420. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +1052 -32
  421. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  422. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +878 -3
  423. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  424. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +690 -163
  425. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  426. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +690 -169
  427. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  428. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -18
  429. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  430. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +3 -33
  431. package/build/artifacts/contracts/router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.dbg.json +4 -0
  432. package/build/artifacts/contracts/{interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json → router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.json} +113 -352
  433. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +4 -0
  434. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.json +10 -0
  435. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  436. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +0 -59
  437. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  438. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  439. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  440. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  441. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  442. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  443. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  444. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  445. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  446. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
  447. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  448. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
  449. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
  450. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.json +2 -2
  451. package/build/artifacts/contracts/router/swap-aggregator/oneinch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
  452. package/build/artifacts/contracts/router/swap-aggregator/oneinch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  453. package/contracts/core/Market/PendleMarketFactory.sol +21 -27
  454. package/contracts/core/libraries/Errors.sol +4 -21
  455. package/contracts/core/libraries/TokenHelper.sol +7 -7
  456. package/contracts/interfaces/IDailLikePermit.sol +17 -0
  457. package/contracts/interfaces/IPActionAddRemoveLiq.sol +16 -18
  458. package/contracts/interfaces/IPActionMarketCoreStatic.sol +20 -118
  459. package/contracts/interfaces/IPActionMintRedeemStatic.sol +17 -47
  460. package/contracts/interfaces/IPActionMisc.sol +88 -1
  461. package/contracts/interfaces/IPActionStorageStatic.sol +1 -8
  462. package/contracts/interfaces/IPActionSwapPT.sol +9 -20
  463. package/contracts/interfaces/IPActionSwapYT.sol +10 -21
  464. package/contracts/interfaces/IPAllAction.sol +0 -2
  465. package/contracts/interfaces/IPAllActionType.sol +33 -0
  466. package/contracts/interfaces/IPLimitRouter.sol +162 -0
  467. package/contracts/interfaces/IPMarketFactory.sol +2 -0
  468. package/contracts/interfaces/IPRouterHelper.sol +11 -45
  469. package/contracts/limit/LimitMathCore.sol +208 -0
  470. package/contracts/limit/PendleLimitRouter.sol +72 -0
  471. package/contracts/limit/PendleOrderMixin.sol +526 -0
  472. package/contracts/limit/helpers/ArgumentsDecoder.sol +47 -0
  473. package/contracts/limit/helpers/NonceManager.sol +28 -0
  474. package/contracts/limit/helpers/Permitable.sol +48 -0
  475. package/contracts/limit/helpers/RevertReasonParser.sol +75 -0
  476. package/contracts/offchain-helpers/AddressProvider.sol +1 -1
  477. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +5 -18
  478. package/contracts/offchain-helpers/Broadcaster.sol +3 -3
  479. package/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol +6 -13
  480. package/contracts/offchain-helpers/ChainlinkRelayerGelato.sol +5 -4
  481. package/contracts/offchain-helpers/EmptyUUPS.sol +2 -1
  482. package/contracts/offchain-helpers/PendleMulticallV1.sol +9 -11
  483. package/contracts/offchain-helpers/PendleMulticallV2.sol +1 -1
  484. package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +2 -19
  485. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +1 -1
  486. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +5 -18
  487. package/contracts/offchain-helpers/router-static/base/ActionLimitOrdersStatic.sol +145 -0
  488. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +29 -82
  489. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +82 -288
  490. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +37 -108
  491. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +4 -16
  492. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +8 -10
  493. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +1 -4
  494. package/contracts/router/ActionAddRemoveLiq.sol +225 -440
  495. package/contracts/router/ActionMisc.sol +134 -14
  496. package/contracts/router/ActionSwapPT.sol +35 -195
  497. package/contracts/router/ActionSwapYT.sol +127 -288
  498. package/contracts/router/PendleRouter.sol +104 -128
  499. package/contracts/router/PendleRouterHelper.sol +100 -186
  500. package/contracts/router/base/ActionBase.sol +238 -0
  501. package/contracts/router/base/ActionBaseCallback.sol +25 -124
  502. package/contracts/router/base/CallbackHelper.sol +31 -110
  503. package/contracts/router/base/MarketApproxLib.sol +143 -176
  504. package/contracts/router/swap-aggregator/PendleSwap.sol +9 -20
  505. package/deployments/42161-core.json +4 -2
  506. package/package.json +4 -4
  507. package/typechain-types/ActionAddRemoveLiq.ts +151 -26
  508. package/typechain-types/ActionLimitOrdersStatic.ts +262 -0
  509. package/typechain-types/ActionMarketCoreStatic.ts +18 -63
  510. package/typechain-types/ActionMintRedeem.ts +4 -10
  511. package/typechain-types/ActionMintRedeemStatic.ts +10 -102
  512. package/typechain-types/ActionMisc.ts +732 -11
  513. package/typechain-types/ActionStorageStatic.ts +0 -55
  514. package/typechain-types/ActionSwapPT.ts +119 -121
  515. package/typechain-types/ActionSwapYT.ts +124 -126
  516. package/typechain-types/AuraWethVethSYUpg.ts +1547 -0
  517. package/typechain-types/EIP712Upgradeable.ts +68 -0
  518. package/typechain-types/IDaiLikePermit.ts +146 -0
  519. package/typechain-types/IKyberElasticFactory.ts +734 -0
  520. package/typechain-types/IKyberElasticPool.ts +514 -0
  521. package/typechain-types/IKyberElasticRouter.ts +315 -0
  522. package/typechain-types/IKyberLiquidityMining.ts +968 -0
  523. package/typechain-types/IKyberMathHelper.ts +231 -0
  524. package/typechain-types/IKyberPositionManager.ts +773 -0
  525. package/typechain-types/ILimitOrderCallee.ts +179 -0
  526. package/typechain-types/IPActionAddRemoveLiq.ts +151 -26
  527. package/typechain-types/IPActionMarketCoreStatic.ts +18 -63
  528. package/typechain-types/IPActionMintRedeem.ts +4 -10
  529. package/typechain-types/IPActionMintRedeemStatic.ts +10 -102
  530. package/typechain-types/IPActionMisc.ts +688 -11
  531. package/typechain-types/IPActionStorageStatic.ts +0 -55
  532. package/typechain-types/IPActionSwapPT.ts +119 -121
  533. package/typechain-types/IPActionSwapYT.ts +124 -126
  534. package/typechain-types/IPAllAction.ts +355 -284
  535. package/typechain-types/IPLimitRouter.ts +702 -0
  536. package/typechain-types/IPOrderMixin.ts +479 -0
  537. package/typechain-types/IPRouterHelper.ts +6 -19
  538. package/typechain-types/IPRouterStatic.ts +28 -220
  539. package/typechain-types/KyberMathHelper.ts +604 -0
  540. package/typechain-types/KyberNftManagerBaseUpg.ts +148 -0
  541. package/typechain-types/NonceManager.ts +209 -0
  542. package/typechain-types/PendleAuraBalancerStableLPSYV3Upg.ts +1512 -0
  543. package/typechain-types/PendleERC20PermitUpg.ts +452 -0
  544. package/typechain-types/PendleERC20Upg.ts +348 -0
  545. package/typechain-types/PendleKyberElasticSY.ts +1583 -0
  546. package/typechain-types/PendleLimitRouter.ts +1041 -0
  547. package/typechain-types/PendleOrderMixin.ts +818 -0
  548. package/typechain-types/PendleRouterHelper.ts +7 -23
  549. package/typechain-types/PredicateHelper.ts +298 -0
  550. package/typechain-types/RouterV2InterfaceForRouterHelper.ts +479 -0
  551. package/typechain-types/SYBaseUpg.ts +1205 -0
  552. package/typechain-types/SYBaseWithRewardsUpg.ts +1298 -0
  553. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1051 -31
  554. package/typechain-types/factories/ActionBaseCallback__factory.ts +0 -59
  555. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  556. package/typechain-types/factories/ActionLimitOrdersStatic__factory.ts +499 -0
  557. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  558. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -46
  559. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -102
  560. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -21
  561. package/typechain-types/factories/ActionMisc__factory.ts +877 -2
  562. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -27
  563. package/typechain-types/factories/ActionSwapPT__factory.ts +689 -162
  564. package/typechain-types/factories/ActionSwapYT__factory.ts +692 -186
  565. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  566. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  567. package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
  568. package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
  569. package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1215 -0
  570. package/typechain-types/factories/AutomationBase__factory.ts +1 -1
  571. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  572. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  573. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  574. package/typechain-types/factories/CamelotRewardHelper__factory.ts +1 -1
  575. package/typechain-types/factories/CamelotV1VolatilePreview__factory.ts +1 -1
  576. package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +1 -1
  577. package/typechain-types/factories/ChainlinkRelayerGelato__factory.ts +1 -1
  578. package/typechain-types/factories/EIP712Upgradeable__factory.ts +39 -0
  579. package/typechain-types/factories/ERC20__factory.ts +1 -1
  580. package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
  581. package/typechain-types/factories/Errors__factory.ts +8 -161
  582. package/typechain-types/factories/IDaiLikePermit__factory.ts +74 -0
  583. package/typechain-types/factories/IKyberElasticFactory__factory.ts +455 -0
  584. package/typechain-types/factories/IKyberElasticPool__factory.ts +315 -0
  585. package/typechain-types/factories/IKyberElasticRouter__factory.ts +240 -0
  586. package/typechain-types/factories/IKyberLiquidityMining__factory.ts +913 -0
  587. package/typechain-types/factories/IKyberMathHelper__factory.ts +143 -0
  588. package/typechain-types/factories/IKyberPositionManager__factory.ts +633 -0
  589. package/typechain-types/factories/ILimitOrderCallee__factory.ts +92 -0
  590. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +1050 -30
  591. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +0 -45
  592. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +0 -69
  593. package/typechain-types/factories/IPActionMintRedeem__factory.ts +0 -20
  594. package/typechain-types/factories/IPActionMisc__factory.ts +734 -1
  595. package/typechain-types/factories/IPActionStorageStatic__factory.ts +0 -26
  596. package/typechain-types/factories/IPActionSwapPT__factory.ts +688 -108
  597. package/typechain-types/factories/IPActionSwapYT__factory.ts +688 -108
  598. package/typechain-types/factories/IPAllAction__factory.ts +2550 -331
  599. package/typechain-types/factories/IPLimitRouter__factory.ts +791 -0
  600. package/typechain-types/factories/IPOrderMixin__factory.ts +556 -0
  601. package/typechain-types/factories/IPRouterHelper__factory.ts +0 -25
  602. package/typechain-types/factories/IPRouterStatic__factory.ts +0 -140
  603. package/typechain-types/factories/KyberMathHelper__factory.ts +430 -0
  604. package/typechain-types/factories/KyberNftManagerBaseUpg__factory.ts +101 -0
  605. package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
  606. package/typechain-types/factories/LinearPreview__factory.ts +1 -1
  607. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  608. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  609. package/typechain-types/factories/NonceManager__factory.ts +149 -0
  610. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  611. package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
  612. package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
  613. package/typechain-types/factories/PendleAuraBalancerStableLPSYV3Upg__factory.ts +1160 -0
  614. package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
  615. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
  616. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
  617. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
  618. package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1 -1
  619. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
  620. package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
  621. package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
  622. package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
  623. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +1 -1
  624. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  625. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  626. package/typechain-types/factories/PendleERC20PermitUpg__factory.ts +340 -0
  627. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  628. package/typechain-types/factories/PendleERC20Upg__factory.ts +261 -0
  629. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  630. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  631. package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
  632. package/typechain-types/factories/PendleEUSDSY__factory.ts +1 -1
  633. package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
  634. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  635. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  636. package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1 -1
  637. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  638. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  639. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  640. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  641. package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
  642. package/typechain-types/factories/PendleKyberElasticSY__factory.ts +1302 -0
  643. package/typechain-types/factories/PendleLimitRouter__factory.ts +1064 -0
  644. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  645. package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
  646. package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1 -1
  647. package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +1 -1
  648. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  649. package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
  650. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  651. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  652. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  653. package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
  654. package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
  655. package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
  656. package/typechain-types/factories/PendleOrderMixin__factory.ts +775 -0
  657. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  658. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  659. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  660. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  661. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  662. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  663. package/typechain-types/factories/PendleRouterHelper__factory.ts +2 -32
  664. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  665. package/typechain-types/factories/PendleRouter__factory.ts +1 -21
  666. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  667. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  668. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  669. package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
  670. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  671. package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
  672. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  673. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  674. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  675. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  676. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  677. package/typechain-types/factories/PredicateHelper__factory.ts +218 -0
  678. package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
  679. package/typechain-types/factories/RouterV2InterfaceForRouterHelper__factory.ts +487 -0
  680. package/typechain-types/factories/SAPE__factory.ts +1 -1
  681. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -170
  682. package/typechain-types/factories/SYBaseUpg__factory.ts +939 -0
  683. package/typechain-types/factories/SYBaseWithRewardsUpg__factory.ts +1012 -0
  684. package/typechain-types/factories/SwETHSY__factory.ts +1 -1
  685. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  686. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  687. package/typechain-types/hardhat.d.ts +81 -63
  688. package/typechain-types/index.ts +18 -14
  689. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +0 -4
  690. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +0 -642
  691. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +0 -4
  692. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +0 -521
  693. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +0 -4
  694. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +0 -4
  695. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +0 -4
  696. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.json +0 -321
  697. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +0 -4
  698. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.json +0 -92
  699. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +0 -4
  700. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.json +0 -34
  701. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +0 -4
  702. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +0 -125
  703. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +0 -4
  704. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +0 -753
  705. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +0 -4
  706. package/contracts/core/BulkSeller/BulkSeller.sol +0 -233
  707. package/contracts/core/BulkSeller/BulkSellerFactory.sol +0 -85
  708. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +0 -139
  709. package/contracts/interfaces/IPActionMintRedeem.sol +0 -108
  710. package/contracts/interfaces/IPBulkSeller.sol +0 -48
  711. package/contracts/interfaces/IPBulkSellerFactory.sol +0 -12
  712. package/contracts/interfaces/IPBulkSellerSYCallback.sol +0 -6
  713. package/contracts/offchain-helpers/BulkSellerOffchain.sol +0 -69
  714. package/contracts/router/ActionMintRedeem.sol +0 -134
  715. package/contracts/router/base/ActionBaseMintRedeem.sol +0 -203
@@ -0,0 +1,1006 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PendleLimitRouter",
4
+ "sourceName": "contracts/limit/PendleLimitRouter.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_WNATIVE",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "anonymous": false,
19
+ "inputs": [
20
+ {
21
+ "indexed": true,
22
+ "internalType": "enum IPOrderMixinType.OrderType",
23
+ "name": "orderType",
24
+ "type": "uint8"
25
+ },
26
+ {
27
+ "indexed": true,
28
+ "internalType": "address",
29
+ "name": "YT",
30
+ "type": "address"
31
+ },
32
+ {
33
+ "indexed": true,
34
+ "internalType": "address",
35
+ "name": "taker",
36
+ "type": "address"
37
+ },
38
+ {
39
+ "indexed": false,
40
+ "internalType": "uint256",
41
+ "name": "netOutputToTaker",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "indexed": false,
46
+ "internalType": "uint256",
47
+ "name": "netInputFromTaker",
48
+ "type": "uint256"
49
+ },
50
+ {
51
+ "indexed": false,
52
+ "internalType": "uint256",
53
+ "name": "totalFee",
54
+ "type": "uint256"
55
+ },
56
+ {
57
+ "indexed": false,
58
+ "internalType": "uint256",
59
+ "name": "rawTotalMaking",
60
+ "type": "uint256"
61
+ },
62
+ {
63
+ "indexed": false,
64
+ "internalType": "uint256",
65
+ "name": "rawTotalTaking",
66
+ "type": "uint256"
67
+ }
68
+ ],
69
+ "name": "FlashFill",
70
+ "type": "event"
71
+ },
72
+ {
73
+ "anonymous": false,
74
+ "inputs": [
75
+ {
76
+ "indexed": false,
77
+ "internalType": "uint8",
78
+ "name": "version",
79
+ "type": "uint8"
80
+ }
81
+ ],
82
+ "name": "Initialized",
83
+ "type": "event"
84
+ },
85
+ {
86
+ "anonymous": false,
87
+ "inputs": [
88
+ {
89
+ "indexed": true,
90
+ "internalType": "address",
91
+ "name": "maker",
92
+ "type": "address"
93
+ },
94
+ {
95
+ "indexed": false,
96
+ "internalType": "uint256",
97
+ "name": "oldNonce",
98
+ "type": "uint256"
99
+ },
100
+ {
101
+ "indexed": false,
102
+ "internalType": "uint256",
103
+ "name": "newNonce",
104
+ "type": "uint256"
105
+ }
106
+ ],
107
+ "name": "NonceIncreased",
108
+ "type": "event"
109
+ },
110
+ {
111
+ "anonymous": false,
112
+ "inputs": [
113
+ {
114
+ "indexed": true,
115
+ "internalType": "enum IPOrderMixinType.OrderType",
116
+ "name": "orderType",
117
+ "type": "uint8"
118
+ },
119
+ {
120
+ "indexed": true,
121
+ "internalType": "address",
122
+ "name": "YT",
123
+ "type": "address"
124
+ },
125
+ {
126
+ "indexed": true,
127
+ "internalType": "address",
128
+ "name": "taker",
129
+ "type": "address"
130
+ },
131
+ {
132
+ "indexed": false,
133
+ "internalType": "uint256",
134
+ "name": "actualMaking",
135
+ "type": "uint256"
136
+ },
137
+ {
138
+ "indexed": false,
139
+ "internalType": "uint256",
140
+ "name": "actualTaking",
141
+ "type": "uint256"
142
+ },
143
+ {
144
+ "indexed": false,
145
+ "internalType": "uint256",
146
+ "name": "totalFee",
147
+ "type": "uint256"
148
+ },
149
+ {
150
+ "indexed": false,
151
+ "internalType": "uint256",
152
+ "name": "rawTotalMaking",
153
+ "type": "uint256"
154
+ },
155
+ {
156
+ "indexed": false,
157
+ "internalType": "uint256",
158
+ "name": "rawTotalTaking",
159
+ "type": "uint256"
160
+ }
161
+ ],
162
+ "name": "NormalFill",
163
+ "type": "event"
164
+ },
165
+ {
166
+ "anonymous": false,
167
+ "inputs": [
168
+ {
169
+ "indexed": true,
170
+ "internalType": "address",
171
+ "name": "maker",
172
+ "type": "address"
173
+ },
174
+ {
175
+ "indexed": true,
176
+ "internalType": "bytes32",
177
+ "name": "orderHash",
178
+ "type": "bytes32"
179
+ },
180
+ {
181
+ "indexed": false,
182
+ "internalType": "uint256",
183
+ "name": "remaining",
184
+ "type": "uint256"
185
+ }
186
+ ],
187
+ "name": "OrderCanceled",
188
+ "type": "event"
189
+ },
190
+ {
191
+ "anonymous": false,
192
+ "inputs": [
193
+ {
194
+ "indexed": true,
195
+ "internalType": "bytes32",
196
+ "name": "orderHash",
197
+ "type": "bytes32"
198
+ },
199
+ {
200
+ "indexed": false,
201
+ "internalType": "uint256",
202
+ "name": "remaining",
203
+ "type": "uint256"
204
+ }
205
+ ],
206
+ "name": "OrderRemainingUpdated",
207
+ "type": "event"
208
+ },
209
+ {
210
+ "anonymous": false,
211
+ "inputs": [
212
+ {
213
+ "indexed": true,
214
+ "internalType": "address",
215
+ "name": "previousOwner",
216
+ "type": "address"
217
+ },
218
+ {
219
+ "indexed": true,
220
+ "internalType": "address",
221
+ "name": "newOwner",
222
+ "type": "address"
223
+ }
224
+ ],
225
+ "name": "OwnershipTransferred",
226
+ "type": "event"
227
+ },
228
+ {
229
+ "inputs": [],
230
+ "name": "DOMAIN_SEPARATOR",
231
+ "outputs": [
232
+ {
233
+ "internalType": "bytes32",
234
+ "name": "",
235
+ "type": "bytes32"
236
+ }
237
+ ],
238
+ "stateMutability": "view",
239
+ "type": "function"
240
+ },
241
+ {
242
+ "inputs": [
243
+ {
244
+ "internalType": "uint8",
245
+ "name": "amount",
246
+ "type": "uint8"
247
+ }
248
+ ],
249
+ "name": "advanceNonce",
250
+ "outputs": [],
251
+ "stateMutability": "nonpayable",
252
+ "type": "function"
253
+ },
254
+ {
255
+ "inputs": [
256
+ {
257
+ "components": [
258
+ {
259
+ "internalType": "address[]",
260
+ "name": "tokens",
261
+ "type": "address[]"
262
+ },
263
+ {
264
+ "internalType": "address",
265
+ "name": "spender",
266
+ "type": "address"
267
+ }
268
+ ],
269
+ "internalType": "struct IPLimitRouter.MultiApproval[]",
270
+ "name": "arr",
271
+ "type": "tuple[]"
272
+ }
273
+ ],
274
+ "name": "approveInf",
275
+ "outputs": [],
276
+ "stateMutability": "nonpayable",
277
+ "type": "function"
278
+ },
279
+ {
280
+ "inputs": [
281
+ {
282
+ "components": [
283
+ {
284
+ "internalType": "uint256",
285
+ "name": "salt",
286
+ "type": "uint256"
287
+ },
288
+ {
289
+ "internalType": "uint256",
290
+ "name": "expiry",
291
+ "type": "uint256"
292
+ },
293
+ {
294
+ "internalType": "uint256",
295
+ "name": "nonce",
296
+ "type": "uint256"
297
+ },
298
+ {
299
+ "internalType": "enum IPOrderMixinType.OrderType",
300
+ "name": "orderType",
301
+ "type": "uint8"
302
+ },
303
+ {
304
+ "internalType": "address",
305
+ "name": "token",
306
+ "type": "address"
307
+ },
308
+ {
309
+ "internalType": "address",
310
+ "name": "YT",
311
+ "type": "address"
312
+ },
313
+ {
314
+ "internalType": "address",
315
+ "name": "maker",
316
+ "type": "address"
317
+ },
318
+ {
319
+ "internalType": "address",
320
+ "name": "receiver",
321
+ "type": "address"
322
+ },
323
+ {
324
+ "internalType": "uint256",
325
+ "name": "makingAmount",
326
+ "type": "uint256"
327
+ },
328
+ {
329
+ "internalType": "uint256",
330
+ "name": "lnImpliedRate",
331
+ "type": "uint256"
332
+ },
333
+ {
334
+ "internalType": "bytes",
335
+ "name": "permit",
336
+ "type": "bytes"
337
+ }
338
+ ],
339
+ "internalType": "struct Order[]",
340
+ "name": "orders",
341
+ "type": "tuple[]"
342
+ }
343
+ ],
344
+ "name": "cancelBatch",
345
+ "outputs": [],
346
+ "stateMutability": "nonpayable",
347
+ "type": "function"
348
+ },
349
+ {
350
+ "inputs": [
351
+ {
352
+ "components": [
353
+ {
354
+ "internalType": "uint256",
355
+ "name": "salt",
356
+ "type": "uint256"
357
+ },
358
+ {
359
+ "internalType": "uint256",
360
+ "name": "expiry",
361
+ "type": "uint256"
362
+ },
363
+ {
364
+ "internalType": "uint256",
365
+ "name": "nonce",
366
+ "type": "uint256"
367
+ },
368
+ {
369
+ "internalType": "enum IPOrderMixinType.OrderType",
370
+ "name": "orderType",
371
+ "type": "uint8"
372
+ },
373
+ {
374
+ "internalType": "address",
375
+ "name": "token",
376
+ "type": "address"
377
+ },
378
+ {
379
+ "internalType": "address",
380
+ "name": "YT",
381
+ "type": "address"
382
+ },
383
+ {
384
+ "internalType": "address",
385
+ "name": "maker",
386
+ "type": "address"
387
+ },
388
+ {
389
+ "internalType": "address",
390
+ "name": "receiver",
391
+ "type": "address"
392
+ },
393
+ {
394
+ "internalType": "uint256",
395
+ "name": "makingAmount",
396
+ "type": "uint256"
397
+ },
398
+ {
399
+ "internalType": "uint256",
400
+ "name": "lnImpliedRate",
401
+ "type": "uint256"
402
+ },
403
+ {
404
+ "internalType": "bytes",
405
+ "name": "permit",
406
+ "type": "bytes"
407
+ }
408
+ ],
409
+ "internalType": "struct Order",
410
+ "name": "order",
411
+ "type": "tuple"
412
+ }
413
+ ],
414
+ "name": "cancelSingle",
415
+ "outputs": [],
416
+ "stateMutability": "nonpayable",
417
+ "type": "function"
418
+ },
419
+ {
420
+ "inputs": [],
421
+ "name": "claimOwnership",
422
+ "outputs": [],
423
+ "stateMutability": "nonpayable",
424
+ "type": "function"
425
+ },
426
+ {
427
+ "inputs": [],
428
+ "name": "feeRecipient",
429
+ "outputs": [
430
+ {
431
+ "internalType": "address",
432
+ "name": "",
433
+ "type": "address"
434
+ }
435
+ ],
436
+ "stateMutability": "view",
437
+ "type": "function"
438
+ },
439
+ {
440
+ "inputs": [
441
+ {
442
+ "components": [
443
+ {
444
+ "components": [
445
+ {
446
+ "internalType": "uint256",
447
+ "name": "salt",
448
+ "type": "uint256"
449
+ },
450
+ {
451
+ "internalType": "uint256",
452
+ "name": "expiry",
453
+ "type": "uint256"
454
+ },
455
+ {
456
+ "internalType": "uint256",
457
+ "name": "nonce",
458
+ "type": "uint256"
459
+ },
460
+ {
461
+ "internalType": "enum IPOrderMixinType.OrderType",
462
+ "name": "orderType",
463
+ "type": "uint8"
464
+ },
465
+ {
466
+ "internalType": "address",
467
+ "name": "token",
468
+ "type": "address"
469
+ },
470
+ {
471
+ "internalType": "address",
472
+ "name": "YT",
473
+ "type": "address"
474
+ },
475
+ {
476
+ "internalType": "address",
477
+ "name": "maker",
478
+ "type": "address"
479
+ },
480
+ {
481
+ "internalType": "address",
482
+ "name": "receiver",
483
+ "type": "address"
484
+ },
485
+ {
486
+ "internalType": "uint256",
487
+ "name": "makingAmount",
488
+ "type": "uint256"
489
+ },
490
+ {
491
+ "internalType": "uint256",
492
+ "name": "lnImpliedRate",
493
+ "type": "uint256"
494
+ },
495
+ {
496
+ "internalType": "bytes",
497
+ "name": "permit",
498
+ "type": "bytes"
499
+ }
500
+ ],
501
+ "internalType": "struct Order",
502
+ "name": "order",
503
+ "type": "tuple"
504
+ },
505
+ {
506
+ "internalType": "bytes",
507
+ "name": "signature",
508
+ "type": "bytes"
509
+ },
510
+ {
511
+ "internalType": "uint256",
512
+ "name": "makingAmount",
513
+ "type": "uint256"
514
+ }
515
+ ],
516
+ "internalType": "struct FillOrderParams[]",
517
+ "name": "params",
518
+ "type": "tuple[]"
519
+ },
520
+ {
521
+ "internalType": "address",
522
+ "name": "receiver",
523
+ "type": "address"
524
+ },
525
+ {
526
+ "internalType": "uint256",
527
+ "name": "maxInput",
528
+ "type": "uint256"
529
+ },
530
+ {
531
+ "internalType": "bytes",
532
+ "name": "callback",
533
+ "type": "bytes"
534
+ }
535
+ ],
536
+ "name": "flashFill",
537
+ "outputs": [
538
+ {
539
+ "internalType": "uint256",
540
+ "name": "netOutputToTaker",
541
+ "type": "uint256"
542
+ },
543
+ {
544
+ "internalType": "uint256",
545
+ "name": "netInputFromTaker",
546
+ "type": "uint256"
547
+ },
548
+ {
549
+ "internalType": "uint256",
550
+ "name": "totalFee",
551
+ "type": "uint256"
552
+ }
553
+ ],
554
+ "stateMutability": "nonpayable",
555
+ "type": "function"
556
+ },
557
+ {
558
+ "inputs": [
559
+ {
560
+ "internalType": "address",
561
+ "name": "YT",
562
+ "type": "address"
563
+ }
564
+ ],
565
+ "name": "getOnchainParams",
566
+ "outputs": [
567
+ {
568
+ "components": [
569
+ {
570
+ "internalType": "uint256",
571
+ "name": "timeToExpiry",
572
+ "type": "uint256"
573
+ },
574
+ {
575
+ "internalType": "uint256",
576
+ "name": "pyIndex",
577
+ "type": "uint256"
578
+ },
579
+ {
580
+ "internalType": "address",
581
+ "name": "feeRecipient",
582
+ "type": "address"
583
+ },
584
+ {
585
+ "internalType": "uint256",
586
+ "name": "lnFeeRateRoot",
587
+ "type": "uint256"
588
+ }
589
+ ],
590
+ "internalType": "struct IPOrderMixinType.OnchainParams",
591
+ "name": "",
592
+ "type": "tuple"
593
+ }
594
+ ],
595
+ "stateMutability": "nonpayable",
596
+ "type": "function"
597
+ },
598
+ {
599
+ "inputs": [
600
+ {
601
+ "components": [
602
+ {
603
+ "internalType": "uint256",
604
+ "name": "salt",
605
+ "type": "uint256"
606
+ },
607
+ {
608
+ "internalType": "uint256",
609
+ "name": "expiry",
610
+ "type": "uint256"
611
+ },
612
+ {
613
+ "internalType": "uint256",
614
+ "name": "nonce",
615
+ "type": "uint256"
616
+ },
617
+ {
618
+ "internalType": "enum IPOrderMixinType.OrderType",
619
+ "name": "orderType",
620
+ "type": "uint8"
621
+ },
622
+ {
623
+ "internalType": "address",
624
+ "name": "token",
625
+ "type": "address"
626
+ },
627
+ {
628
+ "internalType": "address",
629
+ "name": "YT",
630
+ "type": "address"
631
+ },
632
+ {
633
+ "internalType": "address",
634
+ "name": "maker",
635
+ "type": "address"
636
+ },
637
+ {
638
+ "internalType": "address",
639
+ "name": "receiver",
640
+ "type": "address"
641
+ },
642
+ {
643
+ "internalType": "uint256",
644
+ "name": "makingAmount",
645
+ "type": "uint256"
646
+ },
647
+ {
648
+ "internalType": "uint256",
649
+ "name": "lnImpliedRate",
650
+ "type": "uint256"
651
+ },
652
+ {
653
+ "internalType": "bytes",
654
+ "name": "permit",
655
+ "type": "bytes"
656
+ }
657
+ ],
658
+ "internalType": "struct Order",
659
+ "name": "order",
660
+ "type": "tuple"
661
+ }
662
+ ],
663
+ "name": "hashOrder",
664
+ "outputs": [
665
+ {
666
+ "internalType": "bytes32",
667
+ "name": "",
668
+ "type": "bytes32"
669
+ }
670
+ ],
671
+ "stateMutability": "view",
672
+ "type": "function"
673
+ },
674
+ {
675
+ "inputs": [],
676
+ "name": "increaseNonce",
677
+ "outputs": [],
678
+ "stateMutability": "nonpayable",
679
+ "type": "function"
680
+ },
681
+ {
682
+ "inputs": [
683
+ {
684
+ "internalType": "address",
685
+ "name": "_feeRecipient",
686
+ "type": "address"
687
+ },
688
+ {
689
+ "internalType": "uint96",
690
+ "name": "_lnFeeRateRoot",
691
+ "type": "uint96"
692
+ }
693
+ ],
694
+ "name": "initialize",
695
+ "outputs": [],
696
+ "stateMutability": "nonpayable",
697
+ "type": "function"
698
+ },
699
+ {
700
+ "inputs": [],
701
+ "name": "lnFeeRateRoot",
702
+ "outputs": [
703
+ {
704
+ "internalType": "uint96",
705
+ "name": "",
706
+ "type": "uint96"
707
+ }
708
+ ],
709
+ "stateMutability": "view",
710
+ "type": "function"
711
+ },
712
+ {
713
+ "inputs": [
714
+ {
715
+ "internalType": "address",
716
+ "name": "",
717
+ "type": "address"
718
+ }
719
+ ],
720
+ "name": "nonce",
721
+ "outputs": [
722
+ {
723
+ "internalType": "uint256",
724
+ "name": "",
725
+ "type": "uint256"
726
+ }
727
+ ],
728
+ "stateMutability": "view",
729
+ "type": "function"
730
+ },
731
+ {
732
+ "inputs": [
733
+ {
734
+ "internalType": "address",
735
+ "name": "makerAddress",
736
+ "type": "address"
737
+ },
738
+ {
739
+ "internalType": "uint256",
740
+ "name": "makerNonce",
741
+ "type": "uint256"
742
+ }
743
+ ],
744
+ "name": "nonceEquals",
745
+ "outputs": [
746
+ {
747
+ "internalType": "bool",
748
+ "name": "",
749
+ "type": "bool"
750
+ }
751
+ ],
752
+ "stateMutability": "view",
753
+ "type": "function"
754
+ },
755
+ {
756
+ "inputs": [
757
+ {
758
+ "components": [
759
+ {
760
+ "components": [
761
+ {
762
+ "internalType": "uint256",
763
+ "name": "salt",
764
+ "type": "uint256"
765
+ },
766
+ {
767
+ "internalType": "uint256",
768
+ "name": "expiry",
769
+ "type": "uint256"
770
+ },
771
+ {
772
+ "internalType": "uint256",
773
+ "name": "nonce",
774
+ "type": "uint256"
775
+ },
776
+ {
777
+ "internalType": "enum IPOrderMixinType.OrderType",
778
+ "name": "orderType",
779
+ "type": "uint8"
780
+ },
781
+ {
782
+ "internalType": "address",
783
+ "name": "token",
784
+ "type": "address"
785
+ },
786
+ {
787
+ "internalType": "address",
788
+ "name": "YT",
789
+ "type": "address"
790
+ },
791
+ {
792
+ "internalType": "address",
793
+ "name": "maker",
794
+ "type": "address"
795
+ },
796
+ {
797
+ "internalType": "address",
798
+ "name": "receiver",
799
+ "type": "address"
800
+ },
801
+ {
802
+ "internalType": "uint256",
803
+ "name": "makingAmount",
804
+ "type": "uint256"
805
+ },
806
+ {
807
+ "internalType": "uint256",
808
+ "name": "lnImpliedRate",
809
+ "type": "uint256"
810
+ },
811
+ {
812
+ "internalType": "bytes",
813
+ "name": "permit",
814
+ "type": "bytes"
815
+ }
816
+ ],
817
+ "internalType": "struct Order",
818
+ "name": "order",
819
+ "type": "tuple"
820
+ },
821
+ {
822
+ "internalType": "bytes",
823
+ "name": "signature",
824
+ "type": "bytes"
825
+ },
826
+ {
827
+ "internalType": "uint256",
828
+ "name": "makingAmount",
829
+ "type": "uint256"
830
+ }
831
+ ],
832
+ "internalType": "struct FillOrderParams[]",
833
+ "name": "params",
834
+ "type": "tuple[]"
835
+ },
836
+ {
837
+ "internalType": "address",
838
+ "name": "receiver",
839
+ "type": "address"
840
+ },
841
+ {
842
+ "internalType": "uint256",
843
+ "name": "maxTaking",
844
+ "type": "uint256"
845
+ },
846
+ {
847
+ "internalType": "bytes",
848
+ "name": "callback",
849
+ "type": "bytes"
850
+ }
851
+ ],
852
+ "name": "normalFill",
853
+ "outputs": [
854
+ {
855
+ "internalType": "uint256",
856
+ "name": "actualMaking",
857
+ "type": "uint256"
858
+ },
859
+ {
860
+ "internalType": "uint256",
861
+ "name": "actualTaking",
862
+ "type": "uint256"
863
+ },
864
+ {
865
+ "internalType": "uint256",
866
+ "name": "totalFee",
867
+ "type": "uint256"
868
+ }
869
+ ],
870
+ "stateMutability": "nonpayable",
871
+ "type": "function"
872
+ },
873
+ {
874
+ "inputs": [],
875
+ "name": "owner",
876
+ "outputs": [
877
+ {
878
+ "internalType": "address",
879
+ "name": "",
880
+ "type": "address"
881
+ }
882
+ ],
883
+ "stateMutability": "view",
884
+ "type": "function"
885
+ },
886
+ {
887
+ "inputs": [],
888
+ "name": "pendingOwner",
889
+ "outputs": [
890
+ {
891
+ "internalType": "address",
892
+ "name": "",
893
+ "type": "address"
894
+ }
895
+ ],
896
+ "stateMutability": "view",
897
+ "type": "function"
898
+ },
899
+ {
900
+ "inputs": [
901
+ {
902
+ "internalType": "bytes32",
903
+ "name": "orderHash",
904
+ "type": "bytes32"
905
+ }
906
+ ],
907
+ "name": "remaining",
908
+ "outputs": [
909
+ {
910
+ "internalType": "uint256",
911
+ "name": "",
912
+ "type": "uint256"
913
+ }
914
+ ],
915
+ "stateMutability": "view",
916
+ "type": "function"
917
+ },
918
+ {
919
+ "inputs": [
920
+ {
921
+ "internalType": "bytes32",
922
+ "name": "orderHash",
923
+ "type": "bytes32"
924
+ }
925
+ ],
926
+ "name": "remainingRaw",
927
+ "outputs": [
928
+ {
929
+ "internalType": "uint256",
930
+ "name": "",
931
+ "type": "uint256"
932
+ }
933
+ ],
934
+ "stateMutability": "view",
935
+ "type": "function"
936
+ },
937
+ {
938
+ "inputs": [
939
+ {
940
+ "internalType": "bytes32[]",
941
+ "name": "orderHashes",
942
+ "type": "bytes32[]"
943
+ }
944
+ ],
945
+ "name": "remainingsRaw",
946
+ "outputs": [
947
+ {
948
+ "internalType": "uint256[]",
949
+ "name": "",
950
+ "type": "uint256[]"
951
+ }
952
+ ],
953
+ "stateMutability": "view",
954
+ "type": "function"
955
+ },
956
+ {
957
+ "inputs": [
958
+ {
959
+ "internalType": "address",
960
+ "name": "_feeRecipient",
961
+ "type": "address"
962
+ },
963
+ {
964
+ "internalType": "uint96",
965
+ "name": "_lnFeeRateRoot",
966
+ "type": "uint96"
967
+ }
968
+ ],
969
+ "name": "setFees",
970
+ "outputs": [],
971
+ "stateMutability": "nonpayable",
972
+ "type": "function"
973
+ },
974
+ {
975
+ "inputs": [
976
+ {
977
+ "internalType": "address",
978
+ "name": "newOwner",
979
+ "type": "address"
980
+ },
981
+ {
982
+ "internalType": "bool",
983
+ "name": "direct",
984
+ "type": "bool"
985
+ },
986
+ {
987
+ "internalType": "bool",
988
+ "name": "renounce",
989
+ "type": "bool"
990
+ }
991
+ ],
992
+ "name": "transferOwnership",
993
+ "outputs": [],
994
+ "stateMutability": "nonpayable",
995
+ "type": "function"
996
+ },
997
+ {
998
+ "stateMutability": "payable",
999
+ "type": "receive"
1000
+ }
1001
+ ],
1002
+ "bytecode": "0x60a034620001a457601f62005bd438819003918201601f19168301916001600160401b03831184841017620001a957808492602094604052833981010312620001a457516001600160a01b0381168103620001a4576080526001805460ff8160a81c16159081809262000194575b801562000179575b156200011d5760ff60a01b198116600160a01b1783558162000105575b50620000c7575b604051615a149081620001c08239608051818181613cc00152818161463801528181614ce10152614d470152f35b805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a13862000099565b61ffff60a01b191661010160a01b1782553862000092565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156200007557508260ff8260a01c161462000075565b508260ff8260a01c16106200006d565b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c8063078dfbe71461018b5780633644e51514610186578063469048401461018157806348a40d031461017c5780634e71e0c81461017757806352400f681461017257806370ae92d21461016d57806372c244a81461016857806374a87808146101635780637e54f0921461015e5780638da5cb5b1461015957806393407c3f14610154578063942461bb1461014f5780639c1ea38f1461014a578063acdb32df14610145578063bc1ed74c14610140578063c53a02921461013b578063c60000d214610136578063cf6fc6e314610131578063d0bd5f191461012c578063e30c397814610127578063f163ba1f146101225763f2a413740361000e57611272565b611219565b6111c7565b611188565b61111b565b6110bf565b611029565b610f58565b610ea3565b610e3d565b610d1e565b610cc6565b610c74565b610c2a565b610bc7565b610ac2565b610a59565b6109d7565b61088d565b61084f565b61041f565b6103de565b6101d7565b73ffffffffffffffffffffffffffffffffffffffff8116036101ae57565b600080fd5b602435906101c082610190565b565b35906101c082610190565b801515036101ae57565b346101ae5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043561021281610190565b6024359061021f826101cd565b6044359061022c826101cd565b73ffffffffffffffffffffffffffffffffffffffff6000936102528286541633146113da565b156103a45781169182159081159161039c575b501561033e5761030e916102a9610290855473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a373ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006000541617600055565b61033b7fffffffffffffffffffffffff000000000000000000000000000000000000000060015416600155565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b905038610265565b9150167fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015580f35b60009103126101ae57565b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae576020610417611b33565b604051908152f35b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602073ffffffffffffffffffffffffffffffffffffffff60675416604051908152f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176104bc57604052565b610471565b67ffffffffffffffff81116104bc57604052565b610140810190811067ffffffffffffffff8211176104bc57604052565b6080810190811067ffffffffffffffff8211176104bc57604052565b6040810190811067ffffffffffffffff8211176104bc57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176104bc57604052565b60405190610160820182811067ffffffffffffffff8211176104bc57604052565b604051906101c0826104f2565b67ffffffffffffffff81116104bc5760051b60200190565b359060048210156101ae57565b67ffffffffffffffff81116104bc57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156101ae5780359061060f826105be565b9261061d604051948561052a565b828452602083830101116101ae57816000926020809301838601378301015290565b9190610160838203126101ae5761065461056b565b92803584526020810135602085015260408101356040850152610679606082016105b1565b606085015261068a608082016101c2565b608085015261069b60a082016101c2565b60a08501526106ac60c082016101c2565b60c08501526106bd60e082016101c2565b60e085015261010080820135908501526101208082013590850152610140918282013567ffffffffffffffff81116101ae576106f992016105f8565b90830152565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126101ae5767ffffffffffffffff906004358281116101ae57816023820112156101ae5780600401359060249061075a83610599565b9260406107698151958661052a565b818552602093808587019360051b850101938785116101ae57818101935b8585106107bc57505050505050509261079e6101b3565b92604435926064359182116101ae576107b9916004016105f8565b90565b84358a81116101ae57820160607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc828c0301126101ae578451916107ff836104a0565b848201358c81116101ae578b866108189285010161063f565b83526044820135928c84116101ae5760648361083a8e898e98899801016105f8565b85840152013587820152815201940193610787565b346101ae5761088961086c610863366106ff565b929190916120d1565b604080519384526020840192909252908201529081906060820190565b0390f35b346101ae576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126109d45773ffffffffffffffffffffffffffffffffffffffff8060015416803303610976578061094b928454167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a373ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006000541617600055565b7fffffffffffffffffffffffff00000000000000000000000000000000000000006001541660015580f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b80fd5b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae576080610a1c600435610a1781610190565b614f7a565b606060405191805183526020810151602084015273ffffffffffffffffffffffffffffffffffffffff604082015116604084015201516060820152f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5773ffffffffffffffffffffffffffffffffffffffff600435610aa981610190565b1660005260666020526020604060002054604051908152f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043560ff81168091036101ae576000903382526066602052604082205490808201809211610b70573383526066602052816040842055810390808211610b705760408051928352602083019190915233917fdc0537f71d06d3708f52baf4ddf6918b25f1a145ba08873de27485682b35cac191819081015b0390a280f35b61143f565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60409101126101ae57600435610bab81610190565b906024356bffffffffffffffffffffffff811681036101ae5790565b346101ae57610bd536610b75565b7fffffffffffffffffffffffff000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff91610c1b836000541633146113da565b60a01b16911617606755600080f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043560005260686020526020604060002054604051908152f35b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b346101ae5761088961086c610cda366106ff565b92919091611df2565b6020908160408183019282815285518094520193019160005b828110610d0a575050505090565b835185529381019392810192600101610cfc565b346101ae576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043567ffffffffffffffff81116101ae57366023820112156101ae57806004013590610d7a82610599565b91610d88604051938461052a565b80835260248484019160051b830101913683116101ae57602401905b828210610dc357610889610db785611ae3565b60405191829182610ce3565b81358152908401908401610da4565b9060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126101ae5760043567ffffffffffffffff928382116101ae57806023830112156101ae5781600401359384116101ae5760248460051b830101116101ae576024019190565b346101ae57610e4b36610dd2565b60005b818110610e5757005b8060051b830135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea1843603018212156101ae57610e99610e9e92850161196f565b61146e565b610e4e565b346101ae57610eb136610dd2565b6000905b808210610ebe57005b8160051b8301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1843603018112156101ae578391930160009160208201925b610f0883806114ca565b9050811015610f485780610f42610f33610f2e600194610f2888806114ca565b9061151e565b611533565b610f3c87611533565b90611587565b01610efe565b5093929050600191500190610eb5565b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043560005260686020526040600020548015610fcb576020907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60405191018152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a20556e6b6e6f776e206f7264657200000000000000000000000000006044820152fd5b346101ae576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126109d4573381526066602052604081205460018101808211610b7057610b6a7fdc0537f71d06d3708f52baf4ddf6918b25f1a145ba08873de27485682b35cac191338552606660205280604086205560405191829133958360209093929193604081019481520152565b346101ae577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6020813601126101ae576004359067ffffffffffffffff82116101ae576101609082360301126101ae576100199060040161196f565b346101ae5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5773ffffffffffffffffffffffffffffffffffffffff60043561116b81610190565b166000526066602052602060243560406000205414604051908152f35b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602060675460a01c604051908152f35b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043567ffffffffffffffff81116101ae5761041761126d602092369060040161063f565b6151a2565b346101ae576112f961128336610b75565b600192919254926112ab60ff8560a81c1615809581966113c8575b81156113a5575b50611b9f565b836112f0740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff6001541617600155565b61135b57611c2a565b6112ff57005b61132c7fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff60015416600155565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b6113a075010000000000000000000000000000000000000000007fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff6001541617600155565b611c2a565b303b159150816113b7575b50386112a5565b60a01c60ff166001149050386113b0565b9050600160ff8260a01c16109061129e565b156113e157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b705760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101ae570180359067ffffffffffffffff82116101ae57602001918160051b360383136101ae57565b919081101561152e5760051b0190565b61149b565b356107b981610190565b908160209103126101ae575190565b6040513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b919073ffffffffffffffffffffffffffffffffffffffff8316928315611620576040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff831660248201526020948590829060449082905afa8015611796576b7fffffffffffffffffffffff91600091611769575b5010611626575b50509050565b6040517f095ea7b30000000000000000000000000000000000000000000000000000000085820190815273ffffffffffffffffffffffffffffffffffffffff84166024830152600060448301819052918291906116ae81606481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261052a565b519082855af16116bc61179b565b81611739575b50156116db576116d39293506117e0565b803880611620565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b80518015925086908315611751575b505050386116c2565b61176193508201810191016117cb565b388581611748565b6117899150863d881161178f575b611781818361052a565b81019061153d565b38611619565b503d611777565b61154c565b3d156117c6573d906117ac826105be565b916117ba604051938461052a565b82523d6000602084013e565b606090565b908160209103126101ae57516107b9816101cd565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000006020820190815273ffffffffffffffffffffffffffffffffffffffff90931660248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604482015260009283929183906118638160648101611682565b51925af161186f61179b565b816118db575b501561187d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b80518015925082156118f0575b505038611875565b61190392506020809183010191016117cb565b38806118e8565b1561191157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4c4f503a20616c72656164792066696c6c6564000000000000000000000000006044820152fd5b60c081013561197d81610190565b73ffffffffffffffffffffffffffffffffffffffff33911603611a1557611a0f6119ae61126d6101c093369061063f565b806119c3816000526068602052604060002090565b546119d1600182141561190a565b60405190815233907fcbfa7d191838ece7ba4783ca3a30afd316619b7f368094b57ee7ffde9a923db190602090a36000526068602052604060002090565b60019055565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a204163636573732064656e69656400000000000000000000000000006044820152fd5b90611a7d82610599565b611a8a604051918261052a565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611ab88294610599565b0190602036910137565b80511561152e5760200190565b805182101561152e5760209160051b010190565b90611aee8251611a73565b600092835b8151811015611b2c5780611b0a611b279284611acf565b51865260686020526040862054611b218286611acf565b5261146e565b611af3565b5090925050565b6002546003546040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176104bc5760405251902090565b15611ba657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff9060ff60015460a81c1690611c5482611d1c565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000913383600054161760005560405190611c8d8261050e565b601b8252602082017f50656e646c65204c696d6974204f726465722050726f746f636f6c0000000000815260405192611cc58461050e565b60018452611d0260208501937f31000000000000000000000000000000000000000000000000000000000000008552611cfd81611d1c565b611d1c565b519020915190209060025560035560a01b16911617606755565b15611d2357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60041115611de057565b611da7565b516004811015611de05790565b9392919380511561152e57611e0e606060208301515101611de5565b611e1782613ae7565b6004811015611de05780159081156120bd575b5015611e435790611e3c9394916124c4565b9192909190565b90611ee29392611e5161058c565b928352611e786020840192839073ffffffffffffffffffffffffffffffffffffffff169052565b6040830195865260608301908152611e9d6060611e958551611ac2565b515101611de5565b611ea78451613e86565b90959199611eb6828951612af3565b918251986020840197885190611ed26040870192835190612ae6565b9e8f92519e8f96518411156123bc565b611eeb8a611dd6565b60018a036120b357611f3c905b73ffffffffffffffffffffffffffffffffffffffff98611f2e8651915173ffffffffffffffffffffffffffffffffffffffff1690565b908a60608b01519316614e73565b518051611ff6575b506040611fb39493611f927f3e156c9468d5a9260d69488b3cd3b03d6f086b1302be445127582bb676fb059d9994611f83611fad9530338d8a166133ce565b518c5160808a015191876148b7565b015173ffffffffffffffffffffffffffffffffffffffff1690565b90612706565b51935190611fc084611dd6565b60408051888152602081018c90529081018a905260608101959095526080850191909152339416928060a081015b0390a4929190565b9293505094333b156101ae5760008a888f948f906120429160405197889586957fbc6ab22500000000000000000000000000000000000000000000000000000000875260048701612494565b038183335af18015611796576040611fb3948f8f9599611f83611f92927f3e156c9468d5a9260d69488b3cd3b03d6f086b1302be445127582bb676fb059d9c611fad9761209a575b5095505094995050939450611f44565b806120a76120ad926104c1565b806103d3565b3861208a565b50611f3c8b611ef8565b600291506120ca81611dd6565b1438611e2a565b9392919380511561152e576120ed606060208301515101611de5565b6120f682613ae7565b6004811015611de057801590811561239b575b501561211b5790611e3c9394916134f8565b92919061214a9061212a61058c565b94855273ffffffffffffffffffffffffffffffffffffffff166020850152565b6040938484015260608301526121656060611e958451611ac2565b916121708151613e86565b919590929361217d612a05565b506121898382516137cd565b6121a08c869d959d9c949a939c01518d1115613493565b60608501518051612331575b506121b686611dd6565b60038614928315612329578c81945b1561231c5761220591506121f58a915b8b73ffffffffffffffffffffffffffffffffffffffff97883391166133ce565b8987518660608601519316614e73565b83517fbcb7ea5d000000000000000000000000000000000000000000000000000000008152306004820152946020866024816000888e165af1928315611796576122b6866122c09361229e8e7f66ed2f51315962584d12bfd2284e75f9c52f9c0d922295c9911b9e0dea66fe509b611fee996122fd575b50602083015173ffffffffffffffffffffffffffffffffffffffff1686612706565b519a611f92602087019c8d51608089015191876148b7565b8684015191612706565b519551926122cd86611dd6565b51928392339816968b8d8b869192608093969594919660a084019784526020840152604083015260608201520152565b6123159060203d60201161178f57611781818361052a565b503861227c565b6121f561220592916121d5565b8c89946121c5565b333b156101ae5760008a888f938f90612377918a5196879586957f441d4c6200000000000000000000000000000000000000000000000000000000875260048701612494565b038183335af1801561179657156121ac57806120a7612395926104c1565b386121ac565b600291506123a881611dd6565b1438612109565b91908203918211610b7057565b156123c357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4f503a206d617854616b696e672065786365656465640000000000000000006044820152fd5b906004821015611de05752565b60005b8381106124415750506000910152565b8181015183820152602001612431565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209361248d8151809281875287808801910161242e565b0116010190565b919260a0936124a8846107b9989794612421565b6020840152604083015260608201528160808201520190612451565b939291906124f4906124d461058c565b95865273ffffffffffffffffffffffffffffffffffffffff166020860152565b6040840152606083015261250d6060611e958451611ac2565b916125188151613d6b565b949293909195612529868351612af3565b805161253b60408301918251906123af565b93602083015191518098839a879c61255960408601518711156123bc565b6125848961257e602088015173ffffffffffffffffffffffffffffffffffffffff1690565b85612706565b89886060870151805161264b575b5060406125fe94611f9261263f98957f3e156c9468d5a9260d69488b3cd3b03d6f086b1302be445127582bb676fb059d9c9895856125d2611fad97611dd6565b61264457505b73ffffffffffffffffffffffffffffffffffffffff9a5160808a0151918c339116614ed2565b602081519101519061260f87611dd6565b8a604051958695339b1699869192608093969594919660a084019784526020840152604083015260608201520152565b0390a4565b90506125d8565b92989495505050333b156101ae57600089896126988f948a9560405196879586957fbc6ab22500000000000000000000000000000000000000000000000000000000875260048701612494565b038183335af193841561179657611fad60406125fe948f947f3e156c9468d5a9260d69488b3cd3b03d6f086b1302be445127582bb676fb059d9b8f8e611f929361263f9c6126f3575b50955095989c50959850509450612592565b806120a7612700926104c1565b386126e1565b91909181156127ad5773ffffffffffffffffffffffffffffffffffffffff1691826127a4576000809350809281925af161273e61179b565b501561274657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b6101c0926127b2565b505050565b6101c09273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb00000000000000000000000000000000000000000000000000000000602086015216602484015260448301526044825261280d826104f2565b61289d565b1561281957565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff1690604051906128c18261050e565b6020928383527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656484840152803b1561293857600082819282876129139796519301915af161290d61179b565b906129a7565b8051908161292057505050565b826101c0936129339383010191016117cb565b612812565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b9060206107b9928181520190612451565b909190156129b3575090565b8151156129c35750805190602001fd5b612a01906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352602060048401526024830190612451565b0390fd5b6040519060c0820182811067ffffffffffffffff8211176104bc57604052606060a08360008152600060208201526000604082015282808201528260808201520152565b15612a5057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4c4f503a2063616e27742073776170203020616d6f756e7400000000000000006044820152fd5b6024019081602411610b7057565b6002019081600211610b7057565b9060028201809211610b7057565b9060038201809211610b7057565b91908201809211610b7057565b9190612afd612a05565b92805191612b0a83611a73565b60608601908152612b1a84611a73565b9260808701938452612b2b85611a73565b9060a08801918252612b49612b446060611e9584611ac2565b6131aa565b5093612b5b6060820151825190612c79565b90600096602090818c01946040908d8281019b5b8d8110612b86575050505050505050505050505050565b6001918789838f8f908f908c8c92612b9e868d611acf565b51978d890192835115612c6957612bf7612c2599612c08968a968795612c0295612c2d9f888e612bd9610120612bed94510151865190612c79565b9551612be6838351611acf565b5251611acf565b51910151926158b1565b929096519351611acf565b52611acf565b52612c1f612c17838c51611acf565b511515612a49565b51611acf565b518251612ae6565b9052612c45612c3d828751611acf565b518a51612ae6565b8952612c5e8d612c56838d51611acf565b519051612ae6565b8d525b018e90612b6f565b5050505050505050505050612c61565b6301e1338091612c8891612d27565b047f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81116101ae57612cb990612dc8565b600081126101ae5790565b908160011b9180830460021490151715610b7057565b908160011b917f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811603610b7057565b90670de0b6b3a764000091828102928184041490151715610b7057565b81810292918115918404141715610b7057565b8115612d44570490565b611558565b15612d5057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c6964206578706f6e656e74000000000000000000000000000000006044820152fd5b8015612d44576ec097ce7bc90715b34b9f10000000000590565b7ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc000081121580613197575b612dfb90612d49565b60008112613182576064906806f05b59d3b2000000811261311f577ffffffffffffffffffffffffffffffffffffffffffffffff90fa4a62c4e0000000168056bc75e2d6310000082770195e54c5dd42177f53a27172fa9ec630262827000000000925b0280829168ad78ebc5ac620000008112156130e3575b50806856bc75e2d631000000849212156130a9575b682b5e3af16b18800000811215613071575b6815af1d78b58c400000811215613039575b680ad78ebc5ac6200000811215613002575b81811215612fcb575b6802b5e3af16b1880000811215612f94575b68015af1d78b58c40000811215612f5d575b60028282800205056003838383020505600484848302050560058585830205056006868683020505600787878302050590600888888402050592600989898602050594600a8a8a8802050596600b8b8b8a02050598600c8c8c8c0205059a0101010101010101010101010205020590565b6806f5f17757889379377ffffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c000083920193020591612eec565b6808f00f760a4b2db55d7ffffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e78000083920193020591612eda565b680ebc5fb417461211107ffffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf0000083920193020591612ec8565b68280e60114edb805d037ffffffffffffffffffffffffffffffffffffffffffffffff5287143a539e0000083920193020591612ebf565b690127fa27722cc06cc5e27fffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c0000083920193020591612ead565b693f1fce3da636ea5cf8507fffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e780000083920193020591612e9b565b6b02df0ab5a80a22c61ab5a7007fffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf00000083920193020591612e89565b6e01855144814a7ff805980ff008400092507fffffffffffffffffffffffffffffffffffffffffffffff5287143a539e00000001905082612e74565b6803782dace9d9000000811261316f577ffffffffffffffffffffffffffffffffffffffffffffffffc87d25316270000000168056bc75e2d63100000826b1425982cf597cd205cef738092612e5e565b68056bc75e2d6310000082600192612e5e565b61318e90600003612dc8565b6107b990612dae565b5068070c1cc73b00c80000811315612df2565b6131b381611dd6565b806131c15750600190600590565b6131ca81611dd6565b600181036131db5750600290600690565b806131e7600292611dd6565b036131f457600390600790565b600490600890565b670de0b6b3a76400009161320f91612d27565b0490565b90670de0b6b3a764000090818102918183041490151715610b7057818101809111610b70577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111610b70578115612d44570490565b9392909161327a9085612d27565b90670de0b6b3a76400009182810190818111610b7057670de0b6b3a763ffff01908111610b705783836132ad9204612d27565b947ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000095868501948511610b70578415612d4457849004958201828111610b70576132f691612d27565b8115612d445704818102918183041490151715610b70570490565b919392907ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00009485820193828511610b70578461334c91612d27565b918015612d445761335e920490613213565b938101908111610b7057612d3a9084612d27565b9093928461337f91613213565b918103908111610b70578103908111610b70579190565b92670de0b6b3a7640000808502908582041485151715610b70578115612d445704918101809111610b70578103908111610b70579091565b929190821515806133f7575b6133e5575b50505050565b6133ee93613417565b388080806133df565b503073ffffffffffffffffffffffffffffffffffffffff821614156133da565b9290604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015273ffffffffffffffffffffffffffffffffffffffff809216602485015216604483015260648201526064815260a081019181831067ffffffffffffffff8411176104bc576101c09260405261289d565b1561349a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4c4f503a206d6178496e707574206578636565646564000000000000000000006044820152fd5b939091929361350561058c565b90815261352c6020820193849073ffffffffffffffffffffffffffffffffffffffff169052565b60408101938452606081019485526135496060611e958351611ac2565b926135548251613d6b565b9161356197939197612a05565b5061356d8387516137cd565b919892939094859b8a9e613585879f51881115613493565b518051613764575b5073ffffffffffffffffffffffffffffffffffffffff946135b28730338987166133ce565b61367d60206135c287518a612ae6565b936135dd6135d660408a01968751906123af565b8288612706565b6135e68d611dd6565b888d159e8f988960001461375c57985b1561373e57309f5b15613736575173ffffffffffffffffffffffffffffffffffffffff16915b16809e60006040518096819582947fdb74aa150000000000000000000000000000000000000000000000000000000084526004840190602090939293604083019473ffffffffffffffffffffffffffffffffffffffff809216845216910152565b03925af1998a1561179657611f9261263f986136da976136d2956040957f66ed2f51315962584d12bfd2284e75f9c52f9c0d922295c9911b9e0dea66fe509f613718575b50519060808b015192309116614ed2565b905191612706565b60208151910151906136eb87611dd6565b604051948594339a869192608093969594919660a084019784526020840152604083015260608201520152565b61372f9060203d811161178f57611781818361052a565b50386136c1565b50309161361c565b805173ffffffffffffffffffffffffffffffffffffffff169f6135fe565b5082986135f6565b333b156101ae5760008c8b6137a98a948c60405196879586957f441d4c6200000000000000000000000000000000000000000000000000000000875260048701612494565b038183335af18015611796571561358d57806120a76137c7926104c1565b3861358d565b90916137d7612a05565b5081511561152e5761381d613802846137fa612b44606060208801515101611de5565b959050612af3565b928351946020850151604086019660208851930151936158b1565b9290935191565b1561382b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4c4f503a20656d707479206261746368000000000000000000000000000000006044820152fd5b1561389057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4c4f503a205059206578706972656400000000000000000000000000000000006044820152fd5b156138f557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4f503a206e6f742073616d65206f72646572547970650000000000000000006044820152fd5b1561395a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4c4f503a206e6f742073616d65205954000000000000000000000000000000006044820152fd5b156139bf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a206f72646572206578706972656400000000000000000000000000006044820152fd5b15613a2457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4c4f503a206f7264657220696e76616c696461746564000000000000000000006044820152fd5b15613a8957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4c4f503a20696e76616c696420746f6b656e4f757400000000000000000000006044820152fd5b8051613af4811515613824565b60a0613b2081613b0385611ac2565b5151015173ffffffffffffffffffffffffffffffffffffffff1690565b606091613b3083611e9587611ac2565b613b3981611dd6565b600195868214928315613d0b575b73ffffffffffffffffffffffffffffffffffffffff809516906040938451937fe184c9be0000000000000000000000000000000000000000000000000000000085526020948581600481885afa801561179657613bae91600091613cee575b504210613889565b60005b8a8110613bc657505050505050505050505050565b80613bd28d9284611acf565b5151613bfd858d830151613be581611dd6565b613bee82611dd6565b613bf781611dd6565b146138ee565b613c2a87613c246102908985015173ffffffffffffffffffffffffffffffffffffffff1690565b14613953565b613c388882015142106139b8565b89613c928a830151613c8a613c6460c086015173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff166000526066602052604060002090565b541115613a1d565b613c9e575b5001613bb1565b60800151613ce89073ffffffffffffffffffffffffffffffffffffffff168b167f00000000000000000000000000000000000000000000000000000000000000008c161415613a82565b38613c97565b613d059150873d891161178f57611781818361052a565b38613ba6565b9250613d1682611dd6565b6003821492613b47565b604051906080820182811067ffffffffffffffff8211176104bc5760405260006060838281528260208201528260408201520152565b908160209103126101ae57516107b981610190565b613d73613d20565b50613d7d81613f87565b613d8b60a0613b0383611ac2565b73ffffffffffffffffffffffffffffffffffffffff811692604051927fafd27bf50000000000000000000000000000000000000000000000000000000084526020908185600481895afa94851561179657600095613e67575b506004828697604051928380927fd94073d40000000000000000000000000000000000000000000000000000000082525afa90811561179657613e3193600092613e3a575b5050946143b9565b6107b982614f7a565b613e599250803d10613e60575b613e51818361052a565b810190613d56565b3880613e29565b503d613e47565b613e7f919550823d8411613e6057613e51818361052a565b9338613de4565b60a0613b03613ea692613e97613d20565b50613ea181613f87565b611ac2565b9073ffffffffffffffffffffffffffffffffffffffff8216916040517fafd27bf50000000000000000000000000000000000000000000000000000000081526020908181600481885afa908115611796576004918391600091613f6a575b5095604051928380927fd94073d40000000000000000000000000000000000000000000000000000000082525afa91821561179657600092613f4d575b5050916107b982614f7a565b613f639250803d10613e6057613e51818361052a565b3880613f41565b613f819150823d8411613e6057613e51818361052a565b38613f04565b80519060005b828110613f9957505050565b807fd28e5b1468261e3199fa4f021d06e7f7ae7f9e3a5c3a5e5f893755dff2e2bbde613fc760019385611acf565b518051613fda60209182840151906140e2565b93909160408094019384518681106000146140105780965b03908460005260688352888201816000205551908152a25201613f8d565b508580613ff2565b1561401f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a20626164207369676e617475726500000000000000000000000000006044820152fd5b1561408457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4c4f503a207265656e7472616e637920646574656374656400000000000000006044820152fd5b91906140ed836151a2565b90816000526068602052604060002054600181146141d957806141b0575061413961413e918361413460c088015173ffffffffffffffffffffffffffffffffffffffff1690565b6141fb565b614018565b61014061010084015193015160148151101561415957509190565b60148101805191517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec01815261418e91615330565b6141ac6141a5826000526068602052604060002090565b541561407d565b9190565b919350507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b505090915090600090565b6040906107b9939281528160208201520190612451565b909161420781846142cc565b6005811015611de0571590816142a9575b506142a157600091829160405161425f8161168260208201947f1626ba7e00000000000000000000000000000000000000000000000000000000998a8752602484016141e4565b51915afa9061426c61179b565b82614295575b8261427c57505090565b6142919192506020808251830101910161153d565b1490565b80516020149250614272565b505050600190565b905073ffffffffffffffffffffffffffffffffffffffff80841691161438614218565b9060418151146000146142fa576142f6916020820151906060604084015193015160001a90614304565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116143ad5760ff16601b811415806143a2575b614396579160809493916020936040519384528484015260408301526060820152600093849182805260015afa1561179657815173ffffffffffffffffffffffffffffffffffffffff811615614390579190565b50600190565b50505050600090600490565b50601c81141561433c565b50505050600090600390565b908051916143c682614e04565b9091600092835b8681106145005750156144665773ffffffffffffffffffffffffffffffffffffffff80821690831614801561445e575b6144575761440c918391614636565b9060005b84811061441e575050505050565b60019060406144438461443e8784614436878c611acf565b510151612d27565b612d3a565b9061444e8388611acf565b51015201614410565b5050505050565b5082156143fd565b9291505060005b83811061447a5750505050565b8061448760019284611acf565b5160408101908151801580156144d9575b6144d1576144c260806144c893510173ffffffffffffffffffffffffffffffffffffffff90511690565b87614636565b90525b0161446d565b5050506144cb565b5081516080015173ffffffffffffffffffffffffffffffffffffffff888116911614614498565b61450a8187611acf565b51826040820191825190811561458e5790614568915161456260c0614546608084015173ffffffffffffffffffffffffffffffffffffffff1690565b92015173ffffffffffffffffffffffffffffffffffffffff1690565b9061459a565b614578575b506001905b016143cd565b60019195614587915190612ae6565b949061456d565b50505050600190614572565b90919073ffffffffffffffffffffffffffffffffffffffff16806146215750905034036145c357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f657468206d69736d6174636800000000000000000000000000000000000000006044820152fd5b8161462b57505050565b6101c0923091613417565b7f0000000000000000000000000000000000000000000000000000000000000000929173ffffffffffffffffffffffffffffffffffffffff8082168186161480614750575b90846147069660209695949361473b575b5050600081831615600014614735575083905b6040518097819682957f20e8c56500000000000000000000000000000000000000000000000000000000845230600485016000929493606092608083019673ffffffffffffffffffffffffffffffffffffffff809216845216602083015260408201520152565b0393165af19081156117965760009161471d575090565b6107b9915060203d811161178f57611781818361052a565b9061469f565b6147469293506147f7565b600090833861468c565b506040517ffa5a4f0600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152939291906020856024818487165afa948515611796576147069660209686926000916147ca575b501592939495509650945061467b565b6147ea9150883d81116147f0575b6147e2818361052a565b8101906117cb565b386147ba565b503d6147d8565b73ffffffffffffffffffffffffffffffffffffffff1680614867575060003b156101ae576000600491604051928380927fd0e30db0000000000000000000000000000000000000000000000000000000008252845af180156117965761485a5750565b806120a76101c0926104c1565b803b156101ae576040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815260048101929092526000908290602490829084905af180156117965761485a5750565b9092918351936148c681614e04565b90156149d25773ffffffffffffffffffffffffffffffffffffffff9384811680868416146149c057506148fb91849130614bc0565b9060005b86811061490f5750505050505050565b8061491c60019284611acf565b51516149368661443e87614930868d611acf565b51612d27565b87614958608084015173ffffffffffffffffffffffffffffffffffffffff1690565b1680614991575061498661029060e061498b94015173ffffffffffffffffffffffffffffffffffffffff1690565b614aa8565b016148ff565b6149b560e06149bb94015173ffffffffffffffffffffffffffffffffffffffff1690565b906127b2565b61498b565b9350505091506101c093503090614ed2565b50949392905060005b8381106149ea57505050509050565b806149f760019288611acf565b5151608081015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff81811690871603614a6b575060e00151614a659073ffffffffffffffffffffffffffffffffffffffff16614a5d8386611acf565b519086612706565b016149db565b614a8f60e0614aa293015173ffffffffffffffffffffffffffffffffffffffff1690565b9086614a9b8588611acf565b5192614bc0565b50614a65565b814710614b6257600080809373ffffffffffffffffffffffffffffffffffffffff8294165af1614ad661179b565b5015614ade57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152fd5b9392919073ffffffffffffffffffffffffffffffffffffffff90818316614d8b576040517f784367d600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201529082169560209490919085826024818b5afa94851561179657614cc3958793600091614d6e575b5015614d44579788915b60006040518098819582947f769f8e5d0000000000000000000000000000000000000000000000000000000084523060048501608091600093959460a083019673ffffffffffffffffffffffffffffffffffffffff809316845260208401521660408201528260608201520152565b03925af1928315611796576101c094600094614d25575b50508295837f00000000000000000000000000000000000000000000000000000000000000009184808416911614614d15575b505016614aa8565b614d1e916147f7565b3883614d0d565b614d3c929450803d1061178f57611781818361052a565b913880614cda565b507f0000000000000000000000000000000000000000000000000000000000000000978891614c54565b614d859150843d86116147f0576147e2818361052a565b38614c4a565b909260006020946147069697604051978896879586937f769f8e5d00000000000000000000000000000000000000000000000000000000855260048501608091600093959460a083019673ffffffffffffffffffffffffffffffffffffffff809316845260208401521660408201528260608201520152565b908151801561152e5773ffffffffffffffffffffffffffffffffffffffff608081816020870151510151169460015b848110614e4557505050505060019190565b868484614e528486611acf565b515101511603614e6457600101614e33565b50505050509050600090600090565b9093929184519260005b848110614e8d5750505050509050565b80614ecc73ffffffffffffffffffffffffffffffffffffffff60c0614eb46001958c611acf565b515101511685614ec48487611acf565b519188613417565b01614e7d565b8251929493909173ffffffffffffffffffffffffffffffffffffffff81163003614f3957509091929360005b848110614f0c575050505050565b80614f33614f2160e0613b0360019587611acf565b614f2b8387611acf565b5190876127b2565b01614efe565b60005b848110614f4c5750505050509050565b80614f74614f6160e0613b036001958c611acf565b614f6b8387611acf565b51908588613417565b01614f3c565b614f82613d20565b5073ffffffffffffffffffffffffffffffffffffffff809116906040517fe184c9be0000000000000000000000000000000000000000000000000000000081526020918282600481875afa801561179657614fea84916000948591615085575b5042906123af565b946004604051809581937f1d52edc40000000000000000000000000000000000000000000000000000000083525af180156117965761505d92600091615068575b506067549361503861058c565b958652850152821673ffffffffffffffffffffffffffffffffffffffff166040840152565b60a01c606082015290565b61507f9150843d861161178f57611781818361052a565b3861502b565b61509c9150833d851161178f57611781818361052a565b38614fe2565b61016090939291936101808101947f7add545d7d8f07e77f0a943685e28dc6e6e5467c45a31dccbd8095ea82b43dcf825280516020830152602081015160408301526040810151606083015261510060608201516080840190612421565b608081015173ffffffffffffffffffffffffffffffffffffffff1660a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015161518a610100918285019073ffffffffffffffffffffffffffffffffffffffff169052565b81015190610120918284015201516101408201520152565b6107b9906040516151b2816104d5565b6101206000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201520152611682615212610140830151602081519101206040519283916020830195866150a2565b51902061521d611b33565b906040519060208201927f190100000000000000000000000000000000000000000000000000000000000084526022830152604282015260428152615261816104f2565b51902090565b9061527a6020928281519485920161242e565b0190565b906004917f8fcbaf0c0000000000000000000000000000000000000000000000000000000081526152b8825180936020868501910161242e565b010190565b906004917fd505accf0000000000000000000000000000000000000000000000000000000081526152b8825180936020868501910161242e565b604051906153048261050e565b600f82527f5065726d6974206661696c65643a2000000000000000000000000000000000006020830152565b9080518061533d57505050565b60009060e081036153c2575050600091829182604051615365816116826020820195866152bd565b51925af161537161179b565b905b1561537b5750565b615390612a019161538a6152f7565b906154bb565b6040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260048301612996565b909290610100036153f7578291826040516153e58161168260208201958661527e565b51925af16153f161179b565b90615373565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f57726f6e67207065726d6974206c656e677468000000000000000000000000006044820152606490fd5b1561545d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e76616c69642072657665727420726561736f6e00000000000000000000006044820152fd5b80516004811015615549575b506154f1916116826155206154de6107b994615716565b61551a6040519687956020870190615267565b7f556e6b6e6f776e28000000000000000000000000000000000000000000000000815260080190565b90615267565b7f2900000000000000000000000000000000000000000000000000000000000000815260010190565b7fffffffff000000000000000000000000000000000000000000000000000000006020830151167f08c379a000000000000000000000000000000000000000000000000000000000811480615686575b156156025750506155d991611682615520836154de60246107b99601516155d26155ca602483860101945192612aae565b845190612ae6565b1115615456565b7f4572726f72280000000000000000000000000000000000000000000000000000815260060190565b7f4e487b710000000000000000000000000000000000000000000000000000000014908161567b575b50615638576154f16154c7565b615652916116826155206154de60246107b9950151615691565b7f50616e6963280000000000000000000000000000000000000000000000000000815260060190565b60249150143861562b565b506044821015615599565b6107b990604051906020820152602081526156ab8161050e565b615716565b906156ba826105be565b6156c7604051918261052a565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611ab882946105be565b80516001101561152e5760210190565b90815181101561152e570160200190565b9061573161572c6157278451612cc4565b612abc565b6156b0565b603061573c82611ac2565b536078615748826156f5565b5360005b835181101561587d576157c56157bf6157b961579161576b8589615705565b517fff000000000000000000000000000000000000000000000000000000000000001690565b60041c7f0f000000000000000000000000000000000000000000000000000000000000001690565b60f81c90565b60ff1690565b906010918281101561152e577f303132333435363738396162636465660000000000000000000000000000000080911a61580f61580961580485612cda565b612aca565b86615705565b5361584b6157bf7f0f0000000000000000000000000000000000000000000000000000000000000061584461576b868b615705565b1660f81c90565b9283101561152e57615878921a61587261586c61586784612cda565b612ad8565b85615705565b5361146e565b61574c565b509150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fd5b9392919093806001146159865780600214615926578060031461591c578060041461591257806005146158fe578060061461590857806007146158fe57600803615882576142f693613396565b506142f693613372565b506142f693613396565b506142f693613311565b506142f69361326c565b5091939261593390612d0a565b918015612d4457615945920490613213565b917ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00008101818111610b705761597a9084612d27565b928115612d4457920490565b506159aa906159a493959492670de0b6b3a764000094859185612d27565b046131fc565b937ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00008101908111610b705761320f91612d2756fea2646970667358221220d8248282c041c68602a3d5e47d933d3ac3e454ede01ebb561dbcb41b6b6a151764736f6c63430008150033",
1003
+ "deployedBytecode": "0x6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c8063078dfbe71461018b5780633644e51514610186578063469048401461018157806348a40d031461017c5780634e71e0c81461017757806352400f681461017257806370ae92d21461016d57806372c244a81461016857806374a87808146101635780637e54f0921461015e5780638da5cb5b1461015957806393407c3f14610154578063942461bb1461014f5780639c1ea38f1461014a578063acdb32df14610145578063bc1ed74c14610140578063c53a02921461013b578063c60000d214610136578063cf6fc6e314610131578063d0bd5f191461012c578063e30c397814610127578063f163ba1f146101225763f2a413740361000e57611272565b611219565b6111c7565b611188565b61111b565b6110bf565b611029565b610f58565b610ea3565b610e3d565b610d1e565b610cc6565b610c74565b610c2a565b610bc7565b610ac2565b610a59565b6109d7565b61088d565b61084f565b61041f565b6103de565b6101d7565b73ffffffffffffffffffffffffffffffffffffffff8116036101ae57565b600080fd5b602435906101c082610190565b565b35906101c082610190565b801515036101ae57565b346101ae5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043561021281610190565b6024359061021f826101cd565b6044359061022c826101cd565b73ffffffffffffffffffffffffffffffffffffffff6000936102528286541633146113da565b156103a45781169182159081159161039c575b501561033e5761030e916102a9610290855473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a373ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006000541617600055565b61033b7fffffffffffffffffffffffff000000000000000000000000000000000000000060015416600155565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b905038610265565b9150167fffffffffffffffffffffffff0000000000000000000000000000000000000000600154161760015580f35b60009103126101ae57565b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae576020610417611b33565b604051908152f35b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602073ffffffffffffffffffffffffffffffffffffffff60675416604051908152f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176104bc57604052565b610471565b67ffffffffffffffff81116104bc57604052565b610140810190811067ffffffffffffffff8211176104bc57604052565b6080810190811067ffffffffffffffff8211176104bc57604052565b6040810190811067ffffffffffffffff8211176104bc57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176104bc57604052565b60405190610160820182811067ffffffffffffffff8211176104bc57604052565b604051906101c0826104f2565b67ffffffffffffffff81116104bc5760051b60200190565b359060048210156101ae57565b67ffffffffffffffff81116104bc57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156101ae5780359061060f826105be565b9261061d604051948561052a565b828452602083830101116101ae57816000926020809301838601378301015290565b9190610160838203126101ae5761065461056b565b92803584526020810135602085015260408101356040850152610679606082016105b1565b606085015261068a608082016101c2565b608085015261069b60a082016101c2565b60a08501526106ac60c082016101c2565b60c08501526106bd60e082016101c2565b60e085015261010080820135908501526101208082013590850152610140918282013567ffffffffffffffff81116101ae576106f992016105f8565b90830152565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126101ae5767ffffffffffffffff906004358281116101ae57816023820112156101ae5780600401359060249061075a83610599565b9260406107698151958661052a565b818552602093808587019360051b850101938785116101ae57818101935b8585106107bc57505050505050509261079e6101b3565b92604435926064359182116101ae576107b9916004016105f8565b90565b84358a81116101ae57820160607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc828c0301126101ae578451916107ff836104a0565b848201358c81116101ae578b866108189285010161063f565b83526044820135928c84116101ae5760648361083a8e898e98899801016105f8565b85840152013587820152815201940193610787565b346101ae5761088961086c610863366106ff565b929190916120d1565b604080519384526020840192909252908201529081906060820190565b0390f35b346101ae576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126109d45773ffffffffffffffffffffffffffffffffffffffff8060015416803303610976578061094b928454167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a373ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006000541617600055565b7fffffffffffffffffffffffff00000000000000000000000000000000000000006001541660015580f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b80fd5b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae576080610a1c600435610a1781610190565b614f7a565b606060405191805183526020810151602084015273ffffffffffffffffffffffffffffffffffffffff604082015116604084015201516060820152f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5773ffffffffffffffffffffffffffffffffffffffff600435610aa981610190565b1660005260666020526020604060002054604051908152f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043560ff81168091036101ae576000903382526066602052604082205490808201809211610b70573383526066602052816040842055810390808211610b705760408051928352602083019190915233917fdc0537f71d06d3708f52baf4ddf6918b25f1a145ba08873de27485682b35cac191819081015b0390a280f35b61143f565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60409101126101ae57600435610bab81610190565b906024356bffffffffffffffffffffffff811681036101ae5790565b346101ae57610bd536610b75565b7fffffffffffffffffffffffff000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff91610c1b836000541633146113da565b60a01b16911617606755600080f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043560005260686020526020604060002054604051908152f35b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b346101ae5761088961086c610cda366106ff565b92919091611df2565b6020908160408183019282815285518094520193019160005b828110610d0a575050505090565b835185529381019392810192600101610cfc565b346101ae576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043567ffffffffffffffff81116101ae57366023820112156101ae57806004013590610d7a82610599565b91610d88604051938461052a565b80835260248484019160051b830101913683116101ae57602401905b828210610dc357610889610db785611ae3565b60405191829182610ce3565b81358152908401908401610da4565b9060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126101ae5760043567ffffffffffffffff928382116101ae57806023830112156101ae5781600401359384116101ae5760248460051b830101116101ae576024019190565b346101ae57610e4b36610dd2565b60005b818110610e5757005b8060051b830135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea1843603018212156101ae57610e99610e9e92850161196f565b61146e565b610e4e565b346101ae57610eb136610dd2565b6000905b808210610ebe57005b8160051b8301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1843603018112156101ae578391930160009160208201925b610f0883806114ca565b9050811015610f485780610f42610f33610f2e600194610f2888806114ca565b9061151e565b611533565b610f3c87611533565b90611587565b01610efe565b5093929050600191500190610eb5565b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043560005260686020526040600020548015610fcb576020907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60405191018152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a20556e6b6e6f776e206f7264657200000000000000000000000000006044820152fd5b346101ae576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126109d4573381526066602052604081205460018101808211610b7057610b6a7fdc0537f71d06d3708f52baf4ddf6918b25f1a145ba08873de27485682b35cac191338552606660205280604086205560405191829133958360209093929193604081019481520152565b346101ae577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6020813601126101ae576004359067ffffffffffffffff82116101ae576101609082360301126101ae576100199060040161196f565b346101ae5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5773ffffffffffffffffffffffffffffffffffffffff60043561116b81610190565b166000526066602052602060243560406000205414604051908152f35b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602060675460a01c604051908152f35b346101ae5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346101ae5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ae5760043567ffffffffffffffff81116101ae5761041761126d602092369060040161063f565b6151a2565b346101ae576112f961128336610b75565b600192919254926112ab60ff8560a81c1615809581966113c8575b81156113a5575b50611b9f565b836112f0740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff6001541617600155565b61135b57611c2a565b6112ff57005b61132c7fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff60015416600155565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b6113a075010000000000000000000000000000000000000000007fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff6001541617600155565b611c2a565b303b159150816113b7575b50386112a5565b60a01c60ff166001149050386113b0565b9050600160ff8260a01c16109061129e565b156113e157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b705760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101ae570180359067ffffffffffffffff82116101ae57602001918160051b360383136101ae57565b919081101561152e5760051b0190565b61149b565b356107b981610190565b908160209103126101ae575190565b6040513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b919073ffffffffffffffffffffffffffffffffffffffff8316928315611620576040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff831660248201526020948590829060449082905afa8015611796576b7fffffffffffffffffffffff91600091611769575b5010611626575b50509050565b6040517f095ea7b30000000000000000000000000000000000000000000000000000000085820190815273ffffffffffffffffffffffffffffffffffffffff84166024830152600060448301819052918291906116ae81606481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261052a565b519082855af16116bc61179b565b81611739575b50156116db576116d39293506117e0565b803880611620565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b80518015925086908315611751575b505050386116c2565b61176193508201810191016117cb565b388581611748565b6117899150863d881161178f575b611781818361052a565b81019061153d565b38611619565b503d611777565b61154c565b3d156117c6573d906117ac826105be565b916117ba604051938461052a565b82523d6000602084013e565b606090565b908160209103126101ae57516107b9816101cd565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000006020820190815273ffffffffffffffffffffffffffffffffffffffff90931660248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604482015260009283929183906118638160648101611682565b51925af161186f61179b565b816118db575b501561187d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b80518015925082156118f0575b505038611875565b61190392506020809183010191016117cb565b38806118e8565b1561191157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4c4f503a20616c72656164792066696c6c6564000000000000000000000000006044820152fd5b60c081013561197d81610190565b73ffffffffffffffffffffffffffffffffffffffff33911603611a1557611a0f6119ae61126d6101c093369061063f565b806119c3816000526068602052604060002090565b546119d1600182141561190a565b60405190815233907fcbfa7d191838ece7ba4783ca3a30afd316619b7f368094b57ee7ffde9a923db190602090a36000526068602052604060002090565b60019055565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a204163636573732064656e69656400000000000000000000000000006044820152fd5b90611a7d82610599565b611a8a604051918261052a565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611ab88294610599565b0190602036910137565b80511561152e5760200190565b805182101561152e5760209160051b010190565b90611aee8251611a73565b600092835b8151811015611b2c5780611b0a611b279284611acf565b51865260686020526040862054611b218286611acf565b5261146e565b611af3565b5090925050565b6002546003546040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176104bc5760405251902090565b15611ba657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff9060ff60015460a81c1690611c5482611d1c565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000913383600054161760005560405190611c8d8261050e565b601b8252602082017f50656e646c65204c696d6974204f726465722050726f746f636f6c0000000000815260405192611cc58461050e565b60018452611d0260208501937f31000000000000000000000000000000000000000000000000000000000000008552611cfd81611d1c565b611d1c565b519020915190209060025560035560a01b16911617606755565b15611d2357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60041115611de057565b611da7565b516004811015611de05790565b9392919380511561152e57611e0e606060208301515101611de5565b611e1782613ae7565b6004811015611de05780159081156120bd575b5015611e435790611e3c9394916124c4565b9192909190565b90611ee29392611e5161058c565b928352611e786020840192839073ffffffffffffffffffffffffffffffffffffffff169052565b6040830195865260608301908152611e9d6060611e958551611ac2565b515101611de5565b611ea78451613e86565b90959199611eb6828951612af3565b918251986020840197885190611ed26040870192835190612ae6565b9e8f92519e8f96518411156123bc565b611eeb8a611dd6565b60018a036120b357611f3c905b73ffffffffffffffffffffffffffffffffffffffff98611f2e8651915173ffffffffffffffffffffffffffffffffffffffff1690565b908a60608b01519316614e73565b518051611ff6575b506040611fb39493611f927f3e156c9468d5a9260d69488b3cd3b03d6f086b1302be445127582bb676fb059d9994611f83611fad9530338d8a166133ce565b518c5160808a015191876148b7565b015173ffffffffffffffffffffffffffffffffffffffff1690565b90612706565b51935190611fc084611dd6565b60408051888152602081018c90529081018a905260608101959095526080850191909152339416928060a081015b0390a4929190565b9293505094333b156101ae5760008a888f948f906120429160405197889586957fbc6ab22500000000000000000000000000000000000000000000000000000000875260048701612494565b038183335af18015611796576040611fb3948f8f9599611f83611f92927f3e156c9468d5a9260d69488b3cd3b03d6f086b1302be445127582bb676fb059d9c611fad9761209a575b5095505094995050939450611f44565b806120a76120ad926104c1565b806103d3565b3861208a565b50611f3c8b611ef8565b600291506120ca81611dd6565b1438611e2a565b9392919380511561152e576120ed606060208301515101611de5565b6120f682613ae7565b6004811015611de057801590811561239b575b501561211b5790611e3c9394916134f8565b92919061214a9061212a61058c565b94855273ffffffffffffffffffffffffffffffffffffffff166020850152565b6040938484015260608301526121656060611e958451611ac2565b916121708151613e86565b919590929361217d612a05565b506121898382516137cd565b6121a08c869d959d9c949a939c01518d1115613493565b60608501518051612331575b506121b686611dd6565b60038614928315612329578c81945b1561231c5761220591506121f58a915b8b73ffffffffffffffffffffffffffffffffffffffff97883391166133ce565b8987518660608601519316614e73565b83517fbcb7ea5d000000000000000000000000000000000000000000000000000000008152306004820152946020866024816000888e165af1928315611796576122b6866122c09361229e8e7f66ed2f51315962584d12bfd2284e75f9c52f9c0d922295c9911b9e0dea66fe509b611fee996122fd575b50602083015173ffffffffffffffffffffffffffffffffffffffff1686612706565b519a611f92602087019c8d51608089015191876148b7565b8684015191612706565b519551926122cd86611dd6565b51928392339816968b8d8b869192608093969594919660a084019784526020840152604083015260608201520152565b6123159060203d60201161178f57611781818361052a565b503861227c565b6121f561220592916121d5565b8c89946121c5565b333b156101ae5760008a888f938f90612377918a5196879586957f441d4c6200000000000000000000000000000000000000000000000000000000875260048701612494565b038183335af1801561179657156121ac57806120a7612395926104c1565b386121ac565b600291506123a881611dd6565b1438612109565b91908203918211610b7057565b156123c357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4f503a206d617854616b696e672065786365656465640000000000000000006044820152fd5b906004821015611de05752565b60005b8381106124415750506000910152565b8181015183820152602001612431565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209361248d8151809281875287808801910161242e565b0116010190565b919260a0936124a8846107b9989794612421565b6020840152604083015260608201528160808201520190612451565b939291906124f4906124d461058c565b95865273ffffffffffffffffffffffffffffffffffffffff166020860152565b6040840152606083015261250d6060611e958451611ac2565b916125188151613d6b565b949293909195612529868351612af3565b805161253b60408301918251906123af565b93602083015191518098839a879c61255960408601518711156123bc565b6125848961257e602088015173ffffffffffffffffffffffffffffffffffffffff1690565b85612706565b89886060870151805161264b575b5060406125fe94611f9261263f98957f3e156c9468d5a9260d69488b3cd3b03d6f086b1302be445127582bb676fb059d9c9895856125d2611fad97611dd6565b61264457505b73ffffffffffffffffffffffffffffffffffffffff9a5160808a0151918c339116614ed2565b602081519101519061260f87611dd6565b8a604051958695339b1699869192608093969594919660a084019784526020840152604083015260608201520152565b0390a4565b90506125d8565b92989495505050333b156101ae57600089896126988f948a9560405196879586957fbc6ab22500000000000000000000000000000000000000000000000000000000875260048701612494565b038183335af193841561179657611fad60406125fe948f947f3e156c9468d5a9260d69488b3cd3b03d6f086b1302be445127582bb676fb059d9b8f8e611f929361263f9c6126f3575b50955095989c50959850509450612592565b806120a7612700926104c1565b386126e1565b91909181156127ad5773ffffffffffffffffffffffffffffffffffffffff1691826127a4576000809350809281925af161273e61179b565b501561274657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b6101c0926127b2565b505050565b6101c09273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb00000000000000000000000000000000000000000000000000000000602086015216602484015260448301526044825261280d826104f2565b61289d565b1561281957565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff1690604051906128c18261050e565b6020928383527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656484840152803b1561293857600082819282876129139796519301915af161290d61179b565b906129a7565b8051908161292057505050565b826101c0936129339383010191016117cb565b612812565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b9060206107b9928181520190612451565b909190156129b3575090565b8151156129c35750805190602001fd5b612a01906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352602060048401526024830190612451565b0390fd5b6040519060c0820182811067ffffffffffffffff8211176104bc57604052606060a08360008152600060208201526000604082015282808201528260808201520152565b15612a5057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4c4f503a2063616e27742073776170203020616d6f756e7400000000000000006044820152fd5b6024019081602411610b7057565b6002019081600211610b7057565b9060028201809211610b7057565b9060038201809211610b7057565b91908201809211610b7057565b9190612afd612a05565b92805191612b0a83611a73565b60608601908152612b1a84611a73565b9260808701938452612b2b85611a73565b9060a08801918252612b49612b446060611e9584611ac2565b6131aa565b5093612b5b6060820151825190612c79565b90600096602090818c01946040908d8281019b5b8d8110612b86575050505050505050505050505050565b6001918789838f8f908f908c8c92612b9e868d611acf565b51978d890192835115612c6957612bf7612c2599612c08968a968795612c0295612c2d9f888e612bd9610120612bed94510151865190612c79565b9551612be6838351611acf565b5251611acf565b51910151926158b1565b929096519351611acf565b52611acf565b52612c1f612c17838c51611acf565b511515612a49565b51611acf565b518251612ae6565b9052612c45612c3d828751611acf565b518a51612ae6565b8952612c5e8d612c56838d51611acf565b519051612ae6565b8d525b018e90612b6f565b5050505050505050505050612c61565b6301e1338091612c8891612d27565b047f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81116101ae57612cb990612dc8565b600081126101ae5790565b908160011b9180830460021490151715610b7057565b908160011b917f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811603610b7057565b90670de0b6b3a764000091828102928184041490151715610b7057565b81810292918115918404141715610b7057565b8115612d44570490565b611558565b15612d5057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c6964206578706f6e656e74000000000000000000000000000000006044820152fd5b8015612d44576ec097ce7bc90715b34b9f10000000000590565b7ffffffffffffffffffffffffffffffffffffffffffffffffdc702bd3a30fc000081121580613197575b612dfb90612d49565b60008112613182576064906806f05b59d3b2000000811261311f577ffffffffffffffffffffffffffffffffffffffffffffffff90fa4a62c4e0000000168056bc75e2d6310000082770195e54c5dd42177f53a27172fa9ec630262827000000000925b0280829168ad78ebc5ac620000008112156130e3575b50806856bc75e2d631000000849212156130a9575b682b5e3af16b18800000811215613071575b6815af1d78b58c400000811215613039575b680ad78ebc5ac6200000811215613002575b81811215612fcb575b6802b5e3af16b1880000811215612f94575b68015af1d78b58c40000811215612f5d575b60028282800205056003838383020505600484848302050560058585830205056006868683020505600787878302050590600888888402050592600989898602050594600a8a8a8802050596600b8b8b8a02050598600c8c8c8c0205059a0101010101010101010101010205020590565b6806f5f17757889379377ffffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c000083920193020591612eec565b6808f00f760a4b2db55d7ffffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e78000083920193020591612eda565b680ebc5fb417461211107ffffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf0000083920193020591612ec8565b68280e60114edb805d037ffffffffffffffffffffffffffffffffffffffffffffffff5287143a539e0000083920193020591612ebf565b690127fa27722cc06cc5e27fffffffffffffffffffffffffffffffffffffffffffffffea50e2874a73c0000083920193020591612ead565b693f1fce3da636ea5cf8507fffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e780000083920193020591612e9b565b6b02df0ab5a80a22c61ab5a7007fffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cf00000083920193020591612e89565b6e01855144814a7ff805980ff008400092507fffffffffffffffffffffffffffffffffffffffffffffff5287143a539e00000001905082612e74565b6803782dace9d9000000811261316f577ffffffffffffffffffffffffffffffffffffffffffffffffc87d25316270000000168056bc75e2d63100000826b1425982cf597cd205cef738092612e5e565b68056bc75e2d6310000082600192612e5e565b61318e90600003612dc8565b6107b990612dae565b5068070c1cc73b00c80000811315612df2565b6131b381611dd6565b806131c15750600190600590565b6131ca81611dd6565b600181036131db5750600290600690565b806131e7600292611dd6565b036131f457600390600790565b600490600890565b670de0b6b3a76400009161320f91612d27565b0490565b90670de0b6b3a764000090818102918183041490151715610b7057818101809111610b70577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111610b70578115612d44570490565b9392909161327a9085612d27565b90670de0b6b3a76400009182810190818111610b7057670de0b6b3a763ffff01908111610b705783836132ad9204612d27565b947ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000095868501948511610b70578415612d4457849004958201828111610b70576132f691612d27565b8115612d445704818102918183041490151715610b70570490565b919392907ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00009485820193828511610b70578461334c91612d27565b918015612d445761335e920490613213565b938101908111610b7057612d3a9084612d27565b9093928461337f91613213565b918103908111610b70578103908111610b70579190565b92670de0b6b3a7640000808502908582041485151715610b70578115612d445704918101809111610b70578103908111610b70579091565b929190821515806133f7575b6133e5575b50505050565b6133ee93613417565b388080806133df565b503073ffffffffffffffffffffffffffffffffffffffff821614156133da565b9290604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015273ffffffffffffffffffffffffffffffffffffffff809216602485015216604483015260648201526064815260a081019181831067ffffffffffffffff8411176104bc576101c09260405261289d565b1561349a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4c4f503a206d6178496e707574206578636565646564000000000000000000006044820152fd5b939091929361350561058c565b90815261352c6020820193849073ffffffffffffffffffffffffffffffffffffffff169052565b60408101938452606081019485526135496060611e958351611ac2565b926135548251613d6b565b9161356197939197612a05565b5061356d8387516137cd565b919892939094859b8a9e613585879f51881115613493565b518051613764575b5073ffffffffffffffffffffffffffffffffffffffff946135b28730338987166133ce565b61367d60206135c287518a612ae6565b936135dd6135d660408a01968751906123af565b8288612706565b6135e68d611dd6565b888d159e8f988960001461375c57985b1561373e57309f5b15613736575173ffffffffffffffffffffffffffffffffffffffff16915b16809e60006040518096819582947fdb74aa150000000000000000000000000000000000000000000000000000000084526004840190602090939293604083019473ffffffffffffffffffffffffffffffffffffffff809216845216910152565b03925af1998a1561179657611f9261263f986136da976136d2956040957f66ed2f51315962584d12bfd2284e75f9c52f9c0d922295c9911b9e0dea66fe509f613718575b50519060808b015192309116614ed2565b905191612706565b60208151910151906136eb87611dd6565b604051948594339a869192608093969594919660a084019784526020840152604083015260608201520152565b61372f9060203d811161178f57611781818361052a565b50386136c1565b50309161361c565b805173ffffffffffffffffffffffffffffffffffffffff169f6135fe565b5082986135f6565b333b156101ae5760008c8b6137a98a948c60405196879586957f441d4c6200000000000000000000000000000000000000000000000000000000875260048701612494565b038183335af18015611796571561358d57806120a76137c7926104c1565b3861358d565b90916137d7612a05565b5081511561152e5761381d613802846137fa612b44606060208801515101611de5565b959050612af3565b928351946020850151604086019660208851930151936158b1565b9290935191565b1561382b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4c4f503a20656d707479206261746368000000000000000000000000000000006044820152fd5b1561389057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4c4f503a205059206578706972656400000000000000000000000000000000006044820152fd5b156138f557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4c4f503a206e6f742073616d65206f72646572547970650000000000000000006044820152fd5b1561395a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4c4f503a206e6f742073616d65205954000000000000000000000000000000006044820152fd5b156139bf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a206f72646572206578706972656400000000000000000000000000006044820152fd5b15613a2457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4c4f503a206f7264657220696e76616c696461746564000000000000000000006044820152fd5b15613a8957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4c4f503a20696e76616c696420746f6b656e4f757400000000000000000000006044820152fd5b8051613af4811515613824565b60a0613b2081613b0385611ac2565b5151015173ffffffffffffffffffffffffffffffffffffffff1690565b606091613b3083611e9587611ac2565b613b3981611dd6565b600195868214928315613d0b575b73ffffffffffffffffffffffffffffffffffffffff809516906040938451937fe184c9be0000000000000000000000000000000000000000000000000000000085526020948581600481885afa801561179657613bae91600091613cee575b504210613889565b60005b8a8110613bc657505050505050505050505050565b80613bd28d9284611acf565b5151613bfd858d830151613be581611dd6565b613bee82611dd6565b613bf781611dd6565b146138ee565b613c2a87613c246102908985015173ffffffffffffffffffffffffffffffffffffffff1690565b14613953565b613c388882015142106139b8565b89613c928a830151613c8a613c6460c086015173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff166000526066602052604060002090565b541115613a1d565b613c9e575b5001613bb1565b60800151613ce89073ffffffffffffffffffffffffffffffffffffffff168b167f00000000000000000000000000000000000000000000000000000000000000008c161415613a82565b38613c97565b613d059150873d891161178f57611781818361052a565b38613ba6565b9250613d1682611dd6565b6003821492613b47565b604051906080820182811067ffffffffffffffff8211176104bc5760405260006060838281528260208201528260408201520152565b908160209103126101ae57516107b981610190565b613d73613d20565b50613d7d81613f87565b613d8b60a0613b0383611ac2565b73ffffffffffffffffffffffffffffffffffffffff811692604051927fafd27bf50000000000000000000000000000000000000000000000000000000084526020908185600481895afa94851561179657600095613e67575b506004828697604051928380927fd94073d40000000000000000000000000000000000000000000000000000000082525afa90811561179657613e3193600092613e3a575b5050946143b9565b6107b982614f7a565b613e599250803d10613e60575b613e51818361052a565b810190613d56565b3880613e29565b503d613e47565b613e7f919550823d8411613e6057613e51818361052a565b9338613de4565b60a0613b03613ea692613e97613d20565b50613ea181613f87565b611ac2565b9073ffffffffffffffffffffffffffffffffffffffff8216916040517fafd27bf50000000000000000000000000000000000000000000000000000000081526020908181600481885afa908115611796576004918391600091613f6a575b5095604051928380927fd94073d40000000000000000000000000000000000000000000000000000000082525afa91821561179657600092613f4d575b5050916107b982614f7a565b613f639250803d10613e6057613e51818361052a565b3880613f41565b613f819150823d8411613e6057613e51818361052a565b38613f04565b80519060005b828110613f9957505050565b807fd28e5b1468261e3199fa4f021d06e7f7ae7f9e3a5c3a5e5f893755dff2e2bbde613fc760019385611acf565b518051613fda60209182840151906140e2565b93909160408094019384518681106000146140105780965b03908460005260688352888201816000205551908152a25201613f8d565b508580613ff2565b1561401f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4c4f503a20626164207369676e617475726500000000000000000000000000006044820152fd5b1561408457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4c4f503a207265656e7472616e637920646574656374656400000000000000006044820152fd5b91906140ed836151a2565b90816000526068602052604060002054600181146141d957806141b0575061413961413e918361413460c088015173ffffffffffffffffffffffffffffffffffffffff1690565b6141fb565b614018565b61014061010084015193015160148151101561415957509190565b60148101805191517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec01815261418e91615330565b6141ac6141a5826000526068602052604060002090565b541561407d565b9190565b919350507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b505090915090600090565b6040906107b9939281528160208201520190612451565b909161420781846142cc565b6005811015611de0571590816142a9575b506142a157600091829160405161425f8161168260208201947f1626ba7e00000000000000000000000000000000000000000000000000000000998a8752602484016141e4565b51915afa9061426c61179b565b82614295575b8261427c57505090565b6142919192506020808251830101910161153d565b1490565b80516020149250614272565b505050600190565b905073ffffffffffffffffffffffffffffffffffffffff80841691161438614218565b9060418151146000146142fa576142f6916020820151906060604084015193015160001a90614304565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116143ad5760ff16601b811415806143a2575b614396579160809493916020936040519384528484015260408301526060820152600093849182805260015afa1561179657815173ffffffffffffffffffffffffffffffffffffffff811615614390579190565b50600190565b50505050600090600490565b50601c81141561433c565b50505050600090600390565b908051916143c682614e04565b9091600092835b8681106145005750156144665773ffffffffffffffffffffffffffffffffffffffff80821690831614801561445e575b6144575761440c918391614636565b9060005b84811061441e575050505050565b60019060406144438461443e8784614436878c611acf565b510151612d27565b612d3a565b9061444e8388611acf565b51015201614410565b5050505050565b5082156143fd565b9291505060005b83811061447a5750505050565b8061448760019284611acf565b5160408101908151801580156144d9575b6144d1576144c260806144c893510173ffffffffffffffffffffffffffffffffffffffff90511690565b87614636565b90525b0161446d565b5050506144cb565b5081516080015173ffffffffffffffffffffffffffffffffffffffff888116911614614498565b61450a8187611acf565b51826040820191825190811561458e5790614568915161456260c0614546608084015173ffffffffffffffffffffffffffffffffffffffff1690565b92015173ffffffffffffffffffffffffffffffffffffffff1690565b9061459a565b614578575b506001905b016143cd565b60019195614587915190612ae6565b949061456d565b50505050600190614572565b90919073ffffffffffffffffffffffffffffffffffffffff16806146215750905034036145c357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f657468206d69736d6174636800000000000000000000000000000000000000006044820152fd5b8161462b57505050565b6101c0923091613417565b7f0000000000000000000000000000000000000000000000000000000000000000929173ffffffffffffffffffffffffffffffffffffffff8082168186161480614750575b90846147069660209695949361473b575b5050600081831615600014614735575083905b6040518097819682957f20e8c56500000000000000000000000000000000000000000000000000000000845230600485016000929493606092608083019673ffffffffffffffffffffffffffffffffffffffff809216845216602083015260408201520152565b0393165af19081156117965760009161471d575090565b6107b9915060203d811161178f57611781818361052a565b9061469f565b6147469293506147f7565b600090833861468c565b506040517ffa5a4f0600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86166004820152939291906020856024818487165afa948515611796576147069660209686926000916147ca575b501592939495509650945061467b565b6147ea9150883d81116147f0575b6147e2818361052a565b8101906117cb565b386147ba565b503d6147d8565b73ffffffffffffffffffffffffffffffffffffffff1680614867575060003b156101ae576000600491604051928380927fd0e30db0000000000000000000000000000000000000000000000000000000008252845af180156117965761485a5750565b806120a76101c0926104c1565b803b156101ae576040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815260048101929092526000908290602490829084905af180156117965761485a5750565b9092918351936148c681614e04565b90156149d25773ffffffffffffffffffffffffffffffffffffffff9384811680868416146149c057506148fb91849130614bc0565b9060005b86811061490f5750505050505050565b8061491c60019284611acf565b51516149368661443e87614930868d611acf565b51612d27565b87614958608084015173ffffffffffffffffffffffffffffffffffffffff1690565b1680614991575061498661029060e061498b94015173ffffffffffffffffffffffffffffffffffffffff1690565b614aa8565b016148ff565b6149b560e06149bb94015173ffffffffffffffffffffffffffffffffffffffff1690565b906127b2565b61498b565b9350505091506101c093503090614ed2565b50949392905060005b8381106149ea57505050509050565b806149f760019288611acf565b5151608081015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff81811690871603614a6b575060e00151614a659073ffffffffffffffffffffffffffffffffffffffff16614a5d8386611acf565b519086612706565b016149db565b614a8f60e0614aa293015173ffffffffffffffffffffffffffffffffffffffff1690565b9086614a9b8588611acf565b5192614bc0565b50614a65565b814710614b6257600080809373ffffffffffffffffffffffffffffffffffffffff8294165af1614ad661179b565b5015614ade57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152fd5b9392919073ffffffffffffffffffffffffffffffffffffffff90818316614d8b576040517f784367d600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201529082169560209490919085826024818b5afa94851561179657614cc3958793600091614d6e575b5015614d44579788915b60006040518098819582947f769f8e5d0000000000000000000000000000000000000000000000000000000084523060048501608091600093959460a083019673ffffffffffffffffffffffffffffffffffffffff809316845260208401521660408201528260608201520152565b03925af1928315611796576101c094600094614d25575b50508295837f00000000000000000000000000000000000000000000000000000000000000009184808416911614614d15575b505016614aa8565b614d1e916147f7565b3883614d0d565b614d3c929450803d1061178f57611781818361052a565b913880614cda565b507f0000000000000000000000000000000000000000000000000000000000000000978891614c54565b614d859150843d86116147f0576147e2818361052a565b38614c4a565b909260006020946147069697604051978896879586937f769f8e5d00000000000000000000000000000000000000000000000000000000855260048501608091600093959460a083019673ffffffffffffffffffffffffffffffffffffffff809316845260208401521660408201528260608201520152565b908151801561152e5773ffffffffffffffffffffffffffffffffffffffff608081816020870151510151169460015b848110614e4557505050505060019190565b868484614e528486611acf565b515101511603614e6457600101614e33565b50505050509050600090600090565b9093929184519260005b848110614e8d5750505050509050565b80614ecc73ffffffffffffffffffffffffffffffffffffffff60c0614eb46001958c611acf565b515101511685614ec48487611acf565b519188613417565b01614e7d565b8251929493909173ffffffffffffffffffffffffffffffffffffffff81163003614f3957509091929360005b848110614f0c575050505050565b80614f33614f2160e0613b0360019587611acf565b614f2b8387611acf565b5190876127b2565b01614efe565b60005b848110614f4c5750505050509050565b80614f74614f6160e0613b036001958c611acf565b614f6b8387611acf565b51908588613417565b01614f3c565b614f82613d20565b5073ffffffffffffffffffffffffffffffffffffffff809116906040517fe184c9be0000000000000000000000000000000000000000000000000000000081526020918282600481875afa801561179657614fea84916000948591615085575b5042906123af565b946004604051809581937f1d52edc40000000000000000000000000000000000000000000000000000000083525af180156117965761505d92600091615068575b506067549361503861058c565b958652850152821673ffffffffffffffffffffffffffffffffffffffff166040840152565b60a01c606082015290565b61507f9150843d861161178f57611781818361052a565b3861502b565b61509c9150833d851161178f57611781818361052a565b38614fe2565b61016090939291936101808101947f7add545d7d8f07e77f0a943685e28dc6e6e5467c45a31dccbd8095ea82b43dcf825280516020830152602081015160408301526040810151606083015261510060608201516080840190612421565b608081015173ffffffffffffffffffffffffffffffffffffffff1660a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015161518a610100918285019073ffffffffffffffffffffffffffffffffffffffff169052565b81015190610120918284015201516101408201520152565b6107b9906040516151b2816104d5565b6101206000918281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201520152611682615212610140830151602081519101206040519283916020830195866150a2565b51902061521d611b33565b906040519060208201927f190100000000000000000000000000000000000000000000000000000000000084526022830152604282015260428152615261816104f2565b51902090565b9061527a6020928281519485920161242e565b0190565b906004917f8fcbaf0c0000000000000000000000000000000000000000000000000000000081526152b8825180936020868501910161242e565b010190565b906004917fd505accf0000000000000000000000000000000000000000000000000000000081526152b8825180936020868501910161242e565b604051906153048261050e565b600f82527f5065726d6974206661696c65643a2000000000000000000000000000000000006020830152565b9080518061533d57505050565b60009060e081036153c2575050600091829182604051615365816116826020820195866152bd565b51925af161537161179b565b905b1561537b5750565b615390612a019161538a6152f7565b906154bb565b6040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260048301612996565b909290610100036153f7578291826040516153e58161168260208201958661527e565b51925af16153f161179b565b90615373565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f57726f6e67207065726d6974206c656e677468000000000000000000000000006044820152606490fd5b1561545d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e76616c69642072657665727420726561736f6e00000000000000000000006044820152fd5b80516004811015615549575b506154f1916116826155206154de6107b994615716565b61551a6040519687956020870190615267565b7f556e6b6e6f776e28000000000000000000000000000000000000000000000000815260080190565b90615267565b7f2900000000000000000000000000000000000000000000000000000000000000815260010190565b7fffffffff000000000000000000000000000000000000000000000000000000006020830151167f08c379a000000000000000000000000000000000000000000000000000000000811480615686575b156156025750506155d991611682615520836154de60246107b99601516155d26155ca602483860101945192612aae565b845190612ae6565b1115615456565b7f4572726f72280000000000000000000000000000000000000000000000000000815260060190565b7f4e487b710000000000000000000000000000000000000000000000000000000014908161567b575b50615638576154f16154c7565b615652916116826155206154de60246107b9950151615691565b7f50616e6963280000000000000000000000000000000000000000000000000000815260060190565b60249150143861562b565b506044821015615599565b6107b990604051906020820152602081526156ab8161050e565b615716565b906156ba826105be565b6156c7604051918261052a565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611ab882946105be565b80516001101561152e5760210190565b90815181101561152e570160200190565b9061573161572c6157278451612cc4565b612abc565b6156b0565b603061573c82611ac2565b536078615748826156f5565b5360005b835181101561587d576157c56157bf6157b961579161576b8589615705565b517fff000000000000000000000000000000000000000000000000000000000000001690565b60041c7f0f000000000000000000000000000000000000000000000000000000000000001690565b60f81c90565b60ff1690565b906010918281101561152e577f303132333435363738396162636465660000000000000000000000000000000080911a61580f61580961580485612cda565b612aca565b86615705565b5361584b6157bf7f0f0000000000000000000000000000000000000000000000000000000000000061584461576b868b615705565b1660f81c90565b9283101561152e57615878921a61587261586c61586784612cda565b612ad8565b85615705565b5361146e565b61574c565b509150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fd5b9392919093806001146159865780600214615926578060031461591c578060041461591257806005146158fe578060061461590857806007146158fe57600803615882576142f693613396565b506142f693613372565b506142f693613396565b506142f693613311565b506142f69361326c565b5091939261593390612d0a565b918015612d4457615945920490613213565b917ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00008101818111610b705761597a9084612d27565b928115612d4457920490565b506159aa906159a493959492670de0b6b3a764000094859185612d27565b046131fc565b937ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c00008101908111610b705761320f91612d2756fea2646970667358221220d8248282c041c68602a3d5e47d933d3ac3e454ede01ebb561dbcb41b6b6a151764736f6c63430008150033",
1004
+ "linkReferences": {},
1005
+ "deployedLinkReferences": {}
1006
+ }