@meterio/sumer-js 0.2.114 → 0.2.115

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 (237) hide show
  1. package/dist/browser/sumer.min.js +10 -10
  2. package/dist/nodejs/abi.d.ts +542 -123
  3. package/dist/nodejs/abi.js +19858 -9807
  4. package/dist/nodejs/abi.js.map +1 -1
  5. package/dist/nodejs/cToken.js +1 -7
  6. package/dist/nodejs/cToken.js.map +1 -1
  7. package/dist/nodejs/constants/arbitrum.d.ts +11 -3
  8. package/dist/nodejs/constants/arbitrum.js +149 -22
  9. package/dist/nodejs/constants/arbitrum.js.map +1 -1
  10. package/dist/nodejs/constants/b2main.d.ts +8 -3
  11. package/dist/nodejs/constants/b2main.js +65 -13
  12. package/dist/nodejs/constants/b2main.js.map +1 -1
  13. package/dist/nodejs/constants/basemain.d.ts +12 -5
  14. package/dist/nodejs/constants/basemain.js +127 -19
  15. package/dist/nodejs/constants/basemain.js.map +1 -1
  16. package/dist/nodejs/constants/basetest.d.ts +10 -21
  17. package/dist/nodejs/constants/basetest.js +35 -21
  18. package/dist/nodejs/constants/basetest.js.map +1 -1
  19. package/dist/nodejs/constants/berabartio.d.ts +6 -3
  20. package/dist/nodejs/constants/berabartio.js +139 -5
  21. package/dist/nodejs/constants/berabartio.js.map +1 -1
  22. package/dist/nodejs/constants/beramain.d.ts +12 -7
  23. package/dist/nodejs/constants/beramain.js +93 -48
  24. package/dist/nodejs/constants/beramain.js.map +1 -1
  25. package/dist/nodejs/constants/bsc.d.ts +10 -15
  26. package/dist/nodejs/constants/bsc.js +92 -13
  27. package/dist/nodejs/constants/bsc.js.map +1 -1
  28. package/dist/nodejs/constants/core.d.ts +8 -7
  29. package/dist/nodejs/constants/core.js +105 -28
  30. package/dist/nodejs/constants/core.js.map +1 -1
  31. package/dist/nodejs/constants/ethereum.d.ts +11 -4
  32. package/dist/nodejs/constants/ethereum.js +264 -18
  33. package/dist/nodejs/constants/ethereum.js.map +1 -1
  34. package/dist/nodejs/constants/index.js +0 -2
  35. package/dist/nodejs/constants/index.js.map +1 -1
  36. package/dist/nodejs/constants/merlin.d.ts +7 -3
  37. package/dist/nodejs/constants/merlin.js +45 -7
  38. package/dist/nodejs/constants/merlin.js.map +1 -1
  39. package/dist/nodejs/constants/metermain.d.ts +8 -3
  40. package/dist/nodejs/constants/metermain.js +53 -12
  41. package/dist/nodejs/constants/metermain.js.map +1 -1
  42. package/dist/nodejs/constants/metertest.d.ts +9 -4
  43. package/dist/nodejs/constants/metertest.js +113 -13
  44. package/dist/nodejs/constants/metertest.js.map +1 -1
  45. package/dist/nodejs/constants/monadtest.d.ts +6 -3
  46. package/dist/nodejs/constants/monadtest.js +89 -5
  47. package/dist/nodejs/constants/monadtest.js.map +1 -1
  48. package/dist/nodejs/constants/sepolia.d.ts +6 -3
  49. package/dist/nodejs/constants/sepolia.js +53 -5
  50. package/dist/nodejs/constants/sepolia.js.map +1 -1
  51. package/dist/nodejs/constants/zklink.d.ts +11 -7
  52. package/dist/nodejs/constants/zklink.js +82 -11
  53. package/dist/nodejs/constants/zklink.js.map +1 -1
  54. package/dist/nodejs/errorABIs.js +2261 -0
  55. package/dist/nodejs/errorABIs.js.map +1 -1
  56. package/dist/nodejs/index.d.ts +542 -123
  57. package/dist/nodejs/typechain/@openzeppelin/contracts-upgradeable/security/index.d.ts +1 -0
  58. package/dist/nodejs/typechain/contracts/Bera/CBeraVault.d.ts +36 -40
  59. package/dist/nodejs/typechain/contracts/CToken/CErc20.d.ts +36 -40
  60. package/dist/nodejs/typechain/contracts/CToken/SuErc20.d.ts +40 -44
  61. package/dist/nodejs/typechain/contracts/Comptroller/CompLogic.d.ts +1 -9
  62. package/dist/nodejs/typechain/contracts/Comptroller/MockComptroller.d.ts +1237 -0
  63. package/dist/nodejs/typechain/contracts/{Oracle/BalancerLPAdapter.sol/IBalancerVault.js → Comptroller/MockComptroller.js} +1 -1
  64. package/dist/nodejs/typechain/contracts/Comptroller/MockComptroller.js.map +1 -0
  65. package/dist/nodejs/typechain/contracts/Comptroller/index.d.ts +1 -0
  66. package/dist/nodejs/typechain/contracts/Infrared/CInfraredVault.d.ts +129 -107
  67. package/dist/nodejs/typechain/contracts/Infrared/IInfraredRewards.d.ts +16 -16
  68. package/dist/nodejs/typechain/contracts/Interfaces/ICompLogic.d.ts +1 -9
  69. package/dist/nodejs/typechain/contracts/Interfaces/IComptroller.d.ts +5 -76
  70. package/dist/nodejs/typechain/contracts/Interfaces/index.d.ts +6 -0
  71. package/dist/nodejs/typechain/contracts/Oracle/FeedPriceOracle.d.ts +1 -43
  72. package/dist/nodejs/typechain/contracts/Oracle/index.d.ts +0 -2
  73. package/dist/nodejs/typechain/contracts/index.d.ts +4 -0
  74. package/dist/nodejs/typechain/factories/@openzeppelin/contracts-upgradeable/security/index.d.ts +1 -0
  75. package/dist/nodejs/typechain/factories/@openzeppelin/contracts-upgradeable/security/index.js +3 -1
  76. package/dist/nodejs/typechain/factories/@openzeppelin/contracts-upgradeable/security/index.js.map +1 -1
  77. package/dist/nodejs/typechain/factories/contracts/Bera/CBeraVault__factory.d.ts +18 -90
  78. package/dist/nodejs/typechain/factories/contracts/Bera/CBeraVault__factory.js +18 -125
  79. package/dist/nodejs/typechain/factories/contracts/Bera/CBeraVault__factory.js.map +1 -1
  80. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.d.ts +18 -90
  81. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.js +18 -125
  82. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.js.map +1 -1
  83. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.d.ts +1 -57
  84. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.js +1 -71
  85. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.js.map +1 -1
  86. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.d.ts +0 -56
  87. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.js +0 -70
  88. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.js.map +1 -1
  89. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.d.ts +20 -100
  90. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.js +20 -139
  91. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.js.map +1 -1
  92. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.d.ts +1 -67
  93. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.js +1 -84
  94. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.js.map +1 -1
  95. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.d.ts +1 -57
  96. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.js +1 -71
  97. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.js.map +1 -1
  98. package/dist/nodejs/typechain/factories/contracts/Comptroller/ComptrollerStorage__factory.d.ts +1 -1
  99. package/dist/nodejs/typechain/factories/contracts/Comptroller/ComptrollerStorage__factory.js +1 -1
  100. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.d.ts +1 -1
  101. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.js +1 -1
  102. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.js.map +1 -1
  103. package/dist/nodejs/typechain/factories/contracts/Comptroller/MockComptroller__factory.d.ts +1880 -0
  104. package/dist/nodejs/typechain/factories/contracts/Comptroller/MockComptroller__factory.js +2415 -0
  105. package/dist/nodejs/typechain/factories/contracts/Comptroller/MockComptroller__factory.js.map +1 -0
  106. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.d.ts +1 -57
  107. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.js +1 -71
  108. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.js.map +1 -1
  109. package/dist/nodejs/typechain/factories/contracts/Comptroller/SortedBorrows__factory.d.ts +1 -1
  110. package/dist/nodejs/typechain/factories/contracts/Comptroller/SortedBorrows__factory.js +1 -1
  111. package/dist/nodejs/typechain/factories/contracts/Comptroller/index.d.ts +1 -0
  112. package/dist/nodejs/typechain/factories/contracts/Comptroller/index.js +3 -1
  113. package/dist/nodejs/typechain/factories/contracts/Comptroller/index.js.map +1 -1
  114. package/dist/nodejs/typechain/factories/contracts/Infrared/CInfraredVault__factory.d.ts +143 -170
  115. package/dist/nodejs/typechain/factories/contracts/Infrared/CInfraredVault__factory.js +170 -224
  116. package/dist/nodejs/typechain/factories/contracts/Infrared/CInfraredVault__factory.js.map +1 -1
  117. package/dist/nodejs/typechain/factories/contracts/Infrared/IInfraredRewards__factory.d.ts +11 -26
  118. package/dist/nodejs/typechain/factories/contracts/Infrared/IInfraredRewards__factory.js +14 -33
  119. package/dist/nodejs/typechain/factories/contracts/Infrared/IInfraredRewards__factory.js.map +1 -1
  120. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICompLogic__factory.d.ts +0 -10
  121. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICompLogic__factory.js +0 -13
  122. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICompLogic__factory.js.map +1 -1
  123. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.d.ts +0 -86
  124. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.js +0 -109
  125. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.js.map +1 -1
  126. package/dist/nodejs/typechain/factories/contracts/Interfaces/index.d.ts +3 -0
  127. package/dist/nodejs/typechain/factories/contracts/Interfaces/index.js +4 -1
  128. package/dist/nodejs/typechain/factories/contracts/Interfaces/index.js.map +1 -1
  129. package/dist/nodejs/typechain/factories/contracts/Multicall2__factory.d.ts +1 -1
  130. package/dist/nodejs/typechain/factories/contracts/Multicall2__factory.js +1 -1
  131. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.d.ts +1 -47
  132. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.js +1 -61
  133. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.js.map +1 -1
  134. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/WstETHAdapter__factory.d.ts +1 -1
  135. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/WstETHAdapter__factory.js +1 -1
  136. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/WstMTRGAdapter__factory.d.ts +1 -1
  137. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/WstMTRGAdapter__factory.js +1 -1
  138. package/dist/nodejs/typechain/factories/contracts/Oracle/index.d.ts +0 -1
  139. package/dist/nodejs/typechain/factories/contracts/Oracle/index.js +1 -2
  140. package/dist/nodejs/typechain/factories/contracts/Oracle/index.js.map +1 -1
  141. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.d.ts +1 -57
  142. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.js +1 -71
  143. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.js.map +1 -1
  144. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.d.ts +1 -57
  145. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.js +1 -71
  146. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.js.map +1 -1
  147. package/dist/nodejs/typechain/factories/contracts/index.d.ts +2 -0
  148. package/dist/nodejs/typechain/factories/contracts/index.js +3 -1
  149. package/dist/nodejs/typechain/factories/contracts/index.js.map +1 -1
  150. package/dist/nodejs/typechain/factories/index.d.ts +1 -0
  151. package/dist/nodejs/typechain/factories/index.js +2 -1
  152. package/dist/nodejs/typechain/factories/index.js.map +1 -1
  153. package/dist/nodejs/typechain/hardhat.d.ts +324 -54
  154. package/dist/nodejs/typechain/index.d.ts +34 -8
  155. package/dist/nodejs/typechain/index.js +35 -11
  156. package/dist/nodejs/typechain/index.js.map +1 -1
  157. package/package.json +1 -1
  158. package/dist/nodejs/constants/hemi.d.ts +0 -69
  159. package/dist/nodejs/constants/hemi.js +0 -151
  160. package/dist/nodejs/constants/hemi.js.map +0 -1
  161. package/dist/nodejs/typechain/contracts/Infrared/ITimeWeightedMultiRewards.d.ts +0 -149
  162. package/dist/nodejs/typechain/contracts/Infrared/ITimeWeightedMultiRewards.js +0 -3
  163. package/dist/nodejs/typechain/contracts/Infrared/ITimeWeightedMultiRewards.js.map +0 -1
  164. package/dist/nodejs/typechain/contracts/Infrared/InfraredRewards.d.ts +0 -186
  165. package/dist/nodejs/typechain/contracts/Infrared/InfraredRewards.js +0 -3
  166. package/dist/nodejs/typechain/contracts/Infrared/InfraredRewards.js.map +0 -1
  167. package/dist/nodejs/typechain/contracts/Infrared/TimeWeightedMultiRewards.d.ts +0 -217
  168. package/dist/nodejs/typechain/contracts/Infrared/TimeWeightedMultiRewards.js +0 -3
  169. package/dist/nodejs/typechain/contracts/Infrared/TimeWeightedMultiRewards.js.map +0 -1
  170. package/dist/nodejs/typechain/contracts/Interfaces/Balancer.sol/IBalancerLP.d.ts +0 -33
  171. package/dist/nodejs/typechain/contracts/Interfaces/Balancer.sol/IBalancerLP.js +0 -3
  172. package/dist/nodejs/typechain/contracts/Interfaces/Balancer.sol/IBalancerLP.js.map +0 -1
  173. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/BalancerLPAdapter.d.ts +0 -93
  174. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/BalancerLPAdapter.js +0 -3
  175. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/BalancerLPAdapter.js.map +0 -1
  176. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/IBalancerLP.d.ts +0 -33
  177. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/IBalancerLP.js +0 -3
  178. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/IBalancerLP.js.map +0 -1
  179. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/IBalancerVault.d.ts +0 -49
  180. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/IBalancerVault.js.map +0 -1
  181. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/IPriceOracle.d.ts +0 -25
  182. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/IPriceOracle.js +0 -3
  183. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/IPriceOracle.js.map +0 -1
  184. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/index.d.ts +0 -4
  185. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/index.js +0 -3
  186. package/dist/nodejs/typechain/contracts/Oracle/BalancerLPAdapter.sol/index.js.map +0 -1
  187. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/DualCoreAdapter.d.ts +0 -29
  188. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/DualCoreAdapter.js +0 -3
  189. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/DualCoreAdapter.js.map +0 -1
  190. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/ICoreVault.d.ts +0 -25
  191. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/ICoreVault.js +0 -3
  192. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/ICoreVault.js.map +0 -1
  193. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/IDualCore.d.ts +0 -25
  194. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/IDualCore.js +0 -3
  195. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/IDualCore.js.map +0 -1
  196. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/index.d.ts +0 -3
  197. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/index.js +0 -3
  198. package/dist/nodejs/typechain/contracts/Oracle/dualCoreAdapter.sol/index.js.map +0 -1
  199. package/dist/nodejs/typechain/factories/contracts/Infrared/ITimeWeightedMultiRewards__factory.d.ts +0 -169
  200. package/dist/nodejs/typechain/factories/contracts/Infrared/ITimeWeightedMultiRewards__factory.js +0 -229
  201. package/dist/nodejs/typechain/factories/contracts/Infrared/ITimeWeightedMultiRewards__factory.js.map +0 -1
  202. package/dist/nodejs/typechain/factories/contracts/Infrared/InfraredRewards__factory.d.ts +0 -219
  203. package/dist/nodejs/typechain/factories/contracts/Infrared/InfraredRewards__factory.js +0 -296
  204. package/dist/nodejs/typechain/factories/contracts/Infrared/InfraredRewards__factory.js.map +0 -1
  205. package/dist/nodejs/typechain/factories/contracts/Infrared/TimeWeightedMultiRewards__factory.d.ts +0 -241
  206. package/dist/nodejs/typechain/factories/contracts/Infrared/TimeWeightedMultiRewards__factory.js +0 -323
  207. package/dist/nodejs/typechain/factories/contracts/Infrared/TimeWeightedMultiRewards__factory.js.map +0 -1
  208. package/dist/nodejs/typechain/factories/contracts/Interfaces/Balancer.sol/IBalancerLP__factory.d.ts +0 -37
  209. package/dist/nodejs/typechain/factories/contracts/Interfaces/Balancer.sol/IBalancerLP__factory.js +0 -59
  210. package/dist/nodejs/typechain/factories/contracts/Interfaces/Balancer.sol/IBalancerLP__factory.js.map +0 -1
  211. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/BalancerLPAdapter__factory.d.ts +0 -158
  212. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/BalancerLPAdapter__factory.js +0 -214
  213. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/BalancerLPAdapter__factory.js.map +0 -1
  214. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/IBalancerLP__factory.d.ts +0 -37
  215. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/IBalancerLP__factory.js +0 -59
  216. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/IBalancerLP__factory.js.map +0 -1
  217. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/IBalancerVault__factory.d.ts +0 -29
  218. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/IBalancerVault__factory.js +0 -49
  219. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/IBalancerVault__factory.js.map +0 -1
  220. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/IPriceOracle__factory.d.ts +0 -21
  221. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/IPriceOracle__factory.js +0 -39
  222. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/IPriceOracle__factory.js.map +0 -1
  223. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/index.d.ts +0 -4
  224. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/index.js +0 -15
  225. package/dist/nodejs/typechain/factories/contracts/Oracle/BalancerLPAdapter.sol/index.js.map +0 -1
  226. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/DualCoreAdapter__factory.d.ts +0 -54
  227. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/DualCoreAdapter__factory.js +0 -82
  228. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/DualCoreAdapter__factory.js.map +0 -1
  229. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/ICoreVault__factory.d.ts +0 -21
  230. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/ICoreVault__factory.js +0 -39
  231. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/ICoreVault__factory.js.map +0 -1
  232. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/IDualCore__factory.d.ts +0 -17
  233. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/IDualCore__factory.js +0 -33
  234. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/IDualCore__factory.js.map +0 -1
  235. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/index.d.ts +0 -3
  236. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/index.js +0 -13
  237. package/dist/nodejs/typechain/factories/contracts/Oracle/dualCoreAdapter.sol/index.js.map +0 -1
@@ -1,26 +1,22 @@
1
1
  import { ContractFactory, ContractTransactionResponse } from "ethers";
2
- import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers";
2
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
3
3
  import type { NonPayableOverrides } from "../../../common";
4
4
  import type { CInfraredVault, CInfraredVaultInterface } from "../../../contracts/Infrared/CInfraredVault";
5
5
  type CInfraredVaultConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
6
6
  export declare class CInfraredVault__factory extends ContractFactory {
7
7
  constructor(...args: CInfraredVaultConstructorParams);
8
- getDeployTransaction(_infraredVault: AddressLike, overrides?: NonPayableOverrides & {
8
+ getDeployTransaction(overrides?: NonPayableOverrides & {
9
9
  from?: string;
10
10
  }): Promise<ContractDeployTransaction>;
11
- deploy(_infraredVault: AddressLike, overrides?: NonPayableOverrides & {
11
+ deploy(overrides?: NonPayableOverrides & {
12
12
  from?: string;
13
13
  }): Promise<CInfraredVault & {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): CInfraredVault__factory;
17
- static readonly bytecode = "0x60a03461015757601f61648738819003918201601f19168301916001600160401b0383118484101761015c5780849260209460405283398101031261015757516001600160a01b0381169081900361015757670de0b6b3a764000060115560475460ff8160081c166101025760ff808216106100c7575b506080524260b055604051616314908161017382396080518181816117be015281816131b601528181613c62015281816140a9015281816143d3015281816144c301528181615c7a0152615f420152f35b60ff90811916176047557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610076565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c806306fdde03146104a25780630786f2231461049d578063095ea7b3146104985780630e75270214610493578063134131a21461048e578063173b99041461048957806317bfdfbc1461048457806318160ddd1461047f578063182df0f51461047a5780631be19560146104755780631e83409a14610470578063211dc32d1461046b57806321e5e2c41461046657806323b872dd1461046157806323e69e411461045c5780632608f8181461045757806326782247146104525780632826c1a11461044d5780632d7183f614610448578063313ce567146104435780633a98ef391461043e5780633af9e669146104395780633b1d21a2146104165780633e941010146104345780634000fbad1461042f57806341e340061461042a57806342f3251a146104255780634576b5db1461042057806347bd37181461041b57806359356c5c146104165780635c975abb146104115780635fe3b5671461040c578063601a0bf1146104075780636752e702146104025780636ab3b0e5146103fd5780636f307dc3146103f857806370a08231146103f357806373acee98146103ee578063817b1cd2146103e9578063852a12e3146103e45780638f840ddd146103df57806395d89b41146103da57806395dd9193146103d55780639b1a5bf4146103d05780639e211641146103cb578063a0712d68146103c6578063a3e94ddd146103c1578063a6afed95146103bc578063a9059cbb146103b7578063aa5af0fd146103b2578063ac784ddc146103ad578063ae9d70b0146103a8578063b34c8caf146103a3578063b58663821461039e578063b71d1a0c14610399578063bd6d894d14610394578063c37f68e21461038f578063c5ebeaec1461038a578063c6c02aec14610385578063c717823014610380578063cfa992011461037b578063d4af8de214610376578063db006a7514610371578063dd62ed3e1461036c578063e9c714f214610367578063eac1fed014610362578063f2b3abbd1461035d578063f3fdb15a14610358578063f5e3c46214610353578063f851a4401461034e578063f8f9da2814610349578063fca7820b146103445763fe9c44ae1461033f57600080fd5b612fb0565b612ee7565b612e8e565b612e61565b612a7d565b612a54565b61294a565b612929565b6127f2565b6127ad565b612766565b6126d0565b61267f565b612553565b612395565b6121a4565b612131565b612116565b612067565b611fcb565b611f75565b611ed3565b611eb7565b611e99565b611e53565b611e38565b611db7565b611be5565b611b52565b611b2f565b611b08565b611a60565b611a42565b6118c8565b6118aa565b611857565b61181a565b6117ed565b6117a8565b611785565b61166b565b611642565b61161f565b611319565b611601565b6114f1565b6114d3565b61148a565b61141c565b611337565b6112af565b611291565b611270565b6111b7565b611119565b61104a565b610ffc565b610f13565b610ea5565b610e3d565b610e24565b610c3b565b610a40565b610a1d565b6109ff565b61099b565b61097d565b6107be565b61075f565b6106cf565b610698565b6105b8565b60009103126104b257565b600080fd5b90600182811c921680156104e7575b60208310146104d157565b634e487b7160e01b600052602260045260246000fd5b91607f16916104c6565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b0382111761052257604052565b6104f1565b604081019081106001600160401b0382111761052257604052565b90601f801991011681019081106001600160401b0382111761052257604052565b919082519283825260005b84811061058f575050826000602080949584010152601f8019910116010190565b8060208092840101518282860101520161056e565b9060206105b5928181520190610563565b90565b346104b25760003660031901126104b257604051600154600090816105dc826104b7565b80855291600181169081156106715750600114610614575b6106108461060481860382610542565b604051918291826105a4565b0390f35b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b80821061065757509091508101602001610604826105f4565b91926001816020925483858801015201910190929161063e565b60ff191660208087019190915292151560051b8501909201925061060491508390506105f4565b346104b25760003660031901126104b257602060ff60005460081c166040519015158152f35b6001600160a01b038116036104b257565b346104b25760403660031901126104b2576004356106ec816106be565b6024359033600052600f6020528161071a8260406000209060018060a01b0316600052602052604060002090565b556040519182526001600160a01b03169033907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590602090a360405160018152602090f35b346104b25760203660031901126104b2576107a160043560005461078860ff8260101c16612fcc565b62ff00001916600055610799613a9c565b503333615171565b506000805462ff0000191662010000179055604051908152602090f35b346104b25760403660031901126104b2576004356107db816106be565b602435906000546107f160ff8260101c16612fcc565b62ff00001916600055604051637f4e225760e11b8152602081600481335afa9081156109295760009161095e575b5061094d576005546108479061083b906001600160a01b031681565b6001600160a01b031690565b604051637bca031760e11b8152336004820152602081602481855afa9081156109295760009161092e575b50156108e957604051637bca031760e11b815230600482015290602090829060249082905afa908115610929576000916108fa575b50156108e957610610916108c3916001600160a01b031661418b565b6108d96201000062ff0000196000541617600055565b6040519081529081906020820190565b6334b04fe360e11b60005260046000fd5b61091c915060203d602011610922575b6109148183610542565b810190613005565b386108a7565b503d61090a565b61301a565b610947915060203d602011610922576109148183610542565b38610872565b634a8af12d60e01b60005260046000fd5b610977915060203d602011610922576109148183610542565b3861081f565b346104b25760003660031901126104b2576020600854604051908152f35b346104b25760203660031901126104b25760206109e66004356109bd816106be565b6000546109cf60ff8260101c16612fcc565b62ff000019166000556109e0613a9c565b50614ce3565b6201000062ff0000196000541617600055604051908152f35b346104b25760003660031901126104b2576020600d54604051908152f35b346104b25760003660031901126104b2576020610a38614350565b604051908152f35b346104b25760203660031901126104b257600435610a5d816106be565b6000546001600160a01b0391821691610a799160181c1661083b565b808214610c2a576040516370a0823160e01b81523060048201529190602090839060249082906001600160a01b03165afa91821561092957600092610c09575b506040516370a0823160e01b8152306004820152602081602481855afa90811561092957600091610bea575b5060035460081c6001600160a01b031690823b156104b25760405163a9059cbb60e01b81526001600160a01b039290921660048301526024820152906000908290604490829084905af1801561092957610bcf575b50600054610b559061083b9060181c6001600160a01b031681565b6040516370a0823160e01b81523060048201529190602090839060249082905afa91821561092957600092610b9e575b5003610b8d57005b6346edcd5360e11b60005260046000fd5b610bc191925060203d602011610bc8575b610bb98183610542565b810190613026565b9038610b85565b503d610baf565b80610bde6000610be493610542565b806104a7565b38610b3a565b610c03915060203d602011610bc857610bb98183610542565b38610ae5565b610c2391925060203d602011610bc857610bb98183610542565b9038610ab9565b632f028cfb60e01b60005260046000fd5b346104b25760203660031901126104b257610cf5600435610c5b816106be565b600054610c6d60ff8260101c16612fcc565b62ff0000191660009081556001600160a01b038216815260ac60205260409020610c9d906001905b0154426130a9565b6001600160a01b038216600090815260ac6020526040902060010154610d8457506001600160a01b038116600090815260ac602052604090204290600101555b610ce960b054426130a9565b80610d0d575b506131b4565b610d0b6201000062ff0000196000541617600055565b005b610d5f610d57610d22610d649360ad546130d6565b610d3d610d38610d33600854613077565b613127565b613093565b90610d52610d4d8260ae5461311a565b60ae55565b6130d6565b60af5461311a565b60af55565b610d75610d4d60af5460ae5461311a565b610d7e4260b055565b38610cef565b80610d90575b50610cdd565b6001600160a01b038216600090815260b160205260409020610db491905b546130d6565b6001600160a01b038216600090815260ac60205260409020610dd9905b91825461311a565b90556001600160a01b038116600090815260ac6020526040902042906001015538610d8a565b60409060031901126104b257600435610e17816106be565b906024356105b5816106be565b346104b2576020610a38610e3736610dff565b90613405565b346104b25760203660031901126104b257600435610e5a816106be565b60018060a01b031660005260ac602052604060002054670de0b6b3a7640000810290808204670de0b6b3a76400001490151715610ea057610a3860209160ae5490613150565b613061565b346104b25760603660031901126104b257610ef6600435610ec5816106be565b602435610ed1816106be565b60443591600054610ee760ff8260101c16612fcc565b62ff00001916600055336145bf565b6000805462ff000019166201000017905560405190158152602090f35b346104b25760203660031901126104b257600435610f30816106be565b60035460081c6001600160a01b03163303610feb57601454610fc55760405163252e40b160e01b8152906020826004816001600160a01b0385165afa91821561092957610d0b92610fa8575b50610f8642601455565b60018060a01b03166bffffffffffffffffffffffff60a01b6006541617600655565b610fc09060203d602011610bc857610bb98183610542565b610f7c565b50610fce613a9c565b506014544203610fda57005b63b7d0949760e01b60005260046000fd5b634755657960e01b60005260046000fd5b346104b25760403660031901126104b2576107a160043561101c816106be565b6024359060005461103260ff8260101c16612fcc565b62ff00001916600055611043613a9c565b5033615171565b346104b25760003660031901126104b2576004546040516001600160a01b039091168152602090f35b60405190611082602083610542565b565b6001600160401b03811161052257601f01601f191660200190565b9291926110ab82611084565b916110b96040519384610542565b8294818452818301116104b2578281602093846000960137010152565b60606003198201126104b2576004359160243591604435906001600160401b0382116104b257806023830112156104b2578160246105b59360040135910161109f565b346104b257611127366110d6565b60005460181c6001600160a01b03169190823b156104b2576111669260009283604051809681958294639fd5a6cf60e01b84528a3033600487016135b5565b03925af1801561092957611193575b61061061118183614795565b50506040519081529081906020820190565b806111a060008093610542565b8003126104b25738611175565b801515036104b257565b346104b25760c03660031901126104b2576106106112366004356111da816106be565b6024356111e6816106be565b60443560643590608435926111fa846111ad565b60a4359460005461121060ff8260101c16612fcc565b62ff000019166000558515611267575b670de0b6b3a76400008611611257575b336149ff565b6000805462ff00001916620100001790556040519081529081906020820190565b670de0b6b3a76400009550611230565b60009550611220565b346104b25760003660031901126104b257602060ff60035416604051908152f35b346104b25760003660031901126104b257602060ae54604051908152f35b346104b25760203660031901126104b2576020670de0b6b3a764000061130f6004356112da816106be565b6112e2613c0b565b90604051916112f083610507565b82526001600160a01b03166000908152600e8552604090205490614dc0565b5104604051908152f35b346104b25760003660031901126104b2576020601254604051908152f35b346104b25760203660031901126104b25760043560005461135d60ff8260101c16612fcc565b62ff0000191660005561136e613a9c565b50601454420361140b576113829033615dc3565b600c5481810190818111610ea05781106113fa57600c8190556040805133815260208101939093528201527fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc59080606081015b0390a16113ee6201000062ff0000196000541617600055565b60405160008152602090f35b6335c973c760e21b60005260046000fd5b639d4e8c1b60e01b60005260046000fd5b346104b25760203660031901126104b2576003546004359060081c6001600160a01b03163303610feb57601180549082905560408051918252602082018390527f68e61dbc80efc8af787740901509a321d0fc29f4e432fae6c4e175867b96144391a1604051908152602090f35b346104b25760403660031901126104b2576106106114b66004356114ad816106be565b60243590613712565b604080519384526020840192909252908201529081906060820190565b346104b25760003660031901126104b2576020601154604051908152f35b346104b25760203660031901126104b25760043561150e816106be565b60035460081c6001600160a01b03163303610feb576005546001600160a01b0316604051623f1ee960e11b81529091906020816004816001600160a01b0386165afa908115610929576000916115e2575b50156115d157600580546001600160a01b0319166001600160a01b0383161790557f7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d915b604080516001600160a01b039283168152929091166020830152819081015b0390a160405160008152602090f35b6383aebebd60e01b60005260046000fd5b6115fb915060203d602011610922576109148183610542565b3861155f565b346104b25760003660031901126104b2576020600b54604051908152f35b346104b25760003660031901126104b257602060ff607a54166040519015158152f35b346104b25760003660031901126104b2576005546040516001600160a01b039091168152602090f35b346104b25760203660031901126104b257600435611687613a9c565b5060035460081c6001600160a01b03163303610feb576000546116af60ff8260101c16612fcc565b62ff00001916600055601454420361177457806012541061176357600c549081811161175257808203918211610ea0578161170a7f3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e93600c55565b60035461172490839060081c6001600160a01b0316615c77565b6003546040805160089290921c6001600160a01b0316825260208201939093529182015280606081016113d5565b63152125f760e21b60005260046000fd5b633345e99960e01b60005260046000fd5b631747e30360e21b60005260046000fd5b346104b25760003660031901126104b2576020604051670429d069189e00008152f35b346104b25760003660031901126104b2576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346104b25760003660031901126104b25760005460405160189190911c6001600160a01b03168152602090f35b346104b25760203660031901126104b257600435611837816106be565b60018060a01b0316600052600e6020526020604060002054604051908152f35b346104b25760003660031901126104b25760005461187a60ff8260101c16612fcc565b62ff0000191660005561188b613a9c565b506020600b546201000062ff0000196000541617600055604051908152f35b346104b25760003660031901126104b257602060ad54604051908152f35b346104b25760203660031901126104b25761061061199461190f6004356000546118f760ff8260101c16612fcc565b62ff00001916600055611908613a9c565b503361573f565b905062ff0000929192196000541661193160ff62010000831760101c16612fcc565b600090815533815260ac6020526040902061194e90600190610c95565b33600090815260ac60205260409020600101546119e8575033600090815260ac602052604090204290600101555b61198860b054426130a9565b806119b3575b50614c3f565b6119aa6201000062ff0000196000541617600055565b6108d933613035565b610d5f610d57610d226119c89360ad546130d6565b6119d9610d4d60af5460ae5461311a565b6119e24260b055565b3861198e565b806119f4575b5061197c565b33600090815260b160205260409020611a0d9190610dae565b33600090815260ac60205260409020611a2590610dd1565b905533600090815260ac60205260409020429060010155386119ee565b346104b25760003660031901126104b2576020600c54604051908152f35b346104b25760003660031901126104b25760405160025460009081611a84826104b7565b80855291600181169081156106715750600114611aab576106108461060481860382610542565b600281527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace939250905b808210611aee57509091508101602001610604826105f4565b919260018160209254838588010152019101909291611ad5565b346104b25760203660031901126104b2576020610a38600435611b2a816106be565b614ce3565b346104b25760003660031901126104b257602060ff600054166040519015158152f35b346104b257611b60366110d6565b60005460181c6001600160a01b03169190823b156104b257611b9f9260009283604051809681958294639fd5a6cf60e01b84528a3033600487016135b5565b03925af1801561092957611bcb575b610610611bba83614160565b506040519081529081906020820190565b80611bd860008093610542565b8003126104b25738611bae565b346104b25760203660031901126104b257611c26600435600054611c0e60ff8260101c16612fcc565b62ff00001916600055611c1f613a9c565b503361557d565b91905062ff00001960005416620100008117806000558215611c4e575b604051838152602090f35b60ff611c5d9160101c16612fcc565b60005560ff607a5416611d7f5733600090815260ac6020526040902061061092611cd391611c8d90600190610c95565b33600090815260ac6020526040902060010154611d25575033600090815260ac602052604090204290600101555b611cc760b054426130a9565b80611cf0575b50614d25565b611ce96201000062ff0000196000541617600055565b3880611c43565b610d5f610d57610d22611d059360ad546130d6565b611d16610d4d60af5460ae5461311a565b611d1f4260b055565b38611ccd565b80611d31575b50611cbb565b33600090815260b160205260409020611d4a9190610dae565b33600090815260ac60205260409020611d6290610dd1565b905533600090815260ac6020526040902042906001015538611d2b565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b346104b25760203660031901126104b257600435611dd4816106be565b60006020604051611de481610527565b828152015260018060a01b031660005260106020526106106040600020600160405191611e1083610527565b8054835201546020820152604051918291829190916020806040830194805184520151910152565b346104b25760003660031901126104b2576020610a38613a9c565b346104b25760403660031901126104b257610ef6600435611e73816106be565b60243590600054611e8960ff8260101c16612fcc565b62ff0000191660005533806145bf565b346104b25760003660031901126104b2576020600a54604051908152f35b346104b25760003660031901126104b257602060405160008152f35b346104b25760003660031901126104b257600654601254600b54600c54600854604051635c0b440b60e11b815260048101949094526024840192909252604483015260648201529060209082906001600160a01b03168180608481015b03915afa80156109295761061091600091611f5657506040519081529081906020820190565b611f6f915060203d602011610bc857610bb98183610542565b38611bba565b346104b25760203660031901126104b257600435611f92816106be565b60018060a01b031660005260ac602052604060002060018154910154906106106040519283928360209093929193604081019481520152565b346104b25760003660031901126104b25760035460081c6001600160a01b03163303610feb576000546040516370a0823160e01b815230600482015290602090829060181c6001600160a01b031681806024810103915afa801561092957610d0b9160009161203b575b50601255565b612054915060203d602011610bc857610bb98183610542565b38612035565b60e43590611082826106be565b346104b25760203660031901126104b257600435612084816106be565b60035460081c6001600160a01b03163303610feb576004546001600160a01b03821691908215612105576001600160a01b03198116909217600455604080516001600160a01b0393841681529290911660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99190819081016115c2565b63e6c4247b60e01b60005260046000fd5b346104b25760003660031901126104b2576020610a38613c0b565b346104b25760203660031901126104b25760043561214e816106be565b6001600160a01b0381166000908152600e60205260409020549061217190614ce3565b9061061061217d614350565b60115490604051948594859094939260609260808301968352602083015260408201520152565b346104b25760203660031901126104b2576004356000546121ca60ff8260101c16612fcc565b62ff000019166000556121db613a9c565b50600554600091906121f79061083b906001600160a01b031681565b803b156123915760405163368f515360e21b8152306004820152336024820152604481018390529083908290606490829084905af180156109295761237d575b50601454420361236e57806012541061235f5781907f13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80336122808361227b83614ce3565b61311a565b6122b68461229081600b5461311a565b336000908152601060205260409020848155600a54600190910155600b8190559361607f565b6040805133815260208101869052908101919091526060810191909152608090a16005546122ee9061083b906001600160a01b031681565b90813b1561235b57604051631407e28160e01b8152336004820152602481019190915291908290604490829084905af1801561092957612347575b50506000805462ff0000191662010000178155604051908152602090f35b80610bde8361235593610542565b38612329565b5050fd5b6348c2588160e01b8252600482fd5b630a42bc3960e41b8252600482fd5b80610bde8461238b93610542565b38612237565b8280fd5b346104b25760203660031901126104b257610cf56004356123b5816106be565b6000546123c760ff8260101c16612fcc565b62ff000019166000908155805260ac60205261240460017fcb32a14641dfad80670595f3e53f5dc52441fb5380c11f8eebcd755e5b33a3d9610c95565b6000805260ac6020527fcb32a14641dfad80670595f3e53f5dc52441fb5380c11f8eebcd755e5b33a3da546124ae57506000805260ac602052427fcb32a14641dfad80670595f3e53f5dc52441fb5380c11f8eebcd755e5b33a3da555b61246d60b054426130a9565b80612479575b50613c4b565b610d5f610d57610d2261248e9360ad546130d6565b61249f610d4d60af5460ae5461311a565b6124a84260b055565b38612473565b806124ba575b50612461565b6000805260b16020526124ed907f8359e41dd58ddca52edd0887711297c9100b1c76786324582672540b24a0a3a8610dae565b6000805260ac60205261251f7fcb32a14641dfad80670595f3e53f5dc52441fb5380c11f8eebcd755e5b33a3d9610dd1565b90556000805260ac602052427fcb32a14641dfad80670595f3e53f5dc52441fb5380c11f8eebcd755e5b33a3da55386124b4565b346104b25760003660031901126104b25760055461257b9061083b906001600160a01b031681565b604051638e8f294b60e01b8152306004820152606081602481855afa80156109295760ff9160009161264d575b50161590816125d9575b50806125c6575b6040519015158152602090f35b50600854670de0b6b3a7640000146125b9565b604051632068e5f960e21b8152306004820152915060c090829060249082905afa908115610929576126189160209160009161261e575b500151151590565b386125b2565b612640915060c03d60c011612646575b6126388183610542565b810190613e81565b38612610565b503d61262e565b61266f915060603d606011612678575b6126678183610542565b8101906135ee565b509050386125a8565b503d61265d565b346104b25760003660031901126104b2576020601454604051908152f35b9080601f830112156104b2578160206105b59335910161109f565b60ff8116036104b257565b60c43590611082826126b8565b346104b2576101003660031901126104b2576004356126ee816106be565b602435906126fb826106be565b60443591612708836106be565b606435926084356001600160401b0381116104b25761272b90369060040161269d565b60a435946001600160401b0386116104b25761274e610d0b96369060040161269d565b926127576126c3565b9461276061205a565b96613f78565b346104b25760203660031901126104b25761061061199461190f60043560005461279560ff8260101c16612fcc565b62ff000019166000556127a6613a9c565b50336159d6565b346104b25760206127e96127c036610dff565b6001600160a01b039182166000908152600f855260408082209290931681526020919091522090565b54604051908152f35b346104b25760003660031901126104b2576004546001600160a01b0381163314801590612921575b612910576003547fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991907ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc9061288c9061287f9060081c6001600160a01b031661083b565b926001600160a01b031690565b60038054610100600160a81b031916600883901b610100600160a81b03161790556001600160a01b031691600480546001600160a01b0319169055600354604080516001600160a01b03938416815260089290921c9092166020820152a1600454604080516001600160a01b039384168152929091166020830152819081016115c2565b63d1ec4b2360e01b60005260046000fd5b50331561281a565b346104b25760003660031901126104b2576020604051655af3107a40008152f35b346104b25760203660031901126104b257600435612967816106be565b61296f613a9c565b5060035460081c6001600160a01b03163303610feb576014544203612a43576006546001600160a01b031690600460206129a88461083b565b6040516310c8fc9560e11b815292839182905afa90811561092957600091612a24575b5015612a1357600680546001600160a01b0319166001600160a01b0383161790557fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926916115a3565b63ee39b72560e01b60005260046000fd5b612a3d915060203d602011610922576109148183610542565b386129cb565b637b964b3b60e01b60005260046000fd5b346104b25760003660031901126104b2576006546040516001600160a01b039091168152602090f35b346104b25760603660031901126104b257600435612a9a816106be565b6024359060443590612aab826106be565b600054612abd60ff8260101c16612fcc565b62ff00001916600055612ace613a9c565b5060405163a6afed9560e01b81526001600160a01b03831693906020816004816000895af1801561092957612e44575b50600554612b169061083b906001600160a01b031681565b803b156104b25760006040518092632fe3f38f60e11b82528180612b418789338c30600487016147c3565b03915afa801561092957612e2f575b506014544203612e1e5760405163cfa9920160e01b81526020816004816000895af190811561092957600091612dff575b504203612dee576001600160a01b0382163314612ddd578015612dcc576000198114612dbb57612bb2908233615171565b919050612bbf8284613712565b6040516370a0823160e01b81526001600160a01b0385166004820152919690925090602081602481855afa8015610929578791600091612d9c575b5010612d8b57308103612d0d5750612c1590858333306147f5565b505b604080513381526001600160a01b0383811660208301529181018490529084166060820152608081018590527f298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb529060a090a1600554612c809061083b906001600160a01b031681565b90813b156104b2576040516347ef3b3b60e01b81523060048201526001600160a01b03948516602482015233604482015293166064840152608483019190915260a482019290925290600090829060c490829084905af1801561092957612cf8575b6113ee6201000062ff0000196000541617600055565b80610bde6000612d0793610542565b38612ce2565b6040516316b8c1fb60e11b81523360048201526001600160a01b038416602482015260448101879052606481019290925260006084830181905260a48301819052602091839160c4918391905af1801561092957612d6c575b50612c17565b612d849060203d602011610bc857610bb98183610542565b5038612d66565b630e7a24eb60e11b60005260046000fd5b612db5915060203d602011610bc857610bb98183610542565b38612bfa565b63f72ef4e160e01b60005260046000fd5b63b2f72f4760e01b60005260046000fd5b63039f861b60e51b60005260046000fd5b633e88627b60e11b60005260046000fd5b612e18915060203d602011610bc857610bb98183610542565b38612b81565b63fbf3ea7960e01b60005260046000fd5b80610bde6000612e3e93610542565b38612b50565b612e5c9060203d602011610bc857610bb98183610542565b612afe565b346104b25760003660031901126104b25760035460405160089190911c6001600160a01b03168152602090f35b346104b25760003660031901126104b257600654601254600b54600c546040516315f2405360e01b81526004810193909352602483019190915260448201529060209082906001600160a01b0316818060648101611f30565b346104b25760203660031901126104b257600435600054612f0d60ff8260101c16612fcc565b62ff00001916600055612f1e613a9c565b5060035460081c6001600160a01b03163303610feb576014544203612f9f57670de0b6b3a76400008111612f8e5760088054908290556040805191825260208201929092527faaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f82146091819081016113d5565b631b9bc96960e11b60005260046000fd5b637b452e8160e11b60005260046000fd5b346104b25760003660031901126104b257602060405160018152f35b15612fd357565b60405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606490fd5b908160209103126104b257516105b5816111ad565b6040513d6000823e3d90fd5b908160209103126104b2575190565b61304b90600054610c6d60ff8260101c16612fcc565b6110826201000062ff0000196000541617600055565b634e487b7160e01b600052601160045260246000fd5b670de0b6b3a76400000390670de0b6b3a76400008211610ea057565b670de0b6b3a763ffff19810191908211610ea057565b91908203918211610ea057565b90655af3107a4000820291808304655af3107a40001490151715610ea057565b81810292918115918404141715610ea057565b670de0b6b3a7640000019081670de0b6b3a764000011610ea057565b90670de0b6b3a76400008201809211610ea057565b91908201809211610ea057565b801561313a57670de0b6b3a76400000490565b634e487b7160e01b600052601260045260246000fd5b811561313a570490565b805182101561316e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b3d156131af573d9061319582611084565b916131a36040519384610542565b82523d6000602084013e565b606090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156104b2576040516377bc854160e11b8152306004820152906000908290602490829084905af18015610929576133f0575b5061321b6143be565b80519060005b828110613261575050506001600160a01b0316600090815260ac60205260409020805461108291610d4d919061325782806130a9565b905560ae546130a9565b61327b61326e828461315a565b516001600160a01b031690565b6040516370a0823160e01b815230600482015291906001600160a01b03811690602084602481855afa8015610929576132da6132e3916001966000916133d2575b506001600160a01b038a16600090815260ac60205260409020610dae565b60ae5490613150565b90816132f4575b5050505b01613221565b60405163a9059cbb60e01b602082019081526001600160a01b038a166024830152604482018490526000928392909190839061333d81606481015b03601f198101835282610542565b51925af1613349613184565b816133a3575b501561339c577f540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e60405180613391878060a01b038b1694829190602083019252565b0390a33880806132ea565b50506132ee565b80518015925082156133b8575b50503861334f565b6133cb9250602080918301019101613005565b38806133b0565b6133ea915060203d8111610bc857610bb98183610542565b386132bc565b80610bde60006133ff93610542565b38613212565b6001600160a01b038116600090815260ac6020526040812090919060010154613558575b5061348261343960b054426130a9565b61347c61346e613450610d38610d33600854613077565b61346861346260ae549560ad546130d6565b916130e9565b906130d6565b670de0b6b3a7640000900490565b9061311a565b9061348b6144a8565b9060005b825181101561354e576134b36134a5828561315a565b51516001600160a01b031690565b6001600160a01b03868116911681146134cf575060010161348f565b6040516370a0823160e01b8152306004820152919550602090829060249082905afa8015610929576105b5956135219461346893600093613526575b506020916135189161315a565b5101519061311a565b613150565b61351891935091613545602093843d8111610bc857610bb98183610542565b9391509161350b565b5050505050600090565b6135af915061347c6135816001610c958460018060a01b031660005260ac602052604060002090565b6001600160a01b0392909216600090815260ac602090815260408083205460b1909252909120909290610dae565b38613429565b6001600160a01b039182168152911660208201526040810191909152606081019190915260a0608082018190526105b592910190610563565b908160609103126104b2578051613604816111ad565b9160406020830151613615816126b8565b9201516105b5816111ad565b1561362857565b60405162461bcd60e51b81526020600482015260166024820152751c995c185e481d1bdad95b881b9bdd081b1a5cdd195960521b6044820152606490fd5b1561366d57565b60405162461bcd60e51b81526020600482015260166024820152751cd95a5e99481d1bdad95b881b9bdd081b1a5cdd195960521b6044820152606490fd5b519061ffff821682036104b257565b908160609103126104b25760405190606082018281106001600160401b038211176105225761370a9160409182526136f1816136ab565b84526136ff602082016136ab565b6020850152016136ab565b604082015290565b60055490929061372c9061083b906001600160a01b031681565b604051638e8f294b60e01b81523060048201529092606082602481875afa91821561092957600090600093613a77575b5061376690613621565b604051638e8f294b60e01b81526001600160a01b038616600482015291606083602481885afa92831561092957600090600094613a52575b506137a890613666565b60405163231d97a560e21b815290606082600481895afa91821561092957600092613a21575b5060ff806137f06137eb6137e4865161ffff1690565b61ffff1690565b6130b6565b951691161461399c575b506040516312bdd04160e31b815230600482015291602083602481885afa9283156109295760009361397b575b506040516312bdd04160e31b81526001600160a01b038716600482015294602090869060249082905afa94851561092957600095613956575b5060405163182df0f560e01b81529495939493602090859060049082906001600160a01b03165afa92831561092957826139106139259361390a613903613916986139169661392b9b600092613931575b506138fa906138de6138c287613105565b6138ca611073565b9081526138d5611073565b90838252614bbd565b956138e7611073565b9081526138f2611073565b918252614bbd565b9c6138e7611073565b8092614bf6565b99614bf6565b97614dc0565b670de0b6b3a764000090510490565b94614dc0565b60009291565b6138fa91925061394f9060203d602011610bc857610bb98183610542565b91906138b1565b6004949550613973602091823d8411610bc857610bb98183610542565b959450613860565b61399591935060203d602011610bc857610bb98183610542565b9138613827565b604051637f4e225760e11b815291925090602081600481305afa90811561092957600091613a02575b506139e7576137eb6137e460406139df93015161ffff1690565b905b386137fa565b6137eb6137e460206139fc93015161ffff1690565b906139e1565b613a1b915060203d602011610922576109148183610542565b386139c5565b613a4491925060603d606011613a4b575b613a3c8183610542565b8101906136ba565b90386137ce565b503d613a32565b6137a89450613a70915060603d606011612678576126678183610542565b509361379e565b6137669350613a95915060603d606011612678576126678183610542565b509261375c565b601454428114613c0557601254600b5490600c5492600a5492613acc61083b61083b60065460018060a01b031690565b6040516315f2405360e01b81526004810185905260248101839052604481018790529590602090879060649082905afa95861561092957613b948661227b613916613b8299613b8e613b657f4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc049d613bd89b613bb599600092613be0575b50613b5490426130a9565b90613b5d611073565b908152614dc0565b9761227b613916613b796139168d8d614dc0565b9e8f9c8d61311a565b9b600854613b5d611073565b96614dc0565b91613b9e42601455565b613ba783600a55565b613bb084600b55565b600c55565b604051948594859094939260609260808301968352602083015260408201520152565b0390a1600090565b613b54919250613bfe9060203d602011610bc857610bb98183610542565b9190613b49565b50600090565b600054613c1d60ff8260101c16612fcc565b62ff00001916600055613c2e613a9c565b50613c37614350565b906201000062ff0000196000541617600055565b60035460081c6001600160a01b03163303610feb577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156104b2576040516377bc854160e11b8152306004820152906000908290602490829084905af1801561092957613e50575b50613cc76143be565b80519060005b828110613cf65750505050611082610d4d60af54613cee610d5f82806130a9565b60ae546130a9565b613d0361326e828461315a565b6040516370a0823160e01b815230600482015291906001600160a01b03811690602084602481855afa8015610929576132da613d4d91600196600091613e32575b5060af546130d6565b9081613d5e575b5050505b01613ccd565b60405163a9059cbb60e01b602082019081526001600160a01b038a1660248301526044820184905260009283929091908390613d9d816064810161332f565b51925af1613da9613184565b81613e03575b5015613dfc577f540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e60405180613df1878060a01b038b1694829190602083019252565b0390a3388080613d54565b5050613d58565b8051801592508215613e18575b505038613daf565b613e2b9250602080918301019101613005565b3880613e10565b613e4a915060203d8111610bc857610bb98183610542565b38613d44565b80610bde6000613e5f93610542565b38613cbe565b51906effffffffffffffffffffffffffffff821682036104b257565b908160c09103126104b2576040519060c082018281106001600160401b0382111761052257613f0d9160a0916040528051613ebb816111ad565b84526020810151613ecb816111ad565b60208501526040810151613ede816111ad565b60408501526060810151613ef1816111ad565b6060850152613f0260808201613e65565b608085015201613e65565b60a082015290565b15613f1c57565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b9694929091613fc596949260475498613fa960ff8b60081c16151515809b81614043575b8115614023575b50613f15565b89613fbc600160ff196047541617604755565b61400a57614066565b613fcb57565b613fdb61ff001960475416604755565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1565b61401e61010061ff00196047541617604755565b614066565b303b15915081614035575b5038613fa3565b60ff1660011490503861402e565b600160ff8216109150613f9c565b908160209103126104b257516105b5816106be565b9694929091614076969492614ff0565b6001600160a01b038116156121055760005460181c6001600160a01b03166040516372f702f360e01b81526020816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561092957600091614131575b506001600160a01b0390811691160361412057600080546301000000600160b81b03191660189290921b6301000000600160b81b0316919091179055565b632e55a68b60e21b60005260046000fd5b614153915060203d602011614159575b61414b8183610542565b810190614051565b386140e2565b503d614141565b6141769060005461078860ff8260101c16612fcc565b6000805462ff00001916620100001790559091565b614193613a9c565b5061419e8282615370565b506001600160a01b03169060006141b3614350565b6141bb611073565b8181526005549091906141d89061083b906001600160a01b031681565b90813b1561434c5761420684928392604051948580948193635bca9add60e01b83528b8d3060048601615553565b03925af1801561092957614338575b5060145442036143295761423361422e8460125461311a565b601255565b6103e883111561431a576142479083616292565b92831561430b5761426261425d85600d5461311a565b600d55565b6001600160a01b0381166000908152600e602052604090206142879085905b5461311a565b6001600160a01b0382166000908152600e6020526040902055604080516001600160a01b0383168152602081018590529081018590527f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f9080606081010390a160405184815230906000805160206162bf83398151915290602090a3505050600090565b634f87e6f560e01b8252600482fd5b6310deaa5960e01b8252600482fd5b633393b25760e01b8252600482fd5b80610bde8461434693610542565b38614215565b8380fd5b600d548061435f575060075490565b60125490600b548201809211610ea057600c549182810392818411610ea057670de0b6b3a76400008402938404670de0b6b3a76400001491141715610ea0576105b591613150565b6001600160401b0381116105225760051b60200190565b6040516304bb6c9360e21b81526000816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9081156109295760009161440f575090565b3d8083833e61441e8183610542565b810190602081830312612391578051906001600160401b03821161434c570181601f8201121561239157805190614454826143a7565b936144626040519586610542565b82855260208086019360051b8301019384116144a55750602001905b82821061448b5750505090565b60208091835161449a816106be565b81520191019061447e565b80fd5b60405163150b82a360e11b81523060048201526000816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610929576000916144ff575090565b903d8082843e61450f8184610542565b8201916020818403126145bb578051906001600160401b038211612391570182601f820112156145bb578051614544816143a7565b936145526040519586610542565b81855260208086019260061b840101928184116145b757602001915b83831061457d57505050505090565b6040838303126145b7576020604091825161459781610527565b85516145a2816106be565b8152828601518382015281520192019161456e565b8480fd5b5080fd5b6005546145d69061083b906001600160a01b031681565b803b156104b2576040516317b9b84b60e31b81523060048201526001600160a01b0384811660248301528516604482015260648101869052906000908290608490829084905af1801561092957614780575b506001600160a01b03838116949083169384861461476f576000805160206162bf833981519152936146ff936001600160a01b0381168703614746576000195b61467285826130a9565b936146e561469c876146968760018060a01b0316600052600e602052604060002090565b546130a9565b916146bd886142818360018060a01b0316600052600e602052604060002090565b6001600160a01b038781166000908152600e6020526040808220969096559216825292902090565b5519614707575b5050604051918252509081906020820190565b0390a3600090565b61472661473d9260018060a01b0316600052600f602052604060002090565b9060018060a01b0316600052602052604060002090565b553880806146ec565b6001600160a01b0382166000908152600f60205260409020614769908290614726565b54614668565b638cd22d1960e01b60005260046000fd5b80610bde600061478f93610542565b38614628565b6147ab90600054611c0e60ff8260101c16612fcc565b91929091906201000062ff0000196000541617600055565b6001600160a01b0391821681529181166020830152918216604082015291166060820152608081019190915260a00190565b90919260009161481261083b61083b60055460018060a01b031690565b90813b1561434c57858392868680946148426040519788968795869463d02f735160e01b865230600487016147c3565b03925af18015610929576149eb575b506001600160a01b0383811695908516928387146149dc575061488790614876611073565b90670429d069189e00008252615726565b938482106149cb57847fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5936148bf6149c597856130a9565b956148d7613916846148cf614350565b613b5d611073565b9361493c6149206148ea87600c5461311a565b976148f489600c55565b61490361425d88600d546130a9565b6001600160a01b0384166000908152600e60205260409020614696565b6001600160a01b039092166000908152600e6020526040902090565b55614960614920886142818460018060a01b0316600052600e602052604060002090565b5587816000805160206162bf833981519152604051806149858b829190602083019252565b0390a360405191825230916000805160206162bf83398151915290602090a3604080513081526020810192909252810191909152606090a1600092615a62565b50505090565b632c3508cb60e21b60005260046000fd5b637a2d3db360e01b8152600490fd5b80610bde846149f993610542565b38614851565b600554919594939291614a1c9061083b906001600160a01b031681565b803b156104b2578260009188838795614a4c6040519788968795869463d02f735160e01b865230600487016147c3565b03925af1801561092957614ba8575b506001600160a01b038581169690821693848814614b97578515614b855750614a8f90614a86611073565b90815283615726565b8083106149cb577fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc593614ac282856130a9565b96614ad2613916846148cf614350565b93614ae56149206148ea87600c5461311a565b55614b09614920896142818460018060a01b0316600052600e602052604060002090565b5587816000805160206162bf83398151915260405180614b2e8c829190602083019252565b0390a360405191825230916000805160206162bf83398151915290602090a3604080513081526020810192909252810191909152606090a115614b7c57614b74916159d6565b505050600090565b614b7491615a62565b614b929150614876611073565b614a8f565b637a2d3db360e01b60005260046000fd5b80610bde6000614bb793610542565b38614a5b565b670de0b6b3a764000091614be3916000604051614bd981610507565b52519051906130d6565b0460405190614bf182610507565b815290565b6000604051614c0481610507565b5251670de0b6b3a7640000810290808204670de0b6b3a76400001490151715610ea057614c32915190613150565b60405190614bf182610507565b8015614caa573360005260b16020526040600020805490828203918211610ea05755614c75614c708260ad546130a9565b60ad55565b60405190815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d59080602081015b0390a2565b60405162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b6044820152606490fd5b6001600160a01b031660009081526010602052604090208054908115614d1e576001614d156105b593600a54906130d6565b91015490613150565b5050600090565b8015614d8a573360005260b16020526040600020805490828201809211610ea05755614d56614c708260ad5461311a565b60405190815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d908060208101614ca5565b60405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b6044820152606490fd5b90614c32916000604051614dd381610507565b52516130d6565b601f8211614de757505050565b6000526020600020906020601f840160051c83019310614e22575b601f0160051c01905b818110614e16575050565b60008155600101614e0b565b9091508190614e02565b9081516001600160401b03811161052257614e5381614e4c6001546104b7565b6001614dda565b602092601f8211600114614e9557614e8592938291600092614e8a575b50508160011b916000199060031b1c19161790565b600155565b015190503880614e70565b6001600052601f198216937fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf69160005b868110614efc5750836001959610614ee3575b505050811b01600155565b015160001960f88460031b161c19169055388080614ed8565b91926020600181928685015181550194019201614ec5565b9081516001600160401b03811161052257614f3b81614f346002546104b7565b6002614dda565b602092601f8211600114614f7157614f6c92938291600092614e8a5750508160011b916000199060031b1c19161790565b600255565b6002600052601f198216937f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9160005b868110614fd85750836001959610614fbf575b505050811b01600255565b015160001960f88460031b161c19169055388080614fb4565b91926020600181928685015181550194019201614fa1565b60038054610100600160a81b03191660089890981b610100600160a81b03169790971790965591949192919060145415801590615166575b61515557600755600754156151445761304b947fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926615127615134957f7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d6150ea61512f9661509c670de0b6b3a7640000601155565b6150ad67016345785d8a0000600855565b600580546001600160a01b0319166001600160a01b0383161790555b60408051600081526001600160a01b03909216602083015290918291820190565b0390a16150f642601455565b615107670de0b6b3a7640000600a55565b600680546001600160a01b0319166001600160a01b0383161790556150c9565b0390a1614e2c565b614f14565b60ff1660ff196003541617600355565b63a2ec3a5560e01b60005260046000fd5b634743547560e01b60005260046000fd5b50600a541515615028565b60055492939290919061518e9061083b906001600160a01b031681565b803b156104b257604051631200453160e11b81523060048201526001600160a01b0384811660248301528316604482015260648101869052906000908290608490829084905af180156109295761535b575b50601454420361534a577f1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a161523161522a61522461521d85614ce3565b8098615db1565b85615dc3565b80966130a9565b61523d86600b546130a9565b908061525b8560018060a01b03166000526010602052604060002090565b55600a546001600160a01b03851660009081526010602052604090206001015561528482600b55565b604080516001600160a01b038781168252861660208201529081018890526060810191909152608081019190915260a090a16005546152cd9061083b906001600160a01b031681565b91600a5492803b156104b257604051631ededc9160e01b81523060048201526001600160a01b03928316602482015292909116604483015260648201859052608482019290925290600090829060a490829084905af1801561092957615335575b5060009190565b80610bde600061534493610542565b3861532e565b63c714a2d560e01b60005260046000fd5b80610bde600061536a93610542565b386151e0565b60055460009061538a9061083b906001600160a01b031681565b803b156145bb5760405163368f515360e21b81523060048201526001600160a01b0384166024820152604481018590529082908290606490829084905af180156109295761553f575b506014544203615530578260125410615521577f13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab809061541e8461227b6001600160a01b038616614ce3565b61542a85600b5461311a565b91816154488660018060a01b03166000526010602052604060002090565b55600a546001600160a01b03861660009081526010602052604090206001015561547183600b55565b5061548161422e866012546130a9565b604080516001600160a01b038616815260208101879052908101919091526060810191909152608090a16005546154c29061083b906001600160a01b031681565b91823b156104b257604051631407e28160e01b81526001600160a01b039290921660048301526024820152906000908290604490829084905af180156109295761550c5750600090565b80610bde600061551b93610542565b38613c05565b6348c2588160e01b8152600490fd5b630a42bc3960e41b8152600490fd5b80610bde8361554d93610542565b386153d3565b6001600160a01b039182168152911660208201526040810191909152606081019190915260800190565b9091615587614350565b92615590611073565b8481526005549094906155ad9061083b906001600160a01b031681565b803b156104b257604051635bca9add60e01b81529160009183918290849082906155dd90898c3060048601615553565b03925af1801561092957615711575b506014544203615700576156009083615dc3565b926103e88411156156ef576156159084616292565b9182156156de5761562b61425d84600d5461311a565b6001600160a01b0381166000908152600e6020526040902061564e908490614281565b6001600160a01b0382166000908152600e6020526040902055604080516001600160a01b0383168152602081018690529081018490527f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f9080606081010390a16040518381526001600160a01b03919091169030906000805160206162bf83398151915290602090a36000929190565b634f87e6f560e01b60005260046000fd5b6310deaa5960e01b60005260046000fd5b633393b25760e01b60005260046000fd5b80610bde600061572093610542565b386155ec565b61573b90670de0b6b3a76400009251906130d6565b0490565b9091615749614350565b91615752611073565b92835261575f8385616292565b928361577d8360018060a01b0316600052600e602052604060002090565b54036159a1575b60055461579b9061083b906001600160a01b031681565b905190803b156104b2576040516317c4196b60e11b81529160009183918290849082906157ce908b8a3060048601615553565b03925af180156109295761598c575b50601454420361597b57836012541061596a576157ff61425d84600d546130a9565b6001600160a01b0381166000908152600e60205260409020615822908490614696565b6001600160a01b0382166000908152600e60205260409020819055151580615945575b615934576001600160a01b03811661585d858261619e565b6040518481523091906000805160206162bf8339815191529080602081015b0390a3604080516001600160a01b0383168152602081018690529081018490527fe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a92990606090a16005546158d99061083b906001600160a01b031681565b803b156104b25783600091868361590895604051968795869485936351dff98960e01b85523060048601615553565b03925af180156109295761591f575b506000929190565b80610bde600061592e93610542565b38615917565b6330a46c4960e21b60005260046000fd5b506001600160a01b0381166000908152600e602052604090206103e890541115615845565b6391240a1b60e01b60005260046000fd5b63a17754ef60e01b60005260046000fd5b80610bde600061599b93610542565b386157dd565b6103e88411156159c5576103e8851161578457632005234160e01b60005260046000fd5b63d1b61f5160e01b60005260046000fd5b81151592908380615a5a575b615a49576159ee614350565b6159f6611073565b9485918252600090600014615a35575050615a146139168486614dc0565b935b6001600160a01b0382166000908152600e60205260409020849061577d565b615a40929450616292565b91600093615a16565b63431f269d60e01b60005260046000fd5b5060006159e2565b811515929060008480615c70575b615c6157615a7c614350565b94615a85611073565b95865215615c4d57615a9a6139168587614dc0565b945b6001600160a01b0383166000908152600e6020526040902085905403615c1c575b600554615ad49061083b906001600160a01b031681565b9051813b1561239157615b03839283926040519485809481936317c4196b60e11b83528c8b3060048601615553565b03925af1801561092957615c08575b506014544203615bf9578460125410615bea57615b3461425d85600d546130a9565b6001600160a01b0382166000908152600e60205260409020615b57908590614696565b6001600160a01b0383166000908152600e60205260409020819055151580615bc5575b615bb65750615b898482615c77565b60405183815230906001600160a01b038316906000805160206162bf83398151915290806020810161587c565b6330a46c4960e21b8152600490fd5b506001600160a01b0382166000908152600e602052604090206103e890541115615b7a565b6391240a1b60e01b8152600490fd5b63a17754ef60e01b8152600490fd5b80610bde83615c1693610542565b38615b12565b6103e8851115615c3e576103e88611615abd57632005234160e01b8252600482fd5b63d1b61f5160e01b8252600482fd5b9250615c598484616292565b928094615a9c565b63431f269d60e01b8152600490fd5b5080615a70565b907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156104b257604051632e1a7d4d60e01b815260048101839052906000908290602490829084905af1801561092957615d9c575b50600054615cf29061083b9060181c6001600160a01b031681565b803b156104b25760405163a9059cbb60e01b81526001600160a01b03939093166004840152602483018290526000908390604490829084905af190811561092957615d499261422e92615d87575b506012546130a9565b3d8015615d7e57602014615d5c57600080fd5b60206000803e6000515b15615d6d57565b637308799360e11b60005260046000fd5b50600019615d66565b80610bde6000615d9693610542565b38615d40565b80610bde6000615dab93610542565b38615cd7565b9080821015615dbe575090565b905090565b600054909190615dde9060181c6001600160a01b031661083b565b6040516370a0823160e01b815230600482015292906020846024816001600160a01b0385165afa93841561092957600094616020575b506001600160a01b031691823b156104b2576040516323b872dd60e01b81526001600160a01b039290921660048301523060248301526044820152906000908290606490829084905af180156109295761600b575b503d801561600257602014615e7d57600080fd5b60206000803e6000515b15615fd057600054615ea69061083b9060181c6001600160a01b031681565b6040516370a0823160e01b81523060048201529190602090839060249082905afa91821561092957600092615fe1575b50808210615fd057615ee7916130a9565b615ef661422e8260125461311a565b600054615f109061083b9060181c6001600160a01b031681565b6040516370a0823160e01b815230600482015290602090829060249082905afa90811561092957600091615fb1575b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b156104b25760405163534a7e1d60e11b815260048101929092526000908290602490829084905af1801561092957615fa2575090565b80610bde60006105b593610542565b615fca915060203d602011610bc857610bb98183610542565b38615f3f565b63065559c560e51b60005260046000fd5b615ffb91925060203d602011610bc857610bb98183610542565b9038615ed6565b50600019615e87565b80610bde600061601a93610542565b38615e69565b61603a91945060203d602011610bc857610bb98183610542565b9238615e14565b91939260608301946002831015616069576040928452602084015260018060a01b0316910152565b634e487b7160e01b600052602160045260246000fd5b600554600492919060209061609e9061083b906001600160a01b031681565b6040516334cc866d60e21b815294859182905afa9283156109295760009361617d575b506040516379befbd160e01b60208201908152602482018490526000918291906160ee816044810161332f565b519082875af16160fc613184565b50156161155761108292506001600160a01b0316615c77565b616151926020926001600160a01b03909116906161328183615c77565b6000604051809681958294633033674760e11b84528460048501616041565b03925af18015610929576161625750565b61617a9060203d602011610bc857610bb98183610542565b50565b61619791935060203d6020116141595761414b8183610542565b91386160c1565b90600491600060206161bd61083b61083b60055460018060a01b031690565b6040516334cc866d60e21b815295869182905afa938415610929578194616271575b506040516379befbd160e01b6020820190815260248201859052829182919061620b816044810161332f565b519082885af1616219613184565b5015616233575061108292506001600160a01b0316615c77565b616151936020936001600160a01b03909116916162508284615c77565b506000604051809681958294633033674760e11b8452600160048501616041565b61628b91945060203d6020116141595761414b8183610542565b92386161df565b670de0b6b3a7640000810290808204670de0b6b3a76400001490151715610ea0576105b591519061315056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220d6bd06cdd5e9f24d11552e4aa2d23285791b425a32cb1a71781cf48ac972bf5764736f6c634300081a0033";
17
+ static readonly bytecode = "0x608060405234602f57670de0b6b3a7640000601155601a6034565b60206034565b604051615ff190816100da8239f35b600080fd5b60475460ff8160081c1660845760ff80821610604d5750565b60ff90811916176047557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a1565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fdfe6080604052600436101561001257600080fd5b60003560e01c80628cc2621461047157806306fdde031461046c5780630786f22314610467578063095ea7b3146104625780630e7527021461045d578063134131a214610458578063173b99041461045357806317bfdfbc1461044e57806318160ddd14610449578063182df0f5146104445780631be195601461043f5780631e83409a1461043a57806321e5e2c41461043557806323b872dd1461043057806323e69e411461042b5780632608f8181461042657806326782247146104215780632826c1a11461041c5780632d7183f614610417578063313ce56714610412578063358b81661461040d5780633af9e669146104085780633b1d21a2146103e55780633e941010146104035780634000fbad146103fe57806341e34006146103f957806342f3251a146103f45780634576b5db146103ef57806347bd3718146103ea57806359356c5c146103e55780635fe3b567146103e0578063601a0bf1146103db5780636752e702146103d65780636f307dc3146103d157806370a08231146103cc57806373acee98146103c7578063852a12e3146103c25780638f840ddd146103bd57806395d89b41146103b857806395dd9193146103b35780639b1a5bf4146103ae5780639e211641146103a9578063a0712d68146103a4578063a3e94ddd1461039f578063a6afed951461039a578063a9059cbb14610395578063aa5af0fd14610390578063ac784ddc1461038b578063ae9d70b014610386578063b586638214610381578063b71d1a0c1461037c578063bd6d894d14610377578063c37f68e214610372578063c5ebeaec1461036d578063c6c02aec14610368578063c717823014610363578063cfa992011461035e578063d4af8de214610359578063db006a7514610354578063dd62ed3e1461034f578063e31bc4541461034a578063e9c714f214610345578063eac1fed014610340578063f2b3abbd1461033b578063f3fdb15a14610336578063f5e3c46214610331578063f851a4401461032c578063f8f9da2814610327578063fca7820b146103225763fe9c44ae1461031d57600080fd5b612d9e565b612cd6565b612c7d565b612c50565b612875565b61284c565b612743565b612722565b6125eb565b61254f565b6124ec565b6124ac565b612416565b6123c5565b612299565b612191565b611fb4565b611f41565b611f26565b611e77565b611ddb565b611d38565b611d1c565b611cfe565b611cb8565b611c9f565b611c1e565b611b23565b611a99565b611a76565b611a54565b6119ac565b61198e565b611847565b6117f5565b6117b8565b61178b565b611768565b61164f565b611626565b611341565b611608565b611503565b6114e5565b6114aa565b61143c565b61135f565b6112d7565b611268565b611247565b61119f565b611108565b61103b565b610fda565b610ef2565b610e84565b610e62565b610d31565b610b91565b610b6e565b610b50565b610aed565b610acf565b610936565b610918565b610888565b610862565b610786565b6104f8565b6001600160a01b0381160361048757565b600080fd5b6044359061049982610476565b565b610104359061049982610476565b602060408183019282815284518094520192019060005b8181106104cd5750505090565b825180516001600160a01b0316855260209081015181860152604090940193909201916001016104c0565b346104875760203660031901126104875761051d60043561051881610476565b61305d565b60475461053d9060101c6001600160a01b03165b6001600160a01b031690565b60405163150b82a360e11b815230600482015290600090829060249082905afa90811561064257600091610659575b5060005b81518110156106475761059a61053161053161058c8486612e82565b51516001600160a01b031690565b6040516370a0823160e01b81523060048201529190602090839060249082905afa918215610642576105f36105ed6001946105ff93600091610614575b5060206105e48689612e82565b51015190612ee6565b86612f13565b655af3107a4000900490565b602061060b8386612e82565b51015201610570565b610635915060203d811161063b575b61062d8183610710565b810190612eac565b386105d7565b503d610623565b612e76565b6040518061065584826104a9565b0390f35b610674913d8091833e61066c8183610710565b810190612dd1565b3861056c565b600091031261048757565b90600182811c921680156106b5575b602083101461069f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610694565b634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b038211176106f057604052565b6106bf565b604081019081106001600160401b038211176106f057604052565b90601f801991011681019081106001600160401b038211176106f057604052565b919082519283825260005b84811061075d575050826000602080949584010152601f8019910116010190565b8060208092840101518282860101520161073c565b906020610783928181520190610731565b90565b3461048757600036600319011261048757604051600154600090816107aa82610685565b808552916001811690811561083b57506001146107de575b610655846107d281860382610710565b60405191829182610772565b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b808210610821575090915081016020016107d2826107c2565b919260018160209254838588010152019101909291610808565b60ff191660208087019190915292151560051b850190920192506107d291508390506107c2565b3461048757600036600319011261048757602060ff60005460081c166040519015158152f35b34610487576040366003190112610487576004356108a581610476565b6024359033600052600f602052816108d38260406000209060018060a01b0316600052602052604060002090565b556040519182526001600160a01b03169033907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590602090a360405160018152602090f35b3461048757602036600319011261048757610934600435613b15565b005b346104875760403660031901126104875760043561095381610476565b60243560005461096860ff8260101c16612f46565b62ff00001916600055604051637f4e225760e11b8152602081600481335afa90811561064257600091610ab0575b50610a9f576005546109b290610531906001600160a01b031681565b604051637bca031760e11b8152336004820152602081602481855afa90811561064257600091610a80575b5015610a4057604051637bca031760e11b815230600482015290602090829060249082905afa90811561064257600091610a51575b5015610a4057610a2a916001600160a01b0316613b43565b6109346201000062ff0000196000541617600055565b6334b04fe360e11b60005260046000fd5b610a73915060203d602011610a79575b610a6b8183610710565b810190612f7f565b38610a12565b503d610a61565b610a99915060203d602011610a7957610a6b8183610710565b386109dd565b634a8af12d60e01b60005260046000fd5b610ac9915060203d602011610a7957610a6b8183610710565b38610996565b34610487576000366003190112610487576020600854604051908152f35b34610487576020366003190112610487576020610b37600435610b0f81610476565b600054610b2160ff8260101c16612f46565b62ff00001916600055610b32613594565b6149e2565b6201000062ff0000196000541617600055604051908152f35b34610487576000366003190112610487576020600d54604051908152f35b34610487576000366003190112610487576020610b89613d44565b604051908152f35b3461048757602036600319011261048757600435610bae81610476565b6000546001600160a01b0391821691610bca9160181c16610531565b8114610d2057610bd8613d9b565b9060005b8251811015610c205781610c03610531610bf68487612e82565b516001600160a01b031690565b14610c1057600101610bdc565b62c5bbdf60e01b60005260046000fd5b506040516370a0823160e01b8152306004820152602081602481855afa90811561064257600091610d01575b5060035460081c6001600160a01b031691803b156104875760405163a9059cbb60e01b81526001600160a01b039390931660048401526024830182905260008360448183855af1928315610642577f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2893610ce6575b50604080516001600160a01b039092168252602082019290925290819081015b0390a1005b80610cf56000610cfb93610710565b8061067a565b83610cc1565b610d1a915060203d60201161063b5761062d8183610710565b82610c4c565b632f028cfb60e01b60005260046000fd5b3461048757602036600319011261048757600435610d4e81610476565b600054610d6060ff8260101c16612f46565b62ff00001916600055610d738142613f3a565b6001600160a01b038316600090815260486020526040902090600182015555610db5610dab610db0610da442613ff3565b604b559092565b604a55565b604955565b6001600160a01b038116600090815260486020526040902060010154604b5403610e5157610a2a90600080516020615f9c833981519152604954604a5490610e49610e128560018060a01b03166000526048602052604060002090565b546040805142815260208101949094528301939093526001600160a01b0385166060830152608082019290925290819060a0820190565b0390a16140a9565b63293e5d4b60e01b60005260046000fd5b34610487576020366003190112610487576020610b8960043561051881610476565b3461048757606036600319011261048757610ed5600435610ea481610476565b602435610eb081610476565b60443591600054610ec660ff8260101c16612f46565b62ff0000191660005533614324565b6000805462ff000019166201000017905560405190158152602090f35b3461048757602036600319011261048757600435610f0f81610476565b60035460081c6001600160a01b03163303610fc957601454610fa45760405163252e40b160e01b8152906020826004816001600160a01b0385165afa9182156106425761093492610f87575b50610f6542601455565b60018060a01b03166bffffffffffffffffffffffff60a01b6006541617600655565b610f9f9060203d60201161063b5761062d8183610710565b610f5b565b50610fad613594565b6014544203610fb857005b63b7d0949760e01b60005260046000fd5b634755657960e01b60005260046000fd5b3461048757604036600319011261048757611027600435610ffa81610476565b6024359060005461101060ff8260101c16612f46565b62ff00001916600055611021613594565b33614e13565b506000805462ff0000191662010000179055005b34610487576000366003190112610487576004546040516001600160a01b039091168152602090f35b60405190610499602083610710565b6001600160401b0381116106f057601f01601f191660200190565b92919261109a82611073565b916110a86040519384610710565b829481845281830111610487578281602093846000960137010152565b6060600319820112610487576004359160243591604435906001600160401b0382116104875780602383011215610487578160246107839360040135910161108e565b3461048757611116366110c5565b60005460181c6001600160a01b03169190823b15610487576111559260009283604051809681958294639fd5a6cf60e01b84528a3033600487016130a6565b03925af180156106425761117b575b61116d82614500565b505060405160008152602090f35b8061118860008093610710565b8003126104875738611164565b8015150361048757565b346104875760c03660031901126104875761121b6004356111bf81610476565b6024356111cb81610476565b60443560643590608435926111df84611195565b60a435946000546111f560ff8260101c16612f46565b62ff00001916600055851561123e575b670de0b6b3a7640000861161122e575b33614765565b6000805462ff0000191662010000179055005b670de0b6b3a76400009550611215565b60009550611205565b3461048757600036600319011261048757602060ff60035416604051908152f35b346104875760203660031901126104875760043561128581610476565b604b54604954604a546001600160a01b0390931660009081526048602090815260409182902060018101549054835195865291850193909352908301939093526060820152608081019190915260a090f35b34610487576020366003190112610487576020670de0b6b3a764000061133760043561130281610476565b61130a6136fd565b9060405191611318836106d5565b82526001600160a01b03166000908152600e8552604090205490614a62565b5104604051908152f35b34610487576000366003190112610487576020601254604051908152f35b346104875760203660031901126104875760043560005461138560ff8260101c16612f46565b62ff00001916600055611396613594565b601454420361142b576113a990336159a0565b600c548181019081811161142657811061141557600c8190556040805133815260208101939093528201527fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc59080606081015b0390a16109346201000062ff0000196000541617600055565b6335c973c760e21b60005260046000fd5b612ebb565b639d4e8c1b60e01b60005260046000fd5b34610487576020366003190112610487576003546004359060081c6001600160a01b03163303610fc957601180549082905560408051918252602082018390527f68e61dbc80efc8af787740901509a321d0fc29f4e432fae6c4e175867b96144391a1604051908152602090f35b34610487576040366003190112610487576114d36004356114ca81610476565b60243590613203565b60408051928352602083019190915290f35b34610487576000366003190112610487576020601154604051908152f35b346104875760203660031901126104875760043561152081610476565b60035460081c6001600160a01b03163303610fc9576005546001600160a01b0316604051623f1ee960e11b81529091906020816004816001600160a01b0386165afa908115610642576000916115e9575b50156115d857600580546001600160a01b0319166001600160a01b0383161790557f7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d915b604080516001600160a01b03928316815292909116602083015281908101610ce1565b6383aebebd60e01b60005260046000fd5b611602915060203d602011610a7957610a6b8183610710565b38611571565b34610487576000366003190112610487576020600b54604051908152f35b34610487576000366003190112610487576005546040516001600160a01b039091168152602090f35b346104875760203660031901126104875760043561166b613594565b60035460081c6001600160a01b03163303610fc95760005461169260ff8260101c16612f46565b62ff00001916600055601454420361175757806012541061174657600c54908181116117355780820391821161142657816116ed7f3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e93600c55565b60035461170790839060081c6001600160a01b0316615873565b6003546040805160089290921c6001600160a01b0316825260208201939093529182015280606081016113fc565b63152125f760e21b60005260046000fd5b633345e99960e01b60005260046000fd5b631747e30360e21b60005260046000fd5b34610487576000366003190112610487576020604051670429d069189e00008152f35b346104875760003660031901126104875760005460405160189190911c6001600160a01b03168152602090f35b34610487576020366003190112610487576004356117d581610476565b60018060a01b0316600052600e6020526020604060002054604051908152f35b346104875760003660031901126104875760005461181860ff8260101c16612f46565b62ff00001916600055611829613594565b6020600b546201000062ff0000196000541617600055604051908152f35b346104875760203660031901126104875761188760043560005461187060ff8260101c16612f46565b62ff00001916600055611881613594565b33615343565b90506201000062ff00001960005416176000556000546118ac60ff8260101c16612f46565b62ff000019166000556118bf3342613f3a565b336000908152604860205260409020906001820155556118e7610dab610db0610da442613ff3565b33600090815260486020526040902060010154604b5403610e515761196f90600080516020615f9c833981519152604954604a5461196761193a3360018060a01b03166000526048602052604060002090565b546040805142815260208101959095528401929092523360608401526080830191909152819060a0820190565b0390a161499d565b6119856201000062ff0000196000541617600055565b61093433612f94565b34610487576000366003190112610487576020600c54604051908152f35b3461048757600036600319011261048757604051600254600090816119d082610685565b808552916001811690811561083b57506001146119f757610655846107d281860382610710565b600281527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace939250905b808210611a3a575090915081016020016107d2826107c2565b919260018160209254838588010152019101909291611a21565b34610487576020366003190112610487576020610b89600435610b3281610476565b3461048757600036600319011261048757602060ff600054166040519015158152f35b3461048757611aa7366110c5565b60005460181c6001600160a01b0316929190833b1561048757611ae79360009283604051809781958294639fd5a6cf60e01b8452893033600487016130a6565b03925af191821561064257611b0192611b0e575b50613b15565b5060405160008152602090f35b80610cf56000611b1d93610710565b38611afb565b3461048757602036600319011261048757611b63600435600054611b4c60ff8260101c16612f46565b62ff00001916600055611b5d613594565b33615031565b90506201000062ff0000196000541617600055600054611b8860ff8260101c16612f46565b62ff00001916600055611b9b3342613f3a565b33600090815260486020526040902090600182015555611bc3610dab610db0610da442613ff3565b33600090815260486020526040902060010154604b5403610e5157610a2a90600080516020615f9c833981519152604954604a54611c1661193a3360018060a01b03166000526048602052604060002090565b0390a1614a1d565b3461048757602036600319011261048757600435611c3b81610476565b60006020604051611c4b816106f5565b828152015260018060a01b031660005260106020526106556040600020600160405191611c77836106f5565b8054835201546020820152604051918291829190916020806040830194805184520151910152565b3461048757600036600319011261048757610934613594565b3461048757604036600319011261048757610ed5600435611cd881610476565b60243590600054611cee60ff8260101c16612f46565b62ff000019166000553380614324565b34610487576000366003190112610487576020600a54604051908152f35b3461048757600036600319011261048757602060405160008152f35b3461048757600036600319011261048757600654601254600b54600c54600854604051635c0b440b60e11b815260048101949094526024840192909252604483015260648201529060209082906001600160a01b03168180608481015b03915afa80156106425761065591600091611dbc575b506040519081529081906020820190565b611dd5915060203d60201161063b5761062d8183610710565b38611dab565b346104875760003660031901126104875760035460081c6001600160a01b03163303610fc9576000546040516370a0823160e01b815230600482015290602090829060181c6001600160a01b031681806024810103915afa80156106425761093491600091611e4b575b50601255565b611e64915060203d60201161063b5761062d8183610710565b38611e45565b60e4359061049982610476565b3461048757602036600319011261048757600435611e9481610476565b60035460081c6001600160a01b03163303610fc9576004546001600160a01b03821691908215611f15576001600160a01b03198116909217600455604080516001600160a01b0393841681529290911660208301527fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9919081908101610ce1565b63e6c4247b60e01b60005260046000fd5b34610487576000366003190112610487576020610b896136fd565b3461048757602036600319011261048757600435611f5e81610476565b6001600160a01b0381166000908152600e602052604090205490611f81906149e2565b90610655611f8d613d44565b60115490604051948594859094939260609260808301968352602083015260408201520152565b3461048757602036600319011261048757600435600054611fda60ff8260101c16612f46565b62ff00001916600055611feb613594565b60055461200290610531906001600160a01b031681565b803b156104875760405163368f515360e21b815230600482015233602482015260448101839052906000908290606490829084905af180156106425761217c575b50601454420361216b57806012541061215a577f13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab8061208982612084336149e2565b612ee6565b61209583600b54612ee6565b336000908152601060205260409020828155600a54600190910155600b819055906120c08433615b51565b6040805133815260208101869052908101919091526060810191909152608090a16005546120f890610531906001600160a01b031681565b803b1561048757604051631407e28160e01b815233600482015260248101839052906000908290604490829084905af1801561064257612145576000805462ff0000191662010000179055005b80610cf5600061215493610710565b8061121b565b6348c2588160e01b60005260046000fd5b630a42bc3960e41b60005260046000fd5b80610cf5600061218b93610710565b38612043565b34610487576020366003190112610487576004356121ae81610476565b6000546121c060ff8260101c16612f46565b62ff000019166000556121d242613e70565b600080526048602052600080516020615f3c83398151915255600080516020615f7c8339815191525561220d610dab610db0610da442613ff3565b600080526048602052600080516020615f3c83398151915254604b5403610e5157604954604a54600080526048602052610a2a9291600080516020615f9c8339815191529190612291600080516020615f7c8339815191525460405193849342859094939260809260a0830196835260208301526040820152600060608201520152565b0390a161373c565b34610487576000366003190112610487576005546122c190610531906001600160a01b031681565b604051638e8f294b60e01b8152306004820152606081602481855afa80156106425760ff91600091612393575b501615908161231f575b508061230c575b6040519015158152602090f35b50600854670de0b6b3a7640000146122ff565b604051632068e5f960e21b8152306004820152915060c090829060249082905afa9081156106425761235e91602091600091612364575b500151151590565b386122f8565b612386915060c03d60c01161238c575b61237e8183610710565b810190613776565b38612356565b503d612374565b6123b5915060603d6060116123be575b6123ad8183610710565b8101906130df565b509050386122ee565b503d6123a3565b34610487576000366003190112610487576020601454604051908152f35b9080601f83011215610487578160206107839335910161108e565b60ff81160361048757565b60c43590610499826123fe565b34610487576101003660031901126104875760043561243481610476565b6024359061244182610476565b6044359161244e83610476565b606435926084356001600160401b038111610487576124719036906004016123e3565b60a435946001600160401b038611610487576124946109349636906004016123e3565b9261249d612409565b946124a6611e6a565b9661386d565b34610487576020366003190112610487576118876004356000546124d560ff8260101c16612f46565b62ff000019166000556124e6613594565b336155d0565b3461048757604036600319011261048757602061254660043561250e81610476565b6024359061251b82610476565b60018060a01b0316600052600f835260406000209060018060a01b0316600052602052604060002090565b54604051908152f35b34610487576101203660031901126104875760043561256d81610476565b6024359061257a82610476565b61258261048c565b91606435926084356001600160401b038111610487576125a69036906004016123e3565b9360a435946001600160401b038611610487576125ca6109349636906004016123e3565b916125d3612409565b936125dc611e6a565b956125e561049b565b97613994565b34610487576000366003190112610487576004546001600160a01b038116331480159061271a575b612709576003547fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a991907ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc90612685906126789060081c6001600160a01b0316610531565b926001600160a01b031690565b60038054610100600160a81b031916600883901b610100600160a81b03161790556001600160a01b031691600480546001600160a01b0319169055600354604080516001600160a01b03938416815260089290921c9092166020820152a1600454604080516001600160a01b03938416815292909116602083015281908101610ce1565b63d1ec4b2360e01b60005260046000fd5b503315612613565b34610487576000366003190112610487576020604051655af3107a40008152f35b346104875760203660031901126104875760043561276081610476565b612768613594565b60035460081c6001600160a01b03163303610fc957601454420361283b576006546001600160a01b031690600460206127a084610531565b6040516310c8fc9560e11b815292839182905afa9081156106425760009161281c575b501561280b57600680546001600160a01b0319166001600160a01b0383161790557fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926916115b5565b63ee39b72560e01b60005260046000fd5b612835915060203d602011610a7957610a6b8183610710565b386127c3565b637b964b3b60e01b60005260046000fd5b34610487576000366003190112610487576006546040516001600160a01b039091168152602090f35b346104875760006060366003190112612c4d576004359061289582610476565b6024356044356128a481610476565b82546128b560ff8260101c16612f46565b62ff0000191683556128c5613594565b6001600160a01b03811691823b15612c495760405163a6afed9560e01b8152848160048183885af1801561064257612c35575b5060055461291090610531906001600160a01b031681565b803b15612b0657846040518092632fe3f38f60e11b8252818061293a878c338b306004870161452b565b03915afa801561064257612c21575b506014544203612c125760405163cfa9920160e01b815260208160048188885af1908115610642578591612bf3575b504203612be4576001600160a01b0385163314612bd5578015612bc6576000198114612bb7576129a9908533614e13565b906129b48282613203565b6040516370a0823160e01b81526001600160a01b03881660048201529096919490602081602481855afa80156106425786918891612b98575b5010612b89578596959495308214600014612b0a57612a1091508683333061455d565b604080513381526001600160a01b0383811660208301529181018590529083166060820152608081018690527f298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb529060a090a1600554612a7990610531906001600160a01b031681565b91823b15612b06576040516347ef3b3b60e01b81523060048201526001600160a01b03918216602482015233604482015291166064820152608481019290925260a482019390935291829060c490829084905af1801561064257612af2575b50612aef6201000062ff0000196000541617600055565b80f35b80610cf583612b0093610710565b38612ad8565b8480fd5b813b15612b85576040516316b8c1fb60e11b81523360048201526001600160a01b038416602482015260448101889052606481019190915260006084820181905260a48201529490859060c490829084905af1938415610642578694612b71575b50612a10565b80610cf586612b7f93610710565b38612b6b565b8580fd5b630e7a24eb60e11b8652600486fd5b612bb1915060203d60201161063b5761062d8183610710565b386129ed565b63f72ef4e160e01b8452600484fd5b63b2f72f4760e01b8452600484fd5b63039f861b60e51b8452600484fd5b633e88627b60e11b8452600484fd5b612c0c915060203d60201161063b5761062d8183610710565b38612978565b63fbf3ea7960e01b8452600484fd5b80610cf586612c2f93610710565b38612949565b84612c4291959295610710565b92386128f8565b8380fd5b80fd5b346104875760003660031901126104875760035460405160089190911c6001600160a01b03168152602090f35b3461048757600036600319011261048757600654601254600b54600c546040516315f2405360e01b81526004810193909352602483019190915260448201529060209082906001600160a01b0316818060648101611d95565b3461048757602036600319011261048757600435600054612cfc60ff8260101c16612f46565b62ff00001916600055612d0d613594565b60035460081c6001600160a01b03163303610fc9576014544203612d8d57670de0b6b3a76400008111612d7c5760088054908290556040805191825260208201929092527faaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f82146091819081016113fc565b631b9bc96960e11b60005260046000fd5b637b452e8160e11b60005260046000fd5b3461048757600036600319011261048757602060405160018152f35b6001600160401b0381116106f05760051b60200190565b602081830312610487578051906001600160401b038211610487570181601f8201121561048757805190612e0482612dba565b92612e126040519485610710565b82845260208085019360061b8301019181831161048757602001925b828410612e3c575050505090565b6040848303126104875760206040918251612e56816106f5565b8651612e6181610476565b81528287015183820152815201930192612e2e565b6040513d6000823e3d90fd5b8051821015612e965760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b90816020910312610487575190565b634e487b7160e01b600052601160045260246000fd5b90670de0b6b3a7640000820180921161142657565b9190820180921161142657565b90655af3107a4000820291808304655af3107a4000149015171561142657565b8181029291811591840414171561142657565b8115612f30570490565b634e487b7160e01b600052601260045260246000fd5b15612f4d57565b60405162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b6044820152606490fd5b90816020910312610487575161078381611195565b600054612fa660ff8260101c16612f46565b62ff00001916600055612fb98142613f3a565b6001600160a01b038316600090815260486020526040902090600182015555612fea610dab610db0610da442613ff3565b6001600160a01b038116600090815260486020526040902060010154604b5403610e515761304790600080516020615f9c833981519152604954604a5490610e49610e128560018060a01b03166000526048602052604060002090565b6104996201000062ff0000196000541617600055565b6130679042613f3a565b5061307142613ff3565b5050801561309f57655af3107a4000820291808304655af3107a400014901517156114265761078391612f26565b5050600090565b6001600160a01b039182168152911660208201526040810191909152606081019190915260a06080820181905261078392910190610731565b908160609103126104875780516130f581611195565b9160406020830151613106816123fe565b92015161078381611195565b1561311957565b60405162461bcd60e51b81526020600482015260166024820152751c995c185e481d1bdad95b881b9bdd081b1a5cdd195960521b6044820152606490fd5b1561315e57565b60405162461bcd60e51b81526020600482015260166024820152751cd95a5e99481d1bdad95b881b9bdd081b1a5cdd195960521b6044820152606490fd5b519061ffff8216820361048757565b908160609103126104875760405190606082018281106001600160401b038211176106f0576131fb9160409182526131e28161319c565b84526131f06020820161319c565b60208501520161319c565b604082015290565b60055490929061321d90610531906001600160a01b031681565b604051638e8f294b60e01b81523060048201529092606082602481875afa91821561064257600090600093613562575b5061325790613112565b604051638e8f294b60e01b81526001600160a01b038616600482015291606083602481885afa9283156106425760009060009461353d575b5061329990613157565b60405163231d97a560e21b815290606082600481895afa9182156106425760009261350c575b5060ff806132e16132dc6132d5865161ffff1690565b61ffff1690565b612ef3565b9516911614613487575b506040516312bdd04160e31b815230600482015291602083602481885afa92831561064257600093613466575b506040516312bdd04160e31b81526001600160a01b038716600482015294602090869060249082905afa94851561064257600095613441575b5060405163182df0f560e01b81529495939493602090859060049082906001600160a01b03165afa9283156106425782613401613416936133fb6133f461340798613407966107839b60009261341c575b506133eb906133cf6133b387612ed1565b6133bb611064565b9081526133c6611064565b9083825261491b565b956133d8611064565b9081526133e3611064565b91825261491b565b9c6133d8611064565b8092614954565b99614954565b97614a62565b670de0b6b3a764000090510490565b94614a62565b6133eb91925061343a9060203d60201161063b5761062d8183610710565b91906133a2565b600494955061345e602091823d841161063b5761062d8183610710565b959450613351565b61348091935060203d60201161063b5761062d8183610710565b9138613318565b604051637f4e225760e11b815291925090602081600481305afa908115610642576000916134ed575b506134d2576132dc6132d560406134ca93015161ffff1690565b905b386132eb565b6132dc6132d560206134e793015161ffff1690565b906134cc565b613506915060203d602011610a7957610a6b8183610710565b386134b0565b61352f91925060603d606011613536575b6135278183610710565b8101906131ab565b90386132bf565b503d61351d565b613299945061355b915060603d6060116123be576123ad8183610710565b509361328f565b6132579350613580915060603d6060116123be576123ad8183610710565b509261324d565b9190820391821161142657565b6014544281146136fa57601254600b5490600c5492600a54926135c461053161053160065460018060a01b031690565b6040516315f2405360e01b81526004810185905260248101839052604481018790529590602090879060649082905afa9586156106425761368c8661208461340761367a9961368661365d7f4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc049d6136d09b6136ad996000926136d5575b5061364c9042613587565b90613655611064565b908152614a62565b976120846134076136716134078d8d614a62565b9e8f9c8d612ee6565b9b600854613655611064565b96614a62565b9161369642601455565b61369f83600a55565b6136a884600b55565b600c55565b604051948594859094939260609260808301968352602083015260408201520152565b0390a1565b61364c9192506136f39060203d60201161063b5761062d8183610710565b9190613641565b50565b60005461370f60ff8260101c16612f46565b62ff00001916600055613720613594565b613728613d44565b906201000062ff0000196000541617600055565b60035460081c6001600160a01b03163303610fc9576104999061420d565b51906effffffffffffffffffffffffffffff8216820361048757565b908160c0910312610487576040519060c082018281106001600160401b038211176106f0576138029160a09160405280516137b081611195565b845260208101516137c081611195565b602085015260408101516137d381611195565b604085015260608101516137e681611195565b60608501526137f76080820161375a565b60808501520161375a565b60a082015290565b1561381157565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b96949290916138ba9694926047549861389e60ff8b60081c16151515809b8161393c575b811561391c575b5061380a565b896138b1600160ff196047541617604755565b6139035761394a565b6138c057565b6138d061ff001960475416604755565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081016136d0565b61391761010061ff00196047541617604755565b61394a565b303b1591508161392e575b5038613898565b60ff16600114905038613927565b600160ff8216109150613891565b969492909161395a969492614c92565b6001600160a01b03811615611f1557600080546301000000600160b81b03191660189290921b6301000000600160b81b0316919091179055565b979593916138ba97959391604754996139c360ff8c60081c16151515809c8161393c57811561391c575061380a565b8a6139d6600160ff196047541617604755565b15613a09576139ef61010061ff00196047541617604755565b613a09565b90816020910312610487575161078381610476565b6047805462010000600160b01b03191660109a909a1b62010000600160b01b03169990991790985560049690959094909390929091613a4742604b55565b604754602090613a629060101c6001600160a01b0316610531565b6040516372f702f360e01b8152998a9182905afa97881561064257600098613ae4575b506001600160a01b038981169816889003613ad357613aa396614c92565b15611f1557600080546301000000600160b81b03191660189290921b6301000000600160b81b0316919091179055565b634ff3032960e11b60005260046000fd5b613b0791985060203d602011613b0e575b613aff8183610710565b8101906139f4565b9638613a85565b503d613af5565b61372890600054613b2b60ff8260101c16612f46565b62ff00001916600055613b3c613594565b3333614e13565b90613b4c613594565b600554600090613b6690610531906001600160a01b031681565b803b15613d405760405163368f515360e21b81523060048201526001600160a01b0385166024820152604481018490529082908290606490829084905af1801561064257613d2c575b506014544203613d1d578160125410613d0e576001600160a01b038316907f13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab8090613bfc84612084856149e2565b613c0885600b54612ee6565b9181613c268860018060a01b03166000526010602052604060002090565b55600a546001600160a01b038816600090815260106020526040902060010155613c4f83600b55565b50613c64613c5f86601254613587565b601255565b604080516001600160a01b038816815260208101879052908101919091526060810191909152608090a1600554613ca590610531906001600160a01b031681565b803b1561048757604051631407e28160e01b81526001600160a01b03949094166004850152602484018390526000908490604490829084905af192831561064257613cf593613cf9575b506151d7565b5050565b80610cf56000613d0893610710565b38613cef565b6348c2588160e01b8152600490fd5b630a42bc3960e41b8152600490fd5b80610cf583613d3a93610710565b38613baf565b5080fd5b600d5480613d53575060075490565b60125490600b54820180921161142657600c54918281039281841161142657670de0b6b3a76400008402938404670de0b6b3a764000014911417156114265761078391612f26565b6047546040516304bb6c9360e21b8152906000908290600490829060101c6001600160a01b03165afa90811561064257600091613dd6575090565b3d8083833e613de58183610710565b810190602081830312613e6c578051906001600160401b038211612c49570181601f82011215613e6c57805190613e1b82612dba565b93613e296040519586610710565b82855260208086019360051b830101938411612c4d5750602001905b828210613e525750505090565b602080918351613e6181610476565b815201910190613e45565b8280fd5b600080526048602052600080516020615f3c833981519152549091908083039083821161142657600080526048602052600080516020615f7c83398151915254600080516020615f3c833981519152549092909182613ed3575050505060009190565b859294939503613ee1575050565b60008052600080516020615f7c83398151915254600e602052919450919250613f3691613f30907fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881c5b54612f13565b90612ee6565b9190565b6001600160a01b038216600081815260486020526040902060010154919392828503929185841161142657600090815260486020526040808220546001600160a01b03841683529120600101549093909283613f9b57505050505060009190565b869395949603613faa57505050565b81929550613f36939450613f2a613fd6613f309360018060a01b03166000526048602052604060002090565b546001600160a01b039094166000908152600e6020526040902090565b90604b54808303918383116114265760495493604a5493838203614015575050565b614026919495929350600d54612f13565b60085480670de0b6b3a76400000390670de0b6b3a7640000821161142657670de0b6b3a764000014612f30576ec097ce7bc90715b34b9f100000000004670de0b6b3a763ffff19810190811161142657613f369261208461409b61408d6140a39486612f13565b670de0b6b3a7640000900490565b938492612ee6565b94612ee6565b6047546000906140c49060101c6001600160a01b0316610531565b803b15613d40576040516377bc854160e11b81523060048201529082908290602490829084905af18015610642576141f9575b50506001600160a01b0381166000908152604860205260409020549060495415613cf557614123613d9b565b80519060005b82811061415b575050506001600160a01b031660009081526048602052604081205560495461049991610db091613587565b61416b610531610bf68385612e82565b6040516370a0823160e01b815230600482015291906020836024816001600160a01b0385165afa8015610642576141b16141ba916001956000916141db575b5089612f13565b60495490612f26565b86816141ca575b50505001614129565b6141d392615298565b3880866141c1565b6141f3915060203d811161063b5761062d8183610710565b386141aa565b80610cf58361420793610710565b386140f7565b6047546142259060101c6001600160a01b0316610531565b803b15610487576040516377bc854160e11b8152306004820152906000908290602490829084905af180156106425761430f575b50604a549060495415613cf55761426e613d9b565b9081519160005b8381106142995750505050610db0610499916142916000604a55565b604954613587565b6142a9610531610bf68385612e82565b6040516370a0823160e01b815230600482015291906020836024816001600160a01b0385165afa8015610642576141b16142ee916001956000916141db575089612f13565b85816142fe575b50505001614275565b61430792615298565b3880856142f5565b80610cf5600061431e93610710565b38614259565b60055461433b90610531906001600160a01b031681565b803b15610487576040516317b9b84b60e31b81523060048201526001600160a01b0384811660248301528516604482015260648101869052906000908290608490829084905af18015610642576144eb575b506001600160a01b0383811694908316938486146144da57600080516020615f5c8339815191529361446a936001600160a01b03811687036144b1576000195b6143d78582613587565b93614450614401876143fb8760018060a01b0316600052600e602052604060002090565b54613587565b91614428886144228360018060a01b0316600052600e602052604060002090565b54612ee6565b6001600160a01b038781166000908152600e6020526040808220969096559216825292902090565b5519614472575b5050604051918252509081906020820190565b0390a3600090565b6144916144a89260018060a01b0316600052600f602052604060002090565b9060018060a01b0316600052602052604060002090565b55388080614457565b6001600160a01b0382166000908152600f602052604090206144d4908290614491565b546143cd565b638cd22d1960e01b60005260046000fd5b80610cf560006144fa93610710565b3861438d565b61451690600054611b4c60ff8260101c16612f46565b6000805462ff00001916620100001790559091565b6001600160a01b0391821681529181166020830152918216604082015291166060820152608081019190915260a00190565b909293919360009161457c61053161053160055460018060a01b031690565b90813b15612c4957868392878680946145ac6040519788968795869463d02f735160e01b8652306004870161452b565b03925af1801561064257614751575b506001600160a01b03848116939086169283851461474257506145f1906145e0611064565b90670429d069189e0000825261532a565b9485821061473157857fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc593614629613cf59885613587565b9661464161340784614639613d44565b613655611064565b936146ab61468f61465487600c54612ee6565b9761465e89600c55565b61467261466d88600d54613587565b600d55565b6001600160a01b0384166000908152600e602052604090206143fb565b6001600160a01b039092166000908152600e6020526040902090565b556146cf61468f896144228460018060a01b0316600052600e602052604060002090565b558581600080516020615f5c833981519152604051806146f48c829190602083019252565b0390a36040519182523091600080516020615f5c83398151915290602090a3604080513081526020810192909252810191909152606090a161565c565b632c3508cb60e21b60005260046000fd5b637a2d3db360e01b8152600490fd5b80610cf58461475f93610710565b386145bb565b60055491959493929161478290610531906001600160a01b031681565b803b156104875782600091888387956147b26040519788968795869463d02f735160e01b8652306004870161452b565b03925af1801561064257614906575b506001600160a01b0385811696908216938488146148f55785156148e357506147f5906147ec611064565b9081528361532a565b808310614731577fa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5936148288285613587565b9661483861340784614639613d44565b9361484b61468f61465487600c54612ee6565b5561486f61468f896144228460018060a01b0316600052600e602052604060002090565b558781600080516020615f5c833981519152604051806148948c829190602083019252565b0390a36040519182523091600080516020615f5c83398151915290602090a3604080513081526020810192909252810191909152606090a1156148da57613cf5916155d0565b613cf59161565c565b6148f091506145e0611064565b6147f5565b637a2d3db360e01b60005260046000fd5b80610cf5600061491593610710565b386147c1565b670de0b6b3a764000091614941916000604051614937816106d5565b5251905190612f13565b046040519061494f826106d5565b815290565b6000604051614962816106d5565b5251670de0b6b3a7640000810290808204670de0b6b3a7640000149015171561142657614990915190612f26565b6040519061494f826106d5565b80156149d1576040519081527f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d560203392a2565b6319d8c2cb60e11b60005260046000fd5b6001600160a01b03166000908152601060205260409020805490811561309f576001614a1461078393600a5490612f13565b91015490612f26565b8015614a51576040519081527f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d60203392a2565b6358b1748360e01b60005260046000fd5b90614990916000604051614a75816106d5565b5251612f13565b601f8211614a8957505050565b6000526020600020906020601f840160051c83019310614ac4575b601f0160051c01905b818110614ab8575050565b60008155600101614aad565b9091508190614aa4565b9081516001600160401b0381116106f057614af581614aee600154610685565b6001614a7c565b602092601f8211600114614b3757614b2792938291600092614b2c575b50508160011b916000199060031b1c19161790565b600155565b015190503880614b12565b6001600052601f198216937fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf69160005b868110614b9e5750836001959610614b85575b505050811b01600155565b015160001960f88460031b161c19169055388080614b7a565b91926020600181928685015181550194019201614b67565b9081516001600160401b0381116106f057614bdd81614bd6600254610685565b6002614a7c565b602092601f8211600114614c1357614c0e92938291600092614b2c5750508160011b916000199060031b1c19161790565b600255565b6002600052601f198216937f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9160005b868110614c7a5750836001959610614c61575b505050811b01600255565b015160001960f88460031b161c19169055388080614c56565b91926020600181928685015181550194019201614c43565b60038054610100600160a81b03191660089890981b610100600160a81b03169790971790965591949192919060145415801590614e08575b614df75760075560075415614de657613047947fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926614dc9614dd6957f7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d614d8c614dd196614d3e670de0b6b3a7640000601155565b614d4f67016345785d8a0000600855565b600580546001600160a01b0319166001600160a01b0383161790555b60408051600081526001600160a01b03909216602083015290918291820190565b0390a1614d9842601455565b614da9670de0b6b3a7640000600a55565b600680546001600160a01b0319166001600160a01b038316179055614d6b565b0390a1614ace565b614bb6565b60ff1660ff196003541617600355565b63a2ec3a5560e01b60005260046000fd5b634743547560e01b60005260046000fd5b50600a541515614cca565b600554909190614e2d90610531906001600160a01b031681565b803b1561048757604051631200453160e11b81523060048201526001600160a01b0384811660248301528316604482015260648101859052906000908290608490829084905af1801561064257614ff2575b506014544203614fe1577f1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1614ed0614ec9614ec3614ebc856149e2565b809761598e565b856159a0565b8095613587565b614edc85600b54613587565b9080614efa8560018060a01b03166000526010602052604060002090565b55600a546001600160a01b038516600090815260106020526040902060010155614f2382600b55565b604080516001600160a01b038781168252861660208201529081018790526060810191909152608081019190915260a090a1600554614f6c90610531906001600160a01b031681565b91600a5492803b1561048757604051631ededc9160e01b81523060048201526001600160a01b039283166024820152919092166044820152606481018490526084810192909252600090829081838160a481015b03925af1801561064257614fd2575090565b80610cf5600061078393610710565b63c714a2d560e01b60005260046000fd5b80610cf5600061500193610710565b38614e7f565b6001600160a01b039182168152911660208201526040810191909152606081019190915260800190565b919061503b613d44565b90615044611064565b82815260055490929061506190610531906001600160a01b031681565b803b1561048757604051635bca9add60e01b815291600091839182908490829061509190898d3060048601615007565b03925af18015610642576151c2575b5060145442036151b1576150b490846159a0565b906103e88211156151a0576150c99082615d6b565b92831561518f576150df61466d85600d54612ee6565b6001600160a01b0381166000908152600e60205260409020615102908590614422565b6001600160a01b0382166000908152600e6020526040902055604080516001600160a01b0383168152602081018490529081018590527f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f9080606081010390a16040518481526001600160a01b0391909116903090600080516020615f5c83398151915290602090a39190565b634f87e6f560e01b60005260046000fd5b6310deaa5960e01b60005260046000fd5b633393b25760e01b60005260046000fd5b80610cf560006151d193610710565b386150a0565b919060006151e3613d44565b906151ec611064565b82815260055490929061520990610531906001600160a01b031681565b803b15613e6c57604051635bca9add60e01b81529183918391829084908290615238908b8e3060048601615007565b03925af1801561064257615284575b5060145442036152755750615261613c5f83601254612ee6565b6103e88211156151a0576150c99082615d6b565b633393b25760e01b8152600490fd5b80610cf58361529293610710565b38615247565b60405163a9059cbb60e01b81526001600160a01b039092166004830152602482019290925260209060009060449082855af19081601f3d1160016000511416151661531d575b50156152e657565b60405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606490fd5b3b153d17159050386152de565b61533f90670de0b6b3a7640000925190612f13565b0490565b919061534d613d44565b92615356611064565b9384526153638483615d6b565b93846153818360018060a01b0316600052600e602052604060002090565b540361559b575b60055461539f90610531906001600160a01b031681565b905190803b15610487576040516317c4196b60e11b81529160009183918290849082906153d2908c8a3060048601615007565b03925af1801561064257615586575b5060145442036155755781601254106155645761540361466d85600d54613587565b6001600160a01b0381166000908152600e602052604090206154269085906143fb565b6001600160a01b0382166000908152600e6020526040902081905515158061553f575b61552e576001600160a01b0381166154618382615c77565b604051858152309190600080516020615f5c8339815191529080602081015b0390a3604080516001600160a01b0383168152602081018490529081018590527fe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a92990606090a16005546154dd90610531906001600160a01b031681565b803b156104875784600091848361550c95604051968795869485936351dff98960e01b85523060048601615007565b03925af180156106425761551f57509190565b80610cf56000613f3693610710565b6330a46c4960e21b60005260046000fd5b506001600160a01b0381166000908152600e602052604090206103e890541115615449565b6391240a1b60e01b60005260046000fd5b63a17754ef60e01b60005260046000fd5b80610cf5600061559593610710565b386153e1565b6103e88511156155bf576103e8831161538857632005234160e01b60005260046000fd5b63d1b61f5160e01b60005260046000fd5b909190821515908180615654575b615643576155ea613d44565b916155f3611064565b9283526000901561562d575061560c6134078584614a62565b915b6001600160a01b0382166000908152600e602052604090208590615381565b61563a9194508290615d6b565b9260009161560e565b63431f269d60e01b60005260046000fd5b5060006155de565b909190821515906000828061586c575b61585d57615678613d44565b92615681611064565b93845215615849576156966134078685614a62565b925b6001600160a01b0383166000908152600e6020526040902086905403615818575b6005546156d090610531906001600160a01b031681565b9051813b15613e6c576156ff839283926040519485809481936317c4196b60e11b83528d8b3060048601615007565b03925af1801561064257615804575b5060145442036157f55782601254106157e65761573061466d86600d54613587565b6001600160a01b0382166000908152600e602052604090206157539086906143fb565b6001600160a01b0383166000908152600e602052604090208190551515806157c1575b6157b257506157858282615873565b60405184815230906001600160a01b03831690600080516020615f5c833981519152908060208101615480565b6330a46c4960e21b8152600490fd5b506001600160a01b0382166000908152600e602052604090206103e890541115615776565b6391240a1b60e01b8152600490fd5b63a17754ef60e01b8152600490fd5b80610cf58361581293610710565b3861570e565b6103e886111561583a576103e884116156b957632005234160e01b8252600482fd5b63d1b61f5160e01b8252600482fd5b93506158558285615d6b565b938092615698565b63431f269d60e01b8152600490fd5b508061566c565b6047546000939290849060101c6001600160a01b0316803b15613d40578190602460405180948193632e1a7d4d60e01b83528760048401525af180156106425761597a575b50835484906158d4906105319060181c6001600160a01b031681565b92833b15613d405760405163a9059cbb60e01b81526001600160a01b0391909116600482015260248101839052928390604490829084905af19081156106425761592a92613c5f92615966575b50601254613587565b3d801561595c5760201461593c575080fd5b90602081803e80515b1561594d5750565b637308799360e11b8152600490fd5b5090600019615945565b80610cf58761597493610710565b38615921565b8461598791959295610710565b92386158b8565b908082101561599b575090565b905090565b906159aa91615d97565b6000546159c4906105319060181c6001600160a01b031681565b6040516370a0823160e01b815230600482015290602082602481845afa91821561064257600092615abd575b50604754615a4b91602091849190615a139060101c6001600160a01b0316610531565b60405163095ea7b360e01b81526001600160a01b03909116600482015260248101929092529092839190829060009082906044820190565b03925af1801561064257615aa0575b50604754615a739060101c6001600160a01b0316610531565b803b156104875760405163534a7e1d60e11b81526004810192909252600090829081838160248101614fc0565b615ab89060203d602011610a7957610a6b8183610710565b615a5a565b615a4b919250615adb602091823d841161063b5761062d8183610710565b9291506159f0565b3d15615b0e573d90615af482611073565b91615b026040519384610710565b82523d6000602084013e565b606090565b91939260608301946002831015615b3b576040928452602084015260018060a01b0316910152565b634e487b7160e01b600052602160045260246000fd5b6005546004929190602090615b7090610531906001600160a01b031681565b6040516334cc866d60e21b815294859182905afa92831561064257600093615c56575b506040516379befbd160e01b6020820190815260248201849052600091829190615bca81604481015b03601f198101835282610710565b519082875af1615bd8615ae3565b5015615bf15761049992506001600160a01b0316615873565b615c2d926020926001600160a01b0390911690615c0e8183615873565b6000604051809681958294633033674760e11b84528460048501615b13565b03925af1801561064257615c3e5750565b6136fa9060203d60201161063b5761062d8183610710565b615c7091935060203d602011613b0e57613aff8183610710565b9138615b93565b9060049160006020615c9661053161053160055460018060a01b031690565b6040516334cc866d60e21b815295869182905afa938415610642578194615d4a575b506040516379befbd160e01b60208201908152602482018590528291829190615ce48160448101615bbc565b519082885af1615cf2615ae3565b5015615d0c575061049992506001600160a01b0316615873565b615c2d936020936001600160a01b0390911691615d298284615873565b506000604051809681958294633033674760e11b8452600160048501615b13565b615d6491945060203d602011613b0e57613aff8183610710565b9238615cb8565b670de0b6b3a7640000810290808204670de0b6b3a7640000149015171561142657610783915190612f26565b600054909190615db29060181c6001600160a01b0316610531565b6040516370a0823160e01b815230600482015292906020846024816001600160a01b0385165afa93841561064257600094615f1a575b506001600160a01b031691823b15610487576040516323b872dd60e01b81526001600160a01b039290921660048301523060248301526044820152906000908290606490829084905af1801561064257615f05575b503d8015615efc57602014615e5157600080fd5b60206000803e6000515b15615eca57600054615e7a906105319060181c6001600160a01b031681565b6040516370a0823160e01b81523060048201529190602090839060249082905afa91821561064257600092615edb575b50808210615eca57615ebb91613587565b610783613c5f82601254612ee6565b63065559c560e51b60005260046000fd5b615ef591925060203d60201161063b5761062d8183610710565b9038615eaa565b50600019615e5b565b80610cf56000615f1493610710565b38615e3d565b615f3491945060203d60201161063b5761062d8183610710565b9238615de856febac3877cb9addce5c33a1238861ddcd7bd88b2bc84606646884115b1f516baccddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efbac3877cb9addce5c33a1238861ddcd7bd88b2bc84606646884115b1f516bacb8adeb7dcdd8a3b4a1a59a11131afd5078812d3b40333e2bfb885035ae2fcb489a264697066735822122012dde7eac5b342ba26453191948312c2cdf43b4f42bc259a1afd4bbc5e3bbb6264736f6c634300081a0033";
18
18
  static readonly abi: readonly [{
19
- readonly inputs: readonly [{
20
- readonly internalType: "address";
21
- readonly name: "_infraredVault";
22
- readonly type: "address";
23
- }];
19
+ readonly inputs: readonly [];
24
20
  readonly stateMutability: "nonpayable";
25
21
  readonly type: "constructor";
26
22
  }, {
@@ -67,13 +63,21 @@ export declare class CInfraredVault__factory extends ContractFactory {
67
63
  readonly inputs: readonly [];
68
64
  readonly name: "CantExitMarketWithNonZeroBorrowBalance";
69
65
  readonly type: "error";
66
+ }, {
67
+ readonly inputs: readonly [];
68
+ readonly name: "CantStakeZero";
69
+ readonly type: "error";
70
+ }, {
71
+ readonly inputs: readonly [];
72
+ readonly name: "CantSweepRewardToken";
73
+ readonly type: "error";
70
74
  }, {
71
75
  readonly inputs: readonly [];
72
76
  readonly name: "CantSweepUnderlying";
73
77
  readonly type: "error";
74
78
  }, {
75
79
  readonly inputs: readonly [];
76
- readonly name: "CantWithdrawRewardToken";
80
+ readonly name: "CantWithdrawZero";
77
81
  readonly type: "error";
78
82
  }, {
79
83
  readonly inputs: readonly [];
@@ -199,6 +203,10 @@ export declare class CInfraredVault__factory extends ContractFactory {
199
203
  readonly inputs: readonly [];
200
204
  readonly name: "InvalidTimestamp";
201
205
  readonly type: "error";
206
+ }, {
207
+ readonly inputs: readonly [];
208
+ readonly name: "LastUpdateTimeMismatch";
209
+ readonly type: "error";
202
210
  }, {
203
211
  readonly inputs: readonly [];
204
212
  readonly name: "LiquidateBorrow_LiquidatorIsBorrower";
@@ -267,6 +275,10 @@ export declare class CInfraredVault__factory extends ContractFactory {
267
275
  readonly inputs: readonly [];
268
276
  readonly name: "NoRedemptionProvider";
269
277
  readonly type: "error";
278
+ }, {
279
+ readonly inputs: readonly [];
280
+ readonly name: "NotAllowedToClaimProtocolRewards";
281
+ readonly type: "error";
270
282
  }, {
271
283
  readonly inputs: readonly [];
272
284
  readonly name: "NotCToken";
@@ -427,6 +439,10 @@ export declare class CInfraredVault__factory extends ContractFactory {
427
439
  readonly inputs: readonly [];
428
440
  readonly name: "UnderlyingBalanceError";
429
441
  readonly type: "error";
442
+ }, {
443
+ readonly inputs: readonly [];
444
+ readonly name: "UnderlyingMismatch";
445
+ readonly type: "error";
430
446
  }, {
431
447
  readonly inputs: readonly [];
432
448
  readonly name: "UnderlyingMustBeStakingToken";
@@ -655,16 +671,6 @@ export declare class CInfraredVault__factory extends ContractFactory {
655
671
  }];
656
672
  readonly name: "NewReserveFactor";
657
673
  readonly type: "event";
658
- }, {
659
- readonly anonymous: false;
660
- readonly inputs: readonly [{
661
- readonly indexed: false;
662
- readonly internalType: "address";
663
- readonly name: "account";
664
- readonly type: "address";
665
- }];
666
- readonly name: "Paused";
667
- readonly type: "event";
668
674
  }, {
669
675
  readonly anonymous: false;
670
676
  readonly inputs: readonly [{
@@ -863,12 +869,32 @@ export declare class CInfraredVault__factory extends ContractFactory {
863
869
  }, {
864
870
  readonly anonymous: false;
865
871
  readonly inputs: readonly [{
872
+ readonly indexed: false;
873
+ readonly internalType: "uint256";
874
+ readonly name: "timestamp";
875
+ readonly type: "uint256";
876
+ }, {
877
+ readonly indexed: false;
878
+ readonly internalType: "uint256";
879
+ readonly name: "totalPoints";
880
+ readonly type: "uint256";
881
+ }, {
882
+ readonly indexed: false;
883
+ readonly internalType: "uint256";
884
+ readonly name: "protocolPoints";
885
+ readonly type: "uint256";
886
+ }, {
866
887
  readonly indexed: false;
867
888
  readonly internalType: "address";
868
889
  readonly name: "account";
869
890
  readonly type: "address";
891
+ }, {
892
+ readonly indexed: false;
893
+ readonly internalType: "uint256";
894
+ readonly name: "_userPoints";
895
+ readonly type: "uint256";
870
896
  }];
871
- readonly name: "Unpaused";
897
+ readonly name: "UpdatePoints";
872
898
  readonly type: "event";
873
899
  }, {
874
900
  readonly anonymous: false;
@@ -888,11 +914,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
888
914
  }, {
889
915
  readonly inputs: readonly [];
890
916
  readonly name: "_acceptAdmin";
891
- readonly outputs: readonly [{
892
- readonly internalType: "uint256";
893
- readonly name: "";
894
- readonly type: "uint256";
895
- }];
917
+ readonly outputs: readonly [];
896
918
  readonly stateMutability: "nonpayable";
897
919
  readonly type: "function";
898
920
  }, {
@@ -902,11 +924,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
902
924
  readonly type: "uint256";
903
925
  }];
904
926
  readonly name: "_addReserves";
905
- readonly outputs: readonly [{
906
- readonly internalType: "uint256";
907
- readonly name: "";
908
- readonly type: "uint256";
909
- }];
927
+ readonly outputs: readonly [];
910
928
  readonly stateMutability: "nonpayable";
911
929
  readonly type: "function";
912
930
  }, {
@@ -916,11 +934,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
916
934
  readonly type: "uint256";
917
935
  }];
918
936
  readonly name: "_reduceReserves";
919
- readonly outputs: readonly [{
920
- readonly internalType: "uint256";
921
- readonly name: "";
922
- readonly type: "uint256";
923
- }];
937
+ readonly outputs: readonly [];
924
938
  readonly stateMutability: "nonpayable";
925
939
  readonly type: "function";
926
940
  }, {
@@ -930,11 +944,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
930
944
  readonly type: "address";
931
945
  }];
932
946
  readonly name: "_setComptroller";
933
- readonly outputs: readonly [{
934
- readonly internalType: "uint256";
935
- readonly name: "";
936
- readonly type: "uint256";
937
- }];
947
+ readonly outputs: readonly [];
938
948
  readonly stateMutability: "nonpayable";
939
949
  readonly type: "function";
940
950
  }, {
@@ -958,11 +968,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
958
968
  readonly type: "address";
959
969
  }];
960
970
  readonly name: "_setInterestRateModel";
961
- readonly outputs: readonly [{
962
- readonly internalType: "uint256";
963
- readonly name: "";
964
- readonly type: "uint256";
965
- }];
971
+ readonly outputs: readonly [];
966
972
  readonly stateMutability: "nonpayable";
967
973
  readonly type: "function";
968
974
  }, {
@@ -972,11 +978,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
972
978
  readonly type: "address";
973
979
  }];
974
980
  readonly name: "_setPendingAdmin";
975
- readonly outputs: readonly [{
976
- readonly internalType: "uint256";
977
- readonly name: "";
978
- readonly type: "uint256";
979
- }];
981
+ readonly outputs: readonly [];
980
982
  readonly stateMutability: "nonpayable";
981
983
  readonly type: "function";
982
984
  }, {
@@ -986,31 +988,9 @@ export declare class CInfraredVault__factory extends ContractFactory {
986
988
  readonly type: "uint256";
987
989
  }];
988
990
  readonly name: "_setReserveFactor";
989
- readonly outputs: readonly [{
990
- readonly internalType: "uint256";
991
- readonly name: "";
992
- readonly type: "uint256";
993
- }];
991
+ readonly outputs: readonly [];
994
992
  readonly stateMutability: "nonpayable";
995
993
  readonly type: "function";
996
- }, {
997
- readonly inputs: readonly [{
998
- readonly internalType: "address";
999
- readonly name: "";
1000
- readonly type: "address";
1001
- }];
1002
- readonly name: "_shares";
1003
- readonly outputs: readonly [{
1004
- readonly internalType: "uint256";
1005
- readonly name: "shares";
1006
- readonly type: "uint256";
1007
- }, {
1008
- readonly internalType: "uint256";
1009
- readonly name: "lastUpdateTime";
1010
- readonly type: "uint256";
1011
- }];
1012
- readonly stateMutability: "view";
1013
- readonly type: "function";
1014
994
  }, {
1015
995
  readonly inputs: readonly [];
1016
996
  readonly name: "_syncUnderlyingBalance";
@@ -1030,11 +1010,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
1030
1010
  }, {
1031
1011
  readonly inputs: readonly [];
1032
1012
  readonly name: "accrueInterest";
1033
- readonly outputs: readonly [{
1034
- readonly internalType: "uint256";
1035
- readonly name: "";
1036
- readonly type: "uint256";
1037
- }];
1013
+ readonly outputs: readonly [];
1038
1014
  readonly stateMutability: "nonpayable";
1039
1015
  readonly type: "function";
1040
1016
  }, {
@@ -1118,11 +1094,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
1118
1094
  readonly type: "uint256";
1119
1095
  }];
1120
1096
  readonly name: "borrow";
1121
- readonly outputs: readonly [{
1122
- readonly internalType: "uint256";
1123
- readonly name: "";
1124
- readonly type: "uint256";
1125
- }];
1097
+ readonly outputs: readonly [];
1126
1098
  readonly stateMutability: "nonpayable";
1127
1099
  readonly type: "function";
1128
1100
  }, {
@@ -1136,11 +1108,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
1136
1108
  readonly type: "uint256";
1137
1109
  }];
1138
1110
  readonly name: "borrowAndDepositBack";
1139
- readonly outputs: readonly [{
1140
- readonly internalType: "uint256";
1141
- readonly name: "";
1142
- readonly type: "uint256";
1143
- }];
1111
+ readonly outputs: readonly [];
1144
1112
  readonly stateMutability: "nonpayable";
1145
1113
  readonly type: "function";
1146
1114
  }, {
@@ -1246,16 +1214,21 @@ export declare class CInfraredVault__factory extends ContractFactory {
1246
1214
  readonly internalType: "address";
1247
1215
  readonly name: "account";
1248
1216
  readonly type: "address";
1249
- }, {
1250
- readonly internalType: "address";
1251
- readonly name: "_rewardsToken";
1252
- readonly type: "address";
1253
1217
  }];
1254
1218
  readonly name: "earned";
1255
1219
  readonly outputs: readonly [{
1256
- readonly internalType: "uint256";
1220
+ readonly components: readonly [{
1221
+ readonly internalType: "address";
1222
+ readonly name: "token";
1223
+ readonly type: "address";
1224
+ }, {
1225
+ readonly internalType: "uint256";
1226
+ readonly name: "amount";
1227
+ readonly type: "uint256";
1228
+ }];
1229
+ readonly internalType: "struct IInfraredVault.UserReward[]";
1257
1230
  readonly name: "";
1258
- readonly type: "uint256";
1231
+ readonly type: "tuple[]";
1259
1232
  }];
1260
1233
  readonly stateMutability: "view";
1261
1234
  readonly type: "function";
@@ -1339,22 +1312,50 @@ export declare class CInfraredVault__factory extends ContractFactory {
1339
1312
  readonly stateMutability: "view";
1340
1313
  readonly type: "function";
1341
1314
  }, {
1342
- readonly inputs: readonly [];
1343
- readonly name: "infraredVault";
1344
- readonly outputs: readonly [{
1345
- readonly internalType: "contract IInfraredVault";
1346
- readonly name: "";
1315
+ readonly inputs: readonly [{
1316
+ readonly internalType: "address";
1317
+ readonly name: "timeBasedInterestRateModel";
1347
1318
  readonly type: "address";
1348
1319
  }];
1349
- readonly stateMutability: "view";
1320
+ readonly name: "initAccrualBlockTimestamp";
1321
+ readonly outputs: readonly [];
1322
+ readonly stateMutability: "nonpayable";
1350
1323
  readonly type: "function";
1351
1324
  }, {
1352
1325
  readonly inputs: readonly [{
1353
1326
  readonly internalType: "address";
1354
- readonly name: "timeBasedInterestRateModel";
1327
+ readonly name: "underlying_";
1328
+ readonly type: "address";
1329
+ }, {
1330
+ readonly internalType: "address";
1331
+ readonly name: "comptroller_";
1332
+ readonly type: "address";
1333
+ }, {
1334
+ readonly internalType: "address";
1335
+ readonly name: "interestRateModel_";
1336
+ readonly type: "address";
1337
+ }, {
1338
+ readonly internalType: "uint256";
1339
+ readonly name: "initialExchangeRateMantissa_";
1340
+ readonly type: "uint256";
1341
+ }, {
1342
+ readonly internalType: "string";
1343
+ readonly name: "name_";
1344
+ readonly type: "string";
1345
+ }, {
1346
+ readonly internalType: "string";
1347
+ readonly name: "symbol_";
1348
+ readonly type: "string";
1349
+ }, {
1350
+ readonly internalType: "uint8";
1351
+ readonly name: "decimals_";
1352
+ readonly type: "uint8";
1353
+ }, {
1354
+ readonly internalType: "address payable";
1355
+ readonly name: "admin_";
1355
1356
  readonly type: "address";
1356
1357
  }];
1357
- readonly name: "initAccrualBlockTimestamp";
1358
+ readonly name: "initialize";
1358
1359
  readonly outputs: readonly [];
1359
1360
  readonly stateMutability: "nonpayable";
1360
1361
  readonly type: "function";
@@ -1391,6 +1392,10 @@ export declare class CInfraredVault__factory extends ContractFactory {
1391
1392
  readonly internalType: "address payable";
1392
1393
  readonly name: "admin_";
1393
1394
  readonly type: "address";
1395
+ }, {
1396
+ readonly internalType: "address";
1397
+ readonly name: "infraredVault_";
1398
+ readonly type: "address";
1394
1399
  }];
1395
1400
  readonly name: "initialize";
1396
1401
  readonly outputs: readonly [];
@@ -1471,11 +1476,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
1471
1476
  readonly type: "address";
1472
1477
  }];
1473
1478
  readonly name: "liquidateBorrow";
1474
- readonly outputs: readonly [{
1475
- readonly internalType: "uint256";
1476
- readonly name: "";
1477
- readonly type: "uint256";
1478
- }];
1479
+ readonly outputs: readonly [];
1479
1480
  readonly stateMutability: "nonpayable";
1480
1481
  readonly type: "function";
1481
1482
  }, {
@@ -1497,10 +1498,6 @@ export declare class CInfraredVault__factory extends ContractFactory {
1497
1498
  readonly internalType: "uint256";
1498
1499
  readonly name: "";
1499
1500
  readonly type: "uint256";
1500
- }, {
1501
- readonly internalType: "uint256";
1502
- readonly name: "";
1503
- readonly type: "uint256";
1504
1501
  }];
1505
1502
  readonly stateMutability: "view";
1506
1503
  readonly type: "function";
@@ -1511,11 +1508,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
1511
1508
  readonly type: "uint256";
1512
1509
  }];
1513
1510
  readonly name: "mint";
1514
- readonly outputs: readonly [{
1515
- readonly internalType: "uint256";
1516
- readonly name: "";
1517
- readonly type: "uint256";
1518
- }];
1511
+ readonly outputs: readonly [];
1519
1512
  readonly stateMutability: "nonpayable";
1520
1513
  readonly type: "function";
1521
1514
  }, {
@@ -1552,31 +1545,51 @@ export declare class CInfraredVault__factory extends ContractFactory {
1552
1545
  readonly type: "function";
1553
1546
  }, {
1554
1547
  readonly inputs: readonly [];
1555
- readonly name: "paused";
1548
+ readonly name: "pendingAdmin";
1556
1549
  readonly outputs: readonly [{
1557
- readonly internalType: "bool";
1550
+ readonly internalType: "address payable";
1558
1551
  readonly name: "";
1559
- readonly type: "bool";
1552
+ readonly type: "address";
1560
1553
  }];
1561
1554
  readonly stateMutability: "view";
1562
1555
  readonly type: "function";
1563
1556
  }, {
1564
1557
  readonly inputs: readonly [];
1565
- readonly name: "pendingAdmin";
1558
+ readonly name: "percentScale";
1566
1559
  readonly outputs: readonly [{
1567
- readonly internalType: "address payable";
1560
+ readonly internalType: "uint256";
1568
1561
  readonly name: "";
1569
- readonly type: "address";
1562
+ readonly type: "uint256";
1570
1563
  }];
1571
1564
  readonly stateMutability: "view";
1572
1565
  readonly type: "function";
1573
1566
  }, {
1574
- readonly inputs: readonly [];
1575
- readonly name: "percentScale";
1567
+ readonly inputs: readonly [{
1568
+ readonly internalType: "address";
1569
+ readonly name: "account";
1570
+ readonly type: "address";
1571
+ }];
1572
+ readonly name: "points";
1576
1573
  readonly outputs: readonly [{
1577
1574
  readonly internalType: "uint256";
1578
1575
  readonly name: "";
1579
1576
  readonly type: "uint256";
1577
+ }, {
1578
+ readonly internalType: "uint256";
1579
+ readonly name: "";
1580
+ readonly type: "uint256";
1581
+ }, {
1582
+ readonly internalType: "uint256";
1583
+ readonly name: "";
1584
+ readonly type: "uint256";
1585
+ }, {
1586
+ readonly internalType: "uint256";
1587
+ readonly name: "";
1588
+ readonly type: "uint256";
1589
+ }, {
1590
+ readonly internalType: "uint256";
1591
+ readonly name: "";
1592
+ readonly type: "uint256";
1580
1593
  }];
1581
1594
  readonly stateMutability: "view";
1582
1595
  readonly type: "function";
@@ -1597,11 +1610,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
1597
1610
  readonly type: "uint256";
1598
1611
  }];
1599
1612
  readonly name: "redeem";
1600
- readonly outputs: readonly [{
1601
- readonly internalType: "uint256";
1602
- readonly name: "";
1603
- readonly type: "uint256";
1604
- }];
1613
+ readonly outputs: readonly [];
1605
1614
  readonly stateMutability: "nonpayable";
1606
1615
  readonly type: "function";
1607
1616
  }, {
@@ -1611,11 +1620,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
1611
1620
  readonly type: "uint256";
1612
1621
  }];
1613
1622
  readonly name: "redeemUnderlying";
1614
- readonly outputs: readonly [{
1615
- readonly internalType: "uint256";
1616
- readonly name: "";
1617
- readonly type: "uint256";
1618
- }];
1623
+ readonly outputs: readonly [];
1619
1624
  readonly stateMutability: "nonpayable";
1620
1625
  readonly type: "function";
1621
1626
  }, {
@@ -1625,11 +1630,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
1625
1630
  readonly type: "uint256";
1626
1631
  }];
1627
1632
  readonly name: "repayBorrow";
1628
- readonly outputs: readonly [{
1629
- readonly internalType: "uint256";
1630
- readonly name: "";
1631
- readonly type: "uint256";
1632
- }];
1633
+ readonly outputs: readonly [];
1633
1634
  readonly stateMutability: "nonpayable";
1634
1635
  readonly type: "function";
1635
1636
  }, {
@@ -1643,11 +1644,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
1643
1644
  readonly type: "uint256";
1644
1645
  }];
1645
1646
  readonly name: "repayBorrowBehalf";
1646
- readonly outputs: readonly [{
1647
- readonly internalType: "uint256";
1648
- readonly name: "";
1649
- readonly type: "uint256";
1650
- }];
1647
+ readonly outputs: readonly [];
1651
1648
  readonly stateMutability: "nonpayable";
1652
1649
  readonly type: "function";
1653
1650
  }, {
@@ -1709,11 +1706,7 @@ export declare class CInfraredVault__factory extends ContractFactory {
1709
1706
  readonly type: "uint256";
1710
1707
  }];
1711
1708
  readonly name: "seize";
1712
- readonly outputs: readonly [{
1713
- readonly internalType: "uint256";
1714
- readonly name: "";
1715
- readonly type: "uint256";
1716
- }];
1709
+ readonly outputs: readonly [];
1717
1710
  readonly stateMutability: "nonpayable";
1718
1711
  readonly type: "function";
1719
1712
  }, {
@@ -1790,26 +1783,6 @@ export declare class CInfraredVault__factory extends ContractFactory {
1790
1783
  }];
1791
1784
  readonly stateMutability: "view";
1792
1785
  readonly type: "function";
1793
- }, {
1794
- readonly inputs: readonly [];
1795
- readonly name: "totalShares";
1796
- readonly outputs: readonly [{
1797
- readonly internalType: "uint256";
1798
- readonly name: "";
1799
- readonly type: "uint256";
1800
- }];
1801
- readonly stateMutability: "view";
1802
- readonly type: "function";
1803
- }, {
1804
- readonly inputs: readonly [];
1805
- readonly name: "totalStaked";
1806
- readonly outputs: readonly [{
1807
- readonly internalType: "uint256";
1808
- readonly name: "";
1809
- readonly type: "uint256";
1810
- }];
1811
- readonly stateMutability: "view";
1812
- readonly type: "function";
1813
1786
  }, {
1814
1787
  readonly inputs: readonly [];
1815
1788
  readonly name: "totalSupply";