ETH Price: $2,738.75 (+2.66%)

Token

Token Guardian (TKGN)
 

Overview

Max Total Supply

402,691,346.999999999999774067 TKGN

Holders

1,050

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
TKG

Compiler Version
v0.4.22+commit.4cb486ee

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-06-23
*/

pragma solidity ^0.4.22;
/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
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);
}
/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath 
{
    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) 
    {
        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) 
    {
        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;
    }
}
pragma solidity ^0.4.22;
/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic 
{
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract Owner
{
    address internal owner;
    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }
    function changeOwner(address newOwner) public onlyOwner returns(bool)
    {
        owner = newOwner;
        return true;
    }
}
pragma solidity ^0.4.22;
contract TkgPlus is Owner 
{
    mapping(address => uint256) internal balances;
    function parse2wei(uint _value) internal pure returns(uint)
    {
        uint decimals = 18;
        return _value * (10 ** uint256(decimals));
    }

    address public ADDR_TKG_ORG;
    address public ADDR_TKG_TECH_FUND;
    address public ADDR_TKG_ASSOCIATION;
    address public ADDR_TKG_VC;
    address public ADDR_TKG_NODE;
    address public ADDR_TKG_CHARITY;
    address public ADDR_TKG_TEAM;
    struct IcoRule
    {
        uint startTime;
        uint endTime;
        uint rate;
        uint shareRuleGroupId;
        address[] addrList;
        bool canceled;
    }
    IcoRule[] icoRuleList;
    mapping (address => uint[] ) addr2icoRuleIdList;
    event GetIcoRule(uint startTime, uint endTime, uint rate, uint shareRuleGroupId, bool canceled);
    function icoRuleAdd(uint startTime, uint endTime, uint rate, uint shareRuleGroupId) public onlyOwner returns (bool) 
    {
        address[] memory addr;
        bool canceled = false;
        IcoRule memory item = IcoRule(startTime, endTime, rate, shareRuleGroupId, addr, canceled);
        icoRuleList.push(item);
        return true;
    }
    function icoRuleUpdate(uint index, uint startTime, uint endTime, uint rate, uint shareRuleGroupId) public onlyOwner returns (bool) 
    {
        require(icoRuleList.length > index);
        if (startTime > 0) {
            icoRuleList[index].startTime = startTime;
        }
        if (endTime > 0) {
            icoRuleList[index].endTime = endTime;
        }
        if (rate > 0) {
            icoRuleList[index].rate = rate;
        }
        icoRuleList[index].shareRuleGroupId = shareRuleGroupId;
        return true;
    }
    function icoPushAddr(uint index, address addr) internal returns (bool) 
    {
        icoRuleList[index].addrList.push(addr);
        return true;
    }
    function icoRuleCancel(uint index) public onlyOwner returns (bool) 
    {
        require(icoRuleList.length > index);
        icoRuleList[index].canceled = true;
        return true;
    }
    function getIcoRuleList() public returns (uint count) 
    {
        count = icoRuleList.length;
        for (uint i = 0; i < count ; i++)
        {
            emit GetIcoRule(icoRuleList[i].startTime, icoRuleList[i].endTime, icoRuleList[i].rate, icoRuleList[i].shareRuleGroupId, 
            icoRuleList[i].canceled);
        }
    }
    function getIcoAddrCount(uint icoRuleId) public view onlyOwner returns (uint count) 
    {
        count = icoRuleList[icoRuleId - 1].addrList.length;
    }
    function getIcoAddrListByIcoRuleId(uint icoRuleId, uint index) public view onlyOwner returns (address addr) 
    {
        addr = icoRuleList[icoRuleId - 1].addrList[index];
    }
    function initIcoRule() internal returns(bool) 
    {
        icoRuleAdd(1529251201, 1530374399, 6000, 1);
        icoRuleAdd(1530547201, 1531238399, 3800, 0);
    }
    struct ShareRule {
        uint startTime;
        uint endTime;
        uint rateDenominator;
    }
    event GetShareRule(address addr, uint startTime, uint endTime, uint rateDenominator);
    mapping (uint => ShareRule[]) shareRuleGroup;
    mapping (address => uint) addr2shareRuleGroupId;
    mapping (address => uint ) sharedAmount;
    mapping (address => uint ) icoAmount;
    ShareRule[] shareRule6;
    function initShareRule6() internal returns( bool )
    {
        ShareRule memory sr = ShareRule(1533398401, 1536076799, 6);
        shareRule6.push( sr );
        sr = ShareRule(1536076801, 1538668799, 6);
        shareRule6.push( sr );
        sr = ShareRule(1538668801, 1541347199, 6);
        shareRule6.push( sr );
        sr = ShareRule(1541347201, 1543939199, 6);
        shareRule6.push( sr );
        sr = ShareRule(1543939201, 1546617599, 6);
        shareRule6.push( sr );
        sr = ShareRule(1546617601, 1549295999, 6);
        shareRule6.push( sr );
        shareRuleGroup[1] = shareRule6;
    }
    ShareRule[] srlist2;
    ShareRule[] srlist3;
    ShareRule[] srlist4;
    function initShareRule4Publicity() internal returns( bool )
    {
        ShareRule memory sr;
        sr = ShareRule(1529251201, 1560787199, 3);
        srlist2.push( sr );
        sr = ShareRule(1560787201, 1592409599, 3);
        srlist2.push( sr );
        sr = ShareRule(1592409601, 1623945599, 3);
        srlist2.push( sr );
        shareRuleGroup[2] = srlist2;
        addr2shareRuleGroupId[ADDR_TKG_NODE] = 2;
        sr = ShareRule(1529251201, 1560787199, 5);
        srlist3.push( sr );
        sr = ShareRule(1560787201, 1592409599, 5);
        srlist3.push( sr );
        sr = ShareRule(1592409601, 1623945599, 5);
        srlist3.push( sr );
        sr = ShareRule(1623945601, 1655481599, 5);
        srlist3.push( sr );
        sr = ShareRule(1655481601, 1687017599, 5);
        srlist3.push( sr );
        shareRuleGroup[3] = srlist3;
        addr2shareRuleGroupId[ADDR_TKG_CHARITY] = 3;
        sr = ShareRule(1529251201, 1560787199, 3);
        srlist4.push( sr );
        sr = ShareRule(1560787201, 1592409599, 3);
        srlist4.push( sr );
        sr = ShareRule(1592409601, 1623945599, 3);
        srlist4.push( sr );
        shareRuleGroup[4] = srlist4;
        addr2shareRuleGroupId[ADDR_TKG_TEAM] = 4;
        return true;
    }
    function initPublicityAddr() internal 
    {
        ADDR_TKG_TECH_FUND = address(0x6317D006021Fd26581deD71e547fC0B8e12876Eb);
        balances[ADDR_TKG_TECH_FUND] = parse2wei(59000000);
        ADDR_TKG_ASSOCIATION = address(0xB1A89E3ac5f90bE297853c76D8cb88259357C416);
        balances[ADDR_TKG_ASSOCIATION] = parse2wei(88500000);
        ADDR_TKG_VC = address(0xA053358bd6AC2E6eD5B13E59c20e42b66dFE6EC4);
        balances[ADDR_TKG_VC] = parse2wei(45500000);
        ADDR_TKG_NODE = address(0x21776fAcab4300437ECC0a132bEC361bA3Db7Fe7);
        balances[ADDR_TKG_NODE] = parse2wei(59000000);
        ADDR_TKG_CHARITY = address(0x4cB70266Ebc2def3B7219ef86E787b7be6139470);
        balances[ADDR_TKG_CHARITY] = parse2wei(29500000);
        ADDR_TKG_TEAM = address(0xd4076Cf846c8Dbf28e26E4863d94ddc948B9A155);
        balances[ADDR_TKG_TEAM] = parse2wei(88500000);
        initShareRule4Publicity();
    }
    function updatePublicityBalance( address addr, uint amount ) public onlyOwner returns(bool)
    {
        balances[addr] = amount;
        return true;
    }

    function updateShareRuleGroup(uint id, uint index, uint startTime, uint endTime, uint rateDenominator) public onlyOwner returns(bool)
    {
        if (startTime > 0) {
            shareRuleGroup[id][index].startTime = startTime;
        }
        if (endTime > 0) {
            shareRuleGroup[id][index].endTime = endTime;
        }
        if (rateDenominator > 0) {
            shareRuleGroup[id][index].rateDenominator = rateDenominator;
        }
        return true;
    }
    function tokenShareShow(address addr) public returns(uint shareRuleGroupId) 
    {
        shareRuleGroupId = addr2shareRuleGroupId[addr];
        if (shareRuleGroupId == 0) {
            return 0;
        }
        ShareRule[] memory shareRuleList = shareRuleGroup[shareRuleGroupId];
        uint count = shareRuleList.length;
        for (uint i = 0; i < count ; i++)
        {
            emit GetShareRule(addr, shareRuleList[i].startTime, shareRuleList[i].endTime, shareRuleList[i].rateDenominator);
        }
        return shareRuleGroupId;
    }
    function setAccountShareRuleGroupId(address addr, uint shareRuleGroupId) public onlyOwner returns(bool)
    {
        addr2shareRuleGroupId[addr] = shareRuleGroupId;
        return true;
    }
}
pragma solidity ^0.4.22;
/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic, TkgPlus 
{
    using SafeMath for uint256;
    uint256 internal totalSupply_;
    mapping (address => bool) internal locked;
    /**
    * alan: lock or unlock account
    */
    function lockAccount(address _addr) public onlyOwner returns (bool)
    {
        require(_addr != address(0));
        locked[_addr] = true;
        return true;
    }
    function unlockAccount(address _addr) public onlyOwner returns (bool)
    {
        require(_addr != address(0));
        locked[_addr] = false;
        return true;
    }
    /**
    * alan: get lock status
    */
    function isLocked(address addr) public view returns(bool) 
    {
        return locked[addr];
    }
    bool internal stopped = false;
    modifier running {
        assert (!stopped);
        _;
    }
    function stop() public onlyOwner 
    {
        stopped = true;
    }
    function start() public onlyOwner 
    {
        stopped = false;
    }
    function isStopped() public view returns(bool)
    {
        return stopped;
    }
    /**
    * @dev total number of tokens in existence
    */
    function totalSupply() public view returns (uint256) 
    {
        return totalSupply_;
    }
    function getRemainShareAmount() public view returns(uint)
    {
        return getRemainShareAmountInternal(msg.sender);
    }
    function getRemainShareAmountInternal(address addr) internal view returns(uint)
    {
        uint canTransferAmount = 0;
        uint srgId = addr2shareRuleGroupId[addr];
        bool allowTransfer = false;
        if (srgId == 0) {
            canTransferAmount = balances[addr];
            return canTransferAmount;
        }
        else
        {
            ShareRule[] memory shareRuleList = shareRuleGroup[srgId];
            uint count = shareRuleList.length;
            for (uint i = 0; i < count ; i++)
            {
                if ( shareRuleList[i].startTime < now && now < shareRuleList[i].endTime)
                {
                    canTransferAmount = (i + 1).mul(icoAmount[addr]).div(shareRuleList[i].rateDenominator).sub( sharedAmount[addr]);
                    return canTransferAmount;
                }
            }
            if (allowTransfer == false)
            {
                bool isOverTime = true;
                for (i = 0; i < count ; i++) {
                    if ( now < shareRuleList[i].endTime) {
                        isOverTime = false;
                    }
                }
                if (isOverTime == true) {
                    allowTransfer = true;
                    canTransferAmount = balances[addr];
                    return canTransferAmount;
                }
            }
        }
    }
    /**
    * @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 running returns (bool) 
    {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);
        require( locked[msg.sender] != true);
        require( locked[_to] != true);
        require( getRemainShareAmount() >= _value );
        address addrA = address(0xce3c0a2012339490D2850B4Fd4cDA0B95Ac03076);
        if (msg.sender == addrA && now < 1532966399) {
            addr2shareRuleGroupId[_to] = 1;
        }
        balances[msg.sender] = balances[msg.sender].sub(_value);
        sharedAmount[msg.sender] = sharedAmount[msg.sender].add( _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];
    }
}
pragma solidity ^0.4.22;
/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
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 running returns (bool) 
    {
        require(_to != address(0));
        require( locked[_from] != true && locked[_to] != true);
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        require(_value <= getRemainShareAmountInternal(_from));
        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 running returns (bool) 
    {
        require(getRemainShareAmountInternal(msg.sender) >= _value);
        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];
    }
}

contract AlanPlusToken is StandardToken
{
    function additional(uint amount) public onlyOwner running returns(bool)
    {
        totalSupply_ = totalSupply_.add(amount);
        balances[owner] = balances[owner].add(amount);
        return true;
    }
    event Burn(address indexed from, uint256 value);
    /**
    * Destroy tokens
    * Remove `_value` tokens from the system irreversibly
    * @param _value the amount of money to burn
    */
    function burn(uint256 _value) public onlyOwner running returns (bool success) 
    {
        require(balances[msg.sender] >= _value);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);
        emit Burn(msg.sender, _value);
        return true;
    }
    /**
    * Destroy tokens from other account
    *
    * Remove `_value` tokens from the system irreversibly on behalf of `_from`.
    *
    * @param _from the address of the senderT
    * @param _value the amount of money to burn
    */
    function burnFrom(address _from, uint256 _value) public onlyOwner returns (bool success) 
    {
        require(balances[_from] >= _value);
        if (_value <= allowed[_from][msg.sender]) {
            allowed[_from][msg.sender] -= _value;
        }
        else {
            allowed[_from][msg.sender] = 0;
        }
        balances[_from] -= _value;
        totalSupply_ -= _value;
        emit Burn(_from, _value);
        return true;
    }
}
pragma solidity ^0.4.22;
contract TKG is AlanPlusToken 
{
    string public constant name = "Token Guardian";
    string public constant symbol = "TKGN";
    uint8 public constant decimals = 18;
    uint256 private constant INITIAL_SUPPLY = 590000000 * (10 ** uint256(decimals));
    function () public payable 
    {
        uint curIcoRate = 0;
        uint icoRuleIndex = 500;
        for (uint i = 0; i < icoRuleList.length ; i++)
        {
            if ((icoRuleList[i].canceled != true) && (icoRuleList[i].startTime < now && now < icoRuleList[i].endTime)) {
                curIcoRate = icoRuleList[i].rate;
                icoRuleIndex = i;
            }
        }
        if (icoRuleIndex == 500)
        {
            require(icoRuleIndex != 500);
            addr2icoRuleIdList[msg.sender].push( 0 );
            addr2shareRuleGroupId[msg.sender] = addr2shareRuleGroupId[msg.sender] > 0 ? addr2shareRuleGroupId[msg.sender] : 0;
        }
        else
        {
            addr2shareRuleGroupId[msg.sender] = addr2shareRuleGroupId[msg.sender] > 0 ? addr2shareRuleGroupId[msg.sender] : icoRuleList[icoRuleIndex].shareRuleGroupId;
            addr2icoRuleIdList[msg.sender].push( icoRuleIndex + 1 );
            icoPushAddr(icoRuleIndex, msg.sender);
        }
        uint amountTKG = 0;
        amountTKG = msg.value.mul( curIcoRate );
        balances[msg.sender] = balances[msg.sender].add(amountTKG);
        icoAmount[msg.sender] = icoAmount[msg.sender].add(amountTKG);
        balances[owner] = balances[owner].sub(amountTKG);
        ADDR_TKG_ORG.transfer(msg.value);
    }
    constructor(uint totalSupply) public 
    {
        owner = msg.sender;
        ADDR_TKG_ORG = owner;
        totalSupply_ = totalSupply > 0 ? totalSupply : INITIAL_SUPPLY;
        uint assignedAmount = 59000000 + 88500000 + 45500000 + 59000000 + 29500000 + 88500000;
        balances[owner] = totalSupply_.sub( parse2wei(assignedAmount) );
        initIcoRule();
        initShareRule6();
        initPublicityAddr();
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"ADDR_TKG_VC","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"icoRuleId","type":"uint256"},{"name":"index","type":"uint256"}],"name":"getIcoAddrListByIcoRuleId","outputs":[{"name":"addr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"shareRuleGroupId","type":"uint256"}],"name":"setAccountShareRuleGroupId","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":true,"inputs":[],"name":"getRemainShareAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"amount","type":"uint256"}],"name":"updatePublicityBalance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_TKG_NODE","outputs":[{"name":"","type":"address"}],"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":true,"inputs":[],"name":"ADDR_TKG_ASSOCIATION","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isStopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"lockAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"isLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getIcoRuleList","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_TKG_CHARITY","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"index","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"rateDenominator","type":"uint256"}],"name":"updateShareRuleGroup","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":true,"inputs":[],"name":"ADDR_TKG_TEAM","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"tokenShareShow","outputs":[{"name":"shareRuleGroupId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"unlockAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"icoRuleId","type":"uint256"}],"name":"getIcoAddrCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"}],"name":"icoRuleCancel","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"rate","type":"uint256"},{"name":"shareRuleGroupId","type":"uint256"}],"name":"icoRuleUpdate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"rate","type":"uint256"},{"name":"shareRuleGroupId","type":"uint256"}],"name":"icoRuleAdd","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":true,"inputs":[],"name":"ADDR_TKG_ORG","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_TKG_TECH_FUND","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"additional","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"startTime","type":"uint256"},{"indexed":false,"name":"endTime","type":"uint256"},{"indexed":false,"name":"rate","type":"uint256"},{"indexed":false,"name":"shareRuleGroupId","type":"uint256"},{"indexed":false,"name":"canceled","type":"bool"}],"name":"GetIcoRule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"startTime","type":"uint256"},{"indexed":false,"name":"endTime","type":"uint256"},{"indexed":false,"name":"rateDenominator","type":"uint256"}],"name":"GetShareRule","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"}]

60806040526000601560006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b5060405160208062004f59833981018060405281019080805190602001909291905050506000336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600082116200011157601260ff16600a0a63232aaf800262000113565b815b60138190555063160dc08090506200015e6200013e8262000217640100000000026401000000009004565b6013546200022c6401000000000262001548179091906401000000009004565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001db62000246640100000000026401000000009004565b50620001f56200029d640100000000026401000000009004565b506200020f62000598640100000000026401000000009004565b5050620014c2565b6000806012905080600a0a8302915050919050565b60008282111515156200023b57fe5b818303905092915050565b600062000270635b268581635b37a8ff611770600162000ac4640100000000026401000000009004565b5062000299635b3a4c01635b44d7ff610ed8600062000ac4640100000000026401000000009004565b5090565b6000620002a9620012dd565b606060405190810160405280635b65cd818152602001635b8eabff815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635b8eac018152602001635bb638ff815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635bb639018152602001635bdf177f815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635bdf17818152602001635c06a47f815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635c06a4818152602001635c2f82ff815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635c2f83018152602001635c58617f815260200160068152509050600f8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050600f600b60006001815260200190815260200160002090805462000593929190620012ff565b505090565b736317d006021fd26581ded71e547fc0b8e12876eb600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200060b63038444c062000217640100000000026401000000009004565b60016000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073b1a89e3ac5f90be297853c76d8cb88259357c416600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620006e3630546672062000217640100000000026401000000009004565b60016000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073a053358bd6ac2e6ed5b13e59c20e42b66dfe6ec4600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620007bb6302b6466062000217640100000000026401000000009004565b60016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507321776facab4300437ecc0a132bec361ba3db7fe7600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200089363038444c062000217640100000000026401000000009004565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550734cb70266ebc2def3b7219ef86e787b7be6139470600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200096b6301c2226062000217640100000000026401000000009004565b60016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073d4076cf846c8dbf28e26e4863d94ddc948b9a155600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000a43630546672062000217640100000000026401000000009004565b60016000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000ac162000c0d640100000000026401000000009004565b50565b60006060600062000ad46200137a565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151562000b3057600080fd5b6000915060c06040519081016040528089815260200188815260200187815260200186815260200184815260200183151581525090506009819080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401908051906020019062000bda929190620013b3565b5060a08201518160050160006101000a81548160ff02191690831515021790555050505060019350505050949350505050565b600062000c19620012dd565b606060405190810160405280635b2685818152602001635d07b8ff81526020016003815250905060108190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635d07b9018152602001635eea3dff81526020016003815250905060108190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635eea3e0181526020016360cb717f815260200160038152509050601081908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506010600b60006002815260200190815260200160002090805462000da1929190620012ff565b506002600c6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550606060405190810160405280635b2685818152602001635d07b8ff81526020016005815250905060118190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635d07b9018152602001635eea3dff81526020016005815250905060118190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635eea3e0181526020016360cb717f815260200160058152509050601181908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506060604051908101604052806360cb718181526020016362aca4ff815260200160058152509050601181908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506060604051908101604052806362aca501815260200163648dd87f815260200160058152509050601181908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506011600b6000600381526020019081526020016000209080546200107d929190620012ff565b506003600c6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550606060405190810160405280635b2685818152602001635d07b8ff81526020016003815250905060128190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635d07b9018152602001635eea3dff81526020016003815250905060128190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635eea3e0181526020016360cb717f815260200160038152509050601281908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506012600b6000600481526020019081526020016000209080546200126d929190620012ff565b506004600c6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600191505090565b6060604051908101604052806000815260200160008152602001600081525090565b828054828255906000526020600020906003028101928215620013675760005260206000209160030282015b82811115620013665782826000820154816000015560018201548160010155600282015481600201555050916003019190600301906200132b565b5b50905062001376919062001442565b5090565b60c06040519081016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b8280548282559060005260206000209081019282156200142f579160200282015b828111156200142e5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190620013d4565b5b5090506200143e91906200147c565b5090565b6200147991905b808211156200147557600080820160009055600182016000905560028201600090555060030162001449565b5090565b90565b620014bf91905b80821115620014bb57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010162001483565b5090565b90565b613a8780620014d26000396000f3006080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303c401e31461080157806303e6c1171461085857806306fdde03146108cf57806307da68f51461095f57806307e1967a14610976578063095ea7b3146109db5780630e0e26da14610a4057806318160ddd14610a6b5780631f221d4c14610a965780631fee37c814610afb57806323b872dd14610b52578063243feeb014610bd7578063313ce56714610c2e5780633f683b6a14610c5f57806342966c6814610c8e57806347a64f4414610cd35780634a4fbeec14610d2e57806357d70c0b14610d89578063592c518f14610db457806366f928d314610e0b57806370a0823114610e78578063770d8e7914610ecf57806379cc679014610f2657806386fa067114610f8b578063905295e314610fe257806395d89b411461103d57806397172664146110cd578063a6f9dae11461110e578063a9059cbb14611169578063be9a6555146111ce578063c08e05aa146111e5578063c0c8821a1461122a578063db23c5d714611297578063dd62ed3e146112fa578063e71b49ad14611371578063f390cae4146113c8578063fea7bcfb1461141f575b600080600080600093506101f49250600091505b6009805490508210156102b3576001151560098381548110151561020157fe5b906000526020600020906006020160050160009054906101000a900460ff1615151415801561027a57504260098381548110151561023b57fe5b906000526020600020906006020160000154108015610279575060098281548110151561026457fe5b90600052602060002090600602016001015442105b5b156102a65760098281548110151561028e57fe5b90600052602060002090600602016002015493508192505b81806001019250506101e1565b6101f483141561040f576101f483141515156102ce57600080fd5b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090806001815401808255809150509060018203906000526020600020016000909192909190915055506000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116103865760006103c7565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610578565b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161047c5760098381548110151561046557fe5b9060005260206000209060060201600301546104bd565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001840190806001815401808255809150509060018203906000526020600020016000909192909190915055506105768333611464565b505b6000905061058f84346114f490919063ffffffff16565b90506105e381600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061067881600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072e81600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156107fa573d6000803e3d6000fd5b5050505050005b34801561080d57600080fd5b50610816611561565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561086457600080fd5b5061088d6004803603810190808035906020019092919080359060200190929190505050611587565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108db57600080fd5b506108e4611647565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610924578082015181840152602081019050610909565b50505050905090810190601f1680156109515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561096b57600080fd5b50610974611680565b005b34801561098257600080fd5b506109c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116f8565b604051808215151515815260200191505060405180910390f35b3480156109e757600080fd5b50610a26600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117a3565b604051808215151515815260200191505060405180910390f35b348015610a4c57600080fd5b50610a556118c5565b6040518082815260200191505060405180910390f35b348015610a7757600080fd5b50610a806118d5565b6040518082815260200191505060405180910390f35b348015610aa257600080fd5b50610ae1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118df565b604051808215151515815260200191505060405180910390f35b348015610b0757600080fd5b50610b1061198a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b5e57600080fd5b50610bbd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119b0565b604051808215151515815260200191505060405180910390f35b348015610be357600080fd5b50610bec611e5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c3a57600080fd5b50610c43611e83565b604051808260ff1660ff16815260200191505060405180910390f35b348015610c6b57600080fd5b50610c74611e88565b604051808215151515815260200191505060405180910390f35b348015610c9a57600080fd5b50610cb960048036038101908080359060200190929190505050611e9f565b604051808215151515815260200191505060405180910390f35b348015610cdf57600080fd5b50610d14600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061206a565b604051808215151515815260200191505060405180910390f35b348015610d3a57600080fd5b50610d6f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612164565b604051808215151515815260200191505060405180910390f35b348015610d9557600080fd5b50610d9e6121ba565b6040518082815260200191505060405180910390f35b348015610dc057600080fd5b50610dc96122eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e1757600080fd5b50610e5e6004803603810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050612311565b604051808215151515815260200191505060405180910390f35b348015610e8457600080fd5b50610eb9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061243b565b6040518082815260200191505060405180910390f35b348015610edb57600080fd5b50610ee4612484565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f3257600080fd5b50610f71600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506124aa565b604051808215151515815260200191505060405180910390f35b348015610f9757600080fd5b50610fcc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127a1565b6040518082815260200191505060405180910390f35b348015610fee57600080fd5b50611023600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061297c565b604051808215151515815260200191505060405180910390f35b34801561104957600080fd5b50611052612a76565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611092578082015181840152602081019050611077565b50505050905090810190601f1680156110bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156110d957600080fd5b506110f860048036038101908080359060200190929190505050612aaf565b6040518082815260200191505060405180910390f35b34801561111a57600080fd5b5061114f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b3a565b604051808215151515815260200191505060405180910390f35b34801561117557600080fd5b506111b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612be0565b604051808215151515815260200191505060405180910390f35b3480156111da57600080fd5b506111e361302b565b005b3480156111f157600080fd5b50611210600480360381019080803590602001909291905050506130a3565b604051808215151515815260200191505060405180910390f35b34801561123657600080fd5b5061127d6004803603810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050613155565b604051808215151515815260200191505060405180910390f35b3480156112a357600080fd5b506112e060048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050613284565b604051808215151515815260200191505060405180910390f35b34801561130657600080fd5b5061135b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133c8565b6040518082815260200191505060405180910390f35b34801561137d57600080fd5b5061138661344f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156113d457600080fd5b506113dd613475565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561142b57600080fd5b5061144a6004803603810190808035906020019092919050505061349b565b604051808215151515815260200191505060405180910390f35b600060098381548110151561147557fe5b90600052602060002090600602016004018290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001905092915050565b6000808314156115075760009050611526565b818302905081838281151561151857fe5b0414151561152257fe5b8090505b92915050565b6000818301905082811015151561153f57fe5b80905092915050565b600082821115151561155657fe5b818303905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e457600080fd5b6009600184038154811015156115f657fe5b90600052602060002090600602016004018281548110151561161457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b6040805190810160405280600e81526020017f546f6b656e20477561726469616e00000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116db57600080fd5b6001601560006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561175557600080fd5b81600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000601560009054906101000a900460ff161515156117be57fe5b816117c83361360c565b101515156117d557600080fd5b81601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006118d03361360c565b905090565b6000601354905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561193c57600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601560009054906101000a900460ff161515156119cb57fe5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a0757600080fd5b60011515601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514158015611ab9575060011515601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b1515611ac457600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611b1257600080fd5b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611b9d57600080fd5b611ba68461360c565b8211151515611bb457600080fd5b611c0682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c9b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d6d82601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601281565b6000601560009054906101000a900460ff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611efc57600080fd5b601560009054906101000a900460ff16151515611f1557fe5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611f6357600080fd5b611fb582600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061200d8260135461154890919063ffffffff16565b6013819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120c757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561210357600080fd5b6001601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000806009805490509150600090505b818110156122e7577f3fd09c11ab25d63cb931934aa596b6bde99b04e53cfc0ed5f0ef068c5ebcf21a60098281548110151561220257fe5b90600052602060002090600602016000015460098381548110151561222357fe5b90600052602060002090600602016001015460098481548110151561224457fe5b90600052602060002090600602016002015460098581548110151561226557fe5b90600052602060002090600602016003015460098681548110151561228657fe5b906000526020600020906006020160050160009054906101000a900460ff1660405180868152602001858152602001848152602001838152602001821515151581526020019550505050505060405180910390a180806001019150506121ca565b5090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561236e57600080fd5b60008411156123ae5783600b60008881526020019081526020016000208681548110151561239857fe5b9060005260206000209060030201600001819055505b60008311156123ee5782600b6000888152602001908152602001600020868154811015156123d857fe5b9060005260206000209060030201600101819055505b600082111561242e5781600b60008881526020019081526020016000208681548110151561241857fe5b9060005260206000209060030201600201819055505b6001905095945050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561250757600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561255557600080fd5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115156126695781601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506126ec565b6000601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816013600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b60006060600080600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935060008414156127fc5760009350612974565b600b6000858152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561288057838290600052602060002090600302016060604051908101604052908160008201548152602001600182015481526020016002820154815250508152602001906001019061282f565b50505050925082519150600090505b81811015612970577f576be245b78b54839022ee7339b7d29d342aacd35cacde79eba5e4a84206d2208584838151811015156128c757fe5b906020019060200201516000015185848151811015156128e357fe5b906020019060200201516020015186858151811015156128ff57fe5b9060200190602002015160400151604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a1808060010191505061288f565b8393505b505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129d957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612a1557600080fd5b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6040805190810160405280600481526020017f544b474e0000000000000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b0c57600080fd5b600960018303815481101515612b1e57fe5b9060005260206000209060060201600401805490509050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b9757600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600080601560009054906101000a900460ff16151515612bfc57fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515612c3857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515612c8657600080fd5b60011515601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515612ce657600080fd5b60011515601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515612d4657600080fd5b82612d4f6118c5565b10151515612d5c57600080fd5b73ce3c0a2012339490d2850b4fd4cda0b95ac0307690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015612db15750635b5f35ff42105b15612dfc576001600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b612e4e83600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ee383600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f7883600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561308657600080fd5b6000601560006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561310057600080fd5b8160098054905011151561311357600080fd5b600160098381548110151561312457fe5b906000526020600020906006020160050160006101000a81548160ff02191690831515021790555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156131b257600080fd5b856009805490501115156131c557600080fd5b60008511156131f457846009878154811015156131de57fe5b9060005260206000209060060201600001819055505b6000841115613223578360098781548110151561320d57fe5b9060005260206000209060060201600101819055505b6000831115613252578260098781548110151561323c57fe5b9060005260206000209060060201600201819055505b8160098781548110151561326257fe5b9060005260206000209060060201600301819055506001905095945050505050565b600060606000613292613955565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156132ed57600080fd5b6000915060c06040519081016040528089815260200188815260200187815260200186815260200184815260200183151581525090506009819080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401908051906020019061339592919061398e565b5060a08201518160050160006101000a81548160ff02191690831515021790555050505060019350505050949350505050565b6000601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156134f857600080fd5b601560009054906101000a900460ff1615151561351157fe5b6135268260135461152c90919063ffffffff16565b60138190555061359f82600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b60008060008060606000806000809650600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205495506000945060008614156136b557600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613933565b600b6000878152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156137395783829060005260206000209060030201606060405190810160405290816000820154815260200160018201548152602001600282015481525050815260200190600101906136e8565b50505050935083519250600091505b828210156138835742848381518110151561375f57fe5b90602001906020020151600001511080156137945750838281518110151561378357fe5b906020019060200201516020015142105b156138765761386c600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385e86858151811015156137ed57fe5b9060200190602002015160400151613850600e60008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600188016114f490919063ffffffff16565b61393f90919063ffffffff16565b61154890919063ffffffff16565b9650869750613933565b8180600101925050613748565b6000151585151514156139325760019050600091505b828210156138d65783828151811015156138af57fe5b90602001906020020151602001514210156138c957600090505b8180600101925050613899565b6001151581151514156139315760019450600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613933565b5b5b50505050505050919050565b6000818381151561394c57fe5b04905092915050565b60c06040519081016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b828054828255906000526020600020908101928215613a07579160200282015b82811115613a065782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906139ae565b5b509050613a149190613a18565b5090565b613a5891905b80821115613a5457600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101613a1e565b5090565b905600a165627a7a72305820fe0ab74c8caa01f78cd7e0c93b46f1af6458bb9e822f05cf7b60f233bd36e5f80029

Deployed Bytecode

0x6080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303c401e31461080157806303e6c1171461085857806306fdde03146108cf57806307da68f51461095f57806307e1967a14610976578063095ea7b3146109db5780630e0e26da14610a4057806318160ddd14610a6b5780631f221d4c14610a965780631fee37c814610afb57806323b872dd14610b52578063243feeb014610bd7578063313ce56714610c2e5780633f683b6a14610c5f57806342966c6814610c8e57806347a64f4414610cd35780634a4fbeec14610d2e57806357d70c0b14610d89578063592c518f14610db457806366f928d314610e0b57806370a0823114610e78578063770d8e7914610ecf57806379cc679014610f2657806386fa067114610f8b578063905295e314610fe257806395d89b411461103d57806397172664146110cd578063a6f9dae11461110e578063a9059cbb14611169578063be9a6555146111ce578063c08e05aa146111e5578063c0c8821a1461122a578063db23c5d714611297578063dd62ed3e146112fa578063e71b49ad14611371578063f390cae4146113c8578063fea7bcfb1461141f575b600080600080600093506101f49250600091505b6009805490508210156102b3576001151560098381548110151561020157fe5b906000526020600020906006020160050160009054906101000a900460ff1615151415801561027a57504260098381548110151561023b57fe5b906000526020600020906006020160000154108015610279575060098281548110151561026457fe5b90600052602060002090600602016001015442105b5b156102a65760098281548110151561028e57fe5b90600052602060002090600602016002015493508192505b81806001019250506101e1565b6101f483141561040f576101f483141515156102ce57600080fd5b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090806001815401808255809150509060018203906000526020600020016000909192909190915055506000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116103865760006103c7565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610578565b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161047c5760098381548110151561046557fe5b9060005260206000209060060201600301546104bd565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001840190806001815401808255809150509060018203906000526020600020016000909192909190915055506105768333611464565b505b6000905061058f84346114f490919063ffffffff16565b90506105e381600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061067881600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072e81600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156107fa573d6000803e3d6000fd5b5050505050005b34801561080d57600080fd5b50610816611561565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561086457600080fd5b5061088d6004803603810190808035906020019092919080359060200190929190505050611587565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108db57600080fd5b506108e4611647565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610924578082015181840152602081019050610909565b50505050905090810190601f1680156109515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561096b57600080fd5b50610974611680565b005b34801561098257600080fd5b506109c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116f8565b604051808215151515815260200191505060405180910390f35b3480156109e757600080fd5b50610a26600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117a3565b604051808215151515815260200191505060405180910390f35b348015610a4c57600080fd5b50610a556118c5565b6040518082815260200191505060405180910390f35b348015610a7757600080fd5b50610a806118d5565b6040518082815260200191505060405180910390f35b348015610aa257600080fd5b50610ae1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118df565b604051808215151515815260200191505060405180910390f35b348015610b0757600080fd5b50610b1061198a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b5e57600080fd5b50610bbd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119b0565b604051808215151515815260200191505060405180910390f35b348015610be357600080fd5b50610bec611e5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c3a57600080fd5b50610c43611e83565b604051808260ff1660ff16815260200191505060405180910390f35b348015610c6b57600080fd5b50610c74611e88565b604051808215151515815260200191505060405180910390f35b348015610c9a57600080fd5b50610cb960048036038101908080359060200190929190505050611e9f565b604051808215151515815260200191505060405180910390f35b348015610cdf57600080fd5b50610d14600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061206a565b604051808215151515815260200191505060405180910390f35b348015610d3a57600080fd5b50610d6f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612164565b604051808215151515815260200191505060405180910390f35b348015610d9557600080fd5b50610d9e6121ba565b6040518082815260200191505060405180910390f35b348015610dc057600080fd5b50610dc96122eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e1757600080fd5b50610e5e6004803603810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050612311565b604051808215151515815260200191505060405180910390f35b348015610e8457600080fd5b50610eb9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061243b565b6040518082815260200191505060405180910390f35b348015610edb57600080fd5b50610ee4612484565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f3257600080fd5b50610f71600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506124aa565b604051808215151515815260200191505060405180910390f35b348015610f9757600080fd5b50610fcc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127a1565b6040518082815260200191505060405180910390f35b348015610fee57600080fd5b50611023600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061297c565b604051808215151515815260200191505060405180910390f35b34801561104957600080fd5b50611052612a76565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611092578082015181840152602081019050611077565b50505050905090810190601f1680156110bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156110d957600080fd5b506110f860048036038101908080359060200190929190505050612aaf565b6040518082815260200191505060405180910390f35b34801561111a57600080fd5b5061114f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b3a565b604051808215151515815260200191505060405180910390f35b34801561117557600080fd5b506111b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612be0565b604051808215151515815260200191505060405180910390f35b3480156111da57600080fd5b506111e361302b565b005b3480156111f157600080fd5b50611210600480360381019080803590602001909291905050506130a3565b604051808215151515815260200191505060405180910390f35b34801561123657600080fd5b5061127d6004803603810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050613155565b604051808215151515815260200191505060405180910390f35b3480156112a357600080fd5b506112e060048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050613284565b604051808215151515815260200191505060405180910390f35b34801561130657600080fd5b5061135b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133c8565b6040518082815260200191505060405180910390f35b34801561137d57600080fd5b5061138661344f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156113d457600080fd5b506113dd613475565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561142b57600080fd5b5061144a6004803603810190808035906020019092919050505061349b565b604051808215151515815260200191505060405180910390f35b600060098381548110151561147557fe5b90600052602060002090600602016004018290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001905092915050565b6000808314156115075760009050611526565b818302905081838281151561151857fe5b0414151561152257fe5b8090505b92915050565b6000818301905082811015151561153f57fe5b80905092915050565b600082821115151561155657fe5b818303905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e457600080fd5b6009600184038154811015156115f657fe5b90600052602060002090600602016004018281548110151561161457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b6040805190810160405280600e81526020017f546f6b656e20477561726469616e00000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116db57600080fd5b6001601560006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561175557600080fd5b81600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000601560009054906101000a900460ff161515156117be57fe5b816117c83361360c565b101515156117d557600080fd5b81601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006118d03361360c565b905090565b6000601354905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561193c57600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601560009054906101000a900460ff161515156119cb57fe5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a0757600080fd5b60011515601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514158015611ab9575060011515601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b1515611ac457600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611b1257600080fd5b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611b9d57600080fd5b611ba68461360c565b8211151515611bb457600080fd5b611c0682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c9b82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d6d82601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601281565b6000601560009054906101000a900460ff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611efc57600080fd5b601560009054906101000a900460ff16151515611f1557fe5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611f6357600080fd5b611fb582600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061200d8260135461154890919063ffffffff16565b6013819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120c757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561210357600080fd5b6001601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000806009805490509150600090505b818110156122e7577f3fd09c11ab25d63cb931934aa596b6bde99b04e53cfc0ed5f0ef068c5ebcf21a60098281548110151561220257fe5b90600052602060002090600602016000015460098381548110151561222357fe5b90600052602060002090600602016001015460098481548110151561224457fe5b90600052602060002090600602016002015460098581548110151561226557fe5b90600052602060002090600602016003015460098681548110151561228657fe5b906000526020600020906006020160050160009054906101000a900460ff1660405180868152602001858152602001848152602001838152602001821515151581526020019550505050505060405180910390a180806001019150506121ca565b5090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561236e57600080fd5b60008411156123ae5783600b60008881526020019081526020016000208681548110151561239857fe5b9060005260206000209060030201600001819055505b60008311156123ee5782600b6000888152602001908152602001600020868154811015156123d857fe5b9060005260206000209060030201600101819055505b600082111561242e5781600b60008881526020019081526020016000208681548110151561241857fe5b9060005260206000209060030201600201819055505b6001905095945050505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561250757600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561255557600080fd5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115156126695781601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506126ec565b6000601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816013600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b60006060600080600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935060008414156127fc5760009350612974565b600b6000858152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561288057838290600052602060002090600302016060604051908101604052908160008201548152602001600182015481526020016002820154815250508152602001906001019061282f565b50505050925082519150600090505b81811015612970577f576be245b78b54839022ee7339b7d29d342aacd35cacde79eba5e4a84206d2208584838151811015156128c757fe5b906020019060200201516000015185848151811015156128e357fe5b906020019060200201516020015186858151811015156128ff57fe5b9060200190602002015160400151604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a1808060010191505061288f565b8393505b505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129d957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612a1557600080fd5b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6040805190810160405280600481526020017f544b474e0000000000000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b0c57600080fd5b600960018303815481101515612b1e57fe5b9060005260206000209060060201600401805490509050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b9757600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600080601560009054906101000a900460ff16151515612bfc57fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515612c3857600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515612c8657600080fd5b60011515601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515612ce657600080fd5b60011515601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515612d4657600080fd5b82612d4f6118c5565b10151515612d5c57600080fd5b73ce3c0a2012339490d2850b4fd4cda0b95ac0307690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148015612db15750635b5f35ff42105b15612dfc576001600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b612e4e83600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ee383600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f7883600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561308657600080fd5b6000601560006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561310057600080fd5b8160098054905011151561311357600080fd5b600160098381548110151561312457fe5b906000526020600020906006020160050160006101000a81548160ff02191690831515021790555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156131b257600080fd5b856009805490501115156131c557600080fd5b60008511156131f457846009878154811015156131de57fe5b9060005260206000209060060201600001819055505b6000841115613223578360098781548110151561320d57fe5b9060005260206000209060060201600101819055505b6000831115613252578260098781548110151561323c57fe5b9060005260206000209060060201600201819055505b8160098781548110151561326257fe5b9060005260206000209060060201600301819055506001905095945050505050565b600060606000613292613955565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156132ed57600080fd5b6000915060c06040519081016040528089815260200188815260200187815260200186815260200184815260200183151581525090506009819080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401908051906020019061339592919061398e565b5060a08201518160050160006101000a81548160ff02191690831515021790555050505060019350505050949350505050565b6000601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156134f857600080fd5b601560009054906101000a900460ff1615151561351157fe5b6135268260135461152c90919063ffffffff16565b60138190555061359f82600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152c90919063ffffffff16565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b60008060008060606000806000809650600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205495506000945060008614156136b557600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613933565b600b6000878152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156137395783829060005260206000209060030201606060405190810160405290816000820154815260200160018201548152602001600282015481525050815260200190600101906136e8565b50505050935083519250600091505b828210156138835742848381518110151561375f57fe5b90602001906020020151600001511080156137945750838281518110151561378357fe5b906020019060200201516020015142105b156138765761386c600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461385e86858151811015156137ed57fe5b9060200190602002015160400151613850600e60008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600188016114f490919063ffffffff16565b61393f90919063ffffffff16565b61154890919063ffffffff16565b9650869750613933565b8180600101925050613748565b6000151585151514156139325760019050600091505b828210156138d65783828151811015156138af57fe5b90602001906020020151602001514210156138c957600090505b8180600101925050613899565b6001151581151514156139315760019450600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613933565b5b5b50505050505050919050565b6000818381151561394c57fe5b04905092915050565b60c06040519081016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b828054828255906000526020600020908101928215613a07579160200282015b82811115613a065782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906139ae565b5b509050613a149190613a18565b5090565b613a5891905b80821115613a5457600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101613a1e565b5090565b905600a165627a7a72305820fe0ab74c8caa01f78cd7e0c93b46f1af6458bb9e822f05cf7b60f233bd36e5f80029

Swarm Source

bzzr://fe0ab74c8caa01f78cd7e0c93b46f1af6458bb9e822f05cf7b60f233bd36e5f8
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.