import { Signer, ContractFactory, Overrides } from "ethers"; import type { Provider, TransactionRequest } from "@ethersproject/providers"; import type { PromiseOrValue } from "../common"; import type { CreditManagerTestInternal, CreditManagerTestInternalInterface } from "../CreditManagerTestInternal"; declare type CreditManagerTestInternalConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class CreditManagerTestInternal__factory extends ContractFactory { constructor(...args: CreditManagerTestInternalConstructorParams); deploy(_poolService: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getDeployTransaction(_poolService: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): TransactionRequest; attach(address: string): CreditManagerTestInternal; connect(signer: Signer): CreditManagerTestInternal__factory; static readonly contractName: "CreditManagerTestInternal"; readonly contractName: "CreditManagerTestInternal"; static readonly bytecode = "0x6101606040526000805463ff0000001916630c0000001790553480156200002557600080fd5b50604051620064bc380380620064bc83398101604081905262000048916200053c565b80806001600160a01b0316632954018c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000088573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ae91906200053c565b6000805460ff191690556001600160a01b038116620000e057604051635919af9760e11b815260040160405180910390fd5b806001600160a01b031663087376956040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200011f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014591906200053c565b6001600160a01b03166080816001600160a01b031681525050506000816001600160a01b0316632954018c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c691906200053c565b6001600160a01b03831661010081905260e081905260408051632495a59960e01b81529051929350600092632495a599916004808201926020929091908290030181865afa1580156200021d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024391906200053c565b6001600160a01b03811660c05290506200025d8162000477565b816001600160a01b0316634c252f916040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200029c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c291906200053c565b6001600160a01b0316610120816001600160a01b031681525050816001600160a01b03166377532ed96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200031b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034191906200053c565b6001600160a01b0316610140816001600160a01b031681525050816001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200039a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c091906200053c565b6001600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550816001600160a01b0316639068a8686040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000428573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200044e91906200053c565b6001600160a01b031660a0525050600380546001600160a01b03191633179055506200058d9050565b6001600160a01b03811660009081526006602052604090205415620004af57604051632e5a5c7760e01b815260040160405180910390fd5b61010060055410620004d457604051633f02862960e11b815260040160405180910390fd5b600580546001600160a01b0383166000818152600660209081526040808320600190951b94859055848352600490915281209190915582549192906200051a8362000563565b91905055505050565b6001600160a01b03811681146200053957600080fd5b50565b6000602082840312156200054f57600080fd5b81516200055c8162000523565b9392505050565b60006000198214156200058657634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a05160c05160e051610100516101205161014051615e02620006ba600039600081816109d20152818161403d01526140f20152600081816106870152613fa50152600081816104a80152818161113401528181611198015281816129ed01528181612b4801528181612e8a01528181612fcb0152818161303c015281816131060152818161323d015281816132ec01526144b6015260006106ee01526000818161077901528181610fff01528181611090015281816110dd015281816111130152818161121c0152818161254f01528181612fa3015281816132150152818161377301528181613cf901528181613ea30152614985015260008181610a21015281816112be01526129b001526000818161092101528181611483015261277c0152615e026000f3fe608060405234801561001057600080fd5b50600436106104065760003560e01c80638456cb591161021a578063b5b12cd711610135578063e1998cf9116100c8578063f67c5bd011610097578063fdd576451161007c578063fdd5764514610ae8578063fe47cde714610b1e578063ff68754314610b3e57600080fd5b8063f67c5bd014610ab5578063f9aa028a14610ac857600080fd5b8063e1998cf914610a69578063e75538c714610a7c578063e958b70414610a8f578063eb99c2bf14610aa257600080fd5b8063d48bfca711610104578063d48bfca714610a09578063db7ceb8014610a1c578063dc2b21c114610a43578063dc9e0faa14610a5657600080fd5b8063b5b12cd71461097c578063b7ac50c61461098f578063c5e10eef146109cd578063ced342b5146109f457600080fd5b80639f5f86ae116101ad578063a50cf2c81161017c578063a50cf2c81461091c578063a64bec9e14610943578063a70bc54214610956578063b3da9e6b1461096957600080fd5b80639f5f86ae146108da5780639fd12b77146108ed578063a366f496146108f6578063a460e1041461090957600080fd5b8063944ac59f116101e9578063944ac59f1461084857806394cf073a1461085b578063953730181461086e5780639af1d35a1461088157600080fd5b80638456cb59146107fa57806384edaa42146108025780638991b2f1146108155780638fe3f93f1461083557600080fd5b806346fb371d116103255780635c975abb116102b85780636e98e5e411610287578063783274381161026c578063783274381461079b578063830aa745146107c15780638345f26e146107d457600080fd5b80636e98e5e4146107615780636f307dc31461077457600080fd5b80635c975abb14610710578063654a9eda1461071b578063693ce7f51461072e5780636ce4074a1461074157600080fd5b806351e3f160116102f457806351e3f160146106bc57806354fd4d50146106cf57806355aabafd146106d7578063570a7af2146106e957600080fd5b806346fb371d1461065c578063472029c41461066f5780634f0e0ef3146106825780635063524a146106a957600080fd5b80632630c12f1161039d57806338975bc41161036c57806338975bc4146106085780633e8297ca1461062b5780633f4ba83a1461064b578063458936f51461065357600080fd5b80632630c12f1461057357806329df0b931461059f5780632f7a1881146105b25780633192195c146105da57600080fd5b8063172c48c7116103d9578063172c48c7146104ca5780631b0c82341461050c57806322995f5d1461053f5780632362a2d81461055257600080fd5b8063055ee9b51461040b5780630d8f9cee1461046b5780630d92632d1461048e57806316f0115b146104a3575b600080fd5b61044161041936600461547c565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61047e610479366004615499565b610b74565b6040519015158152602001610462565b6104a161049c3660046154e0565b610d2b565b005b6104417f000000000000000000000000000000000000000000000000000000000000000081565b6104dd6104d8366004615548565b610d3f565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835261ffff909116602083015201610462565b61051f61051a366004615570565b610d57565b604080519485526020850193909352918301526060820152608001610462565b6104a161054d3660046155ab565b610d7d565b6105656105603660046155fc565b610d8f565b604051908152602001610462565b6001546a0100000000000000000000900473ffffffffffffffffffffffffffffffffffffffff16610441565b6104a16105ad36600461547c565b611352565b60005461044190640100000000900473ffffffffffffffffffffffffffffffffffffffff1681565b6105ed6105e836600461547c565b6113e8565b60408051938452602084019290925290820152606001610462565b61047e61061636600461547c565b600c6020526000908152604090205460ff1681565b61056561063936600461547c565b60096020526000908152604090205481565b6104a1611455565b61056560055481565b6104a161066a36600461567e565b611543565b61056561067d3660046156bf565b6117ae565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b61051f6106b7366004615570565b6117c7565b6104a16106ca366004615499565b6119b4565b61056560d281565b6105656106e5366004615548565b5490565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b60005460ff1661047e565b6104a16107293660046156fe565b611b62565b6104a161073c36600461547c565b61201d565b61075461074f36600461581d565b6120bd565b6040516104629190615938565b6104a161076f366004615499565b6123a3565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b6107ae6107a936600461547c565b61254b565b60405161ffff9091168152602001610462565b6104a16107cf36600461567e565b612624565b6000546107e8906301000000900460ff1681565b60405160ff9091168152602001610462565b6104a161274e565b6104a161081036600461547c565b61283a565b61056561082336600461547c565b60086020526000908152604090205481565b61044161084336600461594b565b6128da565b6104a1610856366004615982565b612c06565b6105656108693660046159e7565b612d33565b6104a161087c36600461547c565b613430565b6001546040805161ffff808416825262010000840481166020830152640100000000840481169282019290925266010000000000008304821660608201526801000000000000000090920416608082015260a001610462565b6104a16108e836600461547c565b61355c565b61056560075481565b6104a1610904366004615548565b61361c565b6104a161091736600461547c565b613672565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b610565610951366004615548565b61370f565b6104a1610964366004615a29565b613720565b60005461047e9062010000900460ff1681565b6105ed61098a36600461547c565b6138a6565b6104a161099d366004615a29565b73ffffffffffffffffffffffffffffffffffffffff909116600090815260096020526040902061ffff9091169055565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b6109fc6138c1565b6040516104629190615a5e565b6104a1610a1736600461547c565b613983565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b6104a1610a51366004615ab8565b6139dd565b6104a1610a6436600461547c565b613a69565b6104a1610a77366004615499565b613b0f565b6104dd610a8a366004615548565b613ce6565b610441610a9d36600461547c565b613d6b565b61047e610ab0366004615adb565b613dcf565b610565610ac336600461547c565b613e9f565b6003546104419073ffffffffffffffffffffffffffffffffffffffff1681565b610441610af636600461547c565b600b6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b600d546104419073ffffffffffffffffffffffffffffffffffffffff1681565b610441610b4c36600461547c565b600a6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6000805460ff161580610b8f575060005462010000900460ff165b610bfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064015b60405180910390fd5b336000908152600a602052604090205473ffffffffffffffffffffffffffffffffffffffff16158015610c4d5750600054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314155b15610c84576040517fad40d9e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff1615610cc6576040517f69bc183d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055610cfc8383613f27565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690559392505050565b610d388585858585613f9b565b5050505050565b600080610d4e6001841b613ce6565b91509150915091565b600080600080610d69888888886117c7565b93509350935093505b945094509450949050565b610d89848484846141ec565b50505050565b60008054610100900460ff1615610dd2576040517f69bc183d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff9091161790819055640100000000900473ffffffffffffffffffffffffffffffffffffffff163314610e58576040517fd8026b2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005460ff1615610f345773ffffffffffffffffffffffffffffffffffffffff85166000908152600c602052604090205460ff168015610ec457506001876003811115610ea757610ea7615b09565b1480610ec457506002876003811115610ec257610ec2615b09565b145b15610ed25760039650610f34565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610bf1565b6000610f3f89613d6b565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260026020526040812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590915080808080610f9a866113e8565b509094509050610fac8c8e86846117c7565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b81166004830152939b5093985090955093506000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015611048573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106c9190615b38565b90506110788887615b80565b611083906001615b80565b8111156110c3576110be877f00000000000000000000000000000000000000000000000000000000000000008d60018c8b870303038d613f9b565b61110d565b61110d73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168d8960018a8d01869003016142c6565b61115b877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000896000613f9b565b6040517fca9505e40000000000000000000000000000000000000000000000000000000081526004810186905260248101859052604481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063ca9505e490606401600060405180830381600087803b1580156111f157600080fd5b505af1158015611205573d6000803e3d6000fd5b5050505050505050600184111561124457611244837f00000000000000000000000000000000000000000000000000000000000000008d876000613f9b565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260086020526040902054861916611279848988846141ec565b6040517f89b77b3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301527f000000000000000000000000000000000000000000000000000000000000000016906389b77b3e90602401600060405180830381600087803b15801561130257600080fd5b505af1158015611316573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550949c9b505050505050505050505050565b336000908152600a602052604090205473ffffffffffffffffffffffffffffffffffffffff161580156113a55750600054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314155b156113dc576040517fad40d9e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113e58161435b565b50565b60008060008060006113f9866143cd565b919650925090508161140b8287615b98565b6114159190615bd5565b6001549094506127109061ffff1661142d8787615c10565b6114379190615b98565b6114419190615bd5565b61144b9085615b80565b9496939550505050565b6040517fd4eb5db00000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063d4eb5db090602401602060405180830381865afa1580156114df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115039190615c27565b611539576040517f10332dee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61154161454b565b565b60005460ff16158061155d575060005462010000900460ff165b6115c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610bf1565b600054610100900460ff1615611605576040517f69bc183d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100178155338152600a602052604090205473ffffffffffffffffffffffffffffffffffffffff908116908416148015906116875750600054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314155b80156116ab5750600d5473ffffffffffffffffffffffffffffffffffffffff163314155b806116ca575073ffffffffffffffffffffffffffffffffffffffff8316155b15611701576040517fad40d9e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61170a82613e9f565b611740576040517f700ca0af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061174b85613d6b565b905061175b8385838560006145c8565b61177f5761176e838583600060016145c8565b5061177d8385838560016145c8565b505b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050565b60006117bd8686868686614769565b9695505050505050565b6001546000908190819081906127109061ffff166117e58888615c10565b6117ef9190615b98565b6117f99190615bd5565b6118039086615b80565b9350600187600381111561181957611819615b09565b14806118365750600287600381111561183457611834615b09565b145b806118525750600387600381111561185057611850615b09565b145b156119a5576000600188600381111561186d5761186d615b09565b14156118d3576001546127109061189090640100000000900461ffff168b615b98565b61189a9190615bd5565b600154909150612710906118b89062010000900461ffff168b615b98565b6118c29190615bd5565b6118cc9086615b80565b945061196f565b60028860038111156118e7576118e7615b09565b141561193a576001546127109061190e9068010000000000000000900461ffff168b615b98565b6119189190615bd5565b600154909150612710906118b8906601000000000000900461ffff168b615b98565b506001548890612710906119589062010000900461ffff1683615b98565b6119629190615bd5565b61196c9086615b80565b94505b84811115611984576001858203039350611988565b8094505b85811061199957858503925061199f565b84860391505b50610d72565b92979196505091860393509150565b60005460ff1615806119ce575060005462010000900460ff165b611a34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610bf1565b336000908152600a602052604090205473ffffffffffffffffffffffffffffffffffffffff16158015611a875750600054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314155b15611abe576040517fad40d9e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff1615611b00576040517f69bc183d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055611b368282614845565b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055565b336000908152600a602052604090205473ffffffffffffffffffffffffffffffffffffffff16158015611bb55750600054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314155b15611bec576040517fad40d9e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff1615611c2e576040517f69bc183d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055611c648584614845565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152600091908616906370a0823190602401602060405180830381865afa158015611cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf89190615b38565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301529192506000918616906370a0823190602401602060405180830381865afa158015611d6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8e9190615b38565b60015490915060009081906a0100000000000000000000900473ffffffffffffffffffffffffffffffffffffffff16635cecbd0e611dcc8689615c10565b8a611dd78988615c10565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168152600481019390935273ffffffffffffffffffffffffffffffffffffffff918216602484015260448301528a1660648201526084016040805180830381865afa158015611e53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e779190615c44565b9150915060018411611e8f57611e8d8989613f27565b505b611e988761254b565b611ea69061ffff1682615b98565b9050611eb18861254b565b611ebf9061ffff1683615b98565b9150818110611eda57611ed18961435b565b5050505061177f565b73ffffffffffffffffffffffffffffffffffffffff891660009081526009602052604081205483611f176b033b2e3c9fd0803ce800000085615b98565b611f219190615bd5565b611f37906b033b2e3c9fd0803ce8000000615c10565b611f419190615b80565b60015490915061271090611f6c906b033b2e3c9fd0803ce80000009062010000900461ffff16615b98565b611f769190615bd5565b8111611fb75773ffffffffffffffffffffffffffffffffffffffff8a166000908152600960205260409020819055611fad8a61435b565b505050505061177f565b611fc08a6148f5565b50505073ffffffffffffffffffffffffffffffffffffffff871660009081526009602052604090206001905550505050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050565b60035473ffffffffffffffffffffffffffffffffffffffff16331461206e576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805473ffffffffffffffffffffffffffffffffffffffff909216640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909216919091179055565b60606120cb60005460ff1690565b15806120df575060005462010000900460ff165b612145576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610bf1565b600054610100900460ff1615612187576040517f69bc183d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100178155338152600a602052604090205473ffffffffffffffffffffffffffffffffffffffff9081169084161415806121fc575073ffffffffffffffffffffffffffffffffffffffff8316155b1561225257600d5473ffffffffffffffffffffffffffffffffffffffff163314612252576040517ffc1a554300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061225d85613d6b565b90508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167faed1eb34af6acd8c1e3911fb2ebb875a66324b03957886bd002227b17f52ab0360405160405180910390a36040517f1cff79cd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690631cff79cd9061230d9087908790600401615c68565b6000604051808303816000875af115801561232c573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526123729190810190615c97565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905595945050505050565b60035473ffffffffffffffffffffffffffffffffffffffff1633146123f4576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216156124645773ffffffffffffffffffffffffffffffffffffffff8281166000908152600a6020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169183169190911790555b73ffffffffffffffffffffffffffffffffffffffff8116156124d45773ffffffffffffffffffffffffffffffffffffffff8181166000908152600b6020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169184169190911790555b73ffffffffffffffffffffffffffffffffffffffff811673cccccccccccccccccccccccccccccccccccccccc141561254757600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790555b5050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125cf5750506001547e01000000000000000000000000000000000000000000000000000000000000900461ffff1690565b60006125da83613e9f565b905080612613576040517f700ca0af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61261c81613ce6565b949350505050565b61262c614c69565b600054610100900460ff161561266e576040517f69bc183d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff9091161790819055640100000000900473ffffffffffffffffffffffffffffffffffffffff1633146126f4576040517fd8026b2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6126fe8383614845565b61272073ffffffffffffffffffffffffffffffffffffffff83168585846142c6565b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555050565b6040517f3a41ec640000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690633a41ec6490602401602060405180830381865afa1580156127d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127fc9190615c27565b612832576040517fd794b1e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611541614cd6565b60035473ffffffffffffffffffffffffffffffffffffffff16331461288b576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff166000908152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60006128e4614c69565b600054610100900460ff1615612926576040517f69bc183d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff9091161790819055640100000000900473ffffffffffffffffffffffffffffffffffffffff1633146129ac576040517fd8026b2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166321d18456857f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16630fce70fb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7a9190615b38565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925260248201526044016020604051808303816000875af1158015612ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af99190615d05565b6040517fbf28068b0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff80831660248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063bf28068b90604401600060405180830381600087803b158015612b8e57600080fd5b505af1158015612ba2573d6000803e3d6000fd5b50505050612bb08382614d31565b73ffffffffffffffffffffffffffffffffffffffff811660009081526008602052604081206001905580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690559392505050565b60035473ffffffffffffffffffffffffffffffffffffffff163314612c57576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001805461ffff92831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff9484166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffff96851664010000000002969096167fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff97851662010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000090931694909816939093171794909416949094179190911716919091179055565b6000612d3d614c69565b600054610100900460ff1615612d7f576040517f69bc183d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff9091161790819055640100000000900473ffffffffffffffffffffffffffffffffffffffff163314612e05576040517fd8026b2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806000612e13876143cd565b92509250925060008515612eed57612e2b8785615b80565b9450612e3b848884866001614769565b6040517fbf28068b0000000000000000000000000000000000000000000000000000000081526004810189905273ffffffffffffffffffffffffffffffffffffffff8a811660248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063bf28068b90604401600060405180830381600087803b158015612ed057600080fd5b505af1158015612ee4573d6000803e3d6000fd5b50505050613375565b60008484612efb8583615b98565b612f059190615bd5565b612f0f9190615c10565b60015490915060009061271090612f2a9061ffff1684615b98565b612f349190615bd5565b9050612f408183615b80565b891061319a578881612f528489615b80565b612f5c9190615b80565b612f669190615c10565b6040517fd1660f9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152604482018c9052919850908b169063d1660f9990606401600060405180830381600087803b15801561302257600080fd5b505af1158015613036573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ca9505e482848c6130839190615c10565b61308d9190615c10565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815260048101919091526024810184905260006044820152606401600060405180830381600087803b1580156130ec57600080fd5b505af1158015613100573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16630fce70fb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561316f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131939190615b38565b9250613372565b6001546000906131b09061ffff16612710615d22565b61ffff166131c06127108c615b98565b6131ca9190615bd5565b905060006131d8828c615c10565b6040517fd1660f9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152604482018e9052999a508a99919250908d169063d1660f9990606401600060405180830381600087803b15801561329957600080fd5b505af11580156132ad573d6000803e3d6000fd5b50506040517fca9505e40000000000000000000000000000000000000000000000000000000081526000600482018190526024820185905260448201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16925063ca9505e49150606401600060405180830381600087803b15801561334757600080fd5b505af115801561335b573d6000803e3d6000fd5b5050505061336d8883888a6000614769565b945050505b50505b6040517f16128211000000000000000000000000000000000000000000000000000000008152600481018690526024810182905273ffffffffffffffffffffffffffffffffffffffff891690631612821190604401600060405180830381600087803b1580156133e457600080fd5b505af11580156133f8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055509498975050505050505050565b336000908152600a602052604090205473ffffffffffffffffffffffffffffffffffffffff161580156134835750600054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314155b156134ba576040517fad40d9e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff16156134fc576040517f69bc183d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055613531816148f5565b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055565b60035473ffffffffffffffffffffffffffffffffffffffff1633146135ad576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ff62005acebe9b616aefb5f248b48f5e89f28437b27d1eebc0b2d911209f297af90600090a250565b60035473ffffffffffffffffffffffffffffffffffffffff16331461366d576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600755565b60035473ffffffffffffffffffffffffffffffffffffffff1633146136c3576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff166000908152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600061371a82614e04565b92915050565b60035473ffffffffffffffffffffffffffffffffffffffff163314613771576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613818576001805461ffff83167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790555050565b600061382383613e9f565b90508061385c576040517f700ca0af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000908152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff1675ffff000000000000000000000000000000000000000060a084901b161790555050565b60008060006138b4846143cd565b9250925092509193909250565b6005546060908067ffffffffffffffff8111156138e0576138e0615759565b604051908082528060200260200182016040528015613909578160200160208202803683370190505b50915060005b8181101561397e5761392081610d3f565b5083828151811061393357613933615d48565b602002602001018173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050808061397690615d77565b91505061390f565b505090565b60035473ffffffffffffffffffffffffffffffffffffffff1633146139d4576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113e581614e6f565b60035473ffffffffffffffffffffffffffffffffffffffff163314613a2e576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460ff9092166301000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff909216919091179055565b60035473ffffffffffffffffffffffffffffffffffffffff163314613aba576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff9092166a0100000000000000000000027fffff0000000000000000000000000000000000000000ffffffffffffffffffff909216919091179055565b60005460ff161580613b29575060005462010000900460ff165b613b8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610bf1565b600054610100900460ff1615613bd1576040517f69bc183d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff9091161790819055640100000000900473ffffffffffffffffffffffffffffffffffffffff163314613c57576040517fd8026b2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613c6283613d6b565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559050613cb98282614d31565b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b6000808260011415613d445750506001547f0000000000000000000000000000000000000000000000000000000000000000927e0100000000000000000000000000000000000000000000000000000000000090910461ffff169150565b600083815260046020526040902054915081613d6360a082901c614f63565b915050915091565b73ffffffffffffffffffffffffffffffffffffffff8082166000908152600260205260409020541680613dca576040517fb5ba4c4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60008054640100000000900473ffffffffffffffffffffffffffffffffffffffff163314613e29576040517fd8026b2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005460ff16808015613e61575073ffffffffffffffffffffffffffffffffffffffff84166000908152600c602052604090205460ff165b15613e9857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1662010000851515021790555b9392505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614613f1f5773ffffffffffffffffffffffffffffffffffffffff821660009081526006602052604090205461371a565b600192915050565b600080613f3383613e9f565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260086020526040902054909150811615613f945773ffffffffffffffffffffffffffffffffffffffff8416600090815260086020526040902080548219169055600191505b5092915050565b808015613ff357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15614155576040517fd1660f9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301526044820184905286169063d1660f9990606401600060405180830381600087803b15801561409057600080fd5b505af11580156140a4573d6000803e3d6000fd5b50506040517f5869dba800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169250635869dba89150604401600060405180830381600087803b15801561413857600080fd5b505af115801561414c573d6000803e3d6000fd5b50505050610d38565b6040517fd1660f9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015284811660248301526044820184905286169063d1660f9990606401600060405180830381600087803b1580156141cd57600080fd5b505af11580156141e1573d6000803e3d6000fd5b505050505050505050565b60025b818111610d3857818116156142be57600061420982613ce6565b506040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301529192506000918316906370a0823190602401602060405180830381865afa15801561427c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142a09190615b38565b905060018111156142bb576142bb8783886001850389613f9b565b50505b60011b6141ef565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610d89908590614ffb565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600860205260408120549061438b82615107565b6000549091506301000000900460ff168111156143c85760006143ad83614e04565b6143b8906001615b80565b9050610d8984848460008561511d565b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff16631afbb7a46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561441d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144419190615b38565b92508373ffffffffffffffffffffffffffffffffffffffff166317d11a156040518163ffffffff1660e01b8152600401602060405180830381865afa15801561448e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144b29190615b38565b91507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16630fce70fb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561451f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145439190615b38565b929491935050565b61455361528c565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6040805173ffffffffffffffffffffffffffffffffffffffff8681166024830152604480830186905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905291517f1cff79cd000000000000000000000000000000000000000000000000000000008152600092861691631cff79cd91614689918a91600401615c68565b6000604051808303816000875af19250505080156146e757506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526146e49190810190615c97565b60015b6146f057614724565b8051158061471357508080602001905181019061470d9190615c27565b15156001145b15614722576001915050614760565b505b811561475c576040517f2f10a7f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060005b95945050505050565b600081156147e657600061477d8688615b80565b905061478d86633b9aca00615b98565b848861479d88633b9aca00615b98565b6147a79190615b98565b6147b19190615bd5565b6147bb9190615b80565b633b9aca006147ca8388615b98565b6147d49190615b98565b6147de9190615bd5565b915050614760565b85836147f687633b9aca00615b98565b6148009190615b98565b61480a9190615bd5565b61481885633b9aca00615b98565b6148229190615c10565b8361483186633b9aca00615b98565b61483b9190615b98565b6117bd9190615bd5565b600061485082613e9f565b90508015806148625750600754811615155b15614899576040517f700ca0af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831660009081526008602052604090205481166143c85773ffffffffffffffffffffffffffffffffffffffff83166000908152600860205260409020805482179055505050565b60015473ffffffffffffffffffffffffffffffffffffffff8281166000908152600860205260408120546a01000000000000000000009093049091169190808061493e866113e8565b6040517ff9a650300000000000000000000000000000000000000000000000000000000081526127108202600482015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166024830152919450908816925063f9a650309150604401602060405180830381865afa1580156149da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149fe9190615b38565b9250614a0984614e04565b6001019150506000806000805b84811015614c36578015614a2f5760018186031b614a32565b60015b935086841615614c2e57600080614a4886613ce6565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8e811660048301529294509092506000918416906370a0823190602401602060405180830381865afa158015614abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614ae19190615b38565b90506001811115614c21576040517ff9a650300000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff848116602483015261ffff841691908d169063f9a6503090604401602060405180830381865afa158015614b66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b8a9190615b38565b614b949190615b98565b614b9e9087615b80565b9550888610614c1c576000614bb28b615107565b6000549091506301000000900460ff16811115614bde57614bd98d8c836001898e0361511d565b614c0d565b8515614c0d5773ffffffffffffffffffffffffffffffffffffffff8d1660009081526008602052604090208b90555b50505050505050505050505050565b614c2a565b98861898600194505b5050505b600101614a16565b506040517f532e7bb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005460ff1615611541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610bf1565b614cde614c69565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861459e3390565b73ffffffffffffffffffffffffffffffffffffffff82161580614d7a575073ffffffffffffffffffffffffffffffffffffffff8281166000908152600260205260409020541615155b15614db1576040517f9e59609e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b60008160011415614e1757506000919050565b61010060015b6001614e298284615b80565b901c92506001831b84811615801590614e445750600185851c145b15614e4f5750614e68565b848110614e5e57839250614e62565b8391505b50614e1d565b5050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526006602052604090205415614ecc576040517f2e5a5c7700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61010060055410614f09576040517f7e050c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005805473ffffffffffffffffffffffffffffffffffffffff83166000818152600660209081526040808320600190951b9485905584835260049091528120919091558254919290614f5a83615d77565b91905055505050565b600061ffff821115614ff7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f36206269747300000000000000000000000000000000000000000000000000006064820152608401610bf1565b5090565b600061505d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166152f89092919063ffffffff16565b8051909150156143c8578080602001905181019061507b9190615c27565b6143c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610bf1565b60005b8115613dca57600182811c92160161510a565b815b81811015615259576001811b8581161561525057600061513e82613ce6565b506040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301529192506000918316906370a0823190602401602060405180830381865afa1580156151b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906151d59190615b38565b90506001811161524d57600054978318977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9097019660ff630100000090910416871161524d5750505073ffffffffffffffffffffffffffffffffffffffff8616600090815260086020526040902085905550610d38565b50505b5060010161511f565b506040517f30b5495c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005460ff16611541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610bf1565b606061261c84846000858573ffffffffffffffffffffffffffffffffffffffff85163b615381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610bf1565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516153aa9190615db0565b60006040518083038185875af1925050503d80600081146153e7576040519150601f19603f3d011682016040523d82523d6000602084013e6153ec565b606091505b50915091506153fc828286615407565b979650505050505050565b60608315615416575081613e98565b8251156154265782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf19190615938565b73ffffffffffffffffffffffffffffffffffffffff811681146113e557600080fd5b60006020828403121561548e57600080fd5b8135613e988161545a565b600080604083850312156154ac57600080fd5b82356154b78161545a565b915060208301356154c78161545a565b809150509250929050565b80151581146113e557600080fd5b600080600080600060a086880312156154f857600080fd5b85356155038161545a565b945060208601356155138161545a565b935060408601356155238161545a565b925060608601359150608086013561553a816154d2565b809150509295509295909350565b60006020828403121561555a57600080fd5b5035919050565b803560048110613dca57600080fd5b6000806000806080858703121561558657600080fd5b8435935061559660208601615561565b93969395505050506040820135916060013590565b600080600080608085870312156155c157600080fd5b84356155cc8161545a565b935060208501356155dc8161545a565b925060408501356155ec816154d2565b9396929550929360600135925050565b600080600080600080600060e0888a03121561561757600080fd5b87356156228161545a565b965061563060208901615561565b95506040880135945060608801356156478161545a565b935060808801356156578161545a565b925060a0880135915060c088013561566e816154d2565b8091505092959891949750929550565b6000806000806080858703121561569457600080fd5b843561569f8161545a565b935060208501356156af8161545a565b925060408501356155ec8161545a565b600080600080600060a086880312156156d757600080fd5b85359450602086013593506040860135925060608601359150608086013561553a816154d2565b600080600080600060a0868803121561571657600080fd5b85356157218161545a565b945060208601356157318161545a565b935060408601356157418161545a565b94979396509394606081013594506080013592915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156157cf576157cf615759565b604052919050565b600067ffffffffffffffff8211156157f1576157f1615759565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008060006060848603121561583257600080fd5b833561583d8161545a565b9250602084013561584d8161545a565b9150604084013567ffffffffffffffff81111561586957600080fd5b8401601f8101861361587a57600080fd5b803561588d615888826157d7565b615788565b8181528760208385010111156158a257600080fd5b816020840160208301376000602083830101528093505050509250925092565b60005b838110156158dd5781810151838201526020016158c5565b83811115610d895750506000910152565b600081518084526159068160208601602086016158c2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613e9860208301846158ee565b6000806040838503121561595e57600080fd5b8235915060208301356154c78161545a565b803561ffff81168114613dca57600080fd5b600080600080600060a0868803121561599a57600080fd5b6159a386615970565b94506159b160208701615970565b93506159bf60408701615970565b92506159cd60608701615970565b91506159db60808701615970565b90509295509295909350565b6000806000606084860312156159fc57600080fd5b8335615a078161545a565b9250602084013591506040840135615a1e816154d2565b809150509250925092565b60008060408385031215615a3c57600080fd5b8235615a478161545a565b9150615a5560208401615970565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015615aac57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101615a7a565b50909695505050505050565b600060208284031215615aca57600080fd5b813560ff81168114613e9857600080fd5b60008060408385031215615aee57600080fd5b8235615af98161545a565b915060208301356154c7816154d2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215615b4a57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615b9357615b93615b51565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615bd057615bd0615b51565b500290565b600082615c0b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600082821015615c2257615c22615b51565b500390565b600060208284031215615c3957600080fd5b8151613e98816154d2565b60008060408385031215615c5757600080fd5b505080516020909101519092909150565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600061261c60408301846158ee565b600060208284031215615ca957600080fd5b815167ffffffffffffffff811115615cc057600080fd5b8201601f81018413615cd157600080fd5b8051615cdf615888826157d7565b818152856020838501011115615cf457600080fd5b6147608260208301602086016158c2565b600060208284031215615d1757600080fd5b8151613e988161545a565b600061ffff808316818516808303821115615d3f57615d3f615b51565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415615da957615da9615b51565b5060010190565b60008251615dc28184602087016158c2565b919091019291505056fea2646970667358221220d98afce10c1e2aad778d12d46d189cf25931c741195f4e09c974dce71cdf513264736f6c634300080a0033"; static readonly abi: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolService"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "AdaptersOrCreditFacadeOnlyException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "AllowanceFailedException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CallerNotPausableAdminException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CallerNotUnPausableAdminException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CreditConfiguratorOnlyException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CreditFacadeOnlyException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "HasNoOpenedAccountException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotEnoughCollateralException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ReentrancyLockException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TargetContractNotAllowedException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenAlreadyAddedException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenNotAllowedException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TooManyEnabledTokensException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TooManyTokensException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroAddressException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroAddressOrUserAlreadyHasAccountException"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }]; readonly name: "ExecuteOrder"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "newConfigurator"; readonly type: "address"; }]; readonly name: "NewConfigurator"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "Paused"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "Unpaused"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "_accountFactory"; readonly outputs: readonly [{ readonly internalType: "contract IAccountFactory"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_acl"; readonly outputs: readonly [{ readonly internalType: "contract IACL"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "adapterToContract"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "payer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "addCollateral"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "liquidator"; readonly type: "address"; }]; readonly name: "addEmergencyLiquidator"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "addToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "targetContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "approveCreditAccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "totalValue"; readonly type: "uint256"; }, { readonly internalType: "enum ClosureAction"; readonly name: "closureActionType"; readonly type: "uint8"; }, { readonly internalType: "uint256"; readonly name: "borrowedAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowedAmountWithInterest"; readonly type: "uint256"; }]; readonly name: "calcClosePayments"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountToPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "remainingFunds"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "profit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "loss"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "totalValue"; readonly type: "uint256"; }, { readonly internalType: "enum ClosureAction"; readonly name: "closureActionType"; readonly type: "uint8"; }, { readonly internalType: "uint256"; readonly name: "borrowedAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowedAmountWithInterest"; readonly type: "uint256"; }]; readonly name: "calcClosePaymentsPure"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountToPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "remainingFunds"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "profit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "loss"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }]; readonly name: "calcCreditAccountAccruedInterest"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "borrowedAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowedAmountWithInterest"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowedAmountWithInterestAndFees"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "borrowedAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "delta"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "cumulativeIndexNow"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "cumulativeIndexOpen"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isIncrease"; readonly type: "bool"; }]; readonly name: "calcNewCumulativeIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "newCumulativeIndex"; readonly type: "uint256"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "canLiquidateWhilePaused"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "adapter"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "targetContract"; readonly type: "address"; }]; readonly name: "changeContractAllowance"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "checkAndEnableToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }]; readonly name: "checkAndOptimizeEnabledTokens"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "caller"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "state"; readonly type: "bool"; }]; readonly name: "checkEmergencyPausable"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly internalType: "enum ClosureAction"; readonly name: "closureActionType"; readonly type: "uint8"; }, { readonly internalType: "uint256"; readonly name: "totalValue"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "payer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "skipTokenMask"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "convertWETH"; readonly type: "bool"; }]; readonly name: "closeCreditAccount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingFunds"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "id"; readonly type: "uint256"; }]; readonly name: "collateralTokens"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint16"; readonly name: "liquidationThreshold"; readonly type: "uint16"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenMask"; readonly type: "uint256"; }]; readonly name: "collateralTokensByMask"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint16"; readonly name: "liquidationThreshold"; readonly type: "uint16"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "collateralTokensCount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "collateralTokensInternal"; readonly outputs: readonly [{ readonly internalType: "address[]"; readonly name: "collateralTokensAddr"; readonly type: "address[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "contractToAdapter"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "creditAccounts"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "creditConfigurator"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "creditFacade"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "cumulativeDropAtFastCheckRAY"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "disableToken"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "emergencyLiquidation"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "enabledTokensMap"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "targetContract"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "executeOrder"; readonly outputs: readonly [{ readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "tokenOut"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balanceInBefore"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "balanceOutBefore"; readonly type: "uint256"; }]; readonly name: "fastCollateralCheck"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "fees"; readonly outputs: readonly [{ readonly internalType: "uint16"; readonly name: "feeInterest"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "feeLiquidation"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "liquidationDiscount"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "feeLiquidationExpired"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "liquidationDiscountExpired"; readonly type: "uint16"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "forbiddenTokenMask"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }]; readonly name: "fullCollateralCheck"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }]; readonly name: "getCreditAccountOrRevert"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "result"; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }]; readonly name: "getCreditAccountParameters"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "borrowedAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "cumulativeIndexAtOpen"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "cumulativeIndexNow"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "mask"; readonly type: "uint256"; }]; readonly name: "getMaxIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "slotNum"; readonly type: "uint256"; }]; readonly name: "getSlotBytes"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: "slotVal"; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "liquidationThresholds"; readonly outputs: readonly [{ readonly internalType: "uint16"; readonly name: "lt"; readonly type: "uint16"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "increase"; readonly type: "bool"; }]; readonly name: "manageDebt"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "newBorrowedAmount"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxAllowedEnabledTokenLength"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "borrowedAmount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "onBehalfOf"; readonly type: "address"; }]; readonly name: "openCreditAccount"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "pause"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "paused"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "pool"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "poolService"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "priceOracle"; readonly outputs: readonly [{ readonly internalType: "contract IPriceOracleV2"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "liquidator"; readonly type: "address"; }]; readonly name: "removeEmergencyLiquidator"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "convertToETH"; readonly type: "bool"; }]; readonly name: "safeTokenTransfer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_creditConfigurator"; readonly type: "address"; }]; readonly name: "setConfigurator"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }, { readonly internalType: "uint16"; readonly name: "value"; readonly type: "uint16"; }]; readonly name: "setCumulativeDropAtFastCheck"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_forbidMask"; readonly type: "uint256"; }]; readonly name: "setForbidMask"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint16"; readonly name: "liquidationThreshold"; readonly type: "uint16"; }]; readonly name: "setLiquidationThreshold"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint8"; readonly name: "newMaxEnabledTokens"; readonly type: "uint8"; }]; readonly name: "setMaxEnabledTokens"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint16"; readonly name: "_feeInterest"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "_feeLiquidation"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "_liquidationDiscount"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "_feeLiquidationExpired"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "_liquidationDiscountExpired"; readonly type: "uint16"; }]; readonly name: "setParams"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "tokenMasksMap"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "mask"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "transferAccountOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "convertWETH"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "enabledTokenMask"; readonly type: "uint256"; }]; readonly name: "transferAssetsTo"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "underlying"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "universalAdapter"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "unpause"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_creditFacade"; readonly type: "address"; }]; readonly name: "upgradeCreditFacade"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_priceOracle"; readonly type: "address"; }]; readonly name: "upgradePriceOracle"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "version"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "wethAddress"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "wethGateway"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; static createInterface(): CreditManagerTestInternalInterface; static connect(address: string, signerOrProvider: Signer | Provider): CreditManagerTestInternal; } export {};