ETH Price: $2,643.82 (+1.49%)

Token

Unipot (UNI)
 

Overview

Max Total Supply

8,559,133.52324229 UNI

Holders

1,650 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
9.9 UNI

Value
$0.00
0x4c812D4c2374Ab8d51232F4c990f524C83cBef4e
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Unipot is a weekly lottery built on the Ethereum blockchain with a guaranteed winner. Your UNI tokens become your tickets for the drawing. Drawings automatically take place every Saturday @ 8pm UTC.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
jackpot

Compiler Version
v0.5.7+commit.6da8b019

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-01-28
*/

pragma solidity 0.5 .7;

interface IERC20 {
    function totalSupply() external view returns(uint256);

    function balanceOf(address who) external view returns(uint256);

    function allowance(address owner, address spender) external view returns(uint256);

    function transfer(address to, uint256 value) external returns(bool);

    function approve(address spender, uint256 value) external returns(bool);

    function transferFrom(address from, address to, uint256 value) external returns(bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns(uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

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

    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) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }

    function ceil(uint256 a, uint256 m) internal pure returns(uint256) {
        uint256 c = add(a, m);
        uint256 d = sub(c, 1);
        return mul(div(d, m), m);
    }
}


contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    constructor(string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = 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;
    }
}
contract Owned {
    address payable public owner = 0x416535372f3037606f0c001A3a3289EE5EF32A3E;
    address payable public drawer = 0x9DE0C33D8225FbeBDE4b8d5Ac8bD8B89f780e5dc;
    event OwnershipTransferred(address indexed _from, address indexed _to);


    modifier onlyOwnerOrDrawer {
        require(msg.sender == owner || msg.sender == drawer);
        _;
    }

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

    function transferOwnershipOfDrawer(address payable _newOwner) public onlyOwnerOrDrawer {
        drawer = _newOwner;
    }

    function transferOwnership(address payable _newOwner) public onlyOwner {
        owner = _newOwner;
    }
}
contract jackpot is ERC20Detailed, Owned {

    using SafeMath
    for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowed;



    string constant tokenName = "Unipot";
    string constant tokenSymbol = "UNI";
    uint8 constant tokenDecimals = 8;
    uint256 _totalSupply = 10000000 * 100000000;
    uint256 public basePercent = 100;
    address public lastWinner;
    address public burnAddress = 0x0000000000000000000000000000000000000000;

    function transfer(address to, uint256 value) public returns(bool) {

        require(value <= _balances[msg.sender], "Value sending is higher than the balance");
        require(to != address(0), "Can't transfer to zero address, use burnFrom instead");

        uint256 tokensToBurn = findPointFivePercent(value);
        uint256 tokensForDividentTrans = findPointFivePercent(value);
        uint256 tokensToTransfer = value.sub(tokensToBurn.add(tokensForDividentTrans));

        _balances[msg.sender] = _balances[msg.sender].sub(value);
        _balances[to] = _balances[to].add(tokensToTransfer);
        _balances[address(this)] = _balances[address(this)].add(tokensForDividentTrans);
        _totalSupply = _totalSupply.sub(tokensToBurn);

        emit Transfer(msg.sender, to, tokensToTransfer);
        emit Transfer(msg.sender, address(0), tokensToBurn);
        emit Transfer(msg.sender, address(this), tokensForDividentTrans);

        return true;
    }


    function pickWinner(address[] memory randomEntries) public onlyOwnerOrDrawer returns(bool) {
        uint winner = (uint(keccak256(abi.encodePacked(now, msg.sender, block.number))) % (randomEntries.length)) - 1;
        lastWinner = randomEntries[winner];
        transferFromContract(lastWinner, findPointFivePercent(balanceOf(address(this))));
        return true;

    }

    constructor() public payable ERC20Detailed(tokenName, tokenSymbol, tokenDecimals) {
        _balances[owner] = _balances[owner].add(_totalSupply);
        emit Transfer(address(0), owner, _totalSupply);
    }

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

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

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

    function findPointFivePercent(uint256 value) public view returns(uint256) {
        uint256 roundValue = value.ceil(basePercent);
        uint256 pointFivePercent = roundValue.mul(basePercent).div(20000);
        return pointFivePercent;
    }

    function withdrawTokenByOwner() public onlyOwner {
        transfer(owner, balanceOf(address(this)));
    }


    function transferFromContract(address to, uint256 value) internal returns(bool) {

        address contractAddress = address(this);
        require(value <= _balances[contractAddress], "Value sending is higher than the balance");
        require(to != address(0), "Can't transfer to zero address, use burnFrom instead");

        uint256 tokensToBurn = findPointFivePercent(value);
        uint256 tokensToTransfer = value.sub(tokensToBurn);

        _balances[contractAddress] = _balances[contractAddress].sub(value);
        _balances[to] = _balances[to].add(tokensToTransfer);
        _totalSupply = _totalSupply.sub(tokensToBurn);

        emit Transfer(contractAddress, to, tokensToTransfer);
        emit Transfer(contractAddress, address(0), tokensToBurn);

        return true;
    }




    /**
     * @dev Airdrops some tokens to some accounts.
     * @param source The address of the current token holder.
     * @param dests List of account addresses.
     * @param values List of token amounts. Note that these are in whole
     *   tokens. Fractions of tokens are not supported.
     */
    function airdrop(address source, address[] memory dests, uint256[] memory values) public onlyOwner {
        // This simple validation will catch most mistakes without consuming
        // too much gas.
        require(dests.length == values.length, "Address and values doesn't match");

        for (uint256 i = 0; i < dests.length; i++) {
            require(transferFrom(source, dests[i], values[i]));
        }
    }


    function approve(address spender, uint256 value) public returns(bool) {
        require(spender != address(0), "Can't approve to zero address");
        _allowed[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    function transferFrom(address from, address to, uint256 value) public returns(bool) {
        require(value <= _balances[from], "Insufficient balance");
        require(value <= _allowed[from][msg.sender], "Balance not allowed");
        require(to != address(0), "Can't send to zero address");
        _balances[from] = _balances[from].sub(value);

        uint256 tokensToBurn = findPointFivePercent(value);
        uint256 tokenForDivident = findPointFivePercent(value);


        uint256 tokensToTransfer = value.sub(tokensToBurn.add(tokenForDivident));

        _balances[to] = _balances[to].add(tokensToTransfer);
        _balances[address(this)] = _balances[address(this)].add(tokenForDivident);
        _totalSupply = _totalSupply.sub(tokensToBurn);
        _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);

        emit Transfer(from, to, tokensToTransfer);
        emit Transfer(from, address(0), tokensToBurn);
        emit Transfer(from, address(this), tokenForDivident);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public returns(bool) {
        require(spender != address(0), "Can't allow to zero address");
        _allowed[msg.sender][spender] = (_allowed[msg.sender][spender].add(addedValue));
        emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns(bool) {
        require(spender != address(0), "Can't allow to zero address");
        _allowed[msg.sender][spender] = (_allowed[msg.sender][spender].sub(subtractedValue));
        emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
        return true;
    }

    function burn(uint256 amount) external {
        _burn(msg.sender, amount);
    }


    function _burn(address account, uint256 amount) internal {
        require(amount != 0, "Can't burn zero amount");
        require(amount <= _balances[account], "Balance not enough");
        _totalSupply = _totalSupply.sub(amount);
        _balances[account] = _balances[account].sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function burnFrom(address account, uint256 amount) external {
        require(amount <= _allowed[account][msg.sender], "Balance not allowed");
        _allowed[account][msg.sender] = _allowed[account][msg.sender].sub(amount);
        _burn(account, amount);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"source","type":"address"},{"name":"dests","type":"address[]"},{"name":"values","type":"uint256[]"}],"name":"airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"drawer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawTokenByOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnershipOfDrawer","outputs":[],"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":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"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":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"burnAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"randomEntries","type":"address[]"}],"name":"pickWinner","outputs":[{"name":"","type":"bool"}],"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":"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":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"basePercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"value","type":"uint256"}],"name":"findPointFivePercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastWinner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","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"}]

608060405273416535372f3037606f0c001a3a3289ee5ef32a3e600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739de0c33d8225fbebde4b8d5ac8bd8b89f780e5dc600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555066038d7ea4c6800060065560646007556000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600681526020017f556e69706f7400000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f554e49000000000000000000000000000000000000000000000000000000000081525060088260009080519060200190620001869291906200034d565b5081600190805190602001906200019f9291906200034d565b5080600260006101000a81548160ff021916908360ff1602179055505050506200023b60065460046000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200033060201b620026d71790919060201c565b60046000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040518082815260200191505060405180910390a3620003fc565b6000808284019050838110156200034357fe5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200039057805160ff1916838001178555620003c1565b82800160010185558215620003c1579182015b82811115620003c0578251825591602001919060010190620003a3565b5b509050620003d09190620003d4565b5090565b620003f991905b80821115620003f5576000816000905550600101620003db565b5090565b90565b612db1806200040c6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370d5ae05116100c3578063a9059cbb1161007c578063a9059cbb14610899578063c5ac0ded146108ff578063dd62ed3e1461091d578063e78a3caa14610995578063f2fde38b146109d7578063fe18818414610a1b57610158565b806370d5ae05146105fe57806379cc6790146106485780637d47a975146106965780638da5cb5b1461076657806395d89b41146107b0578063a457c2d71461083357610158565b806318160ddd1161011557806318160ddd1461044a57806323b872dd14610468578063313ce567146104ee578063395093511461051257806342966c681461057857806370a08231146105a657610158565b8063025ff12f1461015d57806306fdde03146102c9578063095ea7b31461034c57806311bc5315146103b257806312c0aeb9146103fc57806314c3422014610406575b600080fd5b6102c76004803603606081101561017357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101b057600080fd5b8201836020820111156101c257600080fd5b803590602001918460208302840111640100000000831117156101e457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561024457600080fd5b82018360208201111561025657600080fd5b8035906020019184602083028401116401000000008311171561027857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610a65565b005b6102d1610b92565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103115780820151818401526020810190506102f6565b50505050905090810190601f16801561033e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103986004803603604081101561036257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c34565b604051808215151515815260200191505060405180910390f35b6103ba610dc8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610404610dee565b005b6104486004803603602081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e7f565b005b610452610f75565b6040518082815260200191505060405180910390f35b6104d46004803603606081101561047e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f7f565b604051808215151515815260200191505060405180910390f35b6104f6611635565b604051808260ff1660ff16815260200191505060405180910390f35b61055e6004803603604081101561052857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061164c565b604051808215151515815260200191505060405180910390f35b6105a46004803603602081101561058e57600080fd5b81019080803590602001909291905050506118ea565b005b6105e8600480360360208110156105bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118f7565b6040518082815260200191505060405180910390f35b610606611940565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106946004803603604081101561065e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611966565b005b61074c600480360360208110156106ac57600080fd5b81019080803590602001906401000000008111156106c957600080fd5b8201836020820111156106db57600080fd5b803590602001918460208302840111640100000000831117156106fd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611b75565b604051808215151515815260200191505060405180910390f35b61076e611d3e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107b8611d64565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107f85780820151818401526020810190506107dd565b50505050905090810190601f1680156108255780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61087f6004803603604081101561084957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e06565b604051808215151515815260200191505060405180910390f35b6108e5600480360360408110156108af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506120a4565b604051808215151515815260200191505060405180910390f35b61090761251e565b6040518082815260200191505060405180910390f35b61097f6004803603604081101561093357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612524565b6040518082815260200191505060405180910390f35b6109c1600480360360208110156109ab57600080fd5b81019080803590602001909291905050506125ab565b6040518082815260200191505060405180910390f35b610a19600480360360208110156109ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125fc565b005b610a2361269a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610abf57600080fd5b8051825114610b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4164647265737320616e642076616c75657320646f65736e2774206d6174636881525060200191505060405180910390fd5b60008090505b8251811015610b8c57610b7684848381518110610b5557fe5b6020026020010151848481518110610b6957fe5b6020026020010151610f7f565b610b7f57600080fd5b8080600101915050610b3c565b50505050565b606060008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c2a5780601f10610bff57610100808354040283529160200191610c2a565b820191906000526020600020905b815481529060010190602001808311610c0d57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f43616e277420617070726f766520746f207a65726f206164647265737300000081525060200191505060405180910390fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e4857600080fd5b610e7c600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e77306118f7565b6120a4565b50565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f285750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f3157600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600654905090565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611036576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f496e73756666696369656e742062616c616e636500000000000000000000000081525060200191505060405180910390fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611128576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f42616c616e6365206e6f7420616c6c6f7765640000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f43616e27742073656e6420746f207a65726f206164647265737300000000000081525060200191505060405180910390fd5b61121d82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061126b836125ab565b90506000611278846125ab565b905060006112a161129283856126d790919063ffffffff16565b866126c090919063ffffffff16565b90506112f581600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061138a82600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113e2836006546126c090919063ffffffff16565b60068190555061147785600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a33073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600193505050509392505050565b6000600260009054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f43616e277420616c6c6f7720746f207a65726f2061646472657373000000000081525060200191505060405180910390fd5b61177f82600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6118f433826126f3565b50565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611a58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f42616c616e6365206e6f7420616c6c6f7765640000000000000000000000000081525060200191505060405180910390fd5b611ae781600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b7182826126f3565b5050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611c205750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611c2957600080fd5b600060018351423343604051602001808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140182815260200193505050506040516020818303038152906040528051906020012060001c81611c9f57fe5b06039050828181518110611caf57fe5b6020026020010151600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611d33600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611d2e611d29306118f7565b6125ab565b612939565b506001915050919050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611dfc5780601f10611dd157610100808354040283529160200191611dfc565b820191906000526020600020905b815481529060010190602001808311611ddf57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611eaa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f43616e277420616c6c6f7720746f207a65726f2061646472657373000000000081525060200191505060405180910390fd5b611f3982600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561213e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612d5e6028913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121c4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180612d2a6034913960400191505060405180910390fd5b60006121cf836125ab565b905060006121dc846125ab565b905060006122056121f683856126d790919063ffffffff16565b866126c090919063ffffffff16565b905061225985600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122ee81600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061238382600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123db836006546126c090919063ffffffff16565b6006819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a33073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001935050505092915050565b60075481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000806125c360075484612c9e90919063ffffffff16565b905060006125f0614e206125e260075485612cd990919063ffffffff16565b612d1090919063ffffffff16565b90508092505050919050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461265657600080fd5b80600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000828211156126cc57fe5b818303905092915050565b6000808284019050838110156126e957fe5b8091505092915050565b600081141561276a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e2774206275726e207a65726f20616d6f756e740000000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561281f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f42616c616e6365206e6f7420656e6f756768000000000000000000000000000081525060200191505060405180910390fd5b612834816006546126c090919063ffffffff16565b60068190555061288c81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080309050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311156129d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612d5e6028913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180612d2a6034913960400191505060405180910390fd5b6000612a68846125ab565b90506000612a7f82866126c090919063ffffffff16565b9050612ad385600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b6881600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bc0826006546126c090919063ffffffff16565b6006819055508573ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001935050505092915050565b600080612cab84846126d7565b90506000612cba8260016126c0565b9050612ccf612cc98286612d10565b85612cd9565b9250505092915050565b600080831415612cec5760009050612d0a565b6000828402905082848281612cfd57fe5b0414612d0557fe5b809150505b92915050565b600080828481612d1c57fe5b049050809150509291505056fe43616e2774207472616e7366657220746f207a65726f20616464726573732c20757365206275726e46726f6d20696e737465616456616c75652073656e64696e6720697320686967686572207468616e207468652062616c616e6365a165627a7a72305820092f10400042617fac36779cdb28cc9b97d0e74363fb81d80783cff90e46d3090029

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370d5ae05116100c3578063a9059cbb1161007c578063a9059cbb14610899578063c5ac0ded146108ff578063dd62ed3e1461091d578063e78a3caa14610995578063f2fde38b146109d7578063fe18818414610a1b57610158565b806370d5ae05146105fe57806379cc6790146106485780637d47a975146106965780638da5cb5b1461076657806395d89b41146107b0578063a457c2d71461083357610158565b806318160ddd1161011557806318160ddd1461044a57806323b872dd14610468578063313ce567146104ee578063395093511461051257806342966c681461057857806370a08231146105a657610158565b8063025ff12f1461015d57806306fdde03146102c9578063095ea7b31461034c57806311bc5315146103b257806312c0aeb9146103fc57806314c3422014610406575b600080fd5b6102c76004803603606081101561017357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101b057600080fd5b8201836020820111156101c257600080fd5b803590602001918460208302840111640100000000831117156101e457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561024457600080fd5b82018360208201111561025657600080fd5b8035906020019184602083028401116401000000008311171561027857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610a65565b005b6102d1610b92565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103115780820151818401526020810190506102f6565b50505050905090810190601f16801561033e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103986004803603604081101561036257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c34565b604051808215151515815260200191505060405180910390f35b6103ba610dc8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610404610dee565b005b6104486004803603602081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e7f565b005b610452610f75565b6040518082815260200191505060405180910390f35b6104d46004803603606081101561047e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f7f565b604051808215151515815260200191505060405180910390f35b6104f6611635565b604051808260ff1660ff16815260200191505060405180910390f35b61055e6004803603604081101561052857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061164c565b604051808215151515815260200191505060405180910390f35b6105a46004803603602081101561058e57600080fd5b81019080803590602001909291905050506118ea565b005b6105e8600480360360208110156105bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118f7565b6040518082815260200191505060405180910390f35b610606611940565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106946004803603604081101561065e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611966565b005b61074c600480360360208110156106ac57600080fd5b81019080803590602001906401000000008111156106c957600080fd5b8201836020820111156106db57600080fd5b803590602001918460208302840111640100000000831117156106fd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611b75565b604051808215151515815260200191505060405180910390f35b61076e611d3e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107b8611d64565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107f85780820151818401526020810190506107dd565b50505050905090810190601f1680156108255780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61087f6004803603604081101561084957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e06565b604051808215151515815260200191505060405180910390f35b6108e5600480360360408110156108af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506120a4565b604051808215151515815260200191505060405180910390f35b61090761251e565b6040518082815260200191505060405180910390f35b61097f6004803603604081101561093357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612524565b6040518082815260200191505060405180910390f35b6109c1600480360360208110156109ab57600080fd5b81019080803590602001909291905050506125ab565b6040518082815260200191505060405180910390f35b610a19600480360360208110156109ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506125fc565b005b610a2361269a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610abf57600080fd5b8051825114610b36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4164647265737320616e642076616c75657320646f65736e2774206d6174636881525060200191505060405180910390fd5b60008090505b8251811015610b8c57610b7684848381518110610b5557fe5b6020026020010151848481518110610b6957fe5b6020026020010151610f7f565b610b7f57600080fd5b8080600101915050610b3c565b50505050565b606060008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c2a5780601f10610bff57610100808354040283529160200191610c2a565b820191906000526020600020905b815481529060010190602001808311610c0d57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f43616e277420617070726f766520746f207a65726f206164647265737300000081525060200191505060405180910390fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e4857600080fd5b610e7c600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e77306118f7565b6120a4565b50565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f285750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f3157600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600654905090565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611036576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f496e73756666696369656e742062616c616e636500000000000000000000000081525060200191505060405180910390fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611128576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f42616c616e6365206e6f7420616c6c6f7765640000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f43616e27742073656e6420746f207a65726f206164647265737300000000000081525060200191505060405180910390fd5b61121d82600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061126b836125ab565b90506000611278846125ab565b905060006112a161129283856126d790919063ffffffff16565b866126c090919063ffffffff16565b90506112f581600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061138a82600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113e2836006546126c090919063ffffffff16565b60068190555061147785600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a33073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600193505050509392505050565b6000600260009054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f43616e277420616c6c6f7720746f207a65726f2061646472657373000000000081525060200191505060405180910390fd5b61177f82600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6118f433826126f3565b50565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611a58576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f42616c616e6365206e6f7420616c6c6f7765640000000000000000000000000081525060200191505060405180910390fd5b611ae781600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b7182826126f3565b5050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611c205750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611c2957600080fd5b600060018351423343604051602001808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140182815260200193505050506040516020818303038152906040528051906020012060001c81611c9f57fe5b06039050828181518110611caf57fe5b6020026020010151600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611d33600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611d2e611d29306118f7565b6125ab565b612939565b506001915050919050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611dfc5780601f10611dd157610100808354040283529160200191611dfc565b820191906000526020600020905b815481529060010190602001808311611ddf57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611eaa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f43616e277420616c6c6f7720746f207a65726f2061646472657373000000000081525060200191505060405180910390fd5b611f3982600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561213e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612d5e6028913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121c4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180612d2a6034913960400191505060405180910390fd5b60006121cf836125ab565b905060006121dc846125ab565b905060006122056121f683856126d790919063ffffffff16565b866126c090919063ffffffff16565b905061225985600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122ee81600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061238382600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123db836006546126c090919063ffffffff16565b6006819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a33073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001935050505092915050565b60075481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000806125c360075484612c9e90919063ffffffff16565b905060006125f0614e206125e260075485612cd990919063ffffffff16565b612d1090919063ffffffff16565b90508092505050919050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461265657600080fd5b80600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000828211156126cc57fe5b818303905092915050565b6000808284019050838110156126e957fe5b8091505092915050565b600081141561276a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e2774206275726e207a65726f20616d6f756e740000000000000000000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561281f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f42616c616e6365206e6f7420656e6f756768000000000000000000000000000081525060200191505060405180910390fd5b612834816006546126c090919063ffffffff16565b60068190555061288c81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080309050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311156129d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612d5e6028913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180612d2a6034913960400191505060405180910390fd5b6000612a68846125ab565b90506000612a7f82866126c090919063ffffffff16565b9050612ad385600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126c090919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b6881600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bc0826006546126c090919063ffffffff16565b6006819055508573ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001935050505092915050565b600080612cab84846126d7565b90506000612cba8260016126c0565b9050612ccf612cc98286612d10565b85612cd9565b9250505092915050565b600080831415612cec5760009050612d0a565b6000828402905082848281612cfd57fe5b0414612d0557fe5b809150505b92915050565b600080828481612d1c57fe5b049050809150509291505056fe43616e2774207472616e7366657220746f207a65726f20616464726573732c20757365206275726e46726f6d20696e737465616456616c75652073656e64696e6720697320686967686572207468616e207468652062616c616e6365a165627a7a72305820092f10400042617fac36779cdb28cc9b97d0e74363fb81d80783cff90e46d3090029

Deployed Bytecode Sourcemap

2803:7236:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2803:7236:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6801:428;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6801:428:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6801:428:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6801:428:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6801:428:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;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;;6801:428:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6801:428:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6801:428:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6801:428:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;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;;6801:428:0;;;;;;;;;;;;;;;:::i;:::-;;1820:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1820:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7239:274;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7239:274:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2193:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5548:109;;;:::i;:::-;;2559:124;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2559:124:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4944:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7521:1050;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7521:1050:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2004:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8579:353;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8579:353:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9311:83;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9311:83:0;;;;;;;;;;;;;;;;;:::i;:::-;;5042:105;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5042:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3265:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9769:267;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9769:267:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4338:379;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4338:379:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4338:379:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4338:379:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4338:379:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;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;;4338:379:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2113:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1910:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1910:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8940:363;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8940:363:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3345:983;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3345:983:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3194:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5155:130;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5155:130:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5293:247;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5293:247:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2691:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2691:107:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3233:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6801:428;2525:5;;;;;;;;;;;2511:19;;:10;:19;;;2503:28;;;;;;7039:6;:13;7023:5;:12;:29;7015:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7107:9;7119:1;7107:13;;7102:120;7126:5;:12;7122:1;:16;7102:120;;;7168:41;7181:6;7189:5;7195:1;7189:8;;;;;;;;;;;;;;7199:6;7206:1;7199:9;;;;;;;;;;;;;;7168:12;:41::i;:::-;7160:50;;;;;;7140:3;;;;;;;7102:120;;;;6801:428;;;:::o;1820:82::-;1856:13;1889:5;1882:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1820:82;:::o;7239:274::-;7303:4;7347:1;7328:21;;:7;:21;;;;7320:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7426:5;7394:8;:20;7403:10;7394:20;;;;;;;;;;;;;;;:29;7415:7;7394:29;;;;;;;;;;;;;;;:37;;;;7468:7;7447:36;;7456:10;7447:36;;;7477:5;7447:36;;;;;;;;;;;;;;;;;;7501:4;7494:11;;7239:274;;;;:::o;2193:74::-;;;;;;;;;;;;;:::o;5548:109::-;2525:5;;;;;;;;;;;2511:19;;:10;:19;;;2503:28;;;;;;5608:41;5617:5;;;;;;;;;;;5624:24;5642:4;5624:9;:24::i;:::-;5608:8;:41::i;:::-;;5548:109::o;2559:124::-;2415:5;;;;;;;;;;;2401:19;;:10;:19;;;:43;;;;2438:6;;;;;;;;;;;2424:20;;:10;:20;;;2401:43;2393:52;;;;;;2666:9;2657:6;;:18;;;;;;;;;;;;;;;;;;2559:124;:::o;4944:90::-;4987:7;5014:12;;5007:19;;4944:90;:::o;7521:1050::-;7599:4;7633:9;:15;7643:4;7633:15;;;;;;;;;;;;;;;;7624:5;:24;;7616:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7701:8;:14;7710:4;7701:14;;;;;;;;;;;;;;;:26;7716:10;7701:26;;;;;;;;;;;;;;;;7692:5;:35;;7684:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7784:1;7770:16;;:2;:16;;;;7762:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7846:26;7866:5;7846:9;:15;7856:4;7846:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;7828:9;:15;7838:4;7828:15;;;;;;;;;;;;;;;:44;;;;7885:20;7908:27;7929:5;7908:20;:27::i;:::-;7885:50;;7946:24;7973:27;7994:5;7973:20;:27::i;:::-;7946:54;;8015:24;8042:45;8052:34;8069:16;8052:12;:16;;:34;;;;:::i;:::-;8042:5;:9;;:45;;;;:::i;:::-;8015:72;;8116:35;8134:16;8116:9;:13;8126:2;8116:13;;;;;;;;;;;;;;;;:17;;:35;;;;:::i;:::-;8100:9;:13;8110:2;8100:13;;;;;;;;;;;;;;;:51;;;;8189:46;8218:16;8189:9;:24;8207:4;8189:24;;;;;;;;;;;;;;;;:28;;:46;;;;:::i;:::-;8162:9;:24;8180:4;8162:24;;;;;;;;;;;;;;;:73;;;;8261:30;8278:12;8261;;:16;;:30;;;;:::i;:::-;8246:12;:45;;;;8331:37;8362:5;8331:8;:14;8340:4;8331:14;;;;;;;;;;;;;;;:26;8346:10;8331:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;8302:8;:14;8311:4;8302:14;;;;;;;;;;;;;;;:26;8317:10;8302:26;;;;;;;;;;;;;;;:66;;;;8401:2;8386:36;;8395:4;8386:36;;;8405:16;8386:36;;;;;;;;;;;;;;;;;;8461:1;8438:40;;8447:4;8438:40;;;8465:12;8438:40;;;;;;;;;;;;;;;;;;8517:4;8494:47;;8503:4;8494:47;;;8524:16;8494:47;;;;;;;;;;;;;;;;;;8559:4;8552:11;;;;;7521:1050;;;;;:::o;2004:82::-;2044:5;2069:9;;;;;;;;;;;2062:16;;2004:82;:::o;8579:353::-;8658:4;8702:1;8683:21;;:7;:21;;;;8675:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8780:45;8814:10;8780:8;:20;8789:10;8780:20;;;;;;;;;;;;;;;:29;8801:7;8780:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;8747:8;:20;8756:10;8747:20;;;;;;;;;;;;;;;:29;8768:7;8747:29;;;;;;;;;;;;;;;:79;;;;8863:7;8842:60;;8851:10;8842:60;;;8872:8;:20;8881:10;8872:20;;;;;;;;;;;;;;;:29;8893:7;8872:29;;;;;;;;;;;;;;;;8842:60;;;;;;;;;;;;;;;;;;8920:4;8913:11;;8579:353;;;;:::o;9311:83::-;9361:25;9367:10;9379:6;9361:5;:25::i;:::-;9311:83;:::o;5042:105::-;5096:7;5123:9;:16;5133:5;5123:16;;;;;;;;;;;;;;;;5116:23;;5042:105;;;:::o;3265:71::-;;;;;;;;;;;;;:::o;9769:267::-;9858:8;:17;9867:7;9858:17;;;;;;;;;;;;;;;:29;9876:10;9858:29;;;;;;;;;;;;;;;;9848:6;:39;;9840:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9954:41;9988:6;9954:8;:17;9963:7;9954:17;;;;;;;;;;;;;;;:29;9972:10;9954:29;;;;;;;;;;;;;;;;:33;;:41;;;;:::i;:::-;9922:8;:17;9931:7;9922:17;;;;;;;;;;;;;;;:29;9940:10;9922:29;;;;;;;;;;;;;;;:73;;;;10006:22;10012:7;10021:6;10006:5;:22::i;:::-;9769:267;;:::o;4338:379::-;4423:4;2415:5;;;;;;;;;;;2401:19;;:10;:19;;;:43;;;;2438:6;;;;;;;;;;;2424:20;;:10;:20;;;2401:43;2393:52;;;;;;4440:11;4548:1;4523:13;:20;4487:3;4492:10;4504:12;4470:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4470:47:0;;;4460:58;;;;;;4455:64;;:89;;;;;;4454:95;4440:109;;4573:13;4587:6;4573:21;;;;;;;;;;;;;;4560:10;;:34;;;;;;;;;;;;;;;;;;4605:80;4626:10;;;;;;;;;;;4638:46;4659:24;4677:4;4659:9;:24::i;:::-;4638:20;:46::i;:::-;4605:20;:80::i;:::-;;4703:4;4696:11;;;4338:379;;;:::o;2113:73::-;;;;;;;;;;;;;:::o;1910:86::-;1948:13;1981:7;1974:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1910:86;:::o;8940:363::-;9024:4;9068:1;9049:21;;:7;:21;;;;9041:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9146:50;9180:15;9146:8;:20;9155:10;9146:20;;;;;;;;;;;;;;;:29;9167:7;9146:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;9113:8;:20;9122:10;9113:20;;;;;;;;;;;;;;;:29;9134:7;9113:29;;;;;;;;;;;;;;;:84;;;;9234:7;9213:60;;9222:10;9213:60;;;9243:8;:20;9252:10;9243:20;;;;;;;;;;;;;;;:29;9264:7;9243:29;;;;;;;;;;;;;;;;9213:60;;;;;;;;;;;;;;;;;;9291:4;9284:11;;8940:363;;;;:::o;3345:983::-;3405:4;3441:9;:21;3451:10;3441:21;;;;;;;;;;;;;;;;3432:5;:30;;3424:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3540:1;3526:16;;:2;:16;;;;3518:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3612:20;3635:27;3656:5;3635:20;:27::i;:::-;3612:50;;3673:30;3706:27;3727:5;3706:20;:27::i;:::-;3673:60;;3744:24;3771:51;3781:40;3798:22;3781:12;:16;;:40;;;;:::i;:::-;3771:5;:9;;:51;;;;:::i;:::-;3744:78;;3859:32;3885:5;3859:9;:21;3869:10;3859:21;;;;;;;;;;;;;;;;:25;;:32;;;;:::i;:::-;3835:9;:21;3845:10;3835:21;;;;;;;;;;;;;;;:56;;;;3918:35;3936:16;3918:9;:13;3928:2;3918:13;;;;;;;;;;;;;;;;:17;;:35;;;;:::i;:::-;3902:9;:13;3912:2;3902:13;;;;;;;;;;;;;;;:51;;;;3991:52;4020:22;3991:9;:24;4009:4;3991:24;;;;;;;;;;;;;;;;:28;;:52;;;;:::i;:::-;3964:9;:24;3982:4;3964:24;;;;;;;;;;;;;;;:79;;;;4069:30;4086:12;4069;;:16;;:30;;;;:::i;:::-;4054:12;:45;;;;4138:2;4117:42;;4126:10;4117:42;;;4142:16;4117:42;;;;;;;;;;;;;;;;;;4204:1;4175:46;;4184:10;4175:46;;;4208:12;4175:46;;;;;;;;;;;;;;;;;;4266:4;4237:59;;4246:10;4237:59;;;4273:22;4237:59;;;;;;;;;;;;;;;;;;4316:4;4309:11;;;;;3345:983;;;;:::o;3194:32::-;;;;:::o;5155:130::-;5226:7;5253:8;:15;5262:5;5253:15;;;;;;;;;;;;;;;:24;5269:7;5253:24;;;;;;;;;;;;;;;;5246:31;;5155:130;;;;:::o;5293:247::-;5358:7;5378:18;5399:23;5410:11;;5399:5;:10;;:23;;;;:::i;:::-;5378:44;;5433:24;5460:38;5492:5;5460:27;5475:11;;5460:10;:14;;:27;;;;:::i;:::-;:31;;:38;;;;:::i;:::-;5433:65;;5516:16;5509:23;;;;5293:247;;;:::o;2691:107::-;2525:5;;;;;;;;;;;2511:19;;:10;:19;;;2503:28;;;;;;2781:9;2773:5;;:17;;;;;;;;;;;;;;;;;;2691:107;:::o;3233:25::-;;;;;;;;;;;;;:::o;1053:122::-;1110:7;1142:1;1137;:6;;1130:14;;;;1166:1;1162;:5;1155:12;;1053:122;;;;:::o;1183:146::-;1240:7;1260:9;1276:1;1272;:5;1260:17;;1300:1;1295;:6;;1288:14;;;;1320:1;1313:8;;;1183:146;;;;:::o;9404:357::-;9490:1;9480:6;:11;;9472:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9547:9;:18;9557:7;9547:18;;;;;;;;;;;;;;;;9537:6;:28;;9529:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9614:24;9631:6;9614:12;;:16;;:24;;;;:::i;:::-;9599:12;:39;;;;9670:30;9693:6;9670:9;:18;9680:7;9670:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;9649:9;:18;9659:7;9649:18;;;;;;;;;;;;;;;:51;;;;9742:1;9716:37;;9725:7;9716:37;;;9746:6;9716:37;;;;;;;;;;;;;;;;;;9404:357;;:::o;5667:808::-;5741:4;5760:23;5794:4;5760:39;;5827:9;:26;5837:15;5827:26;;;;;;;;;;;;;;;;5818:5;:35;;5810:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5931:1;5917:16;;:2;:16;;;;5909:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6003:20;6026:27;6047:5;6026:20;:27::i;:::-;6003:50;;6064:24;6091:23;6101:12;6091:5;:9;;:23;;;;:::i;:::-;6064:50;;6156:37;6187:5;6156:9;:26;6166:15;6156:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;6127:9;:26;6137:15;6127:26;;;;;;;;;;;;;;;:66;;;;6220:35;6238:16;6220:9;:13;6230:2;6220:13;;;;;;;;;;;;;;;;:17;;:35;;;;:::i;:::-;6204:9;:13;6214:2;6204:13;;;;;;;;;;;;;;;:51;;;;6281:30;6298:12;6281;;:16;;:30;;;;:::i;:::-;6266:12;:45;;;;6355:2;6329:47;;6338:15;6329:47;;;6359:16;6329:47;;;;;;;;;;;;;;;;;;6426:1;6392:51;;6401:15;6392:51;;;6430:12;6392:51;;;;;;;;;;;;;;;;;;6463:4;6456:11;;;;;5667:808;;;;:::o;1337:174::-;1395:7;1415:9;1427;1431:1;1434;1427:3;:9::i;:::-;1415:21;;1447:9;1459;1463:1;1466;1459:3;:9::i;:::-;1447:21;;1486:17;1490:9;1494:1;1497;1490:3;:9::i;:::-;1501:1;1486:3;:17::i;:::-;1479:24;;;;1337:174;;;;:::o;709:207::-;766:7;795:1;790;:6;786:47;;;820:1;813:8;;;;786:47;843:9;859:1;855;:5;843:17;;887:1;882;878;:5;;;;;;:10;871:18;;;;907:1;900:8;;;709:207;;;;;:::o;924:121::-;981:7;1001:9;1017:1;1013;:5;;;;;;1001:17;;1036:1;1029:8;;;924:121;;;;:::o

Swarm Source

bzzr://092f10400042617fac36779cdb28cc9b97d0e74363fb81d80783cff90e46d309
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.