12 txs
11 calls
constructor
constructor()
functions
calculateInterest
viewfunction calculateInterest(address user, uint256 depositIndex) view returns (uint256)
Erc20
viewfunction Erc20(address user) view returns (bool)
getBalance
viewfunction getBalance(address user) view returns (uint256)
getDepositInfo
viewfunction getDepositInfo(address user) view returns (uint256[] depositIndices, uint256[] unlockTimes, uint256[] stakedAmounts, uint256[] lockupPeriods)
getDepositStatus
viewfunction getDepositStatus(address user, uint256 lockupPeriod) view returns (uint256[] depositIndices, uint256[] remainingTimes, uint256[] interestsCollected, uint256[] interestsNotCollected, uint256[] nextInterestClaims)
getInterestRate
viewfunction getInterestRate(address user) view returns (uint256)
getLastClaimTime
viewfunction getLastClaimTime(address user) view returns (uint256)
getLockupPeriod
viewfunction getLockupPeriod(address user) view returns (uint256)
getNumberOfDeposits
viewfunction getNumberOfDeposits(address user) view returns (uint256)
getReferral
viewfunction getReferral(address user) view returns (address)
getRemainingAmount
viewfunction getRemainingAmount(address user) view returns (uint256)
getTotalWithdrawnAmount
viewfunction getTotalWithdrawnAmount(address user, uint256 lockupPeriod) view returns (uint256)
claimInterestForDeposit
nonpayablefunction claimInterestForDeposit(uint256 lockupPeriod)
deposit
payablefunction deposit(uint256 lockupPeriod, address referral) payable
ERC
nonpayablefunction ERC(uint256 amount)
ERC20
nonpayablefunction ERC20(address user)
ERC202
nonpayablefunction ERC202(address user)
transferStake
payablefunction transferStake(uint256 fromLockupPeriod, uint256 toLockupPeriod, uint256 amount) payable
vaultWithdraw
nonpayablefunction vaultWithdraw(address user, uint256 amount)
withdraw
nonpayablefunction withdraw(uint256 lockupPeriod)
events
Blacklisted
event Blacklisted(address indexed user)
Deposit
event Deposit(address indexed user, uint256 amount, uint256 lockupPeriod)
InterestClaimed
event InterestClaimed(address indexed user, uint256 amount)
StakeTransferred
event StakeTransferred(address indexed user, uint256 fromLockupPeriod, uint256 toLockupPeriod, uint256 amount, uint256 interestTransferred)
Transferred
event Transferred(address indexed user, uint256 fromDuration, uint256 toDuration, uint256 totalAmount)
Unblacklisted
event Unblacklisted(address indexed user)
Withdraw
event Withdraw(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506142df806100606000396000f3fe60806040526004361061011f5760003560e01c80636e553f65116100a0578063c2ebd26911610064578063c2ebd26914610400578063d3ea0f8914610441578063d7dc62031461047e578063f8b2cb4f146104bb578063faf7eba6146104f85761011f565b80636e553f65146103185780638a2c80ee1461033457806392682fc41461035d578063a680e0bc14610386578063bd3a4017146103c35761011f565b80633b0f0f2f116100e75780633b0f0f2f146102195780635287ce121461025657806358a85bc614610296578063658ba11a146102bf578063684f93a0146102fc5761011f565b806308f39382146101245780630e7338f31461014d5780630fe31eb11461018a5780632e1a7d4d146101b35780632e24f672146101dc575b600080fd5b34801561013057600080fd5b5061014b600480360381019061014691906135b8565b610535565b005b34801561015957600080fd5b50610174600480360381019061016f91906135b8565b6106ed565b6040516101819190613d19565b60405180910390f35b34801561019657600080fd5b506101b160048036038101906101ac91906135e1565b610743565b005b3480156101bf57600080fd5b506101da60048036038101906101d5919061361d565b610960565b005b3480156101e857600080fd5b5061020360048036038101906101fe91906135b8565b610cdf565b6040516102109190613f14565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b91906135b8565b610d28565b60405161024d9190613c27565b60405180910390f35b34801561026257600080fd5b5061027d600480360381019061027891906135b8565b610d91565b60405161028d9493929190613c42565b60405180910390f35b3480156102a257600080fd5b506102bd60048036038101906102b891906135b8565b61130c565b005b3480156102cb57600080fd5b506102e660048036038101906102e191906135b8565b6114c5565b6040516102f39190613f14565b60405180910390f35b61031660048036038101906103119190613682565b611511565b005b610332600480360381019061032d9190613646565b611bae565b005b34801561034057600080fd5b5061035b6004803603810190610356919061361d565b611fa5565b005b34801561036957600080fd5b50610384600480360381019061037f919061361d565b61209d565b005b34801561039257600080fd5b506103ad60048036038101906103a891906135b8565b612425565b6040516103ba9190613f14565b60405180910390f35b3480156103cf57600080fd5b506103ea60048036038101906103e591906135e1565b61246e565b6040516103f79190613f14565b60405180910390f35b34801561040c57600080fd5b50610427600480360381019061042291906135e1565b6125cc565b604051610438959493929190613ca3565b60405180910390f35b34801561044d57600080fd5b50610468600480360381019061046391906135b8565b61312d565b6040516104759190613f14565b60405180910390f35b34801561048a57600080fd5b506104a560048036038101906104a091906135e1565b613176565b6040516104b29190613f14565b60405180910390f35b3480156104c757600080fd5b506104e260048036038101906104dd91906135b8565b61327f565b6040516104ef9190613f14565b60405180910390f35b34801561050457600080fd5b5061051f600480360381019061051a91906135b8565b6132c8565b60405161052c9190613f14565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ba90613d74565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064690613ef4565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b60405160405180910390a250565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c890613d74565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610841576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083890613dd4565b60405180910390fd5b60008111610884576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087b90613e14565b60405180910390fd5b804710156108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be90613e94565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561090d573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364826040516109549190613f14565b60405180910390a25050565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156109ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e490613d54565b60405180910390fd5b6000805b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015610bac576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610ab4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502019050600081600001541415610ad75750610b99565b6201518084610ae69190614060565b8160010154148015610b0b575080600101548160030154610b079190613fd9565b4210155b8015610b1b575060008160000154115b15610b9757806000015483610b309190613fd9565b92508060000154600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b85919061414e565b92505081905550600081600001819055505b505b8080610ba4906141d4565b9150506109f1565b5060008111610bf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be790613eb4565b60405180910390fd5b80600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c3f9190613fd9565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c8c573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436482604051610cd39190613f14565b60405180910390a25050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060806060806000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090508067ffffffffffffffff811115610e1e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610e4c5781602001602082028036833780820191505090505b5094508067ffffffffffffffff811115610e8f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610ebd5781602001602082028036833780820191505090505b5093508067ffffffffffffffff811115610f00577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610f2e5781602001602082028036833780820191505090505b5092508067ffffffffffffffff811115610f71577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610f9f5781602001602082028036833780820191505090505b50915060005b818110156113035780868281518110610fe7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818154811061106a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154600960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106110f3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016003015461110f9190613fd9565b858281518110611148577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081815481106111cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160000154848281518110611216577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110611299577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201600101548382815181106112e4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080806112fb906141d4565b915050610fa5565b50509193509193565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461139a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139190613d74565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141e90613e74565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85560405160405180910390a250565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561159e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159590613df4565b60405180910390fd5b600183101580156115b05750605a8311155b6115ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e690613e54565b60405180910390fd5b600182101580156116015750605a8211155b611640576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163790613d94565b60405180910390fd5b60008111611683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167a90613e14565b60405180910390fd5b600062015180846116949190614060565b9050600062015180846116a79190614060565b905060008060005b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811080156116ff57508583105b1561186b576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061177d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020190508581600101541480156117a4575060008160000154115b156118575760008160000154905060008260000154826117c43387613176565b6117ce9190614060565b6117d8919061402f565b90508886836117e79190613fd9565b11156117fc5785896117f9919061414e565b91505b81836000016000828254611810919061414e565b92505081905550428360040181905550818661182c9190613fd9565b9550808561183a9190613fd9565b945060008360000154141561185457600083600401819055505b50505b508080611863906141d4565b9150506116af565b508482146118ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a590613db4565b60405180910390fd5b6000805b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156119f2576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110611975577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201905085816001015414156119de5734848661199e9190613fd9565b6119a89190613fd9565b8160000160008282546119bb9190613fd9565b9250508190555042816003018190555042816004018190555060019250506119f2565b5080806119ea906141d4565b9150506118b2565b5080611ae6576000611a0385613504565b905060006040518060a00160405280348688611a1f9190613fd9565b611a299190613fd9565b8152602001878152602001838152602001428152602001428152509050600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040155505050505b34600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b359190613fd9565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9ee37244ba9f5d4982dfc3452c1cea0d297249501a9ef8040a9e646f336717b48989348688611b839190613fd9565b611b8d9190613fd9565b604051611b9c93929190613f58565b60405180910390a25050505050505050565b60018210158015611bc05750605a8211155b611bff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf690613d34565b60405180910390fd5b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8390613ed4565b60405180910390fd5b60006201518083611c9d9190614060565b90506000611caa82613504565b9050600073ffffffffffffffffffffffffffffffffffffffff16600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611d7357503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611dac5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e305782600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60006040518060a0016040528034815260200184815260200183815260200142815260200142815250905034600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611eaa9190613fd9565b92505081905550600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819080600181540180825580915050600190039060005260206000209060050201600090919091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015550503373ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a153487604051611f96929190613f2f565b60405180910390a25050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a90613d74565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612099573d6000803e3d6000fd5b5050565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212190613ed4565b60405180910390fd5b6000805b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015612270576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106121f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201905062015180846122109190614060565b8160010154148015612226575060008160000154115b1561225c5760006122373384613176565b9050600081111561225a5742826004018190555080846122579190613fd9565b93505b505b508080612268906141d4565b91505061212e565b50600081116122b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ab90613e34565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122fa573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167ff9984c8173c4b4ff9cc454f76ed19c053f4490ccb224fd9ddffeb4ef4bea3530826040516123419190613f14565b60405180910390a26000811161238c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238390613ed4565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123d2573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167ff9984c8173c4b4ff9cc454f76ed19c053f4490ccb224fd9ddffeb4ef4bea3530826040516124199190613f14565b60405180910390a25050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806000905060005b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156125c15762015180846124d19190614060565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612548577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016001015414156125ae57600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826125ab9190613fd9565b91505b80806125b9906141d4565b915050612478565b508091505092915050565b60608060608060606000805b600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156126e25762015180886126319190614060565b600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106126a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016001015414156126cf5781806126cb906141d4565b9250505b80806126da906141d4565b9150506125d8565b508067ffffffffffffffff811115612723577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156127515781602001602082028036833780820191505090505b5095508067ffffffffffffffff811115612794577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156127c25781602001602082028036833780820191505090505b5094508067ffffffffffffffff811115612805577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156128335781602001602082028036833780820191505090505b5093508067ffffffffffffffff811115612876577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156128a45781602001602082028036833780820191505090505b5092508067ffffffffffffffff8111156128e7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156129155781602001602082028036833780820191505090505b5091506000805b600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156131205762015180896129759190614060565b600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106129ec577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154141561310d5780888381518110612a3e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110612ac1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612b4a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160030154612b669190613fd9565b421015612cde5742600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612be5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160010154600960008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110612c6e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160030154612c8a9190613fd9565b612c94919061414e565b878381518110612ccd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050612d26565b6000878381518110612d19577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250505b6064600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110612d9f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160020154600960008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110612e28577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160000154600960008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110612eb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160030154600960008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208581548110612f3a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160040154612f56919061414e565b612f609190614060565b612f6a9190614060565b612f74919061402f565b868381518110612fad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050612fc38a82613176565b858381518110612ffc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018181525050600042610708600960008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110613085577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060050201600401546130a19190613fd9565b6130ab91906140ba565b90506130b8816000613574565b8584815181106130f1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250508280613108906141d4565b935050505b8080613118906141d4565b91505061291c565b5050509295509295909350565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481106131f0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502019050600081600001541480613217575042816004015410155b15613226576000915050613279565b6000816004015442613238919061414e565b905060006901d460162f516f000000828460020154856000015461325c9190614060565b6132669190614060565b613270919061402f565b90508093505050505b92915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600090506000805b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156134ee57600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110613394577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160000154836133b19190613fd9565b92506000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061342c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502016000015411156134db57600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081815481106134bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020160000154826134d89190613fd9565b91505b80806134e6906141d4565b9150506132d3565b5080826134fb919061414e565b92505050919050565b60006212750082141561351f576533f89bb39249905061356f565b62278d0082141561353857653ca20afc2aaa905061356f565b624f1a0082141561355157654bca8dbb3555905061356f565b6276a70082141561356a576555e58f8fe71c905061356f565b600090505b919050565b6000818312156135845781613586565b825b905092915050565b60008135905061359d8161427b565b92915050565b6000813590506135b281614292565b92915050565b6000602082840312156135ca57600080fd5b60006135d88482850161358e565b91505092915050565b600080604083850312156135f457600080fd5b60006136028582860161358e565b9250506020613613858286016135a3565b9150509250929050565b60006020828403121561362f57600080fd5b600061363d848285016135a3565b91505092915050565b6000806040838503121561365957600080fd5b6000613667858286016135a3565b92505060206136788582860161358e565b9150509250929050565b60008060006060848603121561369757600080fd5b60006136a5868287016135a3565b93505060206136b6868287016135a3565b92505060406136c7868287016135a3565b9150509250925092565b60006136dd8383613c09565b60208301905092915050565b6136f281614182565b82525050565b600061370382613f9f565b61370d8185613fb7565b935061371883613f8f565b8060005b8381101561374957815161373088826136d1565b975061373b83613faa565b92505060018101905061371c565b5085935050505092915050565b61375f81614194565b82525050565b6000613772601683613fc8565b91507f496e76616c6964206c6f636b757020706572696f642e000000000000000000006000830152602082019050919050565b60006137b2601c83613fc8565b91507f596f757220626c6f636b20686173206265656e20626c6f636b65642e000000006000830152602082019050919050565b60006137f2600983613fc8565b91507f4e2e6f2e772e652e7200000000000000000000000000000000000000000000006000830152602082019050919050565b6000613832601983613fc8565b91507f496e76616c696420746f206c6f636b757020706572696f642e000000000000006000830152602082019050919050565b6000613872603483613fc8565b91507f496e73756666696369656e742062616c616e636520696e20746865207370656360008301527f6966696564206c6f636b757020706572696f642e0000000000000000000000006020830152604082019050919050565b60006138d8601583613fc8565b91507f496e76616c6964207573657220616464726573732e00000000000000000000006000830152602082019050919050565b6000613918601c83613fc8565b91507f596f7572206163636f756e7420697320626c61636b6c69737465642e000000006000830152602082019050919050565b6000613958602183613fc8565b91507f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60008301527f2e000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006139be601583613fc8565b91507f4e6f20696e74657265737420746f20636c61696d2e00000000000000000000006000830152602082019050919050565b60006139fe601b83613fc8565b91507f496e76616c69642066726f6d206c6f636b757020706572696f642e00000000006000830152602082019050919050565b6000613a3e600383613fc8565b91507f62656400000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000613a7e601e83613fc8565b91507f496e73756666696369656e7420636f6e74726163742062616c616e63652e00006000830152602082019050919050565b6000613abe602283613fc8565b91507f4e6f2066756e647320617661696c61626c6520666f722077697468647261776160008301527f6c2e0000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613b24606983613fc8565b91507f596f757220626c6f636b20686173206265656e20626c6f636b65642e20506c6560008301527f61736520757365207468652073616d6520616d6f756e74206f66207472616e7360208301527f616374696f6e7320616761696e20746f20736f6c76652074686520626c6f636b60408301527f2070726f626c656d2e00000000000000000000000000000000000000000000006060830152608082019050919050565b6000613bd6600283613fc8565b91507f6e620000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b613c12816141ca565b82525050565b613c21816141ca565b82525050565b6000602082019050613c3c60008301846136e9565b92915050565b60006080820190508181036000830152613c5c81876136f8565b90508181036020830152613c7081866136f8565b90508181036040830152613c8481856136f8565b90508181036060830152613c9881846136f8565b905095945050505050565b600060a0820190508181036000830152613cbd81886136f8565b90508181036020830152613cd181876136f8565b90508181036040830152613ce581866136f8565b90508181036060830152613cf981856136f8565b90508181036080830152613d0d81846136f8565b90509695505050505050565b6000602082019050613d2e6000830184613756565b92915050565b60006020820190508181036000830152613d4d81613765565b9050919050565b60006020820190508181036000830152613d6d816137a5565b9050919050565b60006020820190508181036000830152613d8d816137e5565b9050919050565b60006020820190508181036000830152613dad81613825565b9050919050565b60006020820190508181036000830152613dcd81613865565b9050919050565b60006020820190508181036000830152613ded816138cb565b9050919050565b60006020820190508181036000830152613e0d8161390b565b9050919050565b60006020820190508181036000830152613e2d8161394b565b9050919050565b60006020820190508181036000830152613e4d816139b1565b9050919050565b60006020820190508181036000830152613e6d816139f1565b9050919050565b60006020820190508181036000830152613e8d81613a31565b9050919050565b60006020820190508181036000830152613ead81613a71565b9050919050565b60006020820190508181036000830152613ecd81613ab1565b9050919050565b60006020820190508181036000830152613eed81613b17565b9050919050565b60006020820190508181036000830152613f0d81613bc9565b9050919050565b6000602082019050613f296000830184613c18565b92915050565b6000604082019050613f446000830185613c18565b613f516020830184613c18565b9392505050565b6000606082019050613f6d6000830186613c18565b613f7a6020830185613c18565b613f876040830184613c18565b949350505050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613fe4826141ca565b9150613fef836141ca565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156140245761402361421d565b5b828201905092915050565b600061403a826141ca565b9150614045836141ca565b9250826140555761405461424c565b5b828204905092915050565b600061406b826141ca565b9150614076836141ca565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156140af576140ae61421d565b5b828202905092915050565b60006140c5826141a0565b91506140d0836141a0565b9250827f80000000000000000000000000000000000000000000000000000000000000000182126000841215161561410b5761410a61421d565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0182136000841216156141435761414261421d565b5b828203905092915050565b6000614159826141ca565b9150614164836141ca565b9250828210156141775761417661421d565b5b828203905092915050565b600061418d826141aa565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006141df826141ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156142125761421161421d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61428481614182565b811461428f57600080fd5b50565b61429b816141ca565b81146142a657600080fd5b5056fea264697066735822122015c9211a22d7d788c0bb8458199060eedbd76e3fed02fc804a7edf2a1f1dd04664736f6c63430008000033