ETH Price: $2,385.06 (+1.41%)

Contract

0x6e08cB24153634655d4E0cb52AfEE75A0E798ac8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer192105712024-02-12 7:51:23235 days ago1707724283IN
0x6e08cB24...A0E798ac8
0 ETH0.0010236718.99743491
Transfer192104912024-02-12 7:35:11235 days ago1707723311IN
0x6e08cB24...A0E798ac8
0 ETH0.0011311920.99283079
Transfer160330912022-11-23 13:47:59680 days ago1669211279IN
0x6e08cB24...A0E798ac8
0 ETH0.0004155112.97632448
Transfer158384142022-10-27 9:07:11708 days ago1666861631IN
0x6e08cB24...A0E798ac8
0 ETH0.0005199110.58946122
Transfer154568892022-09-02 3:49:39763 days ago1662090579IN
0x6e08cB24...A0E798ac8
0 ETH0.0005898512.0169185
Transfer153005892022-08-08 8:52:46788 days ago1659948766IN
0x6e08cB24...A0E798ac8
0 ETH0.0005999212.21912726
Transfer152842232022-08-05 19:31:51790 days ago1659727911IN
0x6e08cB24...A0E798ac8
0 ETH0.0016105432.79530812
Transfer152225952022-07-27 5:26:34800 days ago1658899594IN
0x6e08cB24...A0E798ac8
0 ETH0.000397588.1
Transfer151652732022-07-18 7:23:23809 days ago1658129003IN
0x6e08cB24...A0E798ac8
0 ETH0.0009150218.6371777
Transfer151453602022-07-15 5:20:34812 days ago1657862434IN
0x6e08cB24...A0E798ac8
0 ETH0.0004653212.6498293
Transfer150820162022-07-05 10:44:44822 days ago1657017884IN
0x6e08cB24...A0E798ac8
0 ETH0.0006223712.67636215
Transfer149166002022-06-06 19:16:11850 days ago1654542971IN
0x6e08cB24...A0E798ac8
0 ETH0.0008768636.12794567
Transfer149165482022-06-06 19:05:11850 days ago1654542311IN
0x6e08cB24...A0E798ac8
0 ETH0.0028650553.1698867
Transfer149165232022-06-06 18:58:47850 days ago1654541927IN
0x6e08cB24...A0E798ac8
0 ETH0.0010063141.44095286
Freeze149059682022-06-04 23:55:00852 days ago1654386900IN
0x6e08cB24...A0E798ac8
0 ETH0.0010538130
Transfer145257992022-04-05 12:08:43912 days ago1649160523IN
0x6e08cB24...A0E798ac8
0 ETH0.001041242.87800677
Transfer144161862022-03-19 9:58:58930 days ago1647683938IN
0x6e08cB24...A0E798ac8
0 ETH0.0005860924.15987544
Transfer142784872022-02-26 0:23:26951 days ago1645835006IN
0x6e08cB24...A0E798ac8
0 ETH0.0012432351.24822776
Transfer141139212022-01-31 13:27:43976 days ago1643635663IN
0x6e08cB24...A0E798ac8
0 ETH0.0014251758.69027741
Transfer140434702022-01-20 16:15:10987 days ago1642695310IN
0x6e08cB24...A0E798ac8
0 ETH0.002415799.53054514
Transfer140426682022-01-20 13:25:52987 days ago1642685152IN
0x6e08cB24...A0E798ac8
0 ETH0.0045363484.16688841
Add Freezer140423982022-01-20 12:25:31987 days ago1642681531IN
0x6e08cB24...A0E798ac8
0 ETH0.0039196682.2734012
Depute Admin140423962022-01-20 12:25:10987 days ago1642681510IN
0x6e08cB24...A0E798ac8
0 ETH0.0025645982.8196308
Transfer132270722021-09-15 0:24:171115 days ago1631665457IN
0x6e08cB24...A0E798ac8
0 ETH0.0007161429.49178993
Transfer127508752021-07-02 22:22:341189 days ago1625264554IN
0x6e08cB24...A0E798ac8
0 ETH0.0002669811
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FosterToken

Compiler Version
v0.5.10+commit.5a6ea5b1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-30
*/

pragma solidity 0.5.10;

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;

        return c;
    }

}

contract Ownable {
    address private _owner;

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

    constructor () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string internal _name;
    string internal _symbol;
    uint8 internal _decimals;

    function name() public view returns (string memory) {
        return _name;
    }

    function symbol() public view returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

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

    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    function add(Role storage role, address account) internal {
        require(!has(role, account), "Roles: account already has role");
        role.bearer[account] = true;
    }

    function remove(Role storage role, address account) internal {
        require(has(role, account), "Roles: account does not have role");
        role.bearer[account] = false;
    }

    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0), "Roles: account is the zero address");
        return role.bearer[account];
    }
}

/**
 * @title FreezerRole
 */
contract FreezerRole is Ownable {
    using Roles for Roles.Role;

    event FreezerAdded(address indexed account);
    event FreezerRemoved(address indexed account);

    Roles.Role internal _freezers;

    modifier onlyFreezer() {
        require(isFreezer(msg.sender), "Caller has no permission");
        _;
    }

    function isFreezer(address account) public view returns (bool) {
        return(_freezers.has(account) || account == owner());
    }
}

interface ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 amount, address token, bytes calldata extraData) external;
}

contract FosterToken is ERC20, FreezerRole {

    address private boss = 0xC20e9fa3C437181A8f2F283B5c97Af59C0b046Aa;
    address private admin = 0x0D968ab967290731c75204A9713856f9954dfEc4;

    mapping (address => uint256) freezed;

    modifier notFreezed(address account) {
        require(block.timestamp >= freezed[account], "Balance is frozen");
        _;
    }

    modifier onlyOwnerAndBoss() {
        require(msg.sender == owner() || msg.sender == boss, "No access");
        _;
    }

    modifier onlyAdminAndBoss() {
        require(msg.sender == admin || msg.sender == boss, "No access");
        _;
    }

    modifier onlyBoss() {
        require(msg.sender == boss, "No access");
        _;
    }

    uint256 internal INITIAL_SUPPLY = 8000000000 * (10 ** 18);

    bool public issuingFinished;

    constructor(address recipient) public {

        _name = "FOSTER Token";
        _symbol = "FOSTER";
        _decimals = 18;

        _mint(recipient, INITIAL_SUPPLY);

    }

    function _transfer(address sender, address recipient, uint256 amount) internal notFreezed(sender) {
        super._transfer(sender, recipient, amount);
    }

    function _freeze(address account, uint256 period) internal {
        require(account != address(0));
        freezed[account] = block.timestamp.add(period);
        emit OnFreezed(msg.sender, account, period, block.timestamp);
    }

    function freeze(address[] memory accounts, uint256[] memory periods) public onlyFreezer {
        for (uint256 i = 0; i < accounts.length; i++) {
            _freeze(accounts[i], periods[i]);
        }
    }

    function _freezeAndTransfer(address recipient, uint256 amount, uint256 period) internal {
        _freeze(recipient, period);
        transfer(recipient, amount);
    }

    function freezeAndTransfer(address recipient, uint256 amount, uint256 period) public onlyFreezer {
        _freezeAndTransfer(recipient, amount, period);
    }

    function freezeAndTransfer(address[] memory recipients, uint256[] memory amounts, uint256[] memory periods) public onlyFreezer {
        for (uint256 i = 0; i < recipients.length; i++) {
            _freezeAndTransfer(recipients[i], amounts[i], periods[i]);
        }
    }

    function issue(address[] memory accounts, uint256[] memory values) public onlyBoss {
        require(!issuingFinished, "Issuing is finished");
        for (uint256 i = 0; i < accounts.length; i++) {
            _mint(accounts[i], values[i]);
            emit OnIssue(accounts[i], values[i]);
        }
    }

    function finishIssuing(bool check) public onlyBoss {
        require(!issuingFinished && check);
        issuingFinished = check;
    }

    function deputeBoss(address newBoss) public onlyBoss {
        require(newBoss != address(0));
        emit OnBossDeputed(boss, newBoss, block.timestamp);
        boss = newBoss;
    }

    function deputeAdmin(address newAdmin) public onlyOwnerAndBoss {
        require(newAdmin != address(0));
        emit OnAdminDeputed(admin, newAdmin, block.timestamp);
        admin = newAdmin;
    }

    function addFreezer(address account) public onlyOwnerAndBoss {
        _freezers.add(account);
        emit FreezerAdded(account);
    }

    function removeFreezer(address account) public onlyOwnerAndBoss {
        _freezers.remove(account);
        emit FreezerRemoved(account);
    }

    function approveAndCall(address spender, uint256 amount, bytes calldata extraData) external returns (bool) {
        require(approve(spender, amount));

        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, amount, address(this), extraData);

        return true;
    }

    function withdrawERC20(address ERC20Token, address recipient) external {
        require(msg.sender == boss || msg.sender == admin);

        uint256 amount = IERC20(ERC20Token).balanceOf(address(this));
        require(amount > 0);
        IERC20(ERC20Token).transfer(recipient, amount);

    }

    function setName(string memory newName, string memory newSymbol) public onlyOwner {
        emit OnNameSet(_name, _symbol, newName, newSymbol, now);

        _name = newName;
        _symbol = newSymbol;
    }

    function releaseDate(address account) public view returns(uint256) {
        return freezed[account];
    }

    event OnFreezed (
        address indexed sender,
        address indexed account,
        uint256 period,
        uint256 timestamp
    );

    event OnBossDeputed (
        address indexed former,
        address indexed current,
        uint256 timestamp
    );

    event OnAdminDeputed (
        address indexed former,
        address indexed current,
        uint256 timestamp
    );

    event OnNameSet (
        string oldName,
        string oldSymbol,
        string newName,
        string newSymbol,
        uint256 timestamp
    );

    event OnIssue(
        address indexed account,
        uint256 value
    );

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"newAdmin","type":"address"}],"name":"deputeAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removeFreezer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"},{"name":"period","type":"uint256"}],"name":"freezeAndTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"issuingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"recipients","type":"address[]"},{"name":"amounts","type":"uint256[]"},{"name":"periods","type":"uint256[]"}],"name":"freezeAndTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addFreezer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newName","type":"string"},{"name":"newSymbol","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"releaseDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isFreezer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newBoss","type":"address"}],"name":"deputeBoss","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"ERC20Token","type":"address"},{"name":"recipient","type":"address"}],"name":"withdrawERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"check","type":"bool"}],"name":"finishIssuing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"},{"name":"extraData","type":"bytes"}],"name":"approveAndCall","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":false,"inputs":[{"name":"accounts","type":"address[]"},{"name":"periods","type":"uint256[]"}],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"accounts","type":"address[]"},{"name":"values","type":"uint256[]"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"recipient","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"period","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"OnFreezed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"former","type":"address"},{"indexed":true,"name":"current","type":"address"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"OnBossDeputed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"former","type":"address"},{"indexed":true,"name":"current","type":"address"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"OnAdminDeputed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldName","type":"string"},{"indexed":false,"name":"oldSymbol","type":"string"},{"indexed":false,"name":"newName","type":"string"},{"indexed":false,"name":"newSymbol","type":"string"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"OnNameSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"OnIssue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"FreezerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"FreezerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

6080604052600780546001600160a01b031990811673c20e9fa3c437181a8f2f283b5c97af59c0b046aa1790915560088054909116730d968ab967290731c75204a9713856f9954dfec41790556b19d971e4fe8401e740000000600a553480156200006957600080fd5b50604051620026d6380380620026d6833981810160405260208110156200008f57600080fd5b505160058054610100600160a81b031916336101008102919091179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360408051808201909152600c8082527f464f5354455220546f6b656e000000000000000000000000000000000000000060209092019182526200011e916003916200032a565b506040805180820190915260068082527f464f535445520000000000000000000000000000000000000000000000000000602090920191825262000165916004916200032a565b506005805460ff19166012179055600a546200018c9082906001600160e01b036200019316565b50620003cf565b6001600160a01b0382166200020957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200022581600254620002ae60201b62001c921790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200025891839062001c92620002ae821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000828201838110156200032357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200036d57805160ff19168380011785556200039d565b828001600101855582156200039d579182015b828111156200039d57825182559160200191906001019062000380565b50620003ab929150620003af565b5090565b620003cc91905b80821115620003ab5760008155600101620003b6565b90565b6122f780620003df6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80636c65fd6a116100f9578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e14610888578063df904c41146108b6578063e971c252146109d9578063f2fde38b14610afc576101c4565b8063a9059cbb146107ba578063aa59bcbd146107e6578063cae9ca5114610805576101c4565b80638da5cb5b116100d35780638da5cb5b146107345780639456fbcc1461075857806395d89b4114610786578063a457c2d71461078e576101c4565b80636c65fd6a146106c25780636fc41a7e146106e857806370a082311461070e576101c4565b80633950935111610166578063524c5a7e11610140578063524c5a7e146103a8578063526606c91461054d5780635c707f07146105735780635e02c3411461069c576101c4565b80633950935114610342578063402c62b71461036e5780634ef05a71146103a0576101c4565b806318160ddd116101a257806318160ddd146102ae57806323b872dd146102c85780632acd2000146102fe578063313ce56714610324576101c4565b806302c5e92a146101c957806306fdde03146101f1578063095ea7b31461026e575b600080fd5b6101ef600480360360208110156101df57600080fd5b50356001600160a01b0316610b22565b005b6101f9610c0a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023357818101518382015260200161021b565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61029a6004803603604081101561028457600080fd5b506001600160a01b038135169060200135610ca1565b604080519115158252519081900360200190f35b6102b6610cb7565b60408051918252519081900360200190f35b61029a600480360360608110156102de57600080fd5b506001600160a01b03813581169160208101359091169060400135610cbd565b6101ef6004803603602081101561031457600080fd5b50356001600160a01b0316610d2c565b61032c610de2565b6040805160ff9092168252519081900360200190f35b61029a6004803603604081101561035857600080fd5b506001600160a01b038135169060200135610deb565b6101ef6004803603606081101561038457600080fd5b506001600160a01b038135169060208101359060400135610e27565b61029a610e8c565b6101ef600480360360608110156103be57600080fd5b810190602081018135600160201b8111156103d857600080fd5b8201836020820111156103ea57600080fd5b803590602001918460208302840111600160201b8311171561040b57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561045a57600080fd5b82018360208201111561046c57600080fd5b803590602001918460208302840111600160201b8311171561048d57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156104dc57600080fd5b8201836020820111156104ee57600080fd5b803590602001918460208302840111600160201b8311171561050f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610e95945050505050565b6101ef6004803603602081101561056357600080fd5b50356001600160a01b0316610f48565b6101ef6004803603604081101561058957600080fd5b810190602081018135600160201b8111156105a357600080fd5b8201836020820111156105b557600080fd5b803590602001918460018302840111600160201b831117156105d657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561062857600080fd5b82018360208201111561063a57600080fd5b803590602001918460018302840111600160201b8311171561065b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610ffe945050505050565b6102b6600480360360208110156106b257600080fd5b50356001600160a01b0316611295565b61029a600480360360208110156106d857600080fd5b50356001600160a01b03166112b0565b6101ef600480360360208110156106fe57600080fd5b50356001600160a01b03166112ec565b6102b66004803603602081101561072457600080fd5b50356001600160a01b03166113b1565b61073c6113cc565b604080516001600160a01b039092168252519081900360200190f35b6101ef6004803603604081101561076e57600080fd5b506001600160a01b03813581169160200135166113e0565b6101f961151f565b61029a600480360360408110156107a457600080fd5b506001600160a01b038135169060200135611580565b61029a600480360360408110156107d057600080fd5b506001600160a01b0381351690602001356115d5565b6101ef600480360360208110156107fc57600080fd5b503515156115e2565b61029a6004803603606081101561081b57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561084a57600080fd5b82018360208201111561085c57600080fd5b803590602001918460018302840111600160201b8311171561087d57600080fd5b509092509050611659565b6102b66004803603604081101561089e57600080fd5b506001600160a01b0381358116916020013516611722565b6101ef600480360360408110156108cc57600080fd5b810190602081018135600160201b8111156108e657600080fd5b8201836020820111156108f857600080fd5b803590602001918460208302840111600160201b8311171561091957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561096857600080fd5b82018360208201111561097a57600080fd5b803590602001918460208302840111600160201b8311171561099b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061174d945050505050565b6101ef600480360360408110156109ef57600080fd5b810190602081018135600160201b811115610a0957600080fd5b820183602082011115610a1b57600080fd5b803590602001918460208302840111600160201b83111715610a3c57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610a8b57600080fd5b820183602082011115610a9d57600080fd5b803590602001918460208302840111600160201b83111715610abe57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506117e6945050505050565b6101ef60048036036020811015610b1257600080fd5b50356001600160a01b031661192a565b610b2a6113cc565b6001600160a01b0316336001600160a01b03161480610b5357506007546001600160a01b031633145b610b90576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6001600160a01b038116610ba357600080fd5b6008546040805142815290516001600160a01b038085169316917f7f366eb4a521035a2c37855dd5da0249ebbc430eb98b0e35f81aaa1be7b64718919081900360200190a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610c965780601f10610c6b57610100808354040283529160200191610c96565b820191906000526020600020905b815481529060010190602001808311610c7957829003601f168201915b505050505090505b90565b6000610cae338484611a3a565b50600192915050565b60025490565b6000610cca848484611b26565b610d228433610d1d8560405180606001604052806028815260200161220b602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919063ffffffff611b9416565b611a3a565b5060019392505050565b610d346113cc565b6001600160a01b0316336001600160a01b03161480610d5d57506007546001600160a01b031633145b610d9a576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b610dab60068263ffffffff611c2b16565b6040516001600160a01b038216907f96122329220f37e4f77351cee53d18e3ccccb2a9acf542ddbc984b9b9cd0de5f90600090a250565b60055460ff1690565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610cae918590610d1d908663ffffffff611c9216565b610e30336112b0565b610e7c576040805162461bcd60e51b815260206004820152601860248201527721b0b63632b9103430b9903737903832b936b4b9b9b4b7b760411b604482015290519081900360640190fd5b610e87838383611cf3565b505050565b600b5460ff1681565b610e9e336112b0565b610eea576040805162461bcd60e51b815260206004820152601860248201527721b0b63632b9103430b9903737903832b936b4b9b9b4b7b760411b604482015290519081900360640190fd5b60005b8351811015610f4257610f3a848281518110610f0557fe5b6020026020010151848381518110610f1957fe5b6020026020010151848481518110610f2d57fe5b6020026020010151611cf3565b600101610eed565b50505050565b610f506113cc565b6001600160a01b0316336001600160a01b03161480610f7957506007546001600160a01b031633145b610fb6576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b610fc760068263ffffffff611d0716565b6040516001600160a01b038216907f011c669bee42ba092a170f39eddb46b7a7d191579c90ca7c2a8c8418c0ce85b390600090a250565b60055461010090046001600160a01b03163314611062576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b7f2446b52f50d40835440d4e3024fe12d7f9d1f336f8baadafa2ee9b17f554cc7a60036004848442604051808060200180602001806020018060200186815260200185810385528a8181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156111255780601f106110fa57610100808354040283529160200191611125565b820191906000526020600020905b81548152906001019060200180831161110857829003601f168201915b505085810384528954600260001961010060018416150201909116048082526020909101908a9080156111995780601f1061116e57610100808354040283529160200191611199565b820191906000526020600020905b81548152906001019060200180831161117c57829003601f168201915b505085810383528851815288516020918201918a019080838360005b838110156111cd5781810151838201526020016111b5565b50505050905090810190601f1680156111fa5780820380516001836020036101000a031916815260200191505b50858103825287518152875160209182019189019080838360005b8381101561122d578181015183820152602001611215565b50505050905090810190601f16801561125a5780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390a181516112819060039060208501906120c0565b508051610e879060049060208401906120c0565b6001600160a01b031660009081526009602052604090205490565b60006112c360068363ffffffff611d8816565b806112e657506112d16113cc565b6001600160a01b0316826001600160a01b0316145b92915050565b6007546001600160a01b03163314611337576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6001600160a01b03811661134a57600080fd5b6007546040805142815290516001600160a01b038085169316917f785941b8a97d5fe3a9f59667fb256537791d1dce97b21f5ae86343aa986889be919081900360200190a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526020819052604090205490565b60055461010090046001600160a01b031690565b6007546001600160a01b031633148061140357506008546001600160a01b031633145b61140c57600080fd5b604080516370a0823160e01b815230600482015290516000916001600160a01b038516916370a0823191602480820192602092909190829003018186803b15801561145657600080fd5b505afa15801561146a573d6000803e3d6000fd5b505050506040513d602081101561148057600080fd5b505190508061148e57600080fd5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156114ee57600080fd5b505af1158015611502573d6000803e3d6000fd5b505050506040513d602081101561151857600080fd5b5050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610c965780601f10610c6b57610100808354040283529160200191610c96565b6000610cae3384610d1d8560405180606001604052806025815260200161229e602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919063ffffffff611b9416565b6000610cae338484611b26565b6007546001600160a01b0316331461162d576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b600b5460ff1615801561163d5750805b61164657600080fd5b600b805460ff1916911515919091179055565b60006116658585610ca1565b61166e57600080fd5b604051638f4ffcb160e01b81523360048201818152602483018790523060448401819052608060648501908152608485018790526001600160a01b038a1694638f4ffcb194938a93928a928a92919060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156116ff57600080fd5b505af1158015611713573d6000803e3d6000fd5b50600198975050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b611756336112b0565b6117a2576040805162461bcd60e51b815260206004820152601860248201527721b0b63632b9103430b9903737903832b936b4b9b9b4b7b760411b604482015290519081900360640190fd5b60005b8251811015610e87576117de8382815181106117bd57fe5b60200260200101518383815181106117d157fe5b6020026020010151611def565b6001016117a5565b6007546001600160a01b03163314611831576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b600b5460ff161561187f576040805162461bcd60e51b8152602060048201526013602482015272125cdcdd5a5b99c81a5cc8199a5b9a5cda1959606a1b604482015290519081900360640190fd5b60005b8251811015610e87576118bb83828151811061189a57fe5b60200260200101518383815181106118ae57fe5b6020026020010151611e74565b8281815181106118c757fe5b60200260200101516001600160a01b03167fa621c98607c56a4a601815d0a7ca0f0308571fe509a761937243dd312c638e4683838151811061190557fe5b60200260200101516040518082815260200191505060405180910390a2600101611882565b60055461010090046001600160a01b0316331461198e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166119d35760405162461bcd60e51b815260040180806020018281038252602681526020018061217c6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b038316611a7f5760405162461bcd60e51b815260040180806020018281038252602481526020018061227a6024913960400191505060405180910390fd5b6001600160a01b038216611ac45760405162461bcd60e51b81526004018080602001828103825260228152602001806121a26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166000908152600960205260409020548390421015611b89576040805162461bcd60e51b81526020600482015260116024820152702130b630b731b29034b990333937bd32b760791b604482015290519081900360640190fd5b610f42848484611f64565b60008184841115611c235760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611be8578181015183820152602001611bd0565b50505050905090810190601f168015611c155780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b611c358282611d88565b611c705760405162461bcd60e51b81526004018080602001828103825260218152602001806121ea6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b600082820183811015611cec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b611cfd8382611def565b610f4283836115d5565b611d118282611d88565b15611d63576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216611dcf5760405162461bcd60e51b81526004018080602001828103825260228152602001806122336022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b038216611e0257600080fd5b611e12428263ffffffff611c9216565b6001600160a01b03831660008181526009602090815260409182902093909355805184815242938101939093528051919233927fa25a73b051ffef843c1c15cea1d775b24f07efdf1be0d599a7842e5469b36965929181900390910190a35050565b6001600160a01b038216611ecf576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611ee2908263ffffffff611c9216565b6002556001600160a01b038216600090815260208190526040902054611f0e908263ffffffff611c9216565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038316611fa95760405162461bcd60e51b81526004018080602001828103825260258152602001806122556025913960400191505060405180910390fd5b6001600160a01b038216611fee5760405162461bcd60e51b81526004018080602001828103825260238152602001806121596023913960400191505060405180910390fd5b612031816040518060600160405280602681526020016121c4602691396001600160a01b038616600090815260208190526040902054919063ffffffff611b9416565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612066908263ffffffff611c9216565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061210157805160ff191683800117855561212e565b8280016001018555821561212e579182015b8281111561212e578251825591602001919060010190612113565b5061213a92915061213e565b5090565b610c9e91905b8082111561213a576000815560010161214456fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723058207f086cc6487e1076e0a59770a859c77884661251677cb20da912e563bf36493f64736f6c634300050a0032000000000000000000000000a9eebff951da440d92dd3ab248819113b0158c25

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80636c65fd6a116100f9578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e14610888578063df904c41146108b6578063e971c252146109d9578063f2fde38b14610afc576101c4565b8063a9059cbb146107ba578063aa59bcbd146107e6578063cae9ca5114610805576101c4565b80638da5cb5b116100d35780638da5cb5b146107345780639456fbcc1461075857806395d89b4114610786578063a457c2d71461078e576101c4565b80636c65fd6a146106c25780636fc41a7e146106e857806370a082311461070e576101c4565b80633950935111610166578063524c5a7e11610140578063524c5a7e146103a8578063526606c91461054d5780635c707f07146105735780635e02c3411461069c576101c4565b80633950935114610342578063402c62b71461036e5780634ef05a71146103a0576101c4565b806318160ddd116101a257806318160ddd146102ae57806323b872dd146102c85780632acd2000146102fe578063313ce56714610324576101c4565b806302c5e92a146101c957806306fdde03146101f1578063095ea7b31461026e575b600080fd5b6101ef600480360360208110156101df57600080fd5b50356001600160a01b0316610b22565b005b6101f9610c0a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023357818101518382015260200161021b565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61029a6004803603604081101561028457600080fd5b506001600160a01b038135169060200135610ca1565b604080519115158252519081900360200190f35b6102b6610cb7565b60408051918252519081900360200190f35b61029a600480360360608110156102de57600080fd5b506001600160a01b03813581169160208101359091169060400135610cbd565b6101ef6004803603602081101561031457600080fd5b50356001600160a01b0316610d2c565b61032c610de2565b6040805160ff9092168252519081900360200190f35b61029a6004803603604081101561035857600080fd5b506001600160a01b038135169060200135610deb565b6101ef6004803603606081101561038457600080fd5b506001600160a01b038135169060208101359060400135610e27565b61029a610e8c565b6101ef600480360360608110156103be57600080fd5b810190602081018135600160201b8111156103d857600080fd5b8201836020820111156103ea57600080fd5b803590602001918460208302840111600160201b8311171561040b57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561045a57600080fd5b82018360208201111561046c57600080fd5b803590602001918460208302840111600160201b8311171561048d57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156104dc57600080fd5b8201836020820111156104ee57600080fd5b803590602001918460208302840111600160201b8311171561050f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610e95945050505050565b6101ef6004803603602081101561056357600080fd5b50356001600160a01b0316610f48565b6101ef6004803603604081101561058957600080fd5b810190602081018135600160201b8111156105a357600080fd5b8201836020820111156105b557600080fd5b803590602001918460018302840111600160201b831117156105d657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561062857600080fd5b82018360208201111561063a57600080fd5b803590602001918460018302840111600160201b8311171561065b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610ffe945050505050565b6102b6600480360360208110156106b257600080fd5b50356001600160a01b0316611295565b61029a600480360360208110156106d857600080fd5b50356001600160a01b03166112b0565b6101ef600480360360208110156106fe57600080fd5b50356001600160a01b03166112ec565b6102b66004803603602081101561072457600080fd5b50356001600160a01b03166113b1565b61073c6113cc565b604080516001600160a01b039092168252519081900360200190f35b6101ef6004803603604081101561076e57600080fd5b506001600160a01b03813581169160200135166113e0565b6101f961151f565b61029a600480360360408110156107a457600080fd5b506001600160a01b038135169060200135611580565b61029a600480360360408110156107d057600080fd5b506001600160a01b0381351690602001356115d5565b6101ef600480360360208110156107fc57600080fd5b503515156115e2565b61029a6004803603606081101561081b57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561084a57600080fd5b82018360208201111561085c57600080fd5b803590602001918460018302840111600160201b8311171561087d57600080fd5b509092509050611659565b6102b66004803603604081101561089e57600080fd5b506001600160a01b0381358116916020013516611722565b6101ef600480360360408110156108cc57600080fd5b810190602081018135600160201b8111156108e657600080fd5b8201836020820111156108f857600080fd5b803590602001918460208302840111600160201b8311171561091957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561096857600080fd5b82018360208201111561097a57600080fd5b803590602001918460208302840111600160201b8311171561099b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061174d945050505050565b6101ef600480360360408110156109ef57600080fd5b810190602081018135600160201b811115610a0957600080fd5b820183602082011115610a1b57600080fd5b803590602001918460208302840111600160201b83111715610a3c57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610a8b57600080fd5b820183602082011115610a9d57600080fd5b803590602001918460208302840111600160201b83111715610abe57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506117e6945050505050565b6101ef60048036036020811015610b1257600080fd5b50356001600160a01b031661192a565b610b2a6113cc565b6001600160a01b0316336001600160a01b03161480610b5357506007546001600160a01b031633145b610b90576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6001600160a01b038116610ba357600080fd5b6008546040805142815290516001600160a01b038085169316917f7f366eb4a521035a2c37855dd5da0249ebbc430eb98b0e35f81aaa1be7b64718919081900360200190a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610c965780601f10610c6b57610100808354040283529160200191610c96565b820191906000526020600020905b815481529060010190602001808311610c7957829003601f168201915b505050505090505b90565b6000610cae338484611a3a565b50600192915050565b60025490565b6000610cca848484611b26565b610d228433610d1d8560405180606001604052806028815260200161220b602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919063ffffffff611b9416565b611a3a565b5060019392505050565b610d346113cc565b6001600160a01b0316336001600160a01b03161480610d5d57506007546001600160a01b031633145b610d9a576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b610dab60068263ffffffff611c2b16565b6040516001600160a01b038216907f96122329220f37e4f77351cee53d18e3ccccb2a9acf542ddbc984b9b9cd0de5f90600090a250565b60055460ff1690565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610cae918590610d1d908663ffffffff611c9216565b610e30336112b0565b610e7c576040805162461bcd60e51b815260206004820152601860248201527721b0b63632b9103430b9903737903832b936b4b9b9b4b7b760411b604482015290519081900360640190fd5b610e87838383611cf3565b505050565b600b5460ff1681565b610e9e336112b0565b610eea576040805162461bcd60e51b815260206004820152601860248201527721b0b63632b9103430b9903737903832b936b4b9b9b4b7b760411b604482015290519081900360640190fd5b60005b8351811015610f4257610f3a848281518110610f0557fe5b6020026020010151848381518110610f1957fe5b6020026020010151848481518110610f2d57fe5b6020026020010151611cf3565b600101610eed565b50505050565b610f506113cc565b6001600160a01b0316336001600160a01b03161480610f7957506007546001600160a01b031633145b610fb6576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b610fc760068263ffffffff611d0716565b6040516001600160a01b038216907f011c669bee42ba092a170f39eddb46b7a7d191579c90ca7c2a8c8418c0ce85b390600090a250565b60055461010090046001600160a01b03163314611062576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b7f2446b52f50d40835440d4e3024fe12d7f9d1f336f8baadafa2ee9b17f554cc7a60036004848442604051808060200180602001806020018060200186815260200185810385528a8181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156111255780601f106110fa57610100808354040283529160200191611125565b820191906000526020600020905b81548152906001019060200180831161110857829003601f168201915b505085810384528954600260001961010060018416150201909116048082526020909101908a9080156111995780601f1061116e57610100808354040283529160200191611199565b820191906000526020600020905b81548152906001019060200180831161117c57829003601f168201915b505085810383528851815288516020918201918a019080838360005b838110156111cd5781810151838201526020016111b5565b50505050905090810190601f1680156111fa5780820380516001836020036101000a031916815260200191505b50858103825287518152875160209182019189019080838360005b8381101561122d578181015183820152602001611215565b50505050905090810190601f16801561125a5780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390a181516112819060039060208501906120c0565b508051610e879060049060208401906120c0565b6001600160a01b031660009081526009602052604090205490565b60006112c360068363ffffffff611d8816565b806112e657506112d16113cc565b6001600160a01b0316826001600160a01b0316145b92915050565b6007546001600160a01b03163314611337576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6001600160a01b03811661134a57600080fd5b6007546040805142815290516001600160a01b038085169316917f785941b8a97d5fe3a9f59667fb256537791d1dce97b21f5ae86343aa986889be919081900360200190a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526020819052604090205490565b60055461010090046001600160a01b031690565b6007546001600160a01b031633148061140357506008546001600160a01b031633145b61140c57600080fd5b604080516370a0823160e01b815230600482015290516000916001600160a01b038516916370a0823191602480820192602092909190829003018186803b15801561145657600080fd5b505afa15801561146a573d6000803e3d6000fd5b505050506040513d602081101561148057600080fd5b505190508061148e57600080fd5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156114ee57600080fd5b505af1158015611502573d6000803e3d6000fd5b505050506040513d602081101561151857600080fd5b5050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610c965780601f10610c6b57610100808354040283529160200191610c96565b6000610cae3384610d1d8560405180606001604052806025815260200161229e602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919063ffffffff611b9416565b6000610cae338484611b26565b6007546001600160a01b0316331461162d576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b600b5460ff1615801561163d5750805b61164657600080fd5b600b805460ff1916911515919091179055565b60006116658585610ca1565b61166e57600080fd5b604051638f4ffcb160e01b81523360048201818152602483018790523060448401819052608060648501908152608485018790526001600160a01b038a1694638f4ffcb194938a93928a928a92919060a401848480828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156116ff57600080fd5b505af1158015611713573d6000803e3d6000fd5b50600198975050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b611756336112b0565b6117a2576040805162461bcd60e51b815260206004820152601860248201527721b0b63632b9103430b9903737903832b936b4b9b9b4b7b760411b604482015290519081900360640190fd5b60005b8251811015610e87576117de8382815181106117bd57fe5b60200260200101518383815181106117d157fe5b6020026020010151611def565b6001016117a5565b6007546001600160a01b03163314611831576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b600b5460ff161561187f576040805162461bcd60e51b8152602060048201526013602482015272125cdcdd5a5b99c81a5cc8199a5b9a5cda1959606a1b604482015290519081900360640190fd5b60005b8251811015610e87576118bb83828151811061189a57fe5b60200260200101518383815181106118ae57fe5b6020026020010151611e74565b8281815181106118c757fe5b60200260200101516001600160a01b03167fa621c98607c56a4a601815d0a7ca0f0308571fe509a761937243dd312c638e4683838151811061190557fe5b60200260200101516040518082815260200191505060405180910390a2600101611882565b60055461010090046001600160a01b0316331461198e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166119d35760405162461bcd60e51b815260040180806020018281038252602681526020018061217c6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b038316611a7f5760405162461bcd60e51b815260040180806020018281038252602481526020018061227a6024913960400191505060405180910390fd5b6001600160a01b038216611ac45760405162461bcd60e51b81526004018080602001828103825260228152602001806121a26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166000908152600960205260409020548390421015611b89576040805162461bcd60e51b81526020600482015260116024820152702130b630b731b29034b990333937bd32b760791b604482015290519081900360640190fd5b610f42848484611f64565b60008184841115611c235760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611be8578181015183820152602001611bd0565b50505050905090810190601f168015611c155780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b611c358282611d88565b611c705760405162461bcd60e51b81526004018080602001828103825260218152602001806121ea6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b600082820183811015611cec576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b611cfd8382611def565b610f4283836115d5565b611d118282611d88565b15611d63576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216611dcf5760405162461bcd60e51b81526004018080602001828103825260228152602001806122336022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b038216611e0257600080fd5b611e12428263ffffffff611c9216565b6001600160a01b03831660008181526009602090815260409182902093909355805184815242938101939093528051919233927fa25a73b051ffef843c1c15cea1d775b24f07efdf1be0d599a7842e5469b36965929181900390910190a35050565b6001600160a01b038216611ecf576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611ee2908263ffffffff611c9216565b6002556001600160a01b038216600090815260208190526040902054611f0e908263ffffffff611c9216565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038316611fa95760405162461bcd60e51b81526004018080602001828103825260258152602001806122556025913960400191505060405180910390fd5b6001600160a01b038216611fee5760405162461bcd60e51b81526004018080602001828103825260238152602001806121596023913960400191505060405180910390fd5b612031816040518060600160405280602681526020016121c4602691396001600160a01b038616600090815260208190526040902054919063ffffffff611b9416565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612066908263ffffffff611c9216565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061210157805160ff191683800117855561212e565b8280016001018555821561212e579182015b8281111561212e578251825591602001919060010190612113565b5061213a92915061213e565b5090565b610c9e91905b8082111561213a576000815560010161214456fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723058207f086cc6487e1076e0a59770a859c77884661251677cb20da912e563bf36493f64736f6c634300050a0032

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000a9eebff951da440d92dd3ab248819113b0158c25

-----Decoded View---------------
Arg [0] : recipient (address): 0xA9EEBFF951Da440d92dD3AB248819113b0158c25

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a9eebff951da440d92dd3ab248819113b0158c25


Deployed Bytecode Sourcemap

7503:5087:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7503:5087:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10467:204;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10467:204:0;-1:-1:-1;;;;;10467:204:0;;:::i;:::-;;2921:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2921:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3721:150;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3721:150:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3198:91;;;:::i;:::-;;;;;;;;;;;;;;;;3879:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3879:300:0;;;;;;;;;;;;;;;;;:::i;10826:147::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10826:147:0;-1:-1:-1;;;;;10826:147:0;;:::i;3107:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4187:206;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4187:206:0;;;;;;;;:::i;9350:161::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9350:161:0;;;;;;;;;;;;;:::i;8315:27::-;;;:::i;9519:277::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9519:277:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9519:277:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9519:277:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;9519:277:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9519:277:0;;;;;;;;-1:-1:-1;9519:277:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;9519:277:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9519:277:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;9519:277:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9519:277:0;;;;;;;;-1:-1:-1;9519:277:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;9519:277:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9519:277:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;9519:277:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9519:277:0;;-1:-1:-1;9519:277:0;;-1:-1:-1;;;;;9519:277:0:i;10679:139::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10679:139:0;-1:-1:-1;;;;;10679:139:0;;:::i;11588:214::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11588:214:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11588:214:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11588:214:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11588:214:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;11588:214:0;;;;;;;;-1:-1:-1;11588:214:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;11588:214:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11588:214:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11588:214:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;11588:214:0;;-1:-1:-1;11588:214:0;;-1:-1:-1;;;;;11588:214:0:i;11810:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11810:109:0;-1:-1:-1;;;;;11810:109:0;;:::i;7210:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7210:134:0;-1:-1:-1;;;;;7210:134:0;;:::i;10271:188::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10271:188:0;-1:-1:-1;;;;;10271:188:0;;:::i;3297:110::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3297:110:0;-1:-1:-1;;;;;3297:110:0;;:::i;1461:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1461:79:0;;;;;;;;;;;;;;11278:302;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11278:302:0;;;;;;;;;;:::i;3012:87::-;;;:::i;4401:257::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4401:257:0;;;;;;;;:::i;3415:156::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3415:156:0;;;;;;;;:::i;10125:138::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10125:138:0;;;;:::i;10981:289::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;10981:289:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;10981:289:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10981:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;10981:289:0;;-1:-1:-1;10981:289:0;-1:-1:-1;10981:289:0;:::i;3579:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3579:134:0;;;;;;;;;;:::i;8952:211::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8952:211:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8952:211:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8952:211:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;8952:211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8952:211:0;;;;;;;;-1:-1:-1;8952:211:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;8952:211:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8952:211:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;8952:211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8952:211:0;;-1:-1:-1;8952:211:0;;-1:-1:-1;;;;;8952:211:0:i;9804:313::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9804:313:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9804:313:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9804:313:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;9804:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9804:313:0;;;;;;;;-1:-1:-1;9804:313:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;9804:313:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9804:313:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;9804:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9804:313:0;;-1:-1:-1;9804:313:0;;-1:-1:-1;;;;;9804:313:0:i;1673:236::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1673:236:0;-1:-1:-1;;;;;1673:236:0;;:::i;10467:204::-;7949:7;:5;:7::i;:::-;-1:-1:-1;;;;;7935:21:0;:10;-1:-1:-1;;;;;7935:21:0;;:43;;;-1:-1:-1;7974:4:0;;-1:-1:-1;;;;;7974:4:0;7960:10;:18;7935:43;7927:65;;;;;-1:-1:-1;;;7927:65:0;;;;;;;;;;;;-1:-1:-1;;;7927:65:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10549:22:0;;10541:31;;;;;;10603:5;;10588:48;;;10620:15;10588:48;;;;-1:-1:-1;;;;;10588:48:0;;;;10603:5;;10588:48;;;;;;;;;;10647:5;:16;;-1:-1:-1;;;;;;10647:16:0;-1:-1:-1;;;;;10647:16:0;;;;;;;;;;10467:204::o;2921:83::-;2991:5;2984:12;;;;;;;;-1:-1:-1;;2984:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2958:13;;2984:12;;2991:5;;2984:12;;2991:5;2984:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2921:83;;:::o;3721:150::-;3787:4;3804:37;3813:10;3825:7;3834:6;3804:8;:37::i;:::-;-1:-1:-1;3859:4:0;3721:150;;;;:::o;3198:91::-;3269:12;;3198:91;:::o;3879:300::-;3968:4;3985:36;3995:6;4003:9;4014:6;3985:9;:36::i;:::-;4032:117;4041:6;4049:10;4061:87;4097:6;4061:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4061:19:0;;;;;;:11;:19;;;;;;;;4081:10;4061:31;;;;;;;;;:87;;:35;:87;:::i;:::-;4032:8;:117::i;:::-;-1:-1:-1;4167:4:0;3879:300;;;;;:::o;10826:147::-;7949:7;:5;:7::i;:::-;-1:-1:-1;;;;;7935:21:0;:10;-1:-1:-1;;;;;7935:21:0;;:43;;;-1:-1:-1;7974:4:0;;-1:-1:-1;;;;;7974:4:0;7960:10;:18;7935:43;7927:65;;;;;-1:-1:-1;;;7927:65:0;;;;;;;;;;;;-1:-1:-1;;;7927:65:0;;;;;;;;;;;;;;;10901:25;:9;10918:7;10901:25;:16;:25;:::i;:::-;10942:23;;-1:-1:-1;;;;;10942:23:0;;;;;;;;10826:147;:::o;3107:83::-;3173:9;;;;3107:83;:::o;4187:206::-;4293:10;4267:4;4314:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4314:32:0;;;;;;;;;;4267:4;;4284:79;;4305:7;;4314:48;;4351:10;4314:48;:36;:48;:::i;9350:161::-;7132:21;7142:10;7132:9;:21::i;:::-;7124:58;;;;;-1:-1:-1;;;7124:58:0;;;;;;;;;;;;-1:-1:-1;;;7124:58:0;;;;;;;;;;;;;;;9458:45;9477:9;9488:6;9496;9458:18;:45::i;:::-;9350:161;;;:::o;8315:27::-;;;;;;:::o;9519:277::-;7132:21;7142:10;7132:9;:21::i;:::-;7124:58;;;;;-1:-1:-1;;;7124:58:0;;;;;;;;;;;;-1:-1:-1;;;7124:58:0;;;;;;;;;;;;;;;9662:9;9657:132;9681:10;:17;9677:1;:21;9657:132;;;9720:57;9739:10;9750:1;9739:13;;;;;;;;;;;;;;9754:7;9762:1;9754:10;;;;;;;;;;;;;;9766:7;9774:1;9766:10;;;;;;;;;;;;;;9720:18;:57::i;:::-;9700:3;;9657:132;;;;9519:277;;;:::o;10679:139::-;7949:7;:5;:7::i;:::-;-1:-1:-1;;;;;7935:21:0;:10;-1:-1:-1;;;;;7935:21:0;;:43;;;-1:-1:-1;7974:4:0;;-1:-1:-1;;;;;7974:4:0;7960:10;:18;7935:43;7927:65;;;;;-1:-1:-1;;;7927:65:0;;;;;;;;;;;;-1:-1:-1;;;7927:65:0;;;;;;;;;;;;;;;10751:22;:9;10765:7;10751:22;:13;:22;:::i;:::-;10789:21;;-1:-1:-1;;;;;10789:21:0;;;;;;;;10679:139;:::o;11588:214::-;1588:6;;;;;-1:-1:-1;;;;;1588:6:0;1598:10;1588:20;1580:65;;;;;-1:-1:-1;;;1580:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11686:50;11696:5;11703:7;11712;11721:9;11732:3;11686:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11686:50:0;;;;;;;;-1:-1:-1;;11686:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11686:50:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;11686:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11686:50:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;11686:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11749:15;;;;:5;;:15;;;;;:::i;:::-;-1:-1:-1;11775:19:0;;;;:7;;:19;;;;;:::i;11810:109::-;-1:-1:-1;;;;;11895:16:0;11868:7;11895:16;;;:7;:16;;;;;;;11810:109::o;7210:134::-;7267:4;7291:22;:9;7305:7;7291:22;:13;:22;:::i;:::-;:44;;;;7328:7;:5;:7::i;:::-;-1:-1:-1;;;;;7317:18:0;:7;-1:-1:-1;;;;;7317:18:0;;7291:44;7284:52;7210:134;-1:-1:-1;;7210:134:0:o;10271:188::-;8203:4;;-1:-1:-1;;;;;8203:4:0;8189:10;:18;8181:40;;;;;-1:-1:-1;;;8181:40:0;;;;;;;;;;;;-1:-1:-1;;;8181:40:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10343:21:0;;10335:30;;;;;;10395:4;;10381:45;;;10410:15;10381:45;;;;-1:-1:-1;;;;;10381:45:0;;;;10395:4;;10381:45;;;;;;;;;;10437:4;:14;;-1:-1:-1;;;;;;10437:14:0;-1:-1:-1;;;;;10437:14:0;;;;;;;;;;10271:188::o;3297:110::-;-1:-1:-1;;;;;3381:18:0;3354:7;3381:18;;;;;;;;;;;;3297:110::o;1461:79::-;1526:6;;;;;-1:-1:-1;;;;;1526:6:0;;1461:79::o;11278:302::-;11382:4;;-1:-1:-1;;;;;11382:4:0;11368:10;:18;;:41;;-1:-1:-1;11404:5:0;;-1:-1:-1;;;;;11404:5:0;11390:10;:19;11368:41;11360:50;;;;;;11440:43;;;-1:-1:-1;;;11440:43:0;;11477:4;11440:43;;;;;;11423:14;;-1:-1:-1;;;;;11440:28:0;;;;;:43;;;;;;;;;;;;;;;:28;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;11440:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11440:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11440:43:0;;-1:-1:-1;11502:10:0;11494:19;;;;;;11531:10;-1:-1:-1;;;;;11524:27:0;;11552:9;11563:6;11524:46;;;;;;;;;;;;;-1:-1:-1;;;;;11524:46:0;-1:-1:-1;;;;;11524:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11524:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11524:46:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;11278:302:0:o;3012:87::-;3084:7;3077:14;;;;;;;;-1:-1:-1;;3077:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3051:13;;3077:14;;3084:7;;3077:14;;3084:7;3077:14;;;;;;;;;;;;;;;;;;;;;;;;4401:257;4486:4;4503:125;4512:10;4524:7;4533:94;4570:15;4533:94;;;;;;;;;;;;;;;;;4545:10;4533:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4533:32:0;;;;;;;;;;;:94;;:36;:94;:::i;3415:156::-;3484:4;3501:40;3511:10;3523:9;3534:6;3501:9;:40::i;10125:138::-;8203:4;;-1:-1:-1;;;;;8203:4:0;8189:10;:18;8181:40;;;;;-1:-1:-1;;;8181:40:0;;;;;;;;;;;;-1:-1:-1;;;8181:40:0;;;;;;;;;;;;;;;10196:15;;;;10195:16;:25;;;;;10215:5;10195:25;10187:34;;;;;;10232:15;:23;;-1:-1:-1;;10232:23:0;;;;;;;;;;10125:138::o;10981:289::-;11082:4;11107:24;11115:7;11124:6;11107:7;:24::i;:::-;11099:33;;;;;;11145:93;;-1:-1:-1;;;11145:93:0;;11193:10;11145:93;;;;;;;;;;;;11221:4;11145:93;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11145:47:0;;;;;11193:10;11205:6;;11221:4;11228:9;;;;11145:93;;;;11228:9;;;;11145:93;1:33:-1;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;11145:93:0;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11145:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;11258:4:0;;10981:289;-1:-1:-1;;;;;;;;10981:289:0:o;3579:134::-;-1:-1:-1;;;;;3678:18:0;;;3651:7;3678:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3579:134::o;8952:211::-;7132:21;7142:10;7132:9;:21::i;:::-;7124:58;;;;;-1:-1:-1;;;7124:58:0;;;;;;;;;;;;-1:-1:-1;;;7124:58:0;;;;;;;;;;;;;;;9056:9;9051:105;9075:8;:15;9071:1;:19;9051:105;;;9112:32;9120:8;9129:1;9120:11;;;;;;;;;;;;;;9133:7;9141:1;9133:10;;;;;;;;;;;;;;9112:7;:32::i;:::-;9092:3;;9051:105;;9804:313;8203:4;;-1:-1:-1;;;;;8203:4:0;8189:10;:18;8181:40;;;;;-1:-1:-1;;;8181:40:0;;;;;;;;;;;;-1:-1:-1;;;8181:40:0;;;;;;;;;;;;;;;9907:15;;;;9906:16;9898:48;;;;;-1:-1:-1;;;9898:48:0;;;;;;;;;;;;-1:-1:-1;;;9898:48:0;;;;;;;;;;;;;;;9962:9;9957:153;9981:8;:15;9977:1;:19;9957:153;;;10018:29;10024:8;10033:1;10024:11;;;;;;;;;;;;;;10037:6;10044:1;10037:9;;;;;;;;;;;;;;10018:5;:29::i;:::-;10075:8;10084:1;10075:11;;;;;;;;;;;;;;-1:-1:-1;;;;;10067:31:0;;10088:6;10095:1;10088:9;;;;;;;;;;;;;;10067:31;;;;;;;;;;;;;;;;;;9998:3;;9957:153;;1673:236;1588:6;;;;;-1:-1:-1;;;;;1588:6:0;1598:10;1588:20;1580:65;;;;;-1:-1:-1;;;1580:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1754:22:0;;1746:73;;;;-1:-1:-1;;;1746:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1856:6;;1835:38;;-1:-1:-1;;;;;1835:38:0;;;;1856:6;;;;;1835:38;;;;;1884:6;:17;;-1:-1:-1;;;;;1884:17:0;;;;;-1:-1:-1;;;;;;1884:17:0;;;;;;;;;1673:236::o;5817:338::-;-1:-1:-1;;;;;5911:19:0;;5903:68;;;;-1:-1:-1;;;5903:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5990:21:0;;5982:68;;;;-1:-1:-1;;;5982:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6063:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6115:32;;;;;;;;;;;;;;;;;5817:338;;;:::o;8541:159::-;-1:-1:-1;;;;;7822:16:0;;;;;;:7;:16;;;;;;8631:6;;7803:15;:35;;7795:65;;;;;-1:-1:-1;;;7795:65:0;;;;;;;;;;;;-1:-1:-1;;;7795:65:0;;;;;;;;;;;;;;;8650:42;8666:6;8674:9;8685:6;8650:15;:42::i;386:192::-;472:7;508:12;500:6;;;;492:29;;;;-1:-1:-1;;;492:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;492:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;544:5:0;;;386:192::o;6440:183::-;6520:18;6524:4;6530:7;6520:3;:18::i;:::-;6512:64;;;;-1:-1:-1;;;6512:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6587:20:0;6610:5;6587:20;;;;;;;;;;;:28;;-1:-1:-1;;6587:28:0;;;6440:183::o;53:181::-;111:7;143:5;;;167:6;;;;159:46;;;;;-1:-1:-1;;;159:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;225:1;53:181;-1:-1:-1;;;53:181:0:o;9171:171::-;9270:26;9278:9;9289:6;9270:7;:26::i;:::-;9307:27;9316:9;9327:6;9307:8;:27::i;6254:178::-;6332:18;6336:4;6342:7;6332:3;:18::i;:::-;6331:19;6323:63;;;;;-1:-1:-1;;;6323:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6397:20:0;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;6397:27:0;6420:4;6397:27;;;6254:178::o;6631:203::-;6703:4;-1:-1:-1;;;;;6728:21:0;;6720:68;;;;-1:-1:-1;;;6720:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6806:20:0;:11;:20;;;;;;;;;;;;;;;6631:203::o;8708:236::-;-1:-1:-1;;;;;8786:21:0;;8778:30;;;;;;8838:27;:15;8858:6;8838:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;8819:16:0;;;;;;:7;:16;;;;;;;;;:46;;;;8881:55;;;;;8920:15;8881:55;;;;;;;;;8819:16;;8891:10;;8881:55;;;;;;;;;;;8708:236;;:::o;5145:308::-;-1:-1:-1;;;;;5221:21:0;;5213:65;;;;;-1:-1:-1;;;5213:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5306:12;;:24;;5323:6;5306:24;:16;:24;:::i;:::-;5291:12;:39;-1:-1:-1;;;;;5362:18:0;;:9;:18;;;;;;;;;;;:30;;5385:6;5362:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;5341:18:0;;:9;:18;;;;;;;;;;;:51;;;;5408:37;;;;;;;5341:18;;:9;;5408:37;;;;;;;;;;5145:308;;:::o;4666:471::-;-1:-1:-1;;;;;4764:20:0;;4756:70;;;;-1:-1:-1;;;4756:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4845:23:0;;4837:71;;;;-1:-1:-1;;;4837:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4941;4963:6;4941:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4941:17:0;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;4921:17:0;;;:9;:17;;;;;;;;;;;:91;;;;5046:20;;;;;;;:32;;5071:6;5046:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5023:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;5094:35;;;;;;;5023:20;;5094:35;;;;;;;;;;;;;4666:471;;;:::o;7503:5087::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7503:5087:0;;;-1:-1:-1;7503:5087:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://7f086cc6487e1076e0a59770a859c77884661251677cb20da912e563bf36493f

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.