ERC-20
Overview
Max Total Supply
500,000,000 MSCE
Holders
1,156
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MSCEVote
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-09-18 */ pragma solidity ^0.4.23; /* * ╔═╗┌─┐┌─┐┬┌─┐┬┌─┐┬ ┌─────────────────────────┐ ╦ ╦┌─┐┌┐ ╔═╗┬┌┬┐┌─┐ * ║ ║├┤ ├┤ ││ │├─┤│ │ MSCE.vip │ ║║║├┤ ├┴┐╚═╗│ │ ├┤ * ╚═╝└ └ ┴└─┘┴┴ ┴┴─┘ └─┬─────────────────────┬─┘ ╚╩╝└─┘└─┘╚═╝┴ ┴ └─┘ * ┌────────────────────────────────┘ └──────────────────────────────┐ * │ ┌─────────────────────────────────────────────────────────────────────────────┐ │ * └────┤ Dev:John ├──────────────────────┤ Boss:Jack ├──────────────────┤ Sup:Kilmas ├──┘ * └─────────────────────────────────────────────────────────────────────────────┘ */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) { // Gas optimization: this is cheaper than asserting 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (_a == 0) { return 0; } c = _a * _b; assert(c / _a == _b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 _a, uint256 _b) internal pure returns (uint256) { // assert(_b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = _a / _b; // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold return _a / _b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 _a, uint256 _b) internal pure returns (uint256) { assert(_b <= _a); return _a - _b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) { c = _a + _b; assert(c >= _a); return c; } } contract Ownable { address public owner; event OwnershipRenounced(address indexed previousOwner); event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to relinquish control of the contract. * @notice Renouncing to ownership will leave the contract without an owner. * It will not be possible to call the functions with the `onlyOwner` * modifier anymore. */ function renounceOwnership() public onlyOwner { emit OwnershipRenounced(owner); owner = address(0); } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function transferOwnership(address _newOwner) public onlyOwner { _transferOwnership(_newOwner); } /** * @dev Transfers control of the contract to a newOwner. * @param _newOwner The address to transfer ownership to. */ function _transferOwnership(address _newOwner) internal { require(_newOwner != address(0)); emit OwnershipTransferred(owner, _newOwner); owner = _newOwner; } } contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address _who) public view returns (uint256); function transfer(address _to, uint256 _value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } 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 ); } contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) internal balances; uint256 internal totalSupply_; /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @dev Transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public returns (bool) { require(_value <= balances[msg.sender]); require(_to != address(0)); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } } contract BurnableToken is BasicToken { event Burn(address indexed burner, uint256 value); /** * @dev Burns a specific amount of tokens. * @param _value The amount of token to be burned. */ function burn(uint256 _value) public { _burn(msg.sender, _value); } function _burn(address _who, uint256 _value) internal { require(_value <= balances[_who]); // no need to require value <= totalSupply, since that would imply the // sender's balance is greater than the totalSupply, which *should* be an assertion failure balances[_who] = balances[_who].sub(_value); totalSupply_ = totalSupply_.sub(_value); emit Burn(_who, _value); emit Transfer(_who, address(0), _value); } } contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom( address _from, address _to, uint256 _value ) public returns (bool) { require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); require(_to != address(0)); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance( address _owner, address _spender ) public view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval( address _spender, uint256 _addedValue ) public returns (bool) { allowed[msg.sender][_spender] = ( allowed[msg.sender][_spender].add(_addedValue)); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval( address _spender, uint256 _subtractedValue ) public returns (bool) { uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue >= oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } contract MSCE is Ownable, StandardToken, BurnableToken{ using SafeMath for uint256; uint8 public constant TOKEN_DECIMALS = 18; string public name = "Mobile Ecosystem"; string public symbol = "MSCE"; uint8 public decimals = TOKEN_DECIMALS; uint256 public totalSupply = 500000000 *(10**uint256(TOKEN_DECIMALS)); uint256 public soldSupply = 0; uint256 public sellSupply = 0; uint256 public buySupply = 0; bool public stopSell = true; bool public stopBuy = false; uint256 public crowdsaleStartTime = block.timestamp; uint256 public crowdsaleEndTime = 1526831999; uint256 public crowdsaleTotal = 2000*40000*(10**18); uint256 public buyExchangeRate = 40000; uint256 public sellExchangeRate = 100000; address public ethFundDeposit; bool public allowTransfers = true; mapping (address => bool) public frozenAccount; bool public enableInternalLock = true; uint256 unitCount = 100; uint256 unitTime = 1 days; uint256 lockTime = unitCount * unitTime; mapping (address => bool) public internalLockAccount; mapping (address => uint256) public releaseLockAccount; mapping (address => uint256) public lockAmount; mapping (address => uint256) public lockStartTime; mapping (address => uint256) public lockReleaseTime; event LockAmount(address _from, address _to, uint256 amount, uint256 releaseTime); event FrozenFunds(address target, bool frozen); event IncreaseSoldSaleSupply(uint256 _value); event DecreaseSoldSaleSupply(uint256 _value); function MSCE() public { balances[msg.sender] = totalSupply; ethFundDeposit = msg.sender; allowTransfers = true; } function _isUserInternalLock() internal view returns (bool) { return getAccountLockState(msg.sender); } function increaseSoldSaleSupply (uint256 _value) onlyOwner public { require (_value + soldSupply < totalSupply); soldSupply = soldSupply.add(_value); emit IncreaseSoldSaleSupply(_value); } function decreaseSoldSaleSupply (uint256 _value) onlyOwner public { require (soldSupply - _value > 0); soldSupply = soldSupply.sub(_value); emit DecreaseSoldSaleSupply(_value); } function setEthFundDeposit(address _ethFundDeposit) onlyOwner public { require(_ethFundDeposit != address(0)); ethFundDeposit = _ethFundDeposit; } function transferETH() onlyOwner public { require(ethFundDeposit != address(0)); require(this.balance != 0); require(ethFundDeposit.send(this.balance)); } function setExchangeRate(uint256 _sellExchangeRate, uint256 _buyExchangeRate) onlyOwner public { sellExchangeRate = _sellExchangeRate; buyExchangeRate = _buyExchangeRate; } function setExchangeStatus(bool _stopSell, bool _stopBuy) onlyOwner public { stopSell = _stopSell; stopBuy = _stopBuy; } function setAllowTransfers(bool _allowTransfers) onlyOwner public { allowTransfers = _allowTransfers; } function setEnableInternalLock(bool _isEnable) onlyOwner public { enableInternalLock = _isEnable; } function getAccountUnlockTime(address _target) public view returns(uint256) { return releaseLockAccount[_target]; } function getAccountLockState(address _target) public view returns(bool) { if(enableInternalLock && internalLockAccount[_target]){ if((releaseLockAccount[_target] > 0)&&(releaseLockAccount[_target]<block.timestamp)){ return false; } return true; } return false; } function setUnitTime(uint256 unit) external onlyOwner{ unitTime = unit; } function isOwner() internal view returns(bool success) { if (msg.sender == owner) return true; return false; } /***************************************************/ /* BASE Functions */ /***************************************************/ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { if (!isOwner()) { require (allowTransfers); require(!frozenAccount[_from]); require(!frozenAccount[_to]); require(!_isUserInternalLock()); } return super.transferFrom(_from, _to, _value); } function transfer(address _to, uint256 _value) public returns (bool) { if (!isOwner()) { require (allowTransfers); require(!frozenAccount[msg.sender]); require(!frozenAccount[_to]); require(!_isUserInternalLock()); require(_value <= balances[msg.sender] - lockAmount[msg.sender] + releasedAmount(msg.sender)); } if(_value >= releasedAmount(msg.sender)){ lockAmount[msg.sender] = lockAmount[msg.sender].sub(releasedAmount(msg.sender)); }else{ lockAmount[msg.sender] = lockAmount[msg.sender].sub(_value); } return super.transfer(_to, _value); } function approve(address _spender, uint256 _value) public returns (bool) { if (!isOwner()) { require (allowTransfers); require(!frozenAccount[msg.sender]); require(!frozenAccount[_spender]); require(!_isUserInternalLock()); require(_value <= balances[msg.sender] - lockAmount[msg.sender] + releasedAmount(msg.sender)); } if(_value >= releasedAmount(msg.sender)){ lockAmount[msg.sender] = lockAmount[msg.sender].sub(releasedAmount(msg.sender)); }else{ lockAmount[msg.sender] = lockAmount[msg.sender].sub(_value); } return super.approve(_spender, _value); } function transferFromAdmin(address _from, address _to, uint256 _value) onlyOwner public returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(_from, _to, _value); return true; } function () internal payable{ uint256 currentTime = block.timestamp; require((currentTime>crowdsaleStartTime)&&(currentTime<crowdsaleEndTime)); require(crowdsaleTotal>0); require(buy()); crowdsaleTotal = crowdsaleTotal.sub(msg.value.mul(buyExchangeRate)); } function buy() payable public returns (bool){ uint256 amount = msg.value.mul(buyExchangeRate); require(!stopBuy); require(amount <= balances[owner]); balances[owner] = balances[owner].sub(amount); balances[msg.sender] = balances[msg.sender].add(amount); soldSupply = soldSupply.add(amount); buySupply = buySupply.add(amount); Transfer(owner, msg.sender, amount); return true; } function sell(uint256 amount) public { uint256 ethAmount = amount.div(sellExchangeRate); require(!stopSell); require(this.balance >= ethAmount); require(ethAmount >= 1); require(balances[msg.sender] >= amount); require(balances[owner] + amount > balances[owner]); require(!frozenAccount[msg.sender]); require(!_isUserInternalLock()); balances[owner] = balances[owner].add(amount); balances[msg.sender] = balances[msg.sender].sub(amount); soldSupply = soldSupply.sub(amount); sellSupply = sellSupply.add(amount); Transfer(msg.sender, owner, amount); msg.sender.transfer(ethAmount); } function setCrowdsaleStartTime(uint256 _crowdsaleStartTime) onlyOwner public { crowdsaleStartTime = _crowdsaleStartTime; } function setCrowdsaleEndTime(uint256 _crowdsaleEndTime) onlyOwner public { crowdsaleEndTime = _crowdsaleEndTime; } function setCrowdsaleTotal(uint256 _crowdsaleTotal) onlyOwner public { crowdsaleTotal = _crowdsaleTotal; } /***************************************************/ /* Lock Functions */ /***************************************************/ function transferLockAmount(address _to, uint256 _value) public{ // require(_value >= _value, "Not enough MSCE"); require(balances[msg.sender] >= _value, "Not enough MSCE"); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); lockAmount[_to] = lockAmount[_to].add(_value); _resetReleaseTime(_to); emit Transfer(msg.sender, _to, _value); emit LockAmount(msg.sender, _to, _value, uint256(now + lockTime)); } function _resetReleaseTime(address _target) internal { lockStartTime[_target] = uint256(now); lockReleaseTime[_target] = uint256(now + lockTime); } function releasedAmount(address _target) public view returns (uint256) { if(now >= lockReleaseTime[_target]){ return lockAmount[_target]; } else{ return (now - lockStartTime[_target]).div(unitTime).mul(lockAmount[_target]).div(100); } } } contract MSCEVote is MSCE { //Vote Setting uint256 votingRight = 10000; uint256 dealTime = 3 days; struct Vote{ bool isActivated; bytes32 name; address target; address spender; uint256 targetAmount; bool freeze; string newName; string newSymbol; uint256 agreeSupply; uint256 disagreeSupply; uint256 startTime; uint256 endTime; uint256 releaseTime; } Vote[] public votes; mapping (uint256 => address) public voteToOwner; mapping (address => bool) public frozenAccount; event NewVote(address _initiator, bytes32 name, address target, uint256 targetAmount); modifier onlySuperNode() { require(balances[msg.sender] >= 5000000*(10**18), "Just for SuperNodes"); _; } modifier onlyVotingRight() { require(balances[msg.sender] >= votingRight*(10**18), "You haven't voting right."); _; } function createVote(bytes32 _name, address _target, address _spender,uint256 _targetAmount, bool _freeze, string _newName, string _newSymbol, uint256 _releaseTime) onlySuperNode public { uint256 id = votes.push(Vote(true, _name, _target, _spender,_targetAmount, _freeze, _newName, _newSymbol, 0, 0, uint256(now), uint256(now + dealTime), _releaseTime)) - 1; voteToOwner[id] = msg.sender; emit NewVote(msg.sender, _name, _target, _targetAmount); } function mintToken(address target, uint256 mintedAmount) onlySuperNode public { createVote("MINT", target, target, mintedAmount, false, "", "", 0); } function destroyToken(address target, uint256 amount) onlySuperNode public { createVote("DESTROY", target, target, amount, false, "", "", 0); } function freezeAccount(address _target, bool freeze) onlySuperNode public { createVote("FREEZE", _target, _target, 0, freeze, "", "", 0); } function lockInternalAccount(address _target, bool _lock, uint256 _releaseTime) onlySuperNode public { require(_target != address(0)); createVote("LOCK", _target, _target, 0, _lock, "", "", _releaseTime); } function setName(string _name) onlySuperNode public { createVote("CHANGENAME", msg.sender, msg.sender, 0, false, _name, "", 0); } function setSymbol(string _symbol) onlySuperNode public { createVote("CHANGESYMBOL", msg.sender, msg.sender, 0, false, "", _symbol, 0); } function transferFromAdmin(address _from, address _to, uint256 _value) onlySuperNode public returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); createVote("TRANS",_from, _to, _value, false, "", "", 0); return true; } /***************************************************/ /* Vote Functions */ /***************************************************/ function getVote(uint _id) public view returns (bool, bytes32, address, address, uint256, bool, string, string, uint256, uint256, uint256, uint256){ Vote storage _vote = votes[_id]; return( _vote.isActivated, _vote.name, _vote.target, _vote.spender, _vote.targetAmount, _vote.freeze, _vote.newName, _vote.newSymbol, _vote.agreeSupply, _vote.disagreeSupply, _vote.startTime, _vote.endTime ); } function voteXId(uint256 _id, bool _agree) onlyVotingRight public{ Vote storage vote = votes[_id]; uint256 rate = 100; if(vote.name == "FREEZE") { rate = 30; }else if(vote.name == "DESTROY") { rate = 51; } else{ rate = 80; } if(now > vote.endTime){ vote.isActivated = false; votes[_id] = vote; } require(vote.isActivated == true, "The vote ended"); if(_agree == true){ vote.agreeSupply = vote.agreeSupply.add(balances[msg.sender]); } else{ vote.disagreeSupply = vote.disagreeSupply.add(balances[msg.sender]); } if (vote.agreeSupply >= soldSupply * (rate/100)){ executeVote(_id); }else if (vote.disagreeSupply >= soldSupply * ((100-rate)/100)) { vote.isActivated = false; votes[_id] = vote; } } function executeVote(uint256 _id)private{ Vote storage vote = votes[_id]; vote.isActivated = false; if(vote.name == "MINT"){ balances[vote.target] = balances[vote.target].add(vote.targetAmount); totalSupply = totalSupply.add(vote.targetAmount); emit Transfer(0, this, vote.targetAmount); emit Transfer(this, vote.target, vote.targetAmount); }else if(vote.name == "DESTROY"){ balances[vote.target] = balances[vote.target].sub(vote.targetAmount); totalSupply = totalSupply.sub(vote.targetAmount); emit Transfer(vote.target, this, vote.targetAmount); emit Transfer(this, 0, vote.targetAmount); }else if(vote.name == "CHANGENAME"){ name = vote.newName; }else if(vote.name == "CHANGESYMBOL"){ symbol = vote.newSymbol; }else if(vote.name == "FREEZE"){ frozenAccount[vote.target] = vote.freeze; emit FrozenFunds(vote.target, vote.freeze); }else if(vote.name == "LOCK"){ internalLockAccount[vote.target] = vote.freeze; releaseLockAccount[vote.target] = vote.endTime; } else if(vote.name == "TRANS"){ balances[vote.target] = balances[vote.target].sub(vote.targetAmount); balances[vote.spender] = balances[vote.spender].add(vote.targetAmount); emit Transfer(vote.target, vote.spender, vote.targetAmount); } votes[_id] = vote; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_crowdsaleEndTime","type":"uint256"}],"name":"setCrowdsaleEndTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_crowdsaleStartTime","type":"uint256"}],"name":"setCrowdsaleStartTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFromAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"bytes32"},{"name":"_target","type":"address"},{"name":"_spender","type":"address"},{"name":"_targetAmount","type":"uint256"},{"name":"_freeze","type":"bool"},{"name":"_newName","type":"string"},{"name":"_newSymbol","type":"string"},{"name":"_releaseTime","type":"uint256"}],"name":"createVote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_target","type":"address"}],"name":"releasedAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allowTransfers","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"unit","type":"uint256"}],"name":"setUnitTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"decreaseSoldSaleSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stopBuy","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"enableInternalLock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_lock","type":"bool"},{"name":"_releaseTime","type":"uint256"}],"name":"lockInternalAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"getVote","outputs":[{"name":"","type":"bool"},{"name":"","type":"bytes32"},{"name":"","type":"address"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"bool"},{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_DECIMALS","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"votes","outputs":[{"name":"isActivated","type":"bool"},{"name":"name","type":"bytes32"},{"name":"target","type":"address"},{"name":"spender","type":"address"},{"name":"targetAmount","type":"uint256"},{"name":"freeze","type":"bool"},{"name":"newName","type":"string"},{"name":"newSymbol","type":"string"},{"name":"agreeSupply","type":"uint256"},{"name":"disagreeSupply","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"releaseTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stopSell","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_agree","type":"bool"}],"name":"voteXId","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_stopSell","type":"bool"},{"name":"_stopBuy","type":"bool"}],"name":"setExchangeStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"increaseSoldSaleSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"amount","type":"uint256"}],"name":"destroyToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferLockAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_isEnable","type":"bool"}],"name":"setEnableInternalLock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_crowdsaleTotal","type":"uint256"}],"name":"setCrowdsaleTotal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"internalLockAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"ethFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buySupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_target","type":"address"}],"name":"getAccountUnlockTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"releaseLockAccount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_target","type":"address"}],"name":"getAccountLockState","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ethFundDeposit","type":"address"}],"name":"setEthFundDeposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_allowTransfers","type":"bool"}],"name":"setAllowTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"transferETH","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"voteToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_sellExchangeRate","type":"uint256"},{"name":"_buyExchangeRate","type":"uint256"}],"name":"setExchangeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockReleaseTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"soldSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_initiator","type":"address"},{"indexed":false,"name":"name","type":"bytes32"},{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"targetAmount","type":"uint256"}],"name":"NewVote","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_from","type":"address"},{"indexed":false,"name":"_to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"LockAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_value","type":"uint256"}],"name":"IncreaseSoldSaleSupply","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_value","type":"uint256"}],"name":"DecreaseSoldSaleSupply","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60c0604052601060808190527f4d6f62696c652045636f73797374656d0000000000000000000000000000000060a090815262000040916004919062000185565b506040805180820190915260048082527f4d534345000000000000000000000000000000000000000000000000000000006020909201918252620000879160059162000185565b5060068054601260ff19918216179091556b019d971e4fe8401e740000006007819055600060088190556009819055600a819055600b80548416600190811761ff00191690915542600c55635b019b7f600d556a422ca8b0a00a4250000000600e55619c40600f55620186a0601055601180547401000000000000000000000000000000000000000060a060020a60ff0219918216811783556013805490971684179096556064601455620151806015556283d600601655612710601c556203f480601d55835433600160a060020a03199182168117865580865260209490945260409094209490945580549092161790911690911790556200022a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001c857805160ff1916838001178555620001f8565b82800160010185558215620001f8579182015b82811115620001f8578251825591602001919060010190620001db565b50620002069291506200020a565b5090565b6200022791905b8082111562000206576000815560010162000211565b90565b613b87806200023a6000396000f3006080604052600436106102ff5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662ebc96e811461036d57806306fdde0314610387578063095ea7b3146104115780630967cff0146104495780630d27172014610461578063149f2fdb1461048b5780631565f12f146104b257806318160ddd1461056e5780631cf1bb72146105835780631d545d09146105a45780632185810b146105b957806323b872dd146105ce578063289799b7146105f8578063308f505b14610610578063313ce56714610625578063417998831461065057806342966c6814610668578063493a7209146106805780634b0e2c90146106955780635a4071fe146106aa5780635a55c1f0146106d35780635b7f415c146108435780635df813301461085857806361aebe59146109cf57806366188463146109e457806370a0823114610a08578063715018a614610a2957806379c6506814610a3e5780637c129c1c14610a6257806388f7c6d614610a7f5780638da5cb5b14610a9e5780639061a6e914610acf57806395bc3bd014610ae757806395d89b4114610b085780639b1ad79214610b1d5780639b69de7914610b415780639bcf735214610b655780639dec365e14610b7f5780639fab73f714610b97578063a4b03f5214610bb8578063a6f2ae3a14610bd9578063a81c3bdf14610be1578063a9059cbb14610bf6578063aff1e0de14610c1a578063b414d4b614610c2f578063b51dfa9d14610c50578063b84c824614610c65578063c47f002714610cbe578063c92015f614610d17578063d622634714610d38578063d73dd62314610d59578063d86f8ccd14610d7d578063d903744114610d9e578063db1366bf14610dbf578063dd62ed3e14610dd4578063df50afa414610dfb578063e28d717b14610e15578063e2fc421d14610e2a578063e4849b3214610e3f578063e6ee3e6414610e57578063e724529c14610e6f578063f2fde38b14610e95578063f55ecf0614610eb6578063f90a902714610ed1578063fa2299ee14610ef2575b600c544290811180156103135750600d5481105b151561031e57600080fd5b600e5460001061032d57600080fd5b610335610f07565b151561034057600080fd5b610367610358600f543461102d90919063ffffffff16565b600e549063ffffffff61105c16565b600e5550005b34801561037957600080fd5b5061038560043561106e565b005b34801561039357600080fd5b5061039c61108a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103d65781810151838201526020016103be565b50505050905090810190601f1680156104035780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041d57600080fd5b50610435600160a060020a0360043516602435611118565b604080519115158252519081900360200190f35b34801561045557600080fd5b50610385600435611256565b34801561046d57600080fd5b50610435600160a060020a0360043581169060243516604435611272565b34801561049757600080fd5b506104a0611368565b60408051918252519081900360200190f35b3480156104be57600080fd5b50604080516020600460a43581810135601f81018490048402850184019095528484526103859482359460248035600160a060020a039081169660443590911695606435956084351515953695929460c494920191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750509335945061136e9350505050565b34801561057a57600080fd5b506104a0611690565b34801561058f57600080fd5b506104a0600160a060020a0360043516611696565b3480156105b057600080fd5b506104a061173b565b3480156105c557600080fd5b50610435611741565b3480156105da57600080fd5b50610435600160a060020a0360043581169060243516604435611751565b34801561060457600080fd5b506103856004356117ea565b34801561061c57600080fd5b506104a0611806565b34801561063157600080fd5b5061063a61180c565b6040805160ff9092168252519081900360200190f35b34801561065c57600080fd5b50610385600435611815565b34801561067457600080fd5b5061038560043561188b565b34801561068c57600080fd5b50610435611898565b3480156106a157600080fd5b506104356118a6565b3480156106b657600080fd5b50610385600160a060020a036004351660243515156044356118af565b3480156106df57600080fd5b506106eb60043561197a565b604051808d1515151581526020018c600019166000191681526020018b600160a060020a0316600160a060020a031681526020018a600160a060020a0316600160a060020a03168152602001898152602001881515151581526020018060200180602001878152602001868152602001858152602001848152602001838103835289818151815260200191508051906020019080838360005b8381101561079c578181015183820152602001610784565b50505050905090810190601f1680156107c95780820380516001836020036101000a031916815260200191505b5083810382528851815288516020918201918a019080838360005b838110156107fc5781810151838201526020016107e4565b50505050905090810190601f1680156108295780820380516001836020036101000a031916815260200191505b509e50505050505050505050505050505060405180910390f35b34801561084f57600080fd5b5061063a611b79565b34801561086457600080fd5b50610870600435611b7e565b604051808e1515151581526020018d600019166000191681526020018c600160a060020a0316600160a060020a031681526020018b600160a060020a0316600160a060020a031681526020018a815260200189151515158152602001806020018060200188815260200187815260200186815260200185815260200184815260200183810383528a818151815260200191508051906020019080838360005b8381101561092757818101518382015260200161090f565b50505050905090810190601f1680156109545780820380516001836020036101000a031916815260200191505b5083810382528951815289516020918201918b019080838360005b8381101561098757818101518382015260200161096f565b50505050905090810190601f1680156109b45780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390f35b3480156109db57600080fd5b50610435611d19565b3480156109f057600080fd5b50610435600160a060020a0360043516602435611d22565b348015610a1457600080fd5b506104a0600160a060020a0360043516611e11565b348015610a3557600080fd5b50610385611e2c565b348015610a4a57600080fd5b50610385600160a060020a0360043516602435611e8b565b348015610a6e57600080fd5b506103856004356024351515611f41565b348015610a8b57600080fd5b50610385600435151560243515156123af565b348015610aaa57600080fd5b50610ab36123e9565b60408051600160a060020a039092168252519081900360200190f35b348015610adb57600080fd5b506103856004356123f8565b348015610af357600080fd5b506104a0600160a060020a036004351661246d565b348015610b1457600080fd5b5061039c61247f565b348015610b2957600080fd5b50610385600160a060020a03600435166024356124da565b348015610b4d57600080fd5b50610385600160a060020a036004351660243561258c565b348015610b7157600080fd5b506103856004351515612721565b348015610b8b57600080fd5b5061038560043561274b565b348015610ba357600080fd5b506104a0600160a060020a0360043516612767565b348015610bc457600080fd5b50610435600160a060020a0360043516612779565b610435610f07565b348015610bed57600080fd5b50610ab361278e565b348015610c0257600080fd5b50610435600160a060020a036004351660243561279d565b348015610c2657600080fd5b506104a06128b8565b348015610c3b57600080fd5b50610435600160a060020a03600435166128be565b348015610c5c57600080fd5b506104a06128d2565b348015610c7157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103859436949293602493928401919081908401838280828437509497506128d89650505050505050565b348015610cca57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261038594369492936024939284019190819084018382808284375094975061297a9650505050505050565b348015610d2357600080fd5b506104a0600160a060020a0360043516612a1c565b348015610d4457600080fd5b506104a0600160a060020a0360043516612a37565b348015610d6557600080fd5b50610435600160a060020a0360043516602435612a49565b348015610d8957600080fd5b50610435600160a060020a0360043516612ae2565b348015610daa57600080fd5b50610385600160a060020a0360043516612b6e565b348015610dcb57600080fd5b506104a0612bbc565b348015610de057600080fd5b506104a0600160a060020a0360043581169060243516612bc2565b348015610e0757600080fd5b506103856004351515612bed565b348015610e2157600080fd5b50610385612c33565b348015610e3657600080fd5b506104a0612ca4565b348015610e4b57600080fd5b50610385600435612caa565b348015610e6357600080fd5b50610ab3600435612e58565b348015610e7b57600080fd5b50610385600160a060020a03600435166024351515612e73565b348015610ea157600080fd5b50610385600160a060020a0360043516612f25565b348015610ec257600080fd5b50610385600435602435612f45565b348015610edd57600080fd5b506104a0600160a060020a0360043516612f67565b348015610efe57600080fd5b506104a0612f79565b600080610f1f600f543461102d90919063ffffffff16565b600b54909150610100900460ff1615610f3757600080fd5b60008054600160a060020a0316815260016020526040902054811115610f5c57600080fd5b60008054600160a060020a0316815260016020526040902054610f85908263ffffffff61105c16565b60008054600160a060020a0316815260016020526040808220929092553381522054610fb7908263ffffffff612f7f16565b33600090815260016020526040902055600854610fda908263ffffffff612f7f16565b600855600a54610ff0908263ffffffff612f7f16565b600a556000546040805183815290513392600160a060020a031691600080516020613b3c833981519152919081900360200190a3600191505b5090565b600082151561103e57506000611056565b5081810281838281151561104e57fe5b041461105657fe5b92915050565b60008282111561106857fe5b50900390565b600054600160a060020a0316331461108557600080fd5b600d55565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156111105780601f106110e557610100808354040283529160200191611110565b820191906000526020600020905b8154815290600101906020018083116110f357829003601f168201915b505050505081565b6000611122612f8c565b15156111c85760115460a060020a900460ff16151561114057600080fd5b3360009081526012602052604090205460ff161561115d57600080fd5b600160a060020a03831660009081526012602052604090205460ff161561118357600080fd5b61118b612faf565b1561119557600080fd5b61119e33611696565b3360009081526019602090815260408083205460019092529091205403018211156111c857600080fd5b6111d133611696565b8210611214576111ff6111e333611696565b336000908152601960205260409020549063ffffffff61105c16565b33600090815260196020526040902055611245565b33600090815260196020526040902054611234908363ffffffff61105c16565b336000908152601960205260409020555b61124f8383612fbf565b9392505050565b600054600160a060020a0316331461126d57600080fd5b600c55565b336000908152600160205260408120546a0422ca8b0a00a42500000011156112d2576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b600160a060020a03831615156112e757600080fd5b600160a060020a03841660009081526001602052604090205482111561130c57600080fd5b61135e7f5452414e53000000000000000000000000000000000000000000000000000000858585600060206040519081016040528060008152506020604051908101604052806000815250600061136e565b5060019392505050565b60105481565b336000908152600160205260408120546a0422ca8b0a00a42500000011156113ce576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b604080516101a081018252600180825260208083018d8152600160a060020a03808e169585019586528c811660608601908152608086018d81528c151560a0880190815260c088018d815260e089018d905260006101008a018190526101208a01819052426101408b01819052601d54016101608b01526101808a018d9052601e8054808b01808355919092528a51600d9092027f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3508101805493151560ff1994851617815598517f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3518201559b517f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3528d018054918916600160a060020a031992831617905595517f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3538d0180549190981696169590951790955591517f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3548a0155517f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e35589018054911515919094161790925590518051949691959492936115b9937f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e35690930192910190613a12565b5060e082015180516115d5916007840191602090910190613a12565b5061010082015160088201556101208201516009820155610140820151600a820155610160820151600b82015561018090910151600c90910155036000818152601f60209081526040918290208054600160a060020a0319163390811790915582519081529081018c9052600160a060020a038b16818301526060810189905290519192507f03493f239ae746243bd932fe008aab9958bea99169cc7d73fab2ceef9817b1ba919081900360800190a1505050505050505050565b60075481565b600160a060020a0381166000908152601b602052604081205442106116d45750600160a060020a038116600090815260196020526040902054611736565b600160a060020a038216600090815260196020908152604080832054601554601a909352922054611733926064926117279261171b9142919091039063ffffffff61302516565b9063ffffffff61102d16565b9063ffffffff61302516565b90505b919050565b600d5481565b60115460a060020a900460ff1681565b600061175b612f8c565b15156117d75760115460a060020a900460ff16151561177957600080fd5b600160a060020a03841660009081526012602052604090205460ff161561179f57600080fd5b600160a060020a03831660009081526012602052604090205460ff16156117c557600080fd5b6117cd612faf565b156117d757600080fd5b6117e284848461303a565b949350505050565b600054600160a060020a0316331461180157600080fd5b601555565b60095481565b60065460ff1681565b600054600160a060020a0316331461182c57600080fd5b6000816008540311151561183f57600080fd5b600854611852908263ffffffff61105c16565b6008556040805182815290517ff708844f569f2a630c36e2c8c1422c319aa04d0ef131636d78737df669e89b2f9181900360200190a150565b611895338261319f565b50565b600b54610100900460ff1681565b60135460ff1681565b336000908152600160205260409020546a0422ca8b0a00a425000000111561190f576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b600160a060020a038316151561192457600080fd5b6119757f4c4f434b000000000000000000000000000000000000000000000000000000008485600086602060405190810160405280600081525060206040519081016040528060008152508861136e565b505050565b6000806000806000806060806000806000806000601e8e81548110151561199d57fe5b90600052602060002090600d020190508060000160009054906101000a900460ff1681600101548260020160009054906101000a9004600160a060020a03168360030160009054906101000a9004600160a060020a031684600401548560050160009054906101000a900460ff168660060187600701886008015489600901548a600a01548b600b0154858054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611abc5780601f10611a9157610100808354040283529160200191611abc565b820191906000526020600020905b815481529060010190602001808311611a9f57829003601f168201915b5050885460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959b508a945092508401905082828015611b4a5780601f10611b1f57610100808354040283529160200191611b4a565b820191906000526020600020905b815481529060010190602001808311611b2d57829003601f168201915b505050505094509c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b601281565b601e805482908110611b8c57fe5b6000918252602091829020600d90910201805460018083015460028085015460038601546004870154600588015460068901805460408051601f6000199b841615610100029b909b01909216979097049889018c90048c0281018c0190965287865260ff9889169b509599600160a060020a039485169993909416979196911694919392830182828015611c615780601f10611c3657610100808354040283529160200191611c61565b820191906000526020600020905b815481529060010190602001808311611c4457829003601f168201915b5050505060078301805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152949594935090830182828015611cf15780601f10611cc657610100808354040283529160200191611cf1565b820191906000526020600020905b815481529060010190602001808311611cd457829003601f168201915b50505050509080600801549080600901549080600a01549080600b01549080600c015490508d565b600b5460ff1681565b336000908152600360209081526040808320600160a060020a0386168452909152812054808310611d7657336000908152600360209081526040808320600160a060020a0388168452909152812055611dab565b611d86818463ffffffff61105c16565b336000908152600360209081526040808320600160a060020a03891684529091529020555b336000818152600360209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526001602052604090205490565b600054600160a060020a03163314611e4357600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a260008054600160a060020a0319169055565b336000908152600160205260409020546a0422ca8b0a00a4250000001115611eeb576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b611f3d7f4d494e5400000000000000000000000000000000000000000000000000000000838484600060206040519081016040528060008152506020604051908101604052806000815250600061136e565b5050565b601c543360009081526001602052604081205490918291670de0b6b3a76400009091021115611fba576040805160e560020a62461bcd02815260206004820152601960248201527f596f7520686176656e277420766f74696e672072696768742e00000000000000604482015290519081900360640190fd5b601e805485908110611fc857fe5b90600052602060002090600d02019150606490508160010154600019167f465245455a45000000000000000000000000000000000000000000000000000014156120145750601e61204c565b60018201547f44455354524f590000000000000000000000000000000000000000000000000014156120485750603361204c565b5060505b81600b015442111561218457815460ff19168255601e80548391908690811061207157fe5b600091825260209091208254600d90920201805460ff928316151560ff19918216178255600180850154818401556002808601548185018054600160a060020a0319908116600160a060020a039384161790915560038089015490870180549092169216919091179055600480870154908501556005808701549085018054919096161515931692909217909355600680850180549394612125949286019391929081161561010002600019011604613a8c565b506007820181600701908054600181600116156101000203166002900461214d929190613a8c565b506008820154816008015560098201548160090155600a82015481600a0155600b82015481600b0155600c82015481600c01559050505b815460ff1615156001146121e2576040805160e560020a62461bcd02815260206004820152600e60248201527f54686520766f746520656e646564000000000000000000000000000000000000604482015290519081900360640190fd5b6001831515141561221b573360009081526001602052604090205460088301546122119163ffffffff612f7f16565b6008830155612245565b33600090815260016020526040902054600983015461223f9163ffffffff612f7f16565b60098301555b60648104600854028260080154101515612267576122628461328e565b6123a9565b6064818103046008540282600901541015156123a957815460ff19168255601e80548391908690811061229657fe5b600091825260209091208254600d90920201805460ff928316151560ff19918216178255600180850154818401556002808601548185018054600160a060020a0319908116600160a060020a03938416179091556003808901549087018054909216921691909117905560048087015490850155600580870154908501805491909616151593169290921790935560068085018054939461234a949286019391929081161561010002600019011604613a8c565b5060078201816007019080546001816001161561010002031660029004612372929190613a8c565b506008820154816008015560098201548160090155600a82015481600a0155600b82015481600b0155600c82015481600c01559050505b50505050565b600054600160a060020a031633146123c657600080fd5b600b805460ff19169215159290921761ff00191661010091151591909102179055565b600054600160a060020a031681565b600054600160a060020a0316331461240f57600080fd5b60075460085482011061242157600080fd5b600854612434908263ffffffff612f7f16565b6008556040805182815290517f03e0d50af85e41e334dc3f5787a0c79260b3d45a70927162c106c45ebf9da6499181900360200190a150565b60196020526000908152604090205481565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156111105780601f106110e557610100808354040283529160200191611110565b336000908152600160205260409020546a0422ca8b0a00a425000000111561253a576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b611f3d7f44455354524f5900000000000000000000000000000000000000000000000000838484600060206040519081016040528060008152506020604051908101604052806000815250600061136e565b336000908152600160205260409020548111156125f3576040805160e560020a62461bcd02815260206004820152600f60248201527f4e6f7420656e6f756768204d5343450000000000000000000000000000000000604482015290519081900360640190fd5b33600090815260016020526040902054612613908263ffffffff61105c16565b3360009081526001602052604080822092909255600160a060020a03841681522054612645908263ffffffff612f7f16565b600160a060020a03831660009081526001602090815260408083209390935560199052205461267a908263ffffffff612f7f16565b600160a060020a03831660009081526019602052604090205561269c826138a4565b604080518281529051600160a060020a038416913391600080516020613b3c8339815191529181900360200190a360165460408051338152600160a060020a0385166020820152808201849052429092016060830152517f0d3d0fd8e1cbfcff61809766ea3ecedfb5f700f84c73829aeeda4835c54a18159181900360800190a15050565b600054600160a060020a0316331461273857600080fd5b6013805460ff1916911515919091179055565b600054600160a060020a0316331461276257600080fd5b600e55565b601a6020526000908152604090205481565b60176020526000908152604090205460ff1681565b601154600160a060020a031681565b60006127a7612f8c565b151561284d5760115460a060020a900460ff1615156127c557600080fd5b3360009081526012602052604090205460ff16156127e257600080fd5b600160a060020a03831660009081526012602052604090205460ff161561280857600080fd5b612810612faf565b1561281a57600080fd5b61282333611696565b33600090815260196020908152604080832054600190925290912054030182111561284d57600080fd5b61285633611696565b821061287d576128686111e333611696565b336000908152601960205260409020556128ae565b3360009081526019602052604090205461289d908363ffffffff61105c16565b336000908152601960205260409020555b61124f83836138d3565b600e5481565b602080526000908152604090205460ff1681565b600a5481565b336000908152600160205260409020546a0422ca8b0a00a4250000001115612938576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b6118957f4348414e474553594d424f4c00000000000000000000000000000000000000003333600080602060405190810160405280600081525087600061136e565b336000908152600160205260409020546a0422ca8b0a00a42500000011156129da576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b6118957f4348414e47454e414d45000000000000000000000000000000000000000000003333600080866020604051908101604052806000815250600061136e565b600160a060020a031660009081526018602052604090205490565b60186020526000908152604090205481565b336000908152600360209081526040808320600160a060020a0386168452909152812054612a7d908363ffffffff612f7f16565b336000818152600360209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60135460009060ff168015612b0f5750600160a060020a03821660009081526017602052604090205460ff165b15612b6657600160a060020a038216600090815260186020526040812054118015612b515750600160a060020a03821660009081526018602052604090205442115b15612b5e57506000611736565b506001611736565b506000919050565b600054600160a060020a03163314612b8557600080fd5b600160a060020a0381161515612b9a57600080fd5b60118054600160a060020a031916600160a060020a0392909216919091179055565b600f5481565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600054600160a060020a03163314612c0457600080fd5b6011805491151560a060020a0274ff000000000000000000000000000000000000000019909216919091179055565b600054600160a060020a03163314612c4a57600080fd5b601154600160a060020a03161515612c6157600080fd5b30311515612c6e57600080fd5b601154604051600160a060020a0390911690303180156108fc02916000818181858888f193505050501515612ca257600080fd5b565b600c5481565b6000612cc16010548361302590919063ffffffff16565b600b5490915060ff1615612cd457600080fd5b3031811115612ce257600080fd5b6001811015612cf057600080fd5b33600090815260016020526040902054821115612d0c57600080fd5b60008054600160a060020a031681526001602052604090205482810111612d3257600080fd5b3360009081526012602052604090205460ff1615612d4f57600080fd5b612d57612faf565b15612d6157600080fd5b60008054600160a060020a0316815260016020526040902054612d8a908363ffffffff612f7f16565b60008054600160a060020a0316815260016020526040808220929092553381522054612dbc908363ffffffff61105c16565b33600090815260016020526040902055600854612ddf908363ffffffff61105c16565b600855600954612df5908363ffffffff612f7f16565b600955600054604080518481529051600160a060020a03909216913391600080516020613b3c833981519152919081900360200190a3604051339082156108fc029083906000818181858888f19350505050158015611975573d6000803e3d6000fd5b601f60205260009081526040902054600160a060020a031681565b336000908152600160205260409020546a0422ca8b0a00a4250000001115612ed3576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b611f3d7f465245455a450000000000000000000000000000000000000000000000000000838460008560206040519081016040528060008152506020604051908101604052806000815250600061136e565b600054600160a060020a03163314612f3c57600080fd5b611895816139a2565b600054600160a060020a03163314612f5c57600080fd5b601091909155600f55565b601b6020526000908152604090205481565b60085481565b8181018281101561105657fe5b60008054600160a060020a0316331415612fa857506001612fac565b5060005b90565b6000612fba33612ae2565b905090565b336000818152600360209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6000818381151561303257fe5b049392505050565b600160a060020a03831660009081526001602052604081205482111561305f57600080fd5b600160a060020a038416600090815260036020908152604080832033845290915290205482111561308f57600080fd5b600160a060020a03831615156130a457600080fd5b600160a060020a0384166000908152600160205260409020546130cd908363ffffffff61105c16565b600160a060020a038086166000908152600160205260408082209390935590851681522054613102908363ffffffff612f7f16565b600160a060020a038085166000908152600160209081526040808320949094559187168152600382528281203382529091522054613146908363ffffffff61105c16565b600160a060020a0380861660008181526003602090815260408083203384528252918290209490945580518681529051928716939192600080516020613b3c833981519152929181900390910190a35060019392505050565b600160a060020a0382166000908152600160205260409020548111156131c457600080fd5b600160a060020a0382166000908152600160205260409020546131ed908263ffffffff61105c16565b600160a060020a038316600090815260016020526040902055600254613219908263ffffffff61105c16565b600255604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a03851691600080516020613b3c8339815191529181900360200190a35050565b6000601e8281548110151561329f57fe5b60009182526020909120600d90910201805460ff1916815560018101549091507f4d494e540000000000000000000000000000000000000000000000000000000014156133b65760048101546002820154600160a060020a03166000908152600160205260409020546133179163ffffffff612f7f16565b6002820154600160a060020a0316600090815260016020526040902055600481015460075461334b9163ffffffff612f7f16565b600755600481015460408051918252513091600091600080516020613b3c8339815191529181900360200190a3600281015460048201546040805191825251600160a060020a03909216913091600080516020613b3c833981519152919081900360200190a361377e565b60018101547f44455354524f590000000000000000000000000000000000000000000000000014156134b05760048101546002820154600160a060020a03166000908152600160205260409020546134139163ffffffff61105c16565b6002820154600160a060020a031660009081526001602052604090205560048101546007546134479163ffffffff61105c16565b6007556002810154600482015460408051918252513092600160a060020a031691600080516020613b3c833981519152919081900360200190a3600481015460408051918252516000913091600080516020613b3c8339815191529181900360200190a361377e565b60018101547f4348414e47454e414d45000000000000000000000000000000000000000000001415613507576006810180546135019160049160026000196101006001841615020190911604613a8c565b5061377e565b60018101547f4348414e474553594d424f4c00000000000000000000000000000000000000001415613558576007810180546135019160059160026000196101006001841615020190911604613a8c565b60018101547f465245455a450000000000000000000000000000000000000000000000000000141561360057600581018054600283018054600160a060020a0390811660009081526020808052604091829020805460ff191660ff9687161515179055925494548151959092168552921615159083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a161377e565b60018101547f4c4f434b000000000000000000000000000000000000000000000000000000001415613682576005810154600282018054600160a060020a039081166000908152601760209081526040808320805460ff191660ff909716151596909617909555600b860154935490921681526018909152919091205561377e565b60018101547f5452414e53000000000000000000000000000000000000000000000000000000141561377e5760048101546002820154600160a060020a03166000908152600160205260409020546136df9163ffffffff61105c16565b6002820154600160a060020a039081166000908152600160205260408082209390935560048401546003850154909216815291909120546137259163ffffffff612f7f16565b600382018054600160a060020a03908116600090815260016020908152604091829020949094559154600285015460048601548451908152935191831694921692600080516020613b3c83398151915292908290030190a35b80601e8381548110151561378e57fe5b600091825260209091208254600d90920201805460ff928316151560ff19918216178255600180850154818401556002808601548185018054600160a060020a0319908116600160a060020a039384161790915560038089015490870180549092169216919091179055600480870154908501556005808701549085018054919096161515931692909217909355600680850180549394613842949286019391929081161561010002600019011604613a8c565b506007820181600701908054600181600116156101000203166002900461386a929190613a8c565b506008820154816008015560098201548160090155600a82015481600a0155600b82015481600b0155600c82015481600c01559050505050565b600160a060020a03166000908152601a602090815260408083204290819055601654601b909352922091019055565b336000908152600160205260408120548211156138ef57600080fd5b600160a060020a038316151561390457600080fd5b33600090815260016020526040902054613924908363ffffffff61105c16565b3360009081526001602052604080822092909255600160a060020a03851681522054613956908363ffffffff612f7f16565b600160a060020a038416600081815260016020908152604091829020939093558051858152905191923392600080516020613b3c8339815191529281900390910190a350600192915050565b600160a060020a03811615156139b757600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613a5357805160ff1916838001178555613a80565b82800160010185558215613a80579182015b82811115613a80578251825591602001919060010190613a65565b50611029929150613b01565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ac55780548555613a80565b82800160010185558215613a8057600052602060002091601f016020900482015b82811115613a80578254825591600101919060010190613ae6565b612fac91905b808211156110295760008155600101613b0756004a75737420666f722053757065724e6f64657300000000000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820edc3cbd18ce10c3869fe4a2189fab74f92094d1e5d34620a9971c41a810248750029
Deployed Bytecode
0x6080604052600436106102ff5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662ebc96e811461036d57806306fdde0314610387578063095ea7b3146104115780630967cff0146104495780630d27172014610461578063149f2fdb1461048b5780631565f12f146104b257806318160ddd1461056e5780631cf1bb72146105835780631d545d09146105a45780632185810b146105b957806323b872dd146105ce578063289799b7146105f8578063308f505b14610610578063313ce56714610625578063417998831461065057806342966c6814610668578063493a7209146106805780634b0e2c90146106955780635a4071fe146106aa5780635a55c1f0146106d35780635b7f415c146108435780635df813301461085857806361aebe59146109cf57806366188463146109e457806370a0823114610a08578063715018a614610a2957806379c6506814610a3e5780637c129c1c14610a6257806388f7c6d614610a7f5780638da5cb5b14610a9e5780639061a6e914610acf57806395bc3bd014610ae757806395d89b4114610b085780639b1ad79214610b1d5780639b69de7914610b415780639bcf735214610b655780639dec365e14610b7f5780639fab73f714610b97578063a4b03f5214610bb8578063a6f2ae3a14610bd9578063a81c3bdf14610be1578063a9059cbb14610bf6578063aff1e0de14610c1a578063b414d4b614610c2f578063b51dfa9d14610c50578063b84c824614610c65578063c47f002714610cbe578063c92015f614610d17578063d622634714610d38578063d73dd62314610d59578063d86f8ccd14610d7d578063d903744114610d9e578063db1366bf14610dbf578063dd62ed3e14610dd4578063df50afa414610dfb578063e28d717b14610e15578063e2fc421d14610e2a578063e4849b3214610e3f578063e6ee3e6414610e57578063e724529c14610e6f578063f2fde38b14610e95578063f55ecf0614610eb6578063f90a902714610ed1578063fa2299ee14610ef2575b600c544290811180156103135750600d5481105b151561031e57600080fd5b600e5460001061032d57600080fd5b610335610f07565b151561034057600080fd5b610367610358600f543461102d90919063ffffffff16565b600e549063ffffffff61105c16565b600e5550005b34801561037957600080fd5b5061038560043561106e565b005b34801561039357600080fd5b5061039c61108a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103d65781810151838201526020016103be565b50505050905090810190601f1680156104035780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041d57600080fd5b50610435600160a060020a0360043516602435611118565b604080519115158252519081900360200190f35b34801561045557600080fd5b50610385600435611256565b34801561046d57600080fd5b50610435600160a060020a0360043581169060243516604435611272565b34801561049757600080fd5b506104a0611368565b60408051918252519081900360200190f35b3480156104be57600080fd5b50604080516020600460a43581810135601f81018490048402850184019095528484526103859482359460248035600160a060020a039081169660443590911695606435956084351515953695929460c494920191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750509335945061136e9350505050565b34801561057a57600080fd5b506104a0611690565b34801561058f57600080fd5b506104a0600160a060020a0360043516611696565b3480156105b057600080fd5b506104a061173b565b3480156105c557600080fd5b50610435611741565b3480156105da57600080fd5b50610435600160a060020a0360043581169060243516604435611751565b34801561060457600080fd5b506103856004356117ea565b34801561061c57600080fd5b506104a0611806565b34801561063157600080fd5b5061063a61180c565b6040805160ff9092168252519081900360200190f35b34801561065c57600080fd5b50610385600435611815565b34801561067457600080fd5b5061038560043561188b565b34801561068c57600080fd5b50610435611898565b3480156106a157600080fd5b506104356118a6565b3480156106b657600080fd5b50610385600160a060020a036004351660243515156044356118af565b3480156106df57600080fd5b506106eb60043561197a565b604051808d1515151581526020018c600019166000191681526020018b600160a060020a0316600160a060020a031681526020018a600160a060020a0316600160a060020a03168152602001898152602001881515151581526020018060200180602001878152602001868152602001858152602001848152602001838103835289818151815260200191508051906020019080838360005b8381101561079c578181015183820152602001610784565b50505050905090810190601f1680156107c95780820380516001836020036101000a031916815260200191505b5083810382528851815288516020918201918a019080838360005b838110156107fc5781810151838201526020016107e4565b50505050905090810190601f1680156108295780820380516001836020036101000a031916815260200191505b509e50505050505050505050505050505060405180910390f35b34801561084f57600080fd5b5061063a611b79565b34801561086457600080fd5b50610870600435611b7e565b604051808e1515151581526020018d600019166000191681526020018c600160a060020a0316600160a060020a031681526020018b600160a060020a0316600160a060020a031681526020018a815260200189151515158152602001806020018060200188815260200187815260200186815260200185815260200184815260200183810383528a818151815260200191508051906020019080838360005b8381101561092757818101518382015260200161090f565b50505050905090810190601f1680156109545780820380516001836020036101000a031916815260200191505b5083810382528951815289516020918201918b019080838360005b8381101561098757818101518382015260200161096f565b50505050905090810190601f1680156109b45780820380516001836020036101000a031916815260200191505b509f5050505050505050505050505050505060405180910390f35b3480156109db57600080fd5b50610435611d19565b3480156109f057600080fd5b50610435600160a060020a0360043516602435611d22565b348015610a1457600080fd5b506104a0600160a060020a0360043516611e11565b348015610a3557600080fd5b50610385611e2c565b348015610a4a57600080fd5b50610385600160a060020a0360043516602435611e8b565b348015610a6e57600080fd5b506103856004356024351515611f41565b348015610a8b57600080fd5b50610385600435151560243515156123af565b348015610aaa57600080fd5b50610ab36123e9565b60408051600160a060020a039092168252519081900360200190f35b348015610adb57600080fd5b506103856004356123f8565b348015610af357600080fd5b506104a0600160a060020a036004351661246d565b348015610b1457600080fd5b5061039c61247f565b348015610b2957600080fd5b50610385600160a060020a03600435166024356124da565b348015610b4d57600080fd5b50610385600160a060020a036004351660243561258c565b348015610b7157600080fd5b506103856004351515612721565b348015610b8b57600080fd5b5061038560043561274b565b348015610ba357600080fd5b506104a0600160a060020a0360043516612767565b348015610bc457600080fd5b50610435600160a060020a0360043516612779565b610435610f07565b348015610bed57600080fd5b50610ab361278e565b348015610c0257600080fd5b50610435600160a060020a036004351660243561279d565b348015610c2657600080fd5b506104a06128b8565b348015610c3b57600080fd5b50610435600160a060020a03600435166128be565b348015610c5c57600080fd5b506104a06128d2565b348015610c7157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103859436949293602493928401919081908401838280828437509497506128d89650505050505050565b348015610cca57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261038594369492936024939284019190819084018382808284375094975061297a9650505050505050565b348015610d2357600080fd5b506104a0600160a060020a0360043516612a1c565b348015610d4457600080fd5b506104a0600160a060020a0360043516612a37565b348015610d6557600080fd5b50610435600160a060020a0360043516602435612a49565b348015610d8957600080fd5b50610435600160a060020a0360043516612ae2565b348015610daa57600080fd5b50610385600160a060020a0360043516612b6e565b348015610dcb57600080fd5b506104a0612bbc565b348015610de057600080fd5b506104a0600160a060020a0360043581169060243516612bc2565b348015610e0757600080fd5b506103856004351515612bed565b348015610e2157600080fd5b50610385612c33565b348015610e3657600080fd5b506104a0612ca4565b348015610e4b57600080fd5b50610385600435612caa565b348015610e6357600080fd5b50610ab3600435612e58565b348015610e7b57600080fd5b50610385600160a060020a03600435166024351515612e73565b348015610ea157600080fd5b50610385600160a060020a0360043516612f25565b348015610ec257600080fd5b50610385600435602435612f45565b348015610edd57600080fd5b506104a0600160a060020a0360043516612f67565b348015610efe57600080fd5b506104a0612f79565b600080610f1f600f543461102d90919063ffffffff16565b600b54909150610100900460ff1615610f3757600080fd5b60008054600160a060020a0316815260016020526040902054811115610f5c57600080fd5b60008054600160a060020a0316815260016020526040902054610f85908263ffffffff61105c16565b60008054600160a060020a0316815260016020526040808220929092553381522054610fb7908263ffffffff612f7f16565b33600090815260016020526040902055600854610fda908263ffffffff612f7f16565b600855600a54610ff0908263ffffffff612f7f16565b600a556000546040805183815290513392600160a060020a031691600080516020613b3c833981519152919081900360200190a3600191505b5090565b600082151561103e57506000611056565b5081810281838281151561104e57fe5b041461105657fe5b92915050565b60008282111561106857fe5b50900390565b600054600160a060020a0316331461108557600080fd5b600d55565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156111105780601f106110e557610100808354040283529160200191611110565b820191906000526020600020905b8154815290600101906020018083116110f357829003601f168201915b505050505081565b6000611122612f8c565b15156111c85760115460a060020a900460ff16151561114057600080fd5b3360009081526012602052604090205460ff161561115d57600080fd5b600160a060020a03831660009081526012602052604090205460ff161561118357600080fd5b61118b612faf565b1561119557600080fd5b61119e33611696565b3360009081526019602090815260408083205460019092529091205403018211156111c857600080fd5b6111d133611696565b8210611214576111ff6111e333611696565b336000908152601960205260409020549063ffffffff61105c16565b33600090815260196020526040902055611245565b33600090815260196020526040902054611234908363ffffffff61105c16565b336000908152601960205260409020555b61124f8383612fbf565b9392505050565b600054600160a060020a0316331461126d57600080fd5b600c55565b336000908152600160205260408120546a0422ca8b0a00a42500000011156112d2576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b600160a060020a03831615156112e757600080fd5b600160a060020a03841660009081526001602052604090205482111561130c57600080fd5b61135e7f5452414e53000000000000000000000000000000000000000000000000000000858585600060206040519081016040528060008152506020604051908101604052806000815250600061136e565b5060019392505050565b60105481565b336000908152600160205260408120546a0422ca8b0a00a42500000011156113ce576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b604080516101a081018252600180825260208083018d8152600160a060020a03808e169585019586528c811660608601908152608086018d81528c151560a0880190815260c088018d815260e089018d905260006101008a018190526101208a01819052426101408b01819052601d54016101608b01526101808a018d9052601e8054808b01808355919092528a51600d9092027f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3508101805493151560ff1994851617815598517f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3518201559b517f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3528d018054918916600160a060020a031992831617905595517f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3538d0180549190981696169590951790955591517f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3548a0155517f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e35589018054911515919094161790925590518051949691959492936115b9937f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e35690930192910190613a12565b5060e082015180516115d5916007840191602090910190613a12565b5061010082015160088201556101208201516009820155610140820151600a820155610160820151600b82015561018090910151600c90910155036000818152601f60209081526040918290208054600160a060020a0319163390811790915582519081529081018c9052600160a060020a038b16818301526060810189905290519192507f03493f239ae746243bd932fe008aab9958bea99169cc7d73fab2ceef9817b1ba919081900360800190a1505050505050505050565b60075481565b600160a060020a0381166000908152601b602052604081205442106116d45750600160a060020a038116600090815260196020526040902054611736565b600160a060020a038216600090815260196020908152604080832054601554601a909352922054611733926064926117279261171b9142919091039063ffffffff61302516565b9063ffffffff61102d16565b9063ffffffff61302516565b90505b919050565b600d5481565b60115460a060020a900460ff1681565b600061175b612f8c565b15156117d75760115460a060020a900460ff16151561177957600080fd5b600160a060020a03841660009081526012602052604090205460ff161561179f57600080fd5b600160a060020a03831660009081526012602052604090205460ff16156117c557600080fd5b6117cd612faf565b156117d757600080fd5b6117e284848461303a565b949350505050565b600054600160a060020a0316331461180157600080fd5b601555565b60095481565b60065460ff1681565b600054600160a060020a0316331461182c57600080fd5b6000816008540311151561183f57600080fd5b600854611852908263ffffffff61105c16565b6008556040805182815290517ff708844f569f2a630c36e2c8c1422c319aa04d0ef131636d78737df669e89b2f9181900360200190a150565b611895338261319f565b50565b600b54610100900460ff1681565b60135460ff1681565b336000908152600160205260409020546a0422ca8b0a00a425000000111561190f576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b600160a060020a038316151561192457600080fd5b6119757f4c4f434b000000000000000000000000000000000000000000000000000000008485600086602060405190810160405280600081525060206040519081016040528060008152508861136e565b505050565b6000806000806000806060806000806000806000601e8e81548110151561199d57fe5b90600052602060002090600d020190508060000160009054906101000a900460ff1681600101548260020160009054906101000a9004600160a060020a03168360030160009054906101000a9004600160a060020a031684600401548560050160009054906101000a900460ff168660060187600701886008015489600901548a600a01548b600b0154858054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611abc5780601f10611a9157610100808354040283529160200191611abc565b820191906000526020600020905b815481529060010190602001808311611a9f57829003601f168201915b5050885460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959b508a945092508401905082828015611b4a5780601f10611b1f57610100808354040283529160200191611b4a565b820191906000526020600020905b815481529060010190602001808311611b2d57829003601f168201915b505050505094509c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b601281565b601e805482908110611b8c57fe5b6000918252602091829020600d90910201805460018083015460028085015460038601546004870154600588015460068901805460408051601f6000199b841615610100029b909b01909216979097049889018c90048c0281018c0190965287865260ff9889169b509599600160a060020a039485169993909416979196911694919392830182828015611c615780601f10611c3657610100808354040283529160200191611c61565b820191906000526020600020905b815481529060010190602001808311611c4457829003601f168201915b5050505060078301805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152949594935090830182828015611cf15780601f10611cc657610100808354040283529160200191611cf1565b820191906000526020600020905b815481529060010190602001808311611cd457829003601f168201915b50505050509080600801549080600901549080600a01549080600b01549080600c015490508d565b600b5460ff1681565b336000908152600360209081526040808320600160a060020a0386168452909152812054808310611d7657336000908152600360209081526040808320600160a060020a0388168452909152812055611dab565b611d86818463ffffffff61105c16565b336000908152600360209081526040808320600160a060020a03891684529091529020555b336000818152600360209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526001602052604090205490565b600054600160a060020a03163314611e4357600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a260008054600160a060020a0319169055565b336000908152600160205260409020546a0422ca8b0a00a4250000001115611eeb576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b611f3d7f4d494e5400000000000000000000000000000000000000000000000000000000838484600060206040519081016040528060008152506020604051908101604052806000815250600061136e565b5050565b601c543360009081526001602052604081205490918291670de0b6b3a76400009091021115611fba576040805160e560020a62461bcd02815260206004820152601960248201527f596f7520686176656e277420766f74696e672072696768742e00000000000000604482015290519081900360640190fd5b601e805485908110611fc857fe5b90600052602060002090600d02019150606490508160010154600019167f465245455a45000000000000000000000000000000000000000000000000000014156120145750601e61204c565b60018201547f44455354524f590000000000000000000000000000000000000000000000000014156120485750603361204c565b5060505b81600b015442111561218457815460ff19168255601e80548391908690811061207157fe5b600091825260209091208254600d90920201805460ff928316151560ff19918216178255600180850154818401556002808601548185018054600160a060020a0319908116600160a060020a039384161790915560038089015490870180549092169216919091179055600480870154908501556005808701549085018054919096161515931692909217909355600680850180549394612125949286019391929081161561010002600019011604613a8c565b506007820181600701908054600181600116156101000203166002900461214d929190613a8c565b506008820154816008015560098201548160090155600a82015481600a0155600b82015481600b0155600c82015481600c01559050505b815460ff1615156001146121e2576040805160e560020a62461bcd02815260206004820152600e60248201527f54686520766f746520656e646564000000000000000000000000000000000000604482015290519081900360640190fd5b6001831515141561221b573360009081526001602052604090205460088301546122119163ffffffff612f7f16565b6008830155612245565b33600090815260016020526040902054600983015461223f9163ffffffff612f7f16565b60098301555b60648104600854028260080154101515612267576122628461328e565b6123a9565b6064818103046008540282600901541015156123a957815460ff19168255601e80548391908690811061229657fe5b600091825260209091208254600d90920201805460ff928316151560ff19918216178255600180850154818401556002808601548185018054600160a060020a0319908116600160a060020a03938416179091556003808901549087018054909216921691909117905560048087015490850155600580870154908501805491909616151593169290921790935560068085018054939461234a949286019391929081161561010002600019011604613a8c565b5060078201816007019080546001816001161561010002031660029004612372929190613a8c565b506008820154816008015560098201548160090155600a82015481600a0155600b82015481600b0155600c82015481600c01559050505b50505050565b600054600160a060020a031633146123c657600080fd5b600b805460ff19169215159290921761ff00191661010091151591909102179055565b600054600160a060020a031681565b600054600160a060020a0316331461240f57600080fd5b60075460085482011061242157600080fd5b600854612434908263ffffffff612f7f16565b6008556040805182815290517f03e0d50af85e41e334dc3f5787a0c79260b3d45a70927162c106c45ebf9da6499181900360200190a150565b60196020526000908152604090205481565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156111105780601f106110e557610100808354040283529160200191611110565b336000908152600160205260409020546a0422ca8b0a00a425000000111561253a576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b611f3d7f44455354524f5900000000000000000000000000000000000000000000000000838484600060206040519081016040528060008152506020604051908101604052806000815250600061136e565b336000908152600160205260409020548111156125f3576040805160e560020a62461bcd02815260206004820152600f60248201527f4e6f7420656e6f756768204d5343450000000000000000000000000000000000604482015290519081900360640190fd5b33600090815260016020526040902054612613908263ffffffff61105c16565b3360009081526001602052604080822092909255600160a060020a03841681522054612645908263ffffffff612f7f16565b600160a060020a03831660009081526001602090815260408083209390935560199052205461267a908263ffffffff612f7f16565b600160a060020a03831660009081526019602052604090205561269c826138a4565b604080518281529051600160a060020a038416913391600080516020613b3c8339815191529181900360200190a360165460408051338152600160a060020a0385166020820152808201849052429092016060830152517f0d3d0fd8e1cbfcff61809766ea3ecedfb5f700f84c73829aeeda4835c54a18159181900360800190a15050565b600054600160a060020a0316331461273857600080fd5b6013805460ff1916911515919091179055565b600054600160a060020a0316331461276257600080fd5b600e55565b601a6020526000908152604090205481565b60176020526000908152604090205460ff1681565b601154600160a060020a031681565b60006127a7612f8c565b151561284d5760115460a060020a900460ff1615156127c557600080fd5b3360009081526012602052604090205460ff16156127e257600080fd5b600160a060020a03831660009081526012602052604090205460ff161561280857600080fd5b612810612faf565b1561281a57600080fd5b61282333611696565b33600090815260196020908152604080832054600190925290912054030182111561284d57600080fd5b61285633611696565b821061287d576128686111e333611696565b336000908152601960205260409020556128ae565b3360009081526019602052604090205461289d908363ffffffff61105c16565b336000908152601960205260409020555b61124f83836138d3565b600e5481565b602080526000908152604090205460ff1681565b600a5481565b336000908152600160205260409020546a0422ca8b0a00a4250000001115612938576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b6118957f4348414e474553594d424f4c00000000000000000000000000000000000000003333600080602060405190810160405280600081525087600061136e565b336000908152600160205260409020546a0422ca8b0a00a42500000011156129da576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b6118957f4348414e47454e414d45000000000000000000000000000000000000000000003333600080866020604051908101604052806000815250600061136e565b600160a060020a031660009081526018602052604090205490565b60186020526000908152604090205481565b336000908152600360209081526040808320600160a060020a0386168452909152812054612a7d908363ffffffff612f7f16565b336000818152600360209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60135460009060ff168015612b0f5750600160a060020a03821660009081526017602052604090205460ff165b15612b6657600160a060020a038216600090815260186020526040812054118015612b515750600160a060020a03821660009081526018602052604090205442115b15612b5e57506000611736565b506001611736565b506000919050565b600054600160a060020a03163314612b8557600080fd5b600160a060020a0381161515612b9a57600080fd5b60118054600160a060020a031916600160a060020a0392909216919091179055565b600f5481565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600054600160a060020a03163314612c0457600080fd5b6011805491151560a060020a0274ff000000000000000000000000000000000000000019909216919091179055565b600054600160a060020a03163314612c4a57600080fd5b601154600160a060020a03161515612c6157600080fd5b30311515612c6e57600080fd5b601154604051600160a060020a0390911690303180156108fc02916000818181858888f193505050501515612ca257600080fd5b565b600c5481565b6000612cc16010548361302590919063ffffffff16565b600b5490915060ff1615612cd457600080fd5b3031811115612ce257600080fd5b6001811015612cf057600080fd5b33600090815260016020526040902054821115612d0c57600080fd5b60008054600160a060020a031681526001602052604090205482810111612d3257600080fd5b3360009081526012602052604090205460ff1615612d4f57600080fd5b612d57612faf565b15612d6157600080fd5b60008054600160a060020a0316815260016020526040902054612d8a908363ffffffff612f7f16565b60008054600160a060020a0316815260016020526040808220929092553381522054612dbc908363ffffffff61105c16565b33600090815260016020526040902055600854612ddf908363ffffffff61105c16565b600855600954612df5908363ffffffff612f7f16565b600955600054604080518481529051600160a060020a03909216913391600080516020613b3c833981519152919081900360200190a3604051339082156108fc029083906000818181858888f19350505050158015611975573d6000803e3d6000fd5b601f60205260009081526040902054600160a060020a031681565b336000908152600160205260409020546a0422ca8b0a00a4250000001115612ed3576040805160e560020a62461bcd0281526020600482015260136024820152600080516020613b1c833981519152604482015290519081900360640190fd5b611f3d7f465245455a450000000000000000000000000000000000000000000000000000838460008560206040519081016040528060008152506020604051908101604052806000815250600061136e565b600054600160a060020a03163314612f3c57600080fd5b611895816139a2565b600054600160a060020a03163314612f5c57600080fd5b601091909155600f55565b601b6020526000908152604090205481565b60085481565b8181018281101561105657fe5b60008054600160a060020a0316331415612fa857506001612fac565b5060005b90565b6000612fba33612ae2565b905090565b336000818152600360209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6000818381151561303257fe5b049392505050565b600160a060020a03831660009081526001602052604081205482111561305f57600080fd5b600160a060020a038416600090815260036020908152604080832033845290915290205482111561308f57600080fd5b600160a060020a03831615156130a457600080fd5b600160a060020a0384166000908152600160205260409020546130cd908363ffffffff61105c16565b600160a060020a038086166000908152600160205260408082209390935590851681522054613102908363ffffffff612f7f16565b600160a060020a038085166000908152600160209081526040808320949094559187168152600382528281203382529091522054613146908363ffffffff61105c16565b600160a060020a0380861660008181526003602090815260408083203384528252918290209490945580518681529051928716939192600080516020613b3c833981519152929181900390910190a35060019392505050565b600160a060020a0382166000908152600160205260409020548111156131c457600080fd5b600160a060020a0382166000908152600160205260409020546131ed908263ffffffff61105c16565b600160a060020a038316600090815260016020526040902055600254613219908263ffffffff61105c16565b600255604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a03851691600080516020613b3c8339815191529181900360200190a35050565b6000601e8281548110151561329f57fe5b60009182526020909120600d90910201805460ff1916815560018101549091507f4d494e540000000000000000000000000000000000000000000000000000000014156133b65760048101546002820154600160a060020a03166000908152600160205260409020546133179163ffffffff612f7f16565b6002820154600160a060020a0316600090815260016020526040902055600481015460075461334b9163ffffffff612f7f16565b600755600481015460408051918252513091600091600080516020613b3c8339815191529181900360200190a3600281015460048201546040805191825251600160a060020a03909216913091600080516020613b3c833981519152919081900360200190a361377e565b60018101547f44455354524f590000000000000000000000000000000000000000000000000014156134b05760048101546002820154600160a060020a03166000908152600160205260409020546134139163ffffffff61105c16565b6002820154600160a060020a031660009081526001602052604090205560048101546007546134479163ffffffff61105c16565b6007556002810154600482015460408051918252513092600160a060020a031691600080516020613b3c833981519152919081900360200190a3600481015460408051918252516000913091600080516020613b3c8339815191529181900360200190a361377e565b60018101547f4348414e47454e414d45000000000000000000000000000000000000000000001415613507576006810180546135019160049160026000196101006001841615020190911604613a8c565b5061377e565b60018101547f4348414e474553594d424f4c00000000000000000000000000000000000000001415613558576007810180546135019160059160026000196101006001841615020190911604613a8c565b60018101547f465245455a450000000000000000000000000000000000000000000000000000141561360057600581018054600283018054600160a060020a0390811660009081526020808052604091829020805460ff191660ff9687161515179055925494548151959092168552921615159083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a161377e565b60018101547f4c4f434b000000000000000000000000000000000000000000000000000000001415613682576005810154600282018054600160a060020a039081166000908152601760209081526040808320805460ff191660ff909716151596909617909555600b860154935490921681526018909152919091205561377e565b60018101547f5452414e53000000000000000000000000000000000000000000000000000000141561377e5760048101546002820154600160a060020a03166000908152600160205260409020546136df9163ffffffff61105c16565b6002820154600160a060020a039081166000908152600160205260408082209390935560048401546003850154909216815291909120546137259163ffffffff612f7f16565b600382018054600160a060020a03908116600090815260016020908152604091829020949094559154600285015460048601548451908152935191831694921692600080516020613b3c83398151915292908290030190a35b80601e8381548110151561378e57fe5b600091825260209091208254600d90920201805460ff928316151560ff19918216178255600180850154818401556002808601548185018054600160a060020a0319908116600160a060020a039384161790915560038089015490870180549092169216919091179055600480870154908501556005808701549085018054919096161515931692909217909355600680850180549394613842949286019391929081161561010002600019011604613a8c565b506007820181600701908054600181600116156101000203166002900461386a929190613a8c565b506008820154816008015560098201548160090155600a82015481600a0155600b82015481600b0155600c82015481600c01559050505050565b600160a060020a03166000908152601a602090815260408083204290819055601654601b909352922091019055565b336000908152600160205260408120548211156138ef57600080fd5b600160a060020a038316151561390457600080fd5b33600090815260016020526040902054613924908363ffffffff61105c16565b3360009081526001602052604080822092909255600160a060020a03851681522054613956908363ffffffff612f7f16565b600160a060020a038416600081815260016020908152604091829020939093558051858152905191923392600080516020613b3c8339815191529281900390910190a350600192915050565b600160a060020a03811615156139b757600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613a5357805160ff1916838001178555613a80565b82800160010185558215613a80579182015b82811115613a80578251825591602001919060010190613a65565b50611029929150613b01565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ac55780548555613a80565b82800160010185558215613a8057600052602060002091601f016020900482015b82811115613a80578254825591600101919060010190613ae6565b612fac91905b808211156110295760008155600101613b0756004a75737420666f722053757065724e6f64657300000000000000000000000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820edc3cbd18ce10c3869fe4a2189fab74f92094d1e5d34620a9971c41a810248750029
Swarm Source
bzzr://edc3cbd18ce10c3869fe4a2189fab74f92094d1e5d34620a9971c41a81024875
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.