Contract 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df33

 

TxHash Block Age From To Value [TxFee]
0x94170702e218f54b5a45551ea17fc2f34629d19417ba08210ab667c1c3137567726121724 days 11 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000269125
0x1dc07f1fcc0c99f332602c329105addb49b1a70af675311d3526f4d99014f3fe726121424 days 11 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000344445
0x0ecc958cec1bfb222bfb38aab4112fe35c5c71059a271cadb84182ec386f21ce726121024 days 11 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000269445
0x2fdb5d2553dc7d089d85413babebb13a3de6115020f9ebc4a56e2e7343983fb2694352986 days 12 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000215556
0xcb233d6a32d49df2da90139219f9c689ce88af4b8e01c8169788feae4c96b337694352686 days 12 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000215556
0x75d525842b6b8a1357b200a56139ec880f3d31cc23319efaa961b54ab8bc9c32694352486 days 12 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.0002153
0x34f20795dd81e6edd8be32d3358a8b3fa67e32d6092c864cb8fb6d29e04410c0694352286 days 12 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000270085
0xd1033e98497705dfe2ea8044bfaa94b4a08f324b250dfb420c2892ce14683173692611189 days 11 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000315725
0xcc30ada4f49190ef8076c03164e51a916b7e27c5887f13064820b72c15656fb0692610589 days 11 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000240085
0xc46bd153c2c4bd7262d4d0ec34631c80aad96271b40522d65d40f4d58f3f56ca692609989 days 11 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000344765
0x6fe7df6e986817665d16b5c593bf6536d431e427d22149c34e42322680afa780692609189 days 11 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000270725
0x8c844538f729d7637abc6772d6287b962f844fb80d050b5d52ab3e9f2d3d9c08692074490 days 9 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000192068
0xd83c0d547be7a700f4fc798123b0a627b0a00f8fa4d598580a51d19b1067dd59692073190 days 9 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000275556
0x436f1e29c00ab3349d95ed42b1e00cf63983a4b08ee5fc7d552bced080d65240692072990 days 9 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000275556
0xdf2bf31d084a40c741a0efba0742046b17861e29f756e471bb62c1bdf3edab1d692072890 days 9 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000215556
0xf4908097bc3685eb4413da602cf084789e67ae9c8420c4a3a94e2d7cff023591692072890 days 9 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000215812
0xf719c7ce04df405da4344bb36154b3b75d254f6afd889cc9658b03405b6ef731692071890 days 9 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000206667
0xc5ff6543249ede69852e4622d1585ae906af10c4b73bc557257f5a18b820284e692071390 days 9 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000215812
0x95b55bb909e8d59f9454866b1ad9ac7caaaa4013067467c905e9762e602eee846777815114 days 2 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000216068
0x1dd0e5030e210698157465a55d1ed3b6ae2b107ccfda68544d2d04de4b6dcc3f6777812114 days 2 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000216068
0x82d527879957ee79d4ff300ff225b8edbb1d71ccf25156bb00ff2061ea3e27586777805114 days 2 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000215556
0xffb66ec8abe0027ee8079b368b2a2d78036874a124b9f6729dbcde25b580b6ff6777800114 days 2 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000215812
0x94f343751afa6467d79de2f3c4c3a52162eb4f500df35f90106f63e69106d43a6777798114 days 2 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.00021322
0x08152516215e2688c572b51b72fc552cf47aee0f1913052221ca316139711d016777795114 days 2 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.0002153
0x94c132f55a23db0031ef71f67f136799acad13390a4b22e1d391986c296476a16777791114 days 2 hrs ago0x2248b17efe3d53397531cbf90c99b9bd302987f7 IN 0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df330 Ether0.000215556
[ Download CSV Export 

Latest 1 internal transaction Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0x97cec18e34e005a3a0481e31ae24f8fbed7b290a86f004dc6577ac2c5a82295e6187339211 days 9 hrs ago0xe314ca4d2bd3eb37ca6f783828f7b22f0a60df33  Contract Creation0 Ether
[ Download CSV Export 
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)

Contract Name:
Crowdsale

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No

Runs (Optimizer):
200

Contract Source Code

/*! papusha.sol | (c) 2018 Develop by BelovITLab LLC (smartcontract.ru), author @stupidlovejoy | License: MIT */

pragma solidity 0.4.24;

library SafeMath {
    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;
    }

    function div(uint256 a, uint256 b) internal pure returns(uint256) {
        return a / b;
    }

    function sub(uint256 a, uint256 b) internal pure returns(uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns(uint256 c) {
        c = a + b;
        assert(c >= a);
        return c;
    }
}

contract Ownable {
    address public owner;

    event OwnershipRenounced(address indexed previousOwner);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    modifier onlyOwner() { require(msg.sender == owner); _;  }

    constructor() public {
        owner = msg.sender;
    }

    function _transferOwnership(address _newOwner) internal {
        require(_newOwner != address(0));
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }

    function renounceOwnership() public onlyOwner {
        emit OwnershipRenounced(owner);
        owner = address(0);
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        _transferOwnership(_newOwner);
    }
}

contract ERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() public view returns(uint256);
    function balanceOf(address who) public view returns(uint256);
    function transfer(address to, uint256 value) public returns(bool);
    function transferFrom(address from, address to, uint256 value) public returns(bool);
    function allowance(address owner, address spender) public view returns(uint256);
    function approve(address spender, uint256 value) public returns(bool);
}

contract StandardToken is ERC20 {
    using SafeMath for uint256;

    uint256 totalSupply_;

    string public name;
    string public symbol;
    uint8 public decimals;

    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) internal allowed;

    constructor(string _name, string _symbol, uint8 _decimals) public {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
    }

    function totalSupply() public view returns(uint256) {
        return totalSupply_;
    }

    function balanceOf(address _owner) public view returns(uint256) {
        return balances[_owner];
    }

    function transfer(address _to, uint256 _value) public returns(bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function multiTransfer(address[] _to, uint256[] _value) public returns(bool) {
        require(_to.length == _value.length);

        for(uint i = 0; i < _to.length; i++) {
            transfer(_to[i], _value[i]);
        }

        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns(bool) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);

        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;
    }

    function allowance(address _owner, address _spender) public view returns(uint256) {
        return allowed[_owner][_spender];
    }

    function approve(address _spender, uint256 _value) public returns(bool) {
        allowed[msg.sender][_spender] = _value;

        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function increaseApproval(address _spender, uint _addedValue) public returns(bool) {
        allowed[msg.sender][_spender] = (allowed[msg.sender][_spender].add(_addedValue));

        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public returns(bool) {
        uint oldValue = allowed[msg.sender][_spender];

        if(_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        }
        else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }

        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
}

contract MintableToken is StandardToken, Ownable {
    bool public mintingFinished = false;

    event Mint(address indexed to, uint256 amount);
    event MintFinished();

    modifier canMint() { require(!mintingFinished); _; }
    modifier hasMintPermission() { require(msg.sender == owner); _; }

    function mint(address _to, uint256 _amount) hasMintPermission canMint public returns(bool) {
        totalSupply_ = totalSupply_.add(_amount);
        balances[_to] = balances[_to].add(_amount);

        emit Mint(_to, _amount);
        emit Transfer(address(0), _to, _amount);
        return true;
    }

    function finishMinting() onlyOwner canMint public returns(bool) {
        mintingFinished = true;

        emit MintFinished();
        return true;
    }
}

contract CappedToken is MintableToken {
    uint256 public cap;

    constructor(uint256 _cap) public {
        require(_cap > 0);
        cap = _cap;
    }

    function mint(address _to, uint256 _amount) public returns(bool) {
        require(totalSupply_.add(_amount) <= cap);

        return super.mint(_to, _amount);
    }
}

contract BurnableToken is StandardToken {
    event Burn(address indexed burner, uint256 value);

    function _burn(address _who, uint256 _value) internal {
        require(_value <= balances[_who]);

        balances[_who] = balances[_who].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);

        emit Burn(_who, _value);
        emit Transfer(_who, address(0), _value);
    }

    function burn(uint256 _value) public {
        _burn(msg.sender, _value);
    }

    function burnFrom(address _from, uint256 _value) public {
        require(_value <= allowed[_from][msg.sender]);
        
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        _burn(_from, _value);
    }
}

contract Withdrawable is Ownable {
    function withdrawEther(address _to, uint _value) onlyOwner public {
        require(_to != address(0));
        require(address(this).balance >= _value);

        _to.transfer(_value);
    }

    function withdrawTokensTransfer(ERC20 _token, address _to, uint256 _value) onlyOwner public {
        require(_token.transfer(_to, _value));
    }

    function withdrawTokensTransferFrom(ERC20 _token, address _from, address _to, uint256 _value) onlyOwner public {
        require(_token.transferFrom(_from, _to, _value));
    }

    function withdrawTokensApprove(ERC20 _token, address _spender, uint256 _value) onlyOwner public {
        require(_token.approve(_spender, _value));
    }
}

contract Pausable is Ownable {
    bool public paused = false;

    event Pause();
    event Unpause();

    modifier whenNotPaused() { require(!paused); _; }
    modifier whenPaused() { require(paused); _; }

    function pause() onlyOwner whenNotPaused public {
        paused = true;
        emit Pause();
    }

    function unpause() onlyOwner whenPaused public {
        paused = false;
        emit Unpause();
    }
}

contract Manageable is Ownable {
    address[] public managers;

    event ManagerAdded(address indexed manager);
    event ManagerRemoved(address indexed manager);

    modifier onlyManager() { require(isManager(msg.sender)); _; }

    function countManagers() view public returns(uint) {
        return managers.length;
    }

    function getManagers() view public returns(address[]) {
        return managers;
    }

    function isManager(address _manager) view public returns(bool) {
        for(uint i = 0; i < managers.length; i++) {
            if(managers[i] == _manager) {
                return true;
            }
        }
        return false;
    }

    function addManager(address _manager) onlyOwner public {
        require(_manager != address(0));
        require(!isManager(_manager));

        managers.push(_manager);

        emit ManagerAdded(_manager);
    }

    function removeManager(address _manager) onlyOwner public {
        require(isManager(_manager));

        uint index = 0;
        for(uint i = 0; i < managers.length; i++) {
            if(managers[i] == _manager) {
                index = i;
            }
        }

        for(; index < managers.length - 1; index++) {
            managers[index] = managers[index + 1];
        }
        
        managers.length--;
        emit ManagerRemoved(_manager);
    }
}


/*
    Papusha Token
*/
contract Token is CappedToken, BurnableToken, Withdrawable {
    constructor() CappedToken(100000000e18) StandardToken("Papusha Rocket Token", "PRT", 18) public {
        
    }
}

contract Crowdsale is Manageable, Withdrawable, Pausable {
    using SafeMath for uint;

    Token public token;
    bool public crowdsaleClosed = false;

    event ExternalPurchase(address indexed holder, string tx, string currency, uint256 currencyAmount, uint256 rateToEther, uint256 tokenAmount);
    event CrowdsaleClose();
   
    constructor() public {
        token = new Token();
    }

    function externalPurchase(address _to, string _tx, string _currency, uint _value, uint256 _rate, uint256 _tokens) whenNotPaused onlyManager public {
        token.mint(_to, _tokens);
        emit ExternalPurchase(_to, _tx, _currency, _value, _rate, _tokens);
    }

    function closeCrowdsale(address _to) onlyOwner public {
        require(!crowdsaleClosed);

        token.transferOwnership(_to);
        token.finishMinting();
        crowdsaleClosed = true;

        emit CrowdsaleClose();
    }
}

Contract ABI

[{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"closeCrowdsale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"countManagers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tx","type":"string"},{"name":"_currency","type":"string"},{"name":"_value","type":"uint256"},{"name":"_rate","type":"uint256"},{"name":"_tokens","type":"uint256"}],"name":"externalPurchase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_manager","type":"address"}],"name":"addManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"managers","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawTokensTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawTokensApprove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getManagers","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_manager","type":"address"}],"name":"removeManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleClosed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdrawTokensTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_manager","type":"address"}],"name":"isManager","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"tx","type":"string"},{"indexed":false,"name":"currency","type":"string"},{"indexed":false,"name":"currencyAmount","type":"uint256"},{"indexed":false,"name":"rateToEther","type":"uint256"},{"indexed":false,"name":"tokenAmount","type":"uint256"}],"name":"ExternalPurchase","type":"event"},{"anonymous":false,"inputs":[],"name":"CrowdsaleClose","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"manager","type":"address"}],"name":"ManagerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"manager","type":"address"}],"name":"ManagerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

Contract Creation Code

60806040526000600260006101000a81548160ff0219169083151502179055506000600260156101000a81548160ff02191690831515021790555034801561004657600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061008f6100f1565b604051809103906000f0801580156100ab573d6000803e3d6000fd5b50600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610102565b6040516128c98062001c1f83390190565b611b0d80620001126000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b522abf146101175780630f5bab7c1461015a5780631ba6e1bd146101855780632d06177a146102725780633d39c260146102b55780633f4ba83a14610322578063522f6815146103395780635c975abb146103865780636cf7ccac146103b5578063715018a614610442578063757b8cf4146104595780638456cb59146104c65780638da5cb5b146104dd578063a8d088bb14610534578063ac18de43146105a0578063ccb07cef146105e3578063f0595dd114610612578063f2fde38b1461067f578063f3ae2415146106c2578063fc0c546a1461071d575b600080fd5b34801561012357600080fd5b50610158600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610774565b005b34801561016657600080fd5b5061016f6109cc565b6040518082815260200191505060405180910390f35b34801561019157600080fd5b50610270600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919080359060200190929190803590602001909291905050506109d9565b005b34801561027e57600080fd5b506102b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c4a565b005b3480156102c157600080fd5b506102e060048036038101908080359060200190929190505050610da2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032e57600080fd5b50610337610de0565b005b34801561034557600080fd5b50610384600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e9f565b005b34801561039257600080fd5b5061039b610fa7565b604051808215151515815260200191505060405180910390f35b3480156103c157600080fd5b50610440600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fba565b005b34801561044e57600080fd5b50610457611138565b005b34801561046557600080fd5b506104c4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061123a565b005b3480156104d257600080fd5b506104db611383565b005b3480156104e957600080fd5b506104f2611443565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054057600080fd5b50610549611468565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561058c578082015181840152602081019050610571565b505050509050019250505060405180910390f35b3480156105ac57600080fd5b506105e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114f6565b005b3480156105ef57600080fd5b506105f861170a565b604051808215151515815260200191505060405180910390f35b34801561061e57600080fd5b5061067d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061171d565b005b34801561068b57600080fd5b506106c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611866565b005b3480156106ce57600080fd5b50610703600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118cd565b604051808215151515815260200191505060405180910390f35b34801561072957600080fd5b50610732611970565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107cf57600080fd5b600260159054906101000a900460ff161515156107eb57600080fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2fde38b826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156108a857600080fd5b505af11580156108bc573d6000803e3d6000fd5b50505050600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637d64bcb46040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561094657600080fd5b505af115801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b8101908080519060200190929190505050506001600260156101000a81548160ff0219169083151502179055507f587261db95996a4ec51ca62d662d1f046a5e62831eb4ae0b8cd974da5673fbf060405160405180910390a150565b6000600180549050905090565b600260009054906101000a900460ff161515156109f557600080fd5b6109fe336118cd565b1515610a0957600080fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1987836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ace57600080fd5b505af1158015610ae2573d6000803e3d6000fd5b505050506040513d6020811015610af857600080fd5b8101908080519060200190929190505050508573ffffffffffffffffffffffffffffffffffffffff167f4d0b080b5756debe53fca7630901397a436c3a15682817f1f44104b52824365a8686868686604051808060200180602001868152602001858152602001848152602001838103835288818151815260200191508051906020019080838360005b83811015610b9d578082015181840152602081019050610b82565b50505050905090810190601f168015610bca5780820380516001836020036101000a031916815260200191505b50838103825287818151815260200191508051906020019080838360005b83811015610c03578082015181840152602081019050610be8565b50505050905090810190601f168015610c305780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a2505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ca557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ce157600080fd5b610cea816118cd565b151515610cf657600080fd5b60018190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508073ffffffffffffffffffffffffffffffffffffffff167f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a60405160405180910390a250565b600181815481101515610db157fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e3b57600080fd5b600260009054906101000a900460ff161515610e5657600080fd5b6000600260006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610efa57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610f3657600080fd5b803073ffffffffffffffffffffffffffffffffffffffff163110151515610f5c57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610fa2573d6000803e3d6000fd5b505050565b600260009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561101557600080fd5b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156110ec57600080fd5b505af1158015611100573d6000803e3d6000fd5b505050506040513d602081101561111657600080fd5b8101908080519060200190929190505050151561113257600080fd5b50505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119357600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561129557600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663095ea7b383836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561133857600080fd5b505af115801561134c573d6000803e3d6000fd5b505050506040513d602081101561136257600080fd5b8101908080519060200190929190505050151561137e57600080fd5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113de57600080fd5b600260009054906101000a900460ff161515156113fa57600080fd5b6001600260006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060018054806020026020016040519081016040528092919081815260200182805480156114ec57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116114a2575b5050505050905090565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561155457600080fd5b61155d836118cd565b151561156857600080fd5b60009150600090505b6001805490508110156115fc578273ffffffffffffffffffffffffffffffffffffffff166001828154811015156115a457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156115ef578091505b8080600101915050611571565b5b60018080549050038210156116ac57600180830181548110151561161d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018381548110151561165757fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081806001019250506115fd565b60018054809190600190036116c19190611a90565b508273ffffffffffffffffffffffffffffffffffffffff167fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd3160405160405180910390a2505050565b600260159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561177857600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561181b57600080fd5b505af115801561182f573d6000803e3d6000fd5b505050506040513d602081101561184557600080fd5b8101908080519060200190929190505050151561186157600080fd5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118c157600080fd5b6118ca81611996565b50565b600080600090505b600180549050811015611965578273ffffffffffffffffffffffffffffffffffffffff1660018281548110151561190857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611958576001915061196a565b80806001019150506118d5565b600091505b50919050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156119d257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b815481835581811115611ab757818360005260206000209182019101611ab69190611abc565b5b505050565b611ade91905b80821115611ada576000816000905550600101611ac2565b5090565b905600a165627a7a723058208c75bf571994ea529c9ec4c787fc8ffc41f24bdc85ccf99f7e76eeab03d9f676002960806040526000600660146101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506a52b7d2dcc80cd2e40000006040805190810160405280601481526020017f5061707573686120526f636b657420546f6b656e0000000000000000000000008152506040805190810160405280600381526020017f505254000000000000000000000000000000000000000000000000000000000081525060128260019080519060200190620000bf92919062000156565b508160029080519060200190620000d892919062000156565b5080600360006101000a81548160ff021916908360ff16021790555050505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000811115156200014857600080fd5b806007819055505062000205565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200019957805160ff1916838001178555620001ca565b82800160010185558215620001ca579182015b82811115620001c9578251825591602001919060010190620001ac565b5b509050620001d99190620001dd565b5090565b6200020291905b80821115620001fe576000816000905550600101620001e4565b5090565b90565b6126b480620002156000396000f300608060405260043610610149576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461014e57806306fdde031461017d578063095ea7b31461020d57806318160ddd146102725780631e89d5451461029d57806323b872dd1461035e578063313ce567146103e3578063355274ea1461041457806340c10f191461043f57806342966c68146104a4578063522f6815146104d1578063661884631461051e5780636cf7ccac1461058357806370a0823114610610578063715018a614610667578063757b8cf41461067e57806379cc6790146106eb5780637d64bcb4146107385780638da5cb5b1461076757806395d89b41146107be578063a9059cbb1461084e578063d73dd623146108b3578063dd62ed3e14610918578063f0595dd11461098f578063f2fde38b146109fc575b600080fd5b34801561015a57600080fd5b50610163610a3f565b604051808215151515815260200191505060405180910390f35b34801561018957600080fd5b50610192610a52565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101d25780820151818401526020810190506101b7565b50505050905090810190601f1680156101ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021957600080fd5b50610258600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610af0565b604051808215151515815260200191505060405180910390f35b34801561027e57600080fd5b50610287610be2565b6040518082815260200191505060405180910390f35b3480156102a957600080fd5b506103446004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610beb565b604051808215151515815260200191505060405180910390f35b34801561036a57600080fd5b506103c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c5d565b604051808215151515815260200191505060405180910390f35b3480156103ef57600080fd5b506103f861101c565b604051808260ff1660ff16815260200191505060405180910390f35b34801561042057600080fd5b5061042961102f565b6040518082815260200191505060405180910390f35b34801561044b57600080fd5b5061048a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611035565b604051808215151515815260200191505060405180910390f35b3480156104b057600080fd5b506104cf6004803603810190808035906020019092919050505061106e565b005b3480156104dd57600080fd5b5061051c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061107b565b005b34801561052a57600080fd5b50610569600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611184565b604051808215151515815260200191505060405180910390f35b34801561058f57600080fd5b5061060e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611415565b005b34801561061c57600080fd5b50610651600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611594565b6040518082815260200191505060405180910390f35b34801561067357600080fd5b5061067c6115dd565b005b34801561068a57600080fd5b506106e9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116e2565b005b3480156106f757600080fd5b50610736600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061182c565b005b34801561074457600080fd5b5061074d6119d4565b604051808215151515815260200191505060405180910390f35b34801561077357600080fd5b5061077c611a9c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ca57600080fd5b506107d3611ac2565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108135780820151818401526020810190506107f8565b50505050905090810190601f1680156108405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561085a57600080fd5b50610899600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b60565b604051808215151515815260200191505060405180910390f35b3480156108bf57600080fd5b506108fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d84565b604051808215151515815260200191505060405180910390f35b34801561092457600080fd5b50610979600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f80565b6040518082815260200191505060405180910390f35b34801561099b57600080fd5b506109fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612007565b005b348015610a0857600080fd5b50610a3d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612151565b005b600660149054906101000a900460ff1681565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae85780601f10610abd57610100808354040283529160200191610ae8565b820191906000526020600020905b815481529060010190602001808311610acb57829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008054905090565b60008082518451141515610bfe57600080fd5b600090505b8351811015610c5257610c448482815181101515610c1d57fe5b906020019060200201518483815181101515610c3557fe5b90602001906020020151611b60565b508080600101915050610c03565b600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610c9a57600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610ce857600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610d7357600080fd5b610dc582600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121b990919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e5a82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121d290919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f2c82600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121b990919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600360009054906101000a900460ff1681565b60075481565b600060075461104f836000546121d290919063ffffffff16565b1115151561105c57600080fd5b61106683836121ee565b905092915050565b61107833826123d6565b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561111357600080fd5b803073ffffffffffffffffffffffffffffffffffffffff16311015151561113957600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561117f573d6000803e3d6000fd5b505050565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611295576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611329565b6112a883826121b990919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561147157600080fd5b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561154857600080fd5b505af115801561155c573d6000803e3d6000fd5b505050506040513d602081101561157257600080fd5b8101908080519060200190929190505050151561158e57600080fd5b50505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561163957600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561173e57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663095ea7b383836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117e157600080fd5b505af11580156117f5573d6000803e3d6000fd5b505050506040513d602081101561180b57600080fd5b8101908080519060200190929190505050151561182757600080fd5b505050565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111515156118b757600080fd5b61194681600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121b990919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d082826123d6565b5050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a3257600080fd5b600660149054906101000a900460ff16151515611a4e57600080fd5b6001600660146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b585780601f10611b2d57610100808354040283529160200191611b58565b820191906000526020600020905b815481529060010190602001808311611b3b57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b9d57600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611beb57600080fd5b611c3d82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121b990919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cd282600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121d290919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000611e1582600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121d290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561206357600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561210657600080fd5b505af115801561211a573d6000803e3d6000fd5b505050506040513d602081101561213057600080fd5b8101908080519060200190929190505050151561214c57600080fd5b505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121ad57600080fd5b6121b68161258c565b50565b60008282111515156121c757fe5b818303905092915050565b600081830190508281101515156121e557fe5b80905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561224c57600080fd5b600660149054906101000a900460ff1615151561226857600080fd5b61227d826000546121d290919063ffffffff16565b6000819055506122d582600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121d290919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561242457600080fd5b61247681600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121b990919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124ce816000546121b990919063ffffffff16565b6000819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156125c857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058200674e3112146ce7e93f4db2864a2ccc93671d03ba6c20a601c9c9790f8a660350029

Swarm Source

bzzr://0674e3112146ce7e93f4db2864a2ccc93671d03ba6c20a601c9c9790f8a66035
Block Age Transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.