@pendle/core-v2 5.1.1-beta-2 → 5.2.0-beta-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/SYBaseUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.dbg.json +1 -1
  5. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.json +2 -2
  6. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.dbg.json +1 -1
  7. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.json +2 -2
  8. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEBTCSY.sol/PendleEBTCSY.dbg.json +1 -1
  9. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEBTCSY.sol/PendleEBTCSY.json +2 -2
  10. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEEigenSYUpg.sol/PendleEEigenSYUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleEEigenSYUpg.sol/PendleEEigenSYUpg.json +2 -2
  12. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.dbg.json +1 -1
  13. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.json +2 -2
  14. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.dbg.json +1 -1
  15. package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.json +2 -2
  16. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  17. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.json +2 -2
  19. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  20. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  21. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  22. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  23. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  24. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  25. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  26. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  27. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  28. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  29. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  30. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  31. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  32. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  33. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  34. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +4 -0
  35. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.json +122 -0
  36. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +4 -0
  37. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.json +91 -0
  38. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +4 -0
  39. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.json +262 -0
  40. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  41. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  42. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  43. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  44. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  45. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  46. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  47. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  48. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  49. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  50. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  51. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  52. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  53. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  54. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  55. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  56. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  57. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  58. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  59. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +4 -0
  60. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +274 -0
  61. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleBase.sol/PendleChainlinkOracleBase.dbg.json +4 -0
  62. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleBase.sol/PendleChainlinkOracleBase.json +253 -0
  63. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +4 -0
  64. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +289 -0
  65. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +4 -0
  66. package/build/artifacts/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +305 -0
  67. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  68. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  69. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  70. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  71. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  72. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  73. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  74. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  75. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  76. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  77. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  78. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  79. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  80. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  81. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  82. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  83. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  84. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  85. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  86. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  87. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  88. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  89. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  90. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  91. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  92. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  93. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  94. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  95. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  96. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  97. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  98. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  99. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  100. package/contracts/core/StandardizedYield/implementations/EtherFi/PendleEEigenSYUpg.sol +6 -2
  101. package/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol +6 -1
  102. package/contracts/interfaces/IPChainlinkOracle.sol +15 -0
  103. package/contracts/interfaces/IPChainlinkOracleFactory.sol +22 -0
  104. package/contracts/interfaces/IPChainlinkOracleWithQuote.sol +8 -0
  105. package/contracts/oracles/factory/PendleChainlinkOracle.sol +21 -0
  106. package/contracts/oracles/factory/PendleChainlinkOracleBase.sol +138 -0
  107. package/contracts/oracles/factory/PendleChainlinkOracleFactory.sol +99 -0
  108. package/contracts/oracles/factory/PendleChainlinkOracleWithQuote.sol +46 -0
  109. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +1 -1
  110. package/contracts/router/swap-aggregator/PendleSwap.sol +0 -43
  111. package/deployments/1-core.json +1 -1
  112. package/deployments/10-core.json +1 -1
  113. package/deployments/42161-core.json +1 -1
  114. package/deployments/5000-core.json +1 -1
  115. package/deployments/56-core.json +1 -1
  116. package/package.json +1 -1
  117. package/typechain-types/IAaveStkGHO.ts +269 -0
  118. package/typechain-types/IAngleDistributor.ts +117 -0
  119. package/typechain-types/IPChainlinkOracle.ts +221 -0
  120. package/typechain-types/IPChainlinkOracleFactory.ts +123 -0
  121. package/typechain-types/IPChainlinkOracleWithQuote.ts +404 -0
  122. package/typechain-types/PendleCMETHSY.ts +1349 -0
  123. package/typechain-types/PendleChainlinkOracle.ts +299 -0
  124. package/typechain-types/PendleChainlinkOracleBase.ts +299 -0
  125. package/typechain-types/PendleChainlinkOracleFactory.ts +389 -0
  126. package/typechain-types/PendleChainlinkOracleWithQuote.ts +335 -0
  127. package/typechain-types/PendleStkGHOSY.ts +1522 -0
  128. package/typechain-types/SYBaseWithoutPermitUpg.ts +1101 -0
  129. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  130. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  131. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  132. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  133. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  134. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  135. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  136. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  137. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  138. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  139. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  140. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  141. package/typechain-types/factories/IAaveStkGHO__factory.ts +128 -0
  142. package/typechain-types/factories/IAngleDistributor__factory.ts +54 -0
  143. package/typechain-types/factories/IPChainlinkOracleFactory__factory.ts +110 -0
  144. package/typechain-types/factories/IPChainlinkOracleWithQuote__factory.ts +281 -0
  145. package/typechain-types/factories/IPChainlinkOracle__factory.ts +137 -0
  146. package/typechain-types/factories/PendleCMETHSY__factory.ts +1099 -0
  147. package/typechain-types/factories/PendleChainlinkOracleBase__factory.ts +272 -0
  148. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +351 -0
  149. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +389 -0
  150. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +354 -0
  151. package/typechain-types/factories/PendleEBTCSY__factory.ts +1 -1
  152. package/typechain-types/factories/PendleEEigenSYUpg__factory.ts +1 -1
  153. package/typechain-types/factories/PendleERC20SYUpg__factory.ts +1 -1
  154. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  155. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  156. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  157. package/typechain-types/factories/PendleSUSDEMantleSY__factory.ts +1 -1
  158. package/typechain-types/factories/PendleStkGHOSY__factory.ts +1213 -0
  159. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  160. package/typechain-types/factories/PendleUSDEL2SY__factory.ts +1 -1
  161. package/typechain-types/factories/PendleWEEthkSY__factory.ts +1 -1
  162. package/typechain-types/factories/PendleWEEthsSY__factory.ts +1 -1
  163. package/typechain-types/factories/Reflector__factory.ts +1 -1
  164. package/typechain-types/factories/SYBaseWithoutPermitUpg__factory.ts +871 -0
  165. package/typechain-types/hardhat.d.ts +108 -9
  166. package/typechain-types/index.ts +24 -2
  167. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +0 -4
  168. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.json +0 -82
@@ -0,0 +1,354 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Signer,
6
+ utils,
7
+ Contract,
8
+ ContractFactory,
9
+ Overrides,
10
+ BigNumberish,
11
+ } from "ethers";
12
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
13
+ import type {
14
+ PendleChainlinkOracle,
15
+ PendleChainlinkOracleInterface,
16
+ } from "../PendleChainlinkOracle";
17
+
18
+ const _abi = [
19
+ {
20
+ inputs: [
21
+ {
22
+ internalType: "address",
23
+ name: "_market",
24
+ type: "address",
25
+ },
26
+ {
27
+ internalType: "uint16",
28
+ name: "_twapDuration",
29
+ type: "uint16",
30
+ },
31
+ {
32
+ internalType: "enum PendleOracleType",
33
+ name: "_baseOracleType",
34
+ type: "uint8",
35
+ },
36
+ ],
37
+ stateMutability: "nonpayable",
38
+ type: "constructor",
39
+ },
40
+ {
41
+ inputs: [],
42
+ name: "InvalidRoundId",
43
+ type: "error",
44
+ },
45
+ {
46
+ inputs: [
47
+ {
48
+ internalType: "int256",
49
+ name: "exchangeRate",
50
+ type: "int256",
51
+ },
52
+ ],
53
+ name: "MarketExchangeRateBelowOne",
54
+ type: "error",
55
+ },
56
+ {
57
+ inputs: [],
58
+ name: "MarketExpired",
59
+ type: "error",
60
+ },
61
+ {
62
+ inputs: [],
63
+ name: "MarketProportionMustNotEqualOne",
64
+ type: "error",
65
+ },
66
+ {
67
+ inputs: [
68
+ {
69
+ internalType: "int256",
70
+ name: "rateScalar",
71
+ type: "int256",
72
+ },
73
+ ],
74
+ name: "MarketRateScalarBelowZero",
75
+ type: "error",
76
+ },
77
+ {
78
+ inputs: [
79
+ {
80
+ internalType: "int256",
81
+ name: "totalPt",
82
+ type: "int256",
83
+ },
84
+ {
85
+ internalType: "int256",
86
+ name: "totalAsset",
87
+ type: "int256",
88
+ },
89
+ ],
90
+ name: "MarketZeroTotalPtOrTotalAsset",
91
+ type: "error",
92
+ },
93
+ {
94
+ inputs: [],
95
+ name: "baseOracleType",
96
+ outputs: [
97
+ {
98
+ internalType: "enum PendleOracleType",
99
+ name: "",
100
+ type: "uint8",
101
+ },
102
+ ],
103
+ stateMutability: "view",
104
+ type: "function",
105
+ },
106
+ {
107
+ inputs: [],
108
+ name: "decimals",
109
+ outputs: [
110
+ {
111
+ internalType: "uint8",
112
+ name: "",
113
+ type: "uint8",
114
+ },
115
+ ],
116
+ stateMutability: "pure",
117
+ type: "function",
118
+ },
119
+ {
120
+ inputs: [],
121
+ name: "description",
122
+ outputs: [
123
+ {
124
+ internalType: "string",
125
+ name: "",
126
+ type: "string",
127
+ },
128
+ ],
129
+ stateMutability: "pure",
130
+ type: "function",
131
+ },
132
+ {
133
+ inputs: [],
134
+ name: "factory",
135
+ outputs: [
136
+ {
137
+ internalType: "address",
138
+ name: "",
139
+ type: "address",
140
+ },
141
+ ],
142
+ stateMutability: "view",
143
+ type: "function",
144
+ },
145
+ {
146
+ inputs: [],
147
+ name: "fromTokenDecimals",
148
+ outputs: [
149
+ {
150
+ internalType: "uint8",
151
+ name: "",
152
+ type: "uint8",
153
+ },
154
+ ],
155
+ stateMutability: "view",
156
+ type: "function",
157
+ },
158
+ {
159
+ inputs: [
160
+ {
161
+ internalType: "uint80",
162
+ name: "roundId",
163
+ type: "uint80",
164
+ },
165
+ ],
166
+ name: "getRoundData",
167
+ outputs: [
168
+ {
169
+ internalType: "uint80",
170
+ name: "",
171
+ type: "uint80",
172
+ },
173
+ {
174
+ internalType: "int256",
175
+ name: "",
176
+ type: "int256",
177
+ },
178
+ {
179
+ internalType: "uint256",
180
+ name: "",
181
+ type: "uint256",
182
+ },
183
+ {
184
+ internalType: "uint256",
185
+ name: "",
186
+ type: "uint256",
187
+ },
188
+ {
189
+ internalType: "uint80",
190
+ name: "",
191
+ type: "uint80",
192
+ },
193
+ ],
194
+ stateMutability: "view",
195
+ type: "function",
196
+ },
197
+ {
198
+ inputs: [],
199
+ name: "latestRoundData",
200
+ outputs: [
201
+ {
202
+ internalType: "uint80",
203
+ name: "roundId",
204
+ type: "uint80",
205
+ },
206
+ {
207
+ internalType: "int256",
208
+ name: "answer",
209
+ type: "int256",
210
+ },
211
+ {
212
+ internalType: "uint256",
213
+ name: "startedAt",
214
+ type: "uint256",
215
+ },
216
+ {
217
+ internalType: "uint256",
218
+ name: "updatedAt",
219
+ type: "uint256",
220
+ },
221
+ {
222
+ internalType: "uint80",
223
+ name: "answeredInRound",
224
+ type: "uint80",
225
+ },
226
+ ],
227
+ stateMutability: "view",
228
+ type: "function",
229
+ },
230
+ {
231
+ inputs: [],
232
+ name: "market",
233
+ outputs: [
234
+ {
235
+ internalType: "address",
236
+ name: "",
237
+ type: "address",
238
+ },
239
+ ],
240
+ stateMutability: "view",
241
+ type: "function",
242
+ },
243
+ {
244
+ inputs: [],
245
+ name: "toTokenDecimals",
246
+ outputs: [
247
+ {
248
+ internalType: "uint8",
249
+ name: "",
250
+ type: "uint8",
251
+ },
252
+ ],
253
+ stateMutability: "view",
254
+ type: "function",
255
+ },
256
+ {
257
+ inputs: [],
258
+ name: "twapDuration",
259
+ outputs: [
260
+ {
261
+ internalType: "uint16",
262
+ name: "",
263
+ type: "uint16",
264
+ },
265
+ ],
266
+ stateMutability: "view",
267
+ type: "function",
268
+ },
269
+ {
270
+ inputs: [],
271
+ name: "version",
272
+ outputs: [
273
+ {
274
+ internalType: "uint256",
275
+ name: "",
276
+ type: "uint256",
277
+ },
278
+ ],
279
+ stateMutability: "pure",
280
+ type: "function",
281
+ },
282
+ ];
283
+
284
+ const _bytecode =
285
+ "0x6101606040523480156200001257600080fd5b5060405162003fbf38038062003fbf833981016040819052620000359162001ac0565b336080526001600160a01b03831660a05261ffff821660c05282828280600581111562000066576200006662001b1d565b6101208160058111156200007e576200007e62001b1d565b9052506200008d8382620000be565b60ff908116610100521660e052620000a462000301565b6001600160401b0316610140525062002033945050505050565b6000806000846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562000102573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000128919062001b33565b505090506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200016d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000193919062001b8e565b90506000826001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa158015620001d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fc919062001bac565b9250600591506200020a9050565b8660058111156200021f576200021f62001b1d565b036200023457601294509250620002fa915050565b60048660058111156200024b576200024b62001b1d565b03620002605750601293509150620002fa9050565b600186600581111562000277576200027762001b1d565b1480620002985750600386600581111562000296576200029662001b1d565b145b15620002ac579350839250620002fa915050565b6000866005811115620002c357620002c362001b1d565b1480620002e457506002866005811115620002e257620002e262001b1d565b145b15620002f65793509150620002fa9050565b5050505b9250929050565b620018ab62001a8e60201b17600061012051600581111562000327576200032762001b1d565b036200033d5750620002ce6200046a60201b1790565b600161012051600581111562000357576200035762001b1d565b036200036d57506200031b620004c160201b1790565b600261012051600581111562000387576200038762001b1d565b036200039d57506200035e6200050e60201b1790565b6003610120516005811115620003b757620003b762001b1d565b03620003cd5750620003936200054b60201b1790565b6004610120516005811115620003e757620003e762001b1d565b03620003fd5750620003c26200058060201b1790565b600561012051600581111562000417576200041762001b1d565b036200042d575062000411620005d960201b1790565b60405162461bcd60e51b815260206004820152600d60248201526c1b9bdd081cdd5c1c1bdc9d1959609a1b60448201526064015b60405180910390fd5b60008080620004798562000633565b91509150808210620004a7576200049d8262000496878762000877565b906200095c565b92505050620004bb565b6200049d8162000496878762000877565b50505b92915050565b60008080620004d08562000633565b91509150808210620004e8576200049d858562000877565b8082620004f6878762000877565b62000502919062001c14565b6200049d919062001c44565b600080806200051d8562000633565b915091508082106200053a576200049d8262000496878762000990565b6200049d8162000496878762000990565b600080806200055a8562000633565b9150915080821062000572576200049d858562000990565b8082620004f6878762000990565b60008080620005986001600160a01b03861662000633565b90925090506000620005ac868684620009b9565b9050818310620005cd57620005c281846200095c565b9350505050620004bb565b620005c281836200095c565b60008080620005f16001600160a01b03861662000633565b9092509050600062000605868684620009b9565b90508183106200061a579250620004bb915050565b8162000627848362001c14565b620005c2919062001c44565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa15801562000678573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200069e919062001b33565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000708919062001c5b565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200074b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000771919062001c5b565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620007b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007d8919062001c75565b801562000851575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000820573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000846919062001c99565b6001600160801b0316145b1562000860578093506200086f565b6200086c858262000b71565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620008b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008df919062001c5b565b9050428111620008fb57670de0b6b3a7640000915050620004bb565b600062000909858562000b89565b9050600062000919428462001cc4565b90506000620009336200092d848462000cc2565b62000d07565b905062000949670de0b6b3a7640000826200095c565b945050505050620004bb565b5092915050565b60008062000973670de0b6b3a76400008562001c14565b905082818162000987576200098762001c2e565b04949350505050565b60006200099e838362000877565b620009b290670de0b6b3a764000062001cc4565b9392505050565b60405163794052f360e01b81526000600482018190529081906001600160a01b0386169063794052f39060240161012060405180830381865afa15801562000a05573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a2b919062001d4f565b90506000428260a001511162000a675762000a5184836020015162000d1b60201b60201c565b825162000a5f919062001dd6565b905062000b50565b600062000a7683864262000d61565b905060008062000a8889868a62000e6f565b91509150600062000ab762000ab185604001518562000aa8919062001df9565b86519062000ef0565b62000f15565b9050600062000b0662000acb838562001343565b62000adf90670de0b6b3a764000062001dd6565b8851602088015162000af390869062000ef0565b62000aff919062001df9565b9062001343565b905062000b1f8482896000015162000aff919062001dd6565b62000b2b828562001343565b866020015162000b3c919062001df9565b62000b48919062001dd6565b955050505050505b604082015162000b67906200092d90839062001343565b9695505050505050565b600081831162000b825781620009b2565b5090919050565b60408051600280825260608201835260009283929190602083019080368337019050509050828160008151811062000bc55762000bc562001e1c565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd9062000c0b90859060040162001e32565b600060405180830381865afa15801562000c29573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000c53919081019062001e7e565b90508363ffffffff168160008151811062000c725762000c7262001e1c565b60200260200101518260018151811062000c905762000c9062001e1c565b602002602001015162000ca4919062001f48565b62000cb0919062001f6b565b6001600160d81b031695945050505050565b60008062000cd66201518061016d62001c14565b62000ce2848662001c14565b62000cee919062001c44565b905062000cff62000ab1826200136e565b949350505050565b60008082121562000d1757600080fd5b5090565b6000806000831262000d2f57600162000d33565b6000195b905062000d5562000d4f8562000d498662001385565b6200139a565b6200136e565b62000cff908262001f94565b62000d8d6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a0840151821062000db25760405163b2094b5960e01b815260040160405180910390fd5b6000828560a0015162000dc6919062001cc4565b905062000dd48582620013bd565b8252602085015162000de890859062000d1b565b60208301528451158062000dfe57506020820151155b1562000e2e578451602083015160405163b1c4aefb60e01b81526004810192909252602482015260440162000461565b84516101008601516020840151845162000e4c939291908562001424565b604083015260c085015162000e62908262000cc2565b6060830152509392505050565b6000808062000e886001600160a01b0387168562000b89565b90506000428660a0015162000e9e919062001cc4565b905062000eac828262000cc2565b9350600062000ec78761010001518362000cc260201b60201c565b9050600262000ed7868362001dd6565b62000ee3919062001fca565b9350505050935093915050565b60008062000eff838562001f94565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff19821215801562000f3b575068070c1cc73b00c800008213155b62000f7c5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b604482015260640162000461565b600082121562000fbc5762000f95600083900362000f15565b6ec097ce7bc90715b34b9f10000000008162000fb55762000fb562001c2e565b0592915050565b60006806f05b59d3b2000000831262000ffe57506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec63026282700000000062001036565b6803782dace9d900000083126200103257506803782dace9d8ffffff19909101906b1425982cf597cd205cef738062001036565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412620010875768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412620010c4576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412620010ff57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c40000084126200113a576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126200117457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412620011ae5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412620011e8576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412620012225768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b6000806200135a670de0b6b3a76400008562001f94565b905082818162000f0c5762000f0c62001c2e565b60006001600160ff1b0382111562000d1757600080fd5b600080821362000d1757620004bb8262001ffe565b6000670de0b6b3a7640000620013b1848462001c14565b620009b2919062001c44565b6000620013ca826200136e565b620013df62000d4f6201518061016d62001c14565b8460800151620013f0919062001f94565b620013fc919062001fca565b905060008113620004bb57604051630e520c3b60e11b81526004810182905260240162000461565b60008062001433868462000cc2565b9050670de0b6b3a7640000811215620014635760405163329e322960e21b81526004810182905260240162000461565b60006200147d62001475878a62001dd6565b899062001343565b905060006200148c82620014b3565b90506200149a818762001343565b620014a6908462001df9565b9998505050505050505050565b6000670de0b6b3a76400008203620014de5760405163a9c8b14d60e01b815260040160405180910390fd5b600062001500620014f884670de0b6b3a764000062001df9565b849062001343565b9050620009b28160008082136200154a5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b604482015260640162000461565b670c7d713b49da000082138015620015695750670f43fc2c04ee000082125b156200159357670de0b6b3a76400006200158383620015a3565b8162000fb55762000fb562001c2e565b620004bb82620016ce565b919050565b670de0b6b3a7640000026000806ec097ce7bc90715b34b9f1000000000808401906ec097ce7bc90715b34b9f0fffffffff1985010281620015e857620015e862001c2e565b05905060006ec097ce7bc90715b34b9f100000000082800205905081806ec097ce7bc90715b34b9f100000000081840205915060038205016ec097ce7bc90715b34b9f100000000082840205915060058205016ec097ce7bc90715b34b9f100000000082840205915060078205016ec097ce7bc90715b34b9f100000000082840205915060098205016ec097ce7bc90715b34b9f1000000000828402059150600b8205016ec097ce7bc90715b34b9f1000000000828402059150600d8205016ec097ce7bc90715b34b9f1000000000828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121562001716576200170d826ec097ce7bc90715b34b9f10000000008162001706576200170662001c2e565b05620016ce565b60000392915050565b60007e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c000000000000083126200176857770195e54c5dd42177f53a27172fa9ec630262827000000000830592506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e0000008312620017a1576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312620017ea576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a700831262001826576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126200185e57693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126200189657690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d038312620018cc5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb417461211108312620018f857680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126200192e576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f1775788937937831262001964576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831262001999576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac8312620019ce576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d631000008086030281620019fa57620019fa62001c2e565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b62001a986200201d565b565b6001600160a01b038116811462001ab057600080fd5b50565b80516200159e8162001a9a565b60008060006060848603121562001ad657600080fd5b835162001ae38162001a9a565b602085015190935061ffff8116811462001afc57600080fd5b60408501519092506006811062001b1257600080fd5b809150509250925092565b634e487b7160e01b600052602160045260246000fd5b60008060006060848603121562001b4957600080fd5b835162001b568162001a9a565b602085015190935062001b698162001a9a565b604085015190925062001b128162001a9a565b805160ff811681146200159e57600080fd5b60006020828403121562001ba157600080fd5b620009b28262001b7c565b60008060006060848603121562001bc257600080fd5b83516002811062001bd257600080fd5b602085015190935062001be58162001a9a565b915062001bf56040850162001b7c565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620004bb57620004bb62001bfe565b634e487b7160e01b600052601260045260246000fd5b60008262001c565762001c5662001c2e565b500490565b60006020828403121562001c6e57600080fd5b5051919050565b60006020828403121562001c8857600080fd5b81518015158114620009b257600080fd5b60006020828403121562001cac57600080fd5b81516001600160801b0381168114620009b257600080fd5b81810381811115620004bb57620004bb62001bfe565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171562001d165762001d1662001cda565b60405290565b604051601f8201601f191681016001600160401b038111828210171562001d475762001d4762001cda565b604052919050565b6000610120828403121562001d6357600080fd5b62001d6d62001cf0565b82518152602083015160208201526040830151604082015262001d936060840162001ab3565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b8082018281126000831280158216821582161715620004b857620004b862001bfe565b818103600083128015838313168383128216171562000955576200095562001bfe565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101562001e7257835163ffffffff168352928401929184019160010162001e4e565b50909695505050505050565b6000602080838503121562001e9257600080fd5b82516001600160401b038082111562001eaa57600080fd5b818501915085601f83011262001ebf57600080fd5b81518181111562001ed45762001ed462001cda565b8060051b915062001ee784830162001d1c565b818152918301840191848101908884111562001f0257600080fd5b938501935b8385101562001f3c57845192506001600160d81b038316831462001f2b5760008081fd5b828252938501939085019062001f07565b98975050505050505050565b6001600160d81b0382811682821603908082111562000955576200095562001bfe565b60006001600160d81b038381168062001f885762001f8862001c2e565b92169190910492915050565b80820260008212600160ff1b8414161562001fb35762001fb362001bfe565b8181058314821517620004bb57620004bb62001bfe565b60008262001fdc5762001fdc62001c2e565b600160ff1b82146000198414161562001ff95762001ff962001bfe565b500590565b6000600160ff1b820162002016576200201662001bfe565b5060000390565b634e487b7160e01b600052605160045260246000fd5b60805160a05160c05160e051610100516101205161014051611f17620020a860003960006109ab0152600060a3015260008181610153015261117c0152600081816101f501526111a701526000818160e0015261098601526000818161017a01526109650152600061021c0152611f176000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c80630aa33a241461009e57806326d89545146100db578063313ce5671461011557806354fd4d501461012a5780637284e416146101395780637ae19f151461014e57806380f55605146101755780639a6fc8f5146101a9578063bafd4e38146101f0578063c45a015514610217578063feaf968c1461023e575b600080fd5b6100c57f000000000000000000000000000000000000000000000000000000000000000081565b6040516100d291906118b5565b60405180910390f35b6101027f000000000000000000000000000000000000000000000000000000000000000081565b60405161ffff90911681526020016100d2565b60125b60405160ff90911681526020016100d2565b604051600181526020016100d2565b610141610246565b6040516100d291906118dd565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b61019c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100d2919061192c565b6101bc6101b7366004611940565b610266565b604080516001600160501b03968716815260208101959095528401929092526060830152909116608082015260a0016100d2565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b61019c7f000000000000000000000000000000000000000000000000000000000000000081565b6101bc6102b0565b6060604051806060016040528060228152602001611ec060229139905090565b600080808080856001600160501b038116156102955760405163bfbe031f60e01b815260040160405180910390fd5b61029d6102b0565b939b929a50909850965090945092505050565b6000808080806102be610461565b9495600094504293508492509050565b60008060006102dc85610470565b91509150808210610304576102fb826102f587876106a0565b90610775565b92505050610315565b6102fb816102f587876106a0565b50505b92915050565b600080600061032985610470565b9150915080821061033e576102fb85856106a0565b808261034a87876106a0565b610354919061197f565b6102fb91906119ac565b600080600061036c85610470565b91509150808210610385576102fb826102f587876107a4565b6102fb816102f587876107a4565b60008060006103a185610470565b915091508082106103b6576102fb85856107a4565b808261034a87876107a4565b60008060006103d9856001600160a01b0316610470565b9150915060006103ea8686846107c9565b9050818310610407576103fd8184610775565b9350505050610315565b6103fd8183610775565b6000806000610428856001600160a01b0316610470565b9150915060006104398686846107c9565b905081831061044c579250610315915050565b81610457848361197f565b6103fd91906119ac565b600061046b61095b565b905090565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156104b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d891906119d8565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053f9190611a25565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a59190611a25565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106099190611a3e565b801561067e575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106739190611a60565b6001600160801b0316145b1561068b57809350610698565b61069585826109d7565b93505b505050915091565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107059190611a25565b905042811161071f57670de0b6b3a7640000915050610315565b600061072b85856109ed565b905060006107394284611a89565b9050600061074f61074a8484610b14565b610b50565b9050610763670de0b6b3a764000082610775565b945050505050610315565b5092915050565b60008061078a670de0b6b3a76400008561197f565b905082818161079b5761079b611996565b04949350505050565b60006107b083836106a0565b6107c290670de0b6b3a7640000611a89565b9392505050565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b81526004016107f9919061192c565b61012060405180830381865afa158015610817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083b9190611b16565b90506000428260a001511161086b57610858848360200151610b63565b82516108649190611b98565b9050610937565b6000610878838642610b9f565b905060008061088889868a610ca5565b9150915060006108b16108ac8560400151856108a49190611bb8565b865190610d14565b610d37565b905060006108f66108c2838561114c565b6108d490670de0b6b3a7640000611b98565b885160208801516108e6908690610d14565b6108f09190611bb8565b9061114c565b905061090c848289600001516108f09190611b98565b610916828561114c565b86602001516109259190611bb8565b61092f9190611b98565b955050505050505b61095161074a83604001518361114c90919063ffffffff16565b9695505050505050565b600061046b6109d27f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061ffff167f000000000000000000000000000000000000000000000000000000000000000063ffffffff16565b611172565b60008183116109e657816107c2565b5090919050565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610a2657610a26611bd8565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610a6a908590600401611bee565b600060405180830381865afa158015610a87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aaf9190810190611c38565b90508363ffffffff1681600081518110610acb57610acb611bd8565b602002602001015182600181518110610ae657610ae6611bd8565b6020026020010151610af89190611cf6565b610b029190611d16565b6001600160d81b031695945050505050565b600080610b266201518061016d61197f565b610b30848661197f565b610b3a91906119ac565b9050610b486108ac826111e1565b949350505050565b600080821215610b5f57600080fd5b5090565b60008060008312610b75576001610b79565b6000195b9050610b95610b9085610b8b866111f7565b61120e565b6111e1565b610b489082611d3c565b610bca6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a08401518210610bee5760405163b2094b5960e01b815260040160405180910390fd5b6000828560a00151610c009190611a89565b9050610c0c858261122d565b82526020850151610c1e908590610b63565b602083015284511580610c3357506020820151155b15610c66578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b610c8485600001518661010001518460200151856000015185611289565b604083015260c0850151610c989082610b14565b6060830152509392505050565b60008080610cbc6001600160a01b038716856109ed565b90506000428660a00151610cd09190611a89565b9050610cdc8282610b14565b93506000610cef87610100015183610b14565b90506002610cfd8683611b98565b610d079190611d6c565b9350505050935093915050565b600080610d218385611d3c565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610d5c575068070c1cc73b00c800008213155b610d9b5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610c5d565b6000821215610dd357610db082600003610d37565b6a0c097ce7bc90715b34b9f160241b81610dcc57610dcc611996565b0592915050565b60006806f05b59d3b20000008312610e1157506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b610e47565b6803782dace9d90000008312610e4357506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380610e47565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac620000008412610e975768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412610ed3576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610f0d57682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610f47576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610f8057680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610fb95768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610ff2576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c40000841261102b5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080611161670de0b6b3a764000085611d3c565b9050828181610d2e57610d2e611996565b60006103156111a27f0000000000000000000000000000000000000000000000000000000000000000600a611e7e565b6111cd7f0000000000000000000000000000000000000000000000000000000000000000600a611e7e565b6111d7908561197f565b610b9091906119ac565b60006001600160ff1b03821115610b5f57600080fd5b6000808213610b5f5761120982611e8d565b610315565b6000670de0b6b3a7640000611223848461197f565b6107c291906119ac565b6000611238826111e1565b61124a610b906201518061016d61197f565b84608001516112599190611d3c565b6112639190611d6c565b90506000811361031557604051630e520c3b60e11b815260048101829052602401610c5d565b6000806112968684610b14565b9050670de0b6b3a76400008112156112c45760405163329e322960e21b815260048101829052602401610c5d565b60006112da6112d3878a611b98565b899061114c565b905060006112e78261130a565b90506112f3818761114c565b6112fd9084611bb8565b9998505050505050505050565b6000670de0b6b3a764000082036113345760405163a9c8b14d60e01b815260040160405180910390fd5b600061135261134b84670de0b6b3a7640000611bb8565b849061114c565b90506107c28160008082136113995760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610c5d565b670c7d713b49da0000821380156113b75750670f43fc2c04ee000082125b156113db57670de0b6b3a76400006113ce836113e9565b81610dcc57610dcc611996565b61031582611508565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161142a5761142a611996565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121561154957611540826a0c097ce7bc90715b34b9f160241b8161153a5761153a611996565b05611508565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126115945772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126115cb576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611613576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a700831261164e576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261168557693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126116bc57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126116f15768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261171c57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611751576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611786576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126117ba576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126117ee576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161181757611817611996565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6118b3611ea9565b565b60208101600683106118d757634e487b7160e01b600052602160045260246000fd5b91905290565b60006020808352835180602085015260005b8181101561190b578581018301518582016040015282016118ef565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0391909116815260200190565b60006020828403121561195257600080fd5b81356001600160501b03811681146107c257600080fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761031557610315611969565b634e487b7160e01b600052601260045260246000fd5b6000826119bb576119bb611996565b500490565b6001600160a01b03811681146119d557600080fd5b50565b6000806000606084860312156119ed57600080fd5b83516119f8816119c0565b6020850151909350611a09816119c0565b6040850151909250611a1a816119c0565b809150509250925092565b600060208284031215611a3757600080fd5b5051919050565b600060208284031215611a5057600080fd5b815180151581146107c257600080fd5b600060208284031215611a7257600080fd5b81516001600160801b03811681146107c257600080fd5b8181038181111561031557610315611969565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715611ad557611ad5611a9c565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611b0357611b03611a9c565b604052919050565b80516113e4816119c0565b60006101208284031215611b2957600080fd5b611b31611ab2565b825181526020830151602082015260408301516040820152611b5560608401611b0b565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b808201828112600083128015821682158216171561031257610312611969565b818103600083128015838313168383128216171561076e5761076e611969565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b81811015611c2c57835163ffffffff1683529284019291840191600101611c0a565b50909695505050505050565b60006020808385031215611c4b57600080fd5b82516001600160401b0380821115611c6257600080fd5b818501915085601f830112611c7657600080fd5b815181811115611c8857611c88611a9c565b8060051b9150611c99848301611adb565b8181529183018401918481019088841115611cb357600080fd5b938501935b83851015611cea57845192506001600160d81b0383168314611cda5760008081fd5b8282529385019390850190611cb8565b98975050505050505050565b6001600160d81b0382811682821603908082111561076e5761076e611969565b60006001600160d81b0383811680611d3057611d30611996565b92169190910492915050565b80820260008212600160ff1b84141615611d5857611d58611969565b818105831482151761031557610315611969565b600082611d7b57611d7b611996565b600160ff1b821460001984141615611d9557611d95611969565b500590565b600181815b80851115611dd5578160001904821115611dbb57611dbb611969565b80851615611dc857918102915b93841c9390800290611d9f565b509250929050565b600082611dec57506001610315565b81611df957506000610315565b8160018114611e0f5760028114611e1957611e35565b6001915050610315565b60ff841115611e2a57611e2a611969565b50506001821b610315565b5060208310610133831016604e8410600b8410161715611e58575081810a610315565b611e628383611d9a565b8060001904821115611e7657611e76611969565b029392505050565b60006107c260ff841683611ddd565b6000600160ff1b8201611ea257611ea2611969565b5060000390565b634e487b7160e01b600052605160045260246000fdfe50656e646c6520436861696e6c696e6b2d636f6d70617469626c65204f7261636c65a26469706673582212206c20f405fa8d839a3eea9e62f35f73fc5ac36f876ef273e03c8d35c540b959b564736f6c63430008170033";
286
+
287
+ type PendleChainlinkOracleConstructorParams =
288
+ | [signer?: Signer]
289
+ | ConstructorParameters<typeof ContractFactory>;
290
+
291
+ const isSuperArgs = (
292
+ xs: PendleChainlinkOracleConstructorParams
293
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
294
+
295
+ export class PendleChainlinkOracle__factory extends ContractFactory {
296
+ constructor(...args: PendleChainlinkOracleConstructorParams) {
297
+ if (isSuperArgs(args)) {
298
+ super(...args);
299
+ } else {
300
+ super(_abi, _bytecode, args[0]);
301
+ }
302
+ this.contractName = "PendleChainlinkOracle";
303
+ }
304
+
305
+ deploy(
306
+ _market: string,
307
+ _twapDuration: BigNumberish,
308
+ _baseOracleType: BigNumberish,
309
+ overrides?: Overrides & { from?: string | Promise<string> }
310
+ ): Promise<PendleChainlinkOracle> {
311
+ return super.deploy(
312
+ _market,
313
+ _twapDuration,
314
+ _baseOracleType,
315
+ overrides || {}
316
+ ) as Promise<PendleChainlinkOracle>;
317
+ }
318
+ getDeployTransaction(
319
+ _market: string,
320
+ _twapDuration: BigNumberish,
321
+ _baseOracleType: BigNumberish,
322
+ overrides?: Overrides & { from?: string | Promise<string> }
323
+ ): TransactionRequest {
324
+ return super.getDeployTransaction(
325
+ _market,
326
+ _twapDuration,
327
+ _baseOracleType,
328
+ overrides || {}
329
+ );
330
+ }
331
+ attach(address: string): PendleChainlinkOracle {
332
+ return super.attach(address) as PendleChainlinkOracle;
333
+ }
334
+ connect(signer: Signer): PendleChainlinkOracle__factory {
335
+ return super.connect(signer) as PendleChainlinkOracle__factory;
336
+ }
337
+ static readonly contractName: "PendleChainlinkOracle";
338
+ public readonly contractName: "PendleChainlinkOracle";
339
+ static readonly bytecode = _bytecode;
340
+ static readonly abi = _abi;
341
+ static createInterface(): PendleChainlinkOracleInterface {
342
+ return new utils.Interface(_abi) as PendleChainlinkOracleInterface;
343
+ }
344
+ static connect(
345
+ address: string,
346
+ signerOrProvider: Signer | Provider
347
+ ): PendleChainlinkOracle {
348
+ return new Contract(
349
+ address,
350
+ _abi,
351
+ signerOrProvider
352
+ ) as PendleChainlinkOracle;
353
+ }
354
+ }
@@ -1108,7 +1108,7 @@ const _abi = [
1108
1108
  ];
1109
1109
 
1110
1110
  const _bytecode =
1111
- "0x60e06040523480156200001157600080fd5b5073657e8c867d8b37dcc18fa4caead9c45eb088c64280806001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000067573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200008d919062000210565b60ff16608052610134805460ff191690556001600160a01b03811660a052620000b562000142565b505073458797a320e6313c980c2bc7d270466a6288a8bb6001600160a01b0316634fb3ccc56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013091906200023c565b6001600160a01b031660c05262000267565b600154600160a81b900460ff1615620001b15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146200020e576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200022357600080fd5b815160ff811681146200023557600080fd5b9392505050565b6000602082840312156200024f57600080fd5b81516001600160a01b03811681146200023557600080fd5b60805160a05160c051613553620002c16000396000818161053c015261201301526000818161059001528181610899015281816110290152818161115e0152818161117f0152611f49015260006103dd01526135536000f3fe6080604052600436106102115760003560e01c806306fdde031461021d578063071bc3c914610248578063078dfbe71461026a578063095ea7b31461028c5780630bcdb3eb146102bc578063128fced1146102f157806318160ddd1461031e5780631f9ce93a1461034657806320e8c5651461036e578063213cae631461038157806323b872dd1461039657806327af7216146103b6578063313ce567146103cb5780633644e515146104115780633ba0b9a9146104265780633f4ba83a146104415780634cd88b76146104565780634e71e0c8146104765780635ad182d31461048b5780635c975abb146104b35780635f447e04146104cc57806370a08231146104f4578063741fd13e1461052a578063769f8e5d1461055e57806376d5de851461057e578063784367d6146105b25780637ecebe00146105d25780638456cb59146105f257806384b0196e146106075780638da5cb5b1461062f5780638ed93fec1461064f57806395d89b41146106655780639b4529311461067a578063a40bee50146106a2578063a9059cbb146106c6578063b7d122b5146106e6578063b8f82b26146106fe578063c4f59f9b1461071e578063cbe52ae31461073f578063d505accf1461075f578063da88ecb41461077f578063dd62ed3e146107a0578063e30c3978146107c0578063ef5cfb8c146102f1578063f8b2f9911461077f578063fa5a4f06146107e057600080fd5b3661021857005b600080fd5b34801561022957600080fd5b50610232610800565b60405161023f9190612c0c565b60405180910390f35b34801561025457600080fd5b5061025d610892565b60405161023f9190612c1f565b34801561027657600080fd5b5061028a610285366004612c96565b6108c2565b005b34801561029857600080fd5b506102ac6102a7366004612cdf565b6109c7565b604051901515815260200161023f565b3480156102c857600080fd5b506102e4738236a87084f8b84306f72007f36f2618a563449481565b60405161023f9190612d09565b3480156102fd57600080fd5b5061031161030c366004612d1d565b6109e1565b60405161023f9190612d74565b34801561032a57600080fd5b506004546001600160f81b03165b60405190815260200161023f565b34801561035257600080fd5b506102e473458797a320e6313c980c2bc7d270466a6288a8bb81565b61033861037c366004612d87565b6109fc565b34801561038d57600080fd5b5061025d610b45565b3480156103a257600080fd5b506102ac6103b1366004612dc9565b610ba3565b3480156103c257600080fd5b5061028a610c21565b3480156103d757600080fd5b506103ff7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161023f565b34801561041d57600080fd5b50610338610cb9565b34801561043257600080fd5b50670de0b6b3a7640000610338565b34801561044d57600080fd5b5061028a610cc3565b34801561046257600080fd5b5061028a610471366004612ea7565b610cf5565b34801561048257600080fd5b5061028a610e27565b34801561049757600080fd5b506102e473cbb7c0000ab88b473b1f5afd9ef808440eed33bf81565b3480156104bf57600080fd5b506101345460ff166102ac565b3480156104d857600080fd5b506102e473657e8c867d8b37dcc18fa4caead9c45eb088c64281565b34801561050057600080fd5b5061033861050f366004612d1d565b6001600160a01b031660009081526002602052604090205490565b34801561053657600080fd5b506102e47f000000000000000000000000000000000000000000000000000000000000000081565b34801561056a57600080fd5b50610338610579366004612f0a565b610ed2565b34801561058a57600080fd5b506102e47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105be57600080fd5b506102ac6105cd366004612d1d565b611027565b3480156105de57600080fd5b506103386105ed366004612d1d565b611059565b3480156105fe57600080fd5b5061028a611077565b34801561061357600080fd5b5061061c6110a9565b60405161023f9796959493929190612f65565b34801561063b57600080fd5b506000546102e4906001600160a01b031681565b34801561065b57600080fd5b5061033861271081565b34801561067157600080fd5b50610232611147565b34801561068657600080fd5b506102e4732260fac5e5542a773aa44fbcfedf7c193bc2c59981565b3480156106ae57600080fd5b506106b7611156565b60405161023f93929190612feb565b3480156106d257600080fd5b506102ac6106e1366004612cdf565b61120a565b3480156106f257600080fd5b506103386305f5e10081565b34801561070a57600080fd5b50610338610719366004612cdf565b61127c565b34801561072a57600080fd5b5060408051600081526020810190915261025d565b34801561074b57600080fd5b5061033861075a366004612cdf565b6112b7565b34801561076b57600080fd5b5061028a61077a36600461303c565b6112e7565b34801561078b57600080fd5b50604080516000815260208101909152610311565b3480156107ac57600080fd5b506103386107bb3660046130a9565b61144b565b3480156107cc57600080fd5b506001546102e4906001600160a01b031681565b3480156107ec57600080fd5b506102ac6107fb366004612d1d565b611476565b60606005805461080f906130dc565b80601f016020809104026020016040519081016040528092919081815260200182805461083b906130dc565b80156108885780601f1061085d57610100808354040283529160200191610888565b820191906000526020600020905b81548152906001019060200180831161086b57829003601f168201915b5050505050905090565b60606108bd7f0000000000000000000000000000000000000000000000000000000000000000611512565b905090565b6000546001600160a01b031633146108f55760405162461bcd60e51b81526004016108ec90613110565b60405180910390fd5b81156109a6576001600160a01b03831615158061090f5750805b6109535760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016108ec565b600080546040516001600160a01b03808716939216916000805160206134de83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6000336109d581858561156d565b60019150505b92915050565b604080516000808252602082019092526060915b5092915050565b600454600090600119600160f81b90910460ff1601610a2d5760405162461bcd60e51b81526004016108ec90613145565b600480546001600160f81b0316600160f91b179055610a4b84611476565b610a6a57836040516315d57ce360e31b81526004016108ec9190612d09565b82600003610a8b57604051630a907f2f60e41b815260040160405180910390fd5b610a96843385611692565b610aa084846116f9565b905081811015610ac7578082604051635e38f95d60e11b81526004016108ec92919061317c565b610ad185826117b9565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610b2092919061317c565b60405180910390a4600480546001600160f81b0316600160f81b179055949350505050565b60606108bd732260fac5e5542a773aa44fbcfedf7c193bc2c59973cbb7c0000ab88b473b1f5afd9ef808440eed33bf73657e8c867d8b37dcc18fa4caead9c45eb088c642738236a87084f8b84306f72007f36f2618a56344946118d1565b600454600090600119600160f81b90910460ff1601610bd45760405162461bcd60e51b81526004016108ec90613145565b600480546001600160f81b0316600160f91b17905533610bf58582856119cc565b610c00858585611a46565b6001915050600480546001600160f81b0316600160f81b1790559392505050565b610c5373cbb7c0000ab88b473b1f5afd9ef808440eed33bf73657e8c867d8b37dcc18fa4caead9c45eb088c642611c68565b610c85732260fac5e5542a773aa44fbcfedf7c193bc2c59973657e8c867d8b37dcc18fa4caead9c45eb088c642611c68565b610cb7738236a87084f8b84306f72007f36f2618a563449473657e8c867d8b37dcc18fa4caead9c45eb088c642611c68565b565b60006108bd611d28565b6000546001600160a01b03163314610ced5760405162461bcd60e51b81526004016108ec90613110565b610cb7611d32565b600154600160a81b900460ff1615808015610d1b575060018054600160a01b900460ff16105b80610d425750610d2a30611d7f565b158015610d42575060018054600160a01b900460ff16145b610da55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108ec565b6001805460ff60a01b1916600160a01b1790558015610dd2576001805460ff60a81b1916600160a81b1790555b610ddc8383611d8e565b80156109c2576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001546001600160a01b0316338114610e825760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016108ec565b600080546040516001600160a01b03808516939216916000805160206134de83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600454600090600119600160f81b90910460ff1601610f035760405162461bcd60e51b81526004016108ec90613145565b600480546001600160f81b0316600160f91b179055610f2184611027565b610f4057836040516388a5056160e01b81526004016108ec9190612d09565b84600003610f615760405163c3d83b0760e01b815260040160405180910390fd5b8115610f7657610f713086611dc9565b610f80565b610f803386611dc9565b610f8b868587611f42565b905082811015610fb25780836040516305ff726560e51b81526004016108ec92919061317c565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c888560405161100192919061317c565b60405180910390a4600480546001600160f81b0316600160f81b17905595945050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b6001600160a01b0381166000908152609f60205260408120546109db565b6000546001600160a01b031633146110a15760405162461bcd60e51b81526004016108ec90613110565b610cb7611f6f565b600060608060008060006060606b546000801b1480156110c95750606c54155b61110d5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b60448201526064016108ec565b611115611fad565b61111d611fbc565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606006805461080f906130dc565b6000806000807f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ff919061318a565b925092509250909192565b600454600090600119600160f81b90910460ff160161123b5760405162461bcd60e51b81526004016108ec90613145565b600480546001600160f81b0316600160f91b1790553361125c818585611a46565b6001915050600480546001600160f81b0316600160f81b17905592915050565b600061128783611476565b6112a657826040516315d57ce360e31b81526004016108ec9190612d09565b6112b08383611fcb565b9392505050565b60006112c283611027565b6112e157826040516388a5056160e01b81526004016108ec9190612d09565b816112b0565b834211156113375760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016108ec565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886113668c61215a565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006113c182612182565b905060006113d1828787876121af565b9050896001600160a01b0316816001600160a01b0316146114345760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016108ec565b61143f8a8a8a61156d565b50505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60006001600160a01b03821673657e8c867d8b37dcc18fa4caead9c45eb088c64214806114bf57506001600160a01b038216732260fac5e5542a773aa44fbcfedf7c193bc2c599145b806114e657506001600160a01b03821673cbb7c0000ab88b473b1f5afd9ef808440eed33bf145b806109db57506001600160a01b038216738236a87084f8b84306f72007f36f2618a56344941492915050565b604080516001808252818301909252606091602080830190803683370190505090508181600081518110611548576115486131a7565b60200260200101906001600160a01b031690816001600160a01b031681525050919050565b6001600160a01b0383166115cf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108ec565b6001600160a01b0382166116305760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108ec565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166116de578034146109c25760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016108ec565b80156109c2576109c26001600160a01b0384168330846121d9565b600073657e8c867d8b37dcc18fa4caead9c45eb088c641196001600160a01b038416016117275750806109db565b6040516304eaba2160e51b81526001600160a01b0384166004820152602481018390526000604482015230606482015273458797a320e6313c980c2bc7d270466a6288a8bb90639d574420906084016020604051808303816000875af1158015611795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b091906131bd565b6001600160a01b03821661180f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108ec565b61181b60008383612244565b6118248161224c565b6004805460009061183f9084906001600160f81b03166131ec565b92506101000a8154816001600160f81b0302191690836001600160f81b031602179055508060026000846001600160a01b03166001600160a01b031681526020019081526020016000206000828254611898919061320c565b90915550506040518181526001600160a01b038316906000906000805160206134fe8339815191529060200160405180910390a35b5050565b60408051600480825260a08201909252606091602082016080803683370190505090508481600081518110611908576119086131a7565b60200260200101906001600160a01b031690816001600160a01b031681525050838160018151811061193c5761193c6131a7565b60200260200101906001600160a01b031690816001600160a01b0316815250508281600281518110611970576119706131a7565b60200260200101906001600160a01b031690816001600160a01b03168152505081816003815181106119a4576119a46131a7565b60200260200101906001600160a01b031690816001600160a01b031681525050949350505050565b60006119d8848461144b565b90506000198114611a405781811015611a335760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108ec565b611a40848484840361156d565b50505050565b6001600160a01b038316611aaa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108ec565b6001600160a01b038216611b0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108ec565b816001600160a01b0316836001600160a01b031603611b675760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016108ec565b611b72838383612244565b6001600160a01b03831660009081526002602052604090205481811015611bea5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108ec565b6001600160a01b03808516600090815260026020526040808220858503905591851681529081208054849290611c2190849061320c565b92505081905550826001600160a01b0316846001600160a01b03166000805160206134fe83398151915284604051611c5b91815260200190565b60405180910390a3611a40565b6001600160a01b038216611c7a575050565b611c8c60026001600160601b03613235565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015611ce5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0991906131bd565b10156118cd57611d1b82826000612266565b6118cd8282600019612266565b60006108bd61237a565b611d3a6123ee565b610134805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051611d759190612d09565b60405180910390a1565b6001600160a01b03163b151590565b600154600160a81b900460ff16611db75760405162461bcd60e51b81526004016108ec9061325b565b611dc18282612438565b6118cd61248e565b6001600160a01b038216611e295760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108ec565b611e3582600083612244565b6001600160a01b03821660009081526002602052604090205481811015611ea95760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016108ec565b6001600160a01b03831660009081526002602052604090208282039055611ecf8261224c565b60048054600090611eea9084906001600160f81b03166132a6565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b03166000805160206134fe8339815191528460405161168591815260200190565b60006109f57f000000000000000000000000000000000000000000000000000000000000000085846124cb565b611f7761258f565b610134805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611d683390565b6060606d805461080f906130dc565b6060606e805461080f906130dc565b600073657e8c867d8b37dcc18fa4caead9c45eb088c641196001600160a01b03841601611ff95750806109db565b604051634104b9ed60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063820973da90612048908790600401612d09565b602060405180830381865afa158015612065573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208991906131bd565b90508061209a6305f5e100856132c6565b6120a491906132dd565b6040516320ff722560e11b815290925060009073458797a320e6313c980c2bc7d270466a6288a8bb906341fee44a906120e1908890600401612d09565b606060405180830381865afa1580156120fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212291906132f1565b9050612710816040015161ffff1661271061213d9190613369565b61214790856132c6565b61215191906132dd565b95945050505050565b6001600160a01b0381166000908152609f602052604090208054600181018255905b50919050565b60006109db61218f611d28565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060006121c0878787876125d6565b915091506121cd81612690565b5090505b949350505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611a409085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526127d8565b6109c261258f565b60006001600160f81b0382111561226257600080fd5b5090565b600080846001600160a01b031663095ea7b360e01b858560405160240161228e92919061337c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516122cc9190613395565b6000604051808303816000865af19150503d8060008114612309576040519150601f19603f3d011682016040523d82523d6000602084013e61230e565b606091505b509150915081801561233857508051158061233857508080602001905181019061233891906133b1565b6123735760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016108ec565b5050505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6123a56128ad565b6123ad612906565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6101345460ff16610cb75760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016108ec565b600154600160a81b900460ff166124615760405162461bcd60e51b81526004016108ec9061325b565b61246b8282612937565b6118cd82604051806040016040528060018152602001603160f81b815250612993565b600154600160a81b900460ff166124b75760405162461bcd60e51b81526004016108ec9061325b565b600080546001600160a01b03191633179055565b806000036124d857505050565b6001600160a01b03831661257b576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612533576040519150601f19603f3d011682016040523d82523d6000602084013e612538565b606091505b5050905080611a405760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016108ec565b6109c26001600160a01b03841683836129c6565b6101345460ff1615610cb75760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016108ec565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156126035750600090506003612687565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612657573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661268057600060019250925050612687565b9150600090505b94509492505050565b60008160048111156126a4576126a4612fd5565b036126ac5750565b60018160048111156126c0576126c0612fd5565b036127085760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b60448201526064016108ec565b600281600481111561271c5761271c612fd5565b036127695760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016108ec565b600381600481111561277d5761277d612fd5565b036127d55760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016108ec565b50565b600061282d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166129e59092919063ffffffff16565b905080516000148061284e57508080602001905181019061284e91906133b1565b6109c25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016108ec565b6000806128b8611fad565b8051909150156128cf578051602090910120919050565b606b5480156128de5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612911611fbc565b805190915015612928578051602090910120919050565b606c5480156128de5792915050565b600154600160a81b900460ff166129605760405162461bcd60e51b81526004016108ec9061325b565b600561296c838261341e565b506006612979828261341e565b5050600480546001600160f81b0316600160f81b17905550565b600154600160a81b900460ff166129bc5760405162461bcd60e51b81526004016108ec9061325b565b6118cd82826129f4565b6109c28363a9059cbb60e01b848460405160240161220d92919061337c565b60606121d18484600085612a45565b600154600160a81b900460ff16612a1d5760405162461bcd60e51b81526004016108ec9061325b565b606d612a29838261341e565b50606e612a36828261341e565b50506000606b819055606c5550565b606082471015612aa65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016108ec565b600080866001600160a01b03168587604051612ac29190613395565b60006040518083038185875af1925050503d8060008114612aff576040519150601f19603f3d011682016040523d82523d6000602084013e612b04565b606091505b5091509150612b1587838387612b20565b979650505050505050565b60608315612b8d578251600003612b8657612b3a85611d7f565b612b865760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108ec565b50816121d1565b6121d18383815115612ba25781518083602001fd5b8060405162461bcd60e51b81526004016108ec9190612c0c565b60005b83811015612bd7578181015183820152602001612bbf565b50506000910152565b60008151808452612bf8816020860160208601612bbc565b601f01601f19169290920160200192915050565b6020815260006112b06020830184612be0565b6020808252825182820181905260009190848201906040850190845b81811015612c605783516001600160a01b031683529284019291840191600101612c3b565b50909695505050505050565b80356001600160a01b0381168114612c8357600080fd5b919050565b80151581146127d557600080fd5b600080600060608486031215612cab57600080fd5b612cb484612c6c565b92506020840135612cc481612c88565b91506040840135612cd481612c88565b809150509250925092565b60008060408385031215612cf257600080fd5b612cfb83612c6c565b946020939093013593505050565b6001600160a01b0391909116815260200190565b600060208284031215612d2f57600080fd5b6112b082612c6c565b60008151808452602080850194506020840160005b83811015612d6957815187529582019590820190600101612d4d565b509495945050505050565b6020815260006112b06020830184612d38565b60008060008060808587031215612d9d57600080fd5b612da685612c6c565b9350612db460208601612c6c565b93969395505050506040820135916060013590565b600080600060608486031215612dde57600080fd5b612de784612c6c565b9250612df560208501612c6c565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612e2c57600080fd5b81356001600160401b0380821115612e4657612e46612e05565b604051601f8301601f19908116603f01168101908282118183101715612e6e57612e6e612e05565b81604052838152866020858801011115612e8757600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612eba57600080fd5b82356001600160401b0380821115612ed157600080fd5b612edd86838701612e1b565b93506020850135915080821115612ef357600080fd5b50612f0085828601612e1b565b9150509250929050565b600080600080600060a08688031215612f2257600080fd5b612f2b86612c6c565b945060208601359350612f4060408701612c6c565b9250606086013591506080860135612f5781612c88565b809150509295509295909350565b60ff60f81b8816815260e060208201526000612f8460e0830189612be0565b8281036040840152612f968189612be0565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501529050612fc78185612d38565b9a9950505050505050505050565b634e487b7160e01b600052602160045260246000fd5b606081016002851061300d57634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b60ff811681146127d557600080fd5b600080600080600080600060e0888a03121561305757600080fd5b61306088612c6c565b965061306e60208901612c6c565b95506040880135945060608801359350608088013561308c8161302d565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156130bc57600080fd5b6130c583612c6c565b91506130d360208401612c6c565b90509250929050565b600181811c908216806130f057607f821691505b60208210810361217c57634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b60006020828403121561319c57600080fd5b81516112b08161302d565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156131cf57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6001600160f81b038181168382160190808211156109f5576109f56131d6565b808201808211156109db576109db6131d6565b634e487b7160e01b600052601260045260246000fd5b60006001600160601b038381168061324f5761324f61321f565b92169190910492915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160f81b038281168282160390808211156109f5576109f56131d6565b80820281158282048414176109db576109db6131d6565b6000826132ec576132ec61321f565b500490565b60006060828403121561330357600080fd5b604051606081016001600160401b038111828210171561332557613325612e05565b604052825161333381612c88565b8152602083015161334381612c88565b6020820152604083015161ffff8116811461335d57600080fd5b60408201529392505050565b818103818111156109db576109db6131d6565b6001600160a01b03929092168252602082015260400190565b600082516133a7818460208701612bbc565b9190910192915050565b6000602082840312156133c357600080fd5b81516112b081612c88565b601f8211156109c2576000816000526020600020601f850160051c810160208610156133f75750805b601f850160051c820191505b8181101561341657828155600101613403565b505050505050565b81516001600160401b0381111561343757613437612e05565b61344b8161344584546130dc565b846133ce565b602080601f83116001811461348057600084156134685750858301515b600019600386901b1c1916600185901b178555613416565b600085815260208120601f198616915b828110156134af57888601518255948401946001909101908401613490565b50858210156134cd5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220afa6721691a9c7f045486e17b4711d0f9ab31a6f50226c8c7478f6add624883164736f6c63430008170033";
1111
+ "0x60e06040523480156200001157600080fd5b5073657e8c867d8b37dcc18fa4caead9c45eb088c64280806001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000067573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200008d919062000210565b60ff16608052610134805460ff191690556001600160a01b03811660a052620000b562000142565b505073458797a320e6313c980c2bc7d270466a6288a8bb6001600160a01b0316634fb3ccc56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013091906200023c565b6001600160a01b031660c05262000267565b600154600160a81b900460ff1615620001b15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146200020e576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200022357600080fd5b815160ff811681146200023557600080fd5b9392505050565b6000602082840312156200024f57600080fd5b81516001600160a01b03811681146200023557600080fd5b60805160a05160c051613553620002c16000396000818161053c015261201301526000818161059001528181610899015281816110290152818161115e0152818161117f0152611f49015260006103dd01526135536000f3fe6080604052600436106102115760003560e01c806306fdde031461021d578063071bc3c914610248578063078dfbe71461026a578063095ea7b31461028c5780630bcdb3eb146102bc578063128fced1146102f157806318160ddd1461031e5780631f9ce93a1461034657806320e8c5651461036e578063213cae631461038157806323b872dd1461039657806327af7216146103b6578063313ce567146103cb5780633644e515146104115780633ba0b9a9146104265780633f4ba83a146104415780634cd88b76146104565780634e71e0c8146104765780635ad182d31461048b5780635c975abb146104b35780635f447e04146104cc57806370a08231146104f4578063741fd13e1461052a578063769f8e5d1461055e57806376d5de851461057e578063784367d6146105b25780637ecebe00146105d25780638456cb59146105f257806384b0196e146106075780638da5cb5b1461062f5780638ed93fec1461064f57806395d89b41146106655780639b4529311461067a578063a40bee50146106a2578063a9059cbb146106c6578063b7d122b5146106e6578063b8f82b26146106fe578063c4f59f9b1461071e578063cbe52ae31461073f578063d505accf1461075f578063da88ecb41461077f578063dd62ed3e146107a0578063e30c3978146107c0578063ef5cfb8c146102f1578063f8b2f9911461077f578063fa5a4f06146107e057600080fd5b3661021857005b600080fd5b34801561022957600080fd5b50610232610800565b60405161023f9190612c0c565b60405180910390f35b34801561025457600080fd5b5061025d610892565b60405161023f9190612c1f565b34801561027657600080fd5b5061028a610285366004612c96565b6108c2565b005b34801561029857600080fd5b506102ac6102a7366004612cdf565b6109c7565b604051901515815260200161023f565b3480156102c857600080fd5b506102e4738236a87084f8b84306f72007f36f2618a563449481565b60405161023f9190612d09565b3480156102fd57600080fd5b5061031161030c366004612d1d565b6109e1565b60405161023f9190612d74565b34801561032a57600080fd5b506004546001600160f81b03165b60405190815260200161023f565b34801561035257600080fd5b506102e473458797a320e6313c980c2bc7d270466a6288a8bb81565b61033861037c366004612d87565b6109fc565b34801561038d57600080fd5b5061025d610b45565b3480156103a257600080fd5b506102ac6103b1366004612dc9565b610ba3565b3480156103c257600080fd5b5061028a610c21565b3480156103d757600080fd5b506103ff7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161023f565b34801561041d57600080fd5b50610338610cb9565b34801561043257600080fd5b50670de0b6b3a7640000610338565b34801561044d57600080fd5b5061028a610cc3565b34801561046257600080fd5b5061028a610471366004612ea7565b610cf5565b34801561048257600080fd5b5061028a610e27565b34801561049757600080fd5b506102e473cbb7c0000ab88b473b1f5afd9ef808440eed33bf81565b3480156104bf57600080fd5b506101345460ff166102ac565b3480156104d857600080fd5b506102e473657e8c867d8b37dcc18fa4caead9c45eb088c64281565b34801561050057600080fd5b5061033861050f366004612d1d565b6001600160a01b031660009081526002602052604090205490565b34801561053657600080fd5b506102e47f000000000000000000000000000000000000000000000000000000000000000081565b34801561056a57600080fd5b50610338610579366004612f0a565b610ed2565b34801561058a57600080fd5b506102e47f000000000000000000000000000000000000000000000000000000000000000081565b3480156105be57600080fd5b506102ac6105cd366004612d1d565b611027565b3480156105de57600080fd5b506103386105ed366004612d1d565b611059565b3480156105fe57600080fd5b5061028a611077565b34801561061357600080fd5b5061061c6110a9565b60405161023f9796959493929190612f65565b34801561063b57600080fd5b506000546102e4906001600160a01b031681565b34801561065b57600080fd5b5061033861271081565b34801561067157600080fd5b50610232611147565b34801561068657600080fd5b506102e4732260fac5e5542a773aa44fbcfedf7c193bc2c59981565b3480156106ae57600080fd5b506106b7611156565b60405161023f93929190612feb565b3480156106d257600080fd5b506102ac6106e1366004612cdf565b61120a565b3480156106f257600080fd5b506103386305f5e10081565b34801561070a57600080fd5b50610338610719366004612cdf565b61127c565b34801561072a57600080fd5b5060408051600081526020810190915261025d565b34801561074b57600080fd5b5061033861075a366004612cdf565b6112b7565b34801561076b57600080fd5b5061028a61077a36600461303c565b6112e7565b34801561078b57600080fd5b50604080516000815260208101909152610311565b3480156107ac57600080fd5b506103386107bb3660046130a9565b61144b565b3480156107cc57600080fd5b506001546102e4906001600160a01b031681565b3480156107ec57600080fd5b506102ac6107fb366004612d1d565b611476565b60606005805461080f906130dc565b80601f016020809104026020016040519081016040528092919081815260200182805461083b906130dc565b80156108885780601f1061085d57610100808354040283529160200191610888565b820191906000526020600020905b81548152906001019060200180831161086b57829003601f168201915b5050505050905090565b60606108bd7f0000000000000000000000000000000000000000000000000000000000000000611512565b905090565b6000546001600160a01b031633146108f55760405162461bcd60e51b81526004016108ec90613110565b60405180910390fd5b81156109a6576001600160a01b03831615158061090f5750805b6109535760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016108ec565b600080546040516001600160a01b03808716939216916000805160206134de83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6000336109d581858561156d565b60019150505b92915050565b604080516000808252602082019092526060915b5092915050565b600454600090600119600160f81b90910460ff1601610a2d5760405162461bcd60e51b81526004016108ec90613145565b600480546001600160f81b0316600160f91b179055610a4b84611476565b610a6a57836040516315d57ce360e31b81526004016108ec9190612d09565b82600003610a8b57604051630a907f2f60e41b815260040160405180910390fd5b610a96843385611692565b610aa084846116f9565b905081811015610ac7578082604051635e38f95d60e11b81526004016108ec92919061317c565b610ad185826117b9565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610b2092919061317c565b60405180910390a4600480546001600160f81b0316600160f81b179055949350505050565b60606108bd732260fac5e5542a773aa44fbcfedf7c193bc2c59973cbb7c0000ab88b473b1f5afd9ef808440eed33bf73657e8c867d8b37dcc18fa4caead9c45eb088c642738236a87084f8b84306f72007f36f2618a56344946118d1565b600454600090600119600160f81b90910460ff1601610bd45760405162461bcd60e51b81526004016108ec90613145565b600480546001600160f81b0316600160f91b17905533610bf58582856119cc565b610c00858585611a46565b6001915050600480546001600160f81b0316600160f81b1790559392505050565b610c5373cbb7c0000ab88b473b1f5afd9ef808440eed33bf73657e8c867d8b37dcc18fa4caead9c45eb088c642611c68565b610c85732260fac5e5542a773aa44fbcfedf7c193bc2c59973657e8c867d8b37dcc18fa4caead9c45eb088c642611c68565b610cb7738236a87084f8b84306f72007f36f2618a563449473657e8c867d8b37dcc18fa4caead9c45eb088c642611c68565b565b60006108bd611d28565b6000546001600160a01b03163314610ced5760405162461bcd60e51b81526004016108ec90613110565b610cb7611d32565b600154600160a81b900460ff1615808015610d1b575060018054600160a01b900460ff16105b80610d425750610d2a30611d7f565b158015610d42575060018054600160a01b900460ff16145b610da55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108ec565b6001805460ff60a01b1916600160a01b1790558015610dd2576001805460ff60a81b1916600160a81b1790555b610ddc8383611d8e565b80156109c2576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001546001600160a01b0316338114610e825760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016108ec565b600080546040516001600160a01b03808516939216916000805160206134de83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600454600090600119600160f81b90910460ff1601610f035760405162461bcd60e51b81526004016108ec90613145565b600480546001600160f81b0316600160f91b179055610f2184611027565b610f4057836040516388a5056160e01b81526004016108ec9190612d09565b84600003610f615760405163c3d83b0760e01b815260040160405180910390fd5b8115610f7657610f713086611dc9565b610f80565b610f803386611dc9565b610f8b868587611f42565b905082811015610fb25780836040516305ff726560e51b81526004016108ec92919061317c565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c888560405161100192919061317c565b60405180910390a4600480546001600160f81b0316600160f81b17905595945050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b6001600160a01b0381166000908152609f60205260408120546109db565b6000546001600160a01b031633146110a15760405162461bcd60e51b81526004016108ec90613110565b610cb7611f6f565b600060608060008060006060606b546000801b1480156110c95750606c54155b61110d5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b60448201526064016108ec565b611115611fad565b61111d611fbc565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606006805461080f906130dc565b6000806000807f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ff919061318a565b925092509250909192565b600454600090600119600160f81b90910460ff160161123b5760405162461bcd60e51b81526004016108ec90613145565b600480546001600160f81b0316600160f91b1790553361125c818585611a46565b6001915050600480546001600160f81b0316600160f81b17905592915050565b600061128783611476565b6112a657826040516315d57ce360e31b81526004016108ec9190612d09565b6112b08383611fcb565b9392505050565b60006112c283611027565b6112e157826040516388a5056160e01b81526004016108ec9190612d09565b816112b0565b834211156113375760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016108ec565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886113668c61215a565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006113c182612182565b905060006113d1828787876121af565b9050896001600160a01b0316816001600160a01b0316146114345760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016108ec565b61143f8a8a8a61156d565b50505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60006001600160a01b03821673657e8c867d8b37dcc18fa4caead9c45eb088c64214806114bf57506001600160a01b038216732260fac5e5542a773aa44fbcfedf7c193bc2c599145b806114e657506001600160a01b03821673cbb7c0000ab88b473b1f5afd9ef808440eed33bf145b806109db57506001600160a01b038216738236a87084f8b84306f72007f36f2618a56344941492915050565b604080516001808252818301909252606091602080830190803683370190505090508181600081518110611548576115486131a7565b60200260200101906001600160a01b031690816001600160a01b031681525050919050565b6001600160a01b0383166115cf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108ec565b6001600160a01b0382166116305760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108ec565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166116de578034146109c25760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016108ec565b80156109c2576109c26001600160a01b0384168330846121d9565b600073657e8c867d8b37dcc18fa4caead9c45eb088c641196001600160a01b038416016117275750806109db565b6040516304eaba2160e51b81526001600160a01b0384166004820152602481018390526000604482015230606482015273458797a320e6313c980c2bc7d270466a6288a8bb90639d574420906084016020604051808303816000875af1158015611795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b091906131bd565b6001600160a01b03821661180f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108ec565b61181b60008383612244565b6118248161224c565b6004805460009061183f9084906001600160f81b03166131ec565b92506101000a8154816001600160f81b0302191690836001600160f81b031602179055508060026000846001600160a01b03166001600160a01b031681526020019081526020016000206000828254611898919061320c565b90915550506040518181526001600160a01b038316906000906000805160206134fe8339815191529060200160405180910390a35b5050565b60408051600480825260a08201909252606091602082016080803683370190505090508481600081518110611908576119086131a7565b60200260200101906001600160a01b031690816001600160a01b031681525050838160018151811061193c5761193c6131a7565b60200260200101906001600160a01b031690816001600160a01b0316815250508281600281518110611970576119706131a7565b60200260200101906001600160a01b031690816001600160a01b03168152505081816003815181106119a4576119a46131a7565b60200260200101906001600160a01b031690816001600160a01b031681525050949350505050565b60006119d8848461144b565b90506000198114611a405781811015611a335760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108ec565b611a40848484840361156d565b50505050565b6001600160a01b038316611aaa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108ec565b6001600160a01b038216611b0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108ec565b816001600160a01b0316836001600160a01b031603611b675760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016108ec565b611b72838383612244565b6001600160a01b03831660009081526002602052604090205481811015611bea5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108ec565b6001600160a01b03808516600090815260026020526040808220858503905591851681529081208054849290611c2190849061320c565b92505081905550826001600160a01b0316846001600160a01b03166000805160206134fe83398151915284604051611c5b91815260200190565b60405180910390a3611a40565b6001600160a01b038216611c7a575050565b611c8c60026001600160601b03613235565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015611ce5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0991906131bd565b10156118cd57611d1b82826000612266565b6118cd8282600019612266565b60006108bd61237a565b611d3a6123ee565b610134805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051611d759190612d09565b60405180910390a1565b6001600160a01b03163b151590565b600154600160a81b900460ff16611db75760405162461bcd60e51b81526004016108ec9061325b565b611dc18282612438565b6118cd61248e565b6001600160a01b038216611e295760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108ec565b611e3582600083612244565b6001600160a01b03821660009081526002602052604090205481811015611ea95760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016108ec565b6001600160a01b03831660009081526002602052604090208282039055611ecf8261224c565b60048054600090611eea9084906001600160f81b03166132a6565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b03166000805160206134fe8339815191528460405161168591815260200190565b60006109f57f000000000000000000000000000000000000000000000000000000000000000085846124cb565b611f7761258f565b610134805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611d683390565b6060606d805461080f906130dc565b6060606e805461080f906130dc565b600073657e8c867d8b37dcc18fa4caead9c45eb088c641196001600160a01b03841601611ff95750806109db565b604051634104b9ed60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063820973da90612048908790600401612d09565b602060405180830381865afa158015612065573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208991906131bd565b90508061209a6305f5e100856132c6565b6120a491906132dd565b6040516320ff722560e11b815290925060009073458797a320e6313c980c2bc7d270466a6288a8bb906341fee44a906120e1908890600401612d09565b606060405180830381865afa1580156120fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212291906132f1565b9050612710816040015161ffff1661271061213d9190613369565b61214790856132c6565b61215191906132dd565b95945050505050565b6001600160a01b0381166000908152609f602052604090208054600181018255905b50919050565b60006109db61218f611d28565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060006121c0878787876125d6565b915091506121cd81612690565b5090505b949350505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611a409085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526127d8565b6109c261258f565b60006001600160f81b0382111561226257600080fd5b5090565b600080846001600160a01b031663095ea7b360e01b858560405160240161228e92919061337c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516122cc9190613395565b6000604051808303816000865af19150503d8060008114612309576040519150601f19603f3d011682016040523d82523d6000602084013e61230e565b606091505b509150915081801561233857508051158061233857508080602001905181019061233891906133b1565b6123735760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b60448201526064016108ec565b5050505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6123a56128ad565b6123ad612906565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6101345460ff16610cb75760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016108ec565b600154600160a81b900460ff166124615760405162461bcd60e51b81526004016108ec9061325b565b61246b8282612937565b6118cd82604051806040016040528060018152602001603160f81b815250612993565b600154600160a81b900460ff166124b75760405162461bcd60e51b81526004016108ec9061325b565b600080546001600160a01b03191633179055565b806000036124d857505050565b6001600160a01b03831661257b576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612533576040519150601f19603f3d011682016040523d82523d6000602084013e612538565b606091505b5050905080611a405760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016108ec565b6109c26001600160a01b03841683836129c6565b6101345460ff1615610cb75760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016108ec565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156126035750600090506003612687565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612657573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661268057600060019250925050612687565b9150600090505b94509492505050565b60008160048111156126a4576126a4612fd5565b036126ac5750565b60018160048111156126c0576126c0612fd5565b036127085760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b60448201526064016108ec565b600281600481111561271c5761271c612fd5565b036127695760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016108ec565b600381600481111561277d5761277d612fd5565b036127d55760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016108ec565b50565b600061282d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166129e59092919063ffffffff16565b905080516000148061284e57508080602001905181019061284e91906133b1565b6109c25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016108ec565b6000806128b8611fad565b8051909150156128cf578051602090910120919050565b606b5480156128de5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612911611fbc565b805190915015612928578051602090910120919050565b606c5480156128de5792915050565b600154600160a81b900460ff166129605760405162461bcd60e51b81526004016108ec9061325b565b600561296c838261341e565b506006612979828261341e565b5050600480546001600160f81b0316600160f81b17905550565b600154600160a81b900460ff166129bc5760405162461bcd60e51b81526004016108ec9061325b565b6118cd82826129f4565b6109c28363a9059cbb60e01b848460405160240161220d92919061337c565b60606121d18484600085612a45565b600154600160a81b900460ff16612a1d5760405162461bcd60e51b81526004016108ec9061325b565b606d612a29838261341e565b50606e612a36828261341e565b50506000606b819055606c5550565b606082471015612aa65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016108ec565b600080866001600160a01b03168587604051612ac29190613395565b60006040518083038185875af1925050503d8060008114612aff576040519150601f19603f3d011682016040523d82523d6000602084013e612b04565b606091505b5091509150612b1587838387612b20565b979650505050505050565b60608315612b8d578251600003612b8657612b3a85611d7f565b612b865760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108ec565b50816121d1565b6121d18383815115612ba25781518083602001fd5b8060405162461bcd60e51b81526004016108ec9190612c0c565b60005b83811015612bd7578181015183820152602001612bbf565b50506000910152565b60008151808452612bf8816020860160208601612bbc565b601f01601f19169290920160200192915050565b6020815260006112b06020830184612be0565b6020808252825182820181905260009190848201906040850190845b81811015612c605783516001600160a01b031683529284019291840191600101612c3b565b50909695505050505050565b80356001600160a01b0381168114612c8357600080fd5b919050565b80151581146127d557600080fd5b600080600060608486031215612cab57600080fd5b612cb484612c6c565b92506020840135612cc481612c88565b91506040840135612cd481612c88565b809150509250925092565b60008060408385031215612cf257600080fd5b612cfb83612c6c565b946020939093013593505050565b6001600160a01b0391909116815260200190565b600060208284031215612d2f57600080fd5b6112b082612c6c565b60008151808452602080850194506020840160005b83811015612d6957815187529582019590820190600101612d4d565b509495945050505050565b6020815260006112b06020830184612d38565b60008060008060808587031215612d9d57600080fd5b612da685612c6c565b9350612db460208601612c6c565b93969395505050506040820135916060013590565b600080600060608486031215612dde57600080fd5b612de784612c6c565b9250612df560208501612c6c565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612e2c57600080fd5b81356001600160401b0380821115612e4657612e46612e05565b604051601f8301601f19908116603f01168101908282118183101715612e6e57612e6e612e05565b81604052838152866020858801011115612e8757600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215612eba57600080fd5b82356001600160401b0380821115612ed157600080fd5b612edd86838701612e1b565b93506020850135915080821115612ef357600080fd5b50612f0085828601612e1b565b9150509250929050565b600080600080600060a08688031215612f2257600080fd5b612f2b86612c6c565b945060208601359350612f4060408701612c6c565b9250606086013591506080860135612f5781612c88565b809150509295509295909350565b60ff60f81b8816815260e060208201526000612f8460e0830189612be0565b8281036040840152612f968189612be0565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501529050612fc78185612d38565b9a9950505050505050505050565b634e487b7160e01b600052602160045260246000fd5b606081016002851061300d57634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b60ff811681146127d557600080fd5b600080600080600080600060e0888a03121561305757600080fd5b61306088612c6c565b965061306e60208901612c6c565b95506040880135945060608801359350608088013561308c8161302d565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156130bc57600080fd5b6130c583612c6c565b91506130d360208401612c6c565b90509250929050565b600181811c908216806130f057607f821691505b60208210810361217c57634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b60006020828403121561319c57600080fd5b81516112b08161302d565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156131cf57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6001600160f81b038181168382160190808211156109f5576109f56131d6565b808201808211156109db576109db6131d6565b634e487b7160e01b600052601260045260246000fd5b60006001600160601b038381168061324f5761324f61321f565b92169190910492915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160f81b038281168282160390808211156109f5576109f56131d6565b80820281158282048414176109db576109db6131d6565b6000826132ec576132ec61321f565b500490565b60006060828403121561330357600080fd5b604051606081016001600160401b038111828210171561332557613325612e05565b604052825161333381612c88565b8152602083015161334381612c88565b6020820152604083015161ffff8116811461335d57600080fd5b60408201529392505050565b818103818111156109db576109db6131d6565b6001600160a01b03929092168252602082015260400190565b600082516133a7818460208701612bbc565b9190910192915050565b6000602082840312156133c357600080fd5b81516112b081612c88565b601f8211156109c2576000816000526020600020601f850160051c810160208610156133f75750805b601f850160051c820191505b8181101561341657828155600101613403565b505050505050565b81516001600160401b0381111561343757613437612e05565b61344b8161344584546130dc565b846133ce565b602080601f83116001811461348057600084156134685750858301515b600019600386901b1c1916600185901b178555613416565b600085815260208120601f198616915b828110156134af57888601518255948401946001909101908401613490565b50858210156134cd5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220ffeb40eb09abb41f1af44a75d9e1209cfcba01a39adca971725b1b036df18c9864736f6c63430008170033";
1112
1112
 
1113
1113
  type PendleEBTCSYConstructorParams =
1114
1114
  | [signer?: Signer]