mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
506 lines
40 KiB
TypeScript
506 lines
40 KiB
TypeScript
/* Generated by ts-generator ver. 0.0.8 */
|
|
/* tslint:disable */
|
|
|
|
import { Contract, ContractFactory, Signer } from "ethers";
|
|
import { Provider } from "ethers/providers";
|
|
import { UnsignedTransaction } from "ethers/utils/transaction";
|
|
|
|
import { TransactionOverrides } from ".";
|
|
import { LendingPoolDataProvider } from "./LendingPoolDataProvider";
|
|
|
|
export class LendingPoolDataProviderFactory extends ContractFactory {
|
|
constructor(signer?: Signer) {
|
|
super(_abi, _bytecode, signer);
|
|
}
|
|
|
|
deploy(overrides?: TransactionOverrides): Promise<LendingPoolDataProvider> {
|
|
return super.deploy(overrides) as Promise<LendingPoolDataProvider>;
|
|
}
|
|
getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction {
|
|
return super.getDeployTransaction(overrides);
|
|
}
|
|
attach(address: string): LendingPoolDataProvider {
|
|
return super.attach(address) as LendingPoolDataProvider;
|
|
}
|
|
connect(signer: Signer): LendingPoolDataProviderFactory {
|
|
return super.connect(signer) as LendingPoolDataProviderFactory;
|
|
}
|
|
static connect(
|
|
address: string,
|
|
signerOrProvider: Signer | Provider
|
|
): LendingPoolDataProvider {
|
|
return new Contract(
|
|
address,
|
|
_abi,
|
|
signerOrProvider
|
|
) as LendingPoolDataProvider;
|
|
}
|
|
}
|
|
|
|
const _abi = [
|
|
{
|
|
inputs: [],
|
|
name: "DATA_PROVIDER_REVISION",
|
|
outputs: [
|
|
{
|
|
internalType: "uint256",
|
|
name: "",
|
|
type: "uint256"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [],
|
|
name: "HEALTH_FACTOR_LIQUIDATION_THRESHOLD",
|
|
outputs: [
|
|
{
|
|
internalType: "uint256",
|
|
name: "",
|
|
type: "uint256"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [],
|
|
name: "addressesProvider",
|
|
outputs: [
|
|
{
|
|
internalType: "contract LendingPoolAddressesProvider",
|
|
name: "",
|
|
type: "address"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [
|
|
{
|
|
internalType: "address",
|
|
name: "_reserve",
|
|
type: "address"
|
|
},
|
|
{
|
|
internalType: "address",
|
|
name: "_user",
|
|
type: "address"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "_amount",
|
|
type: "uint256"
|
|
}
|
|
],
|
|
name: "balanceDecreaseAllowed",
|
|
outputs: [
|
|
{
|
|
internalType: "bool",
|
|
name: "",
|
|
type: "bool"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [
|
|
{
|
|
internalType: "address",
|
|
name: "_reserve",
|
|
type: "address"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "_amount",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "_fee",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "_userCurrentBorrowBalanceTH",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "_userCurrentFeesETH",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "_userCurrentLtv",
|
|
type: "uint256"
|
|
}
|
|
],
|
|
name: "calculateCollateralNeededInETH",
|
|
outputs: [
|
|
{
|
|
internalType: "uint256",
|
|
name: "",
|
|
type: "uint256"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [
|
|
{
|
|
internalType: "address",
|
|
name: "_user",
|
|
type: "address"
|
|
}
|
|
],
|
|
name: "calculateUserGlobalData",
|
|
outputs: [
|
|
{
|
|
internalType: "uint256",
|
|
name: "totalLiquidityBalanceETH",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "totalCollateralBalanceETH",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "totalBorrowBalanceETH",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "totalFeesETH",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "currentLtv",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "currentLiquidationThreshold",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "healthFactor",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "bool",
|
|
name: "healthFactorBelowThreshold",
|
|
type: "bool"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [],
|
|
name: "core",
|
|
outputs: [
|
|
{
|
|
internalType: "contract LendingPoolCore",
|
|
name: "",
|
|
type: "address"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [],
|
|
name: "getHealthFactorLiquidationThreshold",
|
|
outputs: [
|
|
{
|
|
internalType: "uint256",
|
|
name: "",
|
|
type: "uint256"
|
|
}
|
|
],
|
|
stateMutability: "pure",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [
|
|
{
|
|
internalType: "address",
|
|
name: "_reserve",
|
|
type: "address"
|
|
}
|
|
],
|
|
name: "getReserveConfigurationData",
|
|
outputs: [
|
|
{
|
|
internalType: "uint256",
|
|
name: "ltv",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "liquidationThreshold",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "liquidationBonus",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "address",
|
|
name: "rateStrategyAddress",
|
|
type: "address"
|
|
},
|
|
{
|
|
internalType: "bool",
|
|
name: "usageAsCollateralEnabled",
|
|
type: "bool"
|
|
},
|
|
{
|
|
internalType: "bool",
|
|
name: "borrowingEnabled",
|
|
type: "bool"
|
|
},
|
|
{
|
|
internalType: "bool",
|
|
name: "stableBorrowRateEnabled",
|
|
type: "bool"
|
|
},
|
|
{
|
|
internalType: "bool",
|
|
name: "isActive",
|
|
type: "bool"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [
|
|
{
|
|
internalType: "address",
|
|
name: "_reserve",
|
|
type: "address"
|
|
}
|
|
],
|
|
name: "getReserveData",
|
|
outputs: [
|
|
{
|
|
internalType: "uint256",
|
|
name: "totalLiquidity",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "availableLiquidity",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "totalBorrowsStable",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "totalBorrowsVariable",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "liquidityRate",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "variableBorrowRate",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "stableBorrowRate",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "averageStableBorrowRate",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "utilizationRate",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "liquidityIndex",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "variableBorrowIndex",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "address",
|
|
name: "aTokenAddress",
|
|
type: "address"
|
|
},
|
|
{
|
|
internalType: "uint40",
|
|
name: "lastUpdateTimestamp",
|
|
type: "uint40"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [
|
|
{
|
|
internalType: "address",
|
|
name: "_user",
|
|
type: "address"
|
|
}
|
|
],
|
|
name: "getUserAccountData",
|
|
outputs: [
|
|
{
|
|
internalType: "uint256",
|
|
name: "totalLiquidityETH",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "totalCollateralETH",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "totalBorrowsETH",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "totalFeesETH",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "availableBorrowsETH",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "currentLiquidationThreshold",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "ltv",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "healthFactor",
|
|
type: "uint256"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [
|
|
{
|
|
internalType: "address",
|
|
name: "_reserve",
|
|
type: "address"
|
|
},
|
|
{
|
|
internalType: "address",
|
|
name: "_user",
|
|
type: "address"
|
|
}
|
|
],
|
|
name: "getUserReserveData",
|
|
outputs: [
|
|
{
|
|
internalType: "uint256",
|
|
name: "currentATokenBalance",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "currentBorrowBalance",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "principalBorrowBalance",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "borrowRateMode",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "borrowRate",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "liquidityRate",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "originationFee",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "variableBorrowIndex",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "uint256",
|
|
name: "lastUpdateTimestamp",
|
|
type: "uint256"
|
|
},
|
|
{
|
|
internalType: "bool",
|
|
name: "usageAsCollateralEnabled",
|
|
type: "bool"
|
|
}
|
|
],
|
|
stateMutability: "view",
|
|
type: "function"
|
|
},
|
|
{
|
|
inputs: [
|
|
{
|
|
internalType: "contract LendingPoolAddressesProvider",
|
|
name: "_addressesProvider",
|
|
type: "address"
|
|
}
|
|
],
|
|
name: "initialize",
|
|
outputs: [],
|
|
stateMutability: "nonpayable",
|
|
type: "function"
|
|
}
|
|
];
|
|
|
|
const _bytecode =
|
|
"0x60806040526000805534801561001457600080fd5b50613c56806100246000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806376e9d6151161008c578063c3525c2811610066578063c3525c281461059c578063c4d66de8146105ba578063c72c4d10146105fe578063f2f4eb2614610648576100cf565b806376e9d6151461046f5780638daf609f146104f5578063bf92857c14610513576100cf565b806312737c33146100d457806328dd2d011461015e5780632c6d0e9b1461021957806335ea6a75146102a65780633e1501411461038c5780633e44bee814610451575b600080fd5b610148600480360360c08110156100ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610692565b6040518082815260200191505060405180910390f35b6101c06004803603604081101561017457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061096c565b604051808b81526020018a8152602001898152602001888152602001878152602001868152602001858152602001848152602001838152602001821515151581526020019a505050505050505050505060405180910390f35b61025b6004803603602081101561022f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114b5565b60405180898152602001888152602001878152602001868152602001858152602001848152602001838152602001821515151581526020019850505050505050505060405180910390f35b6102e8600480360360208110156102bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c7d565b604051808e81526020018d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff1664ffffffffff1681526020019d505050505050505050505050505060405180910390f35b6103ce600480360360208110156103a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127ce565b604051808981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001851515151581526020018415151515815260200183151515158152602001821515151581526020019850505050505050505060405180910390f35b610459612d39565b6040518082815260200191505060405180910390f35b6104db6004803603606081101561048557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d49565b604051808215151515815260200191505060405180910390f35b6104fd61325c565b6040518082815260200191505060405180910390f35b6105556004803603602081101561052957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613261565b604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b6105a46132ac565b6040518082815260200191505060405180910390f35b6105fc600480360360208110156105d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132b8565b005b6106066134aa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106506134d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a2353fdc896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561073457600080fd5b505afa158015610748573d6000803e3d6000fd5b505050506040513d602081101561075e57600080fd5b810190808051906020019092919050505090506000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107db57600080fd5b505afa1580156107ef573d6000803e3d6000fd5b505050506040513d602081101561080557600080fd5b81019080805190602001909291905050509050600061090b83600a0a6108fd6108378b8d6134f690919063ffffffff16565b8573ffffffffffffffffffffffffffffffffffffffff1663b3596f078f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156108b457600080fd5b505afa1580156108c8573d6000803e3d6000fd5b505050506040513d60208110156108de57600080fd5b810190808051906020019092919050505061357e90919063ffffffff16565b61360490919063ffffffff16565b905060006109598661094b606461093d8661092f8d8f6134f690919063ffffffff16565b6134f690919063ffffffff16565b61357e90919063ffffffff16565b61360490919063ffffffff16565b9050809450505050509695505050505050565b600080600080600080600080600080603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334b3beee8d6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a1a57600080fd5b505afa158015610a2e573d6000803e3d6000fd5b505050506040513d6020811015610a4457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff166370a082318c6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610ad157600080fd5b505afa158015610ae5573d6000803e3d6000fd5b505050506040513d6020811015610afb57600080fd5b810190808051906020019092919050505099506000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631ca19f198e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610be357600080fd5b505afa158015610bf7573d6000803e3d6000fd5b505050506040513d6020811015610c0d57600080fd5b81019080805190602001909291905050509050603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fb8afcd8e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060606040518083038186803b158015610cf357600080fd5b505afa158015610d07573d6000803e3d6000fd5b505050506040513d6060811015610d1d57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050809b50819a50505060016002811115610d5857fe5b816002811115610d6457fe5b1415610e7f57603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636fffab0c8e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610e3d57600080fd5b505afa158015610e51573d6000803e3d6000fd5b505050506040513d6020811015610e6757600080fd5b81019080805190602001909291905050509650610f7b565b600280811115610e8b57fe5b816002811115610e9757fe5b1415610f7a57603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663906c0a418e6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610f3c57600080fd5b505afa158015610f50573d6000803e3d6000fd5b505050506040513d6020811015610f6657600080fd5b810190808051906020019092919050505096505b5b806002811115610f8757fe5b9750603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c540148e8e6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561102857600080fd5b505afa15801561103c573d6000803e3d6000fd5b505050506040513d602081101561105257600080fd5b81019080805190602001909291905050509550603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feab31ac8e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561113857600080fd5b505afa15801561114c573d6000803e3d6000fd5b505050506040513d602081101561116257600080fd5b81019080805190602001909291905050509450603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f6ea8d768e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561124857600080fd5b505afa15801561125c573d6000803e3d6000fd5b505050506040513d602081101561127257600080fd5b81019080805190602001909291905050509350603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166366d103f38e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561135857600080fd5b505afa15801561136c573d6000803e3d6000fd5b505050506040513d602081101561138257600080fd5b81019080805190602001909291905050509250603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e3c4f3b8e8e6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561146857600080fd5b505afa15801561147c573d6000803e3d6000fd5b505050506040513d602081101561149257600080fd5b81019080805190602001909291905050509150509295989b9194979a5092959850565b6000806000806000806000806000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561152b57600080fd5b505afa15801561153f573d6000803e3d6000fd5b505050506040513d602081101561155557600080fd5b81019080805190602001909291905050509050611570613b01565b6060603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160006040518083038186803b1580156115da57600080fd5b505afa1580156115ee573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561161857600080fd5b810190808051604051939291908464010000000082111561163857600080fd5b8382019150602082018581111561164e57600080fd5b825186602082028301116401000000008211171561166b57600080fd5b8083526020830192505050908051906020019060200280838360005b838110156116a2578082015181840152602081019050611687565b50505050905001604052505050905060008090505b8151811015611c09578181815181106116cc57fe5b602002602001015183610140019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e10076ad8461014001518f6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060806040518083038186803b1580156117e457600080fd5b505afa1580156117f8573d6000803e3d6000fd5b505050506040513d608081101561180e57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505086604001876060018860e00189610120018415151515815250848152508481525084815250505050506000836040015114801561187e575060008360600151145b1561188857611bfc565b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fc526ff8461014001516040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060806040518083038186803b15801561192c57600080fd5b505afa158015611940573d6000803e3d6000fd5b505050506040513d608081101561195657600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050866080018760a0018860c00189610100018415151515815250848152508481525084815250505050508260800151600a0a8360200181815250508373ffffffffffffffffffffffffffffffffffffffff1663b3596f078461014001516040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611a4157600080fd5b505afa158015611a55573d6000803e3d6000fd5b505050506040513d6020811015611a6b57600080fd5b8101908080519060200190929190505050836000018181525050600083604001511115611b63576000611ac58460200151611ab78660400151876000015161357e90919063ffffffff16565b61360490919063ffffffff16565b9050611ada818e6134f690919063ffffffff16565b9c508361010001518015611af057508361012001515b15611b6157611b08818d6134f690919063ffffffff16565b9b50611b33611b248560a001518361357e90919063ffffffff16565b8a6134f690919063ffffffff16565b9850611b5e611b4f8560c001518361357e90919063ffffffff16565b896134f690919063ffffffff16565b97505b505b600083606001511115611bfb57611bb3611ba48460200151611b968660600151876000015161357e90919063ffffffff16565b61360490919063ffffffff16565b8b6134f690919063ffffffff16565b9950611bf8611be98460200151611bdb86600001518760e0015161357e90919063ffffffff16565b61360490919063ffffffff16565b8a6134f690919063ffffffff16565b98505b5b80806001019150506116b7565b5060008a11611c19576000611c2d565b611c2c8a8861360490919063ffffffff16565b5b965060008a11611c3e576000611c52565b611c518a8761360490919063ffffffff16565b5b9550611c608a8a8a8961364e565b9450670de0b6b3a764000085109350505050919395975091939597565b6000806000806000806000806000806000806000603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c33cfd908f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611d3057600080fd5b505afa158015611d44573d6000803e3d6000fd5b505050506040513d6020811015611d5a57600080fd5b81019080805190602001909291905050509c50603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e24030198f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611e0c57600080fd5b505afa158015611e20573d6000803e3d6000fd5b505050506040513d6020811015611e3657600080fd5b81019080805190602001909291905050509b50603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637f90fec58f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ee857600080fd5b505afa158015611efc573d6000803e3d6000fd5b505050506040513d6020811015611f1257600080fd5b81019080805190602001909291905050509a50603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166398bd47378f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fc457600080fd5b505afa158015611fd8573d6000803e3d6000fd5b505050506040513d6020811015611fee57600080fd5b81019080805190602001909291905050509950603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c540148e8f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156120a057600080fd5b505afa1580156120b4573d6000803e3d6000fd5b505050506040513d60208110156120ca57600080fd5b81019080805190602001909291905050509850603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663906c0a418f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561217c57600080fd5b505afa158015612190573d6000803e3d6000fd5b505050506040513d60208110156121a657600080fd5b81019080805190602001909291905050509750603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166388079d888f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561225857600080fd5b505afa15801561226c573d6000803e3d6000fd5b505050506040513d602081101561228257600080fd5b81019080805190602001909291905050509650603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166346bc0f288f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561233457600080fd5b505afa158015612348573d6000803e3d6000fd5b505050506040513d602081101561235e57600080fd5b81019080805190602001909291905050509550603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bfacad848f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561241057600080fd5b505afa158015612424573d6000803e3d6000fd5b505050506040513d602081101561243a57600080fd5b81019080805190602001909291905050509450603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bd7fd79a8f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156124ec57600080fd5b505afa158015612500573d6000803e3d6000fd5b505050506040513d602081101561251657600080fd5b81019080805190602001909291905050509350603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b701d0938f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156125c857600080fd5b505afa1580156125dc573d6000803e3d6000fd5b505050506040513d60208110156125f257600080fd5b81019080805190602001909291905050509250603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166334b3beee8f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156126a457600080fd5b505afa1580156126b8573d6000803e3d6000fd5b505050506040513d60208110156126ce57600080fd5b81019080805190602001909291905050509150603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634f1446098f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561278057600080fd5b505afa158015612794573d6000803e3d6000fd5b505050506040513d60208110156127aa57600080fd5b8101908080519060200190929190505050905091939597999b9d90929496989a9c50565b600080600080600080600080603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fc526ff8a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060806040518083038186803b15801561287957600080fd5b505afa15801561288d573d6000803e3d6000fd5b505050506040513d60808110156128a357600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919250809650819950829a50505050603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e6748488a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561298157600080fd5b505afa158015612995573d6000803e3d6000fd5b505050506040513d60208110156129ab57600080fd5b81019080805190602001909291905050509150603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635cf2e6568a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612a5d57600080fd5b505afa158015612a71573d6000803e3d6000fd5b505050506040513d6020811015612a8757600080fd5b81019080805190602001909291905050509250603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305075d6e8a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612b3957600080fd5b505afa158015612b4d573d6000803e3d6000fd5b505050506040513d6020811015612b6357600080fd5b81019080805190602001909291905050509050603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c76a6c9c8a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c1557600080fd5b505afa158015612c29573d6000803e3d6000fd5b505050506040513d6020811015612c3f57600080fd5b81019080805190602001909291905050509550603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ae144168a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612cf157600080fd5b505afa158015612d05573d6000803e3d6000fd5b505050506040513d6020811015612d1b57600080fd5b81019080805190602001909291905050509450919395975091939597565b6000670de0b6b3a7640000905090565b6000612d53613b75565b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fc526ff866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060806040518083038186803b158015612df257600080fd5b505afa158015612e06573d6000803e3d6000fd5b505050506040513d6080811015612e1c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909150836000018460a0018561014001831515151581525083815250838152505050508061014001511580612f8b5750603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e3c4f3b86866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015612f4e57600080fd5b505afa158015612f62573d6000803e3d6000fd5b505050506040513d6020811015612f7857600080fd5b8101908080519060200190929190505050155b15612f9a576001915050613255565b612fa3846114b5565b909192939495965090919250905050846020018560400186606001876080018481525084815250848152508481525050505050600081604001511415612fed576001915050613255565b6000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561305757600080fd5b505afa15801561306b573d6000803e3d6000fd5b505050506040513d602081101561308157600080fd5b810190808051906020019092919050505090506131778260000151600a0a613169868473ffffffffffffffffffffffffffffffffffffffff1663b3596f078b6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561312057600080fd5b505afa158015613134573d6000803e3d6000fd5b505050506040513d602081101561314a57600080fd5b810190808051906020019092919050505061357e90919063ffffffff16565b61360490919063ffffffff16565b8260c001818152505061319b8260c0015183602001516136d590919063ffffffff16565b8260e001818152505060008260e0015114156131bc57600092505050613255565b6132198260e0015161320b6131e28560a001518660c0015161357e90919063ffffffff16565b6131fd8660800151876020015161357e90919063ffffffff16565b6136d590919063ffffffff16565b61360490919063ffffffff16565b8261010001818152505060006132428360e001518460400151856060015186610100015161364e565b9050670de0b6b3a7640000811193505050505b9392505050565b600181565b600080600080600080600080613276896114b5565b50809750819950829850839b50849c50859d50869e505050505050505061329f8787878561371f565b9350919395975091939597565b670de0b6b3a764000081565b60006132c2613909565b9050600160009054906101000a900460ff16806132e357506132e2613912565b5b806132ef575060005481115b613344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613bf3602e913960400191505060405180910390fd5b6000600160009054906101000a900460ff1615905080156133815760018060006101000a81548160ff021916908315150217905550816000819055505b82603560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff1663ed6ff7606040518163ffffffff1660e01b815260040160206040518083038186803b15801561340857600080fd5b505afa15801561341c573d6000803e3d6000fd5b505050506040513d602081101561343257600080fd5b8101908080519060200190929190505050603460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080156134a5576000600160006101000a81548160ff0219169083151502179055505b505050565b603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b603460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080828401905083811015613574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008083141561359157600090506135fe565b60008284029050828482816135a257fe5b04146135f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613bd26021913960400191505060405180910390fd5b809150505b92915050565b600061364683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613923565b905092915050565b600080841415613680577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90506136cd565b6136ca61369684866134f690919063ffffffff16565b6136bc60646136ae868a61357e90919063ffffffff16565b61360490919063ffffffff16565b6139e990919063ffffffff16565b90505b949350505050565b600061371783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613a41565b905092915050565b600080613748606461373a858961357e90919063ffffffff16565b61360490919063ffffffff16565b90508481101561375c576000915050613901565b61378161377285876134f690919063ffffffff16565b826136d590919063ffffffff16565b90506000603560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fbeefc3c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156137ed57600080fd5b505afa158015613801573d6000803e3d6000fd5b505050506040513d602081101561381757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663e563a7d033846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b1580156138ac57600080fd5b505afa1580156138c0573d6000803e3d6000fd5b505050506040513d60208110156138d657600080fd5b810190808051906020019092919050505090506138fc81836136d590919063ffffffff16565b925050505b949350505050565b60006001905090565b600080303b90506000811491505090565b600080831182906139cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613994578082015181840152602081019050613979565b50505050905090810190601f1680156139c15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816139db57fe5b049050809150509392505050565b600080600283816139f657fe5b049050613a3883613a2a613a1b670de0b6b3a76400008861357e90919063ffffffff16565b846134f690919063ffffffff16565b61360490919063ffffffff16565b91505092915050565b6000838311158290613aee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613ab3578082015181840152602081019050613a98565b50505050905090810190601f168015613ae05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6040518061016001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a26469706673582212207aca5b55cfd113abe4416a0e2aa8fa7a615a81c63fe2092f39cf00a81fe9ca2c64736f6c63430006080033";
|