@pendle/core-v2 0.16.5-testnet → 0.16.6-testnet

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 (184) 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/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +7 -3
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +27 -2
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  37. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  39. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  41. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  46. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/ConvexCurveLP/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  56. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  59. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  61. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  63. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +28 -2
  71. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.json +25 -0
  82. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  88. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  89. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  90. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +22 -20
  91. package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.dbg.json +1 -1
  92. package/build/artifacts/contracts/offchain-helpers/ImplicitSwapfeeContract.sol/ImplicitSwapfeeContract.json +2 -2
  93. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  94. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +28 -2
  95. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  96. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +2 -2
  97. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  98. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +28 -2
  99. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  100. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +2 -2
  101. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  102. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  103. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  104. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
  105. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  106. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +28 -2
  107. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
  108. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +28 -2
  109. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  110. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +28 -2
  111. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  112. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  113. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  114. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  115. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  116. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  117. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  118. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +1 -1
  119. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  120. package/contracts/core/libraries/Errors.sol +6 -0
  121. package/contracts/router/base/MarketApproxLib.sol +5 -2
  122. package/deployments/43113-markets/QIWBTC-3RD-FEB.json +11 -0
  123. package/deployments/43113-testenv.json +2 -1
  124. package/package.json +1 -1
  125. package/typechain-types/AccessControlUpgradeable.ts +369 -0
  126. package/typechain-types/BulkSeller.ts +5 -4
  127. package/typechain-types/BulkSellerFactory.ts +21 -0
  128. package/typechain-types/BulkSellerOffchain.ts +60 -0
  129. package/typechain-types/ContextUpgradeable.ts +68 -0
  130. package/typechain-types/ERC165Upgradeable.ts +113 -0
  131. package/typechain-types/IAccessControlUpgradeable.ts +305 -0
  132. package/typechain-types/IERC165Upgradeable.ts +102 -0
  133. package/typechain-types/ILooksStaking.ts +27 -0
  134. package/typechain-types/IPBulkSellerFactory.ts +21 -0
  135. package/typechain-types/Pausable.ts +101 -0
  136. package/typechain-types/PendleCurveFraxUsdcSY.ts +204 -0
  137. package/typechain-types/PendleCurveUsdd3CrvSY.ts +204 -0
  138. package/typechain-types/PendleLooksStakingSY.ts +1256 -0
  139. package/typechain-types/factories/AccessControlUpgradeable__factory.ts +247 -0
  140. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +27 -1
  141. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  142. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  143. package/typechain-types/factories/ActionMisc__factory.ts +1 -1
  144. package/typechain-types/factories/ActionSwapPTYT__factory.ts +27 -1
  145. package/typechain-types/factories/ActionSwapPT__factory.ts +27 -1
  146. package/typechain-types/factories/ActionSwapYT__factory.ts +27 -1
  147. package/typechain-types/factories/BulkSellerFactory__factory.ts +26 -1
  148. package/typechain-types/factories/BulkSellerOffchain__factory.ts +21 -19
  149. package/typechain-types/factories/BulkSeller__factory.ts +6 -2
  150. package/typechain-types/factories/ContextUpgradeable__factory.ts +39 -0
  151. package/typechain-types/factories/ERC165Upgradeable__factory.ts +58 -0
  152. package/typechain-types/factories/Errors__factory.ts +27 -1
  153. package/typechain-types/factories/IAccessControlUpgradeable__factory.ts +202 -0
  154. package/typechain-types/factories/IERC165Upgradeable__factory.ts +45 -0
  155. package/typechain-types/factories/ILooksStaking__factory.ts +7 -0
  156. package/typechain-types/factories/IPBulkSellerFactory__factory.ts +25 -0
  157. package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +1 -1
  158. package/typechain-types/factories/MarketMathStatic__factory.ts +27 -1
  159. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  160. package/typechain-types/factories/Pausable__factory.ts +62 -0
  161. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +142 -1
  162. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +145 -39
  163. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +1 -1
  164. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  165. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  166. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  167. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1078 -0
  168. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  169. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  170. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  171. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  172. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  173. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  174. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  175. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  176. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  177. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  178. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  179. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  180. package/typechain-types/factories/RouterStatic__factory.ts +1 -1
  181. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  182. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  183. package/typechain-types/hardhat.d.ts +117 -0
  184. package/typechain-types/index.ts +24 -0
@@ -0,0 +1,247 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ AccessControlUpgradeable,
9
+ AccessControlUpgradeableInterface,
10
+ } from "../AccessControlUpgradeable";
11
+
12
+ const _abi = [
13
+ {
14
+ anonymous: false,
15
+ inputs: [
16
+ {
17
+ indexed: false,
18
+ internalType: "uint8",
19
+ name: "version",
20
+ type: "uint8",
21
+ },
22
+ ],
23
+ name: "Initialized",
24
+ type: "event",
25
+ },
26
+ {
27
+ anonymous: false,
28
+ inputs: [
29
+ {
30
+ indexed: true,
31
+ internalType: "bytes32",
32
+ name: "role",
33
+ type: "bytes32",
34
+ },
35
+ {
36
+ indexed: true,
37
+ internalType: "bytes32",
38
+ name: "previousAdminRole",
39
+ type: "bytes32",
40
+ },
41
+ {
42
+ indexed: true,
43
+ internalType: "bytes32",
44
+ name: "newAdminRole",
45
+ type: "bytes32",
46
+ },
47
+ ],
48
+ name: "RoleAdminChanged",
49
+ type: "event",
50
+ },
51
+ {
52
+ anonymous: false,
53
+ inputs: [
54
+ {
55
+ indexed: true,
56
+ internalType: "bytes32",
57
+ name: "role",
58
+ type: "bytes32",
59
+ },
60
+ {
61
+ indexed: true,
62
+ internalType: "address",
63
+ name: "account",
64
+ type: "address",
65
+ },
66
+ {
67
+ indexed: true,
68
+ internalType: "address",
69
+ name: "sender",
70
+ type: "address",
71
+ },
72
+ ],
73
+ name: "RoleGranted",
74
+ type: "event",
75
+ },
76
+ {
77
+ anonymous: false,
78
+ inputs: [
79
+ {
80
+ indexed: true,
81
+ internalType: "bytes32",
82
+ name: "role",
83
+ type: "bytes32",
84
+ },
85
+ {
86
+ indexed: true,
87
+ internalType: "address",
88
+ name: "account",
89
+ type: "address",
90
+ },
91
+ {
92
+ indexed: true,
93
+ internalType: "address",
94
+ name: "sender",
95
+ type: "address",
96
+ },
97
+ ],
98
+ name: "RoleRevoked",
99
+ type: "event",
100
+ },
101
+ {
102
+ inputs: [],
103
+ name: "DEFAULT_ADMIN_ROLE",
104
+ outputs: [
105
+ {
106
+ internalType: "bytes32",
107
+ name: "",
108
+ type: "bytes32",
109
+ },
110
+ ],
111
+ stateMutability: "view",
112
+ type: "function",
113
+ },
114
+ {
115
+ inputs: [
116
+ {
117
+ internalType: "bytes32",
118
+ name: "role",
119
+ type: "bytes32",
120
+ },
121
+ ],
122
+ name: "getRoleAdmin",
123
+ outputs: [
124
+ {
125
+ internalType: "bytes32",
126
+ name: "",
127
+ type: "bytes32",
128
+ },
129
+ ],
130
+ stateMutability: "view",
131
+ type: "function",
132
+ },
133
+ {
134
+ inputs: [
135
+ {
136
+ internalType: "bytes32",
137
+ name: "role",
138
+ type: "bytes32",
139
+ },
140
+ {
141
+ internalType: "address",
142
+ name: "account",
143
+ type: "address",
144
+ },
145
+ ],
146
+ name: "grantRole",
147
+ outputs: [],
148
+ stateMutability: "nonpayable",
149
+ type: "function",
150
+ },
151
+ {
152
+ inputs: [
153
+ {
154
+ internalType: "bytes32",
155
+ name: "role",
156
+ type: "bytes32",
157
+ },
158
+ {
159
+ internalType: "address",
160
+ name: "account",
161
+ type: "address",
162
+ },
163
+ ],
164
+ name: "hasRole",
165
+ outputs: [
166
+ {
167
+ internalType: "bool",
168
+ name: "",
169
+ type: "bool",
170
+ },
171
+ ],
172
+ stateMutability: "view",
173
+ type: "function",
174
+ },
175
+ {
176
+ inputs: [
177
+ {
178
+ internalType: "bytes32",
179
+ name: "role",
180
+ type: "bytes32",
181
+ },
182
+ {
183
+ internalType: "address",
184
+ name: "account",
185
+ type: "address",
186
+ },
187
+ ],
188
+ name: "renounceRole",
189
+ outputs: [],
190
+ stateMutability: "nonpayable",
191
+ type: "function",
192
+ },
193
+ {
194
+ inputs: [
195
+ {
196
+ internalType: "bytes32",
197
+ name: "role",
198
+ type: "bytes32",
199
+ },
200
+ {
201
+ internalType: "address",
202
+ name: "account",
203
+ type: "address",
204
+ },
205
+ ],
206
+ name: "revokeRole",
207
+ outputs: [],
208
+ stateMutability: "nonpayable",
209
+ type: "function",
210
+ },
211
+ {
212
+ inputs: [
213
+ {
214
+ internalType: "bytes4",
215
+ name: "interfaceId",
216
+ type: "bytes4",
217
+ },
218
+ ],
219
+ name: "supportsInterface",
220
+ outputs: [
221
+ {
222
+ internalType: "bool",
223
+ name: "",
224
+ type: "bool",
225
+ },
226
+ ],
227
+ stateMutability: "view",
228
+ type: "function",
229
+ },
230
+ ];
231
+
232
+ export class AccessControlUpgradeable__factory {
233
+ static readonly abi = _abi;
234
+ static createInterface(): AccessControlUpgradeableInterface {
235
+ return new utils.Interface(_abi) as AccessControlUpgradeableInterface;
236
+ }
237
+ static connect(
238
+ address: string,
239
+ signerOrProvider: Signer | Provider
240
+ ): AccessControlUpgradeable {
241
+ return new Contract(
242
+ address,
243
+ _abi,
244
+ signerOrProvider
245
+ ) as AccessControlUpgradeable;
246
+ }
247
+ }
@@ -20,6 +20,32 @@ const _abi = [
20
20
  stateMutability: "nonpayable",
21
21
  type: "constructor",
22
22
  },
23
+ {
24
+ inputs: [
25
+ {
26
+ internalType: "uint256",
27
+ name: "approxGuessMin",
28
+ type: "uint256",
29
+ },
30
+ {
31
+ internalType: "uint256",
32
+ name: "approxGuessMax",
33
+ type: "uint256",
34
+ },
35
+ {
36
+ internalType: "uint256",
37
+ name: "minGuessMin",
38
+ type: "uint256",
39
+ },
40
+ {
41
+ internalType: "uint256",
42
+ name: "maxGuessMax",
43
+ type: "uint256",
44
+ },
45
+ ],
46
+ name: "ApproxBinarySearchInputInvalid",
47
+ type: "error",
48
+ },
23
49
  {
24
50
  inputs: [],
25
51
  name: "ApproxFail",
@@ -1315,7 +1341,7 @@ const _abi = [
1315
1341
  ];
1316
1342
 
1317
1343
  const _bytecode =
1318
- "0x60a06040523480156200001157600080fd5b5060405162004c5538038062004c55833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051614bba6200009b600039600081816101ef01526126590152614bba6000f3fe60806040526004361061008c5760003560e01c8063178d29d3146100915780633af1f329146100c8578063409c7a89146100e85780635b67cdad1461010857806367c2a9a81461011b578063694ab5591461013d578063942244eb1461015d57806397ee279e1461017d578063a45c30221461019d578063b7d75b8b146101bd578063f9530800146101dd575b600080fd5b34801561009d57600080fd5b506100b16100ac3660046140f3565b61021e565b6040516100bf929190614139565b60405180910390f35b3480156100d457600080fd5b506100b16100e3366004614159565b6102a1565b3480156100f457600080fd5b506100b1610103366004614159565b610550565b6100b16101163660046141c8565b610642565b61012e610129366004614247565b610749565b6040516100bf939291906142ba565b34801561014957600080fd5b506100b1610158366004614159565b6109a6565b34801561016957600080fd5b506100b16101783660046142d0565b610c65565b34801561018957600080fd5b5061012e61019836600461433b565b610d88565b3480156101a957600080fd5b506100b16101b836600461438c565b610f9e565b3480156101c957600080fd5b506100b16101d836600461433b565b611139565b3480156101e957600080fd5b506102117f000000000000000000000000000000000000000000000000000000000000000081565b6040516100bf91906143ff565b60008061022d8533878761126c565b6102398686868661128d565b8092508193505050856001600160a01b0316856001600160a01b0316336001600160a01b03167fd31f02c44717b409d13b92ec9d2eaf1427fb4e63f85f4777f1458fb8d93877618786604051610290929190614139565b60405180910390a494509492505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103099190614413565b92509250506000886001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561034f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037391906144da565b905060006103a761038c846001600160a01b0316611348565b8a4261039d368c90038c018c61455c565b86939291906113b4565b505090506103b784338c8c61126c565b60408051600080825260208201928390526329910b1160e01b9092526001600160a01b038c16906329910b11906103f5908e9086906024810161461b565b60408051808303816000875af1158015610413573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610437919061464b565b965090506001600160a01b038b1663156e29f68d83610456868f614685565b6040518463ffffffff1660e01b815260040161047493929190614698565b6060604051808303816000875af1158015610493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b791906146b9565b5090975050888710156104ea578689604051636a1dbf1b60e01b81526004016104e1929190614139565b60405180910390fd5b8b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fc87b85efc5055ef177e0092af0d4e624fff4b1d57db748857f65e4b7e4a28a368d8b604051610539929190614139565b60405180910390a450505050509550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610594573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b89190614413565b92505091506105c982338a8a61126c565b6105d78989838a8a8a6115c0565b8094508195505050886001600160a01b0316886001600160a01b0316336001600160a01b03167fb51950711c9b21dc7888d41f68a19540231ffb5f0d19d8f75cbccaf90ffa7fa58a8860405161062e929190614139565b60405180910390a450509550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106aa9190614413565b925050915060006106be898460018961179a565b90506106ce8a8a84848c8c6115c0565b90955093506106e060208701876146e7565b6001600160a01b0316896001600160a01b0316336001600160a01b03167ff83776e5b667a2b471f92ddfd482749c61b5328b832d375097638c2c08818f3b8d8a602001358a60405161073493929190614698565b60405180910390a45050509550959350505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561078f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b39190614413565b509150915060006107c78a8460018c61179a565b90506000808b6001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561080b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082f91906144da565b905061083d81848c42611a4b565b919a5090975092505082821461086a578282604051636f5068bb60e11b81526004016104e1929190614139565b8888101561088f578789604051636a1dbf1b60e01b81526004016104e1929190614139565b8a602001359650506108a383338d8861126c565b604051630ab714fb60e11b81526001600160a01b038c169063156e29f6906108d3908f9085908a90600401614698565b6060604051808303816000875af11580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091691906146b9565b50909750508787101561092b5761092b614704565b6001600160a01b03808d16908c16337f7f646a534401967ac0913451efea28d9e170ffc164efa98e3957cde363c0245f61096860208f018f6146e7565b604080516001600160a01b039092168252602082018c905281018a9052606081018c905260800160405180910390a450505050955095509592505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156109e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0d9190614413565b925050506000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7691906144da565b9050600080610a85838a611ab6565b915091506000610abb610aa0866001600160a01b0316611348565b8442610ab1368d90038d018d61455c565b8893929190611af1565b50905088610ac9828461471a565b1015610af557610ad9818361471a565b89604051634e6ffe4760e11b81526004016104e1929190614139565b610b018b338d8d61126c565b8a6001600160a01b031663f6b911bc8c8e8d6040518463ffffffff1660e01b8152600401610b319392919061472d565b60408051808303816000875af1158015610b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b73919061464b565b60408051600081526020810191829052635b709f1760e01b9091529093506001600160a01b038d169150635b709f1790610bb4908f9085906024810161461b565b60408051808303816000875af1158015610bd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf6919061464b565b9650610c049050818361471a565b965088871015610c1657610c16614704565b8b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fac97b87f5422fa3beec99bff8f336310d8ebc7d33d909b7d534cd7c72f61e8718d8b604051610539929190614139565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccc9190614413565b50509050610cdc8633888861126c565b6000610cfc610cf383610cee886147ce565b611bf4565b8888600161128d565b93509050610d16888383610d0f896147ce565b6000611c1c565b9350610d2560208601866146e7565b6001600160a01b0316876001600160a01b0316336001600160a01b03167f3fff08e8137afe866dce7ced13ddc12d684db61b80b0ac5cb9e54961c9dd8a218b8a89604051610d7593929190614698565b60405180910390a4505094509492505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610dce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df29190614413565b50915091506000896001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610e38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5c91906144da565b9050610e6a818a8a42611a4b565b919850965094505086861015610e97578587604051636a1dbf1b60e01b81526004016104e1929190614139565b610ea383338c8861126c565b610eaf82338c8761126c565b604051630ab714fb60e11b81526001600160a01b038b169063156e29f690610edf908e9089908990600401614698565b6060604051808303816000875af1158015610efe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2291906146b9565b509096505086861015610f3757610f37614704565b8a6001600160a01b03168a6001600160a01b0316336001600160a01b03167f9334566f6358cd68e33d423fb1c9119c6837e3a2a7a8affaaa5020ed06aec06988888b604051610f88939291906142ba565b60405180910390a4505050955095509592505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610fe1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110059190614413565b505090506110158733898961126c565b60006001600160a01b03881663f6b911bc61103384610cee8a6147ce565b8b8a6040518463ffffffff1660e01b81526004016110539392919061472d565b60408051808303816000875af1158015611071573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611095919061464b565b93509050848310156110be578285604051634e6ffe4760e11b81526004016104e1929190614139565b6110cd898383610d0f8a6147ce565b93506001600160a01b03808a16908916337f0eed48ee59ddaf7384d334727280158b7a75d5e84baa5614200f0506f08bb4fb8a8761110e60208d018d6146e7565b6040805193845260208401929092526001600160a01b0316908201526060810189905260800161062e565b6000806111488633888861126c565b604051633dae446f60e21b81526001600160a01b0387169063f6b911bc90611178908a9081908a9060040161472d565b60408051808303816000875af1158015611196573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ba919061464b565b9092509050838210156111e45781846040516305221cf360e11b81526004016104e1929190614139565b82811015611209578083604051634e6ffe4760e11b81526004016104e1929190614139565b866001600160a01b0316866001600160a01b0316336001600160a01b03167fd9f35a37b64d95edfd8f26adf130ce45f3e9ddf3c7ab8c1fb7224727a339a98e88858760405161125a939291906142ba565b60405180910390a49550959350505050565b8015611287576112876001600160a01b038516848484611e03565b50505050565b600080846001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f2919061488b565b1561130957611302868686611e5b565b915061131a565b611314868686611fbf565b90925090505b8282101561133f5781836040516305221cf360e11b81526004016104e1929190614139565b94509492505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af115801561138a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ae91906148ad565b92915050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036114055760405162461bcd60e51b81526004016104e1906148c6565b60208101516060820151825160009261141d926120d9565b90506000611446876000611441866040015161143c87602001516121d3565b6121ea565b612200565b905061145a816020015184604001516121ea565b602082015260005b816060015181101561159b576000806114858486886000015160000151866122cb565b91509150816114995760208401525061158b565b6000806114b08860000151888a6020015186612333565b915091506000806000856114cb8c6000015160000151612375565b6114d5919061471a565b90506000868c604001516114e99190614685565b9050600085876115008f6000015160200151612375565b61150a9190614685565b6115149190614685565b905061152083886148ee565b945061152c81836148ee565b935050505061154082828a60800151612388565b1561155a5750929a5090985096506115b595505050505050565b8082116115735761156c85600161471a565b8852611584565b61157e600186614685565b60208901525b5050505050505b61159481614905565b9050611462565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611604573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162891906144da565b9050600061165c611641896001600160a01b0316611348565b8842611652368a90038a018a61455c565b86939291906123d1565b50506040805160008082526020820192839052635b709f1760e01b909252919250906001600160a01b038b1690635b709f17906116a0908d9086906024810161461b565b60408051808303816000875af11580156116be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e2919061464b565b945090506001600160a01b038a1663156e29f68c611700848c614685565b856040518463ffffffff1660e01b815260040161171f93929190614698565b6060604051808303816000875af115801561173e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176291906146b9565b50909550508685101561178c578487604051636a1dbf1b60e01b81526004016104e1929190614139565b505050965096945050505050565b60006117b76117ac60208401846146e7565b338460200135612596565b60006117c960608401604085016146e7565b6001600160a01b03166117df60208501856146e7565b6001600160a01b0316141590506000811561187f5761186061180460208601866146e7565b602086013561181960a08801608089016146e7565b61182660a089018961491e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061260292505050565b61187861187360608601604087016146e7565b61270c565b9050611886565b5060208301355b600061189860808601606087016146e7565b6001600160a01b031614611958576118cf6118b960608601604087016146e7565b6118c960808701606088016146e7565b83612796565b6118df60808501606086016146e7565b6001600160a01b031663b27670708883886040518463ffffffff1660e01b815260040161190e93929190614698565b6020604051808303816000875af115801561192d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195191906148ad565b9250611a41565b60008061196b60608701604088016146e7565b6001600160a01b031614611980576000611982565b815b905061199d61199760608701604088016146e7565b8861285a565b6001600160a01b0387166320e8c565828a6119be60608a0160408b016146e7565b6040516001600160e01b031960e086901b1681526001600160a01b0392831660048201529116602482015260448101869052606481018a905260840160206040518083038185885af1158015611a18573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a3d91906148ad565b9350505b5050949350505050565b600080600080600080600080611a738c611a648d612912565b611a6d8d612912565b8c612928565b9350935093509350611a8484612375565b9750611a8f83612375565b9650611a9a82612375565b9550611aa581612375565b945050505050945094509450949050565b600080600080611ace86611ac987612912565b612ae0565b91509150611adb82612375565b9350611ae681612375565b925050509250929050565b604080516080810182528681526020810186905290810184905260608101839052600090819081611b238989886120d9565b90506000611b44866000611b3f85876000015160000151612bab565b612c53565b905060005b816060015181101561159b576000611b618383612c85565b9050600080611b7a876000015187896020015186612cf1565b9150915086604001518211611bc55782855260408701516080860151600091611ba591859190612d12565b90508015611bbf5750919750909550611bea945050505050565b50611bd6565b611bd0600184614685565b60208601525b50505080611be390614905565b9050611b49565b9550959350505050565b60608101516000906001600160a01b0316611c0f5782611c15565b81606001515b9392505050565b60008115611c3957611c398533611c338887611bf4565b8761126c565b825160408401516001600160a01b0390811691161415600081611c5c5787611c5e565b305b60608601519091506000906001600160a01b031615611cf65785606001516001600160a01b031663bd5688d5838960006040518463ffffffff1660e01b8152600401611cac93929190614698565b6020604051808303816000875af1158015611ccb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cef91906148ad565b9050611d88565b604086810151905163769f8e5d60e01b81526001600160a01b038481166004830152602482018a9052918216604482015260006064820152600160848201529089169063769f8e5d9060a4016020604051808303816000875af1158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8591906148ad565b90505b8215611dc757611da686604001518288608001518960a00151612602565b8551611db19061270c565b9350611dc286600001518a86612796565b611dcb565b8093505b8560200151841015611df757602086015160405163c5b5576d60e01b81526104e1918691600401614139565b50505095945050505050565b611287846323b872dd60e01b858585604051602401611e249392919061472d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612d40565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611e9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec09190614413565b925050506000846001600160a01b031663f6b911bc8784876040518463ffffffff1660e01b8152600401611ef69392919061472d565b60408051808303816000875af1158015611f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f38919061464b565b5060405163bcb7ea5d60e01b81529091506001600160a01b0383169063bcb7ea5d90611f689089906004016143ff565b6020604051808303816000875af1158015611f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fab91906148ad565b611fb5908261471a565b9695505050505050565b600080600080856001600160a01b031663f6b911bc8888886040518463ffffffff1660e01b8152600401611ff59392919061472d565b60408051808303816000875af1158015612013573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612037919061464b565b60408051600080825260208201928390526329910b1160e01b909252929450909250906001600160a01b038816906329910b119061207c908b9086906024810161461b565b60408051808303816000875af115801561209a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120be919061464b565b945090506120cc818461471a565b9450505050935093915050565b6121046040518060800160405280600081526020016000815260200160008152602001600081525090565b60c084015182106121285760405163b2094b5960e01b815260040160405180910390fd5b6000828560c0015161213a9190614685565b90506121468582612e12565b82526020850151612158908590612e6e565b60208301528451158061216d57506020820151155b15612194578451602083015160405163b1c4aefb60e01b81526104e1929190600401614139565b6121b285600001518661010001518460200151856000015185612ea5565b604083015260a08501516121c69082612f26565b6060830152509392505050565b600060016121e083612375565b6113ae9190614685565b60008183106121f95781611c15565b5090919050565b6122396040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b83516122459084612f5a565b8152602084015161225690836121ea565b60208201819052815111806122765750670de0b6b3a76400008460800151115b156122a357835160208501516080860151604051632cc06bc160e21b81526104e1939291906004016142ba565b6040808501519082015260608085015190820152608093840151938101939093525090919050565b60008060006122da8785612c85565b90508660a0015181116122f25760019250905061133f565b6000612307878761230285612912565b612f69565b9050600081121561231e575060009250905061133f565b5060a096909601869052506001959350505050565b60008060008061235087876123478861305b565b8b929190613072565b9150915061235d82612375565b935061236881612375565b9250505094509492505050565b60008082121561238457600080fd5b5090565b6000836123a6846123a185670de0b6b3a7640000614685565b6131b8565b111580156123c957506123c5836123a184670de0b6b3a764000061471a565b8411155b949350505050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036124225760405162461bcd60e51b81526004016104e1906148c6565b60208101516060820151825160009261243a926120d9565b90506000612456876000611b3f85876000015160000151612bab565b905060005b816060015181101561159b5760006124738383612c85565b905060008061248c876000015187896020015186612cf1565b9150915086604001518211156124b5576124a7600184614685565b602086015250612586915050565b6000806000848a604001516124ca9190614685565b90506000866124e08c6000015160000151612375565b6124ea9190614685565b9050600085876124fd8d60200151612375565b612507919061471a565b6125119190614685565b905061251d81896148ee565b935061252982846148ee565b945050505061253d81838960800151612388565b15612556575092995090975095506115b5945050505050565b81811161256f5761256885600161471a565b8752612580565b61257a600186614685565b60208801525b50505050505b61258f81614905565b905061245b565b6001600160a01b0383166125e7578034146125e25760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016104e1565b505050565b80156125e2576125e26001600160a01b038416833084611e03565b6001600160a01b038216158061261757508051155b1561263557604051631e59c84360e01b815260040160405180910390fd5b61263f848361285a565b60405163726d379760e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e4da6f2e90612690908590889060040161496b565b600060405180830381865afa1580156126ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126d5919081019061498d565b9050612704816001600160a01b038716156126f15760006126f3565b855b6001600160a01b03861691906131d8565b505050505050565b60006001600160a01b0382161561278f576040516370a0823160e01b81526001600160a01b038316906370a08231906127499030906004016143ff565b602060405180830381865afa158015612766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061278a91906148ad565b6113ae565b4792915050565b806000036127a357505050565b6001600160a01b038316612846576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146127fe576040519150601f19603f3d011682016040523d82523d6000602084013e612803565b606091505b50509050806112875760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016104e1565b6125e26001600160a01b03841683836131fe565b6001600160a01b03821661286c575050565b61287e60026001600160601b03614a10565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa1580156128d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128fb91906148ad565b101561290e5761290e828260001961321d565b5050565b60006001600160ff1b0382111561238457600080fd5b6000808080861580612938575085155b15612956576040516325daaec360e01b815260040160405180910390fd5b60c0880151851061297a5760405163b2094b5960e01b815260040160405180910390fd5b87604001516000036129c7576103e86129ab6129a66129a161299c8a8c614a36565b612375565b613331565b612912565b6129b59190614a66565b92506103e89350869150859050612a6a565b87516040890151600091906129dc9089614a36565b6129e69190614a8d565b9050600089602001518a604001518a6129ff9190614a36565b612a099190614a8d565b905080821215612a3f578194508792508960400151858b60200151612a2e9190614a36565b612a389190614a8d565b9350612a67565b8094508893508960400151858b60000151612a5a9190614a36565b612a649190614a8d565b92505b50505b60008313612a8b57604051631997ea8d60e31b815260040160405180910390fd5b8188602001818151612a9d9190614abb565b905250875181908990612ab1908390614abb565b905250612abe8484614abb565b88604001818151612acf9190614abb565b905250929791965094509092509050565b60008082600003612b04576040516325daaec360e01b815260040160405180910390fd5b60408401516020850151612b189085614a36565b612b229190614a8d565b6040850151855191935090612b379085614a36565b612b419190614a8d565b9050811580612b4e575080155b15612b6c57604051631997ea8d60e31b815260040160405180910390fd5b6040840151612b7b90846133a1565b60408501528351612b8c90826133a1565b84526020840151612b9d90836133a1565b602090940193909352929050565b600080612bd8612bd3856000015186604001518760600151612bcd9190614a66565b906133e8565b61340b565b90506000612bf8612bf1670de0b6b3a764000084614abb565b8390613820565b90506000612c16866020015186612c0f9190614abb565b83906133e8565b90506000612c248287614a66565b90506103e8612c3282612375565b612c3e906103e76148ee565b612c489190614ae3565b979650505050505050565b6122396040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b600081158015612c985750604083015115155b15612ca8575060408201516113ae565b6020830151835111612cd85760208301518351600291612cc79161471a565b612cd19190614ae3565b90506113ae565b604051637d388ed960e11b815260040160405180910390fd5b600080600080612d05878761234788612912565b9150915061235d82613846565b60008284111580156123c95750612d35836123a184670de0b6b3a7640000614685565b909310159392505050565b6000612d95826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166138589092919063ffffffff16565b8051909150156125e25780806020019051810190612db3919061488b565b6125e25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104e1565b6000612e1d82612912565b612e2f6129a66201518061016d6148ee565b8460800151612e3e9190614a36565b612e489190614a8d565b9050600081136113ae57604051630e520c3b60e11b8152600481018290526024016104e1565b60008060008312612e80576001612e84565b6000195b9050612e9b6129a685612e9686613846565b613867565b6123c99082614a36565b600080612eb28684612f26565b9050670de0b6b3a7640000811215612ee05760405163329e322960e21b8152600481018290526024016104e1565b6000612ef6612eef878a614abb565b8990613820565b90506000612f0382613886565b9050612f0f8187613820565b612f199084614a66565b9998505050505050505050565b600080612f386201518061016d6148ee565b612f4284866148ee565b612f4c9190614ae3565b90506123c9612bd382612912565b60008183116121f95781611c15565b600080828560200151612f7c9190614a66565b90506000612f8a8585614abb565b9050600082138015612f9c5750600081135b612fdd5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b60448201526064016104e1565b600061300b612fec8484614a36565b6020890151612ffb9089614abb565b6130059088614a36565b90613820565b9050600061302161301c8486613820565b6138d5565b885190915060009061303c90670de0b6b3a764000090613820565b905061304c81612bcd8486614a66565b8960400151612f199190614a66565b600061306682612912565b6113ae90600019614a36565b6000806000613094876000015187602001518860000151896040015188613961565b905060006130aa6130a58684613820565b613a06565b606088015190915060008613156131195760006130c78483613820565b9050670de0b6b3a76400008112156130f55760405163329e322960e21b8152600481018290526024016104e1565b61311161310a83670de0b6b3a7640000614a66565b84906133e8565b915050613146565b6131438161312f81670de0b6b3a7640000614a66565b6131399085614a36565b6130a59190614a8d565b90505b600060646131578b60e00151612912565b6131619084614a36565b61316b9190614a8d565b905060006131798385614a66565b9050600081126131925761318d8982613a14565b61319c565b61319c8982613a41565b96506131a88983613a14565b9550505050505094509492505050565b6000806131c583856148ee565b670de0b6b3a76400009004949350505050565b60606123c9848484604051806060016040528060298152602001614b5c60299139613a6e565b6125e28363a9059cbb60e01b8484604051602401611e24929190614af7565b600080846001600160a01b031663095ea7b360e01b8585604051602401613245929190614af7565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516132839190614b10565b6000604051808303816000865af19150503d80600081146132c0576040519150601f19603f3d011682016040523d82523d6000602084013e6132c5565b606091505b50915091508180156132ef5750805115806132ef5750808060200190518101906132ef919061488b565b61332a5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016104e1565b5050505050565b60006003821115613392575080600061334b600283614ae3565b61335690600161471a565b90505b8181101561338c579050806002816133718186614ae3565b61337b919061471a565b6133859190614ae3565b9050613359565b50919050565b811561339c575060015b919050565b6000818312156133de5760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b60448201526064016104e1565b611c158284614a66565b6000806133f58385614a36565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015613430575068070c1cc73b00c800008213155b61346f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016104e1565b60008212156134a7576134848260000361340b565b6a0c097ce7bc90715b34b9f160241b816134a0576134a06149fa565b0592915050565b60006806f05b59d3b200000083126134e557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61351b565b6803782dace9d9000000831261351757506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061351b565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261356b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126135a7576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126135e157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261361b576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261365457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261368d5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126136c6576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126136ff5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080613835670de0b6b3a764000085614a36565b9050828181613402576134026149fa565b60008082136123845761278a82614b2c565b60606123c98484600085613a6e565b6000670de0b6b3a764000061387c84846148ee565b611c159190614ae3565b6000670de0b6b3a764000082036138b05760405163a9c8b14d60e01b815260040160405180910390fd5b60006138ce6138c784670de0b6b3a7640000614a66565b8490613820565b9050611c15815b60008082136139165760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016104e1565b670c7d713b49da0000821380156139345750670f43fc2c04ee000082125b1561395857670de0b6b3a764000061394b83613b94565b816134a0576134a06149fa565b6113ae82613cb3565b60008061396e87846133a1565b9050600061397f612bf1888a614abb565b9050670d529ae9e86000008113156139b65780670d529ae9e8600000604051637e34684f60e11b81526004016104e1929190614139565b60006139c182613886565b9050856139ce8289613820565b6139d89190614abb565b9350670de0b6b3a7640000841215611df75760405163329e322960e21b8152600481018590526024016104e1565b60006113ae82600019614a36565b60008060008312613a26576001613a2a565b6000195b9050612e9b6129a685613a3c86613846565b614056565b60008060008312613a53576001613a57565b6000195b9050612e9b6129a685613a6986613846565b61406b565b606082471015613acf5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104e1565b6001600160a01b0385163b613b265760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104e1565b600080866001600160a01b03168587604051613b429190614b10565b60006040518083038185875af1925050503d8060008114613b7f576040519150601f19603f3d011682016040523d82523d6000602084013e613b84565b606091505b5091509150612c48828286614097565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281613bd557613bd56149fa565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215613cf457613ceb826a0c097ce7bc90715b34b9f160241b81613ce557613ce56149fa565b05613cb3565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312613d3f5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312613d76576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312613dbe576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312613df9576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312613e3057693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312613e6757690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312613e9c5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312613ec757680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312613efc576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312613f31576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312613f65576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312613f99576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281613fc257613fc26149fa565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b60008261387c670de0b6b3a7640000846148ee565b600082600181614083670de0b6b3a7640000866148ee565b61408d919061471a565b61387c9190614685565b606083156140a6575081611c15565b8251156140b65782518084602001fd5b8160405162461bcd60e51b81526004016104e19190614b48565b6001600160a01b03811681146140e557600080fd5b50565b803561339c816140d0565b6000806000806080858703121561410957600080fd5b8435614114816140d0565b93506020850135614124816140d0565b93969395505050506040820135916060013590565b918252602082015260400190565b600060a0828403121561338c57600080fd5b6000806000806000610120868803121561417257600080fd5b853561417d816140d0565b9450602086013561418d816140d0565b935060408601359250606086013591506141aa8760808801614147565b90509295509295909350565b600060c0828403121561338c57600080fd5b600080600080600061012086880312156141e157600080fd5b85356141ec816140d0565b945060208601356141fc816140d0565b9350604086013592506142128760608801614147565b91506101008601356001600160401b0381111561422e57600080fd5b61423a888289016141b6565b9150509295509295909350565b600080600080600060a0868803121561425f57600080fd5b853561426a816140d0565b9450602086013561427a816140d0565b935060408601356001600160401b0381111561429557600080fd5b6142a1888289016141b6565b9598949750949560608101359550608001359392505050565b9283526020830191909152604082015260600190565b600080600080608085870312156142e657600080fd5b84356142f1816140d0565b93506020850135614301816140d0565b92506040850135915060608501356001600160401b0381111561432357600080fd5b61432f878288016141b6565b91505092959194509250565b600080600080600060a0868803121561435357600080fd5b853561435e816140d0565b9450602086013561436e816140d0565b94979496505050506040830135926060810135926080909101359150565b600080600080600060a086880312156143a457600080fd5b85356143af816140d0565b945060208601356143bf816140d0565b93506040860135925060608601356001600160401b038111156143e157600080fd5b6143ed888289016141b6565b95989497509295608001359392505050565b6001600160a01b0391909116815260200190565b60008060006060848603121561442857600080fd5b8351614433816140d0565b6020850151909350614444816140d0565b6040850151909250614455816140d0565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561449957614499614460565b60405290565b604051601f8201601f191681016001600160401b03811182821017156144c7576144c7614460565b604052919050565b805161339c816140d0565b600061012082840312156144ed57600080fd5b6144f5614476565b825181526020830151602082015260408301516040820152614519606084016144cf565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b600060a0828403121561456e57600080fd5b60405160a081016001600160401b038111828210171561459057614590614460565b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60005b838110156145e65781810151838201526020016145ce565b50506000910152565b600081518084526146078160208601602086016145cb565b601f01601f19169290920160200192915050565b60018060a01b038416815282602082015260606040820152600061464260608301846145ef565b95945050505050565b6000806040838503121561465e57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b818103818111156113ae576113ae61466f565b6001600160a01b039390931683526020830191909152604082015260600190565b6000806000606084860312156146ce57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156146f957600080fd5b8135611c15816140d0565b634e487b7160e01b600052600160045260246000fd5b808201808211156113ae576113ae61466f565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160401b0382111561476a5761476a614460565b50601f01601f191660200190565b600082601f83011261478957600080fd5b813561479c61479782614751565b61449f565b8181528460208386010111156147b157600080fd5b816020850160208301376000918101602001919091529392505050565b600060c082360312156147e057600080fd5b60405160c081016001600160401b03808211838310171561480357614803614460565b8160405284359150614814826140d0565b8183526020850135602084015260408501359150614831826140d0565b81604084015260608501359150614847826140d0565b816060840152614859608086016140e8565b608084015260a085013591508082111561487257600080fd5b5061487f36828601614778565b60a08301525092915050565b60006020828403121561489d57600080fd5b81518015158114611c1557600080fd5b6000602082840312156148bf57600080fd5b5051919050565b6020808252600e908201526d06e6f206578697374696e67206c760941b604082015260600190565b80820281158282048414176113ae576113ae61466f565b6000600182016149175761491761466f565b5060010190565b6000808335601e1984360301811261493557600080fd5b8301803591506001600160401b0382111561494f57600080fd5b60200191503681900382131561496457600080fd5b9250929050565b60408152600061497e60408301856145ef565b90508260208301529392505050565b60006020828403121561499f57600080fd5b81516001600160401b038111156149b557600080fd5b8201601f810184136149c657600080fd5b80516149d461479782614751565b8181528560208385010111156149e957600080fd5b6146428260208301602086016145cb565b634e487b7160e01b600052601260045260246000fd5b60006001600160601b0383811680614a2a57614a2a6149fa565b92169190910492915050565b80820260008212600160ff1b84141615614a5257614a5261466f565b81810583148215176113ae576113ae61466f565b8181036000831280158383131683831282161715614a8657614a8661466f565b5092915050565b600082614a9c57614a9c6149fa565b600160ff1b821460001984141615614ab657614ab661466f565b500590565b8082018281126000831280158216821582161715614adb57614adb61466f565b505092915050565b600082614af257614af26149fa565b500490565b6001600160a01b03929092168252602082015260400190565b60008251614b228184602087016145cb565b9190910192915050565b6000600160ff1b8201614b4157614b4161466f565b5060000390565b602081526000611c1560208301846145ef56fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220bc2a31456ec78ad9520165f63d9887ee37f88cf444257065ee5022794d73f44164736f6c63430008110033";
1344
+ "0x60a06040523480156200001157600080fd5b5060405162004d0738038062004d07833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051614c6c6200009b600039600081816101ef015261265d0152614c6c6000f3fe60806040526004361061008c5760003560e01c8063178d29d3146100915780633af1f329146100c8578063409c7a89146100e85780635b67cdad1461010857806367c2a9a81461011b578063694ab5591461013d578063942244eb1461015d57806397ee279e1461017d578063a45c30221461019d578063b7d75b8b146101bd578063f9530800146101dd575b600080fd5b34801561009d57600080fd5b506100b16100ac3660046141a5565b61021e565b6040516100bf9291906141eb565b60405180910390f35b3480156100d457600080fd5b506100b16100e336600461420b565b6102a1565b3480156100f457600080fd5b506100b161010336600461420b565b610550565b6100b161011636600461427a565b610642565b61012e6101293660046142f9565b610749565b6040516100bf9392919061436c565b34801561014957600080fd5b506100b161015836600461420b565b6109a6565b34801561016957600080fd5b506100b1610178366004614382565b610c65565b34801561018957600080fd5b5061012e6101983660046143ed565b610d88565b3480156101a957600080fd5b506100b16101b836600461443e565b610f9e565b3480156101c957600080fd5b506100b16101d83660046143ed565b611139565b3480156101e957600080fd5b506102117f000000000000000000000000000000000000000000000000000000000000000081565b6040516100bf91906144b1565b60008061022d8533878761126c565b6102398686868661128d565b8092508193505050856001600160a01b0316856001600160a01b0316336001600160a01b03167fd31f02c44717b409d13b92ec9d2eaf1427fb4e63f85f4777f1458fb8d938776187866040516102909291906141eb565b60405180910390a494509492505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030991906144c5565b92509250506000886001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561034f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610373919061458c565b905060006103a761038c846001600160a01b0316611348565b8a4261039d368c90038c018c61460e565b86939291906113b4565b505090506103b784338c8c61126c565b60408051600080825260208201928390526329910b1160e01b9092526001600160a01b038c16906329910b11906103f5908e908690602481016146cd565b60408051808303816000875af1158015610413573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043791906146fd565b965090506001600160a01b038b1663156e29f68d83610456868f614737565b6040518463ffffffff1660e01b81526004016104749392919061474a565b6060604051808303816000875af1158015610493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b7919061476b565b5090975050888710156104ea578689604051636a1dbf1b60e01b81526004016104e19291906141eb565b60405180910390fd5b8b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fc87b85efc5055ef177e0092af0d4e624fff4b1d57db748857f65e4b7e4a28a368d8b6040516105399291906141eb565b60405180910390a450505050509550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610594573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b891906144c5565b92505091506105c982338a8a61126c565b6105d78989838a8a8a6115c0565b8094508195505050886001600160a01b0316886001600160a01b0316336001600160a01b03167fb51950711c9b21dc7888d41f68a19540231ffb5f0d19d8f75cbccaf90ffa7fa58a8860405161062e9291906141eb565b60405180910390a450509550959350505050565b600080600080876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106aa91906144c5565b925050915060006106be898460018961179a565b90506106ce8a8a84848c8c6115c0565b90955093506106e06020870187614799565b6001600160a01b0316896001600160a01b0316336001600160a01b03167ff83776e5b667a2b471f92ddfd482749c61b5328b832d375097638c2c08818f3b8d8a602001358a6040516107349392919061474a565b60405180910390a45050509550959350505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561078f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b391906144c5565b509150915060006107c78a8460018c61179a565b90506000808b6001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa15801561080b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082f919061458c565b905061083d81848c42611a4b565b919a5090975092505082821461086a578282604051636f5068bb60e11b81526004016104e19291906141eb565b8888101561088f578789604051636a1dbf1b60e01b81526004016104e19291906141eb565b8a602001359650506108a383338d8861126c565b604051630ab714fb60e11b81526001600160a01b038c169063156e29f6906108d3908f9085908a9060040161474a565b6060604051808303816000875af11580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610916919061476b565b50909750508787101561092b5761092b6147b6565b6001600160a01b03808d16908c16337f7f646a534401967ac0913451efea28d9e170ffc164efa98e3957cde363c0245f61096860208f018f614799565b604080516001600160a01b039092168252602082018c905281018a9052606081018c905260800160405180910390a450505050955095509592505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156109e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0d91906144c5565b925050506000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a76919061458c565b9050600080610a85838a611ab6565b915091506000610abb610aa0866001600160a01b0316611348565b8442610ab1368d90038d018d61460e565b8893929190611af1565b50905088610ac982846147cc565b1015610af557610ad981836147cc565b89604051634e6ffe4760e11b81526004016104e19291906141eb565b610b018b338d8d61126c565b8a6001600160a01b031663f6b911bc8c8e8d6040518463ffffffff1660e01b8152600401610b31939291906147df565b60408051808303816000875af1158015610b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7391906146fd565b60408051600081526020810191829052635b709f1760e01b9091529093506001600160a01b038d169150635b709f1790610bb4908f908590602481016146cd565b60408051808303816000875af1158015610bd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf691906146fd565b9650610c04905081836147cc565b965088871015610c1657610c166147b6565b8b6001600160a01b03168b6001600160a01b0316336001600160a01b03167fac97b87f5422fa3beec99bff8f336310d8ebc7d33d909b7d534cd7c72f61e8718d8b6040516105399291906141eb565b6000806000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccc91906144c5565b50509050610cdc8633888861126c565b6000610cfc610cf383610cee88614880565b611bf4565b8888600161128d565b93509050610d16888383610d0f89614880565b6000611c1c565b9350610d256020860186614799565b6001600160a01b0316876001600160a01b0316336001600160a01b03167f3fff08e8137afe866dce7ced13ddc12d684db61b80b0ac5cb9e54961c9dd8a218b8a89604051610d759392919061474a565b60405180910390a4505094509492505050565b6000806000806000886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610dce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df291906144c5565b50915091506000896001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610e38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5c919061458c565b9050610e6a818a8a42611a4b565b919850965094505086861015610e97578587604051636a1dbf1b60e01b81526004016104e19291906141eb565b610ea383338c8861126c565b610eaf82338c8761126c565b604051630ab714fb60e11b81526001600160a01b038b169063156e29f690610edf908e908990899060040161474a565b6060604051808303816000875af1158015610efe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f22919061476b565b509096505086861015610f3757610f376147b6565b8a6001600160a01b03168a6001600160a01b0316336001600160a01b03167f9334566f6358cd68e33d423fb1c9119c6837e3a2a7a8affaaa5020ed06aec06988888b604051610f889392919061436c565b60405180910390a4505050955095509592505050565b6000806000866001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610fe1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100591906144c5565b505090506110158733898961126c565b60006001600160a01b03881663f6b911bc61103384610cee8a614880565b8b8a6040518463ffffffff1660e01b8152600401611053939291906147df565b60408051808303816000875af1158015611071573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109591906146fd565b93509050848310156110be578285604051634e6ffe4760e11b81526004016104e19291906141eb565b6110cd898383610d0f8a614880565b93506001600160a01b03808a16908916337f0eed48ee59ddaf7384d334727280158b7a75d5e84baa5614200f0506f08bb4fb8a8761110e60208d018d614799565b6040805193845260208401929092526001600160a01b0316908201526060810189905260800161062e565b6000806111488633888861126c565b604051633dae446f60e21b81526001600160a01b0387169063f6b911bc90611178908a9081908a906004016147df565b60408051808303816000875af1158015611196573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ba91906146fd565b9092509050838210156111e45781846040516305221cf360e11b81526004016104e19291906141eb565b82811015611209578083604051634e6ffe4760e11b81526004016104e19291906141eb565b866001600160a01b0316866001600160a01b0316336001600160a01b03167fd9f35a37b64d95edfd8f26adf130ce45f3e9ddf3c7ab8c1fb7224727a339a98e88858760405161125a9392919061436c565b60405180910390a49550959350505050565b8015611287576112876001600160a01b038516848484611e03565b50505050565b600080846001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f2919061493d565b1561130957611302868686611e5b565b915061131a565b611314868686611fbf565b90925090505b8282101561133f5781836040516305221cf360e11b81526004016104e19291906141eb565b94509492505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af115801561138a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ae919061495f565b92915050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036114055760405162461bcd60e51b81526004016104e190614978565b60208101516060820151825160009261141d926120d9565b90506000611446876000611441866040015161143c87602001516121d3565b6121ea565b612200565b905061145a816020015184604001516121ea565b602082015260005b816060015181101561159b576000806114858486886000015160000151866122cb565b91509150816114995760208401525061158b565b6000806114b08860000151888a6020015186612333565b915091506000806000856114cb8c6000015160000151612375565b6114d591906147cc565b90506000868c604001516114e99190614737565b9050600085876115008f6000015160200151612375565b61150a9190614737565b6115149190614737565b905061152083886149a0565b945061152c81836149a0565b935050505061154082828a60800151612388565b1561155a5750929a5090985096506115b595505050505050565b8082116115735761156c8560016147cc565b8852611584565b61157e600186614737565b60208901525b5050505050505b611594816149b7565b9050611462565b50604051637d388ed960e11b815260040160405180910390fd5b955095509592505050565b6000806000876001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611604573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611628919061458c565b9050600061165c611641896001600160a01b0316611348565b8842611652368a90038a018a61460e565b86939291906123d1565b50506040805160008082526020820192839052635b709f1760e01b909252919250906001600160a01b038b1690635b709f17906116a0908d908690602481016146cd565b60408051808303816000875af11580156116be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e291906146fd565b945090506001600160a01b038a1663156e29f68c611700848c614737565b856040518463ffffffff1660e01b815260040161171f9392919061474a565b6060604051808303816000875af115801561173e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611762919061476b565b50909550508685101561178c578487604051636a1dbf1b60e01b81526004016104e19291906141eb565b505050965096945050505050565b60006117b76117ac6020840184614799565b33846020013561259a565b60006117c96060840160408501614799565b6001600160a01b03166117df6020850185614799565b6001600160a01b0316141590506000811561187f576118606118046020860186614799565b602086013561181960a0880160808901614799565b61182660a08901896149d0565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061260692505050565b6118786118736060860160408701614799565b612710565b9050611886565b5060208301355b60006118986080860160608701614799565b6001600160a01b031614611958576118cf6118b96060860160408701614799565b6118c96080870160608801614799565b8361279a565b6118df6080850160608601614799565b6001600160a01b031663b27670708883886040518463ffffffff1660e01b815260040161190e9392919061474a565b6020604051808303816000875af115801561192d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611951919061495f565b9250611a41565b60008061196b6060870160408801614799565b6001600160a01b031614611980576000611982565b815b905061199d6119976060870160408801614799565b8861285e565b6001600160a01b0387166320e8c565828a6119be60608a0160408b01614799565b6040516001600160e01b031960e086901b1681526001600160a01b0392831660048201529116602482015260448101869052606481018a905260840160206040518083038185885af1158015611a18573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a3d919061495f565b9350505b5050949350505050565b600080600080600080600080611a738c611a648d612916565b611a6d8d612916565b8c61292c565b9350935093509350611a8484612375565b9750611a8f83612375565b9650611a9a82612375565b9550611aa581612375565b945050505050945094509450949050565b600080600080611ace86611ac987612916565b612ae4565b91509150611adb82612375565b9350611ae681612375565b925050509250929050565b604080516080810182528681526020810186905290810184905260608101839052600090819081611b238989886120d9565b90506000611b44866000611b3f85876000015160000151612baf565b612c57565b905060005b816060015181101561159b576000611b618383612d37565b9050600080611b7a876000015187896020015186612da3565b9150915086604001518211611bc55782855260408701516080860151600091611ba591859190612dc4565b90508015611bbf5750919750909550611bea945050505050565b50611bd6565b611bd0600184614737565b60208601525b50505080611be3906149b7565b9050611b49565b9550959350505050565b60608101516000906001600160a01b0316611c0f5782611c15565b81606001515b9392505050565b60008115611c3957611c398533611c338887611bf4565b8761126c565b825160408401516001600160a01b0390811691161415600081611c5c5787611c5e565b305b60608601519091506000906001600160a01b031615611cf65785606001516001600160a01b031663bd5688d5838960006040518463ffffffff1660e01b8152600401611cac9392919061474a565b6020604051808303816000875af1158015611ccb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cef919061495f565b9050611d88565b604086810151905163769f8e5d60e01b81526001600160a01b038481166004830152602482018a9052918216604482015260006064820152600160848201529089169063769f8e5d9060a4016020604051808303816000875af1158015611d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d85919061495f565b90505b8215611dc757611da686604001518288608001518960a00151612606565b8551611db190612710565b9350611dc286600001518a8661279a565b611dcb565b8093505b8560200151841015611df757602086015160405163c5b5576d60e01b81526104e19186916004016141eb565b50505095945050505050565b611287846323b872dd60e01b858585604051602401611e24939291906147df565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612df2565b600080836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611e9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec091906144c5565b925050506000846001600160a01b031663f6b911bc8784876040518463ffffffff1660e01b8152600401611ef6939291906147df565b60408051808303816000875af1158015611f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3891906146fd565b5060405163bcb7ea5d60e01b81529091506001600160a01b0383169063bcb7ea5d90611f689089906004016144b1565b6020604051808303816000875af1158015611f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fab919061495f565b611fb590826147cc565b9695505050505050565b600080600080856001600160a01b031663f6b911bc8888886040518463ffffffff1660e01b8152600401611ff5939291906147df565b60408051808303816000875af1158015612013573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203791906146fd565b60408051600080825260208201928390526329910b1160e01b909252929450909250906001600160a01b038816906329910b119061207c908b908690602481016146cd565b60408051808303816000875af115801561209a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120be91906146fd565b945090506120cc81846147cc565b9450505050935093915050565b6121046040518060800160405280600081526020016000815260200160008152602001600081525090565b60c084015182106121285760405163b2094b5960e01b815260040160405180910390fd5b6000828560c0015161213a9190614737565b90506121468582612ec4565b82526020850151612158908590612f20565b60208301528451158061216d57506020820151155b15612194578451602083015160405163b1c4aefb60e01b81526104e19291906004016141eb565b6121b285600001518661010001518460200151856000015185612f57565b604083015260a08501516121c69082612fd8565b6060830152509392505050565b600060016121e083612375565b6113ae9190614737565b60008183106121f95781611c15565b5090919050565b6122396040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b8351612245908461300c565b8152602084015161225690836121ea565b60208201819052815111806122765750670de0b6b3a76400008460800151115b156122a357835160208501516080860151604051632cc06bc160e21b81526104e19392919060040161436c565b6040808501519082015260608085015190820152608093840151938101939093525090919050565b60008060006122da8785612d37565b90508660a0015181116122f25760019250905061133f565b6000612307878761230285612916565b61301b565b9050600081121561231e575060009250905061133f565b5060a096909601869052506001959350505050565b60008060008061235087876123478861310d565b8b929190613124565b9150915061235d82612375565b935061236881612375565b9250505094509492505050565b60008082121561238457600080fd5b5090565b6000836123a6846123a185670de0b6b3a7640000614737565b61326a565b111580156123c957506123c5836123a184670de0b6b3a76400006147cc565b8411155b949350505050565b60008060008060405180608001604052808a81526020018981526020018881526020018781525090508060000151604001516000036124225760405162461bcd60e51b81526004016104e190614978565b60208101516060820151825160009261243a926120d9565b90506000612456876000611b3f85876000015160000151612baf565b905060005b816060015181101561159b5760006124738383612d37565b905060008061248c876000015187896020015186612da3565b9150915086604001518211156124b5576124a7600184614737565b60208601525061258a915050565b6000806000848a604001516124ca9190614737565b90506000866124e08c6000015160000151612375565b6124ea9190614737565b9050600085876125018e6000015160200151612375565b61250b91906147cc565b6125159190614737565b905061252181896149a0565b935061252d82846149a0565b945050505061254181838960800151612388565b1561255a575092995090975095506115b5945050505050565b8181116125735761256c8560016147cc565b8752612584565b61257e600186614737565b60208801525b50505050505b612593816149b7565b905061245b565b6001600160a01b0383166125eb578034146125e65760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016104e1565b505050565b80156125e6576125e66001600160a01b038416833084611e03565b6001600160a01b038216158061261b57508051155b1561263957604051631e59c84360e01b815260040160405180910390fd5b612643848361285e565b60405163726d379760e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e4da6f2e906126949085908890600401614a1d565b600060405180830381865afa1580156126b1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526126d99190810190614a3f565b9050612708816001600160a01b038716156126f55760006126f7565b855b6001600160a01b038616919061328a565b505050505050565b60006001600160a01b03821615612793576040516370a0823160e01b81526001600160a01b038316906370a082319061274d9030906004016144b1565b602060405180830381865afa15801561276a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061278e919061495f565b6113ae565b4792915050565b806000036127a757505050565b6001600160a01b03831661284a576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612802576040519150601f19603f3d011682016040523d82523d6000602084013e612807565b606091505b50509050806112875760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016104e1565b6125e66001600160a01b03841683836132b0565b6001600160a01b038216612870575050565b61288260026001600160601b03614ac2565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa1580156128db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ff919061495f565b10156129125761291282826000196132cf565b5050565b60006001600160ff1b0382111561238457600080fd5b600080808086158061293c575085155b1561295a576040516325daaec360e01b815260040160405180910390fd5b60c0880151851061297e5760405163b2094b5960e01b815260040160405180910390fd5b87604001516000036129cb576103e86129af6129aa6129a56129a08a8c614ae8565b612375565b6133e3565b612916565b6129b99190614b18565b92506103e89350869150859050612a6e565b87516040890151600091906129e09089614ae8565b6129ea9190614b3f565b9050600089602001518a604001518a612a039190614ae8565b612a0d9190614b3f565b905080821215612a43578194508792508960400151858b60200151612a329190614ae8565b612a3c9190614b3f565b9350612a6b565b8094508893508960400151858b60000151612a5e9190614ae8565b612a689190614b3f565b92505b50505b60008313612a8f57604051631997ea8d60e31b815260040160405180910390fd5b8188602001818151612aa19190614b6d565b905250875181908990612ab5908390614b6d565b905250612ac28484614b6d565b88604001818151612ad39190614b6d565b905250929791965094509092509050565b60008082600003612b08576040516325daaec360e01b815260040160405180910390fd5b60408401516020850151612b1c9085614ae8565b612b269190614b3f565b6040850151855191935090612b3b9085614ae8565b612b459190614b3f565b9050811580612b52575080155b15612b7057604051631997ea8d60e31b815260040160405180910390fd5b6040840151612b7f9084613453565b60408501528351612b909082613453565b84526020840151612ba19083613453565b602090940193909352929050565b600080612bdc612bd7856000015186604001518760600151612bd19190614b18565b9061349a565b6134bd565b90506000612bfc612bf5670de0b6b3a764000084614b6d565b83906138d2565b90506000612c1a866020015186612c139190614b6d565b839061349a565b90506000612c288287614b18565b90506103e8612c3682612375565b612c42906103e76149a0565b612c4c9190614b95565b979650505050505050565b612c896040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b602084015184511180612ca75750670de0b6b3a76400008460800151115b15612cd457835160208501516080860151604051632cc06bc160e21b81526104e19392919060040161436c565b8351612ce0908461300c565b81526020840151612cf190836121ea565b60208201819052815111156122a3578351602085015160405163143e763760e31b81526004810192909252602482015260448101849052606481018390526084016104e1565b600081158015612d4a5750604083015115155b15612d5a575060408201516113ae565b6020830151835111612d8a5760208301518351600291612d79916147cc565b612d839190614b95565b90506113ae565b604051637d388ed960e11b815260040160405180910390fd5b600080600080612db7878761234788612916565b9150915061235d826138f8565b60008284111580156123c95750612de7836123a184670de0b6b3a7640000614737565b909310159392505050565b6000612e47826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661390a9092919063ffffffff16565b8051909150156125e65780806020019051810190612e65919061493d565b6125e65760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104e1565b6000612ecf82612916565b612ee16129aa6201518061016d6149a0565b8460800151612ef09190614ae8565b612efa9190614b3f565b9050600081136113ae57604051630e520c3b60e11b8152600481018290526024016104e1565b60008060008312612f32576001612f36565b6000195b9050612f4d6129aa85612f48866138f8565b613919565b6123c99082614ae8565b600080612f648684612fd8565b9050670de0b6b3a7640000811215612f925760405163329e322960e21b8152600481018290526024016104e1565b6000612fa8612fa1878a614b6d565b89906138d2565b90506000612fb582613938565b9050612fc181876138d2565b612fcb9084614b18565b9998505050505050505050565b600080612fea6201518061016d6149a0565b612ff484866149a0565b612ffe9190614b95565b90506123c9612bd782612916565b60008183116121f95781611c15565b60008082856020015161302e9190614b18565b9050600061303c8585614b6d565b905060008213801561304e5750600081135b61308f5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a59081c1d151bd3585c9ad95d60721b60448201526064016104e1565b60006130bd61309e8484614ae8565b60208901516130ad9089614b6d565b6130b79088614ae8565b906138d2565b905060006130d36130ce84866138d2565b613987565b88519091506000906130ee90670de0b6b3a7640000906138d2565b90506130fe81612bd18486614b18565b8960400151612fcb9190614b18565b600061311882612916565b6113ae90600019614ae8565b6000806000613146876000015187602001518860000151896040015188613a13565b9050600061315c61315786846138d2565b613ab8565b606088015190915060008613156131cb57600061317984836138d2565b9050670de0b6b3a76400008112156131a75760405163329e322960e21b8152600481018290526024016104e1565b6131c36131bc83670de0b6b3a7640000614b18565b849061349a565b9150506131f8565b6131f5816131e181670de0b6b3a7640000614b18565b6131eb9085614ae8565b6131579190614b3f565b90505b600060646132098b60e00151612916565b6132139084614ae8565b61321d9190614b3f565b9050600061322b8385614b18565b9050600081126132445761323f8982613ac6565b61324e565b61324e8982613af3565b965061325a8983613ac6565b9550505050505094509492505050565b60008061327783856149a0565b670de0b6b3a76400009004949350505050565b60606123c9848484604051806060016040528060298152602001614c0e60299139613b20565b6125e68363a9059cbb60e01b8484604051602401611e24929190614ba9565b600080846001600160a01b031663095ea7b360e01b85856040516024016132f7929190614ba9565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516133359190614bc2565b6000604051808303816000865af19150503d8060008114613372576040519150601f19603f3d011682016040523d82523d6000602084013e613377565b606091505b50915091508180156133a15750805115806133a15750808060200190518101906133a1919061493d565b6133dc5760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016104e1565b5050505050565b6000600382111561344457508060006133fd600283614b95565b6134089060016147cc565b90505b8181101561343e579050806002816134238186614b95565b61342d91906147cc565b6134379190614b95565b905061340b565b50919050565b811561344e575060015b919050565b6000818312156134905760405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b60448201526064016104e1565b611c158284614b18565b6000806134a78385614ae8565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff1982121580156134e2575068070c1cc73b00c800008213155b6135215760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b60448201526064016104e1565b600082121561355957613536826000036134bd565b6a0c097ce7bc90715b34b9f160241b8161355257613552614aac565b0592915050565b60006806f05b59d3b2000000831261359757506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b6135cd565b6803782dace9d900000083126135c957506803782dace9d8ffffff19909101906b1425982cf597cd205cef73806135cd565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261361d5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412613659576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261369357682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126136cd576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261370657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261373f5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412613778576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126137b15768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806138e7670de0b6b3a764000085614ae8565b90508281816134b4576134b4614aac565b60008082136123845761278e82614bde565b60606123c98484600085613b20565b6000670de0b6b3a764000061392e84846149a0565b611c159190614b95565b6000670de0b6b3a764000082036139625760405163a9c8b14d60e01b815260040160405180910390fd5b600061398061397984670de0b6b3a7640000614b18565b84906138d2565b9050611c15815b60008082136139c85760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b60448201526064016104e1565b670c7d713b49da0000821380156139e65750670f43fc2c04ee000082125b15613a0a57670de0b6b3a76400006139fd83613c46565b8161355257613552614aac565b6113ae82613d65565b600080613a208784613453565b90506000613a31612bf5888a614b6d565b9050670d529ae9e8600000811315613a685780670d529ae9e8600000604051637e34684f60e11b81526004016104e19291906141eb565b6000613a7382613938565b905085613a8082896138d2565b613a8a9190614b6d565b9350670de0b6b3a7640000841215611df75760405163329e322960e21b8152600481018590526024016104e1565b60006113ae82600019614ae8565b60008060008312613ad8576001613adc565b6000195b9050612f4d6129aa85613aee866138f8565b614108565b60008060008312613b05576001613b09565b6000195b9050612f4d6129aa85613b1b866138f8565b61411d565b606082471015613b815760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104e1565b6001600160a01b0385163b613bd85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104e1565b600080866001600160a01b03168587604051613bf49190614bc2565b60006040518083038185875af1925050503d8060008114613c31576040519150601f19603f3d011682016040523d82523d6000602084013e613c36565b606091505b5091509150612c4c828286614149565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281613c8757613c87614aac565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215613da657613d9d826a0c097ce7bc90715b34b9f160241b81613d9757613d97614aac565b05613d65565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312613df15772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312613e28576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312613e70576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312613eab576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf8508312613ee257693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e28312613f1957690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312613f4e5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312613f7957680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312613fae576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312613fe3576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b2866038312614017576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261404b576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161407457614074614aac565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b60008261392e670de0b6b3a7640000846149a0565b600082600181614135670de0b6b3a7640000866149a0565b61413f91906147cc565b61392e9190614737565b60608315614158575081611c15565b8251156141685782518084602001fd5b8160405162461bcd60e51b81526004016104e19190614bfa565b6001600160a01b038116811461419757600080fd5b50565b803561344e81614182565b600080600080608085870312156141bb57600080fd5b84356141c681614182565b935060208501356141d681614182565b93969395505050506040820135916060013590565b918252602082015260400190565b600060a0828403121561343e57600080fd5b6000806000806000610120868803121561422457600080fd5b853561422f81614182565b9450602086013561423f81614182565b9350604086013592506060860135915061425c87608088016141f9565b90509295509295909350565b600060c0828403121561343e57600080fd5b6000806000806000610120868803121561429357600080fd5b853561429e81614182565b945060208601356142ae81614182565b9350604086013592506142c487606088016141f9565b91506101008601356001600160401b038111156142e057600080fd5b6142ec88828901614268565b9150509295509295909350565b600080600080600060a0868803121561431157600080fd5b853561431c81614182565b9450602086013561432c81614182565b935060408601356001600160401b0381111561434757600080fd5b61435388828901614268565b9598949750949560608101359550608001359392505050565b9283526020830191909152604082015260600190565b6000806000806080858703121561439857600080fd5b84356143a381614182565b935060208501356143b381614182565b92506040850135915060608501356001600160401b038111156143d557600080fd5b6143e187828801614268565b91505092959194509250565b600080600080600060a0868803121561440557600080fd5b853561441081614182565b9450602086013561442081614182565b94979496505050506040830135926060810135926080909101359150565b600080600080600060a0868803121561445657600080fd5b853561446181614182565b9450602086013561447181614182565b93506040860135925060608601356001600160401b0381111561449357600080fd5b61449f88828901614268565b95989497509295608001359392505050565b6001600160a01b0391909116815260200190565b6000806000606084860312156144da57600080fd5b83516144e581614182565b60208501519093506144f681614182565b604085015190925061450781614182565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561454b5761454b614512565b60405290565b604051601f8201601f191681016001600160401b038111828210171561457957614579614512565b604052919050565b805161344e81614182565b6000610120828403121561459f57600080fd5b6145a7614528565b8251815260208301516020820152604083015160408201526145cb60608401614581565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b600060a0828403121561462057600080fd5b60405160a081016001600160401b038111828210171561464257614642614512565b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b60005b83811015614698578181015183820152602001614680565b50506000910152565b600081518084526146b981602086016020860161467d565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006146f460608301846146a1565b95945050505050565b6000806040838503121561471057600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b818103818111156113ae576113ae614721565b6001600160a01b039390931683526020830191909152604082015260600190565b60008060006060848603121561478057600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156147ab57600080fd5b8135611c1581614182565b634e487b7160e01b600052600160045260246000fd5b808201808211156113ae576113ae614721565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160401b0382111561481c5761481c614512565b50601f01601f191660200190565b600082601f83011261483b57600080fd5b813561484e61484982614803565b614551565b81815284602083860101111561486357600080fd5b816020850160208301376000918101602001919091529392505050565b600060c0823603121561489257600080fd5b60405160c081016001600160401b0380821183831017156148b5576148b5614512565b81604052843591506148c682614182565b81835260208501356020840152604085013591506148e382614182565b816040840152606085013591506148f982614182565b81606084015261490b6080860161419a565b608084015260a085013591508082111561492457600080fd5b506149313682860161482a565b60a08301525092915050565b60006020828403121561494f57600080fd5b81518015158114611c1557600080fd5b60006020828403121561497157600080fd5b5051919050565b6020808252600e908201526d06e6f206578697374696e67206c760941b604082015260600190565b80820281158282048414176113ae576113ae614721565b6000600182016149c9576149c9614721565b5060010190565b6000808335601e198436030181126149e757600080fd5b8301803591506001600160401b03821115614a0157600080fd5b602001915036819003821315614a1657600080fd5b9250929050565b604081526000614a3060408301856146a1565b90508260208301529392505050565b600060208284031215614a5157600080fd5b81516001600160401b03811115614a6757600080fd5b8201601f81018413614a7857600080fd5b8051614a8661484982614803565b818152856020838501011115614a9b57600080fd5b6146f482602083016020860161467d565b634e487b7160e01b600052601260045260246000fd5b60006001600160601b0383811680614adc57614adc614aac565b92169190910492915050565b80820260008212600160ff1b84141615614b0457614b04614721565b81810583148215176113ae576113ae614721565b8181036000831280158383131683831282161715614b3857614b38614721565b5092915050565b600082614b4e57614b4e614aac565b600160ff1b821460001984141615614b6857614b68614721565b500590565b8082018281126000831280158216821582161715614b8d57614b8d614721565b505092915050565b600082614ba457614ba4614aac565b500490565b6001600160a01b03929092168252602082015260400190565b60008251614bd481846020870161467d565b9190910192915050565b6000600160ff1b8201614bf357614bf3614721565b5060000390565b602081526000611c1560208301846146a156fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a26469706673582212207ded91a29ded3ba019b3f85bcd3d78abdf430fadfa55dc26918d0dc8c1bad7cb64736f6c63430008110033";
1319
1345
 
1320
1346
  type ActionAddRemoveLiqConstructorParams =
1321
1347
  | [signer?: Signer]
@@ -166,7 +166,7 @@ const _abi = [
166
166
  ];
167
167
 
168
168
  const _bytecode =
169
- "0x60a060405234801561001057600080fd5b5060405161172438038061172483398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051611694610090600039600081816040015260a601526116946000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306ae70951461003b578063fa483e7214610078575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405161006f9190611132565b60405180910390f35b61008b610086366004611146565b61008d565b005b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906100db908490600401611132565b602060405180830381865afa1580156100f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011c91906111c5565b610144578060405163083c2ed160e11b815260040161013b9190611132565b60405180910390fd5b6000339050600061018a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061026092505050565b905060018160048111156101a0576101a06111e7565b036101b7576101b2828888888861027c565b610257565b60008160048111156101cb576101cb6111e7565b036101dd576101b28288888888610402565b60028160048111156101f1576101f16111e7565b03610203576101b28288888888610623565b6003816004811115610217576102176111e7565b03610229576101b282888888886108f0565b600481600481111561023d5761023d6111e7565b0361024f576101b28288888888610a9d565b6102576111fd565b50505050505050565b6000818060200190518101906102769190611227565b92915050565b6000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e0919061125a565b9250505060008061032685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c3a92505050565b91509150600061033588610c5c565b90506000846001600160a01b031663db74aa158b866040518363ffffffff1660e01b81526004016103679291906112a7565b6020604051808303816000875af1158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa91906112c1565b9050818110156103d157808260405163c217d4a960e01b815260040161013b9291906112da565b828110156103f657808360405163a59b8c3160e01b815260040161013b9291906112da565b50505050505050505050565b604080516060810182526000808252602082018190529181019190915261045e83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c7792505050565b6040808501919091526001600160a01b03918216602085015291811683528151630b2339af60e21b8152915160009283928a1691632c8ce6bc916004808201926060929091908290030181865afa1580156104bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e1919061125a565b925050915060006104fa826001600160a01b0316610c9e565b9050600061050789610c5c565b905060006105158383610d04565b905060006105228a610d17565b905060006105308383610d26565b9050876040015181111561055f5780886040015160405163039d13e760e61b815260040161013b9291906112da565b8015610575576105758789600001518884610d3d565b6000866001600160a01b031663db74aa158f8b602001516040518363ffffffff1660e01b81526004016105a99291906112a7565b6020604051808303816000875af11580156105c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ec91906112c1565b90508481101561061357808560405163c217d4a960e01b815260040161013b9291906112da565b5050505050505050505050505050565b60008061066584848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c3a92505050565b915091506000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cd919061125a565b9250505060006106e5826001600160a01b0316610c9e565b905060006106fa6106f589610d5e565b610d17565b60408051600280825260608201835292935060009290916020830190803683375050604080516002808252606082018352939450600093909250906020830190803683370190505090508b61074f8585610d6c565b83600081518110610762576107626112fe565b602002602001018360008151811061077c5761077c6112fe565b6020026020010182815250826001600160a01b03166001600160a01b0316815250505086816000815181106107b3576107b36112fe565b60200260200101516107c48d610d17565b6107ce919061132a565b836001815181106107e1576107e16112fe565b60200260200101836001815181106107fb576107fb6112fe565b60209081029190910101919091526001600160a01b03918216905260405163b0d8898160e01b815260009187169063b0d889819061083f908690869060040161133d565b6000604051808303816000875af115801561085e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261088691908101906113c1565b9050868160018151811061089c5761089c6112fe565b602002602001015110156108e157806001815181106108bd576108bd6112fe565b6020026020010151876040516305221cf360e11b815260040161013b9291906112da565b50505050505050505050505050565b600080600061093485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d8192505050565b925092509250600080896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561097b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099f919061125a565b925092505060006109af89610c5c565b90506109bc838387610d9a565b60405163bcb7ea5d60e01b81526000906001600160a01b0384169063bcb7ea5d906109eb908f90600401611132565b6020604051808303816000875af1158015610a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2e91906112c1565b905081811015610a5557808260405163042b0dcf60e31b815260040161013b9291906112da565b600086610a618d610d17565b610a6b919061132a565b905085811015610a92578086604051634e6ffe4760e11b815260040161013b9291906112da565b6108e1858983610d9a565b6000806000610ae185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d8192505050565b9250925092506000610af288610c5c565b90506000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b58919061125a565b925050506000816001600160a01b031663db74aa158c886040518363ffffffff1660e01b8152600401610b8c9291906112a7565b6020604051808303816000875af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf91906112c1565b905083811015610bf657808460405163a59b8c3160e01b815260040161013b9291906112da565b82610c01828761147e565b1015610c2d57610c11818661147e565b8360405163c217d4a960e01b815260040161013b9291906112da565b5050505050505050505050565b60008082806020019051810190610c519190611491565b909590945092505050565b6000808213610c7357610c6e826114d1565b610276565b5090565b600080600083806020019051810190610c9091906114ed565b919790965090945092505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610ce0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027691906112c1565b6000610d108383610e63565b9392505050565b600080821215610c7357600080fd5b600081831015610d37576000610d10565b50900390565b8015610d5857610d586001600160a01b038516848484610e99565b50505050565b60006102768260001961153d565b600082610d798184610f04565b949350505050565b600080600083806020019051810190610c90919061156d565b80600003610da757505050565b6001600160a01b038316610e4a576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e02576040519150601f19603f3d011682016040523d82523d6000602084013e610e07565b606091505b5050905080610d585760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161013b565b610e5e6001600160a01b0384168383610f1c565b505050565b600082600181610e7b670de0b6b3a7640000866115b2565b610e85919061147e565b610e8f919061132a565b610d1091906115c9565b6040516001600160a01b0380851660248301528316604482015260648101829052610d589085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610f4c565b6000670de0b6b3a7640000600181610e7b86866115b2565b6040516001600160a01b038316602482015260448101829052610e5e90849063a9059cbb60e01b90606401610ecd565b6000610fa1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661101e9092919063ffffffff16565b805190915015610e5e5780806020019051810190610fbf91906111c5565b610e5e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161013b565b6060610d798484600085856001600160a01b0385163b6110805760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161013b565b600080866001600160a01b0316858760405161109c919061160f565b60006040518083038185875af1925050503d80600081146110d9576040519150601f19603f3d011682016040523d82523d6000602084013e6110de565b606091505b50915091506110ee8282866110f9565b979650505050505050565b60608315611108575081610d10565b8251156111185782518084602001fd5b8160405162461bcd60e51b815260040161013b919061162b565b6001600160a01b0391909116815260200190565b6000806000806060858703121561115c57600080fd5b843593506020850135925060408501356001600160401b038082111561118157600080fd5b818701915087601f83011261119557600080fd5b8135818111156111a457600080fd5b8860208285010111156111b657600080fd5b95989497505060200194505050565b6000602082840312156111d757600080fd5b81518015158114610d1057600080fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b80516005811061122257600080fd5b919050565b60006020828403121561123957600080fd5b610d1082611213565b6001600160a01b038116811461125757600080fd5b50565b60008060006060848603121561126f57600080fd5b835161127a81611242565b602085015190935061128b81611242565b604085015190925061129c81611242565b809150509250925092565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156112d357600080fd5b5051919050565b918252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561027657610276611314565b604080825283519082018190526000906020906060840190828701845b8281101561137f5781516001600160a01b03168452928401929084019060010161135a565b5050508381038285015284518082528583019183019060005b818110156113b457835183529284019291840191600101611398565b5090979650505050505050565b600060208083850312156113d457600080fd5b82516001600160401b03808211156113eb57600080fd5b818501915085601f8301126113ff57600080fd5b815181811115611411576114116112e8565b8060051b604051601f19603f83011681018181108582111715611436576114366112e8565b60405291825284820192508381018501918883111561145457600080fd5b938501935b8285101561147257845184529385019392850192611459565b98975050505050505050565b8082018082111561027657610276611314565b6000806000606084860312156114a657600080fd5b6114af84611213565b925060208401516114bf81611242565b80925050604084015190509250925092565b6000600160ff1b82016114e6576114e6611314565b5060000390565b6000806000806080858703121561150357600080fd5b61150c85611213565b9350602085015161151c81611242565b604086015190935061152d81611242565b6060959095015193969295505050565b80820260008212600160ff1b8414161561155957611559611314565b818105831482151761027657610276611314565b6000806000806080858703121561158357600080fd5b61158c85611213565b9350602085015161159c81611242565b6040860151606090960151949790965092505050565b808202811582820484141761027657610276611314565b6000826115e657634e487b7160e01b600052601260045260246000fd5b500490565b60005b838110156116065781810151838201526020016115ee565b50506000910152565b600082516116218184602087016115eb565b9190910192915050565b602081526000825180602084015261164a8160408501602087016115eb565b601f01601f1916919091016040019291505056fea2646970667358221220241a5d8ca7d617d7f1cc506025a61abe5850e69ba39b8022a98d5b7afd5c377c64736f6c63430008110033";
169
+ "0x60a060405234801561001057600080fd5b5060405161172438038061172483398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051611694610090600039600081816040015260a601526116946000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306ae70951461003b578063fa483e7214610078575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405161006f9190611132565b60405180910390f35b61008b610086366004611146565b61008d565b005b6040516358e6309f60e01b815233906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906100db908490600401611132565b602060405180830381865afa1580156100f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061011c91906111c5565b610144578060405163083c2ed160e11b815260040161013b9190611132565b60405180910390fd5b6000339050600061018a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061026092505050565b905060018160048111156101a0576101a06111e7565b036101b7576101b2828888888861027c565b610257565b60008160048111156101cb576101cb6111e7565b036101dd576101b28288888888610402565b60028160048111156101f1576101f16111e7565b03610203576101b28288888888610623565b6003816004811115610217576102176111e7565b03610229576101b282888888886108f0565b600481600481111561023d5761023d6111e7565b0361024f576101b28288888888610a9d565b6102576111fd565b50505050505050565b6000818060200190518101906102769190611227565b92915050565b6000856001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e0919061125a565b9250505060008061032685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c3a92505050565b91509150600061033588610c5c565b90506000846001600160a01b031663db74aa158b866040518363ffffffff1660e01b81526004016103679291906112a7565b6020604051808303816000875af1158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa91906112c1565b9050818110156103d157808260405163c217d4a960e01b815260040161013b9291906112da565b828110156103f657808360405163a59b8c3160e01b815260040161013b9291906112da565b50505050505050505050565b604080516060810182526000808252602082018190529181019190915261045e83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c7792505050565b6040808501919091526001600160a01b03918216602085015291811683528151630b2339af60e21b8152915160009283928a1691632c8ce6bc916004808201926060929091908290030181865afa1580156104bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e1919061125a565b925050915060006104fa826001600160a01b0316610c9e565b9050600061050789610c5c565b905060006105158383610d04565b905060006105228a610d17565b905060006105308383610d26565b9050876040015181111561055f5780886040015160405163039d13e760e61b815260040161013b9291906112da565b8015610575576105758789600001518884610d3d565b6000866001600160a01b031663db74aa158f8b602001516040518363ffffffff1660e01b81526004016105a99291906112a7565b6020604051808303816000875af11580156105c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ec91906112c1565b90508481101561061357808560405163c217d4a960e01b815260040161013b9291906112da565b5050505050505050505050505050565b60008061066584848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c3a92505050565b915091506000876001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156106a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cd919061125a565b9250505060006106e5826001600160a01b0316610c9e565b905060006106fa6106f589610d5e565b610d17565b60408051600280825260608201835292935060009290916020830190803683375050604080516002808252606082018352939450600093909250906020830190803683370190505090508b61074f8585610d6c565b83600081518110610762576107626112fe565b602002602001018360008151811061077c5761077c6112fe565b6020026020010182815250826001600160a01b03166001600160a01b0316815250505086816000815181106107b3576107b36112fe565b60200260200101516107c48d610d17565b6107ce919061132a565b836001815181106107e1576107e16112fe565b60200260200101836001815181106107fb576107fb6112fe565b60209081029190910101919091526001600160a01b03918216905260405163b0d8898160e01b815260009187169063b0d889819061083f908690869060040161133d565b6000604051808303816000875af115801561085e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261088691908101906113c1565b9050868160018151811061089c5761089c6112fe565b602002602001015110156108e157806001815181106108bd576108bd6112fe565b6020026020010151876040516305221cf360e11b815260040161013b9291906112da565b50505050505050505050505050565b600080600061093485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d8192505050565b925092509250600080896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561097b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099f919061125a565b925092505060006109af89610c5c565b90506109bc838387610d9a565b60405163bcb7ea5d60e01b81526000906001600160a01b0384169063bcb7ea5d906109eb908f90600401611132565b6020604051808303816000875af1158015610a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2e91906112c1565b905081811015610a5557808260405163042b0dcf60e31b815260040161013b9291906112da565b600086610a618d610d17565b610a6b919061132a565b905085811015610a92578086604051634e6ffe4760e11b815260040161013b9291906112da565b6108e1858983610d9a565b6000806000610ae185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d8192505050565b9250925092506000610af288610c5c565b90506000896001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b58919061125a565b925050506000816001600160a01b031663db74aa158c886040518363ffffffff1660e01b8152600401610b8c9291906112a7565b6020604051808303816000875af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf91906112c1565b905083811015610bf657808460405163a59b8c3160e01b815260040161013b9291906112da565b82610c01828761147e565b1015610c2d57610c11818661147e565b8360405163c217d4a960e01b815260040161013b9291906112da565b5050505050505050505050565b60008082806020019051810190610c519190611491565b909590945092505050565b6000808213610c7357610c6e826114d1565b610276565b5090565b600080600083806020019051810190610c9091906114ed565b919790965090945092505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610ce0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027691906112c1565b6000610d108383610e63565b9392505050565b600080821215610c7357600080fd5b600081831015610d37576000610d10565b50900390565b8015610d5857610d586001600160a01b038516848484610e99565b50505050565b60006102768260001961153d565b600082610d798184610f04565b949350505050565b600080600083806020019051810190610c90919061156d565b80600003610da757505050565b6001600160a01b038316610e4a576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610e02576040519150601f19603f3d011682016040523d82523d6000602084013e610e07565b606091505b5050905080610d585760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b604482015260640161013b565b610e5e6001600160a01b0384168383610f1c565b505050565b600082600181610e7b670de0b6b3a7640000866115b2565b610e85919061147e565b610e8f919061132a565b610d1091906115c9565b6040516001600160a01b0380851660248301528316604482015260648101829052610d589085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610f4c565b6000670de0b6b3a7640000600181610e7b86866115b2565b6040516001600160a01b038316602482015260448101829052610e5e90849063a9059cbb60e01b90606401610ecd565b6000610fa1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661101e9092919063ffffffff16565b805190915015610e5e5780806020019051810190610fbf91906111c5565b610e5e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161013b565b6060610d798484600085856001600160a01b0385163b6110805760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161013b565b600080866001600160a01b0316858760405161109c919061160f565b60006040518083038185875af1925050503d80600081146110d9576040519150601f19603f3d011682016040523d82523d6000602084013e6110de565b606091505b50915091506110ee8282866110f9565b979650505050505050565b60608315611108575081610d10565b8251156111185782518084602001fd5b8160405162461bcd60e51b815260040161013b919061162b565b6001600160a01b0391909116815260200190565b6000806000806060858703121561115c57600080fd5b843593506020850135925060408501356001600160401b038082111561118157600080fd5b818701915087601f83011261119557600080fd5b8135818111156111a457600080fd5b8860208285010111156111b657600080fd5b95989497505060200194505050565b6000602082840312156111d757600080fd5b81518015158114610d1057600080fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b80516005811061122257600080fd5b919050565b60006020828403121561123957600080fd5b610d1082611213565b6001600160a01b038116811461125757600080fd5b50565b60008060006060848603121561126f57600080fd5b835161127a81611242565b602085015190935061128b81611242565b604085015190925061129c81611242565b809150509250925092565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156112d357600080fd5b5051919050565b918252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561027657610276611314565b604080825283519082018190526000906020906060840190828701845b8281101561137f5781516001600160a01b03168452928401929084019060010161135a565b5050508381038285015284518082528583019183019060005b818110156113b457835183529284019291840191600101611398565b5090979650505050505050565b600060208083850312156113d457600080fd5b82516001600160401b03808211156113eb57600080fd5b818501915085601f8301126113ff57600080fd5b815181811115611411576114116112e8565b8060051b604051601f19603f83011681018181108582111715611436576114366112e8565b60405291825284820192508381018501918883111561145457600080fd5b938501935b8285101561147257845184529385019392850192611459565b98975050505050505050565b8082018082111561027657610276611314565b6000806000606084860312156114a657600080fd5b6114af84611213565b925060208401516114bf81611242565b80925050604084015190509250925092565b6000600160ff1b82016114e6576114e6611314565b5060000390565b6000806000806080858703121561150357600080fd5b61150c85611213565b9350602085015161151c81611242565b604086015190935061152d81611242565b6060959095015193969295505050565b80820260008212600160ff1b8414161561155957611559611314565b818105831482151761027657610276611314565b6000806000806080858703121561158357600080fd5b61158c85611213565b9350602085015161159c81611242565b6040860151606090960151949790965092505050565b808202811582820484141761027657610276611314565b6000826115e657634e487b7160e01b600052601260045260246000fd5b500490565b60005b838110156116065781810151838201526020016115ee565b50506000910152565b600082516116218184602087016115eb565b9190910192915050565b602081526000825180602084015261164a8160408501602087016115eb565b601f01601f1916919091016040019291505056fea26469706673582212201b7243602a559e0345e0ce7d5c9910724086899807ce1f4ab8dca5be37c4f4e064736f6c63430008110033";
170
170
 
171
171
  type ActionCallbackConstructorParams =
172
172
  | [signer?: Signer]