@meterio/sumer-js 0.2.53 → 0.2.55

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 (133) hide show
  1. package/dist/browser/sumer.min.js +10 -10
  2. package/dist/nodejs/abi.js +62 -134
  3. package/dist/nodejs/abi.js.map +1 -1
  4. package/dist/nodejs/constants/arbitrum.d.ts +2 -11
  5. package/dist/nodejs/constants/arbitrum.js +3 -48
  6. package/dist/nodejs/constants/arbitrum.js.map +1 -1
  7. package/dist/nodejs/constants/basemain.d.ts +2 -11
  8. package/dist/nodejs/constants/basemain.js +3 -42
  9. package/dist/nodejs/constants/basemain.js.map +1 -1
  10. package/dist/nodejs/constants/ethereum.d.ts +1 -2
  11. package/dist/nodejs/constants/ethereum.js +1 -2
  12. package/dist/nodejs/constants/ethereum.js.map +1 -1
  13. package/dist/nodejs/constants/metertest.js +1 -1
  14. package/dist/nodejs/constants/sepolia.js +1 -1
  15. package/dist/nodejs/typechain/contracts/CToken/CErc20.d.ts +16 -12
  16. package/dist/nodejs/typechain/contracts/CToken/CEther.d.ts +16 -12
  17. package/dist/nodejs/typechain/contracts/CToken/CToken.d.ts +12 -12
  18. package/dist/nodejs/typechain/contracts/CToken/CTokenStorage.d.ts +1 -9
  19. package/dist/nodejs/typechain/contracts/CToken/SuErc20.d.ts +16 -12
  20. package/dist/nodejs/typechain/contracts/Interfaces/ICToken.d.ts +1 -5
  21. package/dist/nodejs/typechain/contracts/Interfaces/IInterestRateModel.d.ts +5 -1
  22. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/governance/TimelockController__factory.d.ts +1 -1
  23. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/governance/TimelockController__factory.js +1 -1
  24. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/governance/TimelockController__factory.js.map +1 -1
  25. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.d.ts +1 -1
  26. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.js +1 -1
  27. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.js.map +1 -1
  28. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/beacon/BeaconProxy__factory.d.ts +1 -1
  29. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/beacon/BeaconProxy__factory.js +1 -1
  30. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/beacon/BeaconProxy__factory.js.map +1 -1
  31. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon__factory.d.ts +1 -1
  32. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon__factory.js +1 -1
  33. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon__factory.js.map +1 -1
  34. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +1 -1
  35. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.js +1 -1
  36. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.js.map +1 -1
  37. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.d.ts +1 -1
  38. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.js +1 -1
  39. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy__factory.js.map +1 -1
  40. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.d.ts +1 -1
  41. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.js +1 -1
  42. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.js.map +1 -1
  43. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser__factory.d.ts +1 -1
  44. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser__factory.js +1 -1
  45. package/dist/nodejs/typechain/factories/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser__factory.js.map +1 -1
  46. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.d.ts +12 -22
  47. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.js +15 -28
  48. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.js.map +1 -1
  49. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.d.ts +12 -22
  50. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.js +15 -28
  51. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.js.map +1 -1
  52. package/dist/nodejs/typechain/factories/contracts/CToken/CTokenStorage__factory.d.ts +0 -20
  53. package/dist/nodejs/typechain/factories/contracts/CToken/CTokenStorage__factory.js +0 -26
  54. package/dist/nodejs/typechain/factories/contracts/CToken/CTokenStorage__factory.js.map +1 -1
  55. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.d.ts +5 -21
  56. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.js +7 -27
  57. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.js.map +1 -1
  58. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.d.ts +12 -22
  59. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.js +15 -28
  60. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.js.map +1 -1
  61. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.d.ts +1 -1
  62. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.js +1 -1
  63. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.js.map +1 -1
  64. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.d.ts +1 -1
  65. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.js +1 -1
  66. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.js.map +1 -1
  67. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.d.ts +1 -1
  68. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.js +1 -1
  69. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.js.map +1 -1
  70. package/dist/nodejs/typechain/factories/contracts/ERC20/ERC20MinterBurnerPauserPermit__factory.d.ts +1 -1
  71. package/dist/nodejs/typechain/factories/contracts/ERC20/ERC20MinterBurnerPauserPermit__factory.js +1 -1
  72. package/dist/nodejs/typechain/factories/contracts/ERC20/ERC20MinterBurnerPauserPermit__factory.js.map +1 -1
  73. package/dist/nodejs/typechain/factories/contracts/ERC20/ERC20MinterBurnerPauser__factory.d.ts +1 -1
  74. package/dist/nodejs/typechain/factories/contracts/ERC20/ERC20MinterBurnerPauser__factory.js +1 -1
  75. package/dist/nodejs/typechain/factories/contracts/ERC20/ERC20MinterBurnerPauser__factory.js.map +1 -1
  76. package/dist/nodejs/typechain/factories/contracts/InterestRateModel/FixedInterestRateModel__factory.d.ts +1 -1
  77. package/dist/nodejs/typechain/factories/contracts/InterestRateModel/FixedInterestRateModel__factory.js +1 -1
  78. package/dist/nodejs/typechain/factories/contracts/InterestRateModel/FixedInterestRateModel__factory.js.map +1 -1
  79. package/dist/nodejs/typechain/factories/contracts/InterestRateModel/JumpRateModelV2__factory.d.ts +1 -1
  80. package/dist/nodejs/typechain/factories/contracts/InterestRateModel/JumpRateModelV2__factory.js +1 -1
  81. package/dist/nodejs/typechain/factories/contracts/InterestRateModel/JumpRateModelV2__factory.js.map +1 -1
  82. package/dist/nodejs/typechain/factories/contracts/InterestRateModel/WhitePaperInterestRateModel__factory.d.ts +1 -1
  83. package/dist/nodejs/typechain/factories/contracts/InterestRateModel/WhitePaperInterestRateModel__factory.js +1 -1
  84. package/dist/nodejs/typechain/factories/contracts/InterestRateModel/WhitePaperInterestRateModel__factory.js.map +1 -1
  85. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICToken__factory.d.ts +0 -10
  86. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICToken__factory.js +0 -13
  87. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICToken__factory.js.map +1 -1
  88. package/dist/nodejs/typechain/factories/contracts/Interfaces/IInterestRateModel__factory.d.ts +10 -0
  89. package/dist/nodejs/typechain/factories/contracts/Interfaces/IInterestRateModel__factory.js +13 -0
  90. package/dist/nodejs/typechain/factories/contracts/Interfaces/IInterestRateModel__factory.js.map +1 -1
  91. package/dist/nodejs/typechain/factories/contracts/Library/CreateCall__factory.d.ts +1 -1
  92. package/dist/nodejs/typechain/factories/contracts/Library/CreateCall__factory.js +1 -1
  93. package/dist/nodejs/typechain/factories/contracts/Library/CreateCall__factory.js.map +1 -1
  94. package/dist/nodejs/typechain/factories/contracts/Library/RateLimiter__factory.d.ts +1 -1
  95. package/dist/nodejs/typechain/factories/contracts/Library/RateLimiter__factory.js +1 -1
  96. package/dist/nodejs/typechain/factories/contracts/Library/RateLimiter__factory.js.map +1 -1
  97. package/dist/nodejs/typechain/factories/contracts/Multicall2__factory.d.ts +1 -1
  98. package/dist/nodejs/typechain/factories/contracts/Multicall2__factory.js +1 -1
  99. package/dist/nodejs/typechain/factories/contracts/Multicall2__factory.js.map +1 -1
  100. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/WstETHAdapter__factory.d.ts +1 -1
  101. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/WstETHAdapter__factory.js +1 -1
  102. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/WstETHAdapter__factory.js.map +1 -1
  103. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/WstMTRGAdapter__factory.d.ts +1 -1
  104. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/WstMTRGAdapter__factory.js +1 -1
  105. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/WstMTRGAdapter__factory.js.map +1 -1
  106. package/dist/nodejs/typechain/factories/contracts/Oracle/wstMTRGOracle.sol/WstMTRGOracle__factory.d.ts +1 -1
  107. package/dist/nodejs/typechain/factories/contracts/Oracle/wstMTRGOracle.sol/WstMTRGOracle__factory.js +1 -1
  108. package/dist/nodejs/typechain/factories/contracts/Oracle/wstMTRGOracle.sol/WstMTRGOracle__factory.js.map +1 -1
  109. package/dist/nodejs/typechain/factories/contracts/SumerTimelockController__factory.d.ts +1 -1
  110. package/dist/nodejs/typechain/factories/contracts/SumerTimelockController__factory.js +1 -1
  111. package/dist/nodejs/typechain/factories/contracts/SumerTimelockController__factory.js.map +1 -1
  112. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxyAdmin__factory.d.ts +1 -1
  113. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxyAdmin__factory.js +1 -1
  114. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxyAdmin__factory.js.map +1 -1
  115. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxy__factory.d.ts +1 -1
  116. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxy__factory.js +1 -1
  117. package/dist/nodejs/typechain/factories/contracts/proxy/SumerProxy__factory.js.map +1 -1
  118. package/dist/nodejs/typechain/factories/contracts/stake/CommunalFarm__factory.d.ts +1 -1
  119. package/dist/nodejs/typechain/factories/contracts/stake/CommunalFarm__factory.js +1 -1
  120. package/dist/nodejs/typechain/factories/contracts/stake/CommunalFarm__factory.js.map +1 -1
  121. package/dist/nodejs/typechain/factories/contracts/stake/FraxGaugeController.sol/FraxGaugeController__factory.d.ts +1 -1
  122. package/dist/nodejs/typechain/factories/contracts/stake/FraxGaugeController.sol/FraxGaugeController__factory.js +1 -1
  123. package/dist/nodejs/typechain/factories/contracts/stake/FraxGaugeController.sol/FraxGaugeController__factory.js.map +1 -1
  124. package/dist/nodejs/typechain/factories/contracts/stake/FraxGaugeFXSRewardsDistributor__factory.d.ts +1 -1
  125. package/dist/nodejs/typechain/factories/contracts/stake/FraxGaugeFXSRewardsDistributor__factory.js +1 -1
  126. package/dist/nodejs/typechain/factories/contracts/stake/FraxGaugeFXSRewardsDistributor__factory.js.map +1 -1
  127. package/dist/nodejs/typechain/factories/contracts/stake/StakingRewardsMultiGauge__factory.d.ts +1 -1
  128. package/dist/nodejs/typechain/factories/contracts/stake/StakingRewardsMultiGauge__factory.js +1 -1
  129. package/dist/nodejs/typechain/factories/contracts/stake/StakingRewardsMultiGauge__factory.js.map +1 -1
  130. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.d.ts +1 -1
  131. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.js +1 -1
  132. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.js.map +1 -1
  133. package/package.json +1 -1
@@ -14,7 +14,7 @@ export declare namespace CTokenStorage {
14
14
  };
15
15
  }
16
16
  export interface CTokenInterface extends Interface {
17
- getFunction(nameOrSignature: "_acceptAdmin" | "_reduceReserves" | "_setComptroller" | "_setDiscountRate" | "_setInterestRateModel" | "_setPendingAdmin" | "_setReserveFactor" | "_syncUnderlyingBalance" | "accrualBlockNumber" | "accrualBlockTimestamp" | "accrueInterest" | "admin" | "allowance" | "approve" | "balanceOf" | "balanceOfUnderlying" | "borrowAndDepositBack" | "borrowBalanceCurrent" | "borrowBalanceStored" | "borrowIndex" | "borrowRatePerBlock" | "comptroller" | "decimals" | "discountRateMantissa" | "exchangeRateCurrent" | "exchangeRateStored" | "getAccountSnapshot" | "getBorrowSnapshot" | "getCash" | "initAccrualBlockTimestamp" | "interestRateModel" | "isCEther" | "isCEtherDeprecated" | "isCToken" | "isCTokenDeprecated" | "isDeprecated" | "liquidateCalculateSeizeTokens" | "name" | "pendingAdmin" | "percentScale" | "protocolSeizeShareMantissa" | "reserveFactorMantissa" | "seize" | "supplyRatePerBlock" | "symbol" | "totalBorrows" | "totalBorrowsCurrent" | "totalReserves" | "totalSecures" | "totalSupply" | "transfer" | "transferFrom" | "underlying" | "underlyingBalance"): FunctionFragment;
17
+ getFunction(nameOrSignature: "_acceptAdmin" | "_reduceReserves" | "_setComptroller" | "_setDiscountRate" | "_setInterestRateModel" | "_setPendingAdmin" | "_setReserveFactor" | "_syncUnderlyingBalance" | "accrualBlockTimestamp" | "accrueInterest" | "admin" | "allowance" | "approve" | "balanceOf" | "balanceOfUnderlying" | "borrowAndDepositBack" | "borrowBalanceCurrent" | "borrowBalanceStored" | "borrowIndex" | "borrowRatePerBlock" | "comptroller" | "decimals" | "discountRateMantissa" | "exchangeRateCurrent" | "exchangeRateStored" | "getAccountSnapshot" | "getBorrowSnapshot" | "getCash" | "initAccrualBlockTimestamp" | "interestRateModel" | "isCEther" | "isCEtherDeprecated" | "isCToken" | "isCTokenDeprecated" | "isDeprecated" | "liquidateCalculateSeizeTokens" | "name" | "pendingAdmin" | "percentScale" | "protocolSeizeShareMantissa" | "reserveFactorMantissa" | "seize" | "supplyRatePerBlock" | "symbol" | "totalBorrows" | "totalBorrowsCurrent" | "totalReserves" | "totalSupply" | "transfer" | "transferFrom" | "underlying" | "underlyingBalance"): FunctionFragment;
18
18
  getEvent(nameOrSignatureOrTopic: "AccrueInterest" | "Approval" | "Borrow" | "LiquidateBorrow" | "Mint" | "NewAdmin" | "NewComptroller" | "NewDiscountRate" | "NewMarketInterestRateModel" | "NewPendingAdmin" | "NewReserveFactor" | "Redeem" | "RedeemFaceValue" | "RepayBorrow" | "ReservesAdded" | "ReservesReduced" | "Transfer"): EventFragment;
19
19
  encodeFunctionData(functionFragment: "_acceptAdmin", values?: undefined): string;
20
20
  encodeFunctionData(functionFragment: "_reduceReserves", values: [BigNumberish]): string;
@@ -24,7 +24,6 @@ export interface CTokenInterface extends Interface {
24
24
  encodeFunctionData(functionFragment: "_setPendingAdmin", values: [AddressLike]): string;
25
25
  encodeFunctionData(functionFragment: "_setReserveFactor", values: [BigNumberish]): string;
26
26
  encodeFunctionData(functionFragment: "_syncUnderlyingBalance", values?: undefined): string;
27
- encodeFunctionData(functionFragment: "accrualBlockNumber", values?: undefined): string;
28
27
  encodeFunctionData(functionFragment: "accrualBlockTimestamp", values?: undefined): string;
29
28
  encodeFunctionData(functionFragment: "accrueInterest", values?: undefined): string;
30
29
  encodeFunctionData(functionFragment: "admin", values?: undefined): string;
@@ -45,7 +44,7 @@ export interface CTokenInterface extends Interface {
45
44
  encodeFunctionData(functionFragment: "getAccountSnapshot", values: [AddressLike]): string;
46
45
  encodeFunctionData(functionFragment: "getBorrowSnapshot", values: [AddressLike]): string;
47
46
  encodeFunctionData(functionFragment: "getCash", values?: undefined): string;
48
- encodeFunctionData(functionFragment: "initAccrualBlockTimestamp", values?: undefined): string;
47
+ encodeFunctionData(functionFragment: "initAccrualBlockTimestamp", values: [AddressLike]): string;
49
48
  encodeFunctionData(functionFragment: "interestRateModel", values?: undefined): string;
50
49
  encodeFunctionData(functionFragment: "isCEther", values?: undefined): string;
51
50
  encodeFunctionData(functionFragment: "isCEtherDeprecated", values?: undefined): string;
@@ -71,7 +70,6 @@ export interface CTokenInterface extends Interface {
71
70
  encodeFunctionData(functionFragment: "totalBorrows", values?: undefined): string;
72
71
  encodeFunctionData(functionFragment: "totalBorrowsCurrent", values?: undefined): string;
73
72
  encodeFunctionData(functionFragment: "totalReserves", values?: undefined): string;
74
- encodeFunctionData(functionFragment: "totalSecures", values?: undefined): string;
75
73
  encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string;
76
74
  encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string;
77
75
  encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string;
@@ -85,7 +83,6 @@ export interface CTokenInterface extends Interface {
85
83
  decodeFunctionResult(functionFragment: "_setPendingAdmin", data: BytesLike): Result;
86
84
  decodeFunctionResult(functionFragment: "_setReserveFactor", data: BytesLike): Result;
87
85
  decodeFunctionResult(functionFragment: "_syncUnderlyingBalance", data: BytesLike): Result;
88
- decodeFunctionResult(functionFragment: "accrualBlockNumber", data: BytesLike): Result;
89
86
  decodeFunctionResult(functionFragment: "accrualBlockTimestamp", data: BytesLike): Result;
90
87
  decodeFunctionResult(functionFragment: "accrueInterest", data: BytesLike): Result;
91
88
  decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result;
@@ -125,7 +122,6 @@ export interface CTokenInterface extends Interface {
125
122
  decodeFunctionResult(functionFragment: "totalBorrows", data: BytesLike): Result;
126
123
  decodeFunctionResult(functionFragment: "totalBorrowsCurrent", data: BytesLike): Result;
127
124
  decodeFunctionResult(functionFragment: "totalReserves", data: BytesLike): Result;
128
- decodeFunctionResult(functionFragment: "totalSecures", data: BytesLike): Result;
129
125
  decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result;
130
126
  decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
131
127
  decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result;
@@ -523,7 +519,6 @@ export interface CToken extends BaseContract {
523
519
  bigint
524
520
  ], "nonpayable">;
525
521
  _syncUnderlyingBalance: TypedContractMethod<[], [void], "nonpayable">;
526
- accrualBlockNumber: TypedContractMethod<[], [bigint], "view">;
527
522
  accrualBlockTimestamp: TypedContractMethod<[], [bigint], "view">;
528
523
  accrueInterest: TypedContractMethod<[], [bigint], "nonpayable">;
529
524
  admin: TypedContractMethod<[], [string], "view">;
@@ -579,7 +574,11 @@ export interface CToken extends BaseContract {
579
574
  CTokenStorage.BorrowSnapshotStructOutput
580
575
  ], "view">;
581
576
  getCash: TypedContractMethod<[], [bigint], "view">;
582
- initAccrualBlockTimestamp: TypedContractMethod<[], [void], "nonpayable">;
577
+ initAccrualBlockTimestamp: TypedContractMethod<[
578
+ timeBasedInterestRateModel: AddressLike
579
+ ], [
580
+ void
581
+ ], "nonpayable">;
583
582
  interestRateModel: TypedContractMethod<[], [string], "view">;
584
583
  isCEther: TypedContractMethod<[], [boolean], "view">;
585
584
  isCEtherDeprecated: TypedContractMethod<[], [boolean], "view">;
@@ -612,7 +611,6 @@ export interface CToken extends BaseContract {
612
611
  totalBorrows: TypedContractMethod<[], [bigint], "view">;
613
612
  totalBorrowsCurrent: TypedContractMethod<[], [bigint], "nonpayable">;
614
613
  totalReserves: TypedContractMethod<[], [bigint], "view">;
615
- totalSecures: TypedContractMethod<[], [bigint], "view">;
616
614
  totalSupply: TypedContractMethod<[], [bigint], "view">;
617
615
  transfer: TypedContractMethod<[
618
616
  dst: AddressLike,
@@ -654,7 +652,6 @@ export interface CToken extends BaseContract {
654
652
  bigint
655
653
  ], "nonpayable">;
656
654
  getFunction(nameOrSignature: "_syncUnderlyingBalance"): TypedContractMethod<[], [void], "nonpayable">;
657
- getFunction(nameOrSignature: "accrualBlockNumber"): TypedContractMethod<[], [bigint], "view">;
658
655
  getFunction(nameOrSignature: "accrualBlockTimestamp"): TypedContractMethod<[], [bigint], "view">;
659
656
  getFunction(nameOrSignature: "accrueInterest"): TypedContractMethod<[], [bigint], "nonpayable">;
660
657
  getFunction(nameOrSignature: "admin"): TypedContractMethod<[], [string], "view">;
@@ -698,7 +695,11 @@ export interface CToken extends BaseContract {
698
695
  CTokenStorage.BorrowSnapshotStructOutput
699
696
  ], "view">;
700
697
  getFunction(nameOrSignature: "getCash"): TypedContractMethod<[], [bigint], "view">;
701
- getFunction(nameOrSignature: "initAccrualBlockTimestamp"): TypedContractMethod<[], [void], "nonpayable">;
698
+ getFunction(nameOrSignature: "initAccrualBlockTimestamp"): TypedContractMethod<[
699
+ timeBasedInterestRateModel: AddressLike
700
+ ], [
701
+ void
702
+ ], "nonpayable">;
702
703
  getFunction(nameOrSignature: "interestRateModel"): TypedContractMethod<[], [string], "view">;
703
704
  getFunction(nameOrSignature: "isCEther"): TypedContractMethod<[], [boolean], "view">;
704
705
  getFunction(nameOrSignature: "isCEtherDeprecated"): TypedContractMethod<[], [boolean], "view">;
@@ -731,7 +732,6 @@ export interface CToken extends BaseContract {
731
732
  getFunction(nameOrSignature: "totalBorrows"): TypedContractMethod<[], [bigint], "view">;
732
733
  getFunction(nameOrSignature: "totalBorrowsCurrent"): TypedContractMethod<[], [bigint], "nonpayable">;
733
734
  getFunction(nameOrSignature: "totalReserves"): TypedContractMethod<[], [bigint], "view">;
734
- getFunction(nameOrSignature: "totalSecures"): TypedContractMethod<[], [bigint], "view">;
735
735
  getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">;
736
736
  getFunction(nameOrSignature: "transfer"): TypedContractMethod<[
737
737
  dst: AddressLike,
@@ -1,7 +1,7 @@
1
1
  import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
2
2
  import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common";
3
3
  export interface CTokenStorageInterface extends Interface {
4
- getFunction(nameOrSignature: "_acceptAdmin" | "_reduceReserves" | "_setComptroller" | "_setDiscountRate" | "_setInterestRateModel" | "_setPendingAdmin" | "_setReserveFactor" | "accrualBlockNumber" | "accrualBlockTimestamp" | "accrueInterest" | "admin" | "allowance" | "approve" | "balanceOf" | "balanceOfUnderlying" | "borrowBalanceCurrent" | "borrowBalanceStored" | "borrowIndex" | "borrowRatePerBlock" | "comptroller" | "decimals" | "discountRateMantissa" | "exchangeRateCurrent" | "exchangeRateStored" | "getAccountSnapshot" | "getCash" | "interestRateModel" | "isCEtherDeprecated" | "isCTokenDeprecated" | "name" | "pendingAdmin" | "percentScale" | "protocolSeizeShareMantissa" | "reserveFactorMantissa" | "seize" | "supplyRatePerBlock" | "symbol" | "totalBorrows" | "totalBorrowsCurrent" | "totalReserves" | "totalSecures" | "totalSupply" | "transfer" | "transferFrom" | "underlying" | "underlyingBalance"): FunctionFragment;
4
+ getFunction(nameOrSignature: "_acceptAdmin" | "_reduceReserves" | "_setComptroller" | "_setDiscountRate" | "_setInterestRateModel" | "_setPendingAdmin" | "_setReserveFactor" | "accrualBlockTimestamp" | "accrueInterest" | "admin" | "allowance" | "approve" | "balanceOf" | "balanceOfUnderlying" | "borrowBalanceCurrent" | "borrowBalanceStored" | "borrowIndex" | "borrowRatePerBlock" | "comptroller" | "decimals" | "discountRateMantissa" | "exchangeRateCurrent" | "exchangeRateStored" | "getAccountSnapshot" | "getCash" | "interestRateModel" | "isCEtherDeprecated" | "isCTokenDeprecated" | "name" | "pendingAdmin" | "percentScale" | "protocolSeizeShareMantissa" | "reserveFactorMantissa" | "seize" | "supplyRatePerBlock" | "symbol" | "totalBorrows" | "totalBorrowsCurrent" | "totalReserves" | "totalSupply" | "transfer" | "transferFrom" | "underlying" | "underlyingBalance"): FunctionFragment;
5
5
  encodeFunctionData(functionFragment: "_acceptAdmin", values?: undefined): string;
6
6
  encodeFunctionData(functionFragment: "_reduceReserves", values: [BigNumberish]): string;
7
7
  encodeFunctionData(functionFragment: "_setComptroller", values: [AddressLike]): string;
@@ -9,7 +9,6 @@ export interface CTokenStorageInterface extends Interface {
9
9
  encodeFunctionData(functionFragment: "_setInterestRateModel", values: [AddressLike]): string;
10
10
  encodeFunctionData(functionFragment: "_setPendingAdmin", values: [AddressLike]): string;
11
11
  encodeFunctionData(functionFragment: "_setReserveFactor", values: [BigNumberish]): string;
12
- encodeFunctionData(functionFragment: "accrualBlockNumber", values?: undefined): string;
13
12
  encodeFunctionData(functionFragment: "accrualBlockTimestamp", values?: undefined): string;
14
13
  encodeFunctionData(functionFragment: "accrueInterest", values?: undefined): string;
15
14
  encodeFunctionData(functionFragment: "admin", values?: undefined): string;
@@ -49,7 +48,6 @@ export interface CTokenStorageInterface extends Interface {
49
48
  encodeFunctionData(functionFragment: "totalBorrows", values?: undefined): string;
50
49
  encodeFunctionData(functionFragment: "totalBorrowsCurrent", values?: undefined): string;
51
50
  encodeFunctionData(functionFragment: "totalReserves", values?: undefined): string;
52
- encodeFunctionData(functionFragment: "totalSecures", values?: undefined): string;
53
51
  encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string;
54
52
  encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string;
55
53
  encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string;
@@ -62,7 +60,6 @@ export interface CTokenStorageInterface extends Interface {
62
60
  decodeFunctionResult(functionFragment: "_setInterestRateModel", data: BytesLike): Result;
63
61
  decodeFunctionResult(functionFragment: "_setPendingAdmin", data: BytesLike): Result;
64
62
  decodeFunctionResult(functionFragment: "_setReserveFactor", data: BytesLike): Result;
65
- decodeFunctionResult(functionFragment: "accrualBlockNumber", data: BytesLike): Result;
66
63
  decodeFunctionResult(functionFragment: "accrualBlockTimestamp", data: BytesLike): Result;
67
64
  decodeFunctionResult(functionFragment: "accrueInterest", data: BytesLike): Result;
68
65
  decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result;
@@ -95,7 +92,6 @@ export interface CTokenStorageInterface extends Interface {
95
92
  decodeFunctionResult(functionFragment: "totalBorrows", data: BytesLike): Result;
96
93
  decodeFunctionResult(functionFragment: "totalBorrowsCurrent", data: BytesLike): Result;
97
94
  decodeFunctionResult(functionFragment: "totalReserves", data: BytesLike): Result;
98
- decodeFunctionResult(functionFragment: "totalSecures", data: BytesLike): Result;
99
95
  decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result;
100
96
  decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
101
97
  decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result;
@@ -146,7 +142,6 @@ export interface CTokenStorage extends BaseContract {
146
142
  ], [
147
143
  bigint
148
144
  ], "nonpayable">;
149
- accrualBlockNumber: TypedContractMethod<[], [bigint], "view">;
150
145
  accrualBlockTimestamp: TypedContractMethod<[], [bigint], "view">;
151
146
  accrueInterest: TypedContractMethod<[], [bigint], "nonpayable">;
152
147
  admin: TypedContractMethod<[], [string], "view">;
@@ -214,7 +209,6 @@ export interface CTokenStorage extends BaseContract {
214
209
  totalBorrows: TypedContractMethod<[], [bigint], "view">;
215
210
  totalBorrowsCurrent: TypedContractMethod<[], [bigint], "nonpayable">;
216
211
  totalReserves: TypedContractMethod<[], [bigint], "view">;
217
- totalSecures: TypedContractMethod<[], [bigint], "view">;
218
212
  totalSupply: TypedContractMethod<[], [bigint], "view">;
219
213
  transfer: TypedContractMethod<[
220
214
  dst: AddressLike,
@@ -255,7 +249,6 @@ export interface CTokenStorage extends BaseContract {
255
249
  ], [
256
250
  bigint
257
251
  ], "nonpayable">;
258
- getFunction(nameOrSignature: "accrualBlockNumber"): TypedContractMethod<[], [bigint], "view">;
259
252
  getFunction(nameOrSignature: "accrualBlockTimestamp"): TypedContractMethod<[], [bigint], "view">;
260
253
  getFunction(nameOrSignature: "accrueInterest"): TypedContractMethod<[], [bigint], "nonpayable">;
261
254
  getFunction(nameOrSignature: "admin"): TypedContractMethod<[], [string], "view">;
@@ -311,7 +304,6 @@ export interface CTokenStorage extends BaseContract {
311
304
  getFunction(nameOrSignature: "totalBorrows"): TypedContractMethod<[], [bigint], "view">;
312
305
  getFunction(nameOrSignature: "totalBorrowsCurrent"): TypedContractMethod<[], [bigint], "nonpayable">;
313
306
  getFunction(nameOrSignature: "totalReserves"): TypedContractMethod<[], [bigint], "view">;
314
- getFunction(nameOrSignature: "totalSecures"): TypedContractMethod<[], [bigint], "view">;
315
307
  getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">;
316
308
  getFunction(nameOrSignature: "transfer"): TypedContractMethod<[
317
309
  dst: AddressLike,
@@ -14,7 +14,7 @@ export declare namespace CTokenStorage {
14
14
  };
15
15
  }
16
16
  export interface SuErc20Interface extends Interface {
17
- getFunction(nameOrSignature: "_acceptAdmin" | "_addReserves" | "_reduceReserves" | "_setComptroller" | "_setDiscountRate" | "_setInterestRateModel" | "_setPendingAdmin" | "_setReserveFactor" | "_syncUnderlyingBalance" | "accrualBlockNumber" | "accrualBlockTimestamp" | "accrueInterest" | "admin" | "allowance" | "approve" | "balanceOf" | "balanceOfUnderlying" | "borrow" | "borrowAndDepositBack" | "borrowBalanceCurrent" | "borrowBalanceStored" | "borrowIndex" | "borrowRatePerBlock" | "comptroller" | "decimals" | "discountRateMantissa" | "exchangeRateCurrent" | "exchangeRateStored" | "executeRedemption" | "getAccountSnapshot" | "getBorrowSnapshot" | "getCash" | "initAccrualBlockTimestamp" | "initialize" | "interestRateModel" | "isCEther" | "isCEtherDeprecated" | "isCToken" | "isCTokenDeprecated" | "isDeprecated" | "liquidateBorrow" | "liquidateCalculateSeizeTokens" | "mint" | "mintWithPermit" | "name" | "pendingAdmin" | "percentScale" | "protectedMint" | "protocolSeizeShareMantissa" | "redeem" | "redeemUnderlying" | "repayBorrow" | "repayBorrowBehalf" | "repayBorrowWithPermit" | "reserveFactorMantissa" | "seize" | "supplyRatePerBlock" | "sweepToken" | "symbol" | "totalBorrows" | "totalBorrowsCurrent" | "totalReserves" | "totalSecures" | "totalSupply" | "transfer" | "transferFrom" | "underlying" | "underlyingBalance"): FunctionFragment;
17
+ getFunction(nameOrSignature: "_acceptAdmin" | "_addReserves" | "_reduceReserves" | "_setComptroller" | "_setDiscountRate" | "_setInterestRateModel" | "_setPendingAdmin" | "_setReserveFactor" | "_syncUnderlyingBalance" | "accrualBlockTimestamp" | "accrueInterest" | "admin" | "allowance" | "approve" | "balanceOf" | "balanceOfUnderlying" | "borrow" | "borrowAndDepositBack" | "borrowBalanceCurrent" | "borrowBalanceStored" | "borrowIndex" | "borrowRatePerBlock" | "comptroller" | "decimals" | "discountRateMantissa" | "exchangeRateCurrent" | "exchangeRateStored" | "executeRedemption" | "getAccountSnapshot" | "getBorrowSnapshot" | "getCash" | "initAccrualBlockTimestamp" | "initialize" | "initializeVersion2" | "interestRateModel" | "isCEther" | "isCEtherDeprecated" | "isCToken" | "isCTokenDeprecated" | "isDeprecated" | "liquidateBorrow" | "liquidateCalculateSeizeTokens" | "mint" | "mintWithPermit" | "name" | "pendingAdmin" | "percentScale" | "protectedMint" | "protocolSeizeShareMantissa" | "redeem" | "redeemUnderlying" | "repayBorrow" | "repayBorrowBehalf" | "repayBorrowWithPermit" | "reserveFactorMantissa" | "seize" | "supplyRatePerBlock" | "sweepToken" | "symbol" | "totalBorrows" | "totalBorrowsCurrent" | "totalReserves" | "totalSupply" | "transfer" | "transferFrom" | "underlying" | "underlyingBalance"): FunctionFragment;
18
18
  getEvent(nameOrSignatureOrTopic: "AccrueInterest" | "Approval" | "Borrow" | "Initialized" | "LiquidateBorrow" | "Mint" | "NewAdmin" | "NewComptroller" | "NewDiscountRate" | "NewMarketInterestRateModel" | "NewPendingAdmin" | "NewReserveFactor" | "Redeem" | "RedeemFaceValue" | "RepayBorrow" | "ReservesAdded" | "ReservesReduced" | "Transfer"): EventFragment;
19
19
  encodeFunctionData(functionFragment: "_acceptAdmin", values?: undefined): string;
20
20
  encodeFunctionData(functionFragment: "_addReserves", values: [BigNumberish]): string;
@@ -25,7 +25,6 @@ export interface SuErc20Interface extends Interface {
25
25
  encodeFunctionData(functionFragment: "_setPendingAdmin", values: [AddressLike]): string;
26
26
  encodeFunctionData(functionFragment: "_setReserveFactor", values: [BigNumberish]): string;
27
27
  encodeFunctionData(functionFragment: "_syncUnderlyingBalance", values?: undefined): string;
28
- encodeFunctionData(functionFragment: "accrualBlockNumber", values?: undefined): string;
29
28
  encodeFunctionData(functionFragment: "accrualBlockTimestamp", values?: undefined): string;
30
29
  encodeFunctionData(functionFragment: "accrueInterest", values?: undefined): string;
31
30
  encodeFunctionData(functionFragment: "admin", values?: undefined): string;
@@ -55,7 +54,7 @@ export interface SuErc20Interface extends Interface {
55
54
  encodeFunctionData(functionFragment: "getAccountSnapshot", values: [AddressLike]): string;
56
55
  encodeFunctionData(functionFragment: "getBorrowSnapshot", values: [AddressLike]): string;
57
56
  encodeFunctionData(functionFragment: "getCash", values?: undefined): string;
58
- encodeFunctionData(functionFragment: "initAccrualBlockTimestamp", values?: undefined): string;
57
+ encodeFunctionData(functionFragment: "initAccrualBlockTimestamp", values: [AddressLike]): string;
59
58
  encodeFunctionData(functionFragment: "initialize", values: [
60
59
  AddressLike,
61
60
  AddressLike,
@@ -66,6 +65,7 @@ export interface SuErc20Interface extends Interface {
66
65
  BigNumberish,
67
66
  AddressLike
68
67
  ]): string;
68
+ encodeFunctionData(functionFragment: "initializeVersion2", values?: undefined): string;
69
69
  encodeFunctionData(functionFragment: "interestRateModel", values?: undefined): string;
70
70
  encodeFunctionData(functionFragment: "isCEther", values?: undefined): string;
71
71
  encodeFunctionData(functionFragment: "isCEtherDeprecated", values?: undefined): string;
@@ -101,7 +101,6 @@ export interface SuErc20Interface extends Interface {
101
101
  encodeFunctionData(functionFragment: "totalBorrows", values?: undefined): string;
102
102
  encodeFunctionData(functionFragment: "totalBorrowsCurrent", values?: undefined): string;
103
103
  encodeFunctionData(functionFragment: "totalReserves", values?: undefined): string;
104
- encodeFunctionData(functionFragment: "totalSecures", values?: undefined): string;
105
104
  encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string;
106
105
  encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string;
107
106
  encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string;
@@ -116,7 +115,6 @@ export interface SuErc20Interface extends Interface {
116
115
  decodeFunctionResult(functionFragment: "_setPendingAdmin", data: BytesLike): Result;
117
116
  decodeFunctionResult(functionFragment: "_setReserveFactor", data: BytesLike): Result;
118
117
  decodeFunctionResult(functionFragment: "_syncUnderlyingBalance", data: BytesLike): Result;
119
- decodeFunctionResult(functionFragment: "accrualBlockNumber", data: BytesLike): Result;
120
118
  decodeFunctionResult(functionFragment: "accrualBlockTimestamp", data: BytesLike): Result;
121
119
  decodeFunctionResult(functionFragment: "accrueInterest", data: BytesLike): Result;
122
120
  decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result;
@@ -141,6 +139,7 @@ export interface SuErc20Interface extends Interface {
141
139
  decodeFunctionResult(functionFragment: "getCash", data: BytesLike): Result;
142
140
  decodeFunctionResult(functionFragment: "initAccrualBlockTimestamp", data: BytesLike): Result;
143
141
  decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
142
+ decodeFunctionResult(functionFragment: "initializeVersion2", data: BytesLike): Result;
144
143
  decodeFunctionResult(functionFragment: "interestRateModel", data: BytesLike): Result;
145
144
  decodeFunctionResult(functionFragment: "isCEther", data: BytesLike): Result;
146
145
  decodeFunctionResult(functionFragment: "isCEtherDeprecated", data: BytesLike): Result;
@@ -169,7 +168,6 @@ export interface SuErc20Interface extends Interface {
169
168
  decodeFunctionResult(functionFragment: "totalBorrows", data: BytesLike): Result;
170
169
  decodeFunctionResult(functionFragment: "totalBorrowsCurrent", data: BytesLike): Result;
171
170
  decodeFunctionResult(functionFragment: "totalReserves", data: BytesLike): Result;
172
- decodeFunctionResult(functionFragment: "totalSecures", data: BytesLike): Result;
173
171
  decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result;
174
172
  decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
175
173
  decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result;
@@ -583,7 +581,6 @@ export interface SuErc20 extends BaseContract {
583
581
  bigint
584
582
  ], "nonpayable">;
585
583
  _syncUnderlyingBalance: TypedContractMethod<[], [void], "nonpayable">;
586
- accrualBlockNumber: TypedContractMethod<[], [bigint], "view">;
587
584
  accrualBlockTimestamp: TypedContractMethod<[], [bigint], "view">;
588
585
  accrueInterest: TypedContractMethod<[], [bigint], "nonpayable">;
589
586
  admin: TypedContractMethod<[], [string], "view">;
@@ -654,7 +651,11 @@ export interface SuErc20 extends BaseContract {
654
651
  CTokenStorage.BorrowSnapshotStructOutput
655
652
  ], "view">;
656
653
  getCash: TypedContractMethod<[], [bigint], "view">;
657
- initAccrualBlockTimestamp: TypedContractMethod<[], [void], "nonpayable">;
654
+ initAccrualBlockTimestamp: TypedContractMethod<[
655
+ timeBasedInterestRateModel: AddressLike
656
+ ], [
657
+ void
658
+ ], "nonpayable">;
658
659
  initialize: TypedContractMethod<[
659
660
  underlying_: AddressLike,
660
661
  comptroller_: AddressLike,
@@ -667,6 +668,7 @@ export interface SuErc20 extends BaseContract {
667
668
  ], [
668
669
  void
669
670
  ], "nonpayable">;
671
+ initializeVersion2: TypedContractMethod<[], [void], "nonpayable">;
670
672
  interestRateModel: TypedContractMethod<[], [string], "view">;
671
673
  isCEther: TypedContractMethod<[], [boolean], "view">;
672
674
  isCEtherDeprecated: TypedContractMethod<[], [boolean], "view">;
@@ -750,7 +752,6 @@ export interface SuErc20 extends BaseContract {
750
752
  totalBorrows: TypedContractMethod<[], [bigint], "view">;
751
753
  totalBorrowsCurrent: TypedContractMethod<[], [bigint], "nonpayable">;
752
754
  totalReserves: TypedContractMethod<[], [bigint], "view">;
753
- totalSecures: TypedContractMethod<[], [bigint], "view">;
754
755
  totalSupply: TypedContractMethod<[], [bigint], "view">;
755
756
  transfer: TypedContractMethod<[
756
757
  dst: AddressLike,
@@ -793,7 +794,6 @@ export interface SuErc20 extends BaseContract {
793
794
  bigint
794
795
  ], "nonpayable">;
795
796
  getFunction(nameOrSignature: "_syncUnderlyingBalance"): TypedContractMethod<[], [void], "nonpayable">;
796
- getFunction(nameOrSignature: "accrualBlockNumber"): TypedContractMethod<[], [bigint], "view">;
797
797
  getFunction(nameOrSignature: "accrualBlockTimestamp"): TypedContractMethod<[], [bigint], "view">;
798
798
  getFunction(nameOrSignature: "accrueInterest"): TypedContractMethod<[], [bigint], "nonpayable">;
799
799
  getFunction(nameOrSignature: "admin"): TypedContractMethod<[], [string], "view">;
@@ -848,7 +848,11 @@ export interface SuErc20 extends BaseContract {
848
848
  CTokenStorage.BorrowSnapshotStructOutput
849
849
  ], "view">;
850
850
  getFunction(nameOrSignature: "getCash"): TypedContractMethod<[], [bigint], "view">;
851
- getFunction(nameOrSignature: "initAccrualBlockTimestamp"): TypedContractMethod<[], [void], "nonpayable">;
851
+ getFunction(nameOrSignature: "initAccrualBlockTimestamp"): TypedContractMethod<[
852
+ timeBasedInterestRateModel: AddressLike
853
+ ], [
854
+ void
855
+ ], "nonpayable">;
852
856
  getFunction(nameOrSignature: "initialize"): TypedContractMethod<[
853
857
  underlying_: AddressLike,
854
858
  comptroller_: AddressLike,
@@ -861,6 +865,7 @@ export interface SuErc20 extends BaseContract {
861
865
  ], [
862
866
  void
863
867
  ], "nonpayable">;
868
+ getFunction(nameOrSignature: "initializeVersion2"): TypedContractMethod<[], [void], "nonpayable">;
864
869
  getFunction(nameOrSignature: "interestRateModel"): TypedContractMethod<[], [string], "view">;
865
870
  getFunction(nameOrSignature: "isCEther"): TypedContractMethod<[], [boolean], "view">;
866
871
  getFunction(nameOrSignature: "isCEtherDeprecated"): TypedContractMethod<[], [boolean], "view">;
@@ -932,7 +937,6 @@ export interface SuErc20 extends BaseContract {
932
937
  getFunction(nameOrSignature: "totalBorrows"): TypedContractMethod<[], [bigint], "view">;
933
938
  getFunction(nameOrSignature: "totalBorrowsCurrent"): TypedContractMethod<[], [bigint], "nonpayable">;
934
939
  getFunction(nameOrSignature: "totalReserves"): TypedContractMethod<[], [bigint], "view">;
935
- getFunction(nameOrSignature: "totalSecures"): TypedContractMethod<[], [bigint], "view">;
936
940
  getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">;
937
941
  getFunction(nameOrSignature: "transfer"): TypedContractMethod<[
938
942
  dst: AddressLike,
@@ -1,7 +1,7 @@
1
1
  import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
2
2
  import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common";
3
3
  export interface ICTokenInterface extends Interface {
4
- getFunction(nameOrSignature: "_acceptAdmin" | "_reduceReserves" | "_setComptroller" | "_setDiscountRate" | "_setInterestRateModel" | "_setPendingAdmin" | "_setReserveFactor" | "accrualBlockNumber" | "accrualBlockTimestamp" | "accrueInterest" | "allowance" | "approve" | "balanceOf" | "balanceOfUnderlying" | "borrowBalanceCurrent" | "borrowBalanceStored" | "borrowRatePerBlock" | "exchangeRateCurrent" | "exchangeRateStored" | "getAccountSnapshot" | "getCash" | "seize" | "supplyRatePerBlock" | "totalBorrowsCurrent" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment;
4
+ getFunction(nameOrSignature: "_acceptAdmin" | "_reduceReserves" | "_setComptroller" | "_setDiscountRate" | "_setInterestRateModel" | "_setPendingAdmin" | "_setReserveFactor" | "accrualBlockTimestamp" | "accrueInterest" | "allowance" | "approve" | "balanceOf" | "balanceOfUnderlying" | "borrowBalanceCurrent" | "borrowBalanceStored" | "borrowRatePerBlock" | "exchangeRateCurrent" | "exchangeRateStored" | "getAccountSnapshot" | "getCash" | "seize" | "supplyRatePerBlock" | "totalBorrowsCurrent" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment;
5
5
  encodeFunctionData(functionFragment: "_acceptAdmin", values?: undefined): string;
6
6
  encodeFunctionData(functionFragment: "_reduceReserves", values: [BigNumberish]): string;
7
7
  encodeFunctionData(functionFragment: "_setComptroller", values: [AddressLike]): string;
@@ -9,7 +9,6 @@ export interface ICTokenInterface extends Interface {
9
9
  encodeFunctionData(functionFragment: "_setInterestRateModel", values: [AddressLike]): string;
10
10
  encodeFunctionData(functionFragment: "_setPendingAdmin", values: [AddressLike]): string;
11
11
  encodeFunctionData(functionFragment: "_setReserveFactor", values: [BigNumberish]): string;
12
- encodeFunctionData(functionFragment: "accrualBlockNumber", values?: undefined): string;
13
12
  encodeFunctionData(functionFragment: "accrualBlockTimestamp", values?: undefined): string;
14
13
  encodeFunctionData(functionFragment: "accrueInterest", values?: undefined): string;
15
14
  encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string;
@@ -43,7 +42,6 @@ export interface ICTokenInterface extends Interface {
43
42
  decodeFunctionResult(functionFragment: "_setInterestRateModel", data: BytesLike): Result;
44
43
  decodeFunctionResult(functionFragment: "_setPendingAdmin", data: BytesLike): Result;
45
44
  decodeFunctionResult(functionFragment: "_setReserveFactor", data: BytesLike): Result;
46
- decodeFunctionResult(functionFragment: "accrualBlockNumber", data: BytesLike): Result;
47
45
  decodeFunctionResult(functionFragment: "accrualBlockTimestamp", data: BytesLike): Result;
48
46
  decodeFunctionResult(functionFragment: "accrueInterest", data: BytesLike): Result;
49
47
  decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
@@ -108,7 +106,6 @@ export interface ICToken extends BaseContract {
108
106
  ], [
109
107
  bigint
110
108
  ], "nonpayable">;
111
- accrualBlockNumber: TypedContractMethod<[], [bigint], "nonpayable">;
112
109
  accrualBlockTimestamp: TypedContractMethod<[], [bigint], "nonpayable">;
113
110
  accrueInterest: TypedContractMethod<[], [bigint], "nonpayable">;
114
111
  allowance: TypedContractMethod<[
@@ -198,7 +195,6 @@ export interface ICToken extends BaseContract {
198
195
  ], [
199
196
  bigint
200
197
  ], "nonpayable">;
201
- getFunction(nameOrSignature: "accrualBlockNumber"): TypedContractMethod<[], [bigint], "nonpayable">;
202
198
  getFunction(nameOrSignature: "accrualBlockTimestamp"): TypedContractMethod<[], [bigint], "nonpayable">;
203
199
  getFunction(nameOrSignature: "accrueInterest"): TypedContractMethod<[], [bigint], "nonpayable">;
204
200
  getFunction(nameOrSignature: "allowance"): TypedContractMethod<[
@@ -1,13 +1,15 @@
1
1
  import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers";
2
2
  import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common";
3
3
  export interface IInterestRateModelInterface extends Interface {
4
- getFunction(nameOrSignature: "getBorrowRate" | "getSupplyRate" | "isInterestRateModel"): FunctionFragment;
4
+ getFunction(nameOrSignature: "getBorrowRate" | "getSupplyRate" | "isInterestRateModel" | "secondsPerYear"): FunctionFragment;
5
5
  encodeFunctionData(functionFragment: "getBorrowRate", values: [BigNumberish, BigNumberish, BigNumberish]): string;
6
6
  encodeFunctionData(functionFragment: "getSupplyRate", values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]): string;
7
7
  encodeFunctionData(functionFragment: "isInterestRateModel", values?: undefined): string;
8
+ encodeFunctionData(functionFragment: "secondsPerYear", values?: undefined): string;
8
9
  decodeFunctionResult(functionFragment: "getBorrowRate", data: BytesLike): Result;
9
10
  decodeFunctionResult(functionFragment: "getSupplyRate", data: BytesLike): Result;
10
11
  decodeFunctionResult(functionFragment: "isInterestRateModel", data: BytesLike): Result;
12
+ decodeFunctionResult(functionFragment: "secondsPerYear", data: BytesLike): Result;
11
13
  }
12
14
  export interface IInterestRateModel extends BaseContract {
13
15
  connect(runner?: ContractRunner | null): IInterestRateModel;
@@ -38,6 +40,7 @@ export interface IInterestRateModel extends BaseContract {
38
40
  bigint
39
41
  ], "view">;
40
42
  isInterestRateModel: TypedContractMethod<[], [boolean], "view">;
43
+ secondsPerYear: TypedContractMethod<[], [bigint], "view">;
41
44
  getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
42
45
  getFunction(nameOrSignature: "getBorrowRate"): TypedContractMethod<[
43
46
  cash: BigNumberish,
@@ -55,5 +58,6 @@ export interface IInterestRateModel extends BaseContract {
55
58
  bigint
56
59
  ], "view">;
57
60
  getFunction(nameOrSignature: "isInterestRateModel"): TypedContractMethod<[], [boolean], "view">;
61
+ getFunction(nameOrSignature: "secondsPerYear"): TypedContractMethod<[], [bigint], "view">;
58
62
  filters: {};
59
63
  }
@@ -14,7 +14,7 @@ export declare class TimelockController__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): TimelockController__factory;
17
- static readonly bytecode = "0x0004000000000002000e000000000002000000000601034f00000000010600190000006001100270000003230010019d0000032307100197000300000076035500020000000603550000008001000039000000400010043f00000001012001900000004e0000c13d000000040170008c0000005a0000413d000000000106043b000000e001100270000003330210009c0000041a0000613d000003340210009c0000017d0000613d000003350210009c0000046d0000613d000003360210009c000001920000613d000003370210009c000001970000613d000003380210009c000004740000613d000003390210009c000004840000613d0000033a0210009c000001df0000613d0000033b0210009c000001ee0000613d0000033c0210009c0000049b0000613d0000033d0210009c000001f80000613d0000033e0210009c000002020000613d0000033f0210009c000002120000613d000003400210009c0000021c0000613d000003410210009c0000023e0000613d000003420210009c000002450000613d000003430210009c000002da0000613d000003440210009c000002df0000613d000003450210009c000002f80000613d000003460210009c000002fd0000613d000003470210009c000003020000613d000003480210009c0000030d0000613d000003490210009c000003340000613d0000034a0210009c0000036d0000613d0000034b0210009c0000037d0000613d0000034c0210009c000003980000613d0000034d0210009c000004030000613d0000034e0110009c000005120000c13d0000000001000416000000000101004b000004d60000c13d00000002010000390000037b0000013d0000000001000416000000000101004b000005120000c13d0000032401700041000003250110009c0000005e0000213d0000035e0100004100000000001004350000004101000039000000040010043f0000035f0100004100000c8700010430000000000107004b000005120000c13d000000000100001900000c860001042e0000009f017000390000032601100197000000400010043f0000001f0170018f00000005027002720000006d0000613d00000000030000190000000504300210000000000546034f000000000505043b000000800440003900000000005404350000000103300039000000000423004b000000650000413d000000000301004b0000007c0000613d0000000502200210000000000326034f00000003011002100000008002200039000000000402043300000000041401cf000000000414022f000000000303043b0000010001100089000000000313022f00000000011301cf000000000141019f0000000000120435000000800170008c000005120000413d000000800100043d000300000001001d000000a00100043d000003270210009c000005120000213d00000080027000390000008001100039000e00000002001d0c8505cf0000040f000c00000001001d000000c00100043d000003270210009c000005120000213d00000080011000390000000e020000290c8505cf0000040f000400000001001d000000e00100043d000e00000001001d000003280110009c000005120000213d00000329010000410000000000100435000000200000043f000100980000003d00000c230000013d0000032902000041000000000021041b00000323030000410000000001000414000003230210009c0000000001038019000000c0011002100000032a011001c70000800d0200003900000004030000390000032b04000041000003290500004100000329070000410c850bae0000040f0000000101200190000005120000613d0000032c010000410000000000100435000100ac0000003d00000c230000013d0000032902000041000000000021041b0000000001000414000003230210009c0000032301008041000000c0011002100000032a011001c70000800d0200003900000004030000390000032b040000410000032c0500004100000329070000410c850bae0000040f0000000101200190000005120000613d0000032d010000410000000000100435000100bf0000003d00000c230000013d0000032902000041000000000021041b00000323030000410000000001000414000003230210009c0000000001038019000000c0011002100000032a011001c70000800d0200003900000004030000390000032b040000410000032d0500004100000329070000410c850bae0000040f0000000101200190000005120000613d0000032e010000410000000000100435000100d30000003d00000c230000013d0000032902000041000000000021041b0000000001000414000003230210009c0000032301008041000000c0011002100000032a011001c70000800d0200003900000004030000390000032b040000410000032e0500004100000329070000410c850bae0000040f0000000101200190000005120000613d000003290100004100000000001004350000004002000039000b00000002001d00000000010000190c850b8a0000040f0000000002000410000d00000002001d0000000000200435000000200010043f00000000010000190000000b02000029000100f00000003d00000c170000013d0000010e0000c13d00000329010000410000000000100435000000200000043f0000004002000039000b00000002001d00000000010000190c850b8a0000040f0000000d020000290000000000200435000000200010043f00000000010000190000000b02000029000100ff0000003d00000c290000013d00000323010000410000000002000414000003230320009c0000000002018019000000c0012002100000032a011001c70000800d02000039000000040300003900000000070004110000032f0400004100000329050000410000000d060000290c850bae0000040f0000000101200190000005120000613d0000000e0100006b0000012a0000613d0000032901000041000101130000003d00000c6b0000013d000101150000003d00000c170000013d0000012a0000c13d0000032901000041000101190000003d00000c6b0000013d0001011b0000003d00000c290000013d00000323010000410000000002000414000003230320009c0000000002018019000000c0012002100000032a011001c70000800d02000039000000040300003900000000070004110000032f0400004100000329050000410000000e060000290c850bae0000040f0000000101200190000005120000613d0000000c01000029000800200010003d000e00400000003d00090100000000920007800d0000003d000600040000003d0000000001000411000500000001001d00000000020000190000000c010000290000000001010433000000000112004b000005640000813d000d00000002001d00000005012002100000000801100029000a00000001001d0000000001010433000b00000001001d0000032c01000041000101400000003d00000c5d0000013d0000032802200197000b00000002001d000101440000003d00000bdc0000013d000001580000c13d0000032c01000041000101480000003d00000c770000013d0001014a0000003d00000c060000013d0000000001000414000003230210009c0000032301008041000000c0011002100000032a011001c7000000070200002900000006030000290000032f040000410000032c050000410000000b0600002900000005070000290c850bae0000040f0000000101200190000005120000613d0000000c0100002900000000010104330000000d0110006c000005290000a13d0000000a010000290000000001010433000b00000001001d0000032e01000041000101620000003d00000c5d0000013d0000032802200197000b00000002001d000101660000003d00000bdc0000013d0000017a0000c13d0000032e010000410001016a0000003d00000c770000013d0001016c0000003d00000c060000013d0000000001000414000003230210009c0000032301008041000000c0011002100000032a011001c7000000070200002900000006030000290000032f040000410000032e050000410000000b0600002900000005070000290c850bae0000040f0000000101200190000005120000613d0000000d020000290000000102200039000001330000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000200110008c000004d60000413d0000000401600370000000000101043b0000036802100197000000000221004b000004d60000c13d0000000102000039000003690310009c000001900000613d0000036a0210009c000000000200001900000001020060390000036b0110009c00000001022061bf000000010120018f000004710000013d0000000001000416000000000101004b000004d60000c13d0000032901000041000004710000013d00000000010700190c8506060000040f0000032d070000410000000000700435000000200000043f000e00000001001d000d00000002001d000c00000003001d000b00000004001d000a00000005001d000900000006001d0000004002000039000800000002001d00000000010000190c850b8a0000040f0000000000000435000000200010043f00000000010000190000000802000029000101ac0000003d00000c170000013d000001af0000c13d00000000010004110c8507970000040f0000000e010000290000000d020000290000000c030000290000000b040000290000000a0500002900000009060000290c8508970000040f000900000001001d0000000a020000290c850afa0000040f0000000e010000290000000d020000290000000c030000290000000b040000290c850a620000040f000000400100043d000a00000001001d0000000e020000290000000d030000290000000c040000290000000b050000290c850a350000040f0000000a0400002900000000014100490000032302000041000003230340009c00000000040280190000004003400210000003230410009c00000000010280190000006001100210000000000131019f0000000003000414000003230430009c0000000003028019000000c002300210000000000121019f0000032a011001c70000800d0200003900000003030000390000035004000041000000090500002900000000060000190c850bae0000040f0000000101200190000005120000613d0000000901000029000004e40000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000200110008c000004d60000413d0000000401600370000000000101043b0000000000100435000000200000043f000000400200003900000000010000190c850b8a0000040f00000001011000390000037b0000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000200110008c000004d60000413d0000000401600370000000000101043b0c8508920000040f0000047d0000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000200110008c000004d60000413d0000000401600370000000000101043b0c8508750000040f0000047d0000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000400110008c000004d60000413d0000002401600370000000000101043b000003280210009c000005120000213d0000000002000411000000000121004b000004f70000c13d0000000401600370000000000101043b000003960000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000200110008c000004d60000413d0000000401600370000000000101043b0c8508800000040f0000047d0000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000200110008c000004d60000413d0000000401600370000000000301043b00000000010004100000000002000411000000000112004b000004d90000c13d0000000201000039000d00000001001d000000000101041a000000800010043f000e00000003001d000000a00030043f00000323010000410000000002000414000003230320009c0000000002018019000000c00120021000000364011001c70000800d02000039000000010300003900000331040000410c850bae0000040f0000000101200190000005120000613d0000000e010000290000000d02000029000000000012041b000004e50000013d0000000001000416000000000101004b000004d60000c13d00000000010700190c8506060000040f0c8508970000040f000003080000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000c00110008c000004d60000413d0000000401600370000000000101043b000003270210009c000004d60000213d0000002302100039000000000272004b000005120000813d0000000402100039000000000226034f000000000202043b000a00000002001d000003270220009c000005120000213d000900240010003d0000000a0100002900000005011002100000000901100029000000000171004b000005120000213d0000002401600370000000000101043b000003270210009c000004d60000213d0000002302100039000000000272004b000005120000813d0000000402100039000000000226034f000000000202043b000800000002001d000003270220009c000005120000213d000700240010003d000000080100002900000005011002100000000701100029000000000171004b000005120000213d0000004401600370000000000101043b000003270210009c000004d60000213d0000002302100039000000000272004b000005120000813d0000000402100039000000000226034f000000000202043b000600000002001d000003270220009c000005120000213d000500240010003d000000060100002900000005011002100000000501100029000000000171004b000005120000213d000000a401600370000000000101043b000400000001001d0000006401600370000000000101043b000300000001001d00000000010004110c8507430000040f00000008010000290000000a0110006b000000000100001900000001010060390c8509c20000040f0000000a01000029000000060110006c000000000100001900000001010060390c8509c20000040f00000084010000390000000201100367000000000801043b00000009010000290000000a02000029000000070300002900000008040000290000000505000029000000060600002900000003070000290c8508dd0000040f000200000001001d00000004020000290c850a040000040f00000000040000190000000a0140006c000004e50000813d000000050140021000000009031000290000000202000367000000000332034f000000000503043b000003280350009c000005120000213d000d00000005001d000000080340006c000005290000813d0000000701100029000000000112034f000000000101043b000c00000001001d000000050100002900000006020000290000000003040019000e00000004001d0c8509d10000040f00000000040100190000000005020019000000400100043d000b00000001001d0000000d020000290000000c03000029000000030600002900000004070000290c8509910000040f0000000b030000290000000001310049000003230230009c000003230400004100000000030480190000004002300210000003230310009c00000000010480190000006001100210000000000121019f0000000002000414000003230320009c0000000002048019000000c002200210000000000121019f0000032a011001c70000800d0200003900000003030000390000036104000041000102d80000003d00000c540000013d000002a50000c13d000005120000013d0000000001000416000000000101004b000004d60000c13d0000032c01000041000004710000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000400110008c000004d60000413d0000002401600370000000000301043b000003280130009c000005120000213d0000000401600370000000000101043b0000000000100435000000200000043f0000004002000039000e00000002001d0000000001000019000d00000003001d0c850b8a0000040f0000000d02000029000102f50000003d00000bdc0000013d0000000001000019000000010100c039000004710000013d0000000001000416000000000101004b000004d60000c13d000000800000043f000004720000013d0000000001000416000000000101004b000004d60000c13d0000032e01000041000004710000013d0000000001000416000000000101004b000004d60000c13d00000000010700190c8506990000040f0c8508dd0000040f000000400300043d00000000001304350000002002000039000000000103001900000c4d0000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000a00110008c000004d60000413d0000000401600370000000000101043b000003280110009c000005120000213d0000002401600370000000000101043b000003280110009c000005120000213d0000004401600370000000000101043b000003270210009c000004d60000213d000000040110003900000000020700190c8507010000040f00000064010000390000000201100367000000000101043b000003270210009c000004d60000213d000000000200003100000004011000390c8507010000040f00000084010000390000000201100367000000000101043b000003270210009c000004d60000213d000000000200003100000004011000390c85064e0000040f0000036002000041000004800000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000200110008c000004d60000413d000b00000007001d000c0000000603530000000401600370000000000101043b000d00000001001d0000032e010000410000000000100435000000200000043f0000004002000039000e00000002001d00000000010000190c850b8a0000040f0000000002000411000a00000002001d0001034a0000003d00000bdc0000013d000004e80000c13d0000000a010000290c850b260000040f000000400800043d000003550280009c0000000c0200035f0000000b03000029000000540000213d000000000232034f0000008003800039000000400030043f00000042030000390000000009380436000000000300001900000000040900190001035b0000003d00000c100000013d000003590000413d0000000002080433000000000202004b000003660000613d0000000002090433000003560220019700000357022001c700000000002904350000000002080433000000020220008c000005130000813d0000035e0100004100000000001004350000003201000039000000040010043f000000240200003900000000010000190c850b760000040f0000000001000416000000000101004b000004d60000c13d000000040170008a000000200110008c000004d60000413d0000000401600370000000000101043b00000000001004350000000101000039000000200010043f000000400200003900000000010000190c850b8a0000040f000000000101041a000004710000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000400110008c000004d60000413d0000002401600370000000000201043b000003280120009c000005120000213d0000000401600370000000000101043b000e00000001001d0000000000100435000000200000043f000d00000002001d000000400200003900000000010000190c850b8a0000040f0000000101100039000000000101041a00000000020004110c8507eb0000040f0000000e010000290000000d020000290c85084a0000040f000004e50000013d00000000010700190c8506990000040f0000032d090000410000000000900435000000200000043f000500000001001d000800000002001d000400000003001d000700000004001d000300000005001d000600000006001d000e00000007001d000d00000008001d0000004002000039000c00000002001d00000000010000190c850b8a0000040f0000000000000435000000200010043f00000000010000190000000c02000029000103af0000003d00000c170000013d000003b20000c13d00000000010004110c8507970000040f0000000701000029000000080110006b000000000100001900000001010060390c8509c20000040f0000000801000029000000060110006c000000000100001900000001010060390c8509c20000040f0000000501000029000000080200002900000004030000290000000704000029000000030500002900000006060000290000000e070000290000000d080000290c8508dd0000040f000200000001001d0000000e020000290c850afa0000040f0000000004000019000000080140006c000004e30000813d000000050140021000000005031000290000000202000367000000000332034f000000000503043b000003280350009c000005120000213d000000070340006c000005290000813d0000000401100029000000000112034f000000000101043b000d00000001001d000000030100002900000006020000290000000003040019000e00000004001d000c00000005001d0c8509d10000040f0000000003010019000b00000003001d0000000004020019000a00000004001d0000000c010000290000000d020000290c850a620000040f000000400100043d000900000001001d0000000c020000290000000d030000290000000b040000290000000a050000290c850a350000040f00000009030000290000000001310049000003230230009c000003230400004100000000030480190000004002300210000003230310009c00000000010480190000006001100210000000000121019f0000000002000414000003230320009c0000000002048019000000c002200210000000000121019f0000032a011001c70000800d0200003900000003030000390000035004000041000104010000003d00000c540000013d000003c90000c13d000005120000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000a00110008c000004d60000413d0000000401600370000000000101043b000003280110009c000005120000213d0000002401600370000000000101043b000003280110009c000005120000213d0000008401600370000000000101043b000003270210009c000004d60000213d000000040110003900000000020700190c85064e0000040f0000034f02000041000004800000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000bf0110008c000004d60000a13d0000000401600370000000000301043b000003280130009c000005120000213d0000002401600370000000000401043b0000004401600370000000000101043b000003270210009c000004d60000213d0000002302100039000000000272004b000005120000813d0000000402100039000000000226034f000000000502043b000003270250009c000005120000213d00000024021000390000000001250019000000000171004b000005120000213d000000a401600370000000000101043b000e00000001001d0000006401600370000000000101043b000d00000001001d0000000001000411000900000003001d000a00000004001d000c00000005001d000b00000002001d0c8507430000040f00000084010000390000000201100367000000000601043b00000009010000290000000a020000290000000b030000290000000c040000290000000d050000290c8508970000040f000800000001001d0000000e020000290c850a040000040f000000400100043d000700000001001d00000009020000290000000a030000290000000b040000290000000c050000290000000d060000290000000e070000290c8509910000040f000000070400002900000000014100490000032302000041000003230340009c00000000040280190000004003400210000003230410009c00000000010280190000006001100210000000000131019f0000000003000414000003230430009c0000000003028019000000c002300210000000000121019f0000032a011001c70000800d0200003900000003030000390000036104000041000000080500002900000000060000190000050f0000013d0000000001000416000000000101004b000004d60000c13d0000032d01000041000000800010043f0000008001000039000004820000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000200110008c000004d60000413d0000000401600370000000000101043b0c8508850000040f000000000101004b0000000002000019000000010200c039000000400100043d0000000000210435000000200200003900000c4d0000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000800110008c000004d60000413d0000000401600370000000000101043b000003280110009c000005120000213d0000002401600370000000000101043b000003280110009c000005120000213d0000006401600370000000000101043b000003270210009c000004d60000213d000000040110003900000000020700190c85064e0000040f0000036702000041000004800000013d0000000001000416000000000101004b000004d60000c13d000000040170008a000000400110008c000004d60000413d0000000401600370000000000301043b0000002401600370000000000101043b000e00000001001d000003280110009c000005120000213d0000000000300435000000200000043f0000004002000039000c00000002001d0000000001000019000d00000003001d0c850b8a0000040f0000000101100039000000000101041a0000000002000411000b00000002001d0c8507eb0000040f0000000d010000290000000000100435000000200000043f00000000010000190000000c02000029000104bb0000003d00000c7e0000013d0c850b8a0000040f0000000d03000029000000000101041a000000ff01100190000004e50000c13d0000000000300435000000200000043f0000004002000039000c00000002001d0000000001000019000104c70000003d00000c7e0000013d000104c90000003d00000c290000013d00000323010000410000000002000414000003230320009c0000000002018019000000c0012002100000032a011001c70000800d0200003900000004030000390000032f040000410000000d050000290000000e060000290000000b070000290000050f0000013d000000000100001900000000020000190c850b760000040f0000035201000041000000800010043f0000002001000039000000840010043f0000002b01000039000000a40010043f0000036201000041000000c40010043f0000036301000041000005000000013d00000002010000290c850b170000040f0000000001000019000000000200001900000c4d0000013d0000000d01000029000104eb0000003d00000c1b0000013d000000020220008c000005040000813d0000035201000041000000800010043f0000002001000039000000840010043f0000003101000039000000a40010043f0000035301000041000000c40010043f0000035401000041000005000000013d0000035201000041000000800010043f0000002001000039000000840010043f0000002f01000039000000a40010043f0000036501000041000000c40010043f0000036601000041000000e40010043f000000800100003900000084020000390c850b760000040f000000000001041b00000323010000410000000002000414000003230320009c0000000002018019000000c0012002100000032a011001c70000800d02000039000000020300003900000351040000410000000d050000290c850bae0000040f0000000101200190000004e50000c13d00000c5b0000013d00000021028000390000000003020433000003560330019700000358033001c7000000000032043500000041030000390000032e020000410000035c04000041000000010530008c0000052d0000a13d0000000005080433000000000535004b000005290000a13d000105220000003d00000c300000013d00000356077001970000035d05500197000000000557019f0000000000560435000000010330008a00000004022002700000051b0000013d0000035e0100004100000000001004350000003201000039000000570000013d000c00000009001d000d00000008001d000000400500043d000000000202004b000005af0000c13d0000002004500039000a00000004001d0000035a0200004100000000002404350000000003010433000b00000003001d00000020011000390000003702500039000e00000005001d0c8507370000040f0000000b020000290000000e0120002900000037021000390000035b03000041000000000032043500000048021000390000000d010000290000000003010433000d00000003001d0000000c010000290c8507370000040f0000000d020000290000000b0320002900000028023000390000000e01000029000000000021043500000048023000390c85063b0000040f0000035201000041000000400400043d000d00000004001d00000000001404350000002001000039000000040240003900000000001204350000000e010000290000000003010433000e00000003001d0000002401400039000000000031043500000044024000390000000a010000290c8507370000040f0000000e010000290000001f01100039000000200200008a000000000121016f00000044021000390000000d010000290c850b760000040f0000000401000029000b00200010003d000e00400000003d000a800d0000003d000800040000003d0000000001000411000700000001001d000000000200001900000004010000290000000001010433000000000112004b000005930000813d0000000501200210000c00000002001d0000000b011000290000000001010433000d00000001001d0000032d01000041000105780000003d00000c640000013d0000032802200197000d00000002001d0001057c0000003d00000bdc0000013d000005900000c13d0000032d01000041000105800000003d00000c640000013d000105820000003d00000c060000013d0000000001000414000003230210009c0000032301008041000000c0011002100000032a011001c70000000a0200002900000008030000290000032f040000410000032d050000410000000d0600002900000007070000290c850bae0000040f0000000101200190000005120000613d0000000c0200002900000001022000390000056c0000013d00000002010000390000000303000029000000000031041b000000400100043d00000020021000390000000000320435000000000001043500000323020000410000000003000414000003230430009c0000000003028019000003230410009c00000000010280190000004001100210000000c002300210000000000112019f00000330011001c70000800d02000039000000010300003900000331040000410c850bae0000040f0000000101200190000005120000613d000000200100003900000100001004430000012000000443000003320100004100000c860001042e0000004401500039000003590200004100000000002104350000035201000041000000000015043500000024015000390000002002000039000000000021043500000004015000390000000000210435000000640200003900000000010500190c850b760000040f0000032305000041000003230630009c00000000030580190000004003300210000003230640009c00000000040580190000006004400210000000000334019f000003230410009c0000000001058019000000c001100210000000000113019f0c850bae0000040f00000000030100190000006003300270000103230030019d0003000000010355000000010120018f000000000001042d0000001f031000390000036c04000041000000000523004b000000000500001900000000050440190000036c062001970000036c03300197000000000763004b000000000400a019000000000363013f0000036c0330009c000000000405c019000000000304004b000005ff0000613d00000000040104330000036d0340009c000006000000813d00000005054002100000003f03500039000000200600008a000000000663016f000000400300043d0000000006630019000000000736004b00000000070000190000000107004039000003270860009c000006000000213d0000000107700190000006000000c13d000000400060043f000000000043043500000000045100190000002004400039000000000224004b000005ff0000213d00000000020300190000002001100039000000000541004b000005fd0000813d0000000005010433000003280650009c000005ff0000213d00000020022000390000000000520435000005f40000013d0000000001030019000000000001042d00000c5b0000013d0000035e0100004100000000001004350000004101000039000000040010043f0000035f0100004100000c8700010430000000040210008a0000036c030000410000009f0420008c000000000400001900000000040320190000036c02200197000000000502004b00000000030080190000036c0220009c000000000304c019000000000203004b0000063a0000613d00000002060003670000000402600370000000000702043b000003280270009c0000063a0000213d0000002402600370000000000202043b0000004403600370000000000303043b000003270430009c0000063a0000213d00000023043000390000036c05000041000000000814004b000000000800001900000000080580190000036c091001970000036c04400197000000000a94004b0000000005008019000000000494013f0000036c0440009c000000000508c019000000000405004b0000063a0000c13d0000000404300039000000000446034f000000000404043b000003270540009c0000063a0000213d00000024033000390000000005340019000000000115004b0000063a0000213d0000006401600370000000000501043b0000008401600370000000000601043b0000000001070019000000000001042d00000c5b0000013d0000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b00000000020000190000000102004039000003270310009c000006480000213d0000000102200190000006480000c13d000000400010043f000000000001042d0000035e0100004100000000001004350000004101000039000000040010043f0000035f0100004100000c87000104300000001f031000390000036c04000041000000000523004b000000000500001900000000050440190000036c062001970000036c03300197000000000763004b000000000400a019000000000363013f0000036c0330009c000000000405c019000000000304004b000006980000613d0000000205000367000000000315034f000000000303043b0000036d0430009c000006920000813d0000003f04300039000000200600008a000000000664016f000000400400043d0000000006640019000000000746004b00000000070000190000000107004039000003270860009c000006920000213d0000000107700190000006920000c13d000000400060043f000000000434043600000020011000390000000006310019000000000226004b000006980000213d000000000215034f0000001f0130018f0000000505300272000006800000613d000000000600001900000005076002100000000008740019000000000772034f000000000707043b00000000007804350000000106600039000000000756004b000006780000413d000000000601004b0000068f0000613d0000000505500210000000000252034f00000000055400190000000301100210000000000605043300000000061601cf000000000616022f000000000202043b0000010001100089000000000212022f00000000011201cf000000000161019f000000000015043500000000013400190000000000010435000000000001042d0000035e0100004100000000001004350000004101000039000000040010043f0000035f0100004100000c870001043000000c5b0000013d000000040210008a0000036c030000410000009f0420008c000000000400001900000000040320190000036c02200197000000000502004b00000000030080190000036c0220009c000000000304c019000000000203004b000007000000613d00000002070003670000000402700370000000000302043b000003270230009c000007000000213d00000023023000390000036c04000041000000000512004b000000000500001900000000050480190000036c061001970000036c02200197000000000862004b0000000004008019000000000262013f0000036c0220009c000000000405c019000000000204004b000007000000c13d0000000402300039000000000227034f000000000202043b000003270420009c000007000000213d000000240930003900000005032002100000000003930019000000000313004b000007000000213d0000002403700370000000000303043b000003270430009c000007000000213d00000023043000390000036c05000041000000000614004b000000000600001900000000060580190000036c081001970000036c04400197000000000a84004b0000000005008019000000000484013f0000036c0440009c000000000506c019000000000405004b000007000000c13d0000000404300039000000000447034f000000000404043b000003270540009c000007000000213d000000240330003900000005054002100000000005350019000000000515004b000007000000213d0000004405700370000000000505043b000003270650009c000007000000213d00000023065000390000036c08000041000000000a16004b000000000a000019000000000a0880190000036c0b1001970000036c06600197000000000cb6004b00000000080080190000000006b6013f0000036c0660009c00000000080ac019000000000608004b000007000000c13d0000000406500039000000000667034f000000000606043b000003270860009c000007000000213d000000240550003900000005086002100000000008580019000000000118004b000007000000213d00000084017003700000006407700370000000000707043b000000000801043b0000000001090019000000000001042d00000c5b0000013d0000001f031000390000036c04000041000000000523004b000000000500001900000000050440190000036c062001970000036c03300197000000000763004b000000000400a019000000000363013f0000036c0330009c000000000405c019000000000304004b000007360000613d0000000203000367000000000413034f000000000504043b0000036d0450009c000007300000813d00000005065002100000003f04600039000000200700008a000000000774016f000000400400043d0000000007740019000000000847004b00000000080000190000000108004039000003270970009c000007300000213d0000000108800190000007300000c13d000000400070043f000000000054043500000000056100190000002005500039000000000225004b000007360000213d0000002001100039000000000251004b0000072f0000813d000000000213034f000000000202043b00000020044000390000000000240435000007270000013d000000000001042d0000035e0100004100000000001004350000004101000039000000040010043f0000035f0100004100000c870001043000000c5b0000013d0000000004000019000000000534004b000007400000813d00000000052400190000000006140019000000000606043300000000006504350000002004400039000007380000013d00000000012300190000000000010435000000000001042d00060000000000020000032801100197000600000001001d00000000001004350000036e01000041000000200010043f000000400200003900000000010000190001074d0000003d00000c170000013d0000074f0000613d000000000001042d000107510000003d00000c4f0000013d0000036f0220009c000007570000413d0000035e01000041000000000010043500000041010000390000076b0000013d000107590000003d00000bf20000013d0001075b0000003d00000c100000013d000007590000413d00000006080000290000000002080433000000000202004b0000000509000029000007680000613d0000000002090433000003560220019700000357022001c700000000002904350000000002080433000000020220008c0000076e0000813d0000035e0100004100000000001004350000003201000039000000040010043f0000035f0100004100000c870001043000000021028000390000000003020433000003560330019700000358033001c7000000000032043500000041030000390000032c020000410000035c04000041000000010530008c000007840000a13d0000000005080433000000000535004b000007680000a13d0001077d0000003d00000c300000013d00000356077001970000035d05500197000000000575019f0000000000560435000000010330008a0000000402200270000007760000013d000000400300043d000000000202004b000007910000c13d000107890000003d00000c480000013d0000035a020000410001078c0000003d00000bfc0000013d0000035b030000410001078f0000003d00000bcd0000013d000003520100004100000bb80000013d0000000001030019000000440310003900000359020000410000000000230435000003520200004100000bea0000013d00060000000000020000032801100197000600000001001d00000000001004350000037001000041000000200010043f00000040020000390000000001000019000107a10000003d00000c170000013d000007a30000613d000000000001042d000107a50000003d00000c4f0000013d0000036f0220009c000007ab0000413d0000035e0100004100000000001004350000004101000039000007bf0000013d000107ad0000003d00000bf20000013d000107af0000003d00000c100000013d000007ad0000413d00000006080000290000000002080433000000000202004b0000000509000029000007bc0000613d0000000002090433000003560220019700000357022001c700000000002904350000000002080433000000020220008c000007c20000813d0000035e0100004100000000001004350000003201000039000000040010043f0000035f0100004100000c870001043000000021028000390000000003020433000003560330019700000358033001c7000000000032043500000041030000390000032d020000410000035c04000041000000010530008c000007d80000a13d0000000005080433000000000535004b000007bc0000a13d000107d10000003d00000c300000013d00000356077001970000035d05500197000000000575019f0000000000560435000000010330008a0000000402200270000007ca0000013d000000400300043d000000000202004b000007e50000c13d000107dd0000003d00000c480000013d0000035a02000041000107e00000003d00000bfc0000013d0000035b03000041000107e30000003d00000bcd0000013d000003520100004100000bb80000013d0000000001030019000000440310003900000359020000410000000000230435000003520200004100000bea0000013d0006000000000002000600000002001d000400000001001d0000000000100435000000200000043f0000004002000039000500000002001d00000000010000190c850b8a0000040f00000006020000290000032802200197000600000002001d0000000000200435000000200010043f00000000010000190000000502000029000107fd0000003d00000c170000013d000007ff0000613d000000000001042d000108010000003d00000c4f0000013d0000036f0220009c000008070000413d0000035e01000041000000000010043500000041010000390000081c0000013d000108090000003d00000bf20000013d0001080b0000003d00000c100000013d000008090000413d00000006080000290000000002080433000000000202004b00000004070000290000000509000029000008190000613d0000000002090433000003560220019700000357022001c700000000002904350000000002080433000000020220008c0000081f0000813d0000035e0100004100000000001004350000003201000039000000040010043f0000035f0100004100000c870001043000000021028000390000000003020433000003560330019700000358033001c7000000000032043500000041020000390000035c03000041000000010420008c000008370000a13d0000000004080433000000000424004b000008190000a13d0000000304700210000000780440018f00000000044301cf0000000005920019000000000605043300000356066001970000035d04400197000000000464019f0000000000450435000000010220008a0000000407700270000008260000013d000000400300043d000000000207004b000008440000c13d0001083c0000003d00000c480000013d0000035a020000410001083f0000003d00000bfc0000013d0000035b03000041000108420000003d00000bcd0000013d000003520100004100000bb80000013d0000000001030019000000440310003900000359020000410000000000230435000003520200004100000bea0000013d0004000000000002000300000002001d000400000001001d0001084f0000003d00000c400000013d0000032802200197000300000002001d0000000000200435000000200010043f00000000010000190000000202000029000108570000003d00000c170000013d000008730000613d00000004010000290001085b0000003d00000c400000013d0000000000200435000000200010043f000000000100001900000002020000290c850b8a0000040f000001000200008a000000000301041a000000000223016f000000000021041b00000323010000410000000002000414000003230320009c0000000002018019000000c0012002100000032a011001c70000800d02000039000000040300003900000000070004110000037104000041000000040500002900000003060000290c850bae0000040f0000000101200190000008740000613d000000000001042d00000c5b0000013d00000000001004350000000101000039000000200010043f000000400200003900000000010000190c850b8a0000040f000000000101041a000000000101004b0000000001000019000000010100c039000000000001042d0001000000000002000108830000003d00000c360000013d0000000101002039000000000001042d0002000000000002000108880000003d00000c1b0000013d000000020120008c0000000001000019000008900000413d000200000002001d0c850b9f0000040f000000020110006b0000000001000019000000010100a039000000010110018f000000000001042d0001000000000002000108950000003d00000c360000013d0000000101006039000000000001042d000000400700043d0000006008700039000000a009000039000000000098043500000040087000390000000000280435000000c00270003900000000004204350000032802100197000000200170003900000000002104350000001f0840018f000000e00270003900000002033003670000000509400272000008b00000613d000000000a000019000000050ba00210000000000cb20019000000000bb3034f000000000b0b043b0000000000bc0435000000010aa00039000000000b9a004b000008a80000413d000000000a08004b000008bf0000613d0000000509900210000000000393034f00000000099200190000000308800210000000000a090433000000000a8a01cf000000000a8a022f000000000303043b0000010008800089000000000383022f00000000038301cf0000000003a3019f000000000039043500000000024200190000000000020435000000a002700039000000000062043500000080027000390000000000520435000000df02400039000000200300008a000000000232016f0000000000270435000000ff02400039000000000332016f0000000002730019000000000332004b00000000030000190000000103004039000003270420009c000008d70000213d0000000103300190000008d70000c13d000000400020043f00000000020704330c850b8a0000040f000000000001042d0000035e0100004100000000001004350000004101000039000000040010043f0000035f0100004100000c87000104300006000000000002000200000008001d000300000007001d000600000006001d000500000005001d0000000009010019000000400500043d000000c00150003900000000002104350000002006500039000000a001000039000100000006001d0000000000160435000400000005001d000000e00a500039000000020b0003670000000007000019000000000127004b000000200ca00039000008fa0000813d00000000019b034f000000000101043b000003280810009c0000098a0000213d00000000001a043500000001077000390000002009900039000000000a0c0019000008ee0000013d000000040200002900000000012a0049000000200110008a0000004002200039000000000012043500000000004a0435000003720140009c0000098a0000813d00000373024001980000090e0000613d00000000033b034f0000000007000019000000050170021000000000081c0019000000000113034f000000000101043b00000000001804350000000107700039000000000127004b000009060000413d0000000501400210000000000200004b000009110000613d00000000061a0019000000040200002900000000012600490000006003200039000000000013043500000020016000390000000602000029000000000021043500000040036000390000000501200210000000000f1300190000000004000031000000050d0000290000000001d400490000001f0910008a0000036c0c000041000000000e0000190000000601e0006c0000096f0000813d00000000016f0049000000400110008a00000000031304360000000001db034f000000000701043b000000000197004b000000000100001900000000010c40190000036c089001970000036c0a70019700000000028a004b000000000200001900000000020c201900000000088a013f0000036c0880009c000000000201c019000000000102004b0000098a0000613d000000050170002900000000021b034f000000000a02043b0000032702a0009c0000098a0000213d00000020071000390000000001a40049000000000217004b000000000200001900000000020c20190000036c011001970000036c08700197000000000518004b000000000500001900000000050c4019000000000118013f0000036c0110009c000000000502c019000000000105004b0000098a0000c13d00000000077b034f000000000faf04360000000508a00272000009570000613d0000000001000019000000050210021000000000052f0019000000000227034f000000000202043b00000000002504350000000101100039000000000281004b0000094f0000413d0000001f01a00190000009660000613d0000000502800210000000000527034f00000000022f00190000000301100210000000000702043300000000071701cf000000000717022f000000000505043b0000010001100089000000000515022f00000000011501cf000000000171019f00000000001204350000001f01a00039000000200200008a000000000121016f0000000002fa00190000000000020435000000000ff10019000000010ee00039000000200dd00039000009220000013d0000000403000029000000a0013000390000000202000029000000000021043500000080013000390000000302000029000000000021043500000000013f0049000000200210008a00000000002304350000001f01100039000000200200008a000000000221016f0000000001320019000000000221004b00000000020000190000000102004039000003270310009c0000098b0000213d00000001022001900000098b0000c13d000000400010043f0000000401000029000000000201043300000001010000290c850b8a0000040f000000000001042d00000c5b0000013d0000035e0100004100000000001004350000004101000039000000040010043f0000035f0100004100000c87000104300000004008100039000000a009000039000000000098043500000020081000390000000000380435000000a0031000390000000000530435000003280220019700000000002104350000001f0350018f000000c00210003900000002044003670000000508500272000009a80000613d0000000009000019000000050a900210000000000ba20019000000000aa4034f000000000a0a043b0000000000ab04350000000109900039000000000a89004b000009a00000413d000000000903004b000009b70000613d0000000508800210000000000484034f00000000088200190000000303300210000000000908043300000000093901cf000000000939022f000000000404043b0000010003300089000000000434022f00000000033401cf000000000393019f00000000003804350000000003520019000000000003043500000080031000390000000000730435000000600110003900000000006104350000001f01500039000000200300008a000000000131016f0000000001210019000000000001042d000000000101004b000009c50000613d000000000001042d000000400100043d000000640210003900000374030000410000000000320435000000440210003900000375030000410000000000320435000000240210003900000023030000390000000000320435000003520200004100000be40000013d000000000223004b000009fe0000813d00000005023002100000000004120019000000000300003100000000021300490000001f0520008a0000000202000367000000000442034f000000000404043b0000036c06000041000000000754004b000000000700001900000000070640190000036c055001970000036c08400197000000000958004b000000000600a019000000000558013f0000036c0550009c000000000607c019000000000506004b000009fd0000613d0000000001140019000000000212034f000000000202043b000003270420009c000009fd0000213d000000000323004900000020011000390000036c04000041000000000531004b000000000500001900000000050420190000036c033001970000036c06100197000000000736004b0000000004008019000000000336013f0000036c0330009c000000000405c019000000000304004b000009fd0000c13d000000000001042d00000c5b0000013d0000035e0100004100000000001004350000003201000039000000040010043f0000035f0100004100000c87000104300003000000000002000300000002001d00010a080000003d00000c1b0000013d000000000202004b00000a190000c13d000200000001001d0000000201000039000000000101041a000000030110006c00000a230000213d0c850b9f0000040f0000000302100029000000000112004b00000000010000190000000101004039000000010110019000000a2f0000c13d0000000201000029000000000021041b000000000001042d000000400100043d00000064021000390000037603000041000000000032043500000044021000390000037703000041000000000032043500000024021000390000002f0300003900000a2c0000013d000000400100043d000000640210003900000378030000410000000000320435000000440210003900000379030000410000000000320435000000240210003900000026030000390000000000320435000003520200004100000be40000013d0000035e0100004100000000001004350000001101000039000000040010043f0000035f0100004100000c87000104300000004006100039000000600700003900000000007604350000002006100039000000000036043500000060031000390000000000530435000003280220019700000000002104350000001f0250018f00000080011000390000000203400367000000050450027200000a4c0000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000746004b00000a440000413d000000000602004b00000a5b0000613d0000000504400210000000000343034f00000000044100190000000302200210000000000604043300000000062601cf000000000626022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000262019f0000000000240435000000000251001900000000000204350000001f02500039000000200300008a000000000232016f0000000001120019000000000001042d000000000703001900000000060200190000000005010019000000400300043d0000001f0140018f0000000202700367000000050740027200000a730000613d00000000080000190000000509800210000000000a930019000000000992034f000000000909043b00000000009a04350000000108800039000000000978004b00000a6b0000413d000000000801004b00000a820000613d0000000507700210000000000272034f00000000077300190000000301100210000000000807043300000000081801cf000000000818022f000000000202043b0000010001100089000000000212022f00000000011201cf000000000181019f00000000001704350000000001430019000000000001043500000001010000390000000002000414000000040750008c00000aa70000613d000000000106004b00000aa40000613d0000032301000041000003230740009c00000000040180190000006004400210000003230730009c00000000030180190000004003300210000000000343019f000003230420009c0000000002018019000000c001200210000000000131019f0000032a011001c700008009020000390000000003060019000000000405001900000000050000190c850bae0000040f000000000301034f000000010120018f000300000003035500000000020300190000006002200270000103230020019d000003230220019700000aa80000013d000000000102001900000000020500190c8505bc0000040f0000000102000031000000000302004b00000ad60000613d0000036d0320009c00000ad90000813d0000003f03200039000000200400008a000000000343016f000000400400043d0000000003340019000000000543004b00000000050000190000000105004039000003270630009c00000ad90000213d000000010550019000000ad90000c13d000000400030043f0000001f0320018f00000000042404360000000305000367000000050220027200000ac70000613d000000000600001900000005076002100000000008740019000000000775034f000000000707043b00000000007804350000000106600039000000000726004b00000abf0000413d000000000603004b00000ad60000613d0000000502200210000000000525034f00000000022400190000000303300210000000000402043300000000043401cf000000000434022f000000000505043b0000010003300089000000000535022f00000000033501cf000000000343019f0000000000320435000000000101004b00000adf0000613d000000000001042d0000035e0100004100000000001004350000004101000039000000040010043f0000035f0100004100000c8700010430000000400100043d00000064021000390000037a03000041000000000032043500000044021000390000037b030000410000000000320435000000240210003900000033030000390000000000320435000003520200004100000be40000013d000000000101004b00000aee0000613d000000000001042d000000400100043d00000064021000390000037c03000041000000000032043500000044021000390000037d03000041000000000032043500000024021000390000002a030000390000000000320435000003520200004100000be40000013d0001000000000002000100000002001d0c8508850000040f0c850aeb0000040f0000000102000029000000000102004b00000b0a0000613d00000000002004350000000101000039000000200010043f000000400200003900000000010000190c850b8a0000040f000000000101041a000000010110008c00000b0b0000c13d000000000001042d000000400100043d00000064021000390000037e03000041000000000032043500000044021000390000037f030000410000000000320435000000240210003900000026030000390000000000320435000003520200004100000be40000013d0001000000000002000100000001001d0c8508850000040f0c850aeb0000040f000000010100002900000000001004350000000101000039000100000001001d000000200010043f000000400200003900000000010000190c850b8a0000040f0000000102000029000000000021041b000000000001042d0000000002010019000000400100043d000003800310009c00000b640000813d0000006003100039000000400030043f0000002a03000039000000000331043600000000040000310000000204400367000000000500001900000000060300190000000507500210000000000774034f000000000707043b00000000067604360000000105500039000000020750008c00000b320000413d0000000004010433000000000404004b00000b5e0000613d0000000004030433000003560440019700000357044001c700000000004304350000000004010433000000020440008c00000b5e0000413d00000021041000390000000005040433000003560550019700000358055001c7000000000054043500000029040000390000035c05000041000000010640008c00000b5b0000a13d0000000006010433000000000646004b00000b5e0000a13d0000000306200210000000780660018f00000000066501cf0000000007340019000000000807043300000356088001970000035d06600197000000000668019f0000000000670435000000010440008a000000040220027000000b4a0000013d000000000202004b00000b680000c13d000000000001042d0000035e0100004100000000001004350000003201000039000000040010043f0000035f0100004100000c87000104300000035e010000410000000000100435000000410100003900000b610000013d000000400100043d000000440210003900000359030000410000000000320435000003520200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000000000032043500000064020000390c850b760000040f000000000001042f0000032303000041000003230420009c0000000002038019000003230410009c000000000103801900000040011002100000006002200210000000000112019f00000c87000104300000032304000041000003230520009c0000000002048019000003230510009c000000000104801900000040011002100000006002200210000000000112019f000000e002300210000000000121019f00000c860001042e0000032303000041000003230410009c00000000010380190000004001100210000003230420009c00000000020380190000006002200210000000000112019f0000000002000414000003230420009c0000000002038019000000c002200210000000000112019f0000032a011001c700008010020000390c850bb30000040f000000010220019000000b9e0000613d000000000101043b000000000001042d00000c5b0000013d0000038101000041000000000010043900000323010000410000000002000414000003230320009c0000000002018019000000c00120021000000382011001c70000800b020000390c850bb30000040f000000010220019000000bad0000613d000000000101043b000000000001042d000000000001042f00000bb1002104210000000102000039000000000001042d0000000002000019000000000001042d00000bb6002104230000000102000039000000000001042d0000000002000019000000000001042d000000400400043d000600000004001d000000000014043500000020010000390000000402400039000000000012043500000004010000290000000003010433000500000003001d00000024014000390000000000310435000000440240003900000002010000290c8507370000040f00000005010000290000001f01100039000000200200008a000000000121016f000000440210003900000006010000290c850b760000040f0000000000320435000000480210003900000006010000290000000003010433000600000003001d00000005010000290c8507370000040f0000000602000029000000030320002900000028023000390000000401000029000000000021043500000048023000390c85063b0000040f000000010000013b0000000000200435000000200010043f00000000010000190000000e020000290c850b8a0000040f000000000101041a000000ff01100190000000010000013b000000000021043500000004021000390000002003000039000000000032043500000084020000390c850b760000040f00000000002104350000002403100039000000200200003900000000002304350000000403100039000000000023043500000064020000390c850b760000040f00000006030000290000008002300039000000400020043f00000042020000390000000004230436000000000200003100000002022003670000000003000019000500000004001d000000010000013b00000000002304350000000003010433000300000003001d000000200110003900000037024000390c8507370000040f000000030200002900000004012000290000003702100039000000010000013b0000000000200435000000200010043f00000000010000190000000e020000290c850b8a0000040f000000000201041a000000090220017f00000001022001bf000000000021041b000000010000013b0000000505300210000000000552034f000000000505043b00000000045404360000000103300039000000030530008c000000010000013b0c850b8a0000040f000000000101041a000000ff01100190000000010000013b00000000001004350000000101000039000000200010043f000000400200003900000000010000190c850b8a0000040f000000000201041a000000010000013b000000400200003900000000010000190c850b8a0000040f0000000101100039000000000601041a000000010000013b0c850b8a0000040f000001000200008a000000000301041a000000000223016f00000001022001bf000000000021041b000000010000013b0000000305200210000000780550018f00000000055401cf00000000069300190000000007060433000000010000013b00000000001004350000000101000039000000200010043f000000400200003900000000010000190c850b8a0000040f000000000101041a000000010110008c0000000001000019000000010000013b0000000000100435000000200000043f0000004002000039000200000002001d00000000010000190c850b8a0000040f0000000302000029000000010000013b0000000004030019000400000004001d0000002003400039000200000003001d000000010000013b00000000030000190c850b7f0000040f00000006010000290c850b260000040f000000400200043d000600000002001d000000010000013b00000002050000290000000e060000290c850bae0000040f0000000e0400002900000001044000390000000101200190000000010000013b000000000100001900000c87000104300000000000100435000000200000043f00000000010000190000000e020000290c850b8a0000040f0000000b02000029000000010000013b0000000000100435000000200000043f00000000010000190000000e020000290c850b8a0000040f0000000d02000029000000010000013b0000000000100435000000200000043f0000004002000039000d00000002001d00000000010000190c850b8a0000040f0000000e020000290000000000200435000000200010043f00000000010000190000000d02000029000000010000013b0000000000100435000000200000043f00000000010000190000000e020000290c850b8a0000040f0000000b02000029000000010000013b0c850b8a0000040f0000000e020000290000000000200435000000200010043f00000000010000190000000c02000029000000010000013b00000c850000043200000c860001042e00000c8700010430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009fffffffffffffffffffffffffffffffffffffffffffffffff000000000000007f00000000000000000000000000000000000000000000000000000001ffffffe0000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000ffffffffffffffffffffffffffffffffffffffff5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca50200000000000000000000000000000000000000000000000000000000000000bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ffb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7832f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d020000000000000000000000000000000000004000000000000000000000000011c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d500000002000000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000000000000000000000001d5062a0000000000000000000000000000000000000000000000000000000001ffc9a70000000000000000000000000000000000000000000000000000000007bd0265000000000000000000000000000000000000000000000000000000000d3cf6fc00000000000000000000000000000000000000000000000000000000134008d30000000000000000000000000000000000000000000000000000000013bc9f2000000000000000000000000000000000000000000000000000000000150b7a0200000000000000000000000000000000000000000000000000000000248a9ca3000000000000000000000000000000000000000000000000000000002ab0f529000000000000000000000000000000000000000000000000000000002f2ff15d0000000000000000000000000000000000000000000000000000000031d507500000000000000000000000000000000000000000000000000000000036568abe00000000000000000000000000000000000000000000000000000000584b153e0000000000000000000000000000000000000000000000000000000064d62353000000000000000000000000000000000000000000000000000000008065657f000000000000000000000000000000000000000000000000000000008f2a0bb0000000000000000000000000000000000000000000000000000000008f61f4f50000000000000000000000000000000000000000000000000000000091d1485400000000000000000000000000000000000000000000000000000000a217fddf00000000000000000000000000000000000000000000000000000000b08e51c000000000000000000000000000000000000000000000000000000000b1c5f42700000000000000000000000000000000000000000000000000000000bc197c8100000000000000000000000000000000000000000000000000000000c4d252f500000000000000000000000000000000000000000000000000000000d45c443500000000000000000000000000000000000000000000000000000000d547741f00000000000000000000000000000000000000000000000000000000e38335e500000000000000000000000000000000000000000000000000000000f23a6e6100000000000000000000000000000000000000000000000000000000f27a0c92f23a6e6100000000000000000000000000000000000000000000000000000000c2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58baa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7008c379a00000000000000000000000000000000000000000000000000000000054696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616e6e6f742062652063616e63656c6c6564000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff30000000000000000000000000000000000000000000000000000000000000007800000000000000000000000000000000000000000000000000000000000000537472696e67733a20686578206c656e67746820696e73756666696369656e74416363657373436f6e74726f6c3a206163636f756e7420000000000000000000206973206d697373696e6720726f6c652000000000000000000000000000000030313233343536373839616263646566000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000bc197c81000000000000000000000000000000000000000000000000000000004cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742062652074696d656c6f636b0000000000000000000000000000000000000000000200000000000000000000000000000000000040000000800000000000000000416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c660000000000000000000000000000000000150b7a0200000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000004e2312e00000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000007965db0b00000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000003412d5605ac6cd444957cedb533e5dacad6378b4bc819ebe3652188a665066d5000000000000000000000000000000000000000000000000ffffffffffffff80dae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d7069f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b080000000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff746368000000000000000000000000000000000000000000000000000000000054696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d617265616479207363686564756c6564000000000000000000000000000000000054696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c2064656c6179000000000000000000000000000000000000000000000000000054696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e7472616e73616374696f6e2072657665727465640000000000000000000000000054696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e672074206e6f742072656164790000000000000000000000000000000000000000000054696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2069736e64656e6379000000000000000000000000000000000000000000000000000054696d656c6f636b436f6e74726f6c6c65723a206d697373696e672064657065000000000000000000000000000000000000000000000000ffffffffffffffa0796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d95539132020000020000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000008ed3a410258d09c503623f012e063ea8afd63e35a7ce803eeb11cbf7648f3f66";
17
+ static readonly bytecode = "0x604060808152346200041b576200224590813803806200001f8162000420565b93843982016080838203126200041b578251602080850151919490916001600160401b03908181116200041b57846200005a91840162000471565b93858301519182116200041b576200007b6060916200008393850162000471565b92016200045c565b7f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca56000948186528585526001928388882001918383549355837fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9381858b80a4848080868b8d887fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc194859283855284200192848454945580a4868b8d7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e639889835283868385200181815491558b838680a47ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78395869283855284200192848454945580a4868b528b8b20308c528a528a8c60ff9889828420541615620003e4575b6001600160a01b03978816918d836200038f575b8493509150865b6200029c575b50909550505050505b62000214575b887f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5818a8d8b816002558351928352820152a151611cf09081620005358239f35b85518110156200029657906200025682826200023288958a62000509565b5116858b528a8a528b8b20818c528a52868c8c205416156200025e575b50620004e3565b9091620001cd565b858b528a8a528b8b20818c528a528b8b20805460ff191686179055339086600080516020620022258339815191528d80a4386200024f565b620001d3565b875184101562000389579083929189620002bb6200030e968b62000509565b511686845283835281842081855283528c82852054161562000351575b5089620002e6858b62000509565b51169187845283815281842083855281528c82852054161562000318575b50505050620004e3565b8b8b8e86620001be565b878452838152818420908385525282208760ff198254161790558560008051602062002225833981519152339380a48c388f8e62000304565b8684528383528184208185528352818420805460ff19168a179055339087600080516020620022258339815191528680a438620002d8565b620001c4565b8490838252528d81852090848652528d8b8286205416620001b7578285528490528084208385528e528320805460ff1916871790553392600080516020620022258339815191529080a48a38808e8d620001b7565b808352828d528183203084528d528183208660ff19825416179055333082600080516020620022258339815191528680a4620001a3565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200044657604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200041b57565b81601f820112156200041b578051916001600160401b03831162000446578260051b6020928380620004a581850162000420565b8097815201928201019283116200041b578301905b828210620004c9575050505090565b838091620004d7846200045c565b815201910190620004ba565b6000198114620004f35760010190565b634e487b7160e01b600052601160045260246000fd5b80518210156200051e5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfe608060405260048036101561001d575b50361561001b57600080fd5b005b600090813560e01c9082826301d5062a14610daa5750816301ffc9a714610d3a57816307bd026514610d115781630d3cf6fc14610cd6578163134008d314610c3457816313bc9f2014610c16578163150b7a0214610bc0578163248a9ca314610b945781632ab0f52914610b675781632f2ff15d14610ab857816331d5075014610a8c57816336568abe146109fb578163584b153e146109c457816364d62353146109165781638065657f146108f65781638f2a0bb0146107ce5781638f61f4f51461079357816391d148541461074a578163a217fddf1461072e578163b08e51c0146106f3578163b1c5f427146106c8578163bc197c811461063d578163c4d252f51461035a578163d45c443514610330578163d547741f146102f1578163e38335e5146101da578163f23a6e611461017c575063f27a0c920361000f57346101795780600319360112610179576020600254604051908152f35b80fd5b9050346101d65760a03660031901126101d657610197610e53565b506101a0610e6e565b506084356001600160401b0381116101d2576101bf9250369101610f6c565b5060405163f23a6e6160e01b8152602090f35b8280fd5b5080fd5b8261024d60ff6040610246846101ef36610fe3565b92848688849f989c979a9e8f90859f8e899f600080516020611c9b833981519152909a999a5280602052818120818052602052205416156102e3575b6102368483146117aa565b6102418683146117aa565b611634565b9788611ac7565b875b818110610263578861026089611b5d565b80f35b8080897fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5889896102d66102bd868f6102b6828f928f908f6102de9f6102ab916102b093611827565b61184d565b97611827565b3595611861565b906102ca828287876119b9565b60405194859485611992565b0390a3611802565b61024f565b6102ec336112cf565b61022b565b9050346101d65760403660031901126101d6576102609035610311610e6e565b908084528360205261032b6001604086200154339061140e565b611526565b9050346101d65760203660031901126101d657602091604091358152600183522054604051908152f35b9050346101d6576020806003193601126101d2578135917ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78380855284835260408520338652835260ff6040862054161561045d57506103c783600052600160205260016040600020541190565b156104015750600190828452528160408120557fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb708280a280f35b6084916040519162461bcd60e51b8352820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152fd5b8461046733611b8c565b916040519061047582610eff565b6042825285820192606036853782511561062a57603084538251906001918210156106175790607860218501536041915b8183116105ac5750505061056a576044939291610538604861055c936040519384916105298b84019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a526105008d82519283916037890191016110aa565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906110aa565b01036028810184520182610f30565b60405195869462461bcd60e51b8652850152518092816024860152858501906110aa565b601f01601f19168101030190fd5b60648486806040519262461bcd60e51b845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015610604576f181899199a1a9b1b9c1cb0b131b232b360811b901a6105dc8587611b7b565b53871c9280156105f1576000190191906104a6565b634e487b7160e01b825260118852602482fd5b634e487b7160e01b835260328952602483fd5b634e487b7160e01b815260328752602490fd5b634e487b7160e01b815260328652602490fd5b9050346101d65760a03660031901126101d657610658610e53565b50610661610e6e565b506001600160401b036044358181116106c4576106819036908401611044565b506064358181116106c4576106999036908401611044565b506084359081116101d2576106b19250369101610f6c565b5060405163bc197c8160e01b8152602090f35b8380fd5b82346101795760206106eb6106dc36610fe3565b96959095949194939293611634565b604051908152f35b823461017957806003193601126101795760206040517ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7838152f35b8234610179578060031936011261017957602090604051908152f35b9050346101d65760403660031901126101d657604060209260ff9261076d610e6e565b903582528185528282206001600160a01b03909116825284522054604051911615158152f35b823461017957806003193601126101795760206040517fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc18152f35b9050346101d65760c03660031901126101d6576001600160401b0381358181116106c4576107ff9036908401610fb3565b9190926024358281116108f2576108199036908301610fb3565b9290916044359182116108ee5761083291369101610fb3565b909260a4359160643591610845336110cd565b6108508188146117aa565b61085b8288146117aa565b61086d608435848489858a8d8f611634565b9661087885896118a2565b895b818110610885578a80f35b80808a7f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8f8c8c6108dc888e6108d58f9d8f9e6108e99f6102ab836108cf926102d69c611827565b99611827565b3597611861565b9060405196879687611772565b61087a565b8680fd5b8580fd5b82346101795760206106eb61090a36610eb1565b949390939291926115df565b9050346101d65760203660031901126101d65780359030330361096c57507f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d560406002548151908152836020820152a160025580f35b60849060206040519162461bcd60e51b8352820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152fd5b82346101795760203660031901126101795760206109f18335600052600160205260016040600020541190565b6040519015158152f35b823461017957604036600319011261017957610a15610e6e565b336001600160a01b03821603610a3057610260919235611526565b60405162461bcd60e51b8152602081850152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b82346101795760203660031901126101795760206109f183356000526001602052604060002054151590565b9050346101d65760403660031901126101d65735610ad4610e6e565b81835282602052610aed6001604085200154339061140e565b818352602083815260408085206001600160a01b039093168086529290915283205460ff1615610b1b578280f35b818352826020526040832081845260205260408320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808280f35b82346101795760203660031901126101795760206109f18335600052600160205260016040600020541490565b9050346101d65760203660031901126101d6576040602092600192358152808452200154604051908152f35b9050346101d65760803660031901126101d657610bdb610e53565b50610be4610e6e565b506064356001600160401b0381116101d257610c039250369101610f6c565b50604051630a85bd0160e11b8152602090f35b82346101795760203660031901126101795760206109f1833561159a565b82610260610cb482610cc07fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58610cab610c6c36610eb1565b600080516020611c9b8339815191528a9995979299949394528960205260408a208a805260205260ff60408b20541615610cc8575b88848489896115df565b98899788611ac7565b6102ca828287876119b9565b0390a3611b5d565b610cd1336112cf565b610ca1565b823461017957806003193601126101795760206040517f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca58152f35b82346101795780600319360112610179576020604051600080516020611c9b8339815191528152f35b9050346101d65760203660031901126101d6573563ffffffff60e01b81168091036101d657602090630271189760e51b8114908115610d7f575b506040519015158152f35b637965db0b60e01b811491508115610d99575b5082610d74565b6301ffc9a760e01b14905082610d92565b915034610e505760c0366003190112610e5057610dc5610e53565b90602435604435926001600160401b038411610e4c57610e0c7f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca93610e4695369101610e84565b60649591953560a43591610e1f336110cd565b610e2f60843583838b8a8a6115df565b97610e3a848a6118a2565b60405196879687611772565b0390a380f35b8480fd5b50fd5b600435906001600160a01b0382168203610e6957565b600080fd5b602435906001600160a01b0382168203610e6957565b9181601f84011215610e69578235916001600160401b038311610e695760208381860195010111610e6957565b60a0600319820112610e69576004356001600160a01b0381168103610e69579160243591604435906001600160401b038211610e6957610ef391600401610e84565b90916064359060843590565b608081019081106001600160401b03821117610f1a57604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b03821117610f1a57604052565b6001600160401b038111610f1a57601f01601f191660200190565b81601f82011215610e6957803590610f8382610f51565b92610f916040519485610f30565b82845260208383010111610e6957816000926020809301838601378301015290565b9181601f84011215610e69578235916001600160401b038311610e69576020808501948460051b010111610e6957565b9060a0600319830112610e69576001600160401b03600435818111610e69578361100f91600401610fb3565b93909392602435838111610e69578261102a91600401610fb3565b93909392604435918211610e6957610ef391600401610fb3565b9080601f83011215610e69578135906001600160401b038211610f1a578160051b6040519360209361107885840187610f30565b85528380860192820101928311610e69578301905b82821061109b575050505090565b8135815290830190830161108d565b60005b8381106110bd5750506000910152565b81810151838201526020016110ad565b6001600160a01b031660008181527f3412d5605ac6cd444957cedb533e5dacad6378b4bc819ebe3652188a665066d5602090815260408083205490937fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc19160ff161561113a575050505050565b61114390611b8c565b9084519061115082610eff565b604282528382019460603687378251156112bb57603086538251906001918210156112bb5790607860218501536041915b81831161124d5750505061120b57846111e7604861055c9360449798519889916111d88984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a52610500815180928d6037890191016110aa565b01036028810189520187610f30565b5194859362461bcd60e51b85526004850152518092816024860152858501906110aa565b60648386519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156112a7576f181899199a1a9b1b9c1cb0b131b232b360811b901a61127d8587611b7b565b5360041c92801561129357600019019190611181565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b6001600160a01b031660008181527fdae2aa361dfd1ca020a396615627d436107c35eff9fe7738a3512819782d706960209081526040808320549093600080516020611c9b8339815191529160ff161561132a575050505050565b61133390611b8c565b9084519061134082610eff565b604282528382019460603687378251156112bb57603086538251906001918210156112bb5790607860218501536041915b8183116113c85750505061120b57846111e7604861055c9360449798519889916111d88984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a52610500815180928d6037890191016110aa565b909192600f811660108110156112a7576f181899199a1a9b1b9c1cb0b131b232b360811b901a6113f88587611b7b565b5360041c92801561129357600019019190611371565b6000908082526020908282526040938484209060018060a01b031690818552835260ff858520541615611442575050505050565b61144b90611b8c565b9084519061145882610eff565b604282528382019460603687378251156112bb57603086538251906001918210156112bb5790607860218501536041915b8183116114e05750505061120b57846111e7604861055c9360449798519889916111d88984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a52610500815180928d6037890191016110aa565b909192600f811660108110156112a7576f181899199a1a9b1b9c1cb0b131b232b360811b901a6115108587611b7b565b5360041c92801561129357600019019190611489565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541661155657505050565b80835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b60005260016020526040600020546001811190816115b6575090565b905042101590565b908060209392818452848401376000828201840152601f01601f1916010190565b9461161561162e94959293604051968795602087019960018060a01b03168a52604087015260a0606087015260c08601916115be565b91608084015260a083015203601f198101835282610f30565b51902090565b969294909695919560405196602091828901998060c08b0160a08d525260e08a01919060005b81811061174a57505050601f19898203810160408b0152888252976001600160fb1b038111610e69579089969495939897929160051b80928a830137019380888601878703606089015252604085019460408260051b82010195836000925b8484106116e15750505050505061162e9550608084015260a083015203908101835282610f30565b9193969850919398999496603f198282030184528935601e1984360301811215610e695783018681019190356001600160401b038111610e69578036038313610e6957611733889283926001956115be565b9b0194019401918b98969394919a9997959a6116b9565b90919283359060018060a01b038216809203610e69579081528501928501919060010161165a565b9290936117a0926080959897969860018060a01b03168552602085015260a0604085015260a08401916115be565b9460608201520152565b156117b157565b60405162461bcd60e51b815260206004820152602360248201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616044820152620e8c6d60eb1b6064820152608490fd5b60001981146118115760010190565b634e487b7160e01b600052601160045260246000fd5b91908110156118375760051b0190565b634e487b7160e01b600052603260045260246000fd5b356001600160a01b0381168103610e695790565b91908110156118375760051b81013590601e1981360301821215610e695701908135916001600160401b038311610e69576020018236038113610e69579190565b906118ba826000526001602052604060002054151590565b6119355760025481106118e157420190814211611811576000526001602052604060002055565b60405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608490fd5b6119b6949260609260018060a01b03168252602082015281604082015201916115be565b90565b90926000938493826040519384928337810185815203925af13d15611a63573d6119e281610f51565b906119f06040519283610f30565b8152600060203d92013e5b15611a0257565b60405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608490fd5b6119fb565b15611a6f57565b60405162461bcd60e51b815260206004820152602a60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604482015269206e6f7420726561647960b01b6064820152608490fd5b611ad3611ad89161159a565b611a68565b8015908115611b3e575b5015611aea57565b60405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608490fd5b611b579150600052600160205260016040600020541490565b38611ae2565b611b69611ad38261159a565b60005260016020526001604060002055565b908151811015611837570160200190565b60405190606082018281106001600160401b03821117610f1a57604052602a82526020820160403682378251156118375760309053815160019081101561183757607860218401536029905b808211611c2c575050611be85790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015611c85576f181899199a1a9b1b9c1cb0b131b232b360811b901a611c5b8486611b7b565b5360041c918015611c70576000190190611bd8565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fdfed8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63a2646970667358221220699f3789b8bfcd04b0b6f0b263a9d55997a11e163b4f4f4e619b6ab1ba3ea48264736f6c634300081300332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "uint256";