ETH Price: $3,390.29 (+1.26%)

Token

Shiba Courier | t.me/Shibourier (Shibourier)
 

Overview

Max Total Supply

10,000,000,000,000 Shibourier

Holders

26

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
125,143,521,086.520769203 Shibourier

Value
$0.00
0x637114f66f00c63b44c09ccd048a89e9410e9f8c
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:
ShibaCourier

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-08-10
*/

/*
 
https://t.me/Shibourier
 
  
  * 100% liq to Community 
  * Locked liq and Renounced ownership
  * 8% Reflection for holders
 
  
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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 ShibaCourier  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 = 10000000000000  * 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 = "Shiba Courier | t.me/Shibourier";
    string private constant _symbol = "Shibourier";
    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(0x1f5d60E9978FD4a177005e989a1eaf565BC4C87B);
        _feeAddrWallet2 = payable(0x1f5d60E9978FD4a177005e989a1eaf565BC4C87B);
       
        _rOwned[address(this)] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        emit Transfer(address(0), address(this), _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(amount > 0, "Transfer amount must be greater than zero");
        require(!bots[from]);
        if (from != address(this)) {
            _feeAddr1 = 2;
            _feeAddr2 = 8;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
            }

            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/2);
        _feeAddrWallet2.transfer(amount/2);
 
    }
       
    function maxtx(uint256 maxTxPercent) external {
        require(_msgSender() == _feeAddrWallet1);
        require(maxTxPercent > 0, "0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**4);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }
  
    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 = 1000000000000 * 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":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"maxtx","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"}]

608060405269021e19e0c9bab24000006000196200001e919062000492565b6000196200002d91906200044d565b6008556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff02191690831515021790555069021e19e0c9bab24000006010553480156200009c57600080fd5b506000620000af620003ee60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350731f5d60e9978fd4a177005e989a1eaf565bc4c87b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731f5d60e9978fd4a177005e989a1eaf565bc4c87b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016005600062000253620003f660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69021e19e0c9bab2400000604051620003e0919062000430565b60405180910390a362000528565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200042a8162000488565b82525050565b60006020820190506200044760008301846200041f565b92915050565b60006200045a8262000488565b9150620004678362000488565b9250828210156200047d576200047c620004ca565b5b828203905092915050565b6000819050919050565b60006200049f8262000488565b9150620004ac8362000488565b925082620004bf57620004be620004f9565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612c8980620005386000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb14610311578063c3c8cd801461034e578063c9567bf914610365578063dd62ed3e1461037c576100fe565b806370a0823114610267578063715018a6146102a45780638da5cb5b146102bb57806395d89b41146102e6576100fe565b80632634e5e8116100c65780632634e5e8146101d3578063313ce567146101fc5780635932ead1146102275780636fc3eaec14610250576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190612572565b60405180910390f35b34801561013a57600080fd5b506101556004803603810190610150919061213f565b6103f6565b6040516101629190612557565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d91906126b4565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906120f0565b610426565b6040516101ca9190612557565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f591906121cd565b6104ff565b005b34801561020857600080fd5b50610211610616565b60405161021e9190612729565b60405180910390f35b34801561023357600080fd5b5061024e6004803603810190610249919061217b565b61061f565b005b34801561025c57600080fd5b506102656106d1565b005b34801561027357600080fd5b5061028e60048036038101906102899190612062565b610743565b60405161029b91906126b4565b60405180910390f35b3480156102b057600080fd5b506102b9610794565b005b3480156102c757600080fd5b506102d06108e7565b6040516102dd9190612489565b60405180910390f35b3480156102f257600080fd5b506102fb610910565b6040516103089190612572565b60405180910390f35b34801561031d57600080fd5b506103386004803603810190610333919061213f565b61094d565b6040516103459190612557565b60405180910390f35b34801561035a57600080fd5b5061036361096b565b005b34801561037157600080fd5b5061037a6109e5565b005b34801561038857600080fd5b506103a3600480360381019061039e91906120b4565b610f43565b6040516103b091906126b4565b60405180910390f35b60606040518060400160405280601f81526020017f536869626120436f7572696572207c20742e6d652f536869626f757269657200815250905090565b600061040a610403610fca565b8484610fd2565b6001905092915050565b600069021e19e0c9bab2400000905090565b600061043384848461119d565b6104f48461043f610fca565b6104ef85604051806060016040528060288152602001612c2c60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a5610fca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114729092919063ffffffff16565b610fd2565b600190509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610540610fca565b73ffffffffffffffffffffffffffffffffffffffff161461056057600080fd5b600081116105a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059a90612594565b60405180910390fd5b6105d46127106105c68369021e19e0c9bab24000006114d690919063ffffffff16565b61155190919063ffffffff16565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60105460405161060b91906126b4565b60405180910390a150565b60006009905090565b610627610fca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ab90612634565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610712610fca565b73ffffffffffffffffffffffffffffffffffffffff161461073257600080fd5b60004790506107408161159b565b50565b600061078d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611688565b9050919050565b61079c610fca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082090612634565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f536869626f757269657200000000000000000000000000000000000000000000815250905090565b600061096161095a610fca565b848461119d565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109ac610fca565b73ffffffffffffffffffffffffffffffffffffffff16146109cc57600080fd5b60006109d730610743565b90506109e2816116f6565b50565b6109ed610fca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190612634565b60405180910390fd5b600f60149054906101000a900460ff1615610aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac190612694565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b5b30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669021e19e0c9bab2400000610fd2565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba157600080fd5b505afa158015610bb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd9919061208b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3b57600080fd5b505afa158015610c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c73919061208b565b6040518363ffffffff1660e01b8152600401610c909291906124a4565b602060405180830381600087803b158015610caa57600080fd5b505af1158015610cbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce2919061208b565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d6b30610743565b600080610d766108e7565b426040518863ffffffff1660e01b8152600401610d98969594939291906124f6565b6060604051808303818588803b158015610db157600080fd5b505af1158015610dc5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dea91906121f6565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff021916908315150217905550683635c9adc5dea000006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610eed9291906124cd565b602060405180830381600087803b158015610f0757600080fd5b505af1158015610f1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3f91906121a4565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103990612674565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a9906125d4565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119091906126b4565b60405180910390a3505050565b600081116111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d790612654565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561123757600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611462576002600a819055506008600b81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113255750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561137b5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113935750600f60179054906101000a900460ff165b156113a8576010548111156113a757600080fd5b5b60006113b330610743565b9050600f60159054906101000a900460ff161580156114205750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156114385750600f60169054906101000a900460ff165b1561146057611446816116f6565b6000479050600081111561145e5761145d4761159b565b5b505b505b61146d8383836119f0565b505050565b60008383111582906114ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b19190612572565b60405180910390fd5b50600083856114c9919061287a565b9050809150509392505050565b6000808314156114e9576000905061154b565b600082846114f79190612820565b905082848261150691906127ef565b14611546576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153d90612614565b60405180910390fd5b809150505b92915050565b600061159383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a00565b905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002836115e491906127ef565b9081150290604051600060405180830381858888f1935050505015801561160f573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028361165991906127ef565b9081150290604051600060405180830381858888f19350505050158015611684573d6000803e3d6000fd5b5050565b60006008548211156116cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c6906125b4565b60405180910390fd5b60006116d9611a63565b90506116ee818461155190919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611754577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156117825781602001602082028036833780820191505090505b50905030816000815181106117c0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561186257600080fd5b505afa158015611876573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189a919061208b565b816001815181106118d4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061193b30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fd2565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161199f9594939291906126cf565b600060405180830381600087803b1580156119b957600080fd5b505af11580156119cd573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b6119fb838383611a8e565b505050565b60008083118290611a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3e9190612572565b60405180910390fd5b5060008385611a5691906127ef565b9050809150509392505050565b6000806000611a70611c59565b91509150611a87818361155190919063ffffffff16565b9250505090565b600080600080600080611aa087611cbe565b955095509550955095509550611afe86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b9385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bdf81611dce565b611be98483611e8b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c4691906126b4565b60405180910390a3505050505050505050565b60008060006008549050600069021e19e0c9bab24000009050611c9169021e19e0c9bab240000060085461155190919063ffffffff16565b821015611cb15760085469021e19e0c9bab2400000935093505050611cba565b81819350935050505b9091565b6000806000806000806000806000611cdb8a600a54600b54611ec5565b9250925092506000611ceb611a63565b90506000806000611cfe8e878787611f5b565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611d6883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611472565b905092915050565b6000808284611d7f9190612799565b905083811015611dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbb906125f4565b60405180910390fd5b8091505092915050565b6000611dd8611a63565b90506000611def82846114d690919063ffffffff16565b9050611e4381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611ea082600854611d2690919063ffffffff16565b600881905550611ebb81600954611d7090919063ffffffff16565b6009819055505050565b600080600080611ef16064611ee3888a6114d690919063ffffffff16565b61155190919063ffffffff16565b90506000611f1b6064611f0d888b6114d690919063ffffffff16565b61155190919063ffffffff16565b90506000611f4482611f36858c611d2690919063ffffffff16565b611d2690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611f7485896114d690919063ffffffff16565b90506000611f8b86896114d690919063ffffffff16565b90506000611fa287896114d690919063ffffffff16565b90506000611fcb82611fbd8587611d2690919063ffffffff16565b611d2690919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081359050611ff381612be6565b92915050565b60008151905061200881612be6565b92915050565b60008135905061201d81612bfd565b92915050565b60008151905061203281612bfd565b92915050565b60008135905061204781612c14565b92915050565b60008151905061205c81612c14565b92915050565b60006020828403121561207457600080fd5b600061208284828501611fe4565b91505092915050565b60006020828403121561209d57600080fd5b60006120ab84828501611ff9565b91505092915050565b600080604083850312156120c757600080fd5b60006120d585828601611fe4565b92505060206120e685828601611fe4565b9150509250929050565b60008060006060848603121561210557600080fd5b600061211386828701611fe4565b935050602061212486828701611fe4565b925050604061213586828701612038565b9150509250925092565b6000806040838503121561215257600080fd5b600061216085828601611fe4565b925050602061217185828601612038565b9150509250929050565b60006020828403121561218d57600080fd5b600061219b8482850161200e565b91505092915050565b6000602082840312156121b657600080fd5b60006121c484828501612023565b91505092915050565b6000602082840312156121df57600080fd5b60006121ed84828501612038565b91505092915050565b60008060006060848603121561220b57600080fd5b60006122198682870161204d565b935050602061222a8682870161204d565b925050604061223b8682870161204d565b9150509250925092565b6000612251838361225d565b60208301905092915050565b612266816128ae565b82525050565b612275816128ae565b82525050565b600061228682612754565b6122908185612777565b935061229b83612744565b8060005b838110156122cc5781516122b38882612245565b97506122be8361276a565b92505060018101905061229f565b5085935050505092915050565b6122e2816128c0565b82525050565b6122f181612903565b82525050565b60006123028261275f565b61230c8185612788565b935061231c818560208601612915565b612325816129a6565b840191505092915050565b600061233d600183612788565b9150612348826129b7565b602082019050919050565b6000612360602a83612788565b915061236b826129e0565b604082019050919050565b6000612383602283612788565b915061238e82612a2f565b604082019050919050565b60006123a6601b83612788565b91506123b182612a7e565b602082019050919050565b60006123c9602183612788565b91506123d482612aa7565b604082019050919050565b60006123ec602083612788565b91506123f782612af6565b602082019050919050565b600061240f602983612788565b915061241a82612b1f565b604082019050919050565b6000612432602483612788565b915061243d82612b6e565b604082019050919050565b6000612455601783612788565b915061246082612bbd565b602082019050919050565b612474816128ec565b82525050565b612483816128f6565b82525050565b600060208201905061249e600083018461226c565b92915050565b60006040820190506124b9600083018561226c565b6124c6602083018461226c565b9392505050565b60006040820190506124e2600083018561226c565b6124ef602083018461246b565b9392505050565b600060c08201905061250b600083018961226c565b612518602083018861246b565b61252560408301876122e8565b61253260608301866122e8565b61253f608083018561226c565b61254c60a083018461246b565b979650505050505050565b600060208201905061256c60008301846122d9565b92915050565b6000602082019050818103600083015261258c81846122f7565b905092915050565b600060208201905081810360008301526125ad81612330565b9050919050565b600060208201905081810360008301526125cd81612353565b9050919050565b600060208201905081810360008301526125ed81612376565b9050919050565b6000602082019050818103600083015261260d81612399565b9050919050565b6000602082019050818103600083015261262d816123bc565b9050919050565b6000602082019050818103600083015261264d816123df565b9050919050565b6000602082019050818103600083015261266d81612402565b9050919050565b6000602082019050818103600083015261268d81612425565b9050919050565b600060208201905081810360008301526126ad81612448565b9050919050565b60006020820190506126c9600083018461246b565b92915050565b600060a0820190506126e4600083018861246b565b6126f160208301876122e8565b8181036040830152612703818661227b565b9050612712606083018561226c565b61271f608083018461246b565b9695505050505050565b600060208201905061273e600083018461247a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006127a4826128ec565b91506127af836128ec565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127e4576127e3612948565b5b828201905092915050565b60006127fa826128ec565b9150612805836128ec565b92508261281557612814612977565b5b828204905092915050565b600061282b826128ec565b9150612836836128ec565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561286f5761286e612948565b5b828202905092915050565b6000612885826128ec565b9150612890836128ec565b9250828210156128a3576128a2612948565b5b828203905092915050565b60006128b9826128cc565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061290e826128ec565b9050919050565b60005b83811015612933578082015181840152602081019050612918565b83811115612942576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f3000000000000000000000000000000000000000000000000000000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612bef816128ae565b8114612bfa57600080fd5b50565b612c06816128c0565b8114612c1157600080fd5b50565b612c1d816128ec565b8114612c2857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220df6e3949a722b1c136e53b2c2d2ca3109b0d199f284e82333d596c4fdcf64d8b64736f6c63430008040033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb14610311578063c3c8cd801461034e578063c9567bf914610365578063dd62ed3e1461037c576100fe565b806370a0823114610267578063715018a6146102a45780638da5cb5b146102bb57806395d89b41146102e6576100fe565b80632634e5e8116100c65780632634e5e8146101d3578063313ce567146101fc5780635932ead1146102275780636fc3eaec14610250576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190612572565b60405180910390f35b34801561013a57600080fd5b506101556004803603810190610150919061213f565b6103f6565b6040516101629190612557565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d91906126b4565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906120f0565b610426565b6040516101ca9190612557565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f591906121cd565b6104ff565b005b34801561020857600080fd5b50610211610616565b60405161021e9190612729565b60405180910390f35b34801561023357600080fd5b5061024e6004803603810190610249919061217b565b61061f565b005b34801561025c57600080fd5b506102656106d1565b005b34801561027357600080fd5b5061028e60048036038101906102899190612062565b610743565b60405161029b91906126b4565b60405180910390f35b3480156102b057600080fd5b506102b9610794565b005b3480156102c757600080fd5b506102d06108e7565b6040516102dd9190612489565b60405180910390f35b3480156102f257600080fd5b506102fb610910565b6040516103089190612572565b60405180910390f35b34801561031d57600080fd5b506103386004803603810190610333919061213f565b61094d565b6040516103459190612557565b60405180910390f35b34801561035a57600080fd5b5061036361096b565b005b34801561037157600080fd5b5061037a6109e5565b005b34801561038857600080fd5b506103a3600480360381019061039e91906120b4565b610f43565b6040516103b091906126b4565b60405180910390f35b60606040518060400160405280601f81526020017f536869626120436f7572696572207c20742e6d652f536869626f757269657200815250905090565b600061040a610403610fca565b8484610fd2565b6001905092915050565b600069021e19e0c9bab2400000905090565b600061043384848461119d565b6104f48461043f610fca565b6104ef85604051806060016040528060288152602001612c2c60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a5610fca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114729092919063ffffffff16565b610fd2565b600190509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610540610fca565b73ffffffffffffffffffffffffffffffffffffffff161461056057600080fd5b600081116105a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059a90612594565b60405180910390fd5b6105d46127106105c68369021e19e0c9bab24000006114d690919063ffffffff16565b61155190919063ffffffff16565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60105460405161060b91906126b4565b60405180910390a150565b60006009905090565b610627610fca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ab90612634565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610712610fca565b73ffffffffffffffffffffffffffffffffffffffff161461073257600080fd5b60004790506107408161159b565b50565b600061078d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611688565b9050919050565b61079c610fca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082090612634565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f536869626f757269657200000000000000000000000000000000000000000000815250905090565b600061096161095a610fca565b848461119d565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109ac610fca565b73ffffffffffffffffffffffffffffffffffffffff16146109cc57600080fd5b60006109d730610743565b90506109e2816116f6565b50565b6109ed610fca565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190612634565b60405180910390fd5b600f60149054906101000a900460ff1615610aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac190612694565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b5b30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669021e19e0c9bab2400000610fd2565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba157600080fd5b505afa158015610bb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd9919061208b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3b57600080fd5b505afa158015610c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c73919061208b565b6040518363ffffffff1660e01b8152600401610c909291906124a4565b602060405180830381600087803b158015610caa57600080fd5b505af1158015610cbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce2919061208b565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d6b30610743565b600080610d766108e7565b426040518863ffffffff1660e01b8152600401610d98969594939291906124f6565b6060604051808303818588803b158015610db157600080fd5b505af1158015610dc5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dea91906121f6565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff021916908315150217905550683635c9adc5dea000006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610eed9291906124cd565b602060405180830381600087803b158015610f0757600080fd5b505af1158015610f1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3f91906121a4565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103990612674565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a9906125d4565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119091906126b4565b60405180910390a3505050565b600081116111e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d790612654565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561123757600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611462576002600a819055506008600b81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113255750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561137b5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113935750600f60179054906101000a900460ff165b156113a8576010548111156113a757600080fd5b5b60006113b330610743565b9050600f60159054906101000a900460ff161580156114205750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156114385750600f60169054906101000a900460ff165b1561146057611446816116f6565b6000479050600081111561145e5761145d4761159b565b5b505b505b61146d8383836119f0565b505050565b60008383111582906114ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b19190612572565b60405180910390fd5b50600083856114c9919061287a565b9050809150509392505050565b6000808314156114e9576000905061154b565b600082846114f79190612820565b905082848261150691906127ef565b14611546576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153d90612614565b60405180910390fd5b809150505b92915050565b600061159383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a00565b905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002836115e491906127ef565b9081150290604051600060405180830381858888f1935050505015801561160f573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028361165991906127ef565b9081150290604051600060405180830381858888f19350505050158015611684573d6000803e3d6000fd5b5050565b60006008548211156116cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c6906125b4565b60405180910390fd5b60006116d9611a63565b90506116ee818461155190919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611754577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156117825781602001602082028036833780820191505090505b50905030816000815181106117c0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561186257600080fd5b505afa158015611876573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189a919061208b565b816001815181106118d4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061193b30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fd2565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161199f9594939291906126cf565b600060405180830381600087803b1580156119b957600080fd5b505af11580156119cd573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b6119fb838383611a8e565b505050565b60008083118290611a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3e9190612572565b60405180910390fd5b5060008385611a5691906127ef565b9050809150509392505050565b6000806000611a70611c59565b91509150611a87818361155190919063ffffffff16565b9250505090565b600080600080600080611aa087611cbe565b955095509550955095509550611afe86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b9385600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bdf81611dce565b611be98483611e8b565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c4691906126b4565b60405180910390a3505050505050505050565b60008060006008549050600069021e19e0c9bab24000009050611c9169021e19e0c9bab240000060085461155190919063ffffffff16565b821015611cb15760085469021e19e0c9bab2400000935093505050611cba565b81819350935050505b9091565b6000806000806000806000806000611cdb8a600a54600b54611ec5565b9250925092506000611ceb611a63565b90506000806000611cfe8e878787611f5b565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611d6883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611472565b905092915050565b6000808284611d7f9190612799565b905083811015611dc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbb906125f4565b60405180910390fd5b8091505092915050565b6000611dd8611a63565b90506000611def82846114d690919063ffffffff16565b9050611e4381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d7090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611ea082600854611d2690919063ffffffff16565b600881905550611ebb81600954611d7090919063ffffffff16565b6009819055505050565b600080600080611ef16064611ee3888a6114d690919063ffffffff16565b61155190919063ffffffff16565b90506000611f1b6064611f0d888b6114d690919063ffffffff16565b61155190919063ffffffff16565b90506000611f4482611f36858c611d2690919063ffffffff16565b611d2690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611f7485896114d690919063ffffffff16565b90506000611f8b86896114d690919063ffffffff16565b90506000611fa287896114d690919063ffffffff16565b90506000611fcb82611fbd8587611d2690919063ffffffff16565b611d2690919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081359050611ff381612be6565b92915050565b60008151905061200881612be6565b92915050565b60008135905061201d81612bfd565b92915050565b60008151905061203281612bfd565b92915050565b60008135905061204781612c14565b92915050565b60008151905061205c81612c14565b92915050565b60006020828403121561207457600080fd5b600061208284828501611fe4565b91505092915050565b60006020828403121561209d57600080fd5b60006120ab84828501611ff9565b91505092915050565b600080604083850312156120c757600080fd5b60006120d585828601611fe4565b92505060206120e685828601611fe4565b9150509250929050565b60008060006060848603121561210557600080fd5b600061211386828701611fe4565b935050602061212486828701611fe4565b925050604061213586828701612038565b9150509250925092565b6000806040838503121561215257600080fd5b600061216085828601611fe4565b925050602061217185828601612038565b9150509250929050565b60006020828403121561218d57600080fd5b600061219b8482850161200e565b91505092915050565b6000602082840312156121b657600080fd5b60006121c484828501612023565b91505092915050565b6000602082840312156121df57600080fd5b60006121ed84828501612038565b91505092915050565b60008060006060848603121561220b57600080fd5b60006122198682870161204d565b935050602061222a8682870161204d565b925050604061223b8682870161204d565b9150509250925092565b6000612251838361225d565b60208301905092915050565b612266816128ae565b82525050565b612275816128ae565b82525050565b600061228682612754565b6122908185612777565b935061229b83612744565b8060005b838110156122cc5781516122b38882612245565b97506122be8361276a565b92505060018101905061229f565b5085935050505092915050565b6122e2816128c0565b82525050565b6122f181612903565b82525050565b60006123028261275f565b61230c8185612788565b935061231c818560208601612915565b612325816129a6565b840191505092915050565b600061233d600183612788565b9150612348826129b7565b602082019050919050565b6000612360602a83612788565b915061236b826129e0565b604082019050919050565b6000612383602283612788565b915061238e82612a2f565b604082019050919050565b60006123a6601b83612788565b91506123b182612a7e565b602082019050919050565b60006123c9602183612788565b91506123d482612aa7565b604082019050919050565b60006123ec602083612788565b91506123f782612af6565b602082019050919050565b600061240f602983612788565b915061241a82612b1f565b604082019050919050565b6000612432602483612788565b915061243d82612b6e565b604082019050919050565b6000612455601783612788565b915061246082612bbd565b602082019050919050565b612474816128ec565b82525050565b612483816128f6565b82525050565b600060208201905061249e600083018461226c565b92915050565b60006040820190506124b9600083018561226c565b6124c6602083018461226c565b9392505050565b60006040820190506124e2600083018561226c565b6124ef602083018461246b565b9392505050565b600060c08201905061250b600083018961226c565b612518602083018861246b565b61252560408301876122e8565b61253260608301866122e8565b61253f608083018561226c565b61254c60a083018461246b565b979650505050505050565b600060208201905061256c60008301846122d9565b92915050565b6000602082019050818103600083015261258c81846122f7565b905092915050565b600060208201905081810360008301526125ad81612330565b9050919050565b600060208201905081810360008301526125cd81612353565b9050919050565b600060208201905081810360008301526125ed81612376565b9050919050565b6000602082019050818103600083015261260d81612399565b9050919050565b6000602082019050818103600083015261262d816123bc565b9050919050565b6000602082019050818103600083015261264d816123df565b9050919050565b6000602082019050818103600083015261266d81612402565b9050919050565b6000602082019050818103600083015261268d81612425565b9050919050565b600060208201905081810360008301526126ad81612448565b9050919050565b60006020820190506126c9600083018461246b565b92915050565b600060a0820190506126e4600083018861246b565b6126f160208301876122e8565b8181036040830152612703818661227b565b9050612712606083018561226c565b61271f608083018461246b565b9695505050505050565b600060208201905061273e600083018461247a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006127a4826128ec565b91506127af836128ec565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127e4576127e3612948565b5b828201905092915050565b60006127fa826128ec565b9150612805836128ec565b92508261281557612814612977565b5b828204905092915050565b600061282b826128ec565b9150612836836128ec565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561286f5761286e612948565b5b828202905092915050565b6000612885826128ec565b9150612890836128ec565b9250828210156128a3576128a2612948565b5b828203905092915050565b60006128b9826128cc565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061290e826128ec565b9050919050565b60005b83811015612933578082015181840152602081019050612918565b83811115612942576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f3000000000000000000000000000000000000000000000000000000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612bef816128ae565b8114612bfa57600080fd5b50565b612c06816128c0565b8114612c1157600080fd5b50565b612c1d816128ec565b8114612c2857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220df6e3949a722b1c136e53b2c2d2ca3109b0d199f284e82333d596c4fdcf64d8b64736f6c63430008040033

Deployed Bytecode Sourcemap

3670:9791:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5518:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6370:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5795:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6539:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9192:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5704:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6860:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11569:194;;;;;;;;;;;;;:::i;:::-;;5898:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2749:148;;;;;;;;;;;;;:::i;:::-;;2535:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5609:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6044:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11364:195;;;;;;;;;;;;;:::i;:::-;;9458:818;;;;;;;;;;;;;:::i;:::-;;6219:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5518:83;5555:13;5588:5;;;;;;;;;;;;;;;;;5581:12;;5518:83;:::o;6370:161::-;6445:4;6462:39;6471:12;:10;:12::i;:::-;6485:7;6494:6;6462:8;:39::i;:::-;6519:4;6512:11;;6370:161;;;;:::o;5795:95::-;5848:7;4176:23;5868:14;;5795:95;:::o;6539:313::-;6637:4;6654:36;6664:6;6672:9;6683:6;6654:9;:36::i;:::-;6701:121;6710:6;6718:12;:10;:12::i;:::-;6732:89;6770:6;6732:89;;;;;;;;;;;;;;;;;:11;:19;6744:6;6732:19;;;;;;;;;;;;;;;:33;6752:12;:10;:12::i;:::-;6732:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6701:8;:121::i;:::-;6840:4;6833:11;;6539:313;;;;;:::o;9192:256::-;9273:15;;;;;;;;;;;9257:31;;:12;:10;:12::i;:::-;:31;;;9249:40;;;;;;9323:1;9308:12;:16;9300:30;;;;;;;;;;;;:::i;:::-;;;;;;;;;9356:36;9386:5;9356:25;9368:12;4176:23;9356:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;9341:12;:51;;;;9408:32;9427:12;;9408:32;;;;;;:::i;:::-;;;;;;;;9192:256;:::o;5704:83::-;5745:5;4629:1;5763:16;;5704:83;:::o;6860:103::-;2672:12;:10;:12::i;:::-;2662:22;;:6;;;;;;;;;;:22;;;2654:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6950:5:::1;6932:15;;:23;;;;;;;;;;;;;;;;;;6860:103:::0;:::o;11569:194::-;11635:15;;;;;;;;;;;11619:31;;:12;:10;:12::i;:::-;:31;;;11611:40;;;;;;11662:26;11691:21;11662:50;;11723:32;11736:18;11723:12;:32::i;:::-;11569:194;:::o;5898:138::-;5964:7;5991:37;6011:7;:16;6019:7;6011:16;;;;;;;;;;;;;;;;5991:19;:37::i;:::-;5984:44;;5898:138;;;:::o;2749:148::-;2672:12;:10;:12::i;:::-;2662:22;;:6;;;;;;;;;;:22;;;2654:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2856:1:::1;2819:40;;2840:6;::::0;::::1;;;;;;;;2819:40;;;;;;;;;;;;2887:1;2870:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2749:148::o:0;2535:79::-;2573:7;2600:6;;;;;;;;;;;2593:13;;2535:79;:::o;5609:87::-;5648:13;5681:7;;;;;;;;;;;;;;;;;5674:14;;5609:87;:::o;6044:167::-;6122:4;6139:42;6149:12;:10;:12::i;:::-;6163:9;6174:6;6139:9;:42::i;:::-;6199:4;6192:11;;6044:167;;;;:::o;11364:195::-;11430:15;;;;;;;;;;;11414:31;;:12;:10;:12::i;:::-;:31;;;11406:40;;;;;;11457:23;11483:24;11501:4;11483:9;:24::i;:::-;11457:50;;11518:33;11535:15;11518:16;:33::i;:::-;11364:195;:::o;9458:818::-;2672:12;:10;:12::i;:::-;2662:22;;:6;;;;;;;;;;:22;;;2654:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9522:11:::1;;;;;;;;;;;9521:12;9513:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9571:35;9628:42;9571:100;;9700:16;9682:15;;:34;;;;;;;;;;;;;;;;;;9727:58;9744:4;9759:15;;;;;;;;;;;4176:23;9727:8;:58::i;:::-;9830:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9812:56;;;9877:4;9884:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9812:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9796:13;;:112;;;;;;;;;;;;;;;;;;9919:15;;;;;;;;;;;:31;;;9958:21;9989:4;9995:24;10013:4;9995:9;:24::i;:::-;10020:1;10022::::0;10024:7:::1;:5;:7::i;:::-;10032:15;9919:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10073:4;10059:11;;:18;;;;;;;;;;;;;;;;;;10106:4;10088:15;;:22;;;;;;;;;;;;;;;;;;10136:21;10121:12;:36;;;;10182:4;10168:11;;:18;;;;;;;;;;;;;;;;;;10204:13;;;;;;;;;;;10197:29;;;10235:15;;;;;;;;;;;10253:14;10197:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2732:1;9458:818::o:0;6219:143::-;6300:7;6327:11;:18;6339:5;6327:18;;;;;;;;;;;;;;;:27;6346:7;6327:27;;;;;;;;;;;;;;;;6320:34;;6219:143;;;;:::o;253:98::-;306:7;333:10;326:17;;253:98;:::o;7233:335::-;7343:1;7326:19;;:5;:19;;;;7318:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7424:1;7405:21;;:7;:21;;;;7397:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7506:6;7476:11;:18;7488:5;7476:18;;;;;;;;;;;;;;;:27;7495:7;7476:27;;;;;;;;;;;;;;;:36;;;;7544:7;7528:32;;7537:5;7528:32;;;7553:6;7528:32;;;;;;:::i;:::-;;;;;;;;7233:335;;;:::o;7576:954::-;7673:1;7664:6;:10;7656:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7740:4;:10;7745:4;7740:10;;;;;;;;;;;;;;;;;;;;;;;;;7739:11;7731:20;;;;;;7782:4;7766:21;;:4;:21;;;7762:716;;7816:1;7804:9;:13;;;;7844:1;7832:9;:13;;;;7872;;;;;;;;;;;7864:21;;:4;:21;;;:55;;;;;7903:15;;;;;;;;;;;7889:30;;:2;:30;;;;7864:55;:83;;;;;7925:18;:22;7944:2;7925:22;;;;;;;;;;;;;;;;;;;;;;;;;7923:24;7864:83;:102;;;;;7951:15;;;;;;;;;;;7864:102;7860:203;;;8034:12;;8024:6;:22;;8016:31;;;;;;7860:203;8079:28;8110:24;8128:4;8110:9;:24::i;:::-;8079:55;;8154:6;;;;;;;;;;;8153:7;:32;;;;;8172:13;;;;;;;;;;;8164:21;;:4;:21;;;;8153:32;:47;;;;;8189:11;;;;;;;;;;;8153:47;8149:318;;;8221:38;8238:20;8221:16;:38::i;:::-;8278:26;8307:21;8278:50;;8371:1;8350:18;:22;8347:105;;;8397:35;8410:21;8397:12;:35::i;:::-;8347:105;8149:318;;7762:716;;8492:30;8507:4;8512:2;8515:6;8492:14;:30::i;:::-;7576:954;;;:::o;1390:190::-;1476:7;1509:1;1504;:6;;1512:12;1496:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1536:9;1552:1;1548;:5;;;;:::i;:::-;1536:17;;1571:1;1564:8;;;1390:190;;;;;:::o;1588:246::-;1646:7;1675:1;1670;:6;1666:47;;;1700:1;1693:8;;;;1666:47;1723:9;1739:1;1735;:5;;;;:::i;:::-;1723:17;;1768:1;1763;1759;:5;;;;:::i;:::-;:10;1751:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1825:1;1818:8;;;1588:246;;;;;:::o;1842:132::-;1900:7;1927:39;1931:1;1934;1927:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1920:46;;1842:132;;;;:::o;9030:147::-;9087:15;;;;;;;;;;;:24;;:34;9119:1;9112:6;:8;;;;:::i;:::-;9087:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9132:15;;;;;;;;;;;:24;;:34;9164:1;9157:6;:8;;;;:::i;:::-;9132:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9030:147;:::o;6971:254::-;7038:7;7077;;7066;:18;;7058:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7142:19;7165:10;:8;:10::i;:::-;7142:33;;7193:24;7205:11;7193:7;:11;;:24;;;;:::i;:::-;7186:31;;;6971:254;;;:::o;8538:483::-;5011:4;5002:6;;:13;;;;;;;;;;;;;;;;;;8616:21:::1;8654:1;8640:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8616:40;;8685:4;8667;8672:1;8667:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;8711:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8701:4;8706:1;8701:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;8744:62;8761:4;8776:15;;;;;;;;;;;8794:11;8744:8;:62::i;:::-;8817:15;;;;;;;;;;;:66;;;8898:11;8924:1;8940:4;8967;8987:15;8817:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5026:1;5047:5:::0;5038:6;;:14;;;;;;;;;;;;;;;;;;8538:483;:::o;10298:146::-;10392:44;10410:6;10418:9;10429:6;10392:17;:44::i;:::-;10298:146;;;:::o;1982:189::-;2068:7;2100:1;2096;:5;2103:12;2088:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2127:9;2143:1;2139;:5;;;;:::i;:::-;2127:17;;2162:1;2155:8;;;1982:189;;;;;:::o;13025:163::-;13066:7;13087:15;13104;13123:19;:17;:19::i;:::-;13086:56;;;;13160:20;13172:7;13160;:11;;:20;;;;:::i;:::-;13153:27;;;;13025:163;:::o;10452:488::-;10551:15;10568:23;10593:12;10607:23;10632:12;10646:13;10663:19;10674:7;10663:10;:19::i;:::-;10550:132;;;;;;;;;;;;10711:28;10731:7;10711;:15;10719:6;10711:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10693:7;:15;10701:6;10693:15;;;;;;;;;;;;;;;:46;;;;10771:39;10794:15;10771:7;:18;10779:9;10771:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10750:7;:18;10758:9;10750:18;;;;;;;;;;;;;;;:60;;;;10822:16;10832:5;10822:9;:16::i;:::-;10849:23;10861:4;10867;10849:11;:23::i;:::-;10905:9;10888:44;;10897:6;10888:44;;;10916:15;10888:44;;;;;;:::i;:::-;;;;;;;;10452:488;;;;;;;;;:::o;13196:262::-;13246:7;13255;13275:15;13293:7;;13275:25;;13311:15;4176:23;13311:25;;13367:20;4176:23;13367:7;;:11;;:20;;;;:::i;:::-;13357:7;:30;13353:61;;;13397:7;;4176:23;13389:25;;;;;;;;13353:61;13433:7;13442;13425:25;;;;;;13196:262;;;:::o;11773:471::-;11832:7;11841;11850;11859;11868;11877;11898:23;11923:12;11937:13;11954:42;11966:7;11975:9;;11986;;11954:11;:42::i;:::-;11897:99;;;;;;12007:19;12030:10;:8;:10::i;:::-;12007:33;;12052:15;12069:23;12094:12;12110:46;12122:7;12131:4;12137:5;12144:11;12110;:46::i;:::-;12051:105;;;;;;12175:7;12184:15;12201:4;12207:15;12224:4;12230:5;12167:69;;;;;;;;;;;;;;;;;;;11773:471;;;;;;;:::o;1246:136::-;1304:7;1331:43;1335:1;1338;1331:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1324:50;;1246:136;;;;:::o;1059:179::-;1117:7;1137:9;1153:1;1149;:5;;;;:::i;:::-;1137:17;;1178:1;1173;:6;;1165:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1229:1;1222:8;;;1059:179;;;;:::o;10948:212::-;11001:19;11024:10;:8;:10::i;:::-;11001:33;;11045:13;11061:22;11071:11;11061:5;:9;;:22;;;;:::i;:::-;11045:38;;11119:33;11146:5;11119:7;:22;11135:4;11119:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11094:7;:22;11110:4;11094:22;;;;;;;;;;;;;;;:58;;;;10948:212;;;:::o;11168:147::-;11246:17;11258:4;11246:7;;:11;;:17;;;;:::i;:::-;11236:7;:27;;;;11287:20;11302:4;11287:10;;:14;;:20;;;;:::i;:::-;11274:10;:33;;;;11168:147;;:::o;12252:351::-;12345:7;12354;12363;12383:12;12398:28;12422:3;12398:19;12410:6;12398:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12383:43;;12437:13;12453:29;12478:3;12453:20;12465:7;12453;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12437:45;;12493:23;12519:28;12541:5;12519:17;12531:4;12519:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12493:54;;12566:15;12583:4;12589:5;12558:37;;;;;;;;;12252:351;;;;;;;:::o;12611:409::-;12721:7;12730;12739;12759:15;12777:24;12789:11;12777:7;:11;;:24;;;;:::i;:::-;12759:42;;12812:12;12827:21;12836:11;12827:4;:8;;:21;;;;:::i;:::-;12812:36;;12859:13;12875:22;12885:11;12875:5;:9;;:22;;;;:::i;:::-;12859:38;;12908:23;12934:28;12956:5;12934:17;12946:4;12934:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12908:54;;12981:7;12990:15;13007:4;12973:39;;;;;;;;;;12611:409;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:262::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;1001:1;998;991:12;953:2;1044:1;1069:53;1114:7;1105:6;1094:9;1090:22;1069:53;:::i;:::-;1059:63;;1015:117;943:196;;;;:::o;1145:284::-;1215:6;1264:2;1252:9;1243:7;1239:23;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1323:1;1348:64;1404:7;1395:6;1384:9;1380:22;1348:64;:::i;:::-;1338:74;;1294:128;1222:207;;;;:::o;1435:407::-;1503:6;1511;1560:2;1548:9;1539:7;1535:23;1531:32;1528:2;;;1576:1;1573;1566:12;1528:2;1619:1;1644:53;1689:7;1680:6;1669:9;1665:22;1644:53;:::i;:::-;1634:63;;1590:117;1746:2;1772:53;1817:7;1808:6;1797:9;1793:22;1772:53;:::i;:::-;1762:63;;1717:118;1518:324;;;;;:::o;1848:552::-;1925:6;1933;1941;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2049:1;2074:53;2119:7;2110:6;2099:9;2095:22;2074:53;:::i;:::-;2064:63;;2020:117;2176:2;2202:53;2247:7;2238:6;2227:9;2223:22;2202:53;:::i;:::-;2192:63;;2147:118;2304:2;2330:53;2375:7;2366:6;2355:9;2351:22;2330:53;:::i;:::-;2320:63;;2275:118;1948:452;;;;;:::o;2406:407::-;2474:6;2482;2531:2;2519:9;2510:7;2506:23;2502:32;2499:2;;;2547:1;2544;2537:12;2499:2;2590:1;2615:53;2660:7;2651:6;2640:9;2636:22;2615:53;:::i;:::-;2605:63;;2561:117;2717:2;2743:53;2788:7;2779:6;2768:9;2764:22;2743:53;:::i;:::-;2733:63;;2688:118;2489:324;;;;;:::o;2819:256::-;2875:6;2924:2;2912:9;2903:7;2899:23;2895:32;2892:2;;;2940:1;2937;2930:12;2892:2;2983:1;3008:50;3050:7;3041:6;3030:9;3026:22;3008:50;:::i;:::-;2998:60;;2954:114;2882:193;;;;:::o;3081:278::-;3148:6;3197:2;3185:9;3176:7;3172:23;3168:32;3165:2;;;3213:1;3210;3203:12;3165:2;3256:1;3281:61;3334:7;3325:6;3314:9;3310:22;3281:61;:::i;:::-;3271:71;;3227:125;3155:204;;;;:::o;3365:262::-;3424:6;3473:2;3461:9;3452:7;3448:23;3444:32;3441:2;;;3489:1;3486;3479:12;3441:2;3532:1;3557:53;3602:7;3593:6;3582:9;3578:22;3557:53;:::i;:::-;3547:63;;3503:117;3431:196;;;;:::o;3633:596::-;3721:6;3729;3737;3786:2;3774:9;3765:7;3761:23;3757:32;3754:2;;;3802:1;3799;3792:12;3754:2;3845:1;3870:64;3926:7;3917:6;3906:9;3902:22;3870:64;:::i;:::-;3860:74;;3816:128;3983:2;4009:64;4065:7;4056:6;4045:9;4041:22;4009:64;:::i;:::-;3999:74;;3954:129;4122:2;4148:64;4204:7;4195:6;4184:9;4180:22;4148:64;:::i;:::-;4138:74;;4093:129;3744:485;;;;;:::o;4235:179::-;4304:10;4325:46;4367:3;4359:6;4325:46;:::i;:::-;4403:4;4398:3;4394:14;4380:28;;4315:99;;;;:::o;4420:108::-;4497:24;4515:5;4497:24;:::i;:::-;4492:3;4485:37;4475:53;;:::o;4534:118::-;4621:24;4639:5;4621:24;:::i;:::-;4616:3;4609:37;4599:53;;:::o;4688:732::-;4807:3;4836:54;4884:5;4836:54;:::i;:::-;4906:86;4985:6;4980:3;4906:86;:::i;:::-;4899:93;;5016:56;5066:5;5016:56;:::i;:::-;5095:7;5126:1;5111:284;5136:6;5133:1;5130:13;5111:284;;;5212:6;5206:13;5239:63;5298:3;5283:13;5239:63;:::i;:::-;5232:70;;5325:60;5378:6;5325:60;:::i;:::-;5315:70;;5171:224;5158:1;5155;5151:9;5146:14;;5111:284;;;5115:14;5411:3;5404:10;;4812:608;;;;;;;:::o;5426:109::-;5507:21;5522:5;5507:21;:::i;:::-;5502:3;5495:34;5485:50;;:::o;5541:147::-;5636:45;5675:5;5636:45;:::i;:::-;5631:3;5624:58;5614:74;;:::o;5694:364::-;5782:3;5810:39;5843:5;5810:39;:::i;:::-;5865:71;5929:6;5924:3;5865:71;:::i;:::-;5858:78;;5945:52;5990:6;5985:3;5978:4;5971:5;5967:16;5945:52;:::i;:::-;6022:29;6044:6;6022:29;:::i;:::-;6017:3;6013:39;6006:46;;5786:272;;;;;:::o;6064:365::-;6206:3;6227:66;6291:1;6286:3;6227:66;:::i;:::-;6220:73;;6302:93;6391:3;6302:93;:::i;:::-;6420:2;6415:3;6411:12;6404:19;;6210:219;;;:::o;6435:366::-;6577:3;6598:67;6662:2;6657:3;6598:67;:::i;:::-;6591:74;;6674:93;6763:3;6674:93;:::i;:::-;6792:2;6787:3;6783:12;6776:19;;6581:220;;;:::o;6807:366::-;6949:3;6970:67;7034:2;7029:3;6970:67;:::i;:::-;6963:74;;7046:93;7135:3;7046:93;:::i;:::-;7164:2;7159:3;7155:12;7148:19;;6953:220;;;:::o;7179:366::-;7321:3;7342:67;7406:2;7401:3;7342:67;:::i;:::-;7335:74;;7418:93;7507:3;7418:93;:::i;:::-;7536:2;7531:3;7527:12;7520:19;;7325:220;;;:::o;7551:366::-;7693:3;7714:67;7778:2;7773:3;7714:67;:::i;:::-;7707:74;;7790:93;7879:3;7790:93;:::i;:::-;7908:2;7903:3;7899:12;7892:19;;7697:220;;;:::o;7923:366::-;8065:3;8086:67;8150:2;8145:3;8086:67;:::i;:::-;8079:74;;8162:93;8251:3;8162:93;:::i;:::-;8280:2;8275:3;8271:12;8264:19;;8069:220;;;:::o;8295:366::-;8437:3;8458:67;8522:2;8517:3;8458:67;:::i;:::-;8451:74;;8534:93;8623:3;8534:93;:::i;:::-;8652:2;8647:3;8643:12;8636:19;;8441:220;;;:::o;8667:366::-;8809:3;8830:67;8894:2;8889:3;8830:67;:::i;:::-;8823:74;;8906:93;8995:3;8906:93;:::i;:::-;9024:2;9019:3;9015:12;9008:19;;8813:220;;;:::o;9039:366::-;9181:3;9202:67;9266:2;9261:3;9202:67;:::i;:::-;9195:74;;9278:93;9367:3;9278:93;:::i;:::-;9396:2;9391:3;9387:12;9380:19;;9185:220;;;:::o;9411:118::-;9498:24;9516:5;9498:24;:::i;:::-;9493:3;9486:37;9476:53;;:::o;9535:112::-;9618:22;9634:5;9618:22;:::i;:::-;9613:3;9606:35;9596:51;;:::o;9653:222::-;9746:4;9784:2;9773:9;9769:18;9761:26;;9797:71;9865:1;9854:9;9850:17;9841:6;9797:71;:::i;:::-;9751:124;;;;:::o;9881:332::-;10002:4;10040:2;10029:9;10025:18;10017:26;;10053:71;10121:1;10110:9;10106:17;10097:6;10053:71;:::i;:::-;10134:72;10202:2;10191:9;10187:18;10178:6;10134:72;:::i;:::-;10007:206;;;;;:::o;10219:332::-;10340:4;10378:2;10367:9;10363:18;10355:26;;10391:71;10459:1;10448:9;10444:17;10435:6;10391:71;:::i;:::-;10472:72;10540:2;10529:9;10525:18;10516:6;10472:72;:::i;:::-;10345:206;;;;;:::o;10557:807::-;10806:4;10844:3;10833:9;10829:19;10821:27;;10858:71;10926:1;10915:9;10911:17;10902:6;10858:71;:::i;:::-;10939:72;11007:2;10996:9;10992:18;10983:6;10939:72;:::i;:::-;11021:80;11097:2;11086:9;11082:18;11073:6;11021:80;:::i;:::-;11111;11187:2;11176:9;11172:18;11163:6;11111:80;:::i;:::-;11201:73;11269:3;11258:9;11254:19;11245:6;11201:73;:::i;:::-;11284;11352:3;11341:9;11337:19;11328:6;11284:73;:::i;:::-;10811:553;;;;;;;;;:::o;11370:210::-;11457:4;11495:2;11484:9;11480:18;11472:26;;11508:65;11570:1;11559:9;11555:17;11546:6;11508:65;:::i;:::-;11462:118;;;;:::o;11586:313::-;11699:4;11737:2;11726:9;11722:18;11714:26;;11786:9;11780:4;11776:20;11772:1;11761:9;11757:17;11750:47;11814:78;11887:4;11878:6;11814:78;:::i;:::-;11806:86;;11704:195;;;;:::o;11905:419::-;12071:4;12109:2;12098:9;12094:18;12086:26;;12158:9;12152:4;12148:20;12144:1;12133:9;12129:17;12122:47;12186:131;12312:4;12186:131;:::i;:::-;12178:139;;12076:248;;;:::o;12330:419::-;12496:4;12534:2;12523:9;12519:18;12511:26;;12583:9;12577:4;12573:20;12569:1;12558:9;12554:17;12547:47;12611:131;12737:4;12611:131;:::i;:::-;12603:139;;12501:248;;;:::o;12755:419::-;12921:4;12959:2;12948:9;12944:18;12936:26;;13008:9;13002:4;12998:20;12994:1;12983:9;12979:17;12972:47;13036:131;13162:4;13036:131;:::i;:::-;13028:139;;12926:248;;;:::o;13180:419::-;13346:4;13384:2;13373:9;13369:18;13361:26;;13433:9;13427:4;13423:20;13419:1;13408:9;13404:17;13397:47;13461:131;13587:4;13461:131;:::i;:::-;13453:139;;13351:248;;;:::o;13605:419::-;13771:4;13809:2;13798:9;13794:18;13786:26;;13858:9;13852:4;13848:20;13844:1;13833:9;13829:17;13822:47;13886:131;14012:4;13886:131;:::i;:::-;13878:139;;13776:248;;;:::o;14030:419::-;14196:4;14234:2;14223:9;14219:18;14211:26;;14283:9;14277:4;14273:20;14269:1;14258:9;14254:17;14247:47;14311:131;14437:4;14311:131;:::i;:::-;14303:139;;14201:248;;;:::o;14455:419::-;14621:4;14659:2;14648:9;14644:18;14636:26;;14708:9;14702:4;14698:20;14694:1;14683:9;14679:17;14672:47;14736:131;14862:4;14736:131;:::i;:::-;14728:139;;14626:248;;;:::o;14880:419::-;15046:4;15084:2;15073:9;15069:18;15061:26;;15133:9;15127:4;15123:20;15119:1;15108:9;15104:17;15097:47;15161:131;15287:4;15161:131;:::i;:::-;15153:139;;15051:248;;;:::o;15305:419::-;15471:4;15509:2;15498:9;15494:18;15486:26;;15558:9;15552:4;15548:20;15544:1;15533:9;15529:17;15522:47;15586:131;15712:4;15586:131;:::i;:::-;15578:139;;15476:248;;;:::o;15730:222::-;15823:4;15861:2;15850:9;15846:18;15838:26;;15874:71;15942:1;15931:9;15927:17;15918:6;15874:71;:::i;:::-;15828:124;;;;:::o;15958:831::-;16221:4;16259:3;16248:9;16244:19;16236:27;;16273:71;16341:1;16330:9;16326:17;16317:6;16273:71;:::i;:::-;16354:80;16430:2;16419:9;16415:18;16406:6;16354:80;:::i;:::-;16481:9;16475:4;16471:20;16466:2;16455:9;16451:18;16444:48;16509:108;16612:4;16603:6;16509:108;:::i;:::-;16501:116;;16627:72;16695:2;16684:9;16680:18;16671:6;16627:72;:::i;:::-;16709:73;16777:3;16766:9;16762:19;16753:6;16709:73;:::i;:::-;16226:563;;;;;;;;:::o;16795:214::-;16884:4;16922:2;16911:9;16907:18;16899:26;;16935:67;16999:1;16988:9;16984:17;16975:6;16935:67;:::i;:::-;16889:120;;;;:::o;17015:132::-;17082:4;17105:3;17097:11;;17135:4;17130:3;17126:14;17118:22;;17087:60;;;:::o;17153:114::-;17220:6;17254:5;17248:12;17238:22;;17227:40;;;:::o;17273:99::-;17325:6;17359:5;17353:12;17343:22;;17332:40;;;:::o;17378:113::-;17448:4;17480;17475:3;17471:14;17463:22;;17453:38;;;:::o;17497:184::-;17596:11;17630:6;17625:3;17618:19;17670:4;17665:3;17661:14;17646:29;;17608:73;;;;:::o;17687:169::-;17771:11;17805:6;17800:3;17793:19;17845:4;17840:3;17836:14;17821:29;;17783:73;;;;:::o;17862:305::-;17902:3;17921:20;17939:1;17921:20;:::i;:::-;17916:25;;17955:20;17973:1;17955:20;:::i;:::-;17950:25;;18109:1;18041:66;18037:74;18034:1;18031:81;18028:2;;;18115:18;;:::i;:::-;18028:2;18159:1;18156;18152:9;18145:16;;17906:261;;;;:::o;18173:185::-;18213:1;18230:20;18248:1;18230:20;:::i;:::-;18225:25;;18264:20;18282:1;18264:20;:::i;:::-;18259:25;;18303:1;18293:2;;18308:18;;:::i;:::-;18293:2;18350:1;18347;18343:9;18338:14;;18215:143;;;;:::o;18364:348::-;18404:7;18427:20;18445:1;18427:20;:::i;:::-;18422:25;;18461:20;18479:1;18461:20;:::i;:::-;18456:25;;18649:1;18581:66;18577:74;18574:1;18571:81;18566:1;18559:9;18552:17;18548:105;18545:2;;;18656:18;;:::i;:::-;18545:2;18704:1;18701;18697:9;18686:20;;18412:300;;;;:::o;18718:191::-;18758:4;18778:20;18796:1;18778:20;:::i;:::-;18773:25;;18812:20;18830:1;18812:20;:::i;:::-;18807:25;;18851:1;18848;18845:8;18842:2;;;18856:18;;:::i;:::-;18842:2;18901:1;18898;18894:9;18886:17;;18763:146;;;;:::o;18915:96::-;18952:7;18981:24;18999:5;18981:24;:::i;:::-;18970:35;;18960:51;;;:::o;19017:90::-;19051:7;19094:5;19087:13;19080:21;19069:32;;19059:48;;;:::o;19113:126::-;19150:7;19190:42;19183:5;19179:54;19168:65;;19158:81;;;:::o;19245:77::-;19282:7;19311:5;19300:16;;19290:32;;;:::o;19328:86::-;19363:7;19403:4;19396:5;19392:16;19381:27;;19371:43;;;:::o;19420:121::-;19478:9;19511:24;19529:5;19511:24;:::i;:::-;19498:37;;19488:53;;;:::o;19547:307::-;19615:1;19625:113;19639:6;19636:1;19633:13;19625:113;;;19724:1;19719:3;19715:11;19709:18;19705:1;19700:3;19696:11;19689:39;19661:2;19658:1;19654:10;19649:15;;19625:113;;;19756:6;19753:1;19750:13;19747:2;;;19836:1;19827:6;19822:3;19818:16;19811:27;19747:2;19596:258;;;;:::o;19860:180::-;19908:77;19905:1;19898:88;20005:4;20002:1;19995:15;20029:4;20026:1;20019:15;20046:180;20094:77;20091:1;20084:88;20191:4;20188:1;20181:15;20215:4;20212:1;20205:15;20232:102;20273:6;20324:2;20320:7;20315:2;20308:5;20304:14;20300:28;20290:38;;20280:54;;;:::o;20340:151::-;20480:3;20476:1;20468:6;20464:14;20457:27;20446:45;:::o;20497:229::-;20637:34;20633:1;20625:6;20621:14;20614:58;20706:12;20701:2;20693:6;20689:15;20682:37;20603:123;:::o;20732:221::-;20872:34;20868:1;20860:6;20856:14;20849:58;20941:4;20936:2;20928:6;20924:15;20917:29;20838:115;:::o;20959:177::-;21099:29;21095:1;21087:6;21083:14;21076:53;21065:71;:::o;21142:220::-;21282:34;21278:1;21270:6;21266:14;21259:58;21351:3;21346:2;21338:6;21334:15;21327:28;21248:114;:::o;21368:182::-;21508:34;21504:1;21496:6;21492:14;21485:58;21474:76;:::o;21556:228::-;21696:34;21692:1;21684:6;21680:14;21673:58;21765:11;21760:2;21752:6;21748:15;21741:36;21662:122;:::o;21790:223::-;21930:34;21926:1;21918:6;21914:14;21907:58;21999:6;21994:2;21986:6;21982:15;21975:31;21896:117;:::o;22019:173::-;22159:25;22155:1;22147:6;22143:14;22136:49;22125:67;:::o;22198:122::-;22271:24;22289:5;22271:24;:::i;:::-;22264:5;22261:35;22251:2;;22310:1;22307;22300:12;22251:2;22241:79;:::o;22326:116::-;22396:21;22411:5;22396:21;:::i;:::-;22389:5;22386:32;22376:2;;22432:1;22429;22422:12;22376:2;22366:76;:::o;22448:122::-;22521:24;22539:5;22521:24;:::i;:::-;22514:5;22511:35;22501:2;;22560:1;22557;22550:12;22501:2;22491:79;:::o

Swarm Source

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