Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 146 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw | 14887131 | 938 days ago | IN | 0 ETH | 0.00649808 | ||||
Add Reward | 14609004 | 982 days ago | IN | 0 ETH | 0.00196323 | ||||
Withdraw | 13819535 | 1105 days ago | IN | 0 ETH | 0.00904597 | ||||
Withdraw | 13682469 | 1126 days ago | IN | 0 ETH | 0.0162321 | ||||
Withdraw | 13630211 | 1135 days ago | IN | 0 ETH | 0.01171201 | ||||
Stake | 13518753 | 1152 days ago | IN | 0 ETH | 0.01750161 | ||||
Withdraw | 13518721 | 1152 days ago | IN | 0 ETH | 0.00318798 | ||||
Withdraw | 13518720 | 1152 days ago | IN | 0 ETH | 0.01560866 | ||||
Stake | 13438588 | 1165 days ago | IN | 0 ETH | 0.00726253 | ||||
Withdraw | 13438353 | 1165 days ago | IN | 0 ETH | 0.00698175 | ||||
Withdraw | 13416452 | 1168 days ago | IN | 0 ETH | 0.00229299 | ||||
Withdraw | 13416452 | 1168 days ago | IN | 0 ETH | 0.01359876 | ||||
Stake | 13317036 | 1184 days ago | IN | 0 ETH | 0.00655655 | ||||
Withdraw | 13317027 | 1184 days ago | IN | 0 ETH | 0.00890429 | ||||
Withdraw | 13298215 | 1187 days ago | IN | 0 ETH | 0.00722093 | ||||
Stake | 13245733 | 1195 days ago | IN | 0 ETH | 0.00695692 | ||||
Withdraw | 13245649 | 1195 days ago | IN | 0 ETH | 0.00872291 | ||||
Stake | 13216035 | 1199 days ago | IN | 0 ETH | 0.00801987 | ||||
Withdraw | 13215962 | 1199 days ago | IN | 0 ETH | 0.00625513 | ||||
Withdraw | 13131207 | 1213 days ago | IN | 0 ETH | 0.01050339 | ||||
Stake | 13114919 | 1215 days ago | IN | 0 ETH | 0.00809338 | ||||
Withdraw | 13114912 | 1215 days ago | IN | 0 ETH | 0.00999958 | ||||
Stake | 13049080 | 1225 days ago | IN | 0 ETH | 0.00446518 | ||||
Withdraw | 13045025 | 1226 days ago | IN | 0 ETH | 0.00144265 | ||||
Withdraw | 13045025 | 1226 days ago | IN | 0 ETH | 0.00596266 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Liquidity_v8
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-04-13 */ // Liquidity contract with pegged value pragma solidity 0.5.16; /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see `ERC20Detailed`. */ interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } // File: openzeppelin-solidity/contracts/math/SafeMath.sol pragma solidity 0.5.16; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } } // File: @openzeppelin/contracts/GSN/Context.sol pragma solidity 0.5.16; contract Context { constructor() internal {} // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode return msg.data; } } // File: @openzeppelin/contracts/ownership/Ownable.sol pragma solidity 0.5.16; contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() internal { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } function isOwner() public view returns (bool) { return _msgSender() == _owner; } function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } pragma solidity 0.5.16; contract Liquidity_v8 is Ownable { using SafeMath for uint256; /** * @dev Structs to store user staking data. */ struct Deposits { uint256 depositAmount; uint256 depositTime; uint256 endTime; uint64 userIndex; bool paid; } /** * @dev Structs to store interest rate change. */ struct Rates { uint64 newInterestRate; uint256 timeStamp; } mapping(address => bool) private hasStaked; mapping(address => Deposits) private deposits; mapping(uint64 => Rates) public rates; string public name; address public tokenAddress; address public rewardTokenAddress; uint256 public stakedTotal; uint256 public totalReward; uint256 public rewardBalance; uint256 public stakedBalance; uint64 public rate; uint64 public index; uint256 public lockDuration; IERC20 public ERC20Interface; /** * @dev Emitted when user stakes 'stakedAmount' value of tokens */ event Staked( address indexed token, address indexed staker_, uint256 stakedAmount_ ); /** * @dev Emitted when user withdraws his stakings */ event PaidOut( address indexed token, address indexed rewardToken, address indexed staker_, uint256 amount_, uint256 reward_ ); /** * @param * name_ name of the contract * tokenAddress_ contract address of the token * rewardTokenAddress_ contract address of the reward token * rate_ rate multiplied by 100 * lockduration_ duration in days */ constructor( string memory name_, address tokenAddress_, address rewardTokenAddress_, uint64 rate_, uint256 lockDuration_ ) public Ownable() { name = name_; require(tokenAddress_ != address(0), "Token address: 0 address"); tokenAddress = tokenAddress_; require( rewardTokenAddress_ != address(0), "Reward token address: 0 address" ); rewardTokenAddress = rewardTokenAddress_; require(rate_ != 0, "Zero interest rate"); rate = rate_; lockDuration = lockDuration_; rates[index] = Rates(rate, block.timestamp); } /** * @dev to set interest rates */ function setRate(uint64 rate_) external onlyOwner { require(rate_ != 0, "Zero interest rate"); index++; rates[index] = Rates(rate_, block.timestamp); rate = rate_; } /** * Requirements: * 'lockduration_' lock days * @dev to set lock duration days */ function changeLockDuration(uint256 lockduration_) external onlyOwner { lockDuration = lockduration_; } /** * @dev to add rewards to the staking contract * once the allowance is given to this contract for 'rewardAmount' by the user */ function addReward(uint256 rewardAmount) external _hasAllowance(msg.sender, rewardAmount, rewardTokenAddress) returns (bool) { require(rewardAmount > 0, "Reward must be positive"); address from = msg.sender; if (!_payMe(from, rewardAmount, rewardTokenAddress)) { return false; } totalReward = totalReward.add(rewardAmount); rewardBalance = rewardBalance.add(rewardAmount); return true; } /** * @dev returns user staking data */ function userDeposits(address user) external view returns ( uint256, uint256, uint256, uint256, bool ) { if (hasStaked[user]) { return ( deposits[user].depositAmount, deposits[user].depositTime, deposits[user].endTime, deposits[user].userIndex, deposits[user].paid ); } } /** * Requirements: * - 'amount' Amount to be staked /** * @dev to stake 'amount' value of tokens * once the user has given allowance to the staking contract */ function stake(uint256 amount) external _hasAllowance(msg.sender, amount, tokenAddress) returns (bool) { require(amount > 0, "Can't stake 0 amount"); address from = msg.sender; require(!hasStaked[from], "Already staked"); return _stake(from, amount); } function _stake(address staker, uint256 amount) private returns (bool) { if (!_payMe(staker, amount, tokenAddress)) { return false; } hasStaked[staker] = true; deposits[staker] = Deposits( amount, block.timestamp, block.timestamp.add((lockDuration.mul(86400))), //(lockDuration * 24 * 3600) index, false ); emit Staked(tokenAddress, staker, amount); // Transfer is completed stakedBalance = stakedBalance.add(amount); stakedTotal = stakedTotal.add(amount); return true; } /** * @dev to withdraw user stakings after the lock period ends. */ function withdraw() external returns (bool) { address from = msg.sender; require(hasStaked[from], "No stakes found for user"); require( block.timestamp >= deposits[from].endTime, "Requesting before lock time" ); require(!deposits[from].paid, "Already paid out"); return (_withdraw(from)); } function _withdraw(address from) private returns (bool) { uint256 getPeggedBNF = getPeggedValue(); uint256 reward = _calculate(from).mul(getPeggedBNF).div(10**18); uint256 amount = deposits[from].depositAmount; require(reward <= rewardBalance, "Not enough rewards"); stakedBalance = stakedBalance.sub(amount); rewardBalance = rewardBalance.sub(reward); deposits[from].paid = true; hasStaked[from] = false; //Check-Effects-Interactions pattern bool principalPaid = _payDirect(from, amount, tokenAddress); bool rewardPaid = _payDirect(from, reward, rewardTokenAddress); require(principalPaid && rewardPaid, "Error paying"); emit PaidOut(tokenAddress, rewardTokenAddress, from, amount, reward); return true; } /** * @dev to calculate the price of BNF per UNIv2 in the LP */ function getPeggedValue() private returns (uint256) { ERC20Interface = IERC20(tokenAddress); uint256 getReserves; if (ERC20Interface.token0() == rewardTokenAddress) { (getReserves, , ) = ERC20Interface.getReserves(); } else { (, getReserves, ) = ERC20Interface.getReserves(); } uint256 totalSupply = ERC20Interface.totalSupply(); return (getReserves.mul(10**18).div(totalSupply)); } function emergencyWithdraw() external returns (bool) { address from = msg.sender; require(hasStaked[from], "No stakes found for user"); require( block.timestamp >= deposits[from].endTime, "Requesting before lock time" ); require(!deposits[from].paid, "Already paid out"); return (_emergencyWithdraw(from)); } function _emergencyWithdraw(address from) private returns (bool) { uint256 amount = deposits[from].depositAmount; stakedBalance = stakedBalance.sub(amount); deposits[from].paid = true; hasStaked[from] = false; //Check-Effects-Interactions pattern bool principalPaid = _payDirect(from, amount, tokenAddress); require(principalPaid, "Error paying"); emit PaidOut(tokenAddress, address(0), from, amount, 0); return true; } /** * @param * from user wallet address * @dev to calculate the rewards based on user staked 'amount' */ function calculate(address from) external view returns (uint256) { return _calculate(from); } function _calculate(address from) private view returns (uint256) { if (!hasStaked[from]) return 0; ( uint256 amount, uint256 depositTime, uint256 endTime, uint64 userIndex ) = ( deposits[from].depositAmount, deposits[from].depositTime, deposits[from].endTime, deposits[from].userIndex ); uint256 time; uint256 interest; uint256 _lockduration = endTime.sub(depositTime); for (uint64 i = userIndex; i < index; i++) { //loop runs till the latest index/interest rate change if (endTime < rates[i + 1].timeStamp) { //if the change occurs after the endTime loop breaks break; } else { time = rates[i + 1].timeStamp.sub(depositTime); interest = amount.mul(rates[i].newInterestRate).mul(time).div( _lockduration.mul(10000) ); //replace with (_lockduration * 10000) amount += interest; depositTime = rates[i + 1].timeStamp; userIndex++; } } if (depositTime < endTime) { //final calculation for the remaining time period time = endTime.sub(depositTime); interest = time .mul(amount) .mul(rates[userIndex].newInterestRate) .div(_lockduration.mul(10000)); //replace with (lockduration * 10000) amount += interest; } return (interest); } function _payMe( address payer, uint256 amount, address token ) private returns (bool) { return _payTo(payer, address(this), amount, token); } function _payTo( address allower, address receiver, uint256 amount, address token ) private _hasAllowance(allower, amount, token) returns (bool) { // Request to transfer amount from the contract to receiver. // contract does not own the funds, so the allower must have added allowance to the contract // Allower is the original owner. ERC20Interface = IERC20(token); return ERC20Interface.transferFrom(allower, receiver, amount); } function _payDirect( address to, uint256 amount, address token ) private returns (bool) { ERC20Interface = IERC20(token); return ERC20Interface.transfer(to, amount); } modifier _hasAllowance( address allower, uint256 amount, address token ) { // Make sure the allower has provided the right allowance. ERC20Interface = IERC20(token); uint256 ourAllowance = ERC20Interface.allowance(allower, address(this)); require(amount <= ourAllowance, "Make sure to add enough allowance"); _; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"address","name":"tokenAddress_","type":"address"},{"internalType":"address","name":"rewardTokenAddress_","type":"address"},{"internalType":"uint64","name":"rate_","type":"uint64"},{"internalType":"uint256","name":"lockDuration_","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"rewardToken","type":"address"},{"indexed":true,"internalType":"address","name":"staker_","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward_","type":"uint256"}],"name":"PaidOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"staker_","type":"address"},{"indexed":false,"internalType":"uint256","name":"stakedAmount_","type":"uint256"}],"name":"Staked","type":"event"},{"constant":true,"inputs":[],"name":"ERC20Interface","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"rewardAmount","type":"uint256"}],"name":"addReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"from","type":"address"}],"name":"calculate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"lockduration_","type":"uint256"}],"name":"changeLockDuration","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"emergencyWithdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"index","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lockDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint64","name":"","type":"uint64"}],"name":"rates","outputs":[{"internalType":"uint64","name":"newInterestRate","type":"uint64"},{"internalType":"uint256","name":"timeStamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint64","name":"rate_","type":"uint64"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakedTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620038bb380380620038bb833981810160405260a08110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660018202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c3578082015181840152602081019050620000a6565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190805190602001909291908051906020019092919080519060200190929190505050620001336200053c60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a384600490805190602001906200020692919062000544565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415620002ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f546f6b656e20616464726573733a20302061646472657373000000000000000081525060200191505060405180910390fd5b83600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141562000390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f52657761726420746f6b656e20616464726573733a203020616464726573730081525060200191505060405180910390fd5b82600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008267ffffffffffffffff16141562000453576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5a65726f20696e7465726573742072617465000000000000000000000000000081525060200191505060405180910390fd5b81600b60006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555080600c819055506040518060400160405280600b60009054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020014281525060036000600b60089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550602082015181600101559050505050505050620005f3565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200058757805160ff1916838001178555620005b8565b82800160010185558215620005b8579182015b82811115620005b75782518255916020019190600101906200059a565b5b509050620005c79190620005cb565b5090565b620005f091905b80821115620005ec576000816000905550600101620005d2565b5090565b90565b6132b880620006036000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80635b9f0016116100c35780639d76ea581161007c5780639d76ea58146105ad578063a694fc3a146105f7578063aa5c3ab41461063d578063d66692a71461065b578063db2e21bc14610679578063f2fde38b1461069b57610158565b80635b9f0016146104b5578063715018a6146104d357806374de4ec4146104dd578063750142e6146105235780638da5cb5b146105415780638f32d59b1461058b57610158565b806327a59fb81161011557806327a59fb8146103715780632986c0e51461039f5780632c4e722e146103d1578063398327e6146104035780633ccfd60b1461043b57806350003ca61461045d57610158565b8063045544431461015d57806306fdde031461017b5780630ba36dcd146101fe5780630f0a3d1314610276578063125f9e33146102dd5780631bbc4b8314610327575b600080fd5b6101656106df565b6040518082815260200191505060405180910390f35b6101836106e5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c35780820151818401526020810190506101a8565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102406004803603602081101561021457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610783565b60405180868152602001858152602001848152602001838152602001821515151581526020019550505050505060405180910390f35b6102ac6004803603602081101561028c57600080fd5b81019080803567ffffffffffffffff169060200190929190505050610973565b604051808367ffffffffffffffff1667ffffffffffffffff1681526020018281526020019250505060405180910390f35b6102e56109ab565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61032f6109d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61039d6004803603602081101561038757600080fd5b81019080803590602001909291905050506109f7565b005b6103a7610a7b565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b6103d9610a95565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b6104396004803603602081101561041957600080fd5b81019080803567ffffffffffffffff169060200190929190505050610aaf565b005b610443610cb5565b604051808215151515815260200191505060405180910390f35b61049f6004803603602081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f04565b6040518082815260200191505060405180910390f35b6104bd610f16565b6040518082815260200191505060405180910390f35b6104db610f1c565b005b610509600480360360208110156104f357600080fd5b8101908080359060200190929190505050611055565b604051808215151515815260200191505060405180910390f35b61052b611323565b6040518082815260200191505060405180910390f35b610549611329565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610593611352565b604051808215151515815260200191505060405180910390f35b6105b56113b0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106236004803603602081101561060d57600080fd5b81019080803590602001909291905050506113d6565b604051808215151515815260200191505060405180910390f35b6106456116fa565b6040518082815260200191505060405180910390f35b610663611700565b6040518082815260200191505060405180910390f35b610681611706565b604051808215151515815260200191505060405180910390f35b6106dd600480360360208110156106b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611955565b005b600c5481565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561077b5780601f106107505761010080835404028352916020019161077b565b820191906000526020600020905b81548152906001019060200180831161075e57829003601f168201915b505050505081565b6000806000806000600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561096957600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900467ffffffffffffffff16600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160089054906101000a900460ff168167ffffffffffffffff1691509450945094509450945061096a565b5b91939590929450565b60036020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060010154905082565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109ff611352565b610a71576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600c8190555050565b600b60089054906101000a900467ffffffffffffffff1681565b600b60009054906101000a900467ffffffffffffffff1681565b610ab7611352565b610b29576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008167ffffffffffffffff161415610baa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5a65726f20696e7465726573742072617465000000000000000000000000000081525060200191505060405180910390fd5b600b600881819054906101000a900467ffffffffffffffff168092919060010191906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505060405180604001604052808267ffffffffffffffff1681526020014281525060036000600b60089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506020820151816001015590505080600b60006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b600080339050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d7a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4e6f207374616b657320666f756e6420666f722075736572000000000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154421015610e32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f52657175657374696e67206265666f7265206c6f636b2074696d65000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160089054906101000a900460ff1615610ef5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416c72656164792070616964206f75740000000000000000000000000000000081525060200191505060405180910390fd5b610efe816119db565b91505090565b6000610f0f82611d7d565b9050919050565b600a5481565b610f24611352565b610f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60003382600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1680600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e85306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561119257600080fd5b505afa1580156111a6573d6000803e3d6000fd5b505050506040513d60208110156111bc57600080fd5b8101908080519060200190929190505050905080831115611228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061321c6021913960400191505060405180910390fd5b6000861161129e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f526577617264206d75737420626520706f73697469766500000000000000000081525060200191505060405180910390fd5b60003390506112d08188600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661217d565b6112de57600095505061131a565b6112f38760085461219490919063ffffffff16565b60088190555061130e8760095461219490919063ffffffff16565b60098190555060019550505b50505050919050565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661139461221c565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003382600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1680600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e85306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561151357600080fd5b505afa158015611527573d6000803e3d6000fd5b505050506040513d602081101561153d57600080fd5b81019080805190602001909291905050509050808311156115a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061321c6021913960400191505060405180910390fd5b6000861161161f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43616e2774207374616b65203020616d6f756e7400000000000000000000000081525060200191505060405180910390fd5b6000339050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f416c7265616479207374616b656400000000000000000000000000000000000081525060200191505060405180910390fd5b6116ee8188612224565b95505050505050919050565b60095481565b60075481565b600080339050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166117cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4e6f207374616b657320666f756e6420666f722075736572000000000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154421015611883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f52657175657374696e67206265666f7265206c6f636b2074696d65000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160089054906101000a900460ff1615611946576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416c72656164792070616964206f75740000000000000000000000000000000081525060200191505060405180910390fd5b61194f816124a1565b91505090565b61195d611352565b6119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6119d88161270e565b50565b6000806119e6612852565b90506000611a1f670de0b6b3a7640000611a1184611a0388611d7d565b612c3590919063ffffffff16565b612cbb90919063ffffffff16565b90506000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050600954821115611ae0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f7420656e6f7567682072657761726473000000000000000000000000000081525060200191505060405180910390fd5b611af581600a54612d4a90919063ffffffff16565b600a81905550611b1082600954612d4a90919063ffffffff16565b6009819055506001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160086101000a81548160ff0219169083151502179055506000600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000611bf88683600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612dd3565b90506000611c298785600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612dd3565b9050818015611c355750805b611ca7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f4572726f7220706179696e67000000000000000000000000000000000000000081525060200191505060405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0fd12da3890315fa38b862dc2fff7f24c95981f6508cc2be090640de791b671e8688604051808381526020018281526020019250505060405180910390a4600195505050505050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611dd95760009050612178565b600080600080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900467ffffffffffffffff1693509350935093506000806000611f1f8686612d4a90919063ffffffff16565b905060008490505b600b60089054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1610156120b457600360006001830167ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010154861015611f93576120b4565b611fd387600360006001850167ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010154612d4a90919063ffffffff16565b9350612068611fed61271084612c3590919063ffffffff16565b61205a8661204c600360008767ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff168d612c3590919063ffffffff16565b612c3590919063ffffffff16565b612cbb90919063ffffffff16565b92508288019750600360006001830167ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010154965084806001019550508080600101915050611f27565b508486101561216d576120d08686612d4a90919063ffffffff16565b92506121656120ea61271083612c3590919063ffffffff16565b612157600360008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff166121498b88612c3590919063ffffffff16565b612c3590919063ffffffff16565b612cbb90919063ffffffff16565b915081870196505b819750505050505050505b919050565b600061218b84308585612f03565b90509392505050565b600080828401905083811015612212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b60006122538383600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661217d565b612260576000905061249b565b60018060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506040518060a001604052808381526020014281526020016122f86122e962015180600c54612c3590919063ffffffff16565b4261219490919063ffffffff16565b8152602001600b60089054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200160001515815250600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160030160086101000a81548160ff0219169083151502179055509050508273ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5dac0c1b1112564a045ba943c9d50270893e8e826c49be8e7073adc713ab7bd7846040518082815260200191505060405180910390a361247582600a5461219490919063ffffffff16565b600a819055506124908260075461219490919063ffffffff16565b600781905550600190505b92915050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490506124fe81600a54612d4a90919063ffffffff16565b600a819055506001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160086101000a81548160ff0219169083151502179055506000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060006125e68483600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612dd3565b90508061265b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f4572726f7220706179696e67000000000000000000000000000000000000000081525060200191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0fd12da3890315fa38b862dc2fff7f24c95981f6508cc2be090640de791b671e856000604051808381526020018281526020019250505060405180910390a4600192505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061323d6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561295a57600080fd5b505afa15801561296e573d6000803e3d6000fd5b505050506040513d602081101561298457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415612a8757600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612a1957600080fd5b505afa158015612a2d573d6000803e3d6000fd5b505050506040513d6060811015612a4357600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050826dffffffffffffffffffffffffffff16925090505080915050612b5a565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612aef57600080fd5b505afa158015612b03573d6000803e3d6000fd5b505050506040513d6060811015612b1957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050909150816dffffffffffffffffffffffffffff16915050809150505b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612bc457600080fd5b505afa158015612bd8573d6000803e3d6000fd5b505050506040513d6020811015612bee57600080fd5b81019080805190602001909291905050509050612c2e81612c20670de0b6b3a764000085612c3590919063ffffffff16565b612cbb90919063ffffffff16565b9250505090565b600080831415612c485760009050612cb5565b6000828402905082848281612c5957fe5b0414612cb0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806132636021913960400191505060405180910390fd5b809150505b92915050565b6000808211612d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481612d3d57fe5b0490508091505092915050565b600082821115612dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600081600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612ebf57600080fd5b505af1158015612ed3573d6000803e3d6000fd5b505050506040513d6020811015612ee957600080fd5b810190808051906020019092919050505090509392505050565b600084838380600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e85306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561301e57600080fd5b505afa158015613032573d6000803e3d6000fd5b505050506040513d602081101561304857600080fd5b81019080805190602001909291905050509050808311156130b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061321c6021913960400191505060405180910390fd5b85600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8a8a8a6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156131d257600080fd5b505af11580156131e6573d6000803e3d6000fd5b505050506040513d60208110156131fc57600080fd5b810190808051906020019092919050505094505050505094935050505056fe4d616b65207375726520746f2061646420656e6f75676820616c6c6f77616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158200ef2cdd190326cc11781e1181173657148de4dd538a029861a93532eda28960764736f6c6343000510003200000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000eb8195bd9ac4ffd3be2056db1a8e8c66b27080280000000000000000000000001de5e000c41c8d35b9f1f4985c23988f058310570000000000000000000000000000000000000000000000000000000000000172000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000114c6971756964697479205374616b696e67000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c80635b9f0016116100c35780639d76ea581161007c5780639d76ea58146105ad578063a694fc3a146105f7578063aa5c3ab41461063d578063d66692a71461065b578063db2e21bc14610679578063f2fde38b1461069b57610158565b80635b9f0016146104b5578063715018a6146104d357806374de4ec4146104dd578063750142e6146105235780638da5cb5b146105415780638f32d59b1461058b57610158565b806327a59fb81161011557806327a59fb8146103715780632986c0e51461039f5780632c4e722e146103d1578063398327e6146104035780633ccfd60b1461043b57806350003ca61461045d57610158565b8063045544431461015d57806306fdde031461017b5780630ba36dcd146101fe5780630f0a3d1314610276578063125f9e33146102dd5780631bbc4b8314610327575b600080fd5b6101656106df565b6040518082815260200191505060405180910390f35b6101836106e5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c35780820151818401526020810190506101a8565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102406004803603602081101561021457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610783565b60405180868152602001858152602001848152602001838152602001821515151581526020019550505050505060405180910390f35b6102ac6004803603602081101561028c57600080fd5b81019080803567ffffffffffffffff169060200190929190505050610973565b604051808367ffffffffffffffff1667ffffffffffffffff1681526020018281526020019250505060405180910390f35b6102e56109ab565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61032f6109d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61039d6004803603602081101561038757600080fd5b81019080803590602001909291905050506109f7565b005b6103a7610a7b565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b6103d9610a95565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b6104396004803603602081101561041957600080fd5b81019080803567ffffffffffffffff169060200190929190505050610aaf565b005b610443610cb5565b604051808215151515815260200191505060405180910390f35b61049f6004803603602081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f04565b6040518082815260200191505060405180910390f35b6104bd610f16565b6040518082815260200191505060405180910390f35b6104db610f1c565b005b610509600480360360208110156104f357600080fd5b8101908080359060200190929190505050611055565b604051808215151515815260200191505060405180910390f35b61052b611323565b6040518082815260200191505060405180910390f35b610549611329565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610593611352565b604051808215151515815260200191505060405180910390f35b6105b56113b0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106236004803603602081101561060d57600080fd5b81019080803590602001909291905050506113d6565b604051808215151515815260200191505060405180910390f35b6106456116fa565b6040518082815260200191505060405180910390f35b610663611700565b6040518082815260200191505060405180910390f35b610681611706565b604051808215151515815260200191505060405180910390f35b6106dd600480360360208110156106b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611955565b005b600c5481565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561077b5780601f106107505761010080835404028352916020019161077b565b820191906000526020600020905b81548152906001019060200180831161075e57829003601f168201915b505050505081565b6000806000806000600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561096957600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900467ffffffffffffffff16600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160089054906101000a900460ff168167ffffffffffffffff1691509450945094509450945061096a565b5b91939590929450565b60036020528060005260406000206000915090508060000160009054906101000a900467ffffffffffffffff16908060010154905082565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109ff611352565b610a71576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600c8190555050565b600b60089054906101000a900467ffffffffffffffff1681565b600b60009054906101000a900467ffffffffffffffff1681565b610ab7611352565b610b29576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008167ffffffffffffffff161415610baa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5a65726f20696e7465726573742072617465000000000000000000000000000081525060200191505060405180910390fd5b600b600881819054906101000a900467ffffffffffffffff168092919060010191906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505060405180604001604052808267ffffffffffffffff1681526020014281525060036000600b60089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506020820151816001015590505080600b60006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b600080339050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d7a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4e6f207374616b657320666f756e6420666f722075736572000000000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154421015610e32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f52657175657374696e67206265666f7265206c6f636b2074696d65000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160089054906101000a900460ff1615610ef5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416c72656164792070616964206f75740000000000000000000000000000000081525060200191505060405180910390fd5b610efe816119db565b91505090565b6000610f0f82611d7d565b9050919050565b600a5481565b610f24611352565b610f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60003382600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1680600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e85306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561119257600080fd5b505afa1580156111a6573d6000803e3d6000fd5b505050506040513d60208110156111bc57600080fd5b8101908080519060200190929190505050905080831115611228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061321c6021913960400191505060405180910390fd5b6000861161129e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f526577617264206d75737420626520706f73697469766500000000000000000081525060200191505060405180910390fd5b60003390506112d08188600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661217d565b6112de57600095505061131a565b6112f38760085461219490919063ffffffff16565b60088190555061130e8760095461219490919063ffffffff16565b60098190555060019550505b50505050919050565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661139461221c565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003382600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1680600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e85306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561151357600080fd5b505afa158015611527573d6000803e3d6000fd5b505050506040513d602081101561153d57600080fd5b81019080805190602001909291905050509050808311156115a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061321c6021913960400191505060405180910390fd5b6000861161161f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f43616e2774207374616b65203020616d6f756e7400000000000000000000000081525060200191505060405180910390fd5b6000339050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f416c7265616479207374616b656400000000000000000000000000000000000081525060200191505060405180910390fd5b6116ee8188612224565b95505050505050919050565b60095481565b60075481565b600080339050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166117cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4e6f207374616b657320666f756e6420666f722075736572000000000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154421015611883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f52657175657374696e67206265666f7265206c6f636b2074696d65000000000081525060200191505060405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160089054906101000a900460ff1615611946576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416c72656164792070616964206f75740000000000000000000000000000000081525060200191505060405180910390fd5b61194f816124a1565b91505090565b61195d611352565b6119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6119d88161270e565b50565b6000806119e6612852565b90506000611a1f670de0b6b3a7640000611a1184611a0388611d7d565b612c3590919063ffffffff16565b612cbb90919063ffffffff16565b90506000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050600954821115611ae0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f7420656e6f7567682072657761726473000000000000000000000000000081525060200191505060405180910390fd5b611af581600a54612d4a90919063ffffffff16565b600a81905550611b1082600954612d4a90919063ffffffff16565b6009819055506001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160086101000a81548160ff0219169083151502179055506000600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000611bf88683600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612dd3565b90506000611c298785600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612dd3565b9050818015611c355750805b611ca7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f4572726f7220706179696e67000000000000000000000000000000000000000081525060200191505060405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0fd12da3890315fa38b862dc2fff7f24c95981f6508cc2be090640de791b671e8688604051808381526020018281526020019250505060405180910390a4600195505050505050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611dd95760009050612178565b600080600080600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160009054906101000a900467ffffffffffffffff1693509350935093506000806000611f1f8686612d4a90919063ffffffff16565b905060008490505b600b60089054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1610156120b457600360006001830167ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010154861015611f93576120b4565b611fd387600360006001850167ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010154612d4a90919063ffffffff16565b9350612068611fed61271084612c3590919063ffffffff16565b61205a8661204c600360008767ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff168d612c3590919063ffffffff16565b612c3590919063ffffffff16565b612cbb90919063ffffffff16565b92508288019750600360006001830167ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060010154965084806001019550508080600101915050611f27565b508486101561216d576120d08686612d4a90919063ffffffff16565b92506121656120ea61271083612c3590919063ffffffff16565b612157600360008867ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff166121498b88612c3590919063ffffffff16565b612c3590919063ffffffff16565b612cbb90919063ffffffff16565b915081870196505b819750505050505050505b919050565b600061218b84308585612f03565b90509392505050565b600080828401905083811015612212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b60006122538383600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661217d565b612260576000905061249b565b60018060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506040518060a001604052808381526020014281526020016122f86122e962015180600c54612c3590919063ffffffff16565b4261219490919063ffffffff16565b8152602001600b60089054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200160001515815250600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160030160086101000a81548160ff0219169083151502179055509050508273ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5dac0c1b1112564a045ba943c9d50270893e8e826c49be8e7073adc713ab7bd7846040518082815260200191505060405180910390a361247582600a5461219490919063ffffffff16565b600a819055506124908260075461219490919063ffffffff16565b600781905550600190505b92915050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490506124fe81600a54612d4a90919063ffffffff16565b600a819055506001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160086101000a81548160ff0219169083151502179055506000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060006125e68483600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612dd3565b90508061265b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f4572726f7220706179696e67000000000000000000000000000000000000000081525060200191505060405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0fd12da3890315fa38b862dc2fff7f24c95981f6508cc2be090640de791b671e856000604051808381526020018281526020019250505060405180910390a4600192505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061323d6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561295a57600080fd5b505afa15801561296e573d6000803e3d6000fd5b505050506040513d602081101561298457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415612a8757600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612a1957600080fd5b505afa158015612a2d573d6000803e3d6000fd5b505050506040513d6060811015612a4357600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050826dffffffffffffffffffffffffffff16925090505080915050612b5a565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612aef57600080fd5b505afa158015612b03573d6000803e3d6000fd5b505050506040513d6060811015612b1957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050909150816dffffffffffffffffffffffffffff16915050809150505b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612bc457600080fd5b505afa158015612bd8573d6000803e3d6000fd5b505050506040513d6020811015612bee57600080fd5b81019080805190602001909291905050509050612c2e81612c20670de0b6b3a764000085612c3590919063ffffffff16565b612cbb90919063ffffffff16565b9250505090565b600080831415612c485760009050612cb5565b6000828402905082848281612c5957fe5b0414612cb0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806132636021913960400191505060405180910390fd5b809150505b92915050565b6000808211612d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b6000828481612d3d57fe5b0490508091505092915050565b600082821115612dc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600081600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612ebf57600080fd5b505af1158015612ed3573d6000803e3d6000fd5b505050506040513d6020811015612ee957600080fd5b810190808051906020019092919050505090509392505050565b600084838380600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e85306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561301e57600080fd5b505afa158015613032573d6000803e3d6000fd5b505050506040513d602081101561304857600080fd5b81019080805190602001909291905050509050808311156130b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061321c6021913960400191505060405180910390fd5b85600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8a8a8a6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156131d257600080fd5b505af11580156131e6573d6000803e3d6000fd5b505050506040513d60208110156131fc57600080fd5b810190808051906020019092919050505094505050505094935050505056fe4d616b65207375726520746f2061646420656e6f75676820616c6c6f77616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158200ef2cdd190326cc11781e1181173657148de4dd538a029861a93532eda28960764736f6c63430005100032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000eb8195bd9ac4ffd3be2056db1a8e8c66b27080280000000000000000000000001de5e000c41c8d35b9f1f4985c23988f058310570000000000000000000000000000000000000000000000000000000000000172000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000114c6971756964697479205374616b696e67000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): Liquidity Staking
Arg [1] : tokenAddress_ (address): 0xeB8195bd9aC4fFD3Be2056dB1A8e8c66B2708028
Arg [2] : rewardTokenAddress_ (address): 0x1DE5e000C41C8d35b9f1f4985C23988f05831057
Arg [3] : rate_ (uint64): 370
Arg [4] : lockDuration_ (uint256): 30
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 000000000000000000000000eb8195bd9ac4ffd3be2056db1a8e8c66b2708028
Arg [2] : 0000000000000000000000001de5e000c41c8d35b9f1f4985c23988f05831057
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000172
Arg [4] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000011
Arg [6] : 4c6971756964697479205374616b696e67000000000000000000000000000000
Deployed Bytecode Sourcemap
4327:11439:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4327:11439:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5229:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4943:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4943:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7960:511;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7960:511:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4897:37;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4897:37:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5002:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5265:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7116:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7116:117:0;;;;;;;;;;;;;;;;;:::i;:::-;;5203:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5178:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6786:206;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6786:206:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9754:377;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12593:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12593:107:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5143:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3762:140;;;:::i;:::-;;7395:500;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7395:500:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5075:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3459:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3660:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4968:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8682:325;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8682:325:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5108:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5042:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11548:395;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3910:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3910:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5229:27;;;;:::o;4943:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7960:511::-;8060:7;8082;8104;8126;8148:4;8184:9;:15;8194:4;8184:15;;;;;;;;;;;;;;;;;;;;;;;;;8180:284;;;8242:8;:14;8251:4;8242:14;;;;;;;;;;;;;;;:28;;;8289:8;:14;8298:4;8289:14;;;;;;;;;;;;;;;:26;;;8334:8;:14;8343:4;8334:14;;;;;;;;;;;;;;;:22;;;8375:8;:14;8384:4;8375:14;;;;;;;;;;;;;;;:24;;;;;;;;;;;;8418:8;:14;8427:4;8418:14;;;;;;;;;;;;;;;:19;;;;;;;;;;;;8216:236;;;;;;;;;;;;;;;;;8180:284;7960:511;;;;;;;;:::o;4897:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5002:33::-;;;;;;;;;;;;;:::o;5265:28::-;;;;;;;;;;;;;:::o;7116:117::-;3586:9;:7;:9::i;:::-;3578:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7212:13;7197:12;:28;;;;7116:117;:::o;5203:19::-;;;;;;;;;;;;;:::o;5178:18::-;;;;;;;;;;;;;:::o;6786:206::-;3586:9;:7;:9::i;:::-;3578:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6864:1;6855:5;:10;;;;6847:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6899:5;;:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6932:29;;;;;;;;6938:5;6932:29;;;;;;6945:15;6932:29;;;6917:5;:12;6923:5;;;;;;;;;;;6917:12;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6979:5;6972:4;;:12;;;;;;;;;;;;;;;;;;6786:206;:::o;9754:377::-;9792:4;9809:12;9824:10;9809:25;;9853:9;:15;9863:4;9853:15;;;;;;;;;;;;;;;;;;;;;;;;;9845:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9949:8;:14;9958:4;9949:14;;;;;;;;;;;;;;;:22;;;9930:15;:41;;9908:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10046:8;:14;10055:4;10046:14;;;;;;;;;;;;;;;:19;;;;;;;;;;;;10045:20;10037:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10107:15;10117:4;10107:9;:15::i;:::-;10099:24;;;9754:377;:::o;12593:107::-;12649:7;12676:16;12687:4;12676:10;:16::i;:::-;12669:23;;12593:107;;;:::o;5143:28::-;;;;:::o;3762:140::-;3586:9;:7;:9::i;:::-;3578:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3861:1;3824:40;;3845:6;;;;;;;;;;;3824:40;;;;;;;;;;;;3892:1;3875:6;;:19;;;;;;;;;;;;;;;;;;3762:140::o;7395:500::-;7541:4;7477:10;7489:12;7503:18;;;;;;;;;;;15576:5;15552:14;;:30;;;;;;;;;;;;;;;;;;15593:20;15616:14;;;;;;;;;;;:24;;;15641:7;15658:4;15616:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15616:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15616:48:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15616:48:0;;;;;;;;;;;;;;;;15593:71;;15693:12;15683:6;:22;;15675:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7586:1;7571:12;:16;7563:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7626:12;7641:10;7626:25;;7667:46;7674:4;7680:12;7694:18;;;;;;;;;;;7667:6;:46::i;:::-;7662:92;;7737:5;7730:12;;;;;7662:92;7778:29;7794:12;7778:11;;:15;;:29;;;;:::i;:::-;7764:11;:43;;;;7834:31;7852:12;7834:13;;:17;;:31;;;;:::i;:::-;7818:13;:47;;;;7883:4;7876:11;;;15754:1;7395:500;;;;;;;:::o;5075:26::-;;;;:::o;3459:79::-;3497:7;3524:6;;;;;;;;;;;3517:13;;3459:79;:::o;3660:94::-;3700:4;3740:6;;;;;;;;;;;3724:22;;:12;:10;:12::i;:::-;:22;;;3717:29;;3660:94;:::o;4968:27::-;;;;;;;;;;;;;:::o;8682:325::-;8806:4;8754:10;8766:6;8774:12;;;;;;;;;;;15576:5;15552:14;;:30;;;;;;;;;;;;;;;;;;15593:20;15616:14;;;;;;;;;;;:24;;;15641:7;15658:4;15616:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15616:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15616:48:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15616:48:0;;;;;;;;;;;;;;;;15593:71;;15693:12;15683:6;:22;;15675:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8845:1;8836:6;:10;8828:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8882:12;8897:10;8882:25;;8927:9;:15;8937:4;8927:15;;;;;;;;;;;;;;;;;;;;;;;;;8926:16;8918:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8979:20;8986:4;8992:6;8979;:20::i;:::-;8972:27;;;8682:325;;;;;;;:::o;5108:28::-;;;;:::o;5042:26::-;;;;:::o;11548:395::-;11595:4;11612:12;11627:10;11612:25;;11656:9;:15;11666:4;11656:15;;;;;;;;;;;;;;;;;;;;;;;;;11648:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11752:8;:14;11761:4;11752:14;;;;;;;;;;;;;;;:22;;;11733:15;:41;;11711:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11849:8;:14;11858:4;11849:14;;;;;;;;;;;;;;;:19;;;;;;;;;;;;11848:20;11840:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11910:24;11929:4;11910:18;:24::i;:::-;11902:33;;;11548:395;:::o;3910:109::-;3586:9;:7;:9::i;:::-;3578:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3983:28;4002:8;3983:18;:28::i;:::-;3910:109;:::o;10139:834::-;10189:4;10206:20;10229:16;:14;:16::i;:::-;10206:39;;10256:14;10273:46;10312:6;10273:34;10294:12;10273:16;10284:4;10273:10;:16::i;:::-;:20;;:34;;;;:::i;:::-;:38;;:46;;;;:::i;:::-;10256:63;;10330:14;10347:8;:14;10356:4;10347:14;;;;;;;;;;;;;;;:28;;;10330:45;;10404:13;;10394:6;:23;;10386:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10469:25;10487:6;10469:13;;:17;;:25;;;;:::i;:::-;10453:13;:41;;;;10521:25;10539:6;10521:13;;:17;;:25;;;;:::i;:::-;10505:13;:41;;;;10579:4;10557:8;:14;10566:4;10557:14;;;;;;;;;;;;;;;:19;;;:26;;;;;;;;;;;;;;;;;;10612:5;10594:9;:15;10604:4;10594:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10667:18;10688:38;10699:4;10705:6;10713:12;;;;;;;;;;;10688:10;:38::i;:::-;10667:59;;10737:15;10755:44;10766:4;10772:6;10780:18;;;;;;;;;;;10755:10;:44::i;:::-;10737:62;;10818:13;:27;;;;;10835:10;10818:27;10810:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10920:4;10878:63;;10900:18;;;;;;;;;;;10878:63;;10886:12;;;;;;;;;;;10878:63;;;10926:6;10934;10878:63;;;;;;;;;;;;;;;;;;;;;;;;10961:4;10954:11;;;;;;;10139:834;;;:::o;12708:1696::-;12764:7;12789:9;:15;12799:4;12789:15;;;;;;;;;;;;;;;;;;;;;;;;;12784:30;;12813:1;12806:8;;;;12784:30;12840:14;12869:19;12903:15;12933:16;12995:8;:14;13004:4;12995:14;;;;;;;;;;;;;;;:28;;;13042:8;:14;13051:4;13042:14;;;;;;;;;;;;;;;:26;;;13087:8;:14;13096:4;13087:14;;;;;;;;;;;;;;;:22;;;13128:8;:14;13137:4;13128:14;;;;;;;;;;;;;;;:24;;;;;;;;;;;;12825:342;;;;;;;;13180:12;13203:16;13230:21;13254:24;13266:11;13254:7;:11;;:24;;;;:::i;:::-;13230:48;;13294:8;13305:9;13294:20;;13289:679;13320:5;;;;;;;;;;;13316:9;;:1;:9;;;13289:679;;;13429:5;:12;13439:1;13435;:5;13429:12;;;;;;;;;;;;;;;:22;;;13419:7;:32;13415:542;;;13542:5;;13415:542;13595:39;13622:11;13595:5;:12;13605:1;13601;:5;13595:12;;;;;;;;;;;;;;;:22;;;:26;;:39;;;;:::i;:::-;13588:46;;13664:116;13737:24;13755:5;13737:13;:17;;:24;;;;:::i;:::-;13664:46;13705:4;13664:36;13675:5;:8;13681:1;13675:8;;;;;;;;;;;;;;;:24;;;;;;;;;;;;13664:36;;:6;:10;;:36;;;;:::i;:::-;:40;;:46;;;;:::i;:::-;:50;;:116;;;;:::i;:::-;13653:127;;13848:8;13838:18;;;;13889:5;:12;13899:1;13895;:5;13889:12;;;;;;;;;;;;;;;:22;;;13875:36;;13930:11;;;;;;;13327:3;;;;;;;13289:679;;;;13998:7;13984:11;:21;13980:387;;;14092:24;14104:11;14092:7;:11;;:24;;;;:::i;:::-;14085:31;;14144:138;14257:24;14275:5;14257:13;:17;;:24;;;;:::i;:::-;14144:90;14201:5;:16;14207:9;14201:16;;;;;;;;;;;;;;;:32;;;;;;;;;;;;14144:90;;:34;14171:6;14144:4;:26;;:34;;;;:::i;:::-;:56;;:90;;;;:::i;:::-;:112;;:138;;;;:::i;:::-;14133:149;;14347:8;14337:18;;;;13980:387;14387:8;14379:17;;;;;;;;;12708:1696;;;;:::o;14412:188::-;14525:4;14549:43;14556:5;14571:4;14578:6;14586:5;14549:6;:43::i;:::-;14542:50;;14412:188;;;;;:::o;1450:181::-;1508:7;1528:9;1544:1;1540;:5;1528:17;;1569:1;1564;:6;;1556:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1622:1;1615:8;;;1450:181;;;;:::o;2781:98::-;2826:15;2861:10;2854:17;;2781:98;:::o;9015:646::-;9080:4;9102:36;9109:6;9117;9125:12;;;;;;;;;;;9102:6;:36::i;:::-;9097:82;;9162:5;9155:12;;;;9097:82;9209:4;9189:9;:17;9199:6;9189:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;9243:200;;;;;;;;9266:6;9243:200;;;;9287:15;9243:200;;;;9317:46;9338:23;9355:5;9338:12;;:16;;:23;;;;:::i;:::-;9317:15;:19;;:46;;;;:::i;:::-;9243:200;;;;9407:5;;;;;;;;;;;9243:200;;;;;;9427:5;9243:200;;;;;9224:8;:16;9233:6;9224:16;;;;;;;;;;;;;;;:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9480:6;9459:36;;9466:12;;;;;;;;;;;9459:36;;;9488:6;9459:36;;;;;;;;;;;;;;;;;;9558:25;9576:6;9558:13;;:17;;:25;;;;:::i;:::-;9542:13;:41;;;;9608:23;9624:6;9608:11;;:15;;:23;;;;:::i;:::-;9594:11;:37;;;;9649:4;9642:11;;9015:646;;;;;:::o;11951:500::-;12010:4;12027:14;12044:8;:14;12053:4;12044:14;;;;;;;;;;;;;;;:28;;;12027:45;;12099:25;12117:6;12099:13;;:17;;:25;;;;:::i;:::-;12083:13;:41;;;;12157:4;12135:8;:14;12144:4;12135:14;;;;;;;;;;;;;;;:19;;;:26;;;;;;;;;;;;;;;;;;12190:5;12172:9;:15;12182:4;12172:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;12245:18;12266:38;12277:4;12283:6;12291:12;;;;;;;;;;;12266:10;:38::i;:::-;12245:59;;12323:13;12315:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12403:4;12369:50;;12399:1;12369:50;;12377:12;;;;;;;;;;;12369:50;;;12409:6;12417:1;12369:50;;;;;;;;;;;;;;;;;;;;;;;;12439:4;12432:11;;;;11951:500;;;:::o;4027:266::-;4135:1;4115:22;;:8;:22;;;;4093:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4248:8;4219:38;;4240:6;;;;;;;;;;;4219:38;;;;;;;;;;;;4277:8;4268:6;;:17;;;;;;;;;;;;;;;;;;4027:266;:::o;11062:478::-;11105:7;11149:12;;;;;;;;;;;11125:14;;:37;;;;;;;;;;;;;;;;;;11173:19;11234:18;;;;;;;;;;;11207:45;;:14;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11207:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11207:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11207:23:0;;;;;;;;;;;;;;;;:45;;;11203:207;;;11289:14;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11289:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11289:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11289:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11269:48;;;;;;;;;;;;11203:207;;;11370:14;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11370:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11370:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11370:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11350:48;;;;;;;;;;;;;11203:207;11422:19;11444:14;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11444:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11444:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11444:28:0;;;;;;;;;;;;;;;;11422:50;;11491:40;11519:11;11491:23;11507:6;11491:11;:15;;:23;;;;:::i;:::-;:27;;:40;;;;:::i;:::-;11483:49;;;;11062:478;:::o;1831:250::-;1889:7;1918:1;1913;:6;1909:47;;;1943:1;1936:8;;;;1909:47;1968:9;1984:1;1980;:5;1968:17;;2013:1;2008;2004;:5;;;;;;:10;1996:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2072:1;2065:8;;;1831:250;;;;;:::o;2089:333::-;2147:7;2246:1;2242;:5;2234:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2289:9;2305:1;2301;:5;;;;;;2289:17;;2413:1;2406:8;;;2089:333;;;;:::o;1639:184::-;1697:7;1730:1;1725;:6;;1717:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1777:9;1793:1;1789;:5;1777:17;;1814:1;1807:8;;;1639:184;;;;:::o;15138:222::-;15252:4;15293:5;15269:14;;:30;;;;;;;;;;;;;;;;;;15317:14;;;;;;;;;;;:23;;;15341:2;15345:6;15317:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15317:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15317:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15317:35:0;;;;;;;;;;;;;;;;15310:42;;15138:222;;;;;:::o;14608:522::-;14788:4;14755:7;14764:6;14772:5;15576;15552:14;;:30;;;;;;;;;;;;;;;;;;15593:20;15616:14;;;;;;;;;;;:24;;;15641:7;15658:4;15616:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15616:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15616:48:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15616:48:0;;;;;;;;;;;;;;;;15593:71;;15693:12;15683:6;:22;;15675:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15044:5;15020:14;;:30;;;;;;;;;;;;;;;;;;15068:14;;;;;;;;;;;:27;;;15096:7;15105:8;15115:6;15068:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15068:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15068:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15068:54:0;;;;;;;;;;;;;;;;15061:61;;14608:522;;;;;;;;;;:::o
Swarm Source
bzzr://0ef2cdd190326cc11781e1181173657148de4dd538a029861a93532eda289607
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.000032 | 4,738,890.6627 | $151.47 |
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.