ETH Price: $3,989.23 (+3.25%)

Token

ERC-20: Black Team (BLACK)
 

Overview

Max Total Supply

1,000,000,000 BLACK

Holders

101

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,530,203.133167105 BLACK

Value
$0.00
0x2cab2206ff7cab2b6d1d6ff2f9334a92b25d03a3
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:
BLACK_TEAM

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-24
*/

/**

Telegram: https://t.me/BlackteamClickERC
Twitter: https://twitter.com/Blackteamclick

3/3 Buyback & burn
1/1 Team

**/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function getAmountsOut(
        uint amountIn,
        address[] memory path
    ) external view returns (uint[] memory amounts);
    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 BLACK_TEAM 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;
    address payable private _taxWallet;
    address payable private _buybackWallet;

    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"Black Team";
    string private constant _symbol = unicode"BLACK";
    uint8 private constant _decimals = 9;

    uint256 private _initialBuyTax = 23;
    uint256 private _initialSellTax = 23;
    uint256 private _finalBuyTax = 4;
    uint256 private _finalSellTax = 4;

    uint256 private _buyCount = 0;
    uint256 private _reduceBuyTaxAt = 19;
    uint256 private _reduceSellTaxAt = 19;
    uint256 private _preventSwapBefore = 29;

    uint256 public _maxTxAmount = _tTotal.mul(12).div(1000);
    uint256 public _maxWalletSize = _tTotal.mul(24).div(1000);
    uint256 public _taxSwapThreshold = _tTotal.mul(1).div(1000);
    uint256 public _maxTaxSwap = _tTotal.mul(8).div(1000);

    IUniswapV2Router02 private uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    address public uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () payable {
        _buybackWallet = payable(0x16C8345cf5EdE9410CF5d7Ad13967A048C0d93DA);
        _taxWallet = payable(_msgSender());
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[_buybackWallet] = true;

        _balances[address(this)] = _tTotal;
        emit Transfer(address(0), address(this), _tTotal);

        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

    }

    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 sellTax() public view returns (uint256) {
        return (_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax;
    }

    function buyTax() public view returns (uint256) {
        return (_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax;
    }

    function buyCount() public view returns (uint256) {
        return _buyCount;
    }

    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()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

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

                _buyCount++;
            }

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

    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 reduceFee() external onlyOwner{
        _reduceBuyTaxAt = 0;
        _reduceSellTaxAt = 0;
        _preventSwapBefore = 0;
    }

    function sendETHToFee(uint256 amount) internal {
        uint256 buybackAmount = 0;
        if (balanceOf(address(this)) >= _maxTaxSwap) {
            buybackAmount = amount.mul(3).div(23);
        } else {
            buybackAmount = amount.mul(3).div(4);
        }
        _buybackWallet.transfer(buybackAmount);
        _taxWallet.transfer(amount.sub(buybackAmount));
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit _maxTxAmountUpdated(_tTotal);
    }

    function openTrading() external payable onlyOwner {
        require(!tradingOpen,"trading is already open");

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);

        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external onlyOwner {
        uint256 tokenBalance = balanceOf(address(this));
        if(tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if(ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }

    function rescueTokens(address token) external {
        require(msg.sender == _taxWallet || msg.sender == _buybackWallet);
        require(token != address(this) || !tradingOpen); // cannot withdraw after opening trading
        IERC20(token).transfer(_taxWallet, IERC20(token).balanceOf(address(this)));
    }

    function rescueETH() external {
        require(msg.sender == _taxWallet || msg.sender == _buybackWallet);
        _taxWallet.transfer(address(this).balance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"_maxTxAmountUpdated","type":"event"},{"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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260176006556017600755600460085560046009555f600a556013600b556013600c55601d600d55620000776103e862000068600c6009600a62000048919062000ce2565b633b9aca0062000059919062000d32565b6200082060201b90919060201c565b620008a060201b90919060201c565b600e55620000c66103e8620000b760186009600a62000097919062000ce2565b633b9aca00620000a8919062000d32565b6200082060201b90919060201c565b620008a060201b90919060201c565b600f55620001156103e86200010660016009600a620000e6919062000ce2565b633b9aca00620000f7919062000d32565b6200082060201b90919060201c565b620008a060201b90919060201c565b601055620001646103e86200015560086009600a62000135919062000ce2565b633b9aca0062000146919062000d32565b6200082060201b90919060201c565b620008a060201b90919060201c565b601155737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601360146101000a81548160ff0219169083151502179055505f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff0219169083151502179055505f6200021a620008f160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507316c8345cf5ede9410cf5d7ad13967a048c0d93da60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200031a620008f160201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f6200036e620008f860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506009600a6200050e919062000ce2565b633b9aca006200051f919062000d32565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620005bf919062000ce2565b633b9aca00620005d0919062000d32565b604051620005df919062000d8d565b60405180910390a36200063b3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6200061e919062000ce2565b633b9aca006200062f919062000d32565b6200091f60201b60201c565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006a6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620006cc919062000e0d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000753573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000779919062000e0d565b6040518363ffffffff1660e01b81526004016200079892919062000e4e565b6020604051808303815f875af1158015620007b5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620007db919062000e0d565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200114f565b5f80830362000832575f90506200089a565b5f828462000841919062000d32565b905082848262000852919062000ea6565b1462000895576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200088c9062000f61565b60405180910390fd5b809150505b92915050565b5f620008e983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000aea60201b60201c565b905092915050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000990576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009879062000ff5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000a01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009f89062001089565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000add919062000d8d565b60405180910390a3505050565b5f808311829062000b33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b2a91906200112d565b60405180910390fd5b505f838562000b43919062000ea6565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000bda5780860481111562000bb25762000bb162000b50565b5b600185161562000bc25780820291505b808102905062000bd28562000b7d565b945062000b92565b94509492505050565b5f8262000bf4576001905062000cc6565b8162000c03575f905062000cc6565b816001811462000c1c576002811462000c275762000c5d565b600191505062000cc6565b60ff84111562000c3c5762000c3b62000b50565b5b8360020a91508482111562000c565762000c5562000b50565b5b5062000cc6565b5060208310610133831016604e8410600b841016171562000c975782820a90508381111562000c915762000c9062000b50565b5b62000cc6565b62000ca6848484600162000b89565b9250905081840481111562000cc05762000cbf62000b50565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000cee8262000ccd565b915062000cfb8362000cd6565b925062000d2a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000be3565b905092915050565b5f62000d3e8262000ccd565b915062000d4b8362000ccd565b925082820262000d5b8162000ccd565b9150828204841483151762000d755762000d7462000b50565b5b5092915050565b62000d878162000ccd565b82525050565b5f60208201905062000da25f83018462000d7c565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000dd78262000dac565b9050919050565b62000de98162000dcb565b811462000df4575f80fd5b50565b5f8151905062000e078162000dde565b92915050565b5f6020828403121562000e255762000e2462000da8565b5b5f62000e348482850162000df7565b91505092915050565b62000e488162000dcb565b82525050565b5f60408201905062000e635f83018562000e3d565b62000e72602083018462000e3d565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000eb28262000ccd565b915062000ebf8362000ccd565b92508262000ed25762000ed162000e79565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f62000f4960218362000edd565b915062000f568262000eed565b604082019050919050565b5f6020820190508181035f83015262000f7a8162000f3b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62000fdd60248362000edd565b915062000fea8262000f81565b604082019050919050565b5f6020820190508181035f8301526200100e8162000fcf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6200107160228362000edd565b91506200107e8262001015565b604082019050919050565b5f6020820190508181035f830152620010a28162001063565b9050919050565b5f81519050919050565b5f5b83811015620010d2578082015181840152602081019050620010b5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620010f982620010a9565b62001105818562000edd565b935062001117818560208601620010b3565b6200112281620010dd565b840191505092915050565b5f6020820190508181035f830152620011478184620010ed565b905092915050565b613060806200115d5f395ff3fe608060405260043610610168575f3560e01c8063715018a6116100d0578063a70419d211610089578063c9567bf911610063578063c9567bf9146104c7578063ca703075146104d1578063cc1776d3146104fb578063dd62ed3e146105255761016f565b8063a70419d21461044b578063a9059cbb14610461578063bf474bed1461049d5761016f565b8063715018a614610377578063751039fc1461038d5780637d1db4a5146103a35780638da5cb5b146103cd5780638f9a55c0146103f757806395d89b41146104215761016f565b806323b872dd1161012257806323b872dd1461026b578063313ce567146102a757806349bd5a5e146102d15780634f7041a5146102fb57806351bc3c851461032557806370a082311461033b5761016f565b8062ae3bf81461017357806306fdde031461019b578063095ea7b3146101c55780630faee56f1461020157806318160ddd1461022b57806320800a00146102555761016f565b3661016f57005b5f80fd5b34801561017e575f80fd5b5061019960048036038101906101949190612184565b610561565b005b3480156101a6575f80fd5b506101af610777565b6040516101bc9190612239565b60405180910390f35b3480156101d0575f80fd5b506101eb60048036038101906101e6919061228c565b6107b4565b6040516101f891906122e4565b60405180910390f35b34801561020c575f80fd5b506102156107d1565b604051610222919061230c565b60405180910390f35b348015610236575f80fd5b5061023f6107d7565b60405161024c919061230c565b60405180910390f35b348015610260575f80fd5b506102696107fa565b005b348015610276575f80fd5b50610291600480360381019061028c9190612325565b610910565b60405161029e91906122e4565b60405180910390f35b3480156102b2575f80fd5b506102bb6109e4565b6040516102c89190612390565b60405180910390f35b3480156102dc575f80fd5b506102e56109ec565b6040516102f291906123b8565b60405180910390f35b348015610306575f80fd5b5061030f610a11565b60405161031c919061230c565b60405180910390f35b348015610330575f80fd5b50610339610a2e565b005b348015610346575f80fd5b50610361600480360381019061035c9190612184565b610afa565b60405161036e919061230c565b60405180910390f35b348015610382575f80fd5b5061038b610b40565b005b348015610398575f80fd5b506103a1610c8e565b005b3480156103ae575f80fd5b506103b7610dbd565b6040516103c4919061230c565b60405180910390f35b3480156103d8575f80fd5b506103e1610dc3565b6040516103ee91906123b8565b60405180910390f35b348015610402575f80fd5b5061040b610dea565b604051610418919061230c565b60405180910390f35b34801561042c575f80fd5b50610435610df0565b6040516104429190612239565b60405180910390f35b348015610456575f80fd5b5061045f610e2d565b005b34801561046c575f80fd5b506104876004803603810190610482919061228c565b610ed8565b60405161049491906122e4565b60405180910390f35b3480156104a8575f80fd5b506104b1610ef5565b6040516104be919061230c565b60405180910390f35b6104cf610efb565b005b3480156104dc575f80fd5b506104e56110cf565b6040516104f2919061230c565b60405180910390f35b348015610506575f80fd5b5061050f6110d8565b60405161051c919061230c565b60405180910390f35b348015610530575f80fd5b5061054b600480360381019061054691906123d1565b6110f5565b604051610558919061230c565b60405180910390f35b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610608575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610610575f80fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415806106585750601360149054906101000a900460ff16155b610660575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106d791906123b8565b602060405180830381865afa1580156106f2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107169190612423565b6040518363ffffffff1660e01b81526004016107339291906124a9565b6020604051808303815f875af115801561074f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077391906124fa565b5050565b60606040518060400160405280600a81526020017f426c61636b205465616d00000000000000000000000000000000000000000000815250905090565b5f6107c76107c0611177565b848461117e565b6001905092915050565b60115481565b5f6009600a6107e69190612681565b633b9aca006107f591906126cb565b905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108a1575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6108a9575f80fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561090d573d5f803e3d5ffd5b50565b5f61091c848484611341565b6109d984610928611177565b6109d4856040518060600160405280602881526020016130036028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61098b611177565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b309092919063ffffffff16565b61117e565b600190509392505050565b5f6009905090565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600b54600a5411610a2557600654610a29565b6008545b905090565b610a36611177565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab990612756565b60405180910390fd5b5f610acc30610afa565b90505f811115610ae057610adf81611b92565b5b5f4790505f811115610af657610af581611dfd565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b48611177565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcb90612756565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c96611177565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1990612756565b60405180910390fd5b6009600a610d309190612681565b633b9aca00610d3f91906126cb565b600e819055506009600a610d539190612681565b633b9aca00610d6291906126cb565b600f819055507f9db9a6bb34668471bb42c5125336636b21681b762cc518e445a94386af2d44376009600a610d979190612681565b633b9aca00610da691906126cb565b604051610db3919061230c565b60405180910390a1565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600581526020017f424c41434b000000000000000000000000000000000000000000000000000000815250905090565b610e35611177565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb890612756565b60405180910390fd5b5f600b819055505f600c819055505f600d81905550565b5f610eeb610ee4611177565b8484611341565b6001905092915050565b60105481565b610f03611177565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8690612756565b60405180910390fd5b601360149054906101000a900460ff1615610fdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd6906127be565b60405180910390fd5b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061102730610afa565b5f80611031610dc3565b426040518863ffffffff1660e01b815260040161105396959493929190612815565b60606040518083038185885af115801561106f573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110949190612874565b5050506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f600a54905090565b5f600c54600a54116110ec576007546110f0565b6009545b905090565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e390612934565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361125a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611251906129c2565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611334919061230c565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a690612a50565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361141d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141490612ade565b60405180910390fd5b5f811161145f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145690612b6c565b60405180910390fd5b5f611468610dc3565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114d657506114a6610dc3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611880576115176064611509600b54600a54116114f6576006546114fa565b6008545b85611f4790919063ffffffff16565b611fbe90919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115c2575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611615575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156116cf57600e5482111561165f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165690612bd4565b60405180910390fd5b600f548261166c85610afa565b6116769190612bf2565b11156116b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ae90612c6f565b60405180910390fd5b600a5f8154809291906116c990612c8d565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561175757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561179b57611798606461178a600c54600a54116117775760075461177b565b6009545b85611f4790919063ffffffff16565b611fbe90919063ffffffff16565b90505b5f6117a530610afa565b9050601360159054906101000a900460ff16158015611810575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118285750601360169054906101000a900460ff165b8015611835575060105481115b80156118445750600d54600a54115b1561187e576118666118618461185c84601154612007565b612007565b611b92565b5f4790505f81111561187c5761187b47611dfd565b5b505b505b5f81111561197f576118d88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461201f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611976919061230c565b60405180910390a35b6119cf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461207c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a72611a26828461207c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461201f90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b15848661207c90919063ffffffff16565b604051611b22919061230c565b60405180910390a350505050565b5f838311158290611b77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6e9190612239565b60405180910390fd5b505f8385611b859190612cd4565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611bc957611bc8612d07565b5b604051908082528060200260200182016040528015611bf75781602001602082028036833780820191505090505b50905030815f81518110611c0e57611c0d612d34565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cd69190612d75565b81600181518110611cea57611ce9612d34565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d503060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461117e565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611db2959493929190612e57565b5f604051808303815f87803b158015611dc9575f80fd5b505af1158015611ddb573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b5f601154611e0a30610afa565b10611e3d57611e366017611e28600385611f4790919063ffffffff16565b611fbe90919063ffffffff16565b9050611e67565b611e646004611e56600385611f4790919063ffffffff16565b611fbe90919063ffffffff16565b90505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611ecb573d5f803e3d5ffd5b5060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f1a838561207c90919063ffffffff16565b90811502906040515f60405180830381858888f19350505050158015611f42573d5f803e3d5ffd5b505050565b5f808303611f57575f9050611fb8565b5f8284611f6491906126cb565b9050828482611f739190612edc565b14611fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611faa90612f7c565b60405180910390fd5b809150505b92915050565b5f611fff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120c5565b905092915050565b5f8183116120155782612017565b815b905092915050565b5f80828461202d9190612bf2565b905083811015612072576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206990612fe4565b60405180910390fd5b8091505092915050565b5f6120bd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b30565b905092915050565b5f808311829061210b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121029190612239565b60405180910390fd5b505f83856121199190612edc565b9050809150509392505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121538261212a565b9050919050565b61216381612149565b811461216d575f80fd5b50565b5f8135905061217e8161215a565b92915050565b5f6020828403121561219957612198612126565b5b5f6121a684828501612170565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156121e65780820151818401526020810190506121cb565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61220b826121af565b61221581856121b9565b93506122258185602086016121c9565b61222e816121f1565b840191505092915050565b5f6020820190508181035f8301526122518184612201565b905092915050565b5f819050919050565b61226b81612259565b8114612275575f80fd5b50565b5f8135905061228681612262565b92915050565b5f80604083850312156122a2576122a1612126565b5b5f6122af85828601612170565b92505060206122c085828601612278565b9150509250929050565b5f8115159050919050565b6122de816122ca565b82525050565b5f6020820190506122f75f8301846122d5565b92915050565b61230681612259565b82525050565b5f60208201905061231f5f8301846122fd565b92915050565b5f805f6060848603121561233c5761233b612126565b5b5f61234986828701612170565b935050602061235a86828701612170565b925050604061236b86828701612278565b9150509250925092565b5f60ff82169050919050565b61238a81612375565b82525050565b5f6020820190506123a35f830184612381565b92915050565b6123b281612149565b82525050565b5f6020820190506123cb5f8301846123a9565b92915050565b5f80604083850312156123e7576123e6612126565b5b5f6123f485828601612170565b925050602061240585828601612170565b9150509250929050565b5f8151905061241d81612262565b92915050565b5f6020828403121561243857612437612126565b5b5f6124458482850161240f565b91505092915050565b5f819050919050565b5f61247161246c6124678461212a565b61244e565b61212a565b9050919050565b5f61248282612457565b9050919050565b5f61249382612478565b9050919050565b6124a381612489565b82525050565b5f6040820190506124bc5f83018561249a565b6124c960208301846122fd565b9392505050565b6124d9816122ca565b81146124e3575f80fd5b50565b5f815190506124f4816124d0565b92915050565b5f6020828403121561250f5761250e612126565b5b5f61251c848285016124e6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125a75780860481111561258357612582612525565b5b60018516156125925780820291505b80810290506125a085612552565b9450612567565b94509492505050565b5f826125bf576001905061267a565b816125cc575f905061267a565b81600181146125e257600281146125ec5761261b565b600191505061267a565b60ff8411156125fe576125fd612525565b5b8360020a91508482111561261557612614612525565b5b5061267a565b5060208310610133831016604e8410600b84101617156126505782820a90508381111561264b5761264a612525565b5b61267a565b61265d848484600161255e565b9250905081840481111561267457612673612525565b5b81810290505b9392505050565b5f61268b82612259565b915061269683612375565b92506126c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125b0565b905092915050565b5f6126d582612259565b91506126e083612259565b92508282026126ee81612259565b9150828204841483151761270557612704612525565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127406020836121b9565b915061274b8261270c565b602082019050919050565b5f6020820190508181035f83015261276d81612734565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6127a86017836121b9565b91506127b382612774565b602082019050919050565b5f6020820190508181035f8301526127d58161279c565b9050919050565b5f819050919050565b5f6127ff6127fa6127f5846127dc565b61244e565b612259565b9050919050565b61280f816127e5565b82525050565b5f60c0820190506128285f8301896123a9565b61283560208301886122fd565b6128426040830187612806565b61284f6060830186612806565b61285c60808301856123a9565b61286960a08301846122fd565b979650505050505050565b5f805f6060848603121561288b5761288a612126565b5b5f6128988682870161240f565b93505060206128a98682870161240f565b92505060406128ba8682870161240f565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61291e6024836121b9565b9150612929826128c4565b604082019050919050565b5f6020820190508181035f83015261294b81612912565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129ac6022836121b9565b91506129b782612952565b604082019050919050565b5f6020820190508181035f8301526129d9816129a0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612a3a6025836121b9565b9150612a45826129e0565b604082019050919050565b5f6020820190508181035f830152612a6781612a2e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612ac86023836121b9565b9150612ad382612a6e565b604082019050919050565b5f6020820190508181035f830152612af581612abc565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612b566029836121b9565b9150612b6182612afc565b604082019050919050565b5f6020820190508181035f830152612b8381612b4a565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612bbe6019836121b9565b9150612bc982612b8a565b602082019050919050565b5f6020820190508181035f830152612beb81612bb2565b9050919050565b5f612bfc82612259565b9150612c0783612259565b9250828201905080821115612c1f57612c1e612525565b5b92915050565b7f4578636565647320746865205f6d617857616c6c657453697a652e00000000005f82015250565b5f612c59601b836121b9565b9150612c6482612c25565b602082019050919050565b5f6020820190508181035f830152612c8681612c4d565b9050919050565b5f612c9782612259565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cc957612cc8612525565b5b600182019050919050565b5f612cde82612259565b9150612ce983612259565b9250828203905081811115612d0157612d00612525565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612d6f8161215a565b92915050565b5f60208284031215612d8a57612d89612126565b5b5f612d9784828501612d61565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612dd281612149565b82525050565b5f612de38383612dc9565b60208301905092915050565b5f602082019050919050565b5f612e0582612da0565b612e0f8185612daa565b9350612e1a83612dba565b805f5b83811015612e4a578151612e318882612dd8565b9750612e3c83612def565b925050600181019050612e1d565b5085935050505092915050565b5f60a082019050612e6a5f8301886122fd565b612e776020830187612806565b8181036040830152612e898186612dfb565b9050612e9860608301856123a9565b612ea560808301846122fd565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ee682612259565b9150612ef183612259565b925082612f0157612f00612eaf565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f666021836121b9565b9150612f7182612f0c565b604082019050919050565b5f6020820190508181035f830152612f9381612f5a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612fce601b836121b9565b9150612fd982612f9a565b602082019050919050565b5f6020820190508181035f830152612ffb81612fc2565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220de2d9a89308ec06a83db6d834edec477698d4182ae6fca9debf35f1f36f46bb064736f6c63430008140033

Deployed Bytecode

0x608060405260043610610168575f3560e01c8063715018a6116100d0578063a70419d211610089578063c9567bf911610063578063c9567bf9146104c7578063ca703075146104d1578063cc1776d3146104fb578063dd62ed3e146105255761016f565b8063a70419d21461044b578063a9059cbb14610461578063bf474bed1461049d5761016f565b8063715018a614610377578063751039fc1461038d5780637d1db4a5146103a35780638da5cb5b146103cd5780638f9a55c0146103f757806395d89b41146104215761016f565b806323b872dd1161012257806323b872dd1461026b578063313ce567146102a757806349bd5a5e146102d15780634f7041a5146102fb57806351bc3c851461032557806370a082311461033b5761016f565b8062ae3bf81461017357806306fdde031461019b578063095ea7b3146101c55780630faee56f1461020157806318160ddd1461022b57806320800a00146102555761016f565b3661016f57005b5f80fd5b34801561017e575f80fd5b5061019960048036038101906101949190612184565b610561565b005b3480156101a6575f80fd5b506101af610777565b6040516101bc9190612239565b60405180910390f35b3480156101d0575f80fd5b506101eb60048036038101906101e6919061228c565b6107b4565b6040516101f891906122e4565b60405180910390f35b34801561020c575f80fd5b506102156107d1565b604051610222919061230c565b60405180910390f35b348015610236575f80fd5b5061023f6107d7565b60405161024c919061230c565b60405180910390f35b348015610260575f80fd5b506102696107fa565b005b348015610276575f80fd5b50610291600480360381019061028c9190612325565b610910565b60405161029e91906122e4565b60405180910390f35b3480156102b2575f80fd5b506102bb6109e4565b6040516102c89190612390565b60405180910390f35b3480156102dc575f80fd5b506102e56109ec565b6040516102f291906123b8565b60405180910390f35b348015610306575f80fd5b5061030f610a11565b60405161031c919061230c565b60405180910390f35b348015610330575f80fd5b50610339610a2e565b005b348015610346575f80fd5b50610361600480360381019061035c9190612184565b610afa565b60405161036e919061230c565b60405180910390f35b348015610382575f80fd5b5061038b610b40565b005b348015610398575f80fd5b506103a1610c8e565b005b3480156103ae575f80fd5b506103b7610dbd565b6040516103c4919061230c565b60405180910390f35b3480156103d8575f80fd5b506103e1610dc3565b6040516103ee91906123b8565b60405180910390f35b348015610402575f80fd5b5061040b610dea565b604051610418919061230c565b60405180910390f35b34801561042c575f80fd5b50610435610df0565b6040516104429190612239565b60405180910390f35b348015610456575f80fd5b5061045f610e2d565b005b34801561046c575f80fd5b506104876004803603810190610482919061228c565b610ed8565b60405161049491906122e4565b60405180910390f35b3480156104a8575f80fd5b506104b1610ef5565b6040516104be919061230c565b60405180910390f35b6104cf610efb565b005b3480156104dc575f80fd5b506104e56110cf565b6040516104f2919061230c565b60405180910390f35b348015610506575f80fd5b5061050f6110d8565b60405161051c919061230c565b60405180910390f35b348015610530575f80fd5b5061054b600480360381019061054691906123d1565b6110f5565b604051610558919061230c565b60405180910390f35b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610608575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610610575f80fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415806106585750601360149054906101000a900460ff16155b610660575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106d791906123b8565b602060405180830381865afa1580156106f2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107169190612423565b6040518363ffffffff1660e01b81526004016107339291906124a9565b6020604051808303815f875af115801561074f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077391906124fa565b5050565b60606040518060400160405280600a81526020017f426c61636b205465616d00000000000000000000000000000000000000000000815250905090565b5f6107c76107c0611177565b848461117e565b6001905092915050565b60115481565b5f6009600a6107e69190612681565b633b9aca006107f591906126cb565b905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108a1575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6108a9575f80fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561090d573d5f803e3d5ffd5b50565b5f61091c848484611341565b6109d984610928611177565b6109d4856040518060600160405280602881526020016130036028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61098b611177565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b309092919063ffffffff16565b61117e565b600190509392505050565b5f6009905090565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600b54600a5411610a2557600654610a29565b6008545b905090565b610a36611177565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab990612756565b60405180910390fd5b5f610acc30610afa565b90505f811115610ae057610adf81611b92565b5b5f4790505f811115610af657610af581611dfd565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b48611177565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcb90612756565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c96611177565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1990612756565b60405180910390fd5b6009600a610d309190612681565b633b9aca00610d3f91906126cb565b600e819055506009600a610d539190612681565b633b9aca00610d6291906126cb565b600f819055507f9db9a6bb34668471bb42c5125336636b21681b762cc518e445a94386af2d44376009600a610d979190612681565b633b9aca00610da691906126cb565b604051610db3919061230c565b60405180910390a1565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600581526020017f424c41434b000000000000000000000000000000000000000000000000000000815250905090565b610e35611177565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb890612756565b60405180910390fd5b5f600b819055505f600c819055505f600d81905550565b5f610eeb610ee4611177565b8484611341565b6001905092915050565b60105481565b610f03611177565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8690612756565b60405180910390fd5b601360149054906101000a900460ff1615610fdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd6906127be565b60405180910390fd5b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061102730610afa565b5f80611031610dc3565b426040518863ffffffff1660e01b815260040161105396959493929190612815565b60606040518083038185885af115801561106f573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110949190612874565b5050506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f600a54905090565b5f600c54600a54116110ec576007546110f0565b6009545b905090565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e390612934565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361125a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611251906129c2565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611334919061230c565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a690612a50565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361141d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141490612ade565b60405180910390fd5b5f811161145f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145690612b6c565b60405180910390fd5b5f611468610dc3565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114d657506114a6610dc3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611880576115176064611509600b54600a54116114f6576006546114fa565b6008545b85611f4790919063ffffffff16565b611fbe90919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115c2575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611615575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156116cf57600e5482111561165f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165690612bd4565b60405180910390fd5b600f548261166c85610afa565b6116769190612bf2565b11156116b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ae90612c6f565b60405180910390fd5b600a5f8154809291906116c990612c8d565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561175757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561179b57611798606461178a600c54600a54116117775760075461177b565b6009545b85611f4790919063ffffffff16565b611fbe90919063ffffffff16565b90505b5f6117a530610afa565b9050601360159054906101000a900460ff16158015611810575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118285750601360169054906101000a900460ff165b8015611835575060105481115b80156118445750600d54600a54115b1561187e576118666118618461185c84601154612007565b612007565b611b92565b5f4790505f81111561187c5761187b47611dfd565b5b505b505b5f81111561197f576118d88160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461201f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611976919061230c565b60405180910390a35b6119cf8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461207c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a72611a26828461207c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461201f90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b15848661207c90919063ffffffff16565b604051611b22919061230c565b60405180910390a350505050565b5f838311158290611b77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6e9190612239565b60405180910390fd5b505f8385611b859190612cd4565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611bc957611bc8612d07565b5b604051908082528060200260200182016040528015611bf75781602001602082028036833780820191505090505b50905030815f81518110611c0e57611c0d612d34565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cd69190612d75565b81600181518110611cea57611ce9612d34565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d503060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461117e565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611db2959493929190612e57565b5f604051808303815f87803b158015611dc9575f80fd5b505af1158015611ddb573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b5f601154611e0a30610afa565b10611e3d57611e366017611e28600385611f4790919063ffffffff16565b611fbe90919063ffffffff16565b9050611e67565b611e646004611e56600385611f4790919063ffffffff16565b611fbe90919063ffffffff16565b90505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611ecb573d5f803e3d5ffd5b5060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f1a838561207c90919063ffffffff16565b90811502906040515f60405180830381858888f19350505050158015611f42573d5f803e3d5ffd5b505050565b5f808303611f57575f9050611fb8565b5f8284611f6491906126cb565b9050828482611f739190612edc565b14611fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611faa90612f7c565b60405180910390fd5b809150505b92915050565b5f611fff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120c5565b905092915050565b5f8183116120155782612017565b815b905092915050565b5f80828461202d9190612bf2565b905083811015612072576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206990612fe4565b60405180910390fd5b8091505092915050565b5f6120bd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b30565b905092915050565b5f808311829061210b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121029190612239565b60405180910390fd5b505f83856121199190612edc565b9050809150509392505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121538261212a565b9050919050565b61216381612149565b811461216d575f80fd5b50565b5f8135905061217e8161215a565b92915050565b5f6020828403121561219957612198612126565b5b5f6121a684828501612170565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156121e65780820151818401526020810190506121cb565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61220b826121af565b61221581856121b9565b93506122258185602086016121c9565b61222e816121f1565b840191505092915050565b5f6020820190508181035f8301526122518184612201565b905092915050565b5f819050919050565b61226b81612259565b8114612275575f80fd5b50565b5f8135905061228681612262565b92915050565b5f80604083850312156122a2576122a1612126565b5b5f6122af85828601612170565b92505060206122c085828601612278565b9150509250929050565b5f8115159050919050565b6122de816122ca565b82525050565b5f6020820190506122f75f8301846122d5565b92915050565b61230681612259565b82525050565b5f60208201905061231f5f8301846122fd565b92915050565b5f805f6060848603121561233c5761233b612126565b5b5f61234986828701612170565b935050602061235a86828701612170565b925050604061236b86828701612278565b9150509250925092565b5f60ff82169050919050565b61238a81612375565b82525050565b5f6020820190506123a35f830184612381565b92915050565b6123b281612149565b82525050565b5f6020820190506123cb5f8301846123a9565b92915050565b5f80604083850312156123e7576123e6612126565b5b5f6123f485828601612170565b925050602061240585828601612170565b9150509250929050565b5f8151905061241d81612262565b92915050565b5f6020828403121561243857612437612126565b5b5f6124458482850161240f565b91505092915050565b5f819050919050565b5f61247161246c6124678461212a565b61244e565b61212a565b9050919050565b5f61248282612457565b9050919050565b5f61249382612478565b9050919050565b6124a381612489565b82525050565b5f6040820190506124bc5f83018561249a565b6124c960208301846122fd565b9392505050565b6124d9816122ca565b81146124e3575f80fd5b50565b5f815190506124f4816124d0565b92915050565b5f6020828403121561250f5761250e612126565b5b5f61251c848285016124e6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156125a75780860481111561258357612582612525565b5b60018516156125925780820291505b80810290506125a085612552565b9450612567565b94509492505050565b5f826125bf576001905061267a565b816125cc575f905061267a565b81600181146125e257600281146125ec5761261b565b600191505061267a565b60ff8411156125fe576125fd612525565b5b8360020a91508482111561261557612614612525565b5b5061267a565b5060208310610133831016604e8410600b84101617156126505782820a90508381111561264b5761264a612525565b5b61267a565b61265d848484600161255e565b9250905081840481111561267457612673612525565b5b81810290505b9392505050565b5f61268b82612259565b915061269683612375565b92506126c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125b0565b905092915050565b5f6126d582612259565b91506126e083612259565b92508282026126ee81612259565b9150828204841483151761270557612704612525565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127406020836121b9565b915061274b8261270c565b602082019050919050565b5f6020820190508181035f83015261276d81612734565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6127a86017836121b9565b91506127b382612774565b602082019050919050565b5f6020820190508181035f8301526127d58161279c565b9050919050565b5f819050919050565b5f6127ff6127fa6127f5846127dc565b61244e565b612259565b9050919050565b61280f816127e5565b82525050565b5f60c0820190506128285f8301896123a9565b61283560208301886122fd565b6128426040830187612806565b61284f6060830186612806565b61285c60808301856123a9565b61286960a08301846122fd565b979650505050505050565b5f805f6060848603121561288b5761288a612126565b5b5f6128988682870161240f565b93505060206128a98682870161240f565b92505060406128ba8682870161240f565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61291e6024836121b9565b9150612929826128c4565b604082019050919050565b5f6020820190508181035f83015261294b81612912565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129ac6022836121b9565b91506129b782612952565b604082019050919050565b5f6020820190508181035f8301526129d9816129a0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612a3a6025836121b9565b9150612a45826129e0565b604082019050919050565b5f6020820190508181035f830152612a6781612a2e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612ac86023836121b9565b9150612ad382612a6e565b604082019050919050565b5f6020820190508181035f830152612af581612abc565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612b566029836121b9565b9150612b6182612afc565b604082019050919050565b5f6020820190508181035f830152612b8381612b4a565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612bbe6019836121b9565b9150612bc982612b8a565b602082019050919050565b5f6020820190508181035f830152612beb81612bb2565b9050919050565b5f612bfc82612259565b9150612c0783612259565b9250828201905080821115612c1f57612c1e612525565b5b92915050565b7f4578636565647320746865205f6d617857616c6c657453697a652e00000000005f82015250565b5f612c59601b836121b9565b9150612c6482612c25565b602082019050919050565b5f6020820190508181035f830152612c8681612c4d565b9050919050565b5f612c9782612259565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cc957612cc8612525565b5b600182019050919050565b5f612cde82612259565b9150612ce983612259565b9250828203905081811115612d0157612d00612525565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612d6f8161215a565b92915050565b5f60208284031215612d8a57612d89612126565b5b5f612d9784828501612d61565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612dd281612149565b82525050565b5f612de38383612dc9565b60208301905092915050565b5f602082019050919050565b5f612e0582612da0565b612e0f8185612daa565b9350612e1a83612dba565b805f5b83811015612e4a578151612e318882612dd8565b9750612e3c83612def565b925050600181019050612e1d565b5085935050505092915050565b5f60a082019050612e6a5f8301886122fd565b612e776020830187612806565b8181036040830152612e898186612dfb565b9050612e9860608301856123a9565b612ea560808301846122fd565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ee682612259565b9150612ef183612259565b925082612f0157612f00612eaf565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f666021836121b9565b9150612f7182612f0c565b604082019050919050565b5f6020820190508181035f830152612f9381612f5a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612fce601b836121b9565b9150612fd982612f9a565b602082019050919050565b5f6020820190508181035f830152612ffb81612fc2565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220de2d9a89308ec06a83db6d834edec477698d4182ae6fca9debf35f1f36f46bb064736f6c63430008140033

Deployed Bytecode Sourcemap

3941:8684:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12133:314;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6199:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7032:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5063:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6476:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12455:167;;;;;;;;;;;;;:::i;:::-;;7201:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6385:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5241:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7663:129;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11797:328;;;;;;;;;;;;;:::i;:::-;;6579:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2689:148;;;;;;;;;;;;;:::i;:::-;;11264:162;;;;;;;;;;;;;:::i;:::-;;4871:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2475:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4933:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6290:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10722:141;;;;;;;;;;;;;:::i;:::-;;6706:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4997:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11434:318;;;:::i;:::-;;7800:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7522:133;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6881:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12133:314;12212:10;;;;;;;;;;;12198:24;;:10;:24;;;:56;;;;12240:14;;;;;;;;;;;12226:28;;:10;:28;;;12198:56;12190:65;;;;;;12291:4;12274:22;;:5;:22;;;;:38;;;;12301:11;;;;;;;;;;;12300:12;12274:38;12266:47;;;;;;12372:5;12365:22;;;12388:10;;;;;;;;;;;12407:5;12400:23;;;12432:4;12400:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12365:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12133:314;:::o;6199:83::-;6236:13;6269:5;;;;;;;;;;;;;;;;;6262:12;;6199:83;:::o;7032:161::-;7107:4;7124:39;7133:12;:10;:12::i;:::-;7147:7;7156:6;7124:8;:39::i;:::-;7181:4;7174:11;;7032:161;;;;:::o;5063:53::-;;;;:::o;6476:95::-;6529:7;4524:1;4356:2;:13;;;;:::i;:::-;4340;:29;;;;:::i;:::-;6549:14;;6476:95;:::o;12455:167::-;12518:10;;;;;;;;;;;12504:24;;:10;:24;;;:56;;;;12546:14;;;;;;;;;;;12532:28;;:10;:28;;;12504:56;12496:65;;;;;;12572:10;;;;;;;;;;;:19;;:42;12592:21;12572:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12455:167::o;7201:313::-;7299:4;7316:36;7326:6;7334:9;7345:6;7316:9;:36::i;:::-;7363:121;7372:6;7380:12;:10;:12::i;:::-;7394:89;7432:6;7394:89;;;;;;;;;;;;;;;;;:11;:19;7406:6;7394:19;;;;;;;;;;;;;;;:33;7414:12;:10;:12::i;:::-;7394:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7363:8;:121::i;:::-;7502:4;7495:11;;7201:313;;;;;:::o;6385:83::-;6426:5;4524:1;6444:16;;6385:83;:::o;5241:28::-;;;;;;;;;;;;;:::o;7663:129::-;7702:7;7740:15;;7730:9;;:25;7729:55;;7770:14;;7729:55;;;7757:12;;7729:55;7722:62;;7663:129;:::o;11797:328::-;2612:12;:10;:12::i;:::-;2602:22;;:6;;;;;;;;;;:22;;;2594:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11849:20:::1;11872:24;11890:4;11872:9;:24::i;:::-;11849:47;;11925:1;11910:12;:16;11907:78;;;11943:30;11960:12;11943:16;:30::i;:::-;11907:78;11995:18;12016:21;11995:42;;12064:1;12051:10;:14;12048:70;;;12082:24;12095:10;12082:12;:24::i;:::-;12048:70;11838:287;;11797:328::o:0;6579:119::-;6645:7;6672:9;:18;6682:7;6672:18;;;;;;;;;;;;;;;;6665:25;;6579:119;;;:::o;2689:148::-;2612:12;:10;:12::i;:::-;2602:22;;:6;;;;;;;;;;:22;;;2594:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2796:1:::1;2759:40;;2780:6;::::0;::::1;;;;;;;;2759:40;;;;;;;;;;;;2827:1;2810:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2689:148::o:0;11264:162::-;2612:12;:10;:12::i;:::-;2602:22;;:6;;;;;;;;;;:22;;;2594:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4524:1:::1;4356:2;:13;;;;:::i;:::-;4340;:29;;;;:::i;:::-;11317:12;:22;;;;4524:1;4356:2;:13;;;;:::i;:::-;4340;:29;;;;:::i;:::-;11350:14;:24;;;;11390:28;4524:1;4356:2;:13;;;;:::i;:::-;4340;:29;;;;:::i;:::-;11390:28;;;;;;:::i;:::-;;;;;;;;11264:162::o:0;4871:55::-;;;;:::o;2475:79::-;2513:7;2540:6;;;;;;;;;;;2533:13;;2475:79;:::o;4933:57::-;;;;:::o;6290:87::-;6329:13;6362:7;;;;;;;;;;;;;;;;;6355:14;;6290:87;:::o;10722:141::-;2612:12;:10;:12::i;:::-;2602:22;;:6;;;;;;;;;;:22;;;2594:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10790:1:::1;10772:15;:19;;;;10821:1;10802:16;:20;;;;10854:1;10833:18;:22;;;;10722:141::o:0;6706:167::-;6784:4;6801:42;6811:12;:10;:12::i;:::-;6825:9;6836:6;6801:9;:42::i;:::-;6861:4;6854:11;;6706:167;;;;:::o;4997:59::-;;;;:::o;11434:318::-;2612:12;:10;:12::i;:::-;2602:22;;:6;;;;;;;;;;:22;;;2594:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11504:11:::1;;;;;;;;;;;11503:12;11495:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11555:15;;;;;;;;;;;:31;;;11594:21;11625:4;11631:24;11649:4;11631:9;:24::i;:::-;11656:1;11658::::0;11660:7:::1;:5;:7::i;:::-;11668:15;11555:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11711:4;11697:11;;:18;;;;;;;;;;;;;;;;;;11740:4;11726:11;;:18;;;;;;;;;;;;;;;;;;11434:318::o:0;7800:85::-;7841:7;7868:9;;7861:16;;7800:85;:::o;7522:133::-;7562:7;7600:16;;7590:9;;:26;7589:58;;7632:15;;7589:58;;;7618:13;;7589:58;7582:65;;7522:133;:::o;6881:143::-;6962:7;6989:11;:18;7001:5;6989:18;;;;;;;;;;;;;;;:27;7008:7;6989:27;;;;;;;;;;;;;;;;6982:34;;6881:143;;;;:::o;230:98::-;283:7;310:10;303:17;;230:98;:::o;7893:335::-;8003:1;7986:19;;:5;:19;;;7978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8084:1;8065:21;;:7;:21;;;8057:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8166:6;8136:11;:18;8148:5;8136:18;;;;;;;;;;;;;;;:27;8155:7;8136:27;;;;;;;;;;;;;;;:36;;;;8204:7;8188:32;;8197:5;8188:32;;;8213:6;8188:32;;;;;;:::i;:::-;;;;;;;;7893:335;;;:::o;8236:1879::-;8340:1;8324:18;;:4;:18;;;8316:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8417:1;8403:16;;:2;:16;;;8395:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8487:1;8478:6;:10;8470:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8545:17;8587:7;:5;:7::i;:::-;8579:15;;:4;:15;;;;:32;;;;;8604:7;:5;:7::i;:::-;8598:13;;:2;:13;;;;8579:32;8575:1180;;;8640:76;8712:3;8640:67;8662:15;;8652:9;;:25;8651:55;;8692:14;;8651:55;;;8679:12;;8651:55;8640:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8628:88;;8745:13;;;;;;;;;;;8737:21;;:4;:21;;;:55;;;;;8776:15;;;;;;;;;;;8762:30;;:2;:30;;;;8737:55;:83;;;;;8798:18;:22;8817:2;8798:22;;;;;;;;;;;;;;;;;;;;;;;;;8796:24;8737:83;8733:316;;;8860:12;;8850:6;:22;;8842:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8955:14;;8945:6;8929:13;8939:2;8929:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8921:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;9022:9;;:11;;;;;;;;;:::i;:::-;;;;;;8733:316;9074:13;;;;;;;;;;;9068:19;;:2;:19;;;:43;;;;;9106:4;9091:20;;:4;:20;;;;9068:43;9065:174;;;9144:79;9219:3;9144:70;9166:16;;9156:9;;:26;9155:58;;9198:15;;9155:58;;;9184:13;;9155:58;9144:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9132:91;;9065:174;9255:28;9286:24;9304:4;9286:9;:24::i;:::-;9255:55;;9330:6;;;;;;;;;;;9329:7;:30;;;;;9346:13;;;;;;;;;;;9340:19;;:2;:19;;;9329:30;:45;;;;;9363:11;;;;;;;;;;;9329:45;:87;;;;;9399:17;;9378:20;:38;9329:87;:119;;;;;9430:18;;9420:9;;:28;9329:119;9325:419;;;9469:67;9486:49;9490:6;9497:37;9501:20;9522:11;;9497:3;:37::i;:::-;9486:3;:49::i;:::-;9469:16;:67::i;:::-;9555:26;9584:21;9555:50;;9648:1;9627:18;:22;9624:105;;;9674:35;9687:21;9674:12;:35::i;:::-;9624:105;9450:294;9325:419;8613:1142;8575:1180;9780:1;9770:9;:11;9767:165;;;9822:39;9851:9;9822;:24;9840:4;9822:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9797:9;:24;9815:4;9797:24;;;;;;;;;;;;;;;:64;;;;9904:4;9881:39;;9890:4;9881:39;;;9910:9;9881:39;;;;;;:::i;:::-;;;;;;;;9767:165;9958:27;9978:6;9958:9;:15;9968:4;9958:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9942:9;:15;9952:4;9942:15;;;;;;;;;;;;;;;:43;;;;10010:40;10028:21;10039:9;10028:6;:10;;:21;;;;:::i;:::-;10010:9;:13;10020:2;10010:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9996:9;:13;10006:2;9996:13;;;;;;;;;;;;;;;:54;;;;10081:2;10066:41;;10075:4;10066:41;;;10085:21;10096:9;10085:6;:10;;:21;;;;:::i;:::-;10066:41;;;;;;:::i;:::-;;;;;;;;8305:1810;8236:1879;;;:::o;1367:190::-;1453:7;1486:1;1481;:6;;1489:12;1473:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1513:9;1529:1;1525;:5;;;;:::i;:::-;1513:17;;1548:1;1541:8;;;1367:190;;;;;:::o;10231:483::-;5482:4;5473:6;;:13;;;;;;;;;;;;;;;;;;10309:21:::1;10347:1;10333:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10309:40;;10378:4;10360;10365:1;10360:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10404:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10394:4;10399:1;10394:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10437:62;10454:4;10469:15;;;;;;;;;;;10487:11;10437:8;:62::i;:::-;10510:15;;;;;;;;;;;:66;;;10591:11;10617:1;10633:4;10660;10680:15;10510:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10298:416;5518:5:::0;5509:6;;:14;;;;;;;;;;;;;;;;;;10231:483;:::o;10871:385::-;10929:21;10997:11;;10969:24;10987:4;10969:9;:24::i;:::-;:39;10965:178;;11041:21;11059:2;11041:13;11052:1;11041:6;:10;;:13;;;;:::i;:::-;:17;;:21;;;;:::i;:::-;11025:37;;10965:178;;;11111:20;11129:1;11111:13;11122:1;11111:6;:10;;:13;;;;:::i;:::-;:17;;:20;;;;:::i;:::-;11095:36;;10965:178;11153:14;;;;;;;;;;;:23;;:38;11177:13;11153:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11202:10;;;;;;;;;;;:19;;:46;11222:25;11233:13;11222:6;:10;;:25;;;;:::i;:::-;11202:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10918:338;10871:385;:::o;1565:246::-;1623:7;1652:1;1647;:6;1643:47;;1677:1;1670:8;;;;1643:47;1700:9;1716:1;1712;:5;;;;:::i;:::-;1700:17;;1745:1;1740;1736;:5;;;;:::i;:::-;:10;1728:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1802:1;1795:8;;;1565:246;;;;;:::o;1819:132::-;1877:7;1904:39;1908:1;1911;1904:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1897:46;;1819:132;;;;:::o;10123:100::-;10180:7;10209:1;10207;:3;10206:9;;10214:1;10206:9;;;10212:1;10206:9;10199:16;;10123:100;;;;:::o;1036:179::-;1094:7;1114:9;1130:1;1126;:5;;;;:::i;:::-;1114:17;;1155:1;1150;:6;;1142:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1206:1;1199:8;;;1036:179;;;;:::o;1223:136::-;1281:7;1308:43;1312:1;1315;1308:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1301:50;;1223:136;;;;:::o;1959:189::-;2045:7;2077:1;2073;:5;2080:12;2065:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2104:9;2120:1;2116;:5;;;;:::i;:::-;2104:17;;2139:1;2132:8;;;1959:189;;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:99::-;1228:6;1262:5;1256:12;1246:22;;1176:99;;;:::o;1281:169::-;1365:11;1399:6;1394:3;1387:19;1439:4;1434:3;1430:14;1415:29;;1281:169;;;;:::o;1456:246::-;1537:1;1547:113;1561:6;1558:1;1555:13;1547:113;;;1646:1;1641:3;1637:11;1631:18;1627:1;1622:3;1618:11;1611:39;1583:2;1580:1;1576:10;1571:15;;1547:113;;;1694:1;1685:6;1680:3;1676:16;1669:27;1518:184;1456:246;;;:::o;1708:102::-;1749:6;1800:2;1796:7;1791:2;1784:5;1780:14;1776:28;1766:38;;1708:102;;;:::o;1816:377::-;1904:3;1932:39;1965:5;1932:39;:::i;:::-;1987:71;2051:6;2046:3;1987:71;:::i;:::-;1980:78;;2067:65;2125:6;2120:3;2113:4;2106:5;2102:16;2067:65;:::i;:::-;2157:29;2179:6;2157:29;:::i;:::-;2152:3;2148:39;2141:46;;1908:285;1816:377;;;;:::o;2199:313::-;2312:4;2350:2;2339:9;2335:18;2327:26;;2399:9;2393:4;2389:20;2385:1;2374:9;2370:17;2363:47;2427:78;2500:4;2491:6;2427:78;:::i;:::-;2419:86;;2199:313;;;;:::o;2518:77::-;2555:7;2584:5;2573:16;;2518:77;;;:::o;2601:122::-;2674:24;2692:5;2674:24;:::i;:::-;2667:5;2664:35;2654:63;;2713:1;2710;2703:12;2654:63;2601:122;:::o;2729:139::-;2775:5;2813:6;2800:20;2791:29;;2829:33;2856:5;2829:33;:::i;:::-;2729:139;;;;:::o;2874:474::-;2942:6;2950;2999:2;2987:9;2978:7;2974:23;2970:32;2967:119;;;3005:79;;:::i;:::-;2967:119;3125:1;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3096:117;3252:2;3278:53;3323:7;3314:6;3303:9;3299:22;3278:53;:::i;:::-;3268:63;;3223:118;2874:474;;;;;:::o;3354:90::-;3388:7;3431:5;3424:13;3417:21;3406:32;;3354:90;;;:::o;3450:109::-;3531:21;3546:5;3531:21;:::i;:::-;3526:3;3519:34;3450:109;;:::o;3565:210::-;3652:4;3690:2;3679:9;3675:18;3667:26;;3703:65;3765:1;3754:9;3750:17;3741:6;3703:65;:::i;:::-;3565:210;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:143::-;6077:5;6108:6;6102:13;6093:22;;6124:33;6151:5;6124:33;:::i;:::-;6020:143;;;;:::o;6169:351::-;6239:6;6288:2;6276:9;6267:7;6263:23;6259:32;6256:119;;;6294:79;;:::i;:::-;6256:119;6414:1;6439:64;6495:7;6486:6;6475:9;6471:22;6439:64;:::i;:::-;6429:74;;6385:128;6169:351;;;;:::o;6526:60::-;6554:3;6575:5;6568:12;;6526:60;;;:::o;6592:142::-;6642:9;6675:53;6693:34;6702:24;6720:5;6702:24;:::i;:::-;6693:34;:::i;:::-;6675:53;:::i;:::-;6662:66;;6592:142;;;:::o;6740:126::-;6790:9;6823:37;6854:5;6823:37;:::i;:::-;6810:50;;6740:126;;;:::o;6872:134::-;6930:9;6963:37;6994:5;6963:37;:::i;:::-;6950:50;;6872:134;;;:::o;7012:147::-;7107:45;7146:5;7107:45;:::i;:::-;7102:3;7095:58;7012:147;;:::o;7165:348::-;7294:4;7332:2;7321:9;7317:18;7309:26;;7345:79;7421:1;7410:9;7406:17;7397:6;7345:79;:::i;:::-;7434:72;7502:2;7491:9;7487:18;7478:6;7434:72;:::i;:::-;7165:348;;;;;:::o;7519:116::-;7589:21;7604:5;7589:21;:::i;:::-;7582:5;7579:32;7569:60;;7625:1;7622;7615:12;7569:60;7519:116;:::o;7641:137::-;7695:5;7726:6;7720:13;7711:22;;7742:30;7766:5;7742:30;:::i;:::-;7641:137;;;;:::o;7784:345::-;7851:6;7900:2;7888:9;7879:7;7875:23;7871:32;7868:119;;;7906:79;;:::i;:::-;7868:119;8026:1;8051:61;8104:7;8095:6;8084:9;8080:22;8051:61;:::i;:::-;8041:71;;7997:125;7784:345;;;;:::o;8135:180::-;8183:77;8180:1;8173:88;8280:4;8277:1;8270:15;8304:4;8301:1;8294:15;8321:102;8363:8;8410:5;8407:1;8403:13;8382:34;;8321:102;;;:::o;8429:848::-;8490:5;8497:4;8521:6;8512:15;;8545:5;8536:14;;8559:712;8580:1;8570:8;8567:15;8559:712;;;8675:4;8670:3;8666:14;8660:4;8657:24;8654:50;;;8684:18;;:::i;:::-;8654:50;8734:1;8724:8;8720:16;8717:451;;;9149:4;9142:5;9138:16;9129:25;;8717:451;9199:4;9193;9189:15;9181:23;;9229:32;9252:8;9229:32;:::i;:::-;9217:44;;8559:712;;;8429:848;;;;;;;:::o;9283:1073::-;9337:5;9528:8;9518:40;;9549:1;9540:10;;9551:5;;9518:40;9577:4;9567:36;;9594:1;9585:10;;9596:5;;9567:36;9663:4;9711:1;9706:27;;;;9747:1;9742:191;;;;9656:277;;9706:27;9724:1;9715:10;;9726:5;;;9742:191;9787:3;9777:8;9774:17;9771:43;;;9794:18;;:::i;:::-;9771:43;9843:8;9840:1;9836:16;9827:25;;9878:3;9871:5;9868:14;9865:40;;;9885:18;;:::i;:::-;9865:40;9918:5;;;9656:277;;10042:2;10032:8;10029:16;10023:3;10017:4;10014:13;10010:36;9992:2;9982:8;9979:16;9974:2;9968:4;9965:12;9961:35;9945:111;9942:246;;;10098:8;10092:4;10088:19;10079:28;;10133:3;10126:5;10123:14;10120:40;;;10140:18;;:::i;:::-;10120:40;10173:5;;9942:246;10213:42;10251:3;10241:8;10235:4;10232:1;10213:42;:::i;:::-;10198:57;;;;10287:4;10282:3;10278:14;10271:5;10268:25;10265:51;;;10296:18;;:::i;:::-;10265:51;10345:4;10338:5;10334:16;10325:25;;9283:1073;;;;;;:::o;10362:281::-;10420:5;10444:23;10462:4;10444:23;:::i;:::-;10436:31;;10488:25;10504:8;10488:25;:::i;:::-;10476:37;;10532:104;10569:66;10559:8;10553:4;10532:104;:::i;:::-;10523:113;;10362:281;;;;:::o;10649:410::-;10689:7;10712:20;10730:1;10712:20;:::i;:::-;10707:25;;10746:20;10764:1;10746:20;:::i;:::-;10741:25;;10801:1;10798;10794:9;10823:30;10841:11;10823:30;:::i;:::-;10812:41;;11002:1;10993:7;10989:15;10986:1;10983:22;10963:1;10956:9;10936:83;10913:139;;11032:18;;:::i;:::-;10913:139;10697:362;10649:410;;;;:::o;11065:182::-;11205:34;11201:1;11193:6;11189:14;11182:58;11065:182;:::o;11253:366::-;11395:3;11416:67;11480:2;11475:3;11416:67;:::i;:::-;11409:74;;11492:93;11581:3;11492:93;:::i;:::-;11610:2;11605:3;11601:12;11594:19;;11253:366;;;:::o;11625:419::-;11791:4;11829:2;11818:9;11814:18;11806:26;;11878:9;11872:4;11868:20;11864:1;11853:9;11849:17;11842:47;11906:131;12032:4;11906:131;:::i;:::-;11898:139;;11625:419;;;:::o;12050:173::-;12190:25;12186:1;12178:6;12174:14;12167:49;12050:173;:::o;12229:366::-;12371:3;12392:67;12456:2;12451:3;12392:67;:::i;:::-;12385:74;;12468:93;12557:3;12468:93;:::i;:::-;12586:2;12581:3;12577:12;12570:19;;12229:366;;;:::o;12601:419::-;12767:4;12805:2;12794:9;12790:18;12782:26;;12854:9;12848:4;12844:20;12840:1;12829:9;12825:17;12818:47;12882:131;13008:4;12882:131;:::i;:::-;12874:139;;12601:419;;;:::o;13026:85::-;13071:7;13100:5;13089:16;;13026:85;;;:::o;13117:158::-;13175:9;13208:61;13226:42;13235:32;13261:5;13235:32;:::i;:::-;13226:42;:::i;:::-;13208:61;:::i;:::-;13195:74;;13117:158;;;:::o;13281:147::-;13376:45;13415:5;13376:45;:::i;:::-;13371:3;13364:58;13281:147;;:::o;13434:807::-;13683:4;13721:3;13710:9;13706:19;13698:27;;13735:71;13803:1;13792:9;13788:17;13779:6;13735:71;:::i;:::-;13816:72;13884:2;13873:9;13869:18;13860:6;13816:72;:::i;:::-;13898:80;13974:2;13963:9;13959:18;13950:6;13898:80;:::i;:::-;13988;14064:2;14053:9;14049:18;14040:6;13988:80;:::i;:::-;14078:73;14146:3;14135:9;14131:19;14122:6;14078:73;:::i;:::-;14161;14229:3;14218:9;14214:19;14205:6;14161:73;:::i;:::-;13434:807;;;;;;;;;:::o;14247:663::-;14335:6;14343;14351;14400:2;14388:9;14379:7;14375:23;14371:32;14368:119;;;14406:79;;:::i;:::-;14368:119;14526:1;14551:64;14607:7;14598:6;14587:9;14583:22;14551:64;:::i;:::-;14541:74;;14497:128;14664:2;14690:64;14746:7;14737:6;14726:9;14722:22;14690:64;:::i;:::-;14680:74;;14635:129;14803:2;14829:64;14885:7;14876:6;14865:9;14861:22;14829:64;:::i;:::-;14819:74;;14774:129;14247:663;;;;;:::o;14916:223::-;15056:34;15052:1;15044:6;15040:14;15033:58;15125:6;15120:2;15112:6;15108:15;15101:31;14916:223;:::o;15145:366::-;15287:3;15308:67;15372:2;15367:3;15308:67;:::i;:::-;15301:74;;15384:93;15473:3;15384:93;:::i;:::-;15502:2;15497:3;15493:12;15486:19;;15145:366;;;:::o;15517:419::-;15683:4;15721:2;15710:9;15706:18;15698:26;;15770:9;15764:4;15760:20;15756:1;15745:9;15741:17;15734:47;15798:131;15924:4;15798:131;:::i;:::-;15790:139;;15517:419;;;:::o;15942:221::-;16082:34;16078:1;16070:6;16066:14;16059:58;16151:4;16146:2;16138:6;16134:15;16127:29;15942:221;:::o;16169:366::-;16311:3;16332:67;16396:2;16391:3;16332:67;:::i;:::-;16325:74;;16408:93;16497:3;16408:93;:::i;:::-;16526:2;16521:3;16517:12;16510:19;;16169:366;;;:::o;16541:419::-;16707:4;16745:2;16734:9;16730:18;16722:26;;16794:9;16788:4;16784:20;16780:1;16769:9;16765:17;16758:47;16822:131;16948:4;16822:131;:::i;:::-;16814:139;;16541:419;;;:::o;16966:224::-;17106:34;17102:1;17094:6;17090:14;17083:58;17175:7;17170:2;17162:6;17158:15;17151:32;16966:224;:::o;17196:366::-;17338:3;17359:67;17423:2;17418:3;17359:67;:::i;:::-;17352:74;;17435:93;17524:3;17435:93;:::i;:::-;17553:2;17548:3;17544:12;17537:19;;17196:366;;;:::o;17568:419::-;17734:4;17772:2;17761:9;17757:18;17749:26;;17821:9;17815:4;17811:20;17807:1;17796:9;17792:17;17785:47;17849:131;17975:4;17849:131;:::i;:::-;17841:139;;17568:419;;;:::o;17993:222::-;18133:34;18129:1;18121:6;18117:14;18110:58;18202:5;18197:2;18189:6;18185:15;18178:30;17993:222;:::o;18221:366::-;18363:3;18384:67;18448:2;18443:3;18384:67;:::i;:::-;18377:74;;18460:93;18549:3;18460:93;:::i;:::-;18578:2;18573:3;18569:12;18562:19;;18221:366;;;:::o;18593:419::-;18759:4;18797:2;18786:9;18782:18;18774:26;;18846:9;18840:4;18836:20;18832:1;18821:9;18817:17;18810:47;18874:131;19000:4;18874:131;:::i;:::-;18866:139;;18593:419;;;:::o;19018:228::-;19158:34;19154:1;19146:6;19142:14;19135:58;19227:11;19222:2;19214:6;19210:15;19203:36;19018:228;:::o;19252:366::-;19394:3;19415:67;19479:2;19474:3;19415:67;:::i;:::-;19408:74;;19491:93;19580:3;19491:93;:::i;:::-;19609:2;19604:3;19600:12;19593:19;;19252:366;;;:::o;19624:419::-;19790:4;19828:2;19817:9;19813:18;19805:26;;19877:9;19871:4;19867:20;19863:1;19852:9;19848:17;19841:47;19905:131;20031:4;19905:131;:::i;:::-;19897:139;;19624:419;;;:::o;20049:175::-;20189:27;20185:1;20177:6;20173:14;20166:51;20049:175;:::o;20230:366::-;20372:3;20393:67;20457:2;20452:3;20393:67;:::i;:::-;20386:74;;20469:93;20558:3;20469:93;:::i;:::-;20587:2;20582:3;20578:12;20571:19;;20230:366;;;:::o;20602:419::-;20768:4;20806:2;20795:9;20791:18;20783:26;;20855:9;20849:4;20845:20;20841:1;20830:9;20826:17;20819:47;20883:131;21009:4;20883:131;:::i;:::-;20875:139;;20602:419;;;:::o;21027:191::-;21067:3;21086:20;21104:1;21086:20;:::i;:::-;21081:25;;21120:20;21138:1;21120:20;:::i;:::-;21115:25;;21163:1;21160;21156:9;21149:16;;21184:3;21181:1;21178:10;21175:36;;;21191:18;;:::i;:::-;21175:36;21027:191;;;;:::o;21224:177::-;21364:29;21360:1;21352:6;21348:14;21341:53;21224:177;:::o;21407:366::-;21549:3;21570:67;21634:2;21629:3;21570:67;:::i;:::-;21563:74;;21646:93;21735:3;21646:93;:::i;:::-;21764:2;21759:3;21755:12;21748:19;;21407:366;;;:::o;21779:419::-;21945:4;21983:2;21972:9;21968:18;21960:26;;22032:9;22026:4;22022:20;22018:1;22007:9;22003:17;21996:47;22060:131;22186:4;22060:131;:::i;:::-;22052:139;;21779:419;;;:::o;22204:233::-;22243:3;22266:24;22284:5;22266:24;:::i;:::-;22257:33;;22312:66;22305:5;22302:77;22299:103;;22382:18;;:::i;:::-;22299:103;22429:1;22422:5;22418:13;22411:20;;22204:233;;;:::o;22443:194::-;22483:4;22503:20;22521:1;22503:20;:::i;:::-;22498:25;;22537:20;22555:1;22537:20;:::i;:::-;22532:25;;22581:1;22578;22574:9;22566:17;;22605:1;22599:4;22596:11;22593:37;;;22610:18;;:::i;:::-;22593:37;22443:194;;;;:::o;22643:180::-;22691:77;22688:1;22681:88;22788:4;22785:1;22778:15;22812:4;22809:1;22802:15;22829:180;22877:77;22874:1;22867:88;22974:4;22971:1;22964:15;22998:4;22995:1;22988:15;23015:143;23072:5;23103:6;23097:13;23088:22;;23119:33;23146:5;23119:33;:::i;:::-;23015:143;;;;:::o;23164:351::-;23234:6;23283:2;23271:9;23262:7;23258:23;23254:32;23251:119;;;23289:79;;:::i;:::-;23251:119;23409:1;23434:64;23490:7;23481:6;23470:9;23466:22;23434:64;:::i;:::-;23424:74;;23380:128;23164:351;;;;:::o;23521:114::-;23588:6;23622:5;23616:12;23606:22;;23521:114;;;:::o;23641:184::-;23740:11;23774:6;23769:3;23762:19;23814:4;23809:3;23805:14;23790:29;;23641:184;;;;:::o;23831:132::-;23898:4;23921:3;23913:11;;23951:4;23946:3;23942:14;23934:22;;23831:132;;;:::o;23969:108::-;24046:24;24064:5;24046:24;:::i;:::-;24041:3;24034:37;23969:108;;:::o;24083:179::-;24152:10;24173:46;24215:3;24207:6;24173:46;:::i;:::-;24251:4;24246:3;24242:14;24228:28;;24083:179;;;;:::o;24268:113::-;24338:4;24370;24365:3;24361:14;24353:22;;24268:113;;;:::o;24417:732::-;24536:3;24565:54;24613:5;24565:54;:::i;:::-;24635:86;24714:6;24709:3;24635:86;:::i;:::-;24628:93;;24745:56;24795:5;24745:56;:::i;:::-;24824:7;24855:1;24840:284;24865:6;24862:1;24859:13;24840:284;;;24941:6;24935:13;24968:63;25027:3;25012:13;24968:63;:::i;:::-;24961:70;;25054:60;25107:6;25054:60;:::i;:::-;25044:70;;24900:224;24887:1;24884;24880:9;24875:14;;24840:284;;;24844:14;25140:3;25133:10;;24541:608;;;24417:732;;;;:::o;25155:831::-;25418:4;25456:3;25445:9;25441:19;25433:27;;25470:71;25538:1;25527:9;25523:17;25514:6;25470:71;:::i;:::-;25551:80;25627:2;25616:9;25612:18;25603:6;25551:80;:::i;:::-;25678:9;25672:4;25668:20;25663:2;25652:9;25648:18;25641:48;25706:108;25809:4;25800:6;25706:108;:::i;:::-;25698:116;;25824:72;25892:2;25881:9;25877:18;25868:6;25824:72;:::i;:::-;25906:73;25974:3;25963:9;25959:19;25950:6;25906:73;:::i;:::-;25155:831;;;;;;;;:::o;25992:180::-;26040:77;26037:1;26030:88;26137:4;26134:1;26127:15;26161:4;26158:1;26151:15;26178:185;26218:1;26235:20;26253:1;26235:20;:::i;:::-;26230:25;;26269:20;26287:1;26269:20;:::i;:::-;26264:25;;26308:1;26298:35;;26313:18;;:::i;:::-;26298:35;26355:1;26352;26348:9;26343:14;;26178:185;;;;:::o;26369:220::-;26509:34;26505:1;26497:6;26493:14;26486:58;26578:3;26573:2;26565:6;26561:15;26554:28;26369:220;:::o;26595:366::-;26737:3;26758:67;26822:2;26817:3;26758:67;:::i;:::-;26751:74;;26834:93;26923:3;26834:93;:::i;:::-;26952:2;26947:3;26943:12;26936:19;;26595:366;;;:::o;26967:419::-;27133:4;27171:2;27160:9;27156:18;27148:26;;27220:9;27214:4;27210:20;27206:1;27195:9;27191:17;27184:47;27248:131;27374:4;27248:131;:::i;:::-;27240:139;;26967:419;;;:::o;27392:177::-;27532:29;27528:1;27520:6;27516:14;27509:53;27392:177;:::o;27575:366::-;27717:3;27738:67;27802:2;27797:3;27738:67;:::i;:::-;27731:74;;27814:93;27903:3;27814:93;:::i;:::-;27932:2;27927:3;27923:12;27916:19;;27575:366;;;:::o;27947:419::-;28113:4;28151:2;28140:9;28136:18;28128:26;;28200:9;28194:4;28190:20;28186:1;28175:9;28171:17;28164:47;28228:131;28354:4;28228:131;:::i;:::-;28220:139;;27947:419;;;:::o

Swarm Source

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