@gearbox-protocol/sdk 1.20.5 → 1.20.7

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 (102) hide show
  1. package/lib/contracts/contractsRegister.d.ts +2 -1
  2. package/lib/contracts/contractsRegister.js +4 -1
  3. package/lib/core/pool.d.ts +9 -1
  4. package/lib/core/pool.js +46 -0
  5. package/lib/core/rewardConvex.spec.js +0 -1
  6. package/lib/oracles/priceFeeds.js +10 -0
  7. package/lib/pathfinder/pathfinder.d.ts +2 -3
  8. package/lib/tokens/decimals.js +1 -0
  9. package/lib/tokens/gear.d.ts +1 -1
  10. package/lib/tokens/gear.js +5 -0
  11. package/lib/tokens/token.js +2 -0
  12. package/lib/types/@chainlink/contracts/src/v0.8/interfaces/AggregatorInterface.d.ts +106 -0
  13. package/lib/types/@chainlink/contracts/src/v0.8/interfaces/AggregatorV2V3Interface.d.ts +218 -0
  14. package/lib/types/@chainlink/contracts/src/v0.8/interfaces/index.d.ts +2 -0
  15. package/lib/types/@gearbox-protocol/core-v2/contracts/index.d.ts +2 -0
  16. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/ICreditConfigurator.sol/ICreditConfigurator.d.ts +28 -1
  17. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/ICreditConfigurator.sol/ICreditConfiguratorEvents.d.ts +11 -0
  18. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/adapters/IAdapter.sol/IAdapter.d.ts +1 -9
  19. package/lib/types/@gearbox-protocol/core-v2/contracts/interfaces/adapters/IUniversalAdapter.sol/IUniversalAdapter.d.ts +1 -9
  20. package/lib/types/@gearbox-protocol/core-v2/contracts/pool/PoolService.d.ts +570 -0
  21. package/lib/types/@gearbox-protocol/core-v2/contracts/pool/index.d.ts +1 -0
  22. package/lib/types/@gearbox-protocol/core-v2/contracts/pool/index.js +2 -0
  23. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/convex/IConvexV1BaseRewardPoolAdapter.sol/IConvexV1BaseRewardPoolAdapter.d.ts +1 -9
  24. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/convex/IConvexV1BoosterAdapter.d.ts +1 -9
  25. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1Adapter.sol/ICurveV1Adapter.d.ts +1 -9
  26. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1_2AssetsAdapter.d.ts +1 -9
  27. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1_3AssetsAdapter.d.ts +1 -9
  28. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1_4AssetsAdapter.d.ts +1 -9
  29. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/lido/ILidoV1Adapter.sol/ILidoV1Adapter.d.ts +1 -9
  30. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/lido/IwstETHV1Adapter.d.ts +1 -9
  31. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapPathChecker.d.ts +106 -0
  32. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapPathChecker.js +2 -0
  33. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/{IUniswapV2Adapter.d.ts → IUniswapV2Adapter.sol/IUniswapV2Adapter.d.ts} +2 -10
  34. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.sol/IUniswapV2Adapter.js +2 -0
  35. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions.d.ts +27 -0
  36. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions.js +2 -0
  37. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.sol/index.d.ts +2 -0
  38. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.sol/index.js +2 -0
  39. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV3Adapter.sol/IUniswapV3Adapter.d.ts +1 -9
  40. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/index.d.ts +3 -1
  41. package/lib/types/@gearbox-protocol/integrations-v2/contracts/interfaces/yearn/IYearnV2Adapter.d.ts +1 -9
  42. package/lib/types/contracts/IGnosisSafeSignatureValidator.d.ts +42 -0
  43. package/lib/types/contracts/IGnosisSafeSignatureValidator.js +2 -0
  44. package/lib/types/contracts/index.d.ts +3 -2
  45. package/lib/types/contracts/{MultiCall.sol → support/MultiCall.sol}/Multicall2.d.ts +1 -1
  46. package/lib/types/contracts/support/MultiCall.sol/Multicall2.js +2 -0
  47. package/lib/types/contracts/support/MultiCall.sol/index.js +2 -0
  48. package/lib/types/contracts/support/index.d.ts +2 -0
  49. package/lib/types/factories/@chainlink/contracts/src/v0.8/interfaces/AggregatorInterface__factory.d.ts +35 -0
  50. package/lib/types/factories/@chainlink/contracts/src/v0.8/interfaces/AggregatorInterface__factory.js +149 -0
  51. package/lib/types/factories/@chainlink/contracts/src/v0.8/interfaces/AggregatorV2V3Interface__factory.d.ts +35 -0
  52. package/lib/types/factories/@chainlink/contracts/src/v0.8/interfaces/AggregatorV2V3Interface__factory.js +260 -0
  53. package/lib/types/factories/@chainlink/contracts/src/v0.8/interfaces/index.d.ts +2 -0
  54. package/lib/types/factories/@chainlink/contracts/src/v0.8/interfaces/index.js +5 -1
  55. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/index.d.ts +1 -0
  56. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/index.js +2 -1
  57. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditConfigurator.sol/ICreditConfiguratorEvents__factory.js +13 -0
  58. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/ICreditConfigurator.sol/ICreditConfigurator__factory.js +26 -0
  59. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/adapters/IAdapter.sol/IAdapter__factory.js +0 -13
  60. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/interfaces/adapters/IUniversalAdapter.sol/IUniversalAdapter__factory.js +0 -13
  61. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/pool/PoolService__factory.d.ts +65 -0
  62. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/pool/PoolService__factory.js +884 -0
  63. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/pool/index.d.ts +1 -0
  64. package/lib/types/factories/@gearbox-protocol/core-v2/contracts/pool/index.js +8 -0
  65. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/convex/IConvexV1BaseRewardPoolAdapter.sol/IConvexV1BaseRewardPoolAdapter__factory.js +0 -13
  66. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/convex/IConvexV1BoosterAdapter__factory.js +0 -13
  67. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1Adapter.sol/ICurveV1Adapter__factory.js +0 -13
  68. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1_2AssetsAdapter__factory.js +0 -13
  69. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1_3AssetsAdapter__factory.js +0 -13
  70. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/curve/ICurveV1_4AssetsAdapter__factory.js +0 -13
  71. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/lido/ILidoV1Adapter.sol/ILidoV1Adapter__factory.js +0 -13
  72. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/lido/IwstETHV1Adapter__factory.js +0 -13
  73. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapPathChecker__factory.d.ts +22 -0
  74. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapPathChecker__factory.js +99 -0
  75. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions__factory.d.ts +12 -0
  76. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.sol/IUniswapV2AdapterExceptions__factory.js +27 -0
  77. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/{IUniswapV2Adapter__factory.d.ts → IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.d.ts} +1 -1
  78. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/{IUniswapV2Adapter__factory.js → IUniswapV2Adapter.sol/IUniswapV2Adapter__factory.js} +5 -13
  79. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.sol/index.d.ts +2 -0
  80. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.sol/index.js +10 -0
  81. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV3Adapter.sol/IUniswapV3AdapterExceptions__factory.js +1 -1
  82. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV3Adapter.sol/IUniswapV3Adapter__factory.js +1 -14
  83. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/index.d.ts +2 -1
  84. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/index.js +4 -3
  85. package/lib/types/factories/@gearbox-protocol/integrations-v2/contracts/interfaces/yearn/IYearnV2Adapter__factory.js +0 -13
  86. package/lib/types/factories/contracts/IGnosisSafeSignatureValidator__factory.d.ts +22 -0
  87. package/lib/types/factories/contracts/IGnosisSafeSignatureValidator__factory.js +46 -0
  88. package/lib/types/factories/contracts/index.d.ts +2 -1
  89. package/lib/types/factories/contracts/index.js +4 -2
  90. package/lib/types/factories/contracts/{MultiCall.sol → support/MultiCall.sol}/Multicall2__factory.d.ts +2 -2
  91. package/lib/types/factories/contracts/{MultiCall.sol → support/MultiCall.sol}/Multicall2__factory.js +1 -1
  92. package/lib/types/factories/contracts/support/index.d.ts +1 -0
  93. package/lib/types/factories/contracts/support/index.js +25 -1
  94. package/lib/types/index.d.ts +16 -4
  95. package/lib/types/index.js +15 -3
  96. package/package.json +1 -1
  97. /package/lib/types/{@gearbox-protocol/integrations-v2/contracts/interfaces/uniswap/IUniswapV2Adapter.js → @chainlink/contracts/src/v0.8/interfaces/AggregatorInterface.js} +0 -0
  98. /package/lib/types/{contracts/MultiCall.sol/Multicall2.js → @chainlink/contracts/src/v0.8/interfaces/AggregatorV2V3Interface.js} +0 -0
  99. /package/lib/types/{contracts/MultiCall.sol/index.js → @gearbox-protocol/core-v2/contracts/pool/PoolService.js} +0 -0
  100. /package/lib/types/contracts/{MultiCall.sol → support/MultiCall.sol}/index.d.ts +0 -0
  101. /package/lib/types/factories/contracts/{MultiCall.sol → support/MultiCall.sol}/index.d.ts +0 -0
  102. /package/lib/types/factories/contracts/{MultiCall.sol → support/MultiCall.sol}/index.js +0 -0
@@ -0,0 +1,65 @@
1
+ import { Signer, ContractFactory, BigNumberish, Overrides } from "ethers";
2
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
3
+ import type { PoolService, PoolServiceInterface } from "../../../../../@gearbox-protocol/core-v2/contracts/pool/PoolService";
4
+ declare type PoolServiceConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
5
+ export declare class PoolService__factory extends ContractFactory {
6
+ constructor(...args: PoolServiceConstructorParams);
7
+ deploy(_addressProvider: string, _underlyingToken: string, _interestRateModelAddress: string, _expectedLiquidityLimit: BigNumberish, overrides?: Overrides & {
8
+ from?: string | Promise<string>;
9
+ }): Promise<PoolService>;
10
+ getDeployTransaction(_addressProvider: string, _underlyingToken: string, _interestRateModelAddress: string, _expectedLiquidityLimit: BigNumberish, overrides?: Overrides & {
11
+ from?: string | Promise<string>;
12
+ }): TransactionRequest;
13
+ attach(address: string): PoolService;
14
+ connect(signer: Signer): PoolService__factory;
15
+ static readonly bytecode = "0x60c06040523480156200001157600080fd5b506040516200486838038062004868833981016040819052620000349162000704565b6000805460ff19169055836001600160a01b0381166200006757604051635919af9760e11b815260040160405180910390fd5b806001600160a01b031663087376956040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000cc919062000756565b6001600160a01b039081166080526001805585161580159150620000f857506001600160a01b03831615155b80156200010d57506001600160a01b03821615155b6040518060400160405280600281526020016105a360f41b81525090620001525760405162461bcd60e51b8152600401620001499190620007dc565b60405180910390fd5b50600580546001600160a01b038087166001600160a01b031992831617909255600780549286169290911682179055604080516306fdde0360e01b815290516306fdde03916004808201926000929091908290030181865afa158015620001bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620001e7919081019062000807565b604051602001620001f99190620008bf565b604051602081830303815290604052836001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000247573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000271919081019062000807565b604051602001620002839190620008f0565b604051602081830303815290604052846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f791906200091b565b6040516200030590620006d9565b620003139392919062000940565b604051809103906000f08015801562000330573d6000803e3d6000fd5b506001600160a01b0390811660a052600554604080516326c74fc360e01b8152905191909216916326c74fc39160048083019260209291908290030181865afa15801562000382573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a8919062000756565b600b80546001600160a01b0319166001600160a01b039290921691909117905542600e556b033b2e3c9fd0803ce8000000600c55620003e782620003f4565b6003555062000a27915050565b60408051808201909152600281526105a360f41b60208201526001600160a01b038216620004375760405162461bcd60e51b8152600401620001499190620007dc565b50600680546001600160a01b0319166001600160a01b0383161790556200045f600062000496565b6040516001600160a01b038216907f0ec6cb7631d36954a05ffd646135bfd9995c71e7fa36d26abb1ad9f24a040ea190600090a250565b80620004a162000551565b620004ad919062000993565b600255620004ba620005ca565b600c556006546002546001600160a01b03909116906342568d4490620004df620005fc565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381865afa15801562000521573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005479190620009ad565b600d555042600e55565b600080600e544262000564919062000993565b905060006301e133806b033b2e3c9fd0803ce800000083600d546004546200058d9190620009c7565b620005999190620009c7565b620005a59190620009e9565b620005b19190620009e9565b905080600254620005c3919062000a0c565b9250505090565b600080600e5442620005dd919062000993565b9050620005f6600c54600d54836200067160201b60201c565b91505090565b6007546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801562000646573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200066c9190620009ad565b905090565b6000806301e13380620006858486620009c7565b620006919190620009e9565b620006a9906b033b2e3c9fd0803ce800000062000a0c565b90506b033b2e3c9fd0803ce8000000620006c48287620009c7565b620006d09190620009e9565b95945050505050565b61130a806200355e83390190565b80516001600160a01b0381168114620006ff57600080fd5b919050565b600080600080608085870312156200071b57600080fd5b6200072685620006e7565b93506200073660208601620006e7565b92506200074660408601620006e7565b6060959095015193969295505050565b6000602082840312156200076957600080fd5b6200077482620006e7565b9392505050565b60005b83811015620007985781810151838201526020016200077e565b83811115620007a8576000848401525b50505050565b60008151808452620007c88160208601602086016200077b565b601f01601f19169290920160200192915050565b602081526000620007746020830184620007ae565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156200081a57600080fd5b81516001600160401b03808211156200083257600080fd5b818401915084601f8301126200084757600080fd5b8151818111156200085c576200085c620007f1565b604051601f8201601f19908116603f01168101908382118183101715620008875762000887620007f1565b81604052828152876020848701011115620008a157600080fd5b620008b48360208301602088016200077b565b979650505050505050565b6603234b2b9b2b6160cd1b815260008251620008e38160078501602087016200077b565b9190910160070192915050565b601960fa1b8152600082516200090e8160018501602087016200077b565b9190910160010192915050565b6000602082840312156200092e57600080fd5b815160ff811681146200077457600080fd5b606081526000620009556060830186620007ae565b8281036020840152620009698186620007ae565b91505060ff83166040830152949350505050565b634e487b7160e01b600052601160045260246000fd5b600082821015620009a857620009a86200097d565b500390565b600060208284031215620009c057600080fd5b5051919050565b6000816000190483118215151615620009e457620009e46200097d565b500290565b60008262000a0757634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111562000a225762000a226200097d565b500190565b60805160a051612ab662000aa86000396000818161038b0152818161078201528181610d4b0152818161124d015281816118c6015281816119ea0152611afa0152600081816104770152818161089601528181610aad01528181610bec01528181610e4a015281816113ba0152818161154b0152611bf10152612ab66000f3fe608060405234801561001057600080fd5b50600436106102775760003560e01c80635c975abb11610160578063bb04b193116100d8578063dbcb313b1161008c578063ef8d960311610071578063ef8d96031461052a578063f3fdb15a14610533578063fe14112d1461055357600080fd5b8063dbcb313b14610518578063e941fa781461052157600080fd5b8063c5f956af116100bd578063c5f956af146104d2578063ca9505e4146104f2578063cf33d9551461050557600080fd5b8063bb04b193146104ac578063bf28068b146104bf57600080fd5b80638456cb591161012f578063a4e8273e11610114578063a4e8273e1461046a578063a50cf2c814610472578063b6ac642a1461049957600080fd5b80638456cb591461044f5780639aa5d4621461045757600080fd5b80635c975abb1461042b578063609ae31714610436578063743753591461043f578063788c6bfe1461044757600080fd5b806336dda7d5116101f35780634c19386c116101c25780635427c938116101a75780635427c938146103fd57806354fd4d50146104105780635664cacf1461041857600080fd5b80634c19386c146103e15780634d778ad1146103ea57600080fd5b806336dda7d5146103865780633e163df0146103ad5780633f4ba83a146103d057806345d31f9d146103d857600080fd5b80631e16e4fc1161024a5780632954018c1161022f5780632954018c146103205780632e97ca211461034057806331d8bc271461037357600080fd5b80631e16e4fc146102c85780632495a5991461030057600080fd5b8063030dbb041461027c57806305fe138b14610298578063078c4781146102ab5780630fce70fb146102c0575b600080fd5b61028560025481565b6040519081526020015b60405180910390f35b6102856102a63660046127c6565b61055b565b6102be6102b93660046127f6565b610868565b005b6102856109c0565b6102db6102d6366004612813565b6109e8565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161028f565b6007546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b6005546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b61036361034e3660046127f6565b60086020526000908152604090205460ff1681565b604051901515815260200161028f565b61028561038136600461282c565b610a1f565b6102db7f000000000000000000000000000000000000000000000000000000000000000081565b6103636103bb3660046127f6565b60096020526000908152604090205460ff1681565b6102be610a7f565b610285600d5481565b61028560045481565b6102856103f8366004612813565b610b6d565b61028561040b366004612813565b610b9d565b610285600181565b6102be6104263660046127f6565b610bbe565b60005460ff16610363565b610285600e5481565b610285610cae565b610285610d46565b6102be610e1c565b6102be610465366004612858565b610f08565b600a54610285565b6102db7f000000000000000000000000000000000000000000000000000000000000000081565b6102be6104a7366004612813565b61138c565b6102be6104ba366004612813565b61151d565b6102be6104cd3660046127c6565b611636565b600b546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b6102be61050036600461282c565b6117b6565b6102be6105133660046127f6565b611bc3565b610285600c5481565b610285600f5481565b61028560035481565b6006546102db9073ffffffffffffffffffffffffffffffffffffffff1681565b610285611f33565b6000805460ff16156105ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064015b60405180910390fd5b6002600154141561063b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105c5565b60026001819055604080518082019091529081527f5a30000000000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff83166106c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c591906128bc565b5060006106cf84610b9d565b905060006106e8600f5483611fa090919063ffffffff16565b905060006106f6828461293c565b60075490915061071d9073ffffffffffffffffffffffffffffffffffffffff168683611fea565b811561074d57600b5460075461074d9173ffffffffffffffffffffffffffffffffffffffff918216911684611fea565b6040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018790527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b1580156107db57600080fd5b505af11580156107ef573d6000803e3d6000fd5b5050505082600254610801919061293c565b60025561080e60006120c3565b60405186815273ffffffffffffffffffffffffffffffffffffffff86169033907fd8ae9b9ba89e637bcb66a69ac91e8f688018e81d6f92c57e02226425c8efbdf69060200160405180910390a36001805595945050505050565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa1580156108f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109169190612953565b61094c576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526008602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f9181736fce85d2d4cca2e4406f10679302ae5c387180fdb62963af3cd9a24fd69190a250565b600080600e54426109d1919061293c565b90506109e2600c54600d5483610a1f565b91505090565b600a81815481106109f857600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b6000806301e13380610a318486612975565b610a3b91906129e1565b610a51906b033b2e3c9fd0803ce80000006129f5565b90506b033b2e3c9fd0803ce8000000610a6a8287612975565b610a7491906129e1565b9150505b9392505050565b6040517fd4eb5db00000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d4eb5db090602401602060405180830381865afa158015610b09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2d9190612953565b610b63576040517f10332dee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b6b612198565b565b6000610b77610d46565b610b8d6b033b2e3c9fd0803ce800000084612975565b610b9791906129e1565b92915050565b60006b033b2e3c9fd0803ce8000000610bb4610d46565b610b8d9084612975565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa158015610c48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6c9190612953565b610ca2576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cab81612279565b50565b6007546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610d1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d419190612a0d565b905090565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd89190612a0d565b905080610df2576b033b2e3c9fd0803ce800000091505090565b806b033b2e3c9fd0803ce8000000610e08611f33565b610e129190612975565b6109e291906129e1565b6040517f3a41ec640000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633a41ec6490602401602060405180830381865afa158015610ea6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eca9190612953565b610f00576040517fd794b1e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b6b61238a565b60005460ff1615610f75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016105c5565b60026001541415610fe2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105c5565b60026001819055604080518082019091529081527f5a30000000000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff831661106a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c591906128bc565b5060035483611077611f33565b61108191906129f5565b11156040518060400160405280600381526020017f5053320000000000000000000000000000000000000000000000000000000000815250906110f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c591906128bc565b506007546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015611161573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111859190612a0d565b6007549091506111ad9073ffffffffffffffffffffffffffffffffffffffff1633308761244a565b6007546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152829173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa15801561121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123f9190612a0d565b611249919061293c565b93507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f198461129187610b6d565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b1580156112fc57600080fd5b505af1158015611310573d6000803e3d6000fd5b505050508360025461132291906129f5565b60025561132f60006120c3565b604080518581526020810184905273ffffffffffffffffffffffffffffffffffffffff85169133917fd2491a9b4fe81a7cd4511e8b7b7743951b061dad5bed7da8a7795b080ee08c7e910160405180910390a35050600180555050565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa158015611416573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143a9190612953565b611470576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051808201909152600381527f5053330000000000000000000000000000000000000000000000000000000000602082015260648211156114e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c591906128bc565b50600f8190556040518181527fd5fe46099fa396290a7f57e36c3c3c8774e2562c18ed5d1dcc0fa75071e03f1d906020015b60405180910390a150565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa1580156115a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cb9190612953565b611601576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038190556040518181527fd7a183c9fe85b604c25d54bd676e0866f6c13bcca9fb9b0850213de118fdc99c90602001611512565b60005460ff16156116a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016105c5565b33600090815260086020908152604091829020548251808401909352600383527f50533000000000000000000000000000000000000000000000000000000000009183019190915260ff16611725576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c591906128bc565b5060075461174a9073ffffffffffffffffffffffffffffffffffffffff168284611fea565b61175460006120c3565b8160045461176291906129f5565b60045560405182815273ffffffffffffffffffffffffffffffffffffffff82169033907f312a5e5e1079f5dda4e95dbbd0b908b291fd5b992ef22073643ab691572c5b529060200160405180910390a35050565b60005460ff1615611823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016105c5565b33600090815260096020908152604091829020548251808401909352600383527f50533000000000000000000000000000000000000000000000000000000000009183019190915260ff166118a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c591906128bc565b50811561199157600b5473ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116916340c10f1991166118f885610b6d565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b15801561196357600080fd5b505af1158015611977573d6000803e3d6000fd5b505050508160025461198991906129f5565b600255611b5b565b600061199c82610b6d565b600b546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201529192506000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015611a33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a579190612a0d565b905081811015611aab57905080337fef3653ded679720ab04913b6f3820be7cedc8286d42ff5dd8dff17e91bd2964c611a8f83610b9d565b611a99908661293c565b60405190815260200160405180910390a25b600b546040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152602481018490527f000000000000000000000000000000000000000000000000000000000000000090911690639dc29fac90604401600060405180830381600087803b158015611b4057600080fd5b505af1158015611b54573d6000803e3d6000fd5b5050505050505b611b64816120c3565b8260046000828254611b76919061293c565b9091555050604080518481526020810184905290810182905233907f2fe77b1c99aca6b022b8efc6e3e8dd1b48b30748709339b65c50ef3263443e099060600160405180910390a2505050565b6040517f5f259aba0000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635f259aba90602401602060405180830381865afa158015611c4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c719190612953565b611ca7576040517f61081c1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663570a7af26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d169190612a26565b73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600381526020017f505331000000000000000000000000000000000000000000000000000000000081525090611db2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c591906128bc565b5073ffffffffffffffffffffffffffffffffffffffff8116600090815260096020908152604091829020548251808401909352600383527f50533400000000000000000000000000000000000000000000000000000000009183019190915260ff1615611e4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c591906128bc565b5073ffffffffffffffffffffffffffffffffffffffff81166000818152600860209081526040808320805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009182168117909255600990935281842080549093168117909255600a8054928301815583527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a890910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517fe076020e7eac3915d33aec40c24f95e73eb6c9921ff89747d50aa8fd934d2c019190a250565b600080600e5442611f44919061293c565b905060006301e133806b033b2e3c9fd0803ce800000083600d54600454611f6b9190612975565b611f759190612975565b611f7f91906129e1565b611f8991906129e1565b905080600254611f9991906129f5565b9250505090565b6000821580611fad575081155b15611fba57506000610b97565b612710611fc8600282612a43565b61ffff16611fd68486612975565b611fe091906129f5565b610a7891906129e1565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526120be9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526124ae565b505050565b806120cc611f33565b6120d6919061293c565b6002556120e16109c0565b600c5560065460025473ffffffffffffffffffffffffffffffffffffffff909116906342568d4490612111610cae565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526024820152604401602060405180830381865afa15801561216a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218e9190612a0d565b600d555042600e55565b60005460ff16612204576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016105c5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60408051808201909152600281527f5a30000000000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff82166122fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c591906128bc565b50600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905561234660006120c3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f0ec6cb7631d36954a05ffd646135bfd9995c71e7fa36d26abb1ad9f24a040ea190600090a250565b60005460ff16156123f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016105c5565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861224f3390565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526124a89085907f23b872dd000000000000000000000000000000000000000000000000000000009060840161203c565b50505050565b6000612510826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166125ba9092919063ffffffff16565b8051909150156120be578080602001905181019061252e9190612953565b6120be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016105c5565b60606125c984846000856125d1565b949350505050565b606082471015612663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016105c5565b843b6126cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105c5565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516126f49190612a64565b60006040518083038185875af1925050503d8060008114612731576040519150601f19603f3d011682016040523d82523d6000602084013e612736565b606091505b5091509150612746828286612751565b979650505050505050565b60608315612760575081610a78565b8251156127705782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c591906128bc565b73ffffffffffffffffffffffffffffffffffffffff81168114610cab57600080fd5b600080604083850312156127d957600080fd5b8235915060208301356127eb816127a4565b809150509250929050565b60006020828403121561280857600080fd5b8135610a78816127a4565b60006020828403121561282557600080fd5b5035919050565b60008060006060848603121561284157600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561286d57600080fd5b83359250602084013561287f816127a4565b929592945050506040919091013590565b60005b838110156128ab578181015183820152602001612893565b838111156124a85750506000910152565b60208152600082518060208401526128db816040850160208701612890565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561294e5761294e61290d565b500390565b60006020828403121561296557600080fd5b81518015158114610a7857600080fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129ad576129ad61290d565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826129f0576129f06129b2565b500490565b60008219821115612a0857612a0861290d565b500190565b600060208284031215612a1f57600080fd5b5051919050565b600060208284031215612a3857600080fd5b8151610a78816127a4565b600061ffff80841680612a5857612a586129b2565b92169190910492915050565b60008251612a76818460208701612890565b919091019291505056fea26469706673582212206f3b5f25efdcc3608fd6fc19175002f7ba249dd0cfb23a43f35ab991c901dac164736f6c634300080a003360c06040523480156200001157600080fd5b506040516200130a3803806200130a8339810160408190526200003491620001eb565b8251839083906200004d90600390602085019062000078565b5080516200006390600490602084019062000078565b50505060ff1660805250503360a052620002ad565b828054620000869062000270565b90600052602060002090601f016020900481019282620000aa5760008555620000f5565b82601f10620000c557805160ff1916838001178555620000f5565b82800160010185558215620000f5579182015b82811115620000f5578251825591602001919060010190620000d8565b506200010392915062000107565b5090565b5b8082111562000103576000815560010162000108565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200014657600080fd5b81516001600160401b03808211156200016357620001636200011e565b604051601f8301601f19908116603f011681019082821181831017156200018e576200018e6200011e565b81604052838152602092508683858801011115620001ab57600080fd5b600091505b83821015620001cf5785820183015181830184015290820190620001b0565b83821115620001e15760008385830101525b9695505050505050565b6000806000606084860312156200020157600080fd5b83516001600160401b03808211156200021957600080fd5b620002278783880162000134565b945060208601519150808211156200023e57600080fd5b506200024d8682870162000134565b925050604084015160ff811681146200026557600080fd5b809150509250925092565b600181811c908216806200028557607f821691505b60208210811415620002a757634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a051611029620002e1600039600081816101b3015281816104ab01526105370152600061015c01526110296000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063570a7af21161008c5780639dc29fac116100665780639dc29fac14610238578063a457c2d71461024b578063a9059cbb1461025e578063dd62ed3e1461027157600080fd5b8063570a7af2146101ae57806370a08231146101fa57806395d89b411461023057600080fd5b806323b872dd116100c857806323b872dd14610142578063313ce56714610155578063395093511461018657806340c10f191461019957600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f76102b7565b6040516101049190610dea565b60405180910390f35b61012061011b366004610e86565b610349565b6040519015158152602001610104565b6002545b604051908152602001610104565b610120610150366004610eb0565b61035f565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610104565b610120610194366004610e86565b61044a565b6101ac6101a7366004610e86565b610493565b005b6101d57f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610104565b610134610208366004610eec565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100f7610510565b6101ac610246366004610e86565b61051f565b610120610259366004610e86565b610598565b61012061026c366004610e86565b610670565b61013461027f366004610f0e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6060600380546102c690610f41565b80601f01602080910402602001604051908101604052809291908181526020018280546102f290610f41565b801561033f5780601f106103145761010080835404028352916020019161033f565b820191906000526020600020905b81548152906001019060200180831161032257829003601f168201915b5050505050905090565b600061035633848461067d565b50600192915050565b600061036c848484610831565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482811015610432576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61043f853385840361067d565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161035691859061048e908690610fc4565b61067d565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610502576040517f95c3dbc500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61050c8282610ae5565b5050565b6060600480546102c690610f41565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461058e576040517f95c3dbc500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61050c8282610c05565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915281205482811015610659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610429565b610666338585840361067d565b5060019392505050565b6000610356338484610831565b73ffffffffffffffffffffffffffffffffffffffff831661071f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610429565b73ffffffffffffffffffffffffffffffffffffffff82166107c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610429565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166108d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610429565b73ffffffffffffffffffffffffffffffffffffffff8216610977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610429565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610a2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610429565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220858503905591851681529081208054849290610a71908490610fc4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ad791815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610b62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610429565b8060026000828254610b749190610fc4565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610bae908490610fc4565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610ca8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610429565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610d5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610429565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120838303905560028054849290610d9a908490610fdc565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610824565b600060208083528351808285015260005b81811015610e1757858101830151858201604001528201610dfb565b81811115610e29576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e8157600080fd5b919050565b60008060408385031215610e9957600080fd5b610ea283610e5d565b946020939093013593505050565b600080600060608486031215610ec557600080fd5b610ece84610e5d565b9250610edc60208501610e5d565b9150604084013590509250925092565b600060208284031215610efe57600080fd5b610f0782610e5d565b9392505050565b60008060408385031215610f2157600080fd5b610f2a83610e5d565b9150610f3860208401610e5d565b90509250929050565b600181811c90821680610f5557607f821691505b60208210811415610f8f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610fd757610fd7610f95565b500190565b600082821015610fee57610fee610f95565b50039056fea26469706673582212204b19a68d3d8dac76da932fd0f271732f3f845dc3edfcc9a3c1557fef4f9c1cdb64736f6c634300080a0033";
16
+ static readonly abi: ({
17
+ inputs: {
18
+ internalType: string;
19
+ name: string;
20
+ type: string;
21
+ }[];
22
+ stateMutability: string;
23
+ type: string;
24
+ name?: undefined;
25
+ anonymous?: undefined;
26
+ outputs?: undefined;
27
+ } | {
28
+ inputs: never[];
29
+ name: string;
30
+ type: string;
31
+ stateMutability?: undefined;
32
+ anonymous?: undefined;
33
+ outputs?: undefined;
34
+ } | {
35
+ anonymous: boolean;
36
+ inputs: {
37
+ indexed: boolean;
38
+ internalType: string;
39
+ name: string;
40
+ type: string;
41
+ }[];
42
+ name: string;
43
+ type: string;
44
+ stateMutability?: undefined;
45
+ outputs?: undefined;
46
+ } | {
47
+ inputs: {
48
+ internalType: string;
49
+ name: string;
50
+ type: string;
51
+ }[];
52
+ name: string;
53
+ outputs: {
54
+ internalType: string;
55
+ name: string;
56
+ type: string;
57
+ }[];
58
+ stateMutability: string;
59
+ type: string;
60
+ anonymous?: undefined;
61
+ })[];
62
+ static createInterface(): PoolServiceInterface;
63
+ static connect(address: string, signerOrProvider: Signer | Provider): PoolService;
64
+ }
65
+ export {};