ETH Price: $1,975.43 (+0.08%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Radar (RADAR) ($0.0032)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve244370322026-02-12 0:12:1110 days ago1770855131IN
Bot Ocean: BOTS Token
0 ETH0.000002950.06344371
Approve242685382026-01-19 11:31:5933 days ago1768822319IN
Bot Ocean: BOTS Token
0 ETH0.000006430.13795869
Approve242585342026-01-18 2:05:1135 days ago1768701911IN
Bot Ocean: BOTS Token
0 ETH0.000000910.03751144
Approve242258532026-01-13 12:39:5939 days ago1768307999IN
Bot Ocean: BOTS Token
0 ETH0.000001620.06667781
Approve241721252026-01-06 0:44:4747 days ago1767660287IN
Bot Ocean: BOTS Token
0 ETH0.000025650.55413808
Transfer241701292026-01-05 18:02:5947 days ago1767636179IN
Bot Ocean: BOTS Token
0 ETH0.00002260.42010336
Approve241221542025-12-30 1:23:3554 days ago1767057815IN
Bot Ocean: BOTS Token
0 ETH0.000095212.05430361
Approve240837272025-12-24 16:38:5959 days ago1766594339IN
Bot Ocean: BOTS Token
0 ETH0.00009972.15112579
Approve240168062025-12-15 8:27:4769 days ago1765787267IN
Bot Ocean: BOTS Token
0 ETH0.000014420.59265574
Approve239042132025-11-29 12:06:3584 days ago1764417995IN
Bot Ocean: BOTS Token
0 ETH0.000006910.14931847
Approve238364242025-11-19 23:35:3594 days ago1763595335IN
Bot Ocean: BOTS Token
0 ETH0.00003490.74959714
Approve238097372025-11-16 5:44:3598 days ago1763271875IN
Bot Ocean: BOTS Token
0 ETH0.000004660.1
Approve238049982025-11-15 13:49:5998 days ago1763214599IN
Bot Ocean: BOTS Token
0 ETH0.000043151.77266744
Approve237763222025-11-11 13:34:59102 days ago1762868099IN
Bot Ocean: BOTS Token
0 ETH0.00004410.94704761
Approve237395992025-11-06 10:18:47107 days ago1762424327IN
Bot Ocean: BOTS Token
0 ETH0.00004081.67651625
Approve237264612025-11-04 14:10:11109 days ago1762265411IN
Bot Ocean: BOTS Token
0 ETH0.000046120.98915551
Transfer237114012025-11-02 11:39:47111 days ago1762083587IN
Bot Ocean: BOTS Token
0 ETH0.000033240.80142108
Transfer236553592025-10-25 15:26:35119 days ago1761405995IN
Bot Ocean: BOTS Token
0 ETH0.000112862.09790841
Approve236254992025-10-21 10:59:11123 days ago1761044351IN
Bot Ocean: BOTS Token
0 ETH0.00007491.60698638
Approve235981372025-10-17 14:59:59127 days ago1760713199IN
Bot Ocean: BOTS Token
0 ETH0.000135052.8972059
Transfer235981272025-10-17 14:57:59127 days ago1760713079IN
Bot Ocean: BOTS Token
0 ETH0.000104681.94538151
Approve235956462025-10-17 6:39:35128 days ago1760683175IN
Bot Ocean: BOTS Token
0 ETH0.000083911.81083942
Approve235947492025-10-17 3:38:35128 days ago1760672315IN
Bot Ocean: BOTS Token
0 ETH0.000074711.61152134
Approve235876822025-10-16 3:54:47129 days ago1760586887IN
Bot Ocean: BOTS Token
0 ETH0.000076411.63940512
Approve235830812025-10-15 12:25:59129 days ago1760531159IN
Bot Ocean: BOTS Token
0 ETH0.000086421.86414005
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BOTS

Compiler Version
v0.7.3+commit.9bfce1f6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-02-07
*/

/**
 *Submitted for verification at Etherscan.io on 2020-10-12
*/

pragma solidity 0.7.3;


abstract contract Context {
    function _msgSender() 
        internal
        view 
        virtual
        returns (address payable) 
    {
        return msg.sender;
    }

    function _msgData() 
        internal
        view 
        virtual 
        returns (bytes memory) 
    {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


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


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) 
    {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(
        uint256 a, 
        uint256 b, 
        string memory errorMessage
    ) 
        internal 
        pure 
        returns (uint256) 
    {
        require(b != 0, errorMessage);
        return a % b;
    }
}


library Address {
    function isContract(
        address account
    ) 
        internal 
        view 
        returns (bool) 
    {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(
        address payable recipient, 
        uint256 amount
    ) 
        internal 
    {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(
        address target, 
        bytes memory data
    ) 
        internal 
        returns (bytes memory) 
    {
      return functionCall(target, data, "Address: low-level call failed");
    }

   function functionCall(
       address target, 
       bytes memory data, 
       string memory errorMessage
    ) 
        internal 
        returns (bytes memory) 
    {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(
        address target, 
        bytes memory data, 
        uint256 value
    ) 
        internal 
        returns (bytes memory) 
    {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(
        address target, 
        bytes memory data, 
        uint256 value, 
        string memory errorMessage
    ) 
        internal 
        returns (bytes memory) 
    {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(
        address target, 
        bytes memory data, 
        uint256 weiValue, 
        string memory errorMessage
    ) 
        private 
        returns (bytes memory) 
    {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}


abstract contract Ownable is Context {
    address public owner;
    address public pendingOwner;

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

    constructor () {
        address msgSender = _msgSender();
        owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    modifier onlyOwner() {
        require(owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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


abstract contract Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused = true;

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

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

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

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


abstract contract Whitelist is Pausable {
    mapping(address => bool) public whitelist;
    mapping(address => bool) public blacklist;

    modifier isWhitelisted() {
        require(whitelist[_msgSender()]);
        _;
    }
  
    modifier isBlacklisted() {
        require(blacklist[_msgSender()]);
        _;
    }

    function addWhitelist(
        address account
    ) 
        public 
        onlyOwner 
    {
        whitelist[account] = true;
    }
    
    function removeWhitelist(
        address account
    ) 
        public 
        onlyOwner 
    {
        whitelist[account] = false;
    }

    function addBlacklist(
        address account
    ) 
        public 
        onlyOwner 
    {
        blacklist[account] = true;
    }

    function removeBlacklist(
        address account
    ) 
        public 
        onlyOwner 
    {
        blacklist[account] = false;
    }
}


abstract contract ERC20 is Whitelist, IERC20 {
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string internal _name;
    string internal _symbol;
    string internal _website;
    uint8 private _decimals;

    constructor (
        string memory name, 
        string memory symbol
    ) {
        _name = name;
        _symbol = symbol;
        _decimals = 18;
    }

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

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

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

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

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

    function transfer(
        address recipient, 
        uint256 amount
    ) 
        public 
        virtual 
        override 
        returns (bool) 
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    function allowance(
        address owner, 
        address spender
    ) 
        public 
        view 
        virtual 
        override 
        returns (uint256) 
    {
        return _allowances[owner][spender];
    }

    function approve(
        address spender, 
        uint256 amount
    ) 
        public 
        virtual 
        override 
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

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

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

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

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

        _beforeTokenTransfer(sender, recipient, amount);

        _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 
        virtual 
    {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

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

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

        _beforeTokenTransfer(account, address(0), amount);

        _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 
        virtual 
    {
        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);
    }
    
    modifier canTransfer() 
    {
        address msgSender = _msgSender();
        require(whitelist[msgSender] || !paused);
        require(!blacklist[msgSender]);
        _;
    }

    function _setupDecimals(
        uint8 decimals_
    ) 
        internal 
    {
        _decimals = decimals_;
    }

    function _beforeTokenTransfer(
        address from, 
        address to, 
        uint256 amount
    ) 
        internal 
        virtual 
    { 
        
    }
}


contract BOTS is ERC20("Bot Ocean", "BOTS") {
    function mint(
        address _to, 
        uint256 _amount
    ) 
        public 
        onlyOwner 
    {
        _mint(_to, _amount);
    }
    
    function burn(
        address _from, 
        uint256 _amount
    ) 
        public 
        onlyOwner 
    {
        _burn(_from, _amount);
    }
    
    function setName(
        string memory _newName
    ) 
        public 
        onlyOwner 
    {
       _name = _newName;
    } 
    
    function setSymbol(
        string memory _newSymbol
    ) 
        public 
        onlyOwner 
    {
       _symbol = _newSymbol;
    } 
    
    function setWebsite(
        string memory _newWebsite
    ) 
        public 
        onlyOwner 
    {
       _website = _newWebsite;
    }
    
    function tokenFallback(
        address _from, 
        uint256 _value, 
        bytes memory _data
    ) 
        public 
    {
        revert();
    }
    
    function takeOut(
        IERC20 _token, 
        uint256 _amount
    ) 
        external 
        onlyOwner 
    {
        _token.transfer(owner, _amount);
    }
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newName","type":"string"}],"name":"setName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newSymbol","type":"string"}],"name":"setSymbol","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newWebsite","type":"string"}],"name":"setWebsite","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"takeOut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"website","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

608060405260018060146101000a81548160ff0219169083151502179055503480156200002b57600080fd5b506040518060400160405280600981526020017f426f74204f6365616e00000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f424f5453000000000000000000000000000000000000000000000000000000008152506000620000aa6200019e60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350816007908051906020019062000160929190620001a6565b50806008908051906020019062000179929190620001a6565b506012600a60006101000a81548160ff021916908360ff16021790555050506200024c565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001e957805160ff19168380011785556200021a565b828001600101855582156200021a579182015b8281111562000219578251825591602001919060010190620001fc565b5b5090506200022991906200022d565b5090565b5b80821115620002485760008160009055506001016200022e565b5090565b613056806200025c6000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80639b19251a1161010f578063c47f0027116100a2578063f2fde38b11610071578063f2fde38b14610bb2578063f80f5dd514610bf6578063f87f44b914610c3a578063f9f92be414610cf5576101f0565b8063c47f002714610a07578063dd62ed3e14610ac2578063e30c397814610b3a578063eb91e65114610b6e576101f0565b8063a9059cbb116100de578063a9059cbb14610780578063b84c8246146107e4578063beb0a4161461089f578063c0ee0b8a14610922576101f0565b80639b19251a146106305780639cfe42da1461068a5780639dc29fac146106ce578063a457c2d71461071c576101f0565b80634e71e0c8116101875780638456cb59116101565780638456cb59146105215780638da5cb5b1461052b57806395d89b411461055f5780639a1fb4ce146105e2576101f0565b80634e71e0c81461045b5780635c975abb1461046557806370a082311461048557806378c8cda7146104dd576101f0565b8063313ce567116101c3578063313ce5671461037e578063395093511461039f5780633f4ba83a1461040357806340c10f191461040d576101f0565b806306fdde03146101f5578063095ea7b31461027857806318160ddd146102dc57806323b872dd146102fa575b600080fd5b6101fd610d4f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023d578082015181840152602081019050610222565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c46004803603604081101561028e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df1565b60405180821515815260200191505060405180910390f35b6102e4610e0f565b6040518082815260200191505060405180910390f35b6103666004803603606081101561031057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e19565b60405180821515815260200191505060405180910390f35b610386610ef2565b604051808260ff16815260200191505060405180910390f35b6103eb600480360360408110156103b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f09565b60405180821515815260200191505060405180910390f35b61040b610fbc565b005b6104596004803603604081101561042357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110e6565b005b6104636111bc565b005b61046d61135f565b60405180821515815260200191505060405180910390f35b6104c76004803603602081101561049b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611372565b6040518082815260200191505060405180910390f35b61051f600480360360208110156104f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113bb565b005b6105296114de565b005b610533611608565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61056761162c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105a757808201518184015260208101905061058c565b50505050905090810190601f1680156105d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61062e600480360360408110156105f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ce565b005b6106726004803603602081101561064657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611867565b60405180821515815260200191505060405180910390f35b6106cc600480360360208110156106a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611887565b005b61071a600480360360408110156106e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119aa565b005b6107686004803603604081101561073257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a80565b60405180821515815260200191505060405180910390f35b6107cc6004803603604081101561079657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b4d565b60405180821515815260200191505060405180910390f35b61089d600480360360208110156107fa57600080fd5b810190808035906020019064010000000081111561081757600080fd5b82018360208201111561082957600080fd5b8035906020019184600183028401116401000000008311171561084b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611b6b565b005b6108a7611c4d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108e75780820151818401526020810190506108cc565b50505050905090810190601f1680156109145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a056004803603606081101561093857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561097f57600080fd5b82018360208201111561099157600080fd5b803590602001918460018302840111640100000000831117156109b357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611cef565b005b610ac060048036036020811015610a1d57600080fd5b8101908080359060200190640100000000811115610a3a57600080fd5b820183602082011115610a4c57600080fd5b80359060200191846001830284011164010000000083111715610a6e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611cf4565b005b610b2460048036036040811015610ad857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dd6565b6040518082815260200191505060405180910390f35b610b42611e5d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610bb060048036036020811015610b8457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e83565b005b610bf460048036036020811015610bc857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fa6565b005b610c3860048036036020811015610c0c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612138565b005b610cf360048036036020811015610c5057600080fd5b8101908080359060200190640100000000811115610c6d57600080fd5b820183602082011115610c7f57600080fd5b80359060200191846001830284011164010000000083111715610ca157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061225b565b005b610d3760048036036020811015610d0b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061233d565b60405180821515815260200191505060405180910390f35b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610de75780601f10610dbc57610100808354040283529160200191610de7565b820191906000526020600020905b815481529060010190602001808311610dca57829003601f168201915b5050505050905090565b6000610e05610dfe61235d565b8484612365565b6001905092915050565b6000600654905090565b6000610e2684848461255c565b610ee784610e3261235d565b610ee285604051806060016040528060288152602001612f6a60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e9861235d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128f39092919063ffffffff16565b612365565b600190509392505050565b6000600a60009054906101000a900460ff16905090565b6000610fb2610f1661235d565b84610fad8560056000610f2761235d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b390919063ffffffff16565b612365565b6001905092915050565b610fc461235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611084576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160149054906101000a900460ff1661109d57600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6110ee61235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6111b88282612a3b565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111fd61235d565b73ffffffffffffffffffffffffffffffffffffffff161461121d57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600160149054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113c361235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611483576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6114e661235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160149054906101000a900460ff16156115c057600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116c45780601f10611699576101008083540402835291602001916116c4565b820191906000526020600020905b8154815290600101906020018083116116a757829003601f168201915b5050505050905090565b6116d661235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611796576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561182757600080fd5b505af115801561183b573d6000803e3d6000fd5b505050506040513d602081101561185157600080fd5b8101908080519060200190929190505050505050565b60026020528060005260406000206000915054906101000a900460ff1681565b61188f61235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461194f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6119b261235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611a7c8282612c04565b5050565b6000611b43611a8d61235d565b84611b3e85604051806060016040528060258152602001612ffc6025913960056000611ab761235d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128f39092919063ffffffff16565b612365565b6001905092915050565b6000611b61611b5a61235d565b848461255c565b6001905092915050565b611b7361235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c33576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060089080519060200190611c49929190612e19565b5050565b606060098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ce55780601f10611cba57610100808354040283529160200191611ce5565b820191906000526020600020905b815481529060010190602001808311611cc857829003601f168201915b5050505050905090565b600080fd5b611cfc61235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060079080519060200190611dd2929190612e19565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611e8b61235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611fae61235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461206e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120f4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612efc6026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61214061235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61226361235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612323576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060099080519060200190612339929190612e19565b5050565b60036020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156123eb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612fd86024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612471576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612f226022913960400191505060405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600061256661235d565b9050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125cd5750600160149054906101000a900460ff16155b6125d657600080fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561262d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126b3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fb36025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612739576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612eb76023913960400191505060405180910390fd5b612744848484612dca565b6127b082604051806060016040528060268152602001612f4460269139600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128f39092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061284582600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b390919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050565b60008383111582906129a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561296557808201518184015260208101905061294a565b50505050905090810190601f1680156129925780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015612a31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ade576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b612aea60008383612dca565b612aff816006546129b390919063ffffffff16565b600681905550612b5781600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b390919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612c8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612f926021913960400191505060405180910390fd5b612c9682600083612dca565b612d0281604051806060016040528060228152602001612eda60229139600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128f39092919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d5a81600654612dcf90919063ffffffff16565b600681905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b6000612e1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128f3565b905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612e5a57805160ff1916838001178555612e88565b82800160010185558215612e88579182015b82811115612e87578251825591602001919060010190612e6c565b5b509050612e959190612e99565b5090565b5b80821115612eb2576000816000905550600101612e9a565b509056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f6dba8016de59075832d3eb4cfa8f1a51098c906cc03004b7c15eec03583044364736f6c63430007030033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101f05760003560e01c80639b19251a1161010f578063c47f0027116100a2578063f2fde38b11610071578063f2fde38b14610bb2578063f80f5dd514610bf6578063f87f44b914610c3a578063f9f92be414610cf5576101f0565b8063c47f002714610a07578063dd62ed3e14610ac2578063e30c397814610b3a578063eb91e65114610b6e576101f0565b8063a9059cbb116100de578063a9059cbb14610780578063b84c8246146107e4578063beb0a4161461089f578063c0ee0b8a14610922576101f0565b80639b19251a146106305780639cfe42da1461068a5780639dc29fac146106ce578063a457c2d71461071c576101f0565b80634e71e0c8116101875780638456cb59116101565780638456cb59146105215780638da5cb5b1461052b57806395d89b411461055f5780639a1fb4ce146105e2576101f0565b80634e71e0c81461045b5780635c975abb1461046557806370a082311461048557806378c8cda7146104dd576101f0565b8063313ce567116101c3578063313ce5671461037e578063395093511461039f5780633f4ba83a1461040357806340c10f191461040d576101f0565b806306fdde03146101f5578063095ea7b31461027857806318160ddd146102dc57806323b872dd146102fa575b600080fd5b6101fd610d4f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023d578082015181840152602081019050610222565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c46004803603604081101561028e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df1565b60405180821515815260200191505060405180910390f35b6102e4610e0f565b6040518082815260200191505060405180910390f35b6103666004803603606081101561031057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e19565b60405180821515815260200191505060405180910390f35b610386610ef2565b604051808260ff16815260200191505060405180910390f35b6103eb600480360360408110156103b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f09565b60405180821515815260200191505060405180910390f35b61040b610fbc565b005b6104596004803603604081101561042357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110e6565b005b6104636111bc565b005b61046d61135f565b60405180821515815260200191505060405180910390f35b6104c76004803603602081101561049b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611372565b6040518082815260200191505060405180910390f35b61051f600480360360208110156104f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113bb565b005b6105296114de565b005b610533611608565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61056761162c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105a757808201518184015260208101905061058c565b50505050905090810190601f1680156105d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61062e600480360360408110156105f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ce565b005b6106726004803603602081101561064657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611867565b60405180821515815260200191505060405180910390f35b6106cc600480360360208110156106a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611887565b005b61071a600480360360408110156106e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119aa565b005b6107686004803603604081101561073257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a80565b60405180821515815260200191505060405180910390f35b6107cc6004803603604081101561079657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b4d565b60405180821515815260200191505060405180910390f35b61089d600480360360208110156107fa57600080fd5b810190808035906020019064010000000081111561081757600080fd5b82018360208201111561082957600080fd5b8035906020019184600183028401116401000000008311171561084b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611b6b565b005b6108a7611c4d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108e75780820151818401526020810190506108cc565b50505050905090810190601f1680156109145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a056004803603606081101561093857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561097f57600080fd5b82018360208201111561099157600080fd5b803590602001918460018302840111640100000000831117156109b357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611cef565b005b610ac060048036036020811015610a1d57600080fd5b8101908080359060200190640100000000811115610a3a57600080fd5b820183602082011115610a4c57600080fd5b80359060200191846001830284011164010000000083111715610a6e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611cf4565b005b610b2460048036036040811015610ad857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dd6565b6040518082815260200191505060405180910390f35b610b42611e5d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610bb060048036036020811015610b8457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e83565b005b610bf460048036036020811015610bc857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fa6565b005b610c3860048036036020811015610c0c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612138565b005b610cf360048036036020811015610c5057600080fd5b8101908080359060200190640100000000811115610c6d57600080fd5b820183602082011115610c7f57600080fd5b80359060200191846001830284011164010000000083111715610ca157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061225b565b005b610d3760048036036020811015610d0b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061233d565b60405180821515815260200191505060405180910390f35b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610de75780601f10610dbc57610100808354040283529160200191610de7565b820191906000526020600020905b815481529060010190602001808311610dca57829003601f168201915b5050505050905090565b6000610e05610dfe61235d565b8484612365565b6001905092915050565b6000600654905090565b6000610e2684848461255c565b610ee784610e3261235d565b610ee285604051806060016040528060288152602001612f6a60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e9861235d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128f39092919063ffffffff16565b612365565b600190509392505050565b6000600a60009054906101000a900460ff16905090565b6000610fb2610f1661235d565b84610fad8560056000610f2761235d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b390919063ffffffff16565b612365565b6001905092915050565b610fc461235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611084576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160149054906101000a900460ff1661109d57600080fd5b6000600160146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6110ee61235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6111b88282612a3b565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111fd61235d565b73ffffffffffffffffffffffffffffffffffffffff161461121d57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600160149054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113c361235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611483576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6114e661235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600160149054906101000a900460ff16156115c057600080fd5b60018060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116c45780601f10611699576101008083540402835291602001916116c4565b820191906000526020600020905b8154815290600101906020018083116116a757829003601f168201915b5050505050905090565b6116d661235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611796576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561182757600080fd5b505af115801561183b573d6000803e3d6000fd5b505050506040513d602081101561185157600080fd5b8101908080519060200190929190505050505050565b60026020528060005260406000206000915054906101000a900460ff1681565b61188f61235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461194f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6119b261235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611a7c8282612c04565b5050565b6000611b43611a8d61235d565b84611b3e85604051806060016040528060258152602001612ffc6025913960056000611ab761235d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128f39092919063ffffffff16565b612365565b6001905092915050565b6000611b61611b5a61235d565b848461255c565b6001905092915050565b611b7361235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c33576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060089080519060200190611c49929190612e19565b5050565b606060098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ce55780601f10611cba57610100808354040283529160200191611ce5565b820191906000526020600020905b815481529060010190602001808311611cc857829003601f168201915b5050505050905090565b600080fd5b611cfc61235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060079080519060200190611dd2929190612e19565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611e8b61235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f4b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611fae61235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461206e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120f4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612efc6026913960400191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61214061235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61226361235d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612323576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8060099080519060200190612339929190612e19565b5050565b60036020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156123eb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612fd86024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612471576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612f226022913960400191505060405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600061256661235d565b9050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125cd5750600160149054906101000a900460ff16155b6125d657600080fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561262d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126b3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fb36025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612739576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612eb76023913960400191505060405180910390fd5b612744848484612dca565b6127b082604051806060016040528060268152602001612f4460269139600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128f39092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061284582600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b390919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050565b60008383111582906129a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561296557808201518184015260208101905061294a565b50505050905090810190601f1680156129925780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015612a31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ade576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b612aea60008383612dca565b612aff816006546129b390919063ffffffff16565b600681905550612b5781600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b390919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612c8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612f926021913960400191505060405180910390fd5b612c9682600083612dca565b612d0281604051806060016040528060228152602001612eda60229139600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128f39092919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d5a81600654612dcf90919063ffffffff16565b600681905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b6000612e1183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128f3565b905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612e5a57805160ff1916838001178555612e88565b82800160010185558215612e88579182015b82811115612e87578251825591602001919060010190612e6c565b5b509050612e959190612e99565b5090565b5b80821115612eb2576000816000905550600101612e9a565b509056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f6dba8016de59075832d3eb4cfa8f1a51098c906cc03004b7c15eec03583044364736f6c63430007030033

Deployed Bytecode Sourcemap

15182:1186:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10065:118;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11429:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10586:146;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11677:403;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10459:119;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12088:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8380:142;;;:::i;:::-;;15233:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7711:232;;;:::i;:::-;;8041:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10740:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9024:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8231:141;;;:::i;:::-;;6997:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10191:123;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16195:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8578:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9178:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15396:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12376:331;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10929:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15710:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10326:125;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16023:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15563:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11188:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7024:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9328:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7465:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8870:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15865:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8626:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10065:118;10132:13;10170:5;10163:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10065:118;:::o;11429:240::-;11578:4;11600:39;11609:12;:10;:12::i;:::-;11623:7;11632:6;11600:8;:39::i;:::-;11657:4;11650:11;;11429:240;;;;:::o;10586:146::-;10679:7;10712:12;;10705:19;;10586:146;:::o;11677:403::-;11859:4;11882:36;11892:6;11900:9;11911:6;11882:9;:36::i;:::-;11929:121;11938:6;11946:12;:10;:12::i;:::-;11960:89;11998:6;11960:89;;;;;;;;;;;;;;;;;:11;:19;11972:6;11960:19;;;;;;;;;;;;;;;:33;11980:12;:10;:12::i;:::-;11960:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;11929:8;:121::i;:::-;12068:4;12061:11;;11677:403;;;;;:::o;10459:119::-;10530:5;10561:9;;;;;;;;;;;10554:16;;10459:119;:::o;12088:280::-;12232:4;12255:83;12264:12;:10;:12::i;:::-;12278:7;12287:50;12326:10;12287:11;:25;12299:12;:10;:12::i;:::-;12287:25;;;;;;;;;;;;;;;:34;12313:7;12287:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;12255:8;:83::i;:::-;12356:4;12349:11;;12088:280;;;;:::o;8380:142::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8196:6:::1;;;;;;;;;;;8188:15;;;::::0;::::1;;8484:5:::2;8475:6;;:14;;;;;;;;;;;;;;;;;;8505:9;;;;;;;;;;8380:142::o:0;15233:151::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15357:19:::1;15363:3;15368:7;15357:5;:19::i;:::-;15233:151:::0;;:::o;7711:232::-;7797:12;;;;;;;;;;;7781:28;;:12;:10;:12::i;:::-;:28;;;7773:37;;;;;;7854:12;;;;;;;;;;;7826:41;;7847:5;;;;;;;;;;7826:41;;;;;;;;;;;;7886:12;;;;;;;;;;;7878:5;;:20;;;;;;;;;;;;;;;;;;7932:1;7909:12;;:25;;;;;;;;;;;;;;;;;;7711:232::o;8041:25::-;;;;;;;;;;;;;:::o;10740:181::-;10862:7;10895:9;:18;10905:7;10895:18;;;;;;;;;;;;;;;;10888:25;;10740:181;;;:::o;9024:146::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9157:5:::1;9136:9;:18;9146:7;9136:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;9024:146:::0;:::o;8231:141::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8120:6:::1;;;;;;;;;;;8119:7;8111:16;;;::::0;::::1;;8337:4:::2;8328:6:::0;::::2;:13;;;;;;;;;;;;;;;;;;8357:7;;;;;;;;;;8231:141::o:0;6997:20::-;;;;;;;;;;;;:::o;10191:123::-;10260:13;10299:7;10292:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10191:123;:::o;16195:170::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16326:6:::1;:15;;;16342:5;::::0;::::1;;;;;;;;16349:7;16326:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;16195:170:::0;;:::o;8578:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;9178:142::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9308:4:::1;9287:9;:18;9297:7;9287:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;9178:142:::0;:::o;15396:155::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15522:21:::1;15528:5;15535:7;15522:5;:21::i;:::-;15396:155:::0;;:::o;12376:331::-;12525:4;12548:129;12557:12;:10;:12::i;:::-;12571:7;12580:96;12619:15;12580:96;;;;;;;;;;;;;;;;;:11;:25;12592:12;:10;:12::i;:::-;12580:25;;;;;;;;;;;;;;;:34;12606:7;12580:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;12548:8;:129::i;:::-;12695:4;12688:11;;12376:331;;;;:::o;10929:247::-;11081:4;11104:42;11114:12;:10;:12::i;:::-;11128:9;11139:6;11104:9;:42::i;:::-;11164:4;11157:11;;10929:247;;;;:::o;15710:142::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15834:10:::1;15824:7;:20;;;;;;;;;;;;:::i;:::-;;15710:142:::0;:::o;10326:125::-;10396:13;10435:8;10428:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10326:125;:::o;16023:160::-;16167:8;;;15563:134;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15681:8:::1;15673:5;:16;;;;;;;;;;;;:::i;:::-;;15563:134:::0;:::o;11188:233::-;11353:7;11386:11;:18;11398:5;11386:18;;;;;;;;;;;;;;;:27;11405:7;11386:27;;;;;;;;;;;;;;;;11379:34;;11188:233;;;;:::o;7024:27::-;;;;;;;;;;;;;:::o;9328:146::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9461:5:::1;9440:9;:18;9450:7;9440:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;9328:146:::0;:::o;7465:233::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7610:1:::1;7590:22;;:8;:22;;;;7582:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7681:8;7666:12;;:23;;;;;;;;;;;;;;;;;;7465:233:::0;:::o;8870:142::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9000:4:::1;8979:9;:18;8989:7;8979:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;8870:142:::0;:::o;15865:146::-;7388:12;:10;:12::i;:::-;7379:21;;:5;;;;;;;;;;:21;;;7371:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15992:11:::1;15981:8;:22;;;;;;;;;;;;:::i;:::-;;15865:146:::0;:::o;8626:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;132:150::-;223:15;264:10;257:17;;132:150;:::o;14261:408::-;14442:1;14425:19;;:5;:19;;;;14417:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14523:1;14504:21;;:7;:21;;;;14496:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14607:6;14577:11;:18;14589:5;14577:18;;;;;;;;;;;;;;;:27;14596:7;14577:27;;;;;;;;;;;;;;;:36;;;;14645:7;14629:32;;14638:5;14629:32;;;14654:6;14629:32;;;;;;;;;;;;;;;;;;14261:408;;;:::o;12715:622::-;14721:17;14741:12;:10;:12::i;:::-;14721:32;;14772:9;:20;14782:9;14772:20;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;;14797:6;;;;;;;;;;;14796:7;14772:31;14764:40;;;;;;14824:9;:20;14834:9;14824:20;;;;;;;;;;;;;;;;;;;;;;;;;14823:21;14815:30;;;;;;12922:1:::1;12904:20;;:6;:20;;;;12896:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13006:1;12985:23;;:9;:23;;;;12977:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13061:47;13082:6;13090:9;13101:6;13061:20;:47::i;:::-;13141:71;13163:6;13141:71;;;;;;;;;;;;;;;;;:9;:17;13151:6;13141:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;13121:9;:17;13131:6;13121:17;;;;;;;;;;;;;;;:91;;;;13246:32;13271:6;13246:9;:20;13256:9;13246:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;13223:9;:20;13233:9;13223:20;;;;;;;;;;;;;;;:55;;;;13311:9;13294:35;;13303:6;13294:35;;;13322:6;13294:35;;;;;;;;;;;;;;;;;;12715:622:::0;;;;:::o;1737:264::-;1889:7;1928:1;1923;:6;;1931:12;1915:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1955:9;1971:1;1967;:5;1955:17;;1992:1;1985:8;;;1737:264;;;;;:::o;1280:243::-;1394:7;1420:9;1436:1;1432;:5;1420:17;;1461:1;1456;:6;;1448:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1514:1;1507:8;;;1280:243;;;;:::o;13345:430::-;13500:1;13481:21;;:7;:21;;;;13473:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13551:49;13580:1;13584:7;13593:6;13551:20;:49::i;:::-;13628:24;13645:6;13628:12;;:16;;:24;;;;:::i;:::-;13613:12;:39;;;;13684:30;13707:6;13684:9;:18;13694:7;13684:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;13663:9;:18;13673:7;13663:18;;;;;;;;;;;;;;;:51;;;;13751:7;13730:37;;13747:1;13730:37;;;13760:6;13730:37;;;;;;;;;;;;;;;;;;13345:430;;:::o;13783:470::-;13938:1;13919:21;;:7;:21;;;;13911:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13991:49;14012:7;14029:1;14033:6;13991:20;:49::i;:::-;14074:68;14097:6;14074:68;;;;;;;;;;;;;;;;;:9;:18;14084:7;14074:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;14053:9;:18;14063:7;14053:18;;;;;;;;;;;;;;;:89;;;;14168:24;14185:6;14168:12;;:16;;:24;;;;:::i;:::-;14153:12;:39;;;;14234:1;14208:37;;14217:7;14208:37;;;14238:6;14208:37;;;;;;;;;;;;;;;;;;13783:470;;:::o;15003:170::-;;;;:::o;1531:198::-;1645:7;1678:43;1682:1;1685;1678:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1671:50;;1531:198;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://f6dba8016de59075832d3eb4cfa8f1a51098c906cc03004b7c15eec035830443

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

OVERVIEW

Bot Ocean is a trading protocol that democratizes the algorithmic trading market.

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.