ETH Price: $3,424.42 (+3.13%)

Token

CeoMoo (CEOMOO)
 

Overview

Max Total Supply

100,000,000,000,000 CEOMOO

Holders

98

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
219,182,665.564788784539871004 CEOMOO

Value
$0.00
0xd81b5e4c883710738a9d6eb0f14c438a651dabb4
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:
CeoMoo

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-20
*/

// SPDX-License-Identifier: MIT

/* A Deflationary MEME token. target supply is 100,000,000 (100 Million) */

pragma solidity 0.8.16;

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

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function getOwner() external view returns (address);

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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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: modulo by zero");
    }

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

abstract contract Ownable is Context {
    address private _owner;

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

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

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

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

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

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

contract CeoMoo is Context, IBEP20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;

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

    bool public antiSnipeDisabled = false;
    //Used only on launch day
    uint256 maxBuyOrSell = 1_000_000_000_000 * (10 ** 18);

    uint256 private _totalSupply;
    string private _name;
    uint8 private _decimals;
    string private _symbol;
    uint256 private _TARGET_TOTAL_SUPPLY;

    uint256 private _totalFeesOnBuy = 1;
    uint256 private _totalFeesOnSell = 6;

    address private DEAD = 0x000000000000000000000000000000000000dEaD;
    mapping(address => bool) public taxedPairs;

    mapping(address => bool) private _isExcludedFromFees;

    event ExcludeFromFees(address indexed account, bool isExcluded);

    constructor() {
        _name = "CeoMoo";
        _symbol = "CEOMOO";
        _decimals = 18;
        _totalSupply = 100_000_000_000_000 * (10 ** 18);
        _TARGET_TOTAL_SUPPLY = 100_000_000 * (10 ** 18);
        _balances[msg.sender] = _totalSupply;

        _isExcludedFromFees[msg.sender] = true;
        _isExcludedFromFees[DEAD] = true;
        _isExcludedFromFees[address(this)] = true;

        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function getOwner() external view returns (address) {
        return owner();
    }

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

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

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

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

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

    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool) {

        _processTransfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

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

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

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

    function burn(uint256 amount) external returns (bool) {
        _burn(_msgSender(), amount);
        return true;
    }

    function _processTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal {

        if (!antiSnipeDisabled) {
            if (taxedPairs[sender] || taxedPairs[recipient]) {
                require(amount <= maxBuyOrSell, "CEOMOO: transaction amount not allowed");
            }
        }

        bool takeFee = true;
        if (_isExcludedFromFees[sender] || _isExcludedFromFees[recipient]) {
            takeFee = false;
        }

        if (!taxedPairs[sender] && !taxedPairs[recipient]) {
            takeFee = false;
        }

        if (_totalSupply <= _TARGET_TOTAL_SUPPLY) {
            takeFee = false;
        }

        if (takeFee) {
            uint256 _totalFees;
            if (taxedPairs[sender]) {
                _totalFees = _totalFeesOnBuy;
            } else {
                _totalFees = _totalFeesOnSell;
            }
            if (_totalFees > 0) {
                uint256 fees = (amount * _totalFees) / 100;

                if (_totalSupply.sub(fees) < _TARGET_TOTAL_SUPPLY) {
                    fees = _totalSupply.sub(_TARGET_TOTAL_SUPPLY);
                }

                amount = amount - fees;

                _totalSupply = _totalSupply.sub(fees);
                _transfer(sender, address(0), fees);
            }
        }
        
        _transfer(sender, recipient, amount);
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal {
        _balances[sender] = _balances[sender].sub(
            amount,
            "BEP20: transfer amount exceeds balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

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

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

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

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

    //=======FeeManagement=======//
    function excludeFromFees(address account) external onlyOwner {
        require(!_isExcludedFromFees[account], "Account is already excluded");
        _isExcludedFromFees[account] = true;

        emit ExcludeFromFees(account, true);
    }

    function includeInFees(address account) external onlyOwner {
        require(_isExcludedFromFees[account], "Account is already included");
        _isExcludedFromFees[account] = false;

        emit ExcludeFromFees(account, false);
    }

    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function excludeFromTaxedPairs(address pair)
        external
        onlyOwner
    {
        require(taxedPairs[pair], "Pair is already the value of excluded");
        taxedPairs[pair] = false;
    }

    function includeInTaxedPairs(address pair)
        external
        onlyOwner
    {
        require(!taxedPairs[pair], "Pair is already the value of included");
        taxedPairs[pair] = true;
    }

    function isIncludedInTaxedPairs(address pair) public view returns (bool) {
        return taxedPairs[pair];
    }

    function getFeesOnBuy() external view returns (uint256) {
        return _totalFeesOnBuy;
    }

    function getFeesOnSell() external view returns (uint256) {
        return _totalFeesOnSell;
    }

    function setAntisnipeDisable() external onlyOwner {
        require(!antiSnipeDisabled, "Antisnipe already disabled");
        antiSnipeDisabled = true;
    }

    function setMaxBuyOrSell(uint256 maxBuyOrSellVal) external onlyOwner {
        require(!antiSnipeDisabled, "Not used when antisnipe is disabled");
        maxBuyOrSell = maxBuyOrSellVal;
    }

    function getMaxBuyOrSell() external view returns (uint256) {
        return maxBuyOrSell;
    }
}

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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiSnipeDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"account","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"excludeFromTaxedPairs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getFeesOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFeesOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxBuyOrSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"includeInTaxedPairs","outputs":[],"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":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"isIncludedInTaxedPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setAntisnipeDisable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuyOrSellVal","type":"uint256"}],"name":"setMaxBuyOrSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"taxedPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600360006101000a81548160ff0219169083151502179055506c0c9f2c9cd04674edea400000006004556001600a556006600b5561dead600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200008a57600080fd5b5060006200009d620003ec60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600681526020017f43656f4d6f6f0000000000000000000000000000000000000000000000000000815250600690816200018191906200066e565b506040518060400160405280600681526020017f43454f4d4f4f000000000000000000000000000000000000000000000000000081525060089081620001c891906200066e565b506012600760006101000a81548160ff021916908360ff1602179055506d04ee2d6d415b85acef81000000006005819055506a52b7d2dcc80cd2e4000000600981905550600554600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600554604051620003de919062000766565b60405180910390a362000783565b600033905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200047657607f821691505b6020821081036200048c576200048b6200042e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004f67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004b7565b620005028683620004b7565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200054f6200054962000543846200051a565b62000524565b6200051a565b9050919050565b6000819050919050565b6200056b836200052e565b620005836200057a8262000556565b848454620004c4565b825550505050565b600090565b6200059a6200058b565b620005a781848462000560565b505050565b5b81811015620005cf57620005c360008262000590565b600181019050620005ad565b5050565b601f8211156200061e57620005e88162000492565b620005f384620004a7565b8101602085101562000603578190505b6200061b6200061285620004a7565b830182620005ac565b50505b505050565b600082821c905092915050565b6000620006436000198460080262000623565b1980831691505092915050565b60006200065e838362000630565b9150826002028217905092915050565b6200067982620003f4565b67ffffffffffffffff811115620006955762000694620003ff565b5b620006a182546200045d565b620006ae828285620005d3565b600060209050601f831160018114620006e65760008415620006d1578287015190505b620006dd858262000650565b8655506200074d565b601f198416620006f68662000492565b60005b828110156200072057848901518255600182019150602085019450602081019050620006f9565b868310156200074057848901516200073c601f89168262000630565b8355505b6001600288020188555050505b505050505050565b62000760816200051a565b82525050565b60006020820190506200077d600083018462000755565b92915050565b612d7880620007936000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806370a0823111610104578063a457c2d7116100a2578063dd62ed3e11610071578063dd62ed3e14610534578063e57f14e114610564578063e6c0625714610580578063f2fde38b146105b0576101cf565b8063a457c2d71461049c578063a9059cbb146104cc578063bab54f8c146104fc578063c10bdcd314610518576101cf565b80637d076b30116100de5780637d076b3014610424578063893d20e8146104425780638da5cb5b1461046057806395d89b411461047e576101cf565b806370a08231146103e0578063715018a61461041057806374fb20e11461041a576101cf565b806339509351116101715780634e3137151161014b5780634e313715146103465780634fbee1931461037657806354e5270a146103a6578063590e5df4146103c2576101cf565b806339509351146102c8578063426daba1146102f857806342966c6814610316576101cf565b806318160ddd116101ad57806318160ddd1461023e57806323b872dd1461025c57806328be76d31461028c578063313ce567146102aa576101cf565b806306fdde03146101d4578063095ea7b3146101f257806316a2f82a14610222575b600080fd5b6101dc6105cc565b6040516101e991906121a7565b60405180910390f35b61020c60048036038101906102079190612262565b61065e565b60405161021991906122bd565b60405180910390f35b61023c600480360381019061023791906122d8565b61067c565b005b610246610847565b6040516102539190612314565b60405180910390f35b6102766004803603810190610271919061232f565b610851565b60405161028391906122bd565b60405180910390f35b61029461092a565b6040516102a19190612314565b60405180910390f35b6102b2610934565b6040516102bf919061239e565b60405180910390f35b6102e260048036038101906102dd9190612262565b61094b565b6040516102ef91906122bd565b60405180910390f35b6103006109fe565b60405161030d91906122bd565b60405180910390f35b610330600480360381019061032b91906123b9565b610a11565b60405161033d91906122bd565b60405180910390f35b610360600480360381019061035b91906122d8565b610a2d565b60405161036d91906122bd565b60405180910390f35b610390600480360381019061038b91906122d8565b610a83565b60405161039d91906122bd565b60405180910390f35b6103c060048036038101906103bb91906122d8565b610ad9565b005b6103ca610c55565b6040516103d79190612314565b60405180910390f35b6103fa60048036038101906103f591906122d8565b610c5f565b6040516104079190612314565b60405180910390f35b610418610ca8565b005b610422610dfb565b005b61042c610efd565b6040516104399190612314565b60405180910390f35b61044a610f07565b60405161045791906123f5565b60405180910390f35b610468610f16565b60405161047591906123f5565b60405180910390f35b610486610f3f565b60405161049391906121a7565b60405180910390f35b6104b660048036038101906104b19190612262565b610fd1565b6040516104c391906122bd565b60405180910390f35b6104e660048036038101906104e19190612262565b61109e565b6040516104f391906122bd565b60405180910390f35b610516600480360381019061051191906122d8565b6110bc565b005b610532600480360381019061052d91906123b9565b611239565b005b61054e60048036038101906105499190612410565b611328565b60405161055b9190612314565b60405180910390f35b61057e600480360381019061057991906122d8565b6113af565b005b61059a600480360381019061059591906122d8565b61157b565b6040516105a791906122bd565b60405180910390f35b6105ca60048036038101906105c591906122d8565b61159b565b005b6060600680546105db9061247f565b80601f01602080910402602001604051908101604052809291908181526020018280546106079061247f565b80156106545780601f1061062957610100808354040283529160200191610654565b820191906000526020600020905b81548152906001019060200180831161063757829003601f168201915b5050505050905090565b600061067261066b61163c565b8484611644565b6001905092915050565b61068461163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610711576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610708906124fc565b60405180910390fd5b600e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661079d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079490612568565b60405180910390fd5b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7600060405161083c91906122bd565b60405180910390a250565b6000600554905090565b600061085e84848461180d565b61091f8461086a61163c565b61091a85604051806060016040528060288152602001612cae60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108d061163c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e9092919063ffffffff16565b611644565b600190509392505050565b6000600a54905090565b6000600760009054906101000a900460ff16905090565b60006109f461095861163c565b846109ef856002600061096961163c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf290919063ffffffff16565b611644565b6001905092915050565b600360009054906101000a900460ff1681565b6000610a24610a1e61163c565b83611c50565b60019050919050565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610ae161163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b65906124fc565b60405180910390fd5b600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf1906125fa565b60405180910390fd5b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600454905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cb061163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d34906124fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e0361163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e87906124fc565b60405180910390fd5b600360009054906101000a900460ff1615610ee0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed790612666565b60405180910390fd5b6001600360006101000a81548160ff021916908315150217905550565b6000600b54905090565b6000610f11610f16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610f4e9061247f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7a9061247f565b8015610fc75780601f10610f9c57610100808354040283529160200191610fc7565b820191906000526020600020905b815481529060010190602001808311610faa57829003601f168201915b5050505050905090565b6000611094610fde61163c565b8461108f85604051806060016040528060258152602001612cfc602591396002600061100861163c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e9092919063ffffffff16565b611644565b6001905092915050565b60006110b26110ab61163c565b848461180d565b6001905092915050565b6110c461163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611151576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611148906124fc565b60405180910390fd5b600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d5906126f8565b60405180910390fd5b6001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61124161163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c5906124fc565b60405180910390fd5b600360009054906101000a900460ff161561131e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113159061278a565b60405180910390fd5b8060048190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113b761163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143b906124fc565b60405180910390fd5b600e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c8906127f6565b60405180910390fd5b6001600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7600160405161157091906122bd565b60405180910390a250565b600d6020528060005260406000206000915054906101000a900460ff1681565b6115a361163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611630576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611627906124fc565b60405180910390fd5b61163981611df3565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116aa90612888565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611722576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117199061291a565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118009190612314565b60405180910390a3505050565b600360009054906101000a900460ff1661190e57600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118c25750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561190d5760045481111561190c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611903906129ac565b60405180910390fd5b5b5b600060019050600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119b55750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156119bf57600090505b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a635750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a6d57600090505b60095460055411611a7d57600090505b8015611b7d576000600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ae157600a549050611ae7565b600b5490505b6000811115611b7b57600060648285611b0091906129fb565b611b0a9190612a84565b9050600954611b2482600554611f1f90919063ffffffff16565b1015611b4457611b41600954600554611f1f90919063ffffffff16565b90505b8084611b509190612ab5565b9350611b6781600554611f1f90919063ffffffff16565b600581905550611b7986600083611f69565b505b505b611b88848484611f69565b50505050565b6000838311158290611bd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcd91906121a7565b60405180910390fd5b5060008385611be59190612ab5565b9050809150509392505050565b6000808284611c019190612ae9565b905083811015611c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3d90612b69565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb690612bfb565b60405180910390fd5b611d2b81604051806060016040528060228152602001612d2160229139600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e9092919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8381600554611f1f90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611de79190612314565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5990612c8d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611f6183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b8e565b905092915050565b611fd581604051806060016040528060268152602001612cd660269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061206a81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf290919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161210a9190612314565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612151578082015181840152602081019050612136565b60008484015250505050565b6000601f19601f8301169050919050565b600061217982612117565b6121838185612122565b9350612193818560208601612133565b61219c8161215d565b840191505092915050565b600060208201905081810360008301526121c1818461216e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121f9826121ce565b9050919050565b612209816121ee565b811461221457600080fd5b50565b60008135905061222681612200565b92915050565b6000819050919050565b61223f8161222c565b811461224a57600080fd5b50565b60008135905061225c81612236565b92915050565b60008060408385031215612279576122786121c9565b5b600061228785828601612217565b92505060206122988582860161224d565b9150509250929050565b60008115159050919050565b6122b7816122a2565b82525050565b60006020820190506122d260008301846122ae565b92915050565b6000602082840312156122ee576122ed6121c9565b5b60006122fc84828501612217565b91505092915050565b61230e8161222c565b82525050565b60006020820190506123296000830184612305565b92915050565b600080600060608486031215612348576123476121c9565b5b600061235686828701612217565b935050602061236786828701612217565b92505060406123788682870161224d565b9150509250925092565b600060ff82169050919050565b61239881612382565b82525050565b60006020820190506123b3600083018461238f565b92915050565b6000602082840312156123cf576123ce6121c9565b5b60006123dd8482850161224d565b91505092915050565b6123ef816121ee565b82525050565b600060208201905061240a60008301846123e6565b92915050565b60008060408385031215612427576124266121c9565b5b600061243585828601612217565b925050602061244685828601612217565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061249757607f821691505b6020821081036124aa576124a9612450565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124e6602083612122565b91506124f1826124b0565b602082019050919050565b60006020820190508181036000830152612515816124d9565b9050919050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b6000612552601b83612122565b915061255d8261251c565b602082019050919050565b6000602082019050818103600083015261258181612545565b9050919050565b7f5061697220697320616c7265616479207468652076616c7565206f662065786360008201527f6c75646564000000000000000000000000000000000000000000000000000000602082015250565b60006125e4602583612122565b91506125ef82612588565b604082019050919050565b60006020820190508181036000830152612613816125d7565b9050919050565b7f416e7469736e69706520616c72656164792064697361626c6564000000000000600082015250565b6000612650601a83612122565b915061265b8261261a565b602082019050919050565b6000602082019050818103600083015261267f81612643565b9050919050565b7f5061697220697320616c7265616479207468652076616c7565206f6620696e6360008201527f6c75646564000000000000000000000000000000000000000000000000000000602082015250565b60006126e2602583612122565b91506126ed82612686565b604082019050919050565b60006020820190508181036000830152612711816126d5565b9050919050565b7f4e6f742075736564207768656e20616e7469736e69706520697320646973616260008201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b6000612774602383612122565b915061277f82612718565b604082019050919050565b600060208201905081810360008301526127a381612767565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b60006127e0601b83612122565b91506127eb826127aa565b602082019050919050565b6000602082019050818103600083015261280f816127d3565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612872602483612122565b915061287d82612816565b604082019050919050565b600060208201905081810360008301526128a181612865565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612904602283612122565b915061290f826128a8565b604082019050919050565b60006020820190508181036000830152612933816128f7565b9050919050565b7f43454f4d4f4f3a207472616e73616374696f6e20616d6f756e74206e6f74206160008201527f6c6c6f7765640000000000000000000000000000000000000000000000000000602082015250565b6000612996602683612122565b91506129a18261293a565b604082019050919050565b600060208201905081810360008301526129c581612989565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a068261222c565b9150612a118361222c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a4a57612a496129cc565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a8f8261222c565b9150612a9a8361222c565b925082612aaa57612aa9612a55565b5b828204905092915050565b6000612ac08261222c565b9150612acb8361222c565b9250828203905081811115612ae357612ae26129cc565b5b92915050565b6000612af48261222c565b9150612aff8361222c565b9250828201905080821115612b1757612b166129cc565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b53601b83612122565b9150612b5e82612b1d565b602082019050919050565b60006020820190508181036000830152612b8281612b46565b9050919050565b7f42455032303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612be5602183612122565b9150612bf082612b89565b604082019050919050565b60006020820190508181036000830152612c1481612bd8565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612c77602683612122565b9150612c8282612c1b565b604082019050919050565b60006020820190508181036000830152612ca681612c6a565b905091905056fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a206275726e20616d6f756e7420657863656564732062616c616e6365a264697066735822122034ec357cc1150ee6d12e849febf970e76ab5ee35b19d1f42b4a8a01ce7c10f4064736f6c63430008100033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c806370a0823111610104578063a457c2d7116100a2578063dd62ed3e11610071578063dd62ed3e14610534578063e57f14e114610564578063e6c0625714610580578063f2fde38b146105b0576101cf565b8063a457c2d71461049c578063a9059cbb146104cc578063bab54f8c146104fc578063c10bdcd314610518576101cf565b80637d076b30116100de5780637d076b3014610424578063893d20e8146104425780638da5cb5b1461046057806395d89b411461047e576101cf565b806370a08231146103e0578063715018a61461041057806374fb20e11461041a576101cf565b806339509351116101715780634e3137151161014b5780634e313715146103465780634fbee1931461037657806354e5270a146103a6578063590e5df4146103c2576101cf565b806339509351146102c8578063426daba1146102f857806342966c6814610316576101cf565b806318160ddd116101ad57806318160ddd1461023e57806323b872dd1461025c57806328be76d31461028c578063313ce567146102aa576101cf565b806306fdde03146101d4578063095ea7b3146101f257806316a2f82a14610222575b600080fd5b6101dc6105cc565b6040516101e991906121a7565b60405180910390f35b61020c60048036038101906102079190612262565b61065e565b60405161021991906122bd565b60405180910390f35b61023c600480360381019061023791906122d8565b61067c565b005b610246610847565b6040516102539190612314565b60405180910390f35b6102766004803603810190610271919061232f565b610851565b60405161028391906122bd565b60405180910390f35b61029461092a565b6040516102a19190612314565b60405180910390f35b6102b2610934565b6040516102bf919061239e565b60405180910390f35b6102e260048036038101906102dd9190612262565b61094b565b6040516102ef91906122bd565b60405180910390f35b6103006109fe565b60405161030d91906122bd565b60405180910390f35b610330600480360381019061032b91906123b9565b610a11565b60405161033d91906122bd565b60405180910390f35b610360600480360381019061035b91906122d8565b610a2d565b60405161036d91906122bd565b60405180910390f35b610390600480360381019061038b91906122d8565b610a83565b60405161039d91906122bd565b60405180910390f35b6103c060048036038101906103bb91906122d8565b610ad9565b005b6103ca610c55565b6040516103d79190612314565b60405180910390f35b6103fa60048036038101906103f591906122d8565b610c5f565b6040516104079190612314565b60405180910390f35b610418610ca8565b005b610422610dfb565b005b61042c610efd565b6040516104399190612314565b60405180910390f35b61044a610f07565b60405161045791906123f5565b60405180910390f35b610468610f16565b60405161047591906123f5565b60405180910390f35b610486610f3f565b60405161049391906121a7565b60405180910390f35b6104b660048036038101906104b19190612262565b610fd1565b6040516104c391906122bd565b60405180910390f35b6104e660048036038101906104e19190612262565b61109e565b6040516104f391906122bd565b60405180910390f35b610516600480360381019061051191906122d8565b6110bc565b005b610532600480360381019061052d91906123b9565b611239565b005b61054e60048036038101906105499190612410565b611328565b60405161055b9190612314565b60405180910390f35b61057e600480360381019061057991906122d8565b6113af565b005b61059a600480360381019061059591906122d8565b61157b565b6040516105a791906122bd565b60405180910390f35b6105ca60048036038101906105c591906122d8565b61159b565b005b6060600680546105db9061247f565b80601f01602080910402602001604051908101604052809291908181526020018280546106079061247f565b80156106545780601f1061062957610100808354040283529160200191610654565b820191906000526020600020905b81548152906001019060200180831161063757829003601f168201915b5050505050905090565b600061067261066b61163c565b8484611644565b6001905092915050565b61068461163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610711576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610708906124fc565b60405180910390fd5b600e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661079d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079490612568565b60405180910390fd5b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7600060405161083c91906122bd565b60405180910390a250565b6000600554905090565b600061085e84848461180d565b61091f8461086a61163c565b61091a85604051806060016040528060288152602001612cae60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108d061163c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e9092919063ffffffff16565b611644565b600190509392505050565b6000600a54905090565b6000600760009054906101000a900460ff16905090565b60006109f461095861163c565b846109ef856002600061096961163c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf290919063ffffffff16565b611644565b6001905092915050565b600360009054906101000a900460ff1681565b6000610a24610a1e61163c565b83611c50565b60019050919050565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610ae161163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b65906124fc565b60405180910390fd5b600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf1906125fa565b60405180910390fd5b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600454905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cb061163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d34906124fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e0361163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e87906124fc565b60405180910390fd5b600360009054906101000a900460ff1615610ee0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed790612666565b60405180910390fd5b6001600360006101000a81548160ff021916908315150217905550565b6000600b54905090565b6000610f11610f16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610f4e9061247f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7a9061247f565b8015610fc75780601f10610f9c57610100808354040283529160200191610fc7565b820191906000526020600020905b815481529060010190602001808311610faa57829003601f168201915b5050505050905090565b6000611094610fde61163c565b8461108f85604051806060016040528060258152602001612cfc602591396002600061100861163c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e9092919063ffffffff16565b611644565b6001905092915050565b60006110b26110ab61163c565b848461180d565b6001905092915050565b6110c461163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611151576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611148906124fc565b60405180910390fd5b600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d5906126f8565b60405180910390fd5b6001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61124161163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c5906124fc565b60405180910390fd5b600360009054906101000a900460ff161561131e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113159061278a565b60405180910390fd5b8060048190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113b761163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143b906124fc565b60405180910390fd5b600e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c8906127f6565b60405180910390fd5b6001600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7600160405161157091906122bd565b60405180910390a250565b600d6020528060005260406000206000915054906101000a900460ff1681565b6115a361163c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611630576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611627906124fc565b60405180910390fd5b61163981611df3565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116aa90612888565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611722576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117199061291a565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118009190612314565b60405180910390a3505050565b600360009054906101000a900460ff1661190e57600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118c25750600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561190d5760045481111561190c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611903906129ac565b60405180910390fd5b5b5b600060019050600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119b55750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156119bf57600090505b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a635750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a6d57600090505b60095460055411611a7d57600090505b8015611b7d576000600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ae157600a549050611ae7565b600b5490505b6000811115611b7b57600060648285611b0091906129fb565b611b0a9190612a84565b9050600954611b2482600554611f1f90919063ffffffff16565b1015611b4457611b41600954600554611f1f90919063ffffffff16565b90505b8084611b509190612ab5565b9350611b6781600554611f1f90919063ffffffff16565b600581905550611b7986600083611f69565b505b505b611b88848484611f69565b50505050565b6000838311158290611bd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcd91906121a7565b60405180910390fd5b5060008385611be59190612ab5565b9050809150509392505050565b6000808284611c019190612ae9565b905083811015611c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3d90612b69565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb690612bfb565b60405180910390fd5b611d2b81604051806060016040528060228152602001612d2160229139600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e9092919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8381600554611f1f90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611de79190612314565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5990612c8d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611f6183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b8e565b905092915050565b611fd581604051806060016040528060268152602001612cd660269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b8e9092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061206a81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bf290919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161210a9190612314565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612151578082015181840152602081019050612136565b60008484015250505050565b6000601f19601f8301169050919050565b600061217982612117565b6121838185612122565b9350612193818560208601612133565b61219c8161215d565b840191505092915050565b600060208201905081810360008301526121c1818461216e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121f9826121ce565b9050919050565b612209816121ee565b811461221457600080fd5b50565b60008135905061222681612200565b92915050565b6000819050919050565b61223f8161222c565b811461224a57600080fd5b50565b60008135905061225c81612236565b92915050565b60008060408385031215612279576122786121c9565b5b600061228785828601612217565b92505060206122988582860161224d565b9150509250929050565b60008115159050919050565b6122b7816122a2565b82525050565b60006020820190506122d260008301846122ae565b92915050565b6000602082840312156122ee576122ed6121c9565b5b60006122fc84828501612217565b91505092915050565b61230e8161222c565b82525050565b60006020820190506123296000830184612305565b92915050565b600080600060608486031215612348576123476121c9565b5b600061235686828701612217565b935050602061236786828701612217565b92505060406123788682870161224d565b9150509250925092565b600060ff82169050919050565b61239881612382565b82525050565b60006020820190506123b3600083018461238f565b92915050565b6000602082840312156123cf576123ce6121c9565b5b60006123dd8482850161224d565b91505092915050565b6123ef816121ee565b82525050565b600060208201905061240a60008301846123e6565b92915050565b60008060408385031215612427576124266121c9565b5b600061243585828601612217565b925050602061244685828601612217565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061249757607f821691505b6020821081036124aa576124a9612450565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124e6602083612122565b91506124f1826124b0565b602082019050919050565b60006020820190508181036000830152612515816124d9565b9050919050565b7f4163636f756e7420697320616c726561647920696e636c756465640000000000600082015250565b6000612552601b83612122565b915061255d8261251c565b602082019050919050565b6000602082019050818103600083015261258181612545565b9050919050565b7f5061697220697320616c7265616479207468652076616c7565206f662065786360008201527f6c75646564000000000000000000000000000000000000000000000000000000602082015250565b60006125e4602583612122565b91506125ef82612588565b604082019050919050565b60006020820190508181036000830152612613816125d7565b9050919050565b7f416e7469736e69706520616c72656164792064697361626c6564000000000000600082015250565b6000612650601a83612122565b915061265b8261261a565b602082019050919050565b6000602082019050818103600083015261267f81612643565b9050919050565b7f5061697220697320616c7265616479207468652076616c7565206f6620696e6360008201527f6c75646564000000000000000000000000000000000000000000000000000000602082015250565b60006126e2602583612122565b91506126ed82612686565b604082019050919050565b60006020820190508181036000830152612711816126d5565b9050919050565b7f4e6f742075736564207768656e20616e7469736e69706520697320646973616260008201527f6c65640000000000000000000000000000000000000000000000000000000000602082015250565b6000612774602383612122565b915061277f82612718565b604082019050919050565b600060208201905081810360008301526127a381612767565b9050919050565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b60006127e0601b83612122565b91506127eb826127aa565b602082019050919050565b6000602082019050818103600083015261280f816127d3565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612872602483612122565b915061287d82612816565b604082019050919050565b600060208201905081810360008301526128a181612865565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612904602283612122565b915061290f826128a8565b604082019050919050565b60006020820190508181036000830152612933816128f7565b9050919050565b7f43454f4d4f4f3a207472616e73616374696f6e20616d6f756e74206e6f74206160008201527f6c6c6f7765640000000000000000000000000000000000000000000000000000602082015250565b6000612996602683612122565b91506129a18261293a565b604082019050919050565b600060208201905081810360008301526129c581612989565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a068261222c565b9150612a118361222c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612a4a57612a496129cc565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a8f8261222c565b9150612a9a8361222c565b925082612aaa57612aa9612a55565b5b828204905092915050565b6000612ac08261222c565b9150612acb8361222c565b9250828203905081811115612ae357612ae26129cc565b5b92915050565b6000612af48261222c565b9150612aff8361222c565b9250828201905080821115612b1757612b166129cc565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b53601b83612122565b9150612b5e82612b1d565b602082019050919050565b60006020820190508181036000830152612b8281612b46565b9050919050565b7f42455032303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612be5602183612122565b9150612bf082612b89565b604082019050919050565b60006020820190508181036000830152612c1481612bd8565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612c77602683612122565b9150612c8282612c1b565b604082019050919050565b60006020820190508181036000830152612ca681612c6a565b905091905056fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f42455032303a206275726e20616d6f756e7420657863656564732062616c616e6365a264697066735822122034ec357cc1150ee6d12e849febf970e76ab5ee35b19d1f42b4a8a01ce7c10f4064736f6c63430008100033

Deployed Bytecode Sourcemap

4127:8207:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5756:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6441:154;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10715:242;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5849:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6603:446;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11650:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5566:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7057:285;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4343:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7743:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11527:115;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10965:126;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11099:207;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12234:97;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5950:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3589:140;;;:::i;:::-;;11862:161;;;:::i;:::-;;11755:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5473:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3375:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5659:89;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7350:385;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6070:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11314:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12031:195;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6272:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10464:243;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4805:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3737:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5756:85;5795:13;5828:5;5821:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5756:85;:::o;6441:154::-;6509:4;6526:39;6535:12;:10;:12::i;:::-;6549:7;6558:6;6526:8;:39::i;:::-;6583:4;6576:11;;6441:154;;;;:::o;10715:242::-;3512:12;:10;:12::i;:::-;3502:22;;:6;;;;;;;;;;:22;;;3494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10793:19:::1;:28;10813:7;10793:28;;;;;;;;;;;;;;;;;;;;;;;;;10785:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10895:5;10864:19;:28;10884:7;10864:28;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;10934:7;10918:31;;;10943:5;10918:31;;;;;;:::i;:::-;;;;;;;;10715:242:::0;:::o;5849:93::-;5895:7;5922:12;;5915:19;;5849:93;:::o;6603:446::-;6728:4;6745:43;6762:6;6770:9;6781:6;6745:16;:43::i;:::-;6799:220;6822:6;6843:12;:10;:12::i;:::-;6870:138;6926:6;6870:138;;;;;;;;;;;;;;;;;:11;:19;6882:6;6870:19;;;;;;;;;;;;;;;:33;6890:12;:10;:12::i;:::-;6870:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;6799:8;:220::i;:::-;7037:4;7030:11;;6603:446;;;;;:::o;11650:97::-;11697:7;11724:15;;11717:22;;11650:97;:::o;5566:85::-;5609:5;5634:9;;;;;;;;;;;5627:16;;5566:85;:::o;7057:285::-;7162:4;7179:133;7202:12;:10;:12::i;:::-;7229:7;7251:50;7290:10;7251:11;:25;7263:12;:10;:12::i;:::-;7251:25;;;;;;;;;;;;;;;:34;7277:7;7251:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;7179:8;:133::i;:::-;7330:4;7323:11;;7057:285;;;;:::o;4343:37::-;;;;;;;;;;;;;:::o;7743:122::-;7791:4;7808:27;7814:12;:10;:12::i;:::-;7828:6;7808:5;:27::i;:::-;7853:4;7846:11;;7743:122;;;:::o;11527:115::-;11594:4;11618:10;:16;11629:4;11618:16;;;;;;;;;;;;;;;;;;;;;;;;;11611:23;;11527:115;;;:::o;10965:126::-;11031:4;11055:19;:28;11075:7;11055:28;;;;;;;;;;;;;;;;;;;;;;;;;11048:35;;10965:126;;;:::o;11099:207::-;3512:12;:10;:12::i;:::-;3502:22;;:6;;;;;;;;;;:22;;;3494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11205:10:::1;:16;11216:4;11205:16;;;;;;;;;;;;;;;;;;;;;;;;;11197:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;11293:5;11274:10;:16;11285:4;11274:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;11099:207:::0;:::o;12234:97::-;12284:7;12311:12;;12304:19;;12234:97;:::o;5950:112::-;6009:7;6036:9;:18;6046:7;6036:18;;;;;;;;;;;;;;;;6029:25;;5950:112;;;:::o;3589:140::-;3512:12;:10;:12::i;:::-;3502:22;;:6;;;;;;;;;;:22;;;3494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3688:1:::1;3651:40;;3672:6;::::0;::::1;;;;;;;;3651:40;;;;;;;;;;;;3719:1;3702:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3589:140::o:0;11862:161::-;3512:12;:10;:12::i;:::-;3502:22;;:6;;;;;;;;;;:22;;;3494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11932:17:::1;;;;;;;;;;;11931:18;11923:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;12011:4;11991:17;;:24;;;;;;;;;;;;;;;;;;11862:161::o:0;11755:99::-;11803:7;11830:16;;11823:23;;11755:99;:::o;5473:85::-;5516:7;5543;:5;:7::i;:::-;5536:14;;5473:85;:::o;3375:79::-;3413:7;3440:6;;;;;;;;;;;3433:13;;3375:79;:::o;5659:89::-;5700:13;5733:7;5726:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5659:89;:::o;7350:385::-;7460:4;7477:228;7500:12;:10;:12::i;:::-;7527:7;7549:145;7606:15;7549:145;;;;;;;;;;;;;;;;;:11;:25;7561:12;:10;:12::i;:::-;7549:25;;;;;;;;;;;;;;;:34;7575:7;7549:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;7477:8;:228::i;:::-;7723:4;7716:11;;7350:385;;;;:::o;6070:194::-;6166:4;6185:49;6202:12;:10;:12::i;:::-;6216:9;6227:6;6185:16;:49::i;:::-;6252:4;6245:11;;6070:194;;;;:::o;11314:205::-;3512:12;:10;:12::i;:::-;3502:22;;:6;;;;;;;;;;:22;;;3494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11419:10:::1;:16;11430:4;11419:16;;;;;;;;;;;;;;;;;;;;;;;;;11418:17;11410:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11507:4;11488:10;:16;11499:4;11488:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;11314:205:::0;:::o;12031:195::-;3512:12;:10;:12::i;:::-;3502:22;;:6;;;;;;;;;;:22;;;3494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12120:17:::1;;;;;;;;;;;12119:18;12111:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;12203:15;12188:12;:30;;;;12031:195:::0;:::o;6272:161::-;6371:7;6398:11;:18;6410:5;6398:18;;;;;;;;;;;;;;;:27;6417:7;6398:27;;;;;;;;;;;;;;;;6391:34;;6272:161;;;;:::o;10464:243::-;3512:12;:10;:12::i;:::-;3502:22;;:6;;;;;;;;;;:22;;;3494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10545:19:::1;:28;10565:7;10545:28;;;;;;;;;;;;;;;;;;;;;;;;;10544:29;10536:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;10647:4;10616:19;:28;10636:7;10616:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;10685:7;10669:30;;;10694:4;10669:30;;;;;;:::i;:::-;;;;;;;;10464:243:::0;:::o;4805:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;3737:109::-;3512:12;:10;:12::i;:::-;3502:22;;:6;;;;;;;;;;:22;;;3494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3810:28:::1;3829:8;3810:18;:28::i;:::-;3737:109:::0;:::o;1228:98::-;1281:7;1308:10;1301:17;;1228:98;:::o;10081:338::-;10192:1;10175:19;;:5;:19;;;10167:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10273:1;10254:21;;:7;:21;;;10246:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10357:6;10327:11;:18;10339:5;10327:18;;;;;;;;;;;;;;;:27;10346:7;10327:27;;;;;;;;;;;;;;;:36;;;;10395:7;10379:32;;10388:5;10379:32;;;10404:6;10379:32;;;;;;:::i;:::-;;;;;;;;10081:338;;;:::o;7873:1422::-;8011:17;;;;;;;;;;;8006:207;;8049:10;:18;8060:6;8049:18;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;;8071:10;:21;8082:9;8071:21;;;;;;;;;;;;;;;;;;;;;;;;;8049:43;8045:157;;;8131:12;;8121:6;:22;;8113:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8045:157;8006:207;8225:12;8240:4;8225:19;;8259;:27;8279:6;8259:27;;;;;;;;;;;;;;;;;;;;;;;;;:61;;;;8290:19;:30;8310:9;8290:30;;;;;;;;;;;;;;;;;;;;;;;;;8259:61;8255:109;;;8347:5;8337:15;;8255:109;8381:10;:18;8392:6;8381:18;;;;;;;;;;;;;;;;;;;;;;;;;8380:19;:45;;;;;8404:10;:21;8415:9;8404:21;;;;;;;;;;;;;;;;;;;;;;;;;8403:22;8380:45;8376:93;;;8452:5;8442:15;;8376:93;8501:20;;8485:12;;:36;8481:84;;8548:5;8538:15;;8481:84;8581:7;8577:654;;;8605:18;8642:10;:18;8653:6;8642:18;;;;;;;;;;;;;;;;;;;;;;;;;8638:157;;;8694:15;;8681:28;;8638:157;;;8763:16;;8750:29;;8638:157;8826:1;8813:10;:14;8809:411;;;8848:12;8887:3;8873:10;8864:6;:19;;;;:::i;:::-;8863:27;;;;:::i;:::-;8848:42;;8940:20;;8915:22;8932:4;8915:12;;:16;;:22;;;;:::i;:::-;:45;8911:139;;;8992:38;9009:20;;8992:12;;:16;;:38;;;;:::i;:::-;8985:45;;8911:139;9088:4;9079:6;:13;;;;:::i;:::-;9070:22;;9128;9145:4;9128:12;;:16;;:22;;;;:::i;:::-;9113:12;:37;;;;9169:35;9179:6;9195:1;9199:4;9169:9;:35::i;:::-;8829:391;8809:411;8590:641;8577:654;9251:36;9261:6;9269:9;9280:6;9251:9;:36::i;:::-;7993:1302;7873:1422;;;:::o;1812:226::-;1932:7;1965:1;1960;:6;;1968:12;1952:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1992:9;2008:1;2004;:5;;;;:::i;:::-;1992:17;;2029:1;2022:8;;;1812:226;;;;;:::o;1479:181::-;1537:7;1557:9;1573:1;1569;:5;;;;:::i;:::-;1557:17;;1598:1;1593;:6;;1585:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1651:1;1644:8;;;1479:181;;;;:::o;9688:385::-;9783:1;9764:21;;:7;:21;;;9756:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9857:105;9894:6;9857:105;;;;;;;;;;;;;;;;;:9;:18;9867:7;9857:18;;;;;;;;;;;;;;;;:22;;:105;;;;;:::i;:::-;9836:9;:18;9846:7;9836:18;;;;;;;;;;;;;;;:126;;;;9988:24;10005:6;9988:12;;:16;;:24;;;;:::i;:::-;9973:12;:39;;;;10054:1;10028:37;;10037:7;10028:37;;;10058:6;10028:37;;;;;;:::i;:::-;;;;;;;;9688:385;;:::o;3854:266::-;3962:1;3942:22;;:8;:22;;;3920:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;4075:8;4046:38;;4067:6;;;;;;;;;;4046:38;;;;;;;;;;;;4104:8;4095:6;;:17;;;;;;;;;;;;;;;;;;3854:266;:::o;1668:136::-;1726:7;1753:43;1757:1;1760;1753:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1746:50;;1668:136;;;;:::o;9303:377::-;9447:108;9483:6;9447:108;;;;;;;;;;;;;;;;;:9;:17;9457:6;9447:17;;;;;;;;;;;;;;;;:21;;:108;;;;;:::i;:::-;9427:9;:17;9437:6;9427:17;;;;;;;;;;;;;;;:128;;;;9589:32;9614:6;9589:9;:20;9599:9;9589:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9566:9;:20;9576:9;9566:20;;;;;;;;;;;;;;;:55;;;;9654:9;9637:35;;9646:6;9637:35;;;9665:6;9637:35;;;;;;:::i;:::-;;;;;;;;9303:377;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:320;6585:6;6622:1;6616:4;6612:12;6602:22;;6669:1;6663:4;6659:12;6690:18;6680:81;;6746:4;6738:6;6734:17;6724:27;;6680:81;6808:2;6800:6;6797:14;6777:18;6774:38;6771:84;;6827:18;;:::i;:::-;6771:84;6592:269;6541:320;;;:::o;6867:182::-;7007:34;7003:1;6995:6;6991:14;6984:58;6867:182;:::o;7055:366::-;7197:3;7218:67;7282:2;7277:3;7218:67;:::i;:::-;7211:74;;7294:93;7383:3;7294:93;:::i;:::-;7412:2;7407:3;7403:12;7396:19;;7055:366;;;:::o;7427:419::-;7593:4;7631:2;7620:9;7616:18;7608:26;;7680:9;7674:4;7670:20;7666:1;7655:9;7651:17;7644:47;7708:131;7834:4;7708:131;:::i;:::-;7700:139;;7427:419;;;:::o;7852:177::-;7992:29;7988:1;7980:6;7976:14;7969:53;7852:177;:::o;8035:366::-;8177:3;8198:67;8262:2;8257:3;8198:67;:::i;:::-;8191:74;;8274:93;8363:3;8274:93;:::i;:::-;8392:2;8387:3;8383:12;8376:19;;8035:366;;;:::o;8407:419::-;8573:4;8611:2;8600:9;8596:18;8588:26;;8660:9;8654:4;8650:20;8646:1;8635:9;8631:17;8624:47;8688:131;8814:4;8688:131;:::i;:::-;8680:139;;8407:419;;;:::o;8832:224::-;8972:34;8968:1;8960:6;8956:14;8949:58;9041:7;9036:2;9028:6;9024:15;9017:32;8832:224;:::o;9062:366::-;9204:3;9225:67;9289:2;9284:3;9225:67;:::i;:::-;9218:74;;9301:93;9390:3;9301:93;:::i;:::-;9419:2;9414:3;9410:12;9403:19;;9062:366;;;:::o;9434:419::-;9600:4;9638:2;9627:9;9623:18;9615:26;;9687:9;9681:4;9677:20;9673:1;9662:9;9658:17;9651:47;9715:131;9841:4;9715:131;:::i;:::-;9707:139;;9434:419;;;:::o;9859:176::-;9999:28;9995:1;9987:6;9983:14;9976:52;9859:176;:::o;10041:366::-;10183:3;10204:67;10268:2;10263:3;10204:67;:::i;:::-;10197:74;;10280:93;10369:3;10280:93;:::i;:::-;10398:2;10393:3;10389:12;10382:19;;10041:366;;;:::o;10413:419::-;10579:4;10617:2;10606:9;10602:18;10594:26;;10666:9;10660:4;10656:20;10652:1;10641:9;10637:17;10630:47;10694:131;10820:4;10694:131;:::i;:::-;10686:139;;10413:419;;;:::o;10838:224::-;10978:34;10974:1;10966:6;10962:14;10955:58;11047:7;11042:2;11034:6;11030:15;11023:32;10838:224;:::o;11068:366::-;11210:3;11231:67;11295:2;11290:3;11231:67;:::i;:::-;11224:74;;11307:93;11396:3;11307:93;:::i;:::-;11425:2;11420:3;11416:12;11409:19;;11068:366;;;:::o;11440:419::-;11606:4;11644:2;11633:9;11629:18;11621:26;;11693:9;11687:4;11683:20;11679:1;11668:9;11664:17;11657:47;11721:131;11847:4;11721:131;:::i;:::-;11713:139;;11440:419;;;:::o;11865:222::-;12005:34;12001:1;11993:6;11989:14;11982:58;12074:5;12069:2;12061:6;12057:15;12050:30;11865:222;:::o;12093:366::-;12235:3;12256:67;12320:2;12315:3;12256:67;:::i;:::-;12249:74;;12332:93;12421:3;12332:93;:::i;:::-;12450:2;12445:3;12441:12;12434:19;;12093:366;;;:::o;12465:419::-;12631:4;12669:2;12658:9;12654:18;12646:26;;12718:9;12712:4;12708:20;12704:1;12693:9;12689:17;12682:47;12746:131;12872:4;12746:131;:::i;:::-;12738:139;;12465:419;;;:::o;12890:177::-;13030:29;13026:1;13018:6;13014:14;13007:53;12890:177;:::o;13073:366::-;13215:3;13236:67;13300:2;13295:3;13236:67;:::i;:::-;13229:74;;13312:93;13401:3;13312:93;:::i;:::-;13430:2;13425:3;13421:12;13414:19;;13073:366;;;:::o;13445:419::-;13611:4;13649:2;13638:9;13634:18;13626:26;;13698:9;13692:4;13688:20;13684:1;13673:9;13669:17;13662:47;13726:131;13852:4;13726:131;:::i;:::-;13718:139;;13445:419;;;:::o;13870:223::-;14010:34;14006:1;13998:6;13994:14;13987:58;14079:6;14074:2;14066:6;14062:15;14055:31;13870:223;:::o;14099:366::-;14241:3;14262:67;14326:2;14321:3;14262:67;:::i;:::-;14255:74;;14338:93;14427:3;14338:93;:::i;:::-;14456:2;14451:3;14447:12;14440:19;;14099:366;;;:::o;14471:419::-;14637:4;14675:2;14664:9;14660:18;14652:26;;14724:9;14718:4;14714:20;14710:1;14699:9;14695:17;14688:47;14752:131;14878:4;14752:131;:::i;:::-;14744:139;;14471:419;;;:::o;14896:221::-;15036:34;15032:1;15024:6;15020:14;15013:58;15105:4;15100:2;15092:6;15088:15;15081:29;14896:221;:::o;15123:366::-;15265:3;15286:67;15350:2;15345:3;15286:67;:::i;:::-;15279:74;;15362:93;15451:3;15362:93;:::i;:::-;15480:2;15475:3;15471:12;15464:19;;15123:366;;;:::o;15495:419::-;15661:4;15699:2;15688:9;15684:18;15676:26;;15748:9;15742:4;15738:20;15734:1;15723:9;15719:17;15712:47;15776:131;15902:4;15776:131;:::i;:::-;15768:139;;15495:419;;;:::o;15920:225::-;16060:34;16056:1;16048:6;16044:14;16037:58;16129:8;16124:2;16116:6;16112:15;16105:33;15920:225;:::o;16151:366::-;16293:3;16314:67;16378:2;16373:3;16314:67;:::i;:::-;16307:74;;16390:93;16479:3;16390:93;:::i;:::-;16508:2;16503:3;16499:12;16492:19;;16151:366;;;:::o;16523:419::-;16689:4;16727:2;16716:9;16712:18;16704:26;;16776:9;16770:4;16766:20;16762:1;16751:9;16747:17;16740:47;16804:131;16930:4;16804:131;:::i;:::-;16796:139;;16523:419;;;:::o;16948:180::-;16996:77;16993:1;16986:88;17093:4;17090:1;17083:15;17117:4;17114:1;17107:15;17134:348;17174:7;17197:20;17215:1;17197:20;:::i;:::-;17192:25;;17231:20;17249:1;17231:20;:::i;:::-;17226:25;;17419:1;17351:66;17347:74;17344:1;17341:81;17336:1;17329:9;17322:17;17318:105;17315:131;;;17426:18;;:::i;:::-;17315:131;17474:1;17471;17467:9;17456:20;;17134:348;;;;:::o;17488:180::-;17536:77;17533:1;17526:88;17633:4;17630:1;17623:15;17657:4;17654:1;17647:15;17674:185;17714:1;17731:20;17749:1;17731:20;:::i;:::-;17726:25;;17765:20;17783:1;17765:20;:::i;:::-;17760:25;;17804:1;17794:35;;17809:18;;:::i;:::-;17794:35;17851:1;17848;17844:9;17839:14;;17674:185;;;;:::o;17865:194::-;17905:4;17925:20;17943:1;17925:20;:::i;:::-;17920:25;;17959:20;17977:1;17959:20;:::i;:::-;17954:25;;18003:1;18000;17996:9;17988:17;;18027:1;18021:4;18018:11;18015:37;;;18032:18;;:::i;:::-;18015:37;17865:194;;;;:::o;18065:191::-;18105:3;18124:20;18142:1;18124:20;:::i;:::-;18119:25;;18158:20;18176:1;18158:20;:::i;:::-;18153:25;;18201:1;18198;18194:9;18187:16;;18222:3;18219:1;18216:10;18213:36;;;18229:18;;:::i;:::-;18213:36;18065:191;;;;:::o;18262:177::-;18402:29;18398:1;18390:6;18386:14;18379:53;18262:177;:::o;18445:366::-;18587:3;18608:67;18672:2;18667:3;18608:67;:::i;:::-;18601:74;;18684:93;18773:3;18684:93;:::i;:::-;18802:2;18797:3;18793:12;18786:19;;18445:366;;;:::o;18817:419::-;18983:4;19021:2;19010:9;19006:18;18998:26;;19070:9;19064:4;19060:20;19056:1;19045:9;19041:17;19034:47;19098:131;19224:4;19098:131;:::i;:::-;19090:139;;18817:419;;;:::o;19242:220::-;19382:34;19378:1;19370:6;19366:14;19359:58;19451:3;19446:2;19438:6;19434:15;19427:28;19242:220;:::o;19468:366::-;19610:3;19631:67;19695:2;19690:3;19631:67;:::i;:::-;19624:74;;19707:93;19796:3;19707:93;:::i;:::-;19825:2;19820:3;19816:12;19809:19;;19468:366;;;:::o;19840:419::-;20006:4;20044:2;20033:9;20029:18;20021:26;;20093:9;20087:4;20083:20;20079:1;20068:9;20064:17;20057:47;20121:131;20247:4;20121:131;:::i;:::-;20113:139;;19840:419;;;:::o;20265:225::-;20405:34;20401:1;20393:6;20389:14;20382:58;20474:8;20469:2;20461:6;20457:15;20450:33;20265:225;:::o;20496:366::-;20638:3;20659:67;20723:2;20718:3;20659:67;:::i;:::-;20652:74;;20735:93;20824:3;20735:93;:::i;:::-;20853:2;20848:3;20844:12;20837:19;;20496:366;;;:::o;20868:419::-;21034:4;21072:2;21061:9;21057:18;21049:26;;21121:9;21115:4;21111:20;21107:1;21096:9;21092:17;21085:47;21149:131;21275:4;21149:131;:::i;:::-;21141:139;;20868:419;;;:::o

Swarm Source

ipfs://34ec357cc1150ee6d12e849febf970e76ab5ee35b19d1f42b4a8a01ce7c10f40
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.