ETH Price: $3,099.45 (-0.93%)

Token

MultiEarnCapital (MEC)
 

Overview

Max Total Supply

1,000,000,000,000 MEC

Holders

171

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,258,402,203.997482458 MEC

Value
$0.00
0xCC86c675Ac9F00E440F4F80B6D27b881de0f128A
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:
MultiEarnCapital

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-24
*/

/**
 *Submitted for verification at Etherscan.io on 2021-11-24
*/

/**
TG: https://t.me/MultiEarnCapital
*/

pragma solidity ^0.8.4;
// SPDX-License-Identifier: UNLICENSED
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract MultiEarnCapital is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "MultiEarnCapital";
    string private constant _symbol = "MEC";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0x9349D329eFdd47ac3680C8144d15275c094671fD);
        _feeAddrWallet2 = payable(0x9349D329eFdd47ac3680C8144d15275c094671fD);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

    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 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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        _feeAddr1 = 2;
        _feeAddr2 = 10;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 2;
                _feeAddr2 = 10;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 40000000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d9190620004ed565b6000196200002c919062000554565b6008556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff021916908315150217905550683635c9adc5dea000006010553480156200009a57600080fd5b506000620000ad6200048360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350739349d329efdd47ac3680c8144d15275c094671fd600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739349d329efdd47ac3680c8144d15275c094671fd600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854600260006200020c6200048360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002606200048b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200040d6200048360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620004759190620005a0565b60405180910390a3620005bd565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620004fa82620004b4565b91506200050783620004b4565b9250826200051a5762000519620004be565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200056182620004b4565b91506200056e83620004b4565b92508282101562000584576200058362000525565b5b828203905092915050565b6200059a81620004b4565b82525050565b6000602082019050620005b760008301846200058f565b92915050565b612ee180620005cd6000396000f3fe6080604052600436106100ec5760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102dd578063c3c8cd801461031a578063c9567bf914610331578063dd62ed3e14610348576100f3565b806370a0823114610233578063715018a6146102705780638da5cb5b1461028757806395d89b41146102b2576100f3565b806323b872dd116100c657806323b872dd1461018b578063313ce567146101c85780635932ead1146101f35780636fc3eaec1461021c576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610385565b60405161011a919061219f565b60405180910390f35b34801561012f57600080fd5b5061014a6004803603810190610145919061225a565b6103c2565b60405161015791906122b5565b60405180910390f35b34801561016c57600080fd5b506101756103e0565b60405161018291906122df565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad91906122fa565b6103f1565b6040516101bf91906122b5565b60405180910390f35b3480156101d457600080fd5b506101dd6104ca565b6040516101ea9190612369565b60405180910390f35b3480156101ff57600080fd5b5061021a600480360381019061021591906123b0565b6104d3565b005b34801561022857600080fd5b50610231610585565b005b34801561023f57600080fd5b5061025a600480360381019061025591906123dd565b6105f7565b60405161026791906122df565b60405180910390f35b34801561027c57600080fd5b50610285610648565b005b34801561029357600080fd5b5061029c61079b565b6040516102a99190612419565b60405180910390f35b3480156102be57600080fd5b506102c76107c4565b6040516102d4919061219f565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff919061225a565b610801565b60405161031191906122b5565b60405180910390f35b34801561032657600080fd5b5061032f61081f565b005b34801561033d57600080fd5b50610346610899565b005b34801561035457600080fd5b5061036f600480360381019061036a9190612434565b610dab565b60405161037c91906122df565b60405180910390f35b60606040518060400160405280601081526020017f4d756c74694561726e4361706974616c00000000000000000000000000000000815250905090565b60006103d66103cf610e32565b8484610e3a565b6001905092915050565b6000683635c9adc5dea00000905090565b60006103fe848484611005565b6104bf8461040a610e32565b6104ba85604051806060016040528060288152602001612e8460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610470610e32565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160a9092919063ffffffff16565b610e3a565b600190509392505050565b60006009905090565b6104db610e32565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610568576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055f906124c0565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105c6610e32565b73ffffffffffffffffffffffffffffffffffffffff16146105e657600080fd5b60004790506105f48161166e565b50565b6000610641600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611769565b9050919050565b610650610e32565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d4906124c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d45430000000000000000000000000000000000000000000000000000000000815250905090565b600061081561080e610e32565b8484611005565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610860610e32565b73ffffffffffffffffffffffffffffffffffffffff161461088057600080fd5b600061088b306105f7565b9050610896816117d7565b50565b6108a1610e32565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461092e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610925906124c0565b60405180910390fd5b600f60149054906101000a900460ff161561097e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109759061252c565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a0e30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000610e3a565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7d9190612561565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b089190612561565b6040518363ffffffff1660e01b8152600401610b2592919061258e565b6020604051808303816000875af1158015610b44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b689190612561565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610bf1306105f7565b600080610bfc61079b565b426040518863ffffffff1660e01b8152600401610c1e969594939291906125fc565b60606040518083038185885af1158015610c3c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c619190612672565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff02191690831515021790555068022b1c8c1227a000006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d649291906126c5565b6020604051808303816000875af1158015610d83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da79190612703565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea1906127a2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1190612834565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ff891906122df565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106c906128c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dc90612958565b60405180910390fd5b60008111611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111f906129ea565b60405180910390fd5b6002600a81905550600a600b8190555061114061079b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111ae575061117e61079b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156115fa57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112575750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61126057600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561130b5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113615750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113795750600f60179054906101000a900460ff165b156114295760105481111561138d57600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106113d857600080fd5b601e426113e59190612a39565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156114d45750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561152a5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611540576002600a81905550600a600b819055505b600061154b306105f7565b9050600f60159054906101000a900460ff161580156115b85750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115d05750600f60169054906101000a900460ff165b156115f8576115de816117d7565b600047905060008111156115f6576115f54761166e565b5b505b505b611605838383611a50565b505050565b6000838311158290611652576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611649919061219f565b60405180910390fd5b50600083856116619190612a8f565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6116be600284611a6090919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156116e9573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61173a600284611a6090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611765573d6000803e3d6000fd5b5050565b60006008548211156117b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a790612b35565b60405180910390fd5b60006117ba611aaa565b90506117cf8184611a6090919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561180f5761180e612b55565b5b60405190808252806020026020018201604052801561183d5781602001602082028036833780820191505090505b509050308160008151811061185557611854612b84565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119209190612561565b8160018151811061193457611933612b84565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061199b30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e3a565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119ff959493929190612c71565b600060405180830381600087803b158015611a1957600080fd5b505af1158015611a2d573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b611a5b838383611ad5565b505050565b6000611aa283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ca0565b905092915050565b6000806000611ab7611d03565b91509150611ace8183611a6090919063ffffffff16565b9250505090565b600080600080600080611ae787611d65565b955095509550955095509550611b4586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dcd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bda85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c2681611e75565b611c308483611f32565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c8d91906122df565b60405180910390a3505050505050505050565b60008083118290611ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cde919061219f565b60405180910390fd5b5060008385611cf69190612cfa565b9050809150509392505050565b600080600060085490506000683635c9adc5dea000009050611d39683635c9adc5dea00000600854611a6090919063ffffffff16565b821015611d5857600854683635c9adc5dea00000935093505050611d61565b81819350935050505b9091565b6000806000806000806000806000611d828a600a54600b54611f6c565b9250925092506000611d92611aaa565b90506000806000611da58e878787612002565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611e0f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061160a565b905092915050565b6000808284611e269190612a39565b905083811015611e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6290612d77565b60405180910390fd5b8091505092915050565b6000611e7f611aaa565b90506000611e96828461208b90919063ffffffff16565b9050611eea81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611f4782600854611dcd90919063ffffffff16565b600881905550611f6281600954611e1790919063ffffffff16565b6009819055505050565b600080600080611f986064611f8a888a61208b90919063ffffffff16565b611a6090919063ffffffff16565b90506000611fc26064611fb4888b61208b90919063ffffffff16565b611a6090919063ffffffff16565b90506000611feb82611fdd858c611dcd90919063ffffffff16565b611dcd90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061201b858961208b90919063ffffffff16565b90506000612032868961208b90919063ffffffff16565b90506000612049878961208b90919063ffffffff16565b90506000612072826120648587611dcd90919063ffffffff16565b611dcd90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561209e5760009050612100565b600082846120ac9190612d97565b90508284826120bb9190612cfa565b146120fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f290612e63565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612140578082015181840152602081019050612125565b8381111561214f576000848401525b50505050565b6000601f19601f8301169050919050565b600061217182612106565b61217b8185612111565b935061218b818560208601612122565b61219481612155565b840191505092915050565b600060208201905081810360008301526121b98184612166565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121f1826121c6565b9050919050565b612201816121e6565b811461220c57600080fd5b50565b60008135905061221e816121f8565b92915050565b6000819050919050565b61223781612224565b811461224257600080fd5b50565b6000813590506122548161222e565b92915050565b60008060408385031215612271576122706121c1565b5b600061227f8582860161220f565b925050602061229085828601612245565b9150509250929050565b60008115159050919050565b6122af8161229a565b82525050565b60006020820190506122ca60008301846122a6565b92915050565b6122d981612224565b82525050565b60006020820190506122f460008301846122d0565b92915050565b600080600060608486031215612313576123126121c1565b5b60006123218682870161220f565b93505060206123328682870161220f565b925050604061234386828701612245565b9150509250925092565b600060ff82169050919050565b6123638161234d565b82525050565b600060208201905061237e600083018461235a565b92915050565b61238d8161229a565b811461239857600080fd5b50565b6000813590506123aa81612384565b92915050565b6000602082840312156123c6576123c56121c1565b5b60006123d48482850161239b565b91505092915050565b6000602082840312156123f3576123f26121c1565b5b60006124018482850161220f565b91505092915050565b612413816121e6565b82525050565b600060208201905061242e600083018461240a565b92915050565b6000806040838503121561244b5761244a6121c1565b5b60006124598582860161220f565b925050602061246a8582860161220f565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124aa602083612111565b91506124b582612474565b602082019050919050565b600060208201905081810360008301526124d98161249d565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612516601783612111565b9150612521826124e0565b602082019050919050565b6000602082019050818103600083015261254581612509565b9050919050565b60008151905061255b816121f8565b92915050565b600060208284031215612577576125766121c1565b5b60006125858482850161254c565b91505092915050565b60006040820190506125a3600083018561240a565b6125b0602083018461240a565b9392505050565b6000819050919050565b6000819050919050565b60006125e66125e16125dc846125b7565b6125c1565b612224565b9050919050565b6125f6816125cb565b82525050565b600060c082019050612611600083018961240a565b61261e60208301886122d0565b61262b60408301876125ed565b61263860608301866125ed565b612645608083018561240a565b61265260a08301846122d0565b979650505050505050565b60008151905061266c8161222e565b92915050565b60008060006060848603121561268b5761268a6121c1565b5b60006126998682870161265d565b93505060206126aa8682870161265d565b92505060406126bb8682870161265d565b9150509250925092565b60006040820190506126da600083018561240a565b6126e760208301846122d0565b9392505050565b6000815190506126fd81612384565b92915050565b600060208284031215612719576127186121c1565b5b6000612727848285016126ee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061278c602483612111565b915061279782612730565b604082019050919050565b600060208201905081810360008301526127bb8161277f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061281e602283612111565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602583612111565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612942602383612111565b915061294d826128e6565b604082019050919050565b6000602082019050818103600083015261297181612935565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006129d4602983612111565b91506129df82612978565b604082019050919050565b60006020820190508181036000830152612a03816129c7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a4482612224565b9150612a4f83612224565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a8457612a83612a0a565b5b828201905092915050565b6000612a9a82612224565b9150612aa583612224565b925082821015612ab857612ab7612a0a565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612b1f602a83612111565b9150612b2a82612ac3565b604082019050919050565b60006020820190508181036000830152612b4e81612b12565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612be8816121e6565b82525050565b6000612bfa8383612bdf565b60208301905092915050565b6000602082019050919050565b6000612c1e82612bb3565b612c288185612bbe565b9350612c3383612bcf565b8060005b83811015612c64578151612c4b8882612bee565b9750612c5683612c06565b925050600181019050612c37565b5085935050505092915050565b600060a082019050612c8660008301886122d0565b612c9360208301876125ed565b8181036040830152612ca58186612c13565b9050612cb4606083018561240a565b612cc160808301846122d0565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d0582612224565b9150612d1083612224565b925082612d2057612d1f612ccb565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d61601b83612111565b9150612d6c82612d2b565b602082019050919050565b60006020820190508181036000830152612d9081612d54565b9050919050565b6000612da282612224565b9150612dad83612224565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612de657612de5612a0a565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e4d602183612111565b9150612e5882612df1565b604082019050919050565b60006020820190508181036000830152612e7c81612e40565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b1f11c3dd03c974e1d7ef1826285f61dc617b28829c2cf64f8a80bcfa762702b64736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106100ec5760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102dd578063c3c8cd801461031a578063c9567bf914610331578063dd62ed3e14610348576100f3565b806370a0823114610233578063715018a6146102705780638da5cb5b1461028757806395d89b41146102b2576100f3565b806323b872dd116100c657806323b872dd1461018b578063313ce567146101c85780635932ead1146101f35780636fc3eaec1461021c576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610385565b60405161011a919061219f565b60405180910390f35b34801561012f57600080fd5b5061014a6004803603810190610145919061225a565b6103c2565b60405161015791906122b5565b60405180910390f35b34801561016c57600080fd5b506101756103e0565b60405161018291906122df565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad91906122fa565b6103f1565b6040516101bf91906122b5565b60405180910390f35b3480156101d457600080fd5b506101dd6104ca565b6040516101ea9190612369565b60405180910390f35b3480156101ff57600080fd5b5061021a600480360381019061021591906123b0565b6104d3565b005b34801561022857600080fd5b50610231610585565b005b34801561023f57600080fd5b5061025a600480360381019061025591906123dd565b6105f7565b60405161026791906122df565b60405180910390f35b34801561027c57600080fd5b50610285610648565b005b34801561029357600080fd5b5061029c61079b565b6040516102a99190612419565b60405180910390f35b3480156102be57600080fd5b506102c76107c4565b6040516102d4919061219f565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff919061225a565b610801565b60405161031191906122b5565b60405180910390f35b34801561032657600080fd5b5061032f61081f565b005b34801561033d57600080fd5b50610346610899565b005b34801561035457600080fd5b5061036f600480360381019061036a9190612434565b610dab565b60405161037c91906122df565b60405180910390f35b60606040518060400160405280601081526020017f4d756c74694561726e4361706974616c00000000000000000000000000000000815250905090565b60006103d66103cf610e32565b8484610e3a565b6001905092915050565b6000683635c9adc5dea00000905090565b60006103fe848484611005565b6104bf8461040a610e32565b6104ba85604051806060016040528060288152602001612e8460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610470610e32565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160a9092919063ffffffff16565b610e3a565b600190509392505050565b60006009905090565b6104db610e32565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610568576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055f906124c0565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105c6610e32565b73ffffffffffffffffffffffffffffffffffffffff16146105e657600080fd5b60004790506105f48161166e565b50565b6000610641600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611769565b9050919050565b610650610e32565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d4906124c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d45430000000000000000000000000000000000000000000000000000000000815250905090565b600061081561080e610e32565b8484611005565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610860610e32565b73ffffffffffffffffffffffffffffffffffffffff161461088057600080fd5b600061088b306105f7565b9050610896816117d7565b50565b6108a1610e32565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461092e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610925906124c0565b60405180910390fd5b600f60149054906101000a900460ff161561097e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109759061252c565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a0e30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000610e3a565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7d9190612561565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b089190612561565b6040518363ffffffff1660e01b8152600401610b2592919061258e565b6020604051808303816000875af1158015610b44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b689190612561565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610bf1306105f7565b600080610bfc61079b565b426040518863ffffffff1660e01b8152600401610c1e969594939291906125fc565b60606040518083038185885af1158015610c3c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c619190612672565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff02191690831515021790555068022b1c8c1227a000006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d649291906126c5565b6020604051808303816000875af1158015610d83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da79190612703565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea1906127a2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1190612834565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ff891906122df565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106c906128c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dc90612958565b60405180910390fd5b60008111611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111f906129ea565b60405180910390fd5b6002600a81905550600a600b8190555061114061079b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111ae575061117e61079b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156115fa57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112575750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61126057600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561130b5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113615750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113795750600f60179054906101000a900460ff165b156114295760105481111561138d57600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106113d857600080fd5b601e426113e59190612a39565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156114d45750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561152a5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611540576002600a81905550600a600b819055505b600061154b306105f7565b9050600f60159054906101000a900460ff161580156115b85750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115d05750600f60169054906101000a900460ff165b156115f8576115de816117d7565b600047905060008111156115f6576115f54761166e565b5b505b505b611605838383611a50565b505050565b6000838311158290611652576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611649919061219f565b60405180910390fd5b50600083856116619190612a8f565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6116be600284611a6090919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156116e9573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61173a600284611a6090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611765573d6000803e3d6000fd5b5050565b60006008548211156117b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a790612b35565b60405180910390fd5b60006117ba611aaa565b90506117cf8184611a6090919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561180f5761180e612b55565b5b60405190808252806020026020018201604052801561183d5781602001602082028036833780820191505090505b509050308160008151811061185557611854612b84565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119209190612561565b8160018151811061193457611933612b84565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061199b30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e3a565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016119ff959493929190612c71565b600060405180830381600087803b158015611a1957600080fd5b505af1158015611a2d573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b611a5b838383611ad5565b505050565b6000611aa283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ca0565b905092915050565b6000806000611ab7611d03565b91509150611ace8183611a6090919063ffffffff16565b9250505090565b600080600080600080611ae787611d65565b955095509550955095509550611b4586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dcd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bda85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c2681611e75565b611c308483611f32565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c8d91906122df565b60405180910390a3505050505050505050565b60008083118290611ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cde919061219f565b60405180910390fd5b5060008385611cf69190612cfa565b9050809150509392505050565b600080600060085490506000683635c9adc5dea000009050611d39683635c9adc5dea00000600854611a6090919063ffffffff16565b821015611d5857600854683635c9adc5dea00000935093505050611d61565b81819350935050505b9091565b6000806000806000806000806000611d828a600a54600b54611f6c565b9250925092506000611d92611aaa565b90506000806000611da58e878787612002565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611e0f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061160a565b905092915050565b6000808284611e269190612a39565b905083811015611e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6290612d77565b60405180910390fd5b8091505092915050565b6000611e7f611aaa565b90506000611e96828461208b90919063ffffffff16565b9050611eea81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e1790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611f4782600854611dcd90919063ffffffff16565b600881905550611f6281600954611e1790919063ffffffff16565b6009819055505050565b600080600080611f986064611f8a888a61208b90919063ffffffff16565b611a6090919063ffffffff16565b90506000611fc26064611fb4888b61208b90919063ffffffff16565b611a6090919063ffffffff16565b90506000611feb82611fdd858c611dcd90919063ffffffff16565b611dcd90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061201b858961208b90919063ffffffff16565b90506000612032868961208b90919063ffffffff16565b90506000612049878961208b90919063ffffffff16565b90506000612072826120648587611dcd90919063ffffffff16565b611dcd90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561209e5760009050612100565b600082846120ac9190612d97565b90508284826120bb9190612cfa565b146120fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f290612e63565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612140578082015181840152602081019050612125565b8381111561214f576000848401525b50505050565b6000601f19601f8301169050919050565b600061217182612106565b61217b8185612111565b935061218b818560208601612122565b61219481612155565b840191505092915050565b600060208201905081810360008301526121b98184612166565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121f1826121c6565b9050919050565b612201816121e6565b811461220c57600080fd5b50565b60008135905061221e816121f8565b92915050565b6000819050919050565b61223781612224565b811461224257600080fd5b50565b6000813590506122548161222e565b92915050565b60008060408385031215612271576122706121c1565b5b600061227f8582860161220f565b925050602061229085828601612245565b9150509250929050565b60008115159050919050565b6122af8161229a565b82525050565b60006020820190506122ca60008301846122a6565b92915050565b6122d981612224565b82525050565b60006020820190506122f460008301846122d0565b92915050565b600080600060608486031215612313576123126121c1565b5b60006123218682870161220f565b93505060206123328682870161220f565b925050604061234386828701612245565b9150509250925092565b600060ff82169050919050565b6123638161234d565b82525050565b600060208201905061237e600083018461235a565b92915050565b61238d8161229a565b811461239857600080fd5b50565b6000813590506123aa81612384565b92915050565b6000602082840312156123c6576123c56121c1565b5b60006123d48482850161239b565b91505092915050565b6000602082840312156123f3576123f26121c1565b5b60006124018482850161220f565b91505092915050565b612413816121e6565b82525050565b600060208201905061242e600083018461240a565b92915050565b6000806040838503121561244b5761244a6121c1565b5b60006124598582860161220f565b925050602061246a8582860161220f565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124aa602083612111565b91506124b582612474565b602082019050919050565b600060208201905081810360008301526124d98161249d565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612516601783612111565b9150612521826124e0565b602082019050919050565b6000602082019050818103600083015261254581612509565b9050919050565b60008151905061255b816121f8565b92915050565b600060208284031215612577576125766121c1565b5b60006125858482850161254c565b91505092915050565b60006040820190506125a3600083018561240a565b6125b0602083018461240a565b9392505050565b6000819050919050565b6000819050919050565b60006125e66125e16125dc846125b7565b6125c1565b612224565b9050919050565b6125f6816125cb565b82525050565b600060c082019050612611600083018961240a565b61261e60208301886122d0565b61262b60408301876125ed565b61263860608301866125ed565b612645608083018561240a565b61265260a08301846122d0565b979650505050505050565b60008151905061266c8161222e565b92915050565b60008060006060848603121561268b5761268a6121c1565b5b60006126998682870161265d565b93505060206126aa8682870161265d565b92505060406126bb8682870161265d565b9150509250925092565b60006040820190506126da600083018561240a565b6126e760208301846122d0565b9392505050565b6000815190506126fd81612384565b92915050565b600060208284031215612719576127186121c1565b5b6000612727848285016126ee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061278c602483612111565b915061279782612730565b604082019050919050565b600060208201905081810360008301526127bb8161277f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061281e602283612111565b9150612829826127c2565b604082019050919050565b6000602082019050818103600083015261284d81612811565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006128b0602583612111565b91506128bb82612854565b604082019050919050565b600060208201905081810360008301526128df816128a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612942602383612111565b915061294d826128e6565b604082019050919050565b6000602082019050818103600083015261297181612935565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006129d4602983612111565b91506129df82612978565b604082019050919050565b60006020820190508181036000830152612a03816129c7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a4482612224565b9150612a4f83612224565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a8457612a83612a0a565b5b828201905092915050565b6000612a9a82612224565b9150612aa583612224565b925082821015612ab857612ab7612a0a565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612b1f602a83612111565b9150612b2a82612ac3565b604082019050919050565b60006020820190508181036000830152612b4e81612b12565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612be8816121e6565b82525050565b6000612bfa8383612bdf565b60208301905092915050565b6000602082019050919050565b6000612c1e82612bb3565b612c288185612bbe565b9350612c3383612bcf565b8060005b83811015612c64578151612c4b8882612bee565b9750612c5683612c06565b925050600181019050612c37565b5085935050505092915050565b600060a082019050612c8660008301886122d0565b612c9360208301876125ed565b8181036040830152612ca58186612c13565b9050612cb4606083018561240a565b612cc160808301846122d0565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d0582612224565b9150612d1083612224565b925082612d2057612d1f612ccb565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d61601b83612111565b9150612d6c82612d2b565b602082019050919050565b60006020820190508181036000830152612d9081612d54565b9050919050565b6000612da282612224565b9150612dad83612224565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612de657612de5612a0a565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e4d602183612111565b9150612e5882612df1565b604082019050919050565b60006020820190508181036000830152612e7c81612e40565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b1f11c3dd03c974e1d7ef1826285f61dc617b28829c2cf64f8a80bcfa762702b64736f6c634300080a0033

Deployed Bytecode Sourcemap

3632:10056:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5495:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6347:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5772:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6516:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5681:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6837:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11792:194;;;;;;;;;;;;;:::i;:::-;;5875:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2711:148;;;;;;;;;;;;;:::i;:::-;;2497:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5586:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6021:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11585:195;;;;;;;;;;;;;:::i;:::-;;9689:816;;;;;;;;;;;;;:::i;:::-;;6196:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5495:83;5532:13;5565:5;;;;;;;;;;;;;;;;;5558:12;;5495:83;:::o;6347:161::-;6422:4;6439:39;6448:12;:10;:12::i;:::-;6462:7;6471:6;6439:8;:39::i;:::-;6496:4;6489:11;;6347:161;;;;:::o;5772:95::-;5825:7;4141:21;5845:14;;5772:95;:::o;6516:313::-;6614:4;6631:36;6641:6;6649:9;6660:6;6631:9;:36::i;:::-;6678:121;6687:6;6695:12;:10;:12::i;:::-;6709:89;6747:6;6709:89;;;;;;;;;;;;;;;;;:11;:19;6721:6;6709:19;;;;;;;;;;;;;;;:33;6729:12;:10;:12::i;:::-;6709:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6678:8;:121::i;:::-;6817:4;6810:11;;6516:313;;;;;:::o;5681:83::-;5722:5;4564:1;5740:16;;5681:83;:::o;6837:103::-;2634:12;:10;:12::i;:::-;2624:22;;:6;;;;;;;;;;:22;;;2616:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6927:5:::1;6909:15;;:23;;;;;;;;;;;;;;;;;;6837:103:::0;:::o;11792:194::-;11858:15;;;;;;;;;;;11842:31;;:12;:10;:12::i;:::-;:31;;;11834:40;;;;;;11885:26;11914:21;11885:50;;11946:32;11959:18;11946:12;:32::i;:::-;11823:163;11792:194::o;5875:138::-;5941:7;5968:37;5988:7;:16;5996:7;5988:16;;;;;;;;;;;;;;;;5968:19;:37::i;:::-;5961:44;;5875:138;;;:::o;2711:148::-;2634:12;:10;:12::i;:::-;2624:22;;:6;;;;;;;;;;:22;;;2616:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2818:1:::1;2781:40;;2802:6;::::0;::::1;;;;;;;;2781:40;;;;;;;;;;;;2849:1;2832:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2711:148::o:0;2497:79::-;2535:7;2562:6;;;;;;;;;;;2555:13;;2497:79;:::o;5586:87::-;5625:13;5658:7;;;;;;;;;;;;;;;;;5651:14;;5586:87;:::o;6021:167::-;6099:4;6116:42;6126:12;:10;:12::i;:::-;6140:9;6151:6;6116:9;:42::i;:::-;6176:4;6169:11;;6021:167;;;;:::o;11585:195::-;11651:15;;;;;;;;;;;11635:31;;:12;:10;:12::i;:::-;:31;;;11627:40;;;;;;11678:23;11704:24;11722:4;11704:9;:24::i;:::-;11678:50;;11739:33;11756:15;11739:16;:33::i;:::-;11616:164;11585:195::o;9689:816::-;2634:12;:10;:12::i;:::-;2624:22;;:6;;;;;;;;;;:22;;;2616:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9753:11:::1;;;;;;;;;;;9752:12;9744:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9802:35;9859:42;9802:100;;9931:16;9913:15;;:34;;;;;;;;;;;;;;;;;;9958:58;9975:4;9990:15;;;;;;;;;;;4141:21;9958:8;:58::i;:::-;10061:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10043:56;;;10108:4;10115:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10043:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10027:13;;:112;;;;;;;;;;;;;;;;;;10150:15;;;;;;;;;;;:31;;;10189:21;10220:4;10226:24;10244:4;10226:9;:24::i;:::-;10251:1;10253::::0;10255:7:::1;:5;:7::i;:::-;10263:15;10150:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10304:4;10290:11;;:18;;;;;;;;;;;;;;;;;;10337:4;10319:15;;:22;;;;;;;;;;;;;;;;;;10367:19;10352:12;:34;;;;10411:4;10397:11;;:18;;;;;;;;;;;;;;;;;;10433:13;;;;;;;;;;;10426:29;;;10464:15;;;;;;;;;;;10482:14;10426:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9733:772;9689:816::o:0;6196:143::-;6277:7;6304:11;:18;6316:5;6304:18;;;;;;;;;;;;;;;:27;6323:7;6304:27;;;;;;;;;;;;;;;;6297:34;;6196:143;;;;:::o;215:98::-;268:7;295:10;288:17;;215:98;:::o;7210:335::-;7320:1;7303:19;;:5;:19;;;;7295:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7401:1;7382:21;;:7;:21;;;;7374:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7483:6;7453:11;:18;7465:5;7453:18;;;;;;;;;;;;;;;:27;7472:7;7453:27;;;;;;;;;;;;;;;:36;;;;7521:7;7505:32;;7514:5;7505:32;;;7530:6;7505:32;;;;;;:::i;:::-;;;;;;;;7210:335;;;:::o;7553:1463::-;7657:1;7641:18;;:4;:18;;;;7633:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7734:1;7720:16;;:2;:16;;;;7712:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7804:1;7795:6;:10;7787:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7874:1;7862:9;:13;;;;7898:2;7886:9;:14;;;;7923:7;:5;:7::i;:::-;7915:15;;:4;:15;;;;:32;;;;;7940:7;:5;:7::i;:::-;7934:13;;:2;:13;;;;7915:32;7911:1053;;;7973:4;:10;7978:4;7973:10;;;;;;;;;;;;;;;;;;;;;;;;;7972:11;:24;;;;;7988:4;:8;7993:2;7988:8;;;;;;;;;;;;;;;;;;;;;;;;;7987:9;7972:24;7964:33;;;;;;8024:13;;;;;;;;;;;8016:21;;:4;:21;;;:55;;;;;8055:15;;;;;;;;;;;8041:30;;:2;:30;;;;8016:55;:83;;;;;8077:18;:22;8096:2;8077:22;;;;;;;;;;;;;;;;;;;;;;;;;8075:24;8016:83;:102;;;;;8103:15;;;;;;;;;;;8016:102;8012:325;;;8186:12;;8176:6;:22;;8168:31;;;;;;8241:15;8226:8;:12;8235:2;8226:12;;;;;;;;;;;;;;;;:30;8218:39;;;;;;8310:10;8291:15;:30;;;;:::i;:::-;8276:8;:12;8285:2;8276:12;;;;;;;;;;;;;;;:45;;;;8012:325;8389:13;;;;;;;;;;;8383:19;;:2;:19;;;:55;;;;;8422:15;;;;;;;;;;;8406:32;;:4;:32;;;;8383:55;:85;;;;;8444:18;:24;8463:4;8444:24;;;;;;;;;;;;;;;;;;;;;;;;;8442:26;8383:85;8379:172;;;8501:1;8489:9;:13;;;;8533:2;8521:9;:14;;;;8379:172;8565:28;8596:24;8614:4;8596:9;:24::i;:::-;8565:55;;8640:6;;;;;;;;;;;8639:7;:32;;;;;8658:13;;;;;;;;;;;8650:21;;:4;:21;;;;8639:32;:47;;;;;8675:11;;;;;;;;;;;8639:47;8635:318;;;8707:38;8724:20;8707:16;:38::i;:::-;8764:26;8793:21;8764:50;;8857:1;8836:18;:22;8833:105;;;8883:35;8896:21;8883:12;:35::i;:::-;8833:105;8688:265;8635:318;7949:1015;7911:1053;8978:30;8993:4;8998:2;9001:6;8978:14;:30::i;:::-;7553:1463;;;:::o;1352:190::-;1438:7;1471:1;1466;:6;;1474:12;1458:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1498:9;1514:1;1510;:5;;;;:::i;:::-;1498:17;;1533:1;1526:8;;;1352:190;;;;;:::o;9523:154::-;9580:15;;;;;;;;;;;:24;;:39;9605:13;9616:1;9605:6;:10;;:13;;;;:::i;:::-;9580:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9630:15;;;;;;;;;;;:24;;:39;9655:13;9666:1;9655:6;:10;;:13;;;;:::i;:::-;9630:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9523:154;:::o;6948:254::-;7015:7;7054;;7043;:18;;7035:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7119:19;7142:10;:8;:10::i;:::-;7119:33;;7170:24;7182:11;7170:7;:11;;:24;;;;:::i;:::-;7163:31;;;6948:254;;;:::o;9024:483::-;4946:4;4937:6;;:13;;;;;;;;;;;;;;;;;;9102:21:::1;9140:1;9126:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9102:40;;9171:4;9153;9158:1;9153:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9197:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9187:4;9192:1;9187:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9230:62;9247:4;9262:15;;;;;;;;;;;9280:11;9230:8;:62::i;:::-;9303:15;;;;;;;;;;;:66;;;9384:11;9410:1;9426:4;9453;9473:15;9303:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9091:416;4982:5:::0;4973:6;;:14;;;;;;;;;;;;;;;;;;9024:483;:::o;10519:146::-;10613:44;10631:6;10639:9;10650:6;10613:17;:44::i;:::-;10519:146;;;:::o;1804:132::-;1862:7;1889:39;1893:1;1896;1889:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1882:46;;1804:132;;;;:::o;13252:163::-;13293:7;13314:15;13331;13350:19;:17;:19::i;:::-;13313:56;;;;13387:20;13399:7;13387;:11;;:20;;;;:::i;:::-;13380:27;;;;13252:163;:::o;10673:488::-;10772:15;10789:23;10814:12;10828:23;10853:12;10867:13;10884:19;10895:7;10884:10;:19::i;:::-;10771:132;;;;;;;;;;;;10932:28;10952:7;10932;:15;10940:6;10932:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10914:7;:15;10922:6;10914:15;;;;;;;;;;;;;;;:46;;;;10992:39;11015:15;10992:7;:18;11000:9;10992:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10971:7;:18;10979:9;10971:18;;;;;;;;;;;;;;;:60;;;;11043:16;11053:5;11043:9;:16::i;:::-;11070:23;11082:4;11088;11070:11;:23::i;:::-;11126:9;11109:44;;11118:6;11109:44;;;11137:15;11109:44;;;;;;:::i;:::-;;;;;;;;10760:401;;;;;;10673:488;;;:::o;1944:189::-;2030:7;2062:1;2058;:5;2065:12;2050:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2089:9;2105:1;2101;:5;;;;:::i;:::-;2089:17;;2124:1;2117:8;;;1944:189;;;;;:::o;13423:262::-;13473:7;13482;13502:15;13520:7;;13502:25;;13538:15;4141:21;13538:25;;13594:20;4141:21;13594:7;;:11;;:20;;;;:::i;:::-;13584:7;:30;13580:61;;;13624:7;;4141:21;13616:25;;;;;;;;13580:61;13660:7;13669;13652:25;;;;;;13423:262;;;:::o;12000:471::-;12059:7;12068;12077;12086;12095;12104;12125:23;12150:12;12164:13;12181:42;12193:7;12202:9;;12213;;12181:11;:42::i;:::-;12124:99;;;;;;12234:19;12257:10;:8;:10::i;:::-;12234:33;;12279:15;12296:23;12321:12;12337:46;12349:7;12358:4;12364:5;12371:11;12337;:46::i;:::-;12278:105;;;;;;12402:7;12411:15;12428:4;12434:15;12451:4;12457:5;12394:69;;;;;;;;;;;;;;;;;;;12000:471;;;;;;;:::o;1208:136::-;1266:7;1293:43;1297:1;1300;1293:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1286:50;;1208:136;;;;:::o;1021:179::-;1079:7;1099:9;1115:1;1111;:5;;;;:::i;:::-;1099:17;;1140:1;1135;:6;;1127:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1191:1;1184:8;;;1021:179;;;;:::o;11169:212::-;11222:19;11245:10;:8;:10::i;:::-;11222:33;;11266:13;11282:22;11292:11;11282:5;:9;;:22;;;;:::i;:::-;11266:38;;11340:33;11367:5;11340:7;:22;11356:4;11340:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11315:7;:22;11331:4;11315:22;;;;;;;;;;;;;;;:58;;;;11211:170;;11169:212;:::o;11389:147::-;11467:17;11479:4;11467:7;;:11;;:17;;;;:::i;:::-;11457:7;:27;;;;11508:20;11523:4;11508:10;;:14;;:20;;;;:::i;:::-;11495:10;:33;;;;11389:147;;:::o;12479:351::-;12572:7;12581;12590;12610:12;12625:28;12649:3;12625:19;12637:6;12625:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12610:43;;12664:13;12680:29;12705:3;12680:20;12692:7;12680;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12664:45;;12720:23;12746:28;12768:5;12746:17;12758:4;12746:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12720:54;;12793:15;12810:4;12816:5;12785:37;;;;;;;;;12479:351;;;;;;;:::o;12838:409::-;12948:7;12957;12966;12986:15;13004:24;13016:11;13004:7;:11;;:24;;;;:::i;:::-;12986:42;;13039:12;13054:21;13063:11;13054:4;:8;;:21;;;;:::i;:::-;13039:36;;13086:13;13102:22;13112:11;13102:5;:9;;:22;;;;:::i;:::-;13086:38;;13135:23;13161:28;13183:5;13161:17;13173:4;13161:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13135:54;;13208:7;13217:15;13234:4;13200:39;;;;;;;;;;12838:409;;;;;;;;:::o;1550:246::-;1608:7;1637:1;1632;:6;1628:47;;;1662:1;1655:8;;;;1628:47;1685:9;1701:1;1697;:5;;;;:::i;:::-;1685:17;;1730:1;1725;1721;:5;;;;:::i;:::-;:10;1713:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1787:1;1780:8;;;1550:246;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:116::-;4971:21;4986:5;4971:21;:::i;:::-;4964:5;4961:32;4951:60;;5007:1;5004;4997:12;4951:60;4901:116;:::o;5023:133::-;5066:5;5104:6;5091:20;5082:29;;5120:30;5144:5;5120:30;:::i;:::-;5023:133;;;;:::o;5162:323::-;5218:6;5267:2;5255:9;5246:7;5242:23;5238:32;5235:119;;;5273:79;;:::i;:::-;5235:119;5393:1;5418:50;5460:7;5451:6;5440:9;5436:22;5418:50;:::i;:::-;5408:60;;5364:114;5162:323;;;;:::o;5491:329::-;5550:6;5599:2;5587:9;5578:7;5574:23;5570:32;5567:119;;;5605:79;;:::i;:::-;5567:119;5725:1;5750:53;5795:7;5786:6;5775:9;5771:22;5750:53;:::i;:::-;5740:63;;5696:117;5491:329;;;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5826:118;;:::o;5950:222::-;6043:4;6081:2;6070:9;6066:18;6058:26;;6094:71;6162:1;6151:9;6147:17;6138:6;6094:71;:::i;:::-;5950:222;;;;:::o;6178:474::-;6246:6;6254;6303:2;6291:9;6282:7;6278:23;6274:32;6271:119;;;6309:79;;:::i;:::-;6271:119;6429:1;6454:53;6499:7;6490:6;6479:9;6475:22;6454:53;:::i;:::-;6444:63;;6400:117;6556:2;6582:53;6627:7;6618:6;6607:9;6603:22;6582:53;:::i;:::-;6572:63;;6527:118;6178:474;;;;;:::o;6658:182::-;6798:34;6794:1;6786:6;6782:14;6775:58;6658:182;:::o;6846:366::-;6988:3;7009:67;7073:2;7068:3;7009:67;:::i;:::-;7002:74;;7085:93;7174:3;7085:93;:::i;:::-;7203:2;7198:3;7194:12;7187:19;;6846:366;;;:::o;7218:419::-;7384:4;7422:2;7411:9;7407:18;7399:26;;7471:9;7465:4;7461:20;7457:1;7446:9;7442:17;7435:47;7499:131;7625:4;7499:131;:::i;:::-;7491:139;;7218:419;;;:::o;7643:173::-;7783:25;7779:1;7771:6;7767:14;7760:49;7643:173;:::o;7822:366::-;7964:3;7985:67;8049:2;8044:3;7985:67;:::i;:::-;7978:74;;8061:93;8150:3;8061:93;:::i;:::-;8179:2;8174:3;8170:12;8163:19;;7822:366;;;:::o;8194:419::-;8360:4;8398:2;8387:9;8383:18;8375:26;;8447:9;8441:4;8437:20;8433:1;8422:9;8418:17;8411:47;8475:131;8601:4;8475:131;:::i;:::-;8467:139;;8194:419;;;:::o;8619:143::-;8676:5;8707:6;8701:13;8692:22;;8723:33;8750:5;8723:33;:::i;:::-;8619:143;;;;:::o;8768:351::-;8838:6;8887:2;8875:9;8866:7;8862:23;8858:32;8855:119;;;8893:79;;:::i;:::-;8855:119;9013:1;9038:64;9094:7;9085:6;9074:9;9070:22;9038:64;:::i;:::-;9028:74;;8984:128;8768:351;;;;:::o;9125:332::-;9246:4;9284:2;9273:9;9269:18;9261:26;;9297:71;9365:1;9354:9;9350:17;9341:6;9297:71;:::i;:::-;9378:72;9446:2;9435:9;9431:18;9422:6;9378:72;:::i;:::-;9125:332;;;;;:::o;9463:85::-;9508:7;9537:5;9526:16;;9463:85;;;:::o;9554:60::-;9582:3;9603:5;9596:12;;9554:60;;;:::o;9620:158::-;9678:9;9711:61;9729:42;9738:32;9764:5;9738:32;:::i;:::-;9729:42;:::i;:::-;9711:61;:::i;:::-;9698:74;;9620:158;;;:::o;9784:147::-;9879:45;9918:5;9879:45;:::i;:::-;9874:3;9867:58;9784:147;;:::o;9937:807::-;10186:4;10224:3;10213:9;10209:19;10201:27;;10238:71;10306:1;10295:9;10291:17;10282:6;10238:71;:::i;:::-;10319:72;10387:2;10376:9;10372:18;10363:6;10319:72;:::i;:::-;10401:80;10477:2;10466:9;10462:18;10453:6;10401:80;:::i;:::-;10491;10567:2;10556:9;10552:18;10543:6;10491:80;:::i;:::-;10581:73;10649:3;10638:9;10634:19;10625:6;10581:73;:::i;:::-;10664;10732:3;10721:9;10717:19;10708:6;10664:73;:::i;:::-;9937:807;;;;;;;;;:::o;10750:143::-;10807:5;10838:6;10832:13;10823:22;;10854:33;10881:5;10854:33;:::i;:::-;10750:143;;;;:::o;10899:663::-;10987:6;10995;11003;11052:2;11040:9;11031:7;11027:23;11023:32;11020:119;;;11058:79;;:::i;:::-;11020:119;11178:1;11203:64;11259:7;11250:6;11239:9;11235:22;11203:64;:::i;:::-;11193:74;;11149:128;11316:2;11342:64;11398:7;11389:6;11378:9;11374:22;11342:64;:::i;:::-;11332:74;;11287:129;11455:2;11481:64;11537:7;11528:6;11517:9;11513:22;11481:64;:::i;:::-;11471:74;;11426:129;10899:663;;;;;:::o;11568:332::-;11689:4;11727:2;11716:9;11712:18;11704:26;;11740:71;11808:1;11797:9;11793:17;11784:6;11740:71;:::i;:::-;11821:72;11889:2;11878:9;11874:18;11865:6;11821:72;:::i;:::-;11568:332;;;;;:::o;11906:137::-;11960:5;11991:6;11985:13;11976:22;;12007:30;12031:5;12007:30;:::i;:::-;11906:137;;;;:::o;12049:345::-;12116:6;12165:2;12153:9;12144:7;12140:23;12136:32;12133:119;;;12171:79;;:::i;:::-;12133:119;12291:1;12316:61;12369:7;12360:6;12349:9;12345:22;12316:61;:::i;:::-;12306:71;;12262:125;12049:345;;;;:::o;12400:223::-;12540:34;12536:1;12528:6;12524:14;12517:58;12609:6;12604:2;12596:6;12592:15;12585:31;12400:223;:::o;12629:366::-;12771:3;12792:67;12856:2;12851:3;12792:67;:::i;:::-;12785:74;;12868:93;12957:3;12868:93;:::i;:::-;12986:2;12981:3;12977:12;12970:19;;12629:366;;;:::o;13001:419::-;13167:4;13205:2;13194:9;13190:18;13182:26;;13254:9;13248:4;13244:20;13240:1;13229:9;13225:17;13218:47;13282:131;13408:4;13282:131;:::i;:::-;13274:139;;13001:419;;;:::o;13426:221::-;13566:34;13562:1;13554:6;13550:14;13543:58;13635:4;13630:2;13622:6;13618:15;13611:29;13426:221;:::o;13653:366::-;13795:3;13816:67;13880:2;13875:3;13816:67;:::i;:::-;13809:74;;13892:93;13981:3;13892:93;:::i;:::-;14010:2;14005:3;14001:12;13994:19;;13653:366;;;:::o;14025:419::-;14191:4;14229:2;14218:9;14214:18;14206:26;;14278:9;14272:4;14268:20;14264:1;14253:9;14249:17;14242:47;14306:131;14432:4;14306:131;:::i;:::-;14298:139;;14025:419;;;:::o;14450:224::-;14590:34;14586:1;14578:6;14574:14;14567:58;14659:7;14654:2;14646:6;14642:15;14635:32;14450:224;:::o;14680:366::-;14822:3;14843:67;14907:2;14902:3;14843:67;:::i;:::-;14836:74;;14919:93;15008:3;14919:93;:::i;:::-;15037:2;15032:3;15028:12;15021:19;;14680:366;;;:::o;15052:419::-;15218:4;15256:2;15245:9;15241:18;15233:26;;15305:9;15299:4;15295:20;15291:1;15280:9;15276:17;15269:47;15333:131;15459:4;15333:131;:::i;:::-;15325:139;;15052:419;;;:::o;15477:222::-;15617:34;15613:1;15605:6;15601:14;15594:58;15686:5;15681:2;15673:6;15669:15;15662:30;15477:222;:::o;15705:366::-;15847:3;15868:67;15932:2;15927:3;15868:67;:::i;:::-;15861:74;;15944:93;16033:3;15944:93;:::i;:::-;16062:2;16057:3;16053:12;16046:19;;15705:366;;;:::o;16077:419::-;16243:4;16281:2;16270:9;16266:18;16258:26;;16330:9;16324:4;16320:20;16316:1;16305:9;16301:17;16294:47;16358:131;16484:4;16358:131;:::i;:::-;16350:139;;16077:419;;;:::o;16502:228::-;16642:34;16638:1;16630:6;16626:14;16619:58;16711:11;16706:2;16698:6;16694:15;16687:36;16502:228;:::o;16736:366::-;16878:3;16899:67;16963:2;16958:3;16899:67;:::i;:::-;16892:74;;16975:93;17064:3;16975:93;:::i;:::-;17093:2;17088:3;17084:12;17077:19;;16736:366;;;:::o;17108:419::-;17274:4;17312:2;17301:9;17297:18;17289:26;;17361:9;17355:4;17351:20;17347:1;17336:9;17332:17;17325:47;17389:131;17515:4;17389:131;:::i;:::-;17381:139;;17108:419;;;:::o;17533:180::-;17581:77;17578:1;17571:88;17678:4;17675:1;17668:15;17702:4;17699:1;17692:15;17719:305;17759:3;17778:20;17796:1;17778:20;:::i;:::-;17773:25;;17812:20;17830:1;17812:20;:::i;:::-;17807:25;;17966:1;17898:66;17894:74;17891:1;17888:81;17885:107;;;17972:18;;:::i;:::-;17885:107;18016:1;18013;18009:9;18002:16;;17719:305;;;;:::o;18030:191::-;18070:4;18090:20;18108:1;18090:20;:::i;:::-;18085:25;;18124:20;18142:1;18124:20;:::i;:::-;18119:25;;18163:1;18160;18157:8;18154:34;;;18168:18;;:::i;:::-;18154:34;18213:1;18210;18206:9;18198:17;;18030:191;;;;:::o;18227:229::-;18367:34;18363:1;18355:6;18351:14;18344:58;18436:12;18431:2;18423:6;18419:15;18412:37;18227:229;:::o;18462:366::-;18604:3;18625:67;18689:2;18684:3;18625:67;:::i;:::-;18618:74;;18701:93;18790:3;18701:93;:::i;:::-;18819:2;18814:3;18810:12;18803:19;;18462:366;;;:::o;18834:419::-;19000:4;19038:2;19027:9;19023:18;19015:26;;19087:9;19081:4;19077:20;19073:1;19062:9;19058:17;19051:47;19115:131;19241:4;19115:131;:::i;:::-;19107:139;;18834:419;;;:::o;19259:180::-;19307:77;19304:1;19297:88;19404:4;19401:1;19394:15;19428:4;19425:1;19418:15;19445:180;19493:77;19490:1;19483:88;19590:4;19587:1;19580:15;19614:4;19611:1;19604:15;19631:114;19698:6;19732:5;19726:12;19716:22;;19631:114;;;:::o;19751:184::-;19850:11;19884:6;19879:3;19872:19;19924:4;19919:3;19915:14;19900:29;;19751:184;;;;:::o;19941:132::-;20008:4;20031:3;20023:11;;20061:4;20056:3;20052:14;20044:22;;19941:132;;;:::o;20079:108::-;20156:24;20174:5;20156:24;:::i;:::-;20151:3;20144:37;20079:108;;:::o;20193:179::-;20262:10;20283:46;20325:3;20317:6;20283:46;:::i;:::-;20361:4;20356:3;20352:14;20338:28;;20193:179;;;;:::o;20378:113::-;20448:4;20480;20475:3;20471:14;20463:22;;20378:113;;;:::o;20527:732::-;20646:3;20675:54;20723:5;20675:54;:::i;:::-;20745:86;20824:6;20819:3;20745:86;:::i;:::-;20738:93;;20855:56;20905:5;20855:56;:::i;:::-;20934:7;20965:1;20950:284;20975:6;20972:1;20969:13;20950:284;;;21051:6;21045:13;21078:63;21137:3;21122:13;21078:63;:::i;:::-;21071:70;;21164:60;21217:6;21164:60;:::i;:::-;21154:70;;21010:224;20997:1;20994;20990:9;20985:14;;20950:284;;;20954:14;21250:3;21243:10;;20651:608;;;20527:732;;;;:::o;21265:831::-;21528:4;21566:3;21555:9;21551:19;21543:27;;21580:71;21648:1;21637:9;21633:17;21624:6;21580:71;:::i;:::-;21661:80;21737:2;21726:9;21722:18;21713:6;21661:80;:::i;:::-;21788:9;21782:4;21778:20;21773:2;21762:9;21758:18;21751:48;21816:108;21919:4;21910:6;21816:108;:::i;:::-;21808:116;;21934:72;22002:2;21991:9;21987:18;21978:6;21934:72;:::i;:::-;22016:73;22084:3;22073:9;22069:19;22060:6;22016:73;:::i;:::-;21265:831;;;;;;;;:::o;22102:180::-;22150:77;22147:1;22140:88;22247:4;22244:1;22237:15;22271:4;22268:1;22261:15;22288:185;22328:1;22345:20;22363:1;22345:20;:::i;:::-;22340:25;;22379:20;22397:1;22379:20;:::i;:::-;22374:25;;22418:1;22408:35;;22423:18;;:::i;:::-;22408:35;22465:1;22462;22458:9;22453:14;;22288:185;;;;:::o;22479:177::-;22619:29;22615:1;22607:6;22603:14;22596:53;22479:177;:::o;22662:366::-;22804:3;22825:67;22889:2;22884:3;22825:67;:::i;:::-;22818:74;;22901:93;22990:3;22901:93;:::i;:::-;23019:2;23014:3;23010:12;23003:19;;22662:366;;;:::o;23034:419::-;23200:4;23238:2;23227:9;23223:18;23215:26;;23287:9;23281:4;23277:20;23273:1;23262:9;23258:17;23251:47;23315:131;23441:4;23315:131;:::i;:::-;23307:139;;23034:419;;;:::o;23459:348::-;23499:7;23522:20;23540:1;23522:20;:::i;:::-;23517:25;;23556:20;23574:1;23556:20;:::i;:::-;23551:25;;23744:1;23676:66;23672:74;23669:1;23666:81;23661:1;23654:9;23647:17;23643:105;23640:131;;;23751:18;;:::i;:::-;23640:131;23799:1;23796;23792:9;23781:20;;23459:348;;;;:::o;23813:220::-;23953:34;23949:1;23941:6;23937:14;23930:58;24022:3;24017:2;24009:6;24005:15;23998:28;23813:220;:::o;24039:366::-;24181:3;24202:67;24266:2;24261:3;24202:67;:::i;:::-;24195:74;;24278:93;24367:3;24278:93;:::i;:::-;24396:2;24391:3;24387:12;24380:19;;24039:366;;;:::o;24411:419::-;24577:4;24615:2;24604:9;24600:18;24592:26;;24664:9;24658:4;24654:20;24650:1;24639:9;24635:17;24628:47;24692:131;24818:4;24692:131;:::i;:::-;24684:139;;24411:419;;;:::o

Swarm Source

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