Feature Tip: Add private address tag to any address under My Name Tag !
Overview
Max Total Supply
1,024,736.140985610701397723 SKD
Holders
376 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,319.111328009566981577 SKDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
STAKDToken
Compiler Version
v0.5.11+commit.c082d0b4
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-08-23 */ pragma solidity ^ 0.5 .11; library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns(uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns(uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns(uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns(uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns(uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns(uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns(uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns(uint256) { require(b != 0, errorMessage); return a % b; } } contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, with should be used via inheritance. constructor() internal {} // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns(address) { return msg.sender; } function _msgData() internal view returns(bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable is Context { address payable public _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns(bool) { return _msgSender() == _owner; } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address payable newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address payable newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { uint256 public totalSupply; function balanceOf(address account) external view returns(uint256); function transfer(address recipient, uint256 amount) external returns(bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns(uint256); function transferFrom(address from, address to, uint256 value) public returns(bool); function approve(address spender, uint256 value) public returns(bool); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @title STAKDToken standard * @dev the interface of STAKDTokenStandard */ contract STAKDStandard { uint256 public stakeStartTime; uint256 public stakeMinAge; uint256 public stakeMaxAge; function mint() public returns(bool); function coinAge() public view returns(uint256); function annualInterest() public view returns(uint256); event Mint(address indexed _address, uint _reward); } contract ForeignToken { function balanceOf(address _owner) view public returns(uint256); function transfer(address _to, uint256 _value) public returns(bool); } contract STAKDToken is ERC20, STAKDStandard, Ownable { using SafeMath for uint256; string public name = "STAKD"; string public symbol = "SKD"; uint public decimals = 18; uint public chainStartTime; //chain start time uint public chainStartBlockNumber; //chain start block number uint public stakeStartTime; //stake start time uint public stakeMinAge = 2 days; // minimum age for coin age: 2D uint public stakeMaxAge = 90 days; // stake age of full weight: 90D uint public maxMintProofOfStake = 10 ** 17; // default 10% annual interest uint public totalSupply; uint public maxTotalSupply; uint public totalInitialSupply; address public treasury; struct transferInStruct { uint128 amount; uint64 time; } mapping(address => uint256) balances; mapping(address => mapping(address => uint256)) allowed; mapping(address => transferInStruct[]) transferIns; event TreasuryChange(address caller, address treasury); event Burn(address indexed burner, uint256 value); /** * @dev Fix for the ERC20 short address attack. */ modifier onlyPayloadSize(uint size) { require(msg.data.length >= size + 4); _; } modifier onlyTreasury() { require(msg.sender == treasury); _; } modifier canPoSMint() { require(totalSupply < maxTotalSupply); _; } function getTokenBalance(address tokenAddress, address who) view public returns(uint) { ForeignToken t = ForeignToken(tokenAddress); uint bal = t.balanceOf(who); return bal; } function depositETH() public payable { require(msg.value > 0); } function() external payable { depositETH(); } function withdraw() onlyOwner public { _owner.transfer(address(this).balance); } function withdrawForeignTokens(address _tokenContract) onlyOwner public returns(bool) { ForeignToken token = ForeignToken(_tokenContract); uint256 amount = token.balanceOf(address(this)); return token.transfer(_owner, amount); } constructor(address _treasury) public payable { maxTotalSupply = 10 ** 25; // 10 Million totalInitialSupply = 10 ** 24; // 1 Million. chainStartTime = now; chainStartBlockNumber = block.number; treasury = _treasury; balances[msg.sender] = totalInitialSupply; totalSupply = totalInitialSupply; } function transfer(address _to, uint256 _value) onlyPayloadSize(2 * 32) public returns(bool) { if (msg.sender == _to) return mint(); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); if (transferIns[msg.sender].length > 0) delete transferIns[msg.sender]; uint64 _now = uint64(now); transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]), _now)); transferIns[_to].push(transferInStruct(uint128(_value), _now)); return true; } function changeTreasury(address _treasury) public onlyTreasury returns(bool) { treasury = _treasury; emit TreasuryChange(msg.sender, treasury); return true; } function balanceOf(address _owner) public view returns(uint256 balance) { return balances[_owner]; } function transferFrom(address _from, address _to, uint256 _value) onlyPayloadSize(3 * 32) public returns(bool) { require(_to != address(0)); uint256 _allowance = allowed[_from][msg.sender]; // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met // require (_value <= _allowance); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = _allowance.sub(_value); emit Transfer(_from, _to, _value); if (transferIns[_from].length > 0) delete transferIns[_from]; uint64 _now = uint64(now); transferIns[_from].push(transferInStruct(uint128(balances[_from]), _now)); transferIns[_to].push(transferInStruct(uint128(_value), _now)); return true; } function approve(address _spender, uint256 _value) public returns(bool) { require((_value == 0) || (allowed[msg.sender][_spender] == 0)); allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) public view returns(uint256 remaining) { return allowed[_owner][_spender]; } function mint() canPoSMint public returns(bool) { if (balances[msg.sender] <= 0) return false; if (transferIns[msg.sender].length <= 0) return false; uint reward = getProofOfStakeReward(msg.sender); if (reward <= 0) return false; uint senderReward = (reward * 90).div(100); // 90% goes to the holder, 10% goes to the Treasury uint treasuryReward = reward - senderReward; totalSupply = totalSupply.add(reward); balances[msg.sender] = balances[msg.sender].add(senderReward); balances[treasury] = balances[treasury].add(treasuryReward); delete transferIns[msg.sender]; transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]), uint64(now))); emit Mint(msg.sender, reward); return true; } function getBlockNumber() public view returns(uint blockNumber) { blockNumber = block.number.sub(chainStartBlockNumber); } function coinAge() public view returns(uint myCoinAge) { myCoinAge = getCoinAge(msg.sender, now); } function annualInterest() public view returns(uint interest) { uint _now = now; interest = maxMintProofOfStake; if ((_now.sub(stakeStartTime)).div(365 days) == 0) { interest = (770 * maxMintProofOfStake).div(100); } else if ((_now.sub(stakeStartTime)).div(365 days) == 1) { interest = (435 * maxMintProofOfStake).div(100); } } function getProofOfStakeReward(address _address) internal view returns(uint) { require((now >= stakeStartTime) && (stakeStartTime > 0)); uint _now = now; uint _coinAge = getCoinAge(_address, _now); if (_coinAge <= 0) return 0; uint interest = maxMintProofOfStake; // Due to the high interest rate for the first two years, compounding should be taken into account. // Effective annual interest rate = (1 + (nominal rate / number of compounding periods)) ^ (number of compounding periods) - 1 if ((_now.sub(stakeStartTime)).div(365 days) == 0) { // 1st year effective annual interest rate is 100% when we select the stakeMaxAge (90 days) as the compounding period. interest = (770 * maxMintProofOfStake).div(100); } else if ((_now.sub(stakeStartTime)).div(365 days) == 1) { // 2nd year effective annual interest rate is 50% interest = (435 * maxMintProofOfStake).div(100); } return (_coinAge * interest).div(365 * (10 ** decimals)); } function getCoinAge(address _address, uint _now) internal view returns(uint _coinAge) { if (transferIns[_address].length <= 0) return 0; for (uint i = 0; i < transferIns[_address].length; i++) { if (_now < uint(transferIns[_address][i].time).add(stakeMinAge)) continue; uint nCoinSeconds = _now.sub(uint(transferIns[_address][i].time)); if (nCoinSeconds > stakeMaxAge) nCoinSeconds = stakeMaxAge; _coinAge = _coinAge.add(uint(transferIns[_address][i].amount) * nCoinSeconds.div(1 days)); } } function ownerSetStakeStartTime(uint timestamp) public onlyOwner { require((stakeStartTime <= 0) && (timestamp >= chainStartTime)); stakeStartTime = timestamp; } function ownerBurnToken(uint _value) public onlyOwner { require(_value > 0); balances[msg.sender] = balances[msg.sender].sub(_value); delete transferIns[msg.sender]; transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]), uint64(now))); totalSupply = totalSupply.sub(_value); totalInitialSupply = totalInitialSupply.sub(_value); maxTotalSupply = maxTotalSupply.sub(_value * 10); emit Burn(msg.sender, _value); } /* Batch token transfer. Used by contract creator to distribute initial tokens to holders */ function batchTransfer(address[] memory _recipients, uint[] memory _values) public onlyOwner returns(bool) { require(_recipients.length > 0 && _recipients.length == _values.length); uint total = 0; for (uint i = 0; i < _values.length; i++) { total = total.add(_values[i]); } require(total <= balances[msg.sender]); uint64 _now = uint64(now); for (uint j = 0; j < _recipients.length; j++) { balances[_recipients[j]] = balances[_recipients[j]].add(_values[j]); transferIns[_recipients[j]].push(transferInStruct(uint128(_values[j]), _now)); emit Transfer(msg.sender, _recipients[j], _values[j]); } balances[msg.sender] = balances[msg.sender].sub(total); if (transferIns[msg.sender].length > 0) delete transferIns[msg.sender]; if (balances[msg.sender] > 0) transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]), _now)); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"coinAge","outputs":[{"internalType":"uint256","name":"myCoinAge","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"ownerSetStakeStartTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"chainStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakeStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_recipients","type":"address[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"batchTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"ownerBurnToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalInitialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"changeTreasury","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"annualInterest","outputs":[{"internalType":"uint256","name":"interest","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"address","name":"who","type":"address"}],"name":"getTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakeMinAge","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"chainStartBlockNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakeMaxAge","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_tokenContract","type":"address"}],"name":"withdrawForeignTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxMintProofOfStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"depositETH","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"address","name":"treasury","type":"address"}],"name":"TreasuryChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"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":"_address","type":"address"},{"indexed":false,"internalType":"uint256","name":"_reward","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
60c0604052600560808190527f5354414b4400000000000000000000000000000000000000000000000000000060a09081526200003e9190816200017b565b506040805180820190915260038082527f534b440000000000000000000000000000000000000000000000000000000000602090920191825262000085916006916200017b565b5060126007556202a300600b556276a700600c5567016345785d8a0000600d55604051620021b3380380620021b383398181016040526020811015620000ca57600080fd5b5051600480546001600160a01b0319163317908190556040516001600160a01b0391909116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36a084595161401484a000000600f5569d3c21bcecceda100000060108190554260085543600955601180546001600160a01b0319166001600160a01b039390931692909217909155336000908152601260205260409020819055600e5562000220565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001be57805160ff1916838001178555620001ee565b82800160010185558215620001ee579182015b82811115620001ee578251825591602001919060010190620001d1565b50620001fc92915062000200565b5090565b6200021d91905b80821115620001fc576000815560010162000207565b90565b611f8380620002306000396000f3fe6080604052600436106101ee5760003560e01c80638f32d59b1161010d578063c489744b116100a0578063e1c3bac61161006f578063e1c3bac614610742578063e58fc54c14610757578063f2bb5ce11461078a578063f2fde38b1461079f578063f6326fb3146101ee576101ee565b8063c489744b146106a2578063cbd8877e146106dd578063cd474b04146106f2578063dd62ed3e14610707576101ee565b8063a9059cbb116100dc578063a9059cbb1461060c578063b14f2a3914610645578063b2552fc414610678578063b2bdfa7b1461068d576101ee565b80638f32d59b146105a357806390762a8b146105b857806395d89b41146105e25780639fd4da40146105f7576101ee565b8063313ce5671161018557806361d027b31161015457806361d027b3146103f657806370a08231146104275780637419f1901461045a57806388d695b21461046f576101ee565b8063313ce567146103a25780633ccfd60b146103b757806342cbb15c146103cc5780635b054f9b146103e1576101ee565b80631e1b13c0116101c15780631e1b13c01461030b57806323b872dd146103205780632a9edf6f146103635780632ab4d0521461038d576101ee565b806306fdde03146101f8578063095ea7b3146102825780631249c58b146102cf57806318160ddd146102e4575b6101f66107d2565b005b34801561020457600080fd5b5061020d6107e1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024757818101518382015260200161022f565b50505050905090810190601f1680156102745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028e57600080fd5b506102bb600480360360408110156102a557600080fd5b506001600160a01b03813516906020013561086f565b604080519115158252519081900360200190f35b3480156102db57600080fd5b506102bb610910565b3480156102f057600080fd5b506102f9610afb565b60408051918252519081900360200190f35b34801561031757600080fd5b506102f9610b01565b34801561032c57600080fd5b506102bb6004803603606081101561034357600080fd5b506001600160a01b03813581169160208101359091169060400135610b12565b34801561036f57600080fd5b506101f66004803603602081101561038657600080fd5b5035610d53565b34801561039957600080fd5b506102f9610dba565b3480156103ae57600080fd5b506102f9610dc0565b3480156103c357600080fd5b506101f6610dc6565b3480156103d857600080fd5b506102f9610e4a565b3480156103ed57600080fd5b506102f9610e61565b34801561040257600080fd5b5061040b610e67565b604080516001600160a01b039092168252519081900360200190f35b34801561043357600080fd5b506102f96004803603602081101561044a57600080fd5b50356001600160a01b0316610e76565b34801561046657600080fd5b506102f9610e95565b34801561047b57600080fd5b506102bb6004803603604081101561049257600080fd5b8101906020810181356401000000008111156104ad57600080fd5b8201836020820111156104bf57600080fd5b803590602001918460208302840111640100000000831117156104e157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561053157600080fd5b82018360208201111561054357600080fd5b8035906020019184602083028401116401000000008311171561056557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610e9b945050505050565b3480156105af57600080fd5b506102bb611244565b3480156105c457600080fd5b506101f6600480360360208110156105db57600080fd5b503561126a565b3480156105ee57600080fd5b5061020d611409565b34801561060357600080fd5b506102f9611464565b34801561061857600080fd5b506102bb6004803603604081101561062f57600080fd5b506001600160a01b03813516906020013561146a565b34801561065157600080fd5b506102bb6004803603602081101561066857600080fd5b50356001600160a01b0316611654565b34801561068457600080fd5b506102f96116d3565b34801561069957600080fd5b5061040b611769565b3480156106ae57600080fd5b506102f9600480360360408110156106c557600080fd5b506001600160a01b0381358116916020013516611778565b3480156106e957600080fd5b506102f961180b565b3480156106fe57600080fd5b506102f9611811565b34801561071357600080fd5b506102f96004803603604081101561072a57600080fd5b506001600160a01b0381358116916020013516611817565b34801561074e57600080fd5b506102f9611842565b34801561076357600080fd5b506102bb6004803603602081101561077a57600080fd5b50356001600160a01b0316611848565b34801561079657600080fd5b506102f9611996565b3480156107ab57600080fd5b506101f6600480360360208110156107c257600080fd5b50356001600160a01b031661199c565b600034116107df57600080fd5b565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108675780601f1061083c57610100808354040283529160200191610867565b820191906000526020600020905b81548152906001019060200180831161084a57829003601f168201915b505050505081565b600081158061089f57503360009081526013602090815260408083206001600160a01b0387168452909152902054155b6108a857600080fd5b3360008181526013602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6000600f54600e541061092257600080fd5b3360009081526012602052604090205461093e57506000610af8565b3360009081526014602052604090205461095a57506000610af8565b6000610965336119ec565b905060008111610979576000915050610af8565b600061098f605a8302606463ffffffff611ad816565b600e54909150818303906109a9908463ffffffff611b2116565b600e55336000908152601260205260409020546109cc908363ffffffff611b2116565b33600090815260126020526040808220929092556011546001600160a01b031681522054610a00908263ffffffff611b2116565b6011546001600160a01b031660009081526012602090815260408083209390935533825260149052908120610a3491611ecb565b3360008181526014602090815260408083208151808301835260128452828520546001600160801b03908116825267ffffffffffffffff42811683870190815284546001810186559488529686902092519290930180549651909316600160801b0267ffffffffffffffff60801b19929091166001600160801b0319909616959095171693909317909255815186815291517f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859281900390910190a2600193505050505b90565b600e5481565b6000610b0d3342611b7b565b905090565b600060606064361015610b2457600080fd5b6001600160a01b038416610b3757600080fd5b6001600160a01b03851660008181526013602090815260408083203384528252808320549383526012909152902054610b76908563ffffffff611ce816565b6001600160a01b038088166000908152601260205260408082209390935590871681522054610bab908563ffffffff611b2116565b6001600160a01b038616600090815260126020526040902055610bd4818563ffffffff611ce816565b6001600160a01b03808816600081815260136020908152604080832033845282529182902094909455805188815290519289169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a36001600160a01b03861660009081526014602052604090205415610c74576001600160a01b0386166000908152601460205260408120610c7491611ecb565b5050506001600160a01b0392831660009081526014602081815260408084208151808301835260128452828620546001600160801b03908116825267ffffffffffffffff428116838701818152855460018082018855968b52888b2095519501805491518416600160801b90810267ffffffffffffffff60801b199787166001600160801b0319948516178816179091559b909c1689529686528488208551808701909652988216855284860196875288548085018a559888529490962092519290960180549451909316909602931691909516179091161790915590565b610d5b611244565b610d9a576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b600a54158015610dac57506008548110155b610db557600080fd5b600a55565b600f5481565b60075481565b610dce611244565b610e0d576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b6004546040516001600160a01b0390911690303180156108fc02916000818181858888f19350505050158015610e47573d6000803e3d6000fd5b50565b6000610b0d60095443611ce890919063ffffffff16565b60085481565b6011546001600160a01b031681565b6001600160a01b0381166000908152601260205260409020545b919050565b600a5481565b6000610ea5611244565b610ee4576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b60008351118015610ef6575081518351145b610eff57600080fd5b6000805b8351811015610f3c57610f32848281518110610f1b57fe5b602002602001015183611b2190919063ffffffff16565b9150600101610f03565b5033600090815260126020526040902054811115610f5957600080fd5b4260005b855181101561114257610fc4858281518110610f7557fe5b602002602001015160126000898581518110610f8d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054611b2190919063ffffffff16565b60126000888481518110610fd457fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055506014600087838151811061101057fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020604051806040016040528087848151811061104f57fe5b6020908102919091018101516001600160801b03908116835267ffffffffffffffff87811693830193909352845460018101865560009586529482902084519501805494909201516001600160801b031990941694169390931767ffffffffffffffff60801b1916600160801b929091169190910217905585518690829081106110d557fe5b60200260200101516001600160a01b0316336001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87848151811061111d57fe5b60200260200101516040518082815260200191505060405180910390a3600101610f5d565b5033600090815260126020526040902054611163908363ffffffff611ce816565b336000908152601260209081526040808320939093556014905220541561119c5733600090815260146020526040812061119c91611ecb565b3360009081526012602052604090205415611239573360009081526014602090815260408083208151808301835260128452918420546001600160801b03908116835267ffffffffffffffff80871684860190815283546001810185559387529490952092519290910180549351909416600160801b0267ffffffffffffffff60801b19929091166001600160801b031990931692909217161790555b506001949350505050565b6004546000906001600160a01b031661125b611d2a565b6001600160a01b031614905090565b611272611244565b6112b1576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b600081116112be57600080fd5b336000908152601260205260409020546112de908263ffffffff611ce816565b336000908152601260209081526040808320939093556014905290812061130491611ecb565b3360009081526014602090815260408083208151808301835260128452918420546001600160801b03908116835267ffffffffffffffff42811684860190815283546001810185559387529490952092519290910180549351909416600160801b0267ffffffffffffffff60801b19929091166001600160801b03199093169290921716179055600e5461139e908263ffffffff611ce816565b600e556010546113b4908263ffffffff611ce816565b601055600f546113cd90600a830263ffffffff611ce816565b600f5560408051828152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108675780601f1061083c57610100808354040283529160200191610867565b60105481565b60006040604436101561147c57600080fd5b336001600160a01b038516141561149c57611495610910565b915061164d565b336000908152601260205260409020546114bc908463ffffffff611ce816565b33600090815260126020526040808220929092556001600160a01b038616815220546114ee908463ffffffff611b2116565b6001600160a01b0385166000818152601260209081526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a333600090815260146020526040902054156115705733600090815260146020526040812061157091611ecb565b3360009081526014602081815260408084208151808301835260128452828620546001600160801b03908116825267ffffffffffffffff428116838701818152855460018181018855968b52888b2095519501805491518416600160801b90810267ffffffffffffffff60801b199787166001600160801b0319948516178816179091556001600160a01b038f168b52988852868a2087518089019098528d8516885287890192835280548088018255908b5297909920955195909601805496519091169096029316939095169290921790931692909217905591505b5092915050565b6011546000906001600160a01b0316331461166e57600080fd5b601180546001600160a01b0319166001600160a01b0384811691909117918290556040805133815292909116602083015280517f803605f0e28534cba577fd3b24b497857b9d8fd1b4105ce6b37c5c33b83ef76b9281900390910190a1506001919050565b600d54600a544290611702906301e13380906116f690849063ffffffff611ce816565b9063ffffffff611ad816565b61172557600d5461171e9061030202606463ffffffff611ad816565b9150611765565b6117426301e133806116f6600a5484611ce890919063ffffffff16565b6001141561176557600d54611762906101b302606463ffffffff611ad816565b91505b5090565b6004546001600160a01b031681565b6000808390506000816001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156117d657600080fd5b505afa1580156117ea573d6000803e3d6000fd5b505050506040513d602081101561180057600080fd5b505195945050505050565b600b5481565b60095481565b6001600160a01b03918216600090815260136020908152604080832093909416825291909152205490565b600c5481565b6000611852611244565b611891576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156118dc57600080fd5b505afa1580156118f0573d6000803e3d6000fd5b505050506040513d602081101561190657600080fd5b5051600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018490525192935084169163a9059cbb916044808201926020929091908290030181600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b505050506040513d602081101561198c57600080fd5b5051949350505050565b600d5481565b6119a4611244565b6119e3576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b610e4781611d2e565b6000600a544210158015611a0257506000600a54115b611a0b57600080fd5b426000611a188483611b7b565b905060008111611a2d57600092505050610e90565b600d54600a54611a4e906301e13380906116f690869063ffffffff611ce816565b611a7157600d54611a6a9061030202606463ffffffff611ad816565b9050611ab1565b611a8e6301e133806116f6600a5486611ce890919063ffffffff16565b60011415611ab157600d54611aae906101b302606463ffffffff611ad816565b90505b611acf600754600a0a61016d02828402611ad890919063ffffffff16565b95945050505050565b6000611b1a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dcf565b9392505050565b600082820183811015611b1a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216600090815260146020526040812054611ba05750600061090a565b60005b6001600160a01b03841660009081526014602052604090205481101561164d57600b546001600160a01b03851660009081526014602052604090208054611c1392919084908110611bf057fe5b600091825260209091200154600160801b900467ffffffffffffffff1690611b21565b831015611c1f57611ce0565b6001600160a01b03841660009081526014602052604081208054611c6c919084908110611c4857fe5b6000918252602090912001548590600160801b900467ffffffffffffffff16611ce8565b9050600c54811115611c7d5750600c545b611cdc611c93826201518063ffffffff611ad816565b6001600160a01b0387166000908152601460205260409020805485908110611cb757fe5b60009182526020909120015485916001600160801b039091160263ffffffff611b2116565b9250505b600101611ba3565b6000611b1a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e71565b3390565b6001600160a01b038116611d735760405162461bcd60e51b8152600401808060200182810382526026815260200180611f096026913960400191505060405180910390fd5b6004546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600480546001600160a01b0319166001600160a01b0392909216919091179055565b60008183611e5b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e20578181015183820152602001611e08565b50505050905090810190601f168015611e4d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611e6757fe5b0495945050505050565b60008184841115611ec35760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611e20578181015183820152602001611e08565b505050900390565b5080546000825590600052602060002090810190610e479190610af891905b808211156117655780546001600160c01b0319168155600101611eea56fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820faba7f65ff7cbecb0c72f5fb52ed4530725bfb6dcdb85f9f5e2c0bd20d53d82f64736f6c634300050b003200000000000000000000000008da540b7db4630b230762390466f1d170771c38
Deployed Bytecode
0x6080604052600436106101ee5760003560e01c80638f32d59b1161010d578063c489744b116100a0578063e1c3bac61161006f578063e1c3bac614610742578063e58fc54c14610757578063f2bb5ce11461078a578063f2fde38b1461079f578063f6326fb3146101ee576101ee565b8063c489744b146106a2578063cbd8877e146106dd578063cd474b04146106f2578063dd62ed3e14610707576101ee565b8063a9059cbb116100dc578063a9059cbb1461060c578063b14f2a3914610645578063b2552fc414610678578063b2bdfa7b1461068d576101ee565b80638f32d59b146105a357806390762a8b146105b857806395d89b41146105e25780639fd4da40146105f7576101ee565b8063313ce5671161018557806361d027b31161015457806361d027b3146103f657806370a08231146104275780637419f1901461045a57806388d695b21461046f576101ee565b8063313ce567146103a25780633ccfd60b146103b757806342cbb15c146103cc5780635b054f9b146103e1576101ee565b80631e1b13c0116101c15780631e1b13c01461030b57806323b872dd146103205780632a9edf6f146103635780632ab4d0521461038d576101ee565b806306fdde03146101f8578063095ea7b3146102825780631249c58b146102cf57806318160ddd146102e4575b6101f66107d2565b005b34801561020457600080fd5b5061020d6107e1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024757818101518382015260200161022f565b50505050905090810190601f1680156102745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028e57600080fd5b506102bb600480360360408110156102a557600080fd5b506001600160a01b03813516906020013561086f565b604080519115158252519081900360200190f35b3480156102db57600080fd5b506102bb610910565b3480156102f057600080fd5b506102f9610afb565b60408051918252519081900360200190f35b34801561031757600080fd5b506102f9610b01565b34801561032c57600080fd5b506102bb6004803603606081101561034357600080fd5b506001600160a01b03813581169160208101359091169060400135610b12565b34801561036f57600080fd5b506101f66004803603602081101561038657600080fd5b5035610d53565b34801561039957600080fd5b506102f9610dba565b3480156103ae57600080fd5b506102f9610dc0565b3480156103c357600080fd5b506101f6610dc6565b3480156103d857600080fd5b506102f9610e4a565b3480156103ed57600080fd5b506102f9610e61565b34801561040257600080fd5b5061040b610e67565b604080516001600160a01b039092168252519081900360200190f35b34801561043357600080fd5b506102f96004803603602081101561044a57600080fd5b50356001600160a01b0316610e76565b34801561046657600080fd5b506102f9610e95565b34801561047b57600080fd5b506102bb6004803603604081101561049257600080fd5b8101906020810181356401000000008111156104ad57600080fd5b8201836020820111156104bf57600080fd5b803590602001918460208302840111640100000000831117156104e157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561053157600080fd5b82018360208201111561054357600080fd5b8035906020019184602083028401116401000000008311171561056557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610e9b945050505050565b3480156105af57600080fd5b506102bb611244565b3480156105c457600080fd5b506101f6600480360360208110156105db57600080fd5b503561126a565b3480156105ee57600080fd5b5061020d611409565b34801561060357600080fd5b506102f9611464565b34801561061857600080fd5b506102bb6004803603604081101561062f57600080fd5b506001600160a01b03813516906020013561146a565b34801561065157600080fd5b506102bb6004803603602081101561066857600080fd5b50356001600160a01b0316611654565b34801561068457600080fd5b506102f96116d3565b34801561069957600080fd5b5061040b611769565b3480156106ae57600080fd5b506102f9600480360360408110156106c557600080fd5b506001600160a01b0381358116916020013516611778565b3480156106e957600080fd5b506102f961180b565b3480156106fe57600080fd5b506102f9611811565b34801561071357600080fd5b506102f96004803603604081101561072a57600080fd5b506001600160a01b0381358116916020013516611817565b34801561074e57600080fd5b506102f9611842565b34801561076357600080fd5b506102bb6004803603602081101561077a57600080fd5b50356001600160a01b0316611848565b34801561079657600080fd5b506102f9611996565b3480156107ab57600080fd5b506101f6600480360360208110156107c257600080fd5b50356001600160a01b031661199c565b600034116107df57600080fd5b565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108675780601f1061083c57610100808354040283529160200191610867565b820191906000526020600020905b81548152906001019060200180831161084a57829003601f168201915b505050505081565b600081158061089f57503360009081526013602090815260408083206001600160a01b0387168452909152902054155b6108a857600080fd5b3360008181526013602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6000600f54600e541061092257600080fd5b3360009081526012602052604090205461093e57506000610af8565b3360009081526014602052604090205461095a57506000610af8565b6000610965336119ec565b905060008111610979576000915050610af8565b600061098f605a8302606463ffffffff611ad816565b600e54909150818303906109a9908463ffffffff611b2116565b600e55336000908152601260205260409020546109cc908363ffffffff611b2116565b33600090815260126020526040808220929092556011546001600160a01b031681522054610a00908263ffffffff611b2116565b6011546001600160a01b031660009081526012602090815260408083209390935533825260149052908120610a3491611ecb565b3360008181526014602090815260408083208151808301835260128452828520546001600160801b03908116825267ffffffffffffffff42811683870190815284546001810186559488529686902092519290930180549651909316600160801b0267ffffffffffffffff60801b19929091166001600160801b0319909616959095171693909317909255815186815291517f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859281900390910190a2600193505050505b90565b600e5481565b6000610b0d3342611b7b565b905090565b600060606064361015610b2457600080fd5b6001600160a01b038416610b3757600080fd5b6001600160a01b03851660008181526013602090815260408083203384528252808320549383526012909152902054610b76908563ffffffff611ce816565b6001600160a01b038088166000908152601260205260408082209390935590871681522054610bab908563ffffffff611b2116565b6001600160a01b038616600090815260126020526040902055610bd4818563ffffffff611ce816565b6001600160a01b03808816600081815260136020908152604080832033845282529182902094909455805188815290519289169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a36001600160a01b03861660009081526014602052604090205415610c74576001600160a01b0386166000908152601460205260408120610c7491611ecb565b5050506001600160a01b0392831660009081526014602081815260408084208151808301835260128452828620546001600160801b03908116825267ffffffffffffffff428116838701818152855460018082018855968b52888b2095519501805491518416600160801b90810267ffffffffffffffff60801b199787166001600160801b0319948516178816179091559b909c1689529686528488208551808701909652988216855284860196875288548085018a559888529490962092519290960180549451909316909602931691909516179091161790915590565b610d5b611244565b610d9a576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b600a54158015610dac57506008548110155b610db557600080fd5b600a55565b600f5481565b60075481565b610dce611244565b610e0d576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b6004546040516001600160a01b0390911690303180156108fc02916000818181858888f19350505050158015610e47573d6000803e3d6000fd5b50565b6000610b0d60095443611ce890919063ffffffff16565b60085481565b6011546001600160a01b031681565b6001600160a01b0381166000908152601260205260409020545b919050565b600a5481565b6000610ea5611244565b610ee4576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b60008351118015610ef6575081518351145b610eff57600080fd5b6000805b8351811015610f3c57610f32848281518110610f1b57fe5b602002602001015183611b2190919063ffffffff16565b9150600101610f03565b5033600090815260126020526040902054811115610f5957600080fd5b4260005b855181101561114257610fc4858281518110610f7557fe5b602002602001015160126000898581518110610f8d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054611b2190919063ffffffff16565b60126000888481518110610fd457fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055506014600087838151811061101057fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020604051806040016040528087848151811061104f57fe5b6020908102919091018101516001600160801b03908116835267ffffffffffffffff87811693830193909352845460018101865560009586529482902084519501805494909201516001600160801b031990941694169390931767ffffffffffffffff60801b1916600160801b929091169190910217905585518690829081106110d557fe5b60200260200101516001600160a01b0316336001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87848151811061111d57fe5b60200260200101516040518082815260200191505060405180910390a3600101610f5d565b5033600090815260126020526040902054611163908363ffffffff611ce816565b336000908152601260209081526040808320939093556014905220541561119c5733600090815260146020526040812061119c91611ecb565b3360009081526012602052604090205415611239573360009081526014602090815260408083208151808301835260128452918420546001600160801b03908116835267ffffffffffffffff80871684860190815283546001810185559387529490952092519290910180549351909416600160801b0267ffffffffffffffff60801b19929091166001600160801b031990931692909217161790555b506001949350505050565b6004546000906001600160a01b031661125b611d2a565b6001600160a01b031614905090565b611272611244565b6112b1576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b600081116112be57600080fd5b336000908152601260205260409020546112de908263ffffffff611ce816565b336000908152601260209081526040808320939093556014905290812061130491611ecb565b3360009081526014602090815260408083208151808301835260128452918420546001600160801b03908116835267ffffffffffffffff42811684860190815283546001810185559387529490952092519290910180549351909416600160801b0267ffffffffffffffff60801b19929091166001600160801b03199093169290921716179055600e5461139e908263ffffffff611ce816565b600e556010546113b4908263ffffffff611ce816565b601055600f546113cd90600a830263ffffffff611ce816565b600f5560408051828152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108675780601f1061083c57610100808354040283529160200191610867565b60105481565b60006040604436101561147c57600080fd5b336001600160a01b038516141561149c57611495610910565b915061164d565b336000908152601260205260409020546114bc908463ffffffff611ce816565b33600090815260126020526040808220929092556001600160a01b038616815220546114ee908463ffffffff611b2116565b6001600160a01b0385166000818152601260209081526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a333600090815260146020526040902054156115705733600090815260146020526040812061157091611ecb565b3360009081526014602081815260408084208151808301835260128452828620546001600160801b03908116825267ffffffffffffffff428116838701818152855460018181018855968b52888b2095519501805491518416600160801b90810267ffffffffffffffff60801b199787166001600160801b0319948516178816179091556001600160a01b038f168b52988852868a2087518089019098528d8516885287890192835280548088018255908b5297909920955195909601805496519091169096029316939095169290921790931692909217905591505b5092915050565b6011546000906001600160a01b0316331461166e57600080fd5b601180546001600160a01b0319166001600160a01b0384811691909117918290556040805133815292909116602083015280517f803605f0e28534cba577fd3b24b497857b9d8fd1b4105ce6b37c5c33b83ef76b9281900390910190a1506001919050565b600d54600a544290611702906301e13380906116f690849063ffffffff611ce816565b9063ffffffff611ad816565b61172557600d5461171e9061030202606463ffffffff611ad816565b9150611765565b6117426301e133806116f6600a5484611ce890919063ffffffff16565b6001141561176557600d54611762906101b302606463ffffffff611ad816565b91505b5090565b6004546001600160a01b031681565b6000808390506000816001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156117d657600080fd5b505afa1580156117ea573d6000803e3d6000fd5b505050506040513d602081101561180057600080fd5b505195945050505050565b600b5481565b60095481565b6001600160a01b03918216600090815260136020908152604080832093909416825291909152205490565b600c5481565b6000611852611244565b611891576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156118dc57600080fd5b505afa1580156118f0573d6000803e3d6000fd5b505050506040513d602081101561190657600080fd5b5051600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018490525192935084169163a9059cbb916044808201926020929091908290030181600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b505050506040513d602081101561198c57600080fd5b5051949350505050565b600d5481565b6119a4611244565b6119e3576040805162461bcd60e51b81526020600482018190526024820152600080516020611f2f833981519152604482015290519081900360640190fd5b610e4781611d2e565b6000600a544210158015611a0257506000600a54115b611a0b57600080fd5b426000611a188483611b7b565b905060008111611a2d57600092505050610e90565b600d54600a54611a4e906301e13380906116f690869063ffffffff611ce816565b611a7157600d54611a6a9061030202606463ffffffff611ad816565b9050611ab1565b611a8e6301e133806116f6600a5486611ce890919063ffffffff16565b60011415611ab157600d54611aae906101b302606463ffffffff611ad816565b90505b611acf600754600a0a61016d02828402611ad890919063ffffffff16565b95945050505050565b6000611b1a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611dcf565b9392505050565b600082820183811015611b1a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216600090815260146020526040812054611ba05750600061090a565b60005b6001600160a01b03841660009081526014602052604090205481101561164d57600b546001600160a01b03851660009081526014602052604090208054611c1392919084908110611bf057fe5b600091825260209091200154600160801b900467ffffffffffffffff1690611b21565b831015611c1f57611ce0565b6001600160a01b03841660009081526014602052604081208054611c6c919084908110611c4857fe5b6000918252602090912001548590600160801b900467ffffffffffffffff16611ce8565b9050600c54811115611c7d5750600c545b611cdc611c93826201518063ffffffff611ad816565b6001600160a01b0387166000908152601460205260409020805485908110611cb757fe5b60009182526020909120015485916001600160801b039091160263ffffffff611b2116565b9250505b600101611ba3565b6000611b1a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e71565b3390565b6001600160a01b038116611d735760405162461bcd60e51b8152600401808060200182810382526026815260200180611f096026913960400191505060405180910390fd5b6004546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600480546001600160a01b0319166001600160a01b0392909216919091179055565b60008183611e5b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e20578181015183820152602001611e08565b50505050905090810190601f168015611e4d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611e6757fe5b0495945050505050565b60008184841115611ec35760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611e20578181015183820152602001611e08565b505050900390565b5080546000825590600052602060002090810190610e479190610af891905b808211156117655780546001600160c01b0319168155600101611eea56fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820faba7f65ff7cbecb0c72f5fb52ed4530725bfb6dcdb85f9f5e2c0bd20d53d82f64736f6c634300050b0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000008da540b7db4630b230762390466f1d170771c38
-----Decoded View---------------
Arg [0] : _treasury (address): 0x08da540b7dB4630b230762390466F1D170771C38
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000008da540b7db4630b230762390466f1d170771c38
Deployed Bytecode Sourcemap
8478:9922:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10301:12;:10;:12::i;:::-;8478:9922;8578:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8578:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8578:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12911:280;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12911:280:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12911:280:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;13350:835;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13350:835:0;;;:::i;9079:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9079:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;14337:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14337:113:0;;;:::i;12027:876::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12027:876:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12027:876:0;;;;;;;;;;;;;;;;;:::i;16559:184::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16559:184:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16559:184:0;;:::i;9109:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9109:26:0;;;:::i;8648:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8648:25:0;;;:::i;10331:96::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10331:96:0;;;:::i;14193:136::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14193:136:0;;;:::i;8682:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8682:26:0;;;:::i;9181:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9181:23:0;;;:::i;:::-;;;;-1:-1:-1;;;;;9181:23:0;;;;;;;;;;;;;;11905:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11905:114:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11905:114:0;-1:-1:-1;;;;;11905:114:0;;:::i;8801:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8801:26:0;;;:::i;17372:1025::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17372:1025:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17372:1025:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;17372:1025:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17372:1025:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;17372:1025:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17372:1025:0;;;;;;;;-1:-1:-1;17372:1025:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;17372:1025:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17372:1025:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;17372:1025:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17372:1025:0;;-1:-1:-1;17372:1025:0;;-1:-1:-1;;;;;17372:1025:0:i;6236:93::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6236:93:0;;;:::i;16751:515::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16751:515:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16751:515:0;;:::i;8613:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8613:28:0;;;:::i;9142:30::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9142:30:0;;;:::i;11079:620::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11079:620:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11079:620:0;;;;;;;;:::i;11707:190::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11707:190:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11707:190:0;-1:-1:-1;;;;;11707:190:0;;:::i;14458:402::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14458:402:0;;;:::i;5574:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5574:29:0;;;:::i;9961:207::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9961:207:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9961:207:0;;;;;;;;;;:::i;8853:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8853:32:0;;;:::i;8734:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8734:33:0;;;:::i;13199:143::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13199:143:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13199:143:0;;;;;;;;;;:::i;8924:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8924:33:0;;;:::i;10435:260::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10435:260:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10435:260:0;-1:-1:-1;;;;;10435:260:0;;:::i;8997:42::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8997:42:0;;;:::i;6486:117::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6486:117:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6486:117:0;-1:-1:-1;;;;;6486:117:0;;:::i;10176:78::-;10244:1;10232:9;:13;10224:22;;;;;;10176:78::o;8578:28::-;;;;;;;;;;;;;;;-1:-1:-1;;8578:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12911:280::-;12977:4;13003:11;;;13002:53;;-1:-1:-1;13028:10:0;13020:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;13020:29:0;;;;;;;;;;:34;13002:53;12994:62;;;;;;13077:10;13069:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;13069:29:0;;;;;;;;;;;;:38;;;13123;;;;;;;13069:29;;13077:10;13123:38;;;;;;;;;;;-1:-1:-1;13179:4:0;12911:280;;;;;:::o;13350:835::-;13392:4;9918:14;;9904:11;;:28;9896:37;;;;;;13422:10;13437:1;13413:20;;;:8;:20;;;;;;13409:43;;-1:-1:-1;13447:5:0;13440:12;;13409:43;13479:10;13501:1;13467:23;;;:11;:23;;;;;:30;13463:53;;-1:-1:-1;13511:5:0;13504:12;;13463:53;13529:11;13543:33;13565:10;13543:21;:33::i;:::-;13529:47;;13601:1;13591:6;:11;13587:29;;13611:5;13604:12;;;;;13587:29;13629:17;13649:22;13659:2;13650:11;;13667:3;13649:22;:17;:22;:::i;:::-;13804:11;;13629:42;;-1:-1:-1;13756:21:0;;;;13804:23;;13756:6;13804:23;:15;:23;:::i;:::-;13790:11;:37;13870:10;13861:20;;;;:8;:20;;;;;;:38;;13886:12;13861:38;:24;:38;:::i;:::-;13847:10;13838:20;;;;:8;:20;;;;;;:61;;;;13940:8;;-1:-1:-1;;;;;13940:8:0;13931:18;;;;:38;;13954:14;13931:38;:22;:38;:::i;:::-;13919:8;;-1:-1:-1;;;;;13919:8:0;13910:18;;;;:8;:18;;;;;;;;:59;;;;14001:10;13989:23;;:11;:23;;;;;13982:30;;;:::i;:::-;14035:10;14023:23;;;;:11;:23;;;;;;;;14052:60;;;;;;;14077:8;:20;;;;;;-1:-1:-1;;;;;14052:60:0;;;;;;14107:3;14052:60;;;;;;;;27:10:-1;;39:1;23:18;;45:23;;14023:90:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14023:90:0;-1:-1:-1;;;;14023:90:0;;;;-1:-1:-1;;;;;;14023:90:0;;;;;;;;;;;;;;;14131:24;;;;;;;;;;;;;;;;;14173:4;14166:11;;;;;9944:1;13350:835;:::o;9079:23::-;;;;:::o;14337:113::-;14376:14;14415:27;14426:10;14438:3;14415:10;:27::i;:::-;14403:39;;14337:113;:::o;12027:876::-;12132:4;12109:6;9730:8;9711;:27;;9703:36;;;;;;-1:-1:-1;;;;;12157:17:0;;12149:26;;;;;;-1:-1:-1;;;;;12209:14:0;;12188:18;12209:14;;;:7;:14;;;;;;;;12224:10;12209:26;;;;;;;;12424:15;;;:8;:15;;;;;;:27;;12444:6;12424:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;12406:15:0;;;;;;;:8;:15;;;;;;:45;;;;12478:13;;;;;;;:25;;12496:6;12478:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;12462:13:0;;;;;;:8;:13;;;;;:41;12543:22;:10;12558:6;12543:22;:14;:22;:::i;:::-;-1:-1:-1;;;;;12514:14:0;;;;;;;:7;:14;;;;;;;;12529:10;12514:26;;;;;;;;:51;;;;12581:28;;;;;;;;;;;12514:14;;12581:28;;;;;;;;;;;-1:-1:-1;;;;;12624:18:0;;12652:1;12624:18;;;:11;:18;;;;;:25;:29;12620:60;;-1:-1:-1;;;;;12662:18:0;;;;;;:11;:18;;;;;12655:25;;;:::i;:::-;-1:-1:-1;;;;;;;;12727:18:0;;;12691:11;12727:18;;;:11;:18;;;;;;;;12751:48;;;;;;;12776:8;:15;;;;;;-1:-1:-1;;;;;12751:48:0;;;;;;12712:3;12751:48;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;12727:73:0;;;;;;;;;;;;;;;;-1:-1:-1;;;12727:73:0;;;-1:-1:-1;;;;12727:73:0;;;-1:-1:-1;;;;;;12727:73:0;;;;;;;;;;12811:16;;;;;;;;;;;;12833:39;;;;;;;;;;;;;;;;;;;27:10:-1;;23:18;;;45:23;;12811:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39:1:-1;12027:876:0:o;16559:184::-;6082:9;:7;:9::i;:::-;6074:54;;;;;-1:-1:-1;;;6074:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6074:54:0;;;;;;;;;;;;;;;16644:14;;:19;;;16643:54;;;16682:14;;16669:9;:27;;16643:54;16635:63;;;;;;16709:14;:26;16559:184::o;9109:26::-;;;;:::o;8648:25::-;;;;:::o;10331:96::-;6082:9;:7;:9::i;:::-;6074:54;;;;;-1:-1:-1;;;6074:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6074:54:0;;;;;;;;;;;;;;;10381:6;;:38;;-1:-1:-1;;;;;10381:6:0;;;;10405:4;10397:21;10381:38;;;;;:6;:38;:6;:38;10397:21;10381:6;:38;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10381:38:0;10331:96::o;14193:136::-;14239:16;14282:39;14299:21;;14282:12;:16;;:39;;;;:::i;8682:26::-;;;;:::o;9181:23::-;;;-1:-1:-1;;;;;9181:23:0;;:::o;11905:114::-;-1:-1:-1;;;;;11995:16:0;;11960:15;11995:16;;;:8;:16;;;;;;11905:114;;;;:::o;8801:26::-;;;;:::o;17372:1025::-;17473:4;6082:9;:7;:9::i;:::-;6074:54;;;;;-1:-1:-1;;;6074:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6074:54:0;;;;;;;;;;;;;;;17519:1;17498:11;:18;:22;:62;;;;;17546:7;:14;17524:11;:18;:36;17498:62;17490:71;;;;;;17574:10;;17599:98;17620:7;:14;17616:1;:18;17599:98;;;17664:21;17674:7;17682:1;17674:10;;;;;;;;;;;;;;17664:5;:9;;:21;;;;:::i;:::-;17656:29;-1:-1:-1;17636:3:0;;17599:98;;;-1:-1:-1;17733:10:0;17724:20;;;;:8;:20;;;;;;17715:29;;;17707:38;;;;;;17779:3;17758:11;17794:300;17815:11;:18;17811:1;:22;17794:300;;;17882:40;17911:7;17919:1;17911:10;;;;;;;;;;;;;;17882:8;:24;17891:11;17903:1;17891:14;;;;;;;;;;;;;;-1:-1:-1;;;;;17882:24:0;-1:-1:-1;;;;;17882:24:0;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;17855:8;:24;17864:11;17876:1;17864:14;;;;;;;;;;;;;;-1:-1:-1;;;;;17855:24:0;-1:-1:-1;;;;;17855:24:0;;;;;;;;;;;;:67;;;;17937:11;:27;17949:11;17961:1;17949:14;;;;;;;;;;;;;;-1:-1:-1;;;;;17937:27:0;-1:-1:-1;;;;;17937:27:0;;;;;;;;;;;;17970:43;;;;;;;;17995:7;18003:1;17995:10;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17970:43:0;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;45:23;;-1:-1;17937:77:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;17937:77:0;;;;;;;;;-1:-1:-1;;;;17937:77:0;-1:-1:-1;;;17937:77:0;;;;;;;;;;;18055:14;;;;18067:1;;18055:14;;;;;;;;;;;;-1:-1:-1;;;;;18034:48:0;18043:10;-1:-1:-1;;;;;18034:48:0;;18071:7;18079:1;18071:10;;;;;;;;;;;;;;18034:48;;;;;;;;;;;;;;;;;;17835:3;;17794:300;;;-1:-1:-1;18138:10:0;18129:20;;;;:8;:20;;;;;;:31;;18154:5;18129:31;:24;:31;:::i;:::-;18115:10;18106:20;;;;:8;:20;;;;;;;;:54;;;;18175:11;:23;;;:30;:34;18171:70;;18230:10;18218:23;;;;:11;:23;;;;;18211:30;;;:::i;:::-;18265:10;18279:1;18256:20;;;:8;:20;;;;;;:24;18252:113;;18294:10;18282:23;;;;:11;:23;;;;;;;;18311:53;;;;;;;18336:8;:20;;;;;;-1:-1:-1;;;;;18311:53:0;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;45:23;;18282:83:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18282:83:0;-1:-1:-1;;;;18282:83:0;;;;-1:-1:-1;;;;;;18282:83:0;;;;;;;;;;;18252:113;-1:-1:-1;18385:4:0;;17372:1025;-1:-1:-1;;;;17372:1025:0:o;6236:93::-;6315:6;;6275:4;;-1:-1:-1;;;;;6315:6:0;6299:12;:10;:12::i;:::-;-1:-1:-1;;;;;6299:22:0;;6292:29;;6236:93;:::o;16751:515::-;6082:9;:7;:9::i;:::-;6074:54;;;;;-1:-1:-1;;;6074:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6074:54:0;;;;;;;;;;;;;;;16833:1;16824:6;:10;16816:19;;;;;;16880:10;16871:20;;;;:8;:20;;;;;;:32;;16896:6;16871:32;:24;:32;:::i;:::-;16857:10;16848:20;;;;:8;:20;;;;;;;;:55;;;;16921:11;:23;;;;;16914:30;;;:::i;:::-;16967:10;16955:23;;;;:11;:23;;;;;;;;16984:60;;;;;;;17009:8;:20;;;;;;-1:-1:-1;;;;;16984:60:0;;;;;;17039:3;16984:60;;;;;;;;27:10:-1;;39:1;23:18;;45:23;;16955:90:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;16955:90:0;-1:-1:-1;;;;16955:90:0;;;;-1:-1:-1;;;;;;16955:90:0;;;;;;;;;;;17072:11;;:23;;17088:6;17072:23;:15;:23;:::i;:::-;17058:11;:37;17127:18;;:30;;17150:6;17127:30;:22;:30;:::i;:::-;17106:18;:51;17185:14;;:31;;17213:2;17204:11;;17185:31;:18;:31;:::i;:::-;17168:14;:48;17234:24;;;;;;;;17239:10;;17234:24;;;;;;;;;;16751:515;:::o;8613:28::-;;;;;;;;;;;;;;;-1:-1:-1;;8613:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9142:30;;;;:::o;11079:620::-;11165:4;11142:6;9730:8;9711;:27;;9703:36;;;;;;11186:10;-1:-1:-1;;;;;11186:17:0;;;11182:36;;;11212:6;:4;:6::i;:::-;11205:13;;;;11182:36;11261:10;11252:20;;;;:8;:20;;;;;;:32;;11277:6;11252:32;:24;:32;:::i;:::-;11238:10;11229:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;11311:13:0;;;;;;:25;;11329:6;11311:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;11295:13:0;;;;;;:8;:13;;;;;;;;;:41;;;;11352:33;;;;;;;11295:13;;11361:10;;11352:33;;;;;;;;;;11412:10;11433:1;11400:23;;;:11;:23;;;;;:30;:34;11396:70;;11455:10;11443:23;;;;:11;:23;;;;;11436:30;;;:::i;:::-;11525:10;11477:11;11513:23;;;:11;:23;;;;;;;;11542:53;;;;;;;11567:8;:20;;;;;;-1:-1:-1;;;;;11542:53:0;;;;;;11498:3;11542:53;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;11513:83:0;;;;;;;;;;;;;;;;-1:-1:-1;;;11513:83:0;;;-1:-1:-1;;;;11513:83:0;;;-1:-1:-1;;;;;;11513:83:0;;;;;;;;;;-1:-1:-1;;;;;11607:16:0;;;;;;;;;;11629:39;;;;;;;;;;;;;;;;;;;27:10:-1;;23:18;;;45:23;;11607:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39:1:-1;-1:-1;9750:1:0;11079:620;;;;;:::o;11707:190::-;9824:8;;11778:4;;-1:-1:-1;;;;;9824:8:0;9810:10;:22;9802:31;;;;;;11795:8;:20;;-1:-1:-1;;;;;;11795:20:0;-1:-1:-1;;;;;11795:20:0;;;;;;;;;;;11831:36;;;11846:10;11831:36;;11858:8;;;;11831:36;;;;;;;;;;;;;;;;-1:-1:-1;11885:4:0;11707:190;;;:::o;14458:402::-;14567:19;;14611:14;;14542:3;;14601:40;;14632:8;;14602:24;;14542:3;;14602:24;:8;:24;:::i;:::-;14601:30;:40;:30;:40;:::i;:::-;14597:256;;14681:19;;14674:36;;14675:3;:25;14706:3;14674:36;:31;:36;:::i;:::-;14663:47;;14597:256;;;14732:40;14763:8;14733:24;14742:14;;14733:4;:8;;:24;;;;:::i;14732:40::-;14776:1;14732:45;14728:125;;;14812:19;;14805:36;;14806:3;:25;14837:3;14805:36;:31;:36;:::i;:::-;14794:47;;14728:125;14458:402;;:::o;5574:29::-;;;-1:-1:-1;;;;;5574:29:0;;:::o;9961:207::-;10041:4;10058:14;10088:12;10058:43;;10112:8;10123:1;-1:-1:-1;;;;;10123:11:0;;10135:3;10123:16;;;;;;;;;;;;;-1:-1:-1;;;;;10123:16:0;-1:-1:-1;;;;;10123:16:0;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10123:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10123:16:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10123:16:0;;9961:207;-1:-1:-1;;;;;9961:207:0:o;8853:32::-;;;;:::o;8734:33::-;;;;:::o;13199:143::-;-1:-1:-1;;;;;13309:15:0;;;13272:17;13309:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;13199:143::o;8924:33::-;;;;:::o;10435:260::-;10515:4;6082:9;:7;:9::i;:::-;6074:54;;;;;-1:-1:-1;;;6074:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6074:54:0;;;;;;;;;;;;;;;10609:30;;;-1:-1:-1;;;10609:30:0;;10633:4;10609:30;;;;;;10566:14;;10532:18;;-1:-1:-1;;;;;10609:15:0;;;;;:30;;;;;;;;;;;;;;:15;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;10609:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10609:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10609:30:0;10672:6;;;10657:30;;;-1:-1:-1;;;10657:30:0;;-1:-1:-1;;;;;10672:6:0;;;10657:30;;;;;;;;;;;;;;10609;;-1:-1:-1;10657:14:0;;;;;:30;;;;;10609;;10657;;;;;;;;10672:6;10657:14;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;10657:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10657:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10657:30:0;;10435:260;-1:-1:-1;;;;10435:260:0:o;8997:42::-;;;;:::o;6486:117::-;6082:9;:7;:9::i;:::-;6074:54;;;;;-1:-1:-1;;;6074:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;6074:54:0;;;;;;;;;;;;;;;6567:28;6586:8;6567:18;:28::i;14868:1094::-;14939:4;14972:14;;14965:3;:21;;14964:47;;;;;15009:1;14992:14;;:18;14964:47;14956:56;;;;;;15037:3;15025:9;15067:26;15078:8;15037:3;15067:10;:26::i;:::-;15051:42;;15120:1;15108:8;:13;15104:27;;15130:1;15123:8;;;;;;15104:27;15160:19;;15449:14;;15439:40;;15470:8;;15440:24;;:4;;:24;:8;:24;:::i;15439:40::-;15435:451;;15651:19;;15644:36;;15645:3;:25;15676:3;15644:36;:31;:36;:::i;:::-;15633:47;;15435:451;;;15702:40;15733:8;15703:24;15712:14;;15703:4;:8;;:24;;;;:::i;15702:40::-;15746:1;15702:45;15698:188;;;15845:19;;15838:36;;15839:3;:25;15870:3;15838:36;:31;:36;:::i;:::-;15827:47;;15698:188;15905:49;15944:8;;15938:2;:14;15931:3;:22;15917:8;15906;:19;15905:25;;:49;;;;:::i;:::-;15898:56;14868:1094;-1:-1:-1;;;;;14868:1094:0:o;2552:131::-;2609:7;2636:39;2640:1;2643;2636:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2629:46;2552:131;-1:-1:-1;;;2552:131:0:o;287:180::-;344:7;376:5;;;400:6;;;;392:46;;;;;-1:-1:-1;;;392:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;15970:581;-1:-1:-1;;;;;16071:21:0;;16041:13;16071:21;;;:11;:21;;;;;:28;16067:47;;-1:-1:-1;16113:1:0;16106:8;;16067:47;16132:6;16127:417;-1:-1:-1;;;;;16148:21:0;;;;;;:11;:21;;;;;:28;16144:32;;16127:417;;;16249:11;;-1:-1:-1;;;;;16214:21:0;;;;;;:11;:21;;;;;:24;;16209:52;;16249:11;16214:21;16236:1;;16214:24;;;;;;;;;;;;;;;:29;-1:-1:-1;;;16214:29:0;;;;;16209:39;:52::i;:::-;16202:4;:59;16198:73;;;16263:8;;16198:73;-1:-1:-1;;;;;16322:21:0;;16288:17;16322:21;;;:11;:21;;;;;:24;;16308:45;;16322:21;16344:1;;16322:24;;;;;;;;;;;;;;;:29;16308:4;;-1:-1:-1;;;16322:29:0;;;;16308:8;:45::i;:::-;16288:65;;16387:11;;16372:12;:26;16368:58;;;-1:-1:-1;16415:11:0;;16368:58;16454:78;16507:24;:12;16524:6;16507:24;:16;:24;:::i;:::-;-1:-1:-1;;;;;16472:21:0;;;;;;:11;:21;;;;;:24;;16494:1;;16472:24;;;;;;;;;;;;;;;:31;16454:8;;-1:-1:-1;;;;;16472:31:0;;;16467:64;16454:78;:12;:78;:::i;:::-;16443:89;;16127:417;;16178:3;;16127:417;;742:135;799:7;826:43;830:1;833;826:43;;;;;;;;;;;;;;;;;:3;:43::i;5014:89::-;5085:10;5014:89;:::o;6709:237::-;-1:-1:-1;;;;;6791:22:0;;6783:73;;;;-1:-1:-1;;;6783:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6893:6;;6872:38;;-1:-1:-1;;;;;6872:38:0;;;;6893:6;;6872:38;;6893:6;;6872:38;6921:6;:17;;-1:-1:-1;;;;;;6921:17:0;-1:-1:-1;;;;;6921:17:0;;;;;;;;;;6709:237::o;3171:344::-;3256:7;3358:12;3351:5;3343:28;;;;-1:-1:-1;;;3343:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3343:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3382:9;3398:1;3394;:5;;;;;;;3171:344;-1:-1:-1;;;;;3171:344:0:o;1172:191::-;1257:7;1293:12;1285:6;;;;1277:29;;;;-1:-1:-1;;;1277:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1277:29:0;-1:-1:-1;;;1329:5:0;;;1172:191::o;8478:9922::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8478:9922:0;;;;;;
Swarm Source
bzzr://faba7f65ff7cbecb0c72f5fb52ed4530725bfb6dcdb85f9f5e2c0bd20d53d82f
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.