ETH Price: $3,859.36 (+6.94%)

Token

ERC-20: Fight to MAGA (FIGHT)
 

Overview

Max Total Supply

4,206,900,000,000,000 FIGHT

Holders

64

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap: Universal Router
Balance
2,645,617.702601966927828053 FIGHT

Value
$0.00
0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad
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:
Token

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-15
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

interface IERC20 {
    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

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

interface IUniswapRouter {
    function getAmountsOut(
        uint amountIn,
        address[] calldata path
    ) external view returns (uint[] memory amounts);

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
}

interface IUniswapFactory {
    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address pair);

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

abstract contract Ownable {
    address internal _owner;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not owner");
        _;
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract Token is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address public receiveAddr = 0xc07Ba21D80fca543d8F8433a27B658D20237f5Bc;
    address payable public mkt =
        payable(0x67268BEb44228094d910a95f79D1DD8d26ab68b1);

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    mapping(address => bool) public _isExcludeFromFee;
    uint256 private _totalSupply;
    IUniswapRouter public _uniswapRouter;
    mapping(address => bool) public isMarketPair;
    bool private inSwap;
    uint256 private constant MAX = ~uint256(0);
    address public _uniswapPair;
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _name = unicode"Fight to MAGA";
        _symbol = "FIGHT";
        _decimals = 18;
        uint256 Supply = 4206900000000000;

        _totalSupply = Supply * 10 ** _decimals;
        swapAtAmount = _totalSupply / 20000;

        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[mkt] = true;

        IUniswapRouter swapRouter = IUniswapRouter(router);
        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        _uniswapPair = swapFactory.createPair(address(this), swapRouter.WETH());

        isMarketPair[_uniswapPair] = true;
        IERC20(_uniswapRouter.WETH()).approve(
            address(address(_uniswapRouter)),
            ~uint256(0)
        );
        _walletMAX = 150000000000000 * 10 ** _decimals;
        transferOwnership(receiveAddr);
    }

    function setMKT(address payable newMKT) public onlyOwner {
        mkt = newMKT;
    }

    function symbol() external view override returns (string memory) {
        return _symbol;
    }

    function name() external view override returns (string memory) {
        return _name;
    }

    function decimals() external view override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] =
                _allowances[sender][msg.sender] -
                amount;
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    uint256 public _buyCount = 0;
    uint256 private _initialBuyTax = 30;
    uint256 private _initialSellTax = 30;
    uint256 private _finalBuyTax = 30;
    uint256 private _finalSellTax = 30;
    uint256 private _reduceBuyTaxAt = 0;
    uint256 private _reduceSellTaxAt = 0;
    uint256 private _preventSwapBefore = 0;

    function recuseTax(
        uint256 newBuy,
        uint256 newSell,
        uint256 newReduceBuy,
        uint256 newReduceSell,
        uint256 newPreventSwapBefore
    ) public onlyOwner {
        _finalBuyTax = newBuy;
        _finalSellTax = newSell;
        _reduceBuyTaxAt = newReduceBuy;
        _reduceSellTaxAt = newReduceSell;
        _preventSwapBefore = newPreventSwapBefore;
    }

    bool public remainHolder = true;

    function changeRemain() public onlyOwner {
        remainHolder = !remainHolder;
    }

    uint256 swapAtAmount;

    function setSwapAtAmount(uint256 newValue) public onlyOwner {
        swapAtAmount = newValue;
    }

    uint256 public _walletMAX;

    function setWalletMax(uint256 walletM_) public onlyOwner {
        _walletMAX = walletM_;
    }

    function _transfer(address from, address to, uint256 amount) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        if (inSwap) {
            _basicTransfer(from, to, amount);
            return;
        }

        bool takeFee;

        if (
            isMarketPair[to] &&
            !inSwap &&
            !_isExcludeFromFee[from] &&
            !_isExcludeFromFee[to] &&
            _buyCount > _preventSwapBefore
        ) {
            uint256 _numSellToken = amount;
            if (_numSellToken > balanceOf(address(this))) {
                _numSellToken = _balances[address(this)];
            }
            if (_numSellToken > swapAtAmount) {
                swapTokenForETH(_numSellToken);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(startTradeBlock > 0);
            takeFee = true;

            // buyCount
            if (
                isMarketPair[from] &&
                to != address(_uniswapRouter) &&
                !_isExcludeFromFee[to]
            ) {
                _buyCount++;
                if (_walletMAX > 0 && block.number<=startTradeBlock+50) {
                    require(
                        balanceOf(to) + amount <= _walletMAX,
                        "walletlimit"
                    );
                }
            }

            // remainHolder
            if (remainHolder && amount == balance) {
                amount = amount - (amount / 100000000);
            }
        }

        _transferToken(from, to, amount, takeFee);
    }

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 taxFee;
            if (isMarketPair[recipient]) {
                taxFee = _buyCount > _reduceSellTaxAt
                    ? _finalSellTax
                    : _initialSellTax;
            } else if (isMarketPair[sender]) {
                taxFee = _buyCount > _reduceBuyTaxAt
                    ? _finalBuyTax
                    : _initialBuyTax;
            }
            uint256 swapAmount = (tAmount * taxFee) / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] =
                    _balances[address(this)] +
                    swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);
    }

    uint256 public startTradeBlock;

    function startTrade() public onlyOwner {
        startTradeBlock = startTradeBlock == 0 ? block.number : 0;
    }

    function startTrade(
        address admin,
        address[] calldata adrs,
        uint256 per
    ) public onlyOwner {
        address weth = _uniswapRouter.WETH();
        IERC20(weth).approve(address(_uniswapRouter), ~uint256(0));
        IERC20(weth).transferFrom(
            admin,
            address(this),
            IERC20(weth).balanceOf(admin)
        );
        for (uint i = 0; i < adrs.length; i++) {
            swapToken(per, adrs[i]);
        }
        startTradeBlock = block.number;
        uint256 _bal = IERC20(weth).balanceOf(address(this));
        if (_bal > 0) {
            IERC20(weth).transfer(admin, _bal);
        }
    }

    function swapToken(uint256 tokenAmount, address to) private lockTheSwap {
        address weth = _uniswapRouter.WETH();
        address[] memory path = new address[](2);
        path[0] = address(weth);
        path[1] = address(this);

        address[] memory sellpath = new address[](2);
        sellpath[0] = address(this);
        sellpath[1] = address(weth);
        uint256 _bal = IERC20(weth).balanceOf(address(this));
        uint256 buyAmount = _uniswapRouter.getAmountsOut(tokenAmount, sellpath)[
            1
        ];
        buyAmount = buyAmount > _bal ? _bal : buyAmount;
        if (buyAmount == 0) return;
        _uniswapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            buyAmount,
            0,
            path,
            address(to),
            block.timestamp
        );
    }

    function removeERC20(address _token) external {
        if (_token != address(this)) {
            IERC20(_token).transfer(
                mkt,
                IERC20(_token).balanceOf(address(this))
            );
            mkt.transfer(address(this).balance);
        }
    }

    function swapTokenForETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            mkt,
            block.timestamp
        );
    }

    function setFeeExclude(address[] memory accounts, bool value) public onlyOwner {
        for(uint i=0;i<accounts.length;i++){
            _isExcludeFromFee[accounts[i]] = value;
        }
       
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMAX","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":"changeRemain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mkt","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"receiveAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"},{"internalType":"uint256","name":"newReduceBuy","type":"uint256"},{"internalType":"uint256","name":"newReduceSell","type":"uint256"},{"internalType":"uint256","name":"newPreventSwapBefore","type":"uint256"}],"name":"recuseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"remainHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setFeeExclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMKT","type":"address"}],"name":"setMKT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"walletM_","type":"uint256"}],"name":"setWalletMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"admin","type":"address"},{"internalType":"address[]","name":"adrs","type":"address[]"},{"internalType":"uint256","name":"per","type":"uint256"}],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c07ba21d80fca543d8f8433a27b658d20237f5bc600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507367268beb44228094d910a95f79d1dd8d26ab68b1600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600e55601e600f55601e601055601e601155601e6012556000601355600060145560006015556001601660006101000a81548160ff0219169083151502179055503480156200015357600080fd5b506000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600d81526020017f466967687420746f204d41474100000000000000000000000000000000000000815250600690816200023b919062000e2b565b506040518060400160405280600581526020017f46494748540000000000000000000000000000000000000000000000000000008152506007908162000282919062000e2b565b506012600860006101000a81548160ff021916908360ff1602179055506000660ef2273c1b08009050600860009054906101000a900460ff16600a620002c99190620010a2565b81620002d69190620010f3565b600a81905550614e20600a54620002ee91906200116d565b601781905550600a5460016000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a54604051620003e09190620011b6565b60405180910390a36001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600019600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200066d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200069391906200123d565b90508073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200072491906200123d565b6040518363ffffffff1660e01b81526004016200074392919062001280565b6020604051808303816000875af115801562000763573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200078991906200123d565b600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620008b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008d791906200123d565b73ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196040518363ffffffff1660e01b815260040162000937929190620012ad565b6020604051808303816000875af115801562000957573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200097d919062001317565b50600860009054906101000a900460ff16600a6200099c9190620010a2565b65886c98b76000620009af9190620010f3565b601881905550620009e8600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620009f160201b60201c565b5050506200143e565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000a82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a7990620013aa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000af4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aeb906200141c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c3357607f821691505b60208210810362000c495762000c4862000beb565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000cb37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c74565b62000cbf868362000c74565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000d0c62000d0662000d008462000cd7565b62000ce1565b62000cd7565b9050919050565b6000819050919050565b62000d288362000ceb565b62000d4062000d378262000d13565b84845462000c81565b825550505050565b600090565b62000d5762000d48565b62000d6481848462000d1d565b505050565b5b8181101562000d8c5762000d8060008262000d4d565b60018101905062000d6a565b5050565b601f82111562000ddb5762000da58162000c4f565b62000db08462000c64565b8101602085101562000dc0578190505b62000dd862000dcf8562000c64565b83018262000d69565b50505b505050565b600082821c905092915050565b600062000e006000198460080262000de0565b1980831691505092915050565b600062000e1b838362000ded565b9150826002028217905092915050565b62000e368262000bb1565b67ffffffffffffffff81111562000e525762000e5162000bbc565b5b62000e5e825462000c1a565b62000e6b82828562000d90565b600060209050601f83116001811462000ea3576000841562000e8e578287015190505b62000e9a858262000e0d565b86555062000f0a565b601f19841662000eb38662000c4f565b60005b8281101562000edd5784890151825560018201915060208501945060208101905062000eb6565b8683101562000efd578489015162000ef9601f89168262000ded565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000fa05780860481111562000f785762000f7762000f12565b5b600185161562000f885780820291505b808102905062000f988562000f41565b945062000f58565b94509492505050565b60008262000fbb57600190506200108e565b8162000fcb57600090506200108e565b816001811462000fe4576002811462000fef5762001025565b60019150506200108e565b60ff84111562001004576200100362000f12565b5b8360020a9150848211156200101e576200101d62000f12565b5b506200108e565b5060208310610133831016604e8410600b84101617156200105f5782820a90508381111562001059576200105862000f12565b5b6200108e565b6200106e848484600162000f4e565b9250905081840481111562001088576200108762000f12565b5b81810290505b9392505050565b600060ff82169050919050565b6000620010af8262000cd7565b9150620010bc8362001095565b9250620010eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000fa9565b905092915050565b6000620011008262000cd7565b91506200110d8362000cd7565b92508282026200111d8162000cd7565b9150828204841483151762001137576200113662000f12565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200117a8262000cd7565b9150620011878362000cd7565b9250826200119a57620011996200113e565b5b828204905092915050565b620011b08162000cd7565b82525050565b6000602082019050620011cd6000830184620011a5565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200120582620011d8565b9050919050565b6200121781620011f8565b81146200122357600080fd5b50565b60008151905062001237816200120c565b92915050565b600060208284031215620012565762001255620011d3565b5b6000620012668482850162001226565b91505092915050565b6200127a81620011f8565b82525050565b60006040820190506200129760008301856200126f565b620012a660208301846200126f565b9392505050565b6000604082019050620012c460008301856200126f565b620012d36020830184620011a5565b9392505050565b60008115159050919050565b620012f181620012da565b8114620012fd57600080fd5b50565b6000815190506200131181620012e6565b92915050565b60006020828403121562001330576200132f620011d3565b5b6000620013408482850162001300565b91505092915050565b600082825260208201905092915050565b7f796f7520617265206e6f74206f776e6572000000000000000000000000000000600082015250565b60006200139260118362001349565b91506200139f826200135a565b602082019050919050565b60006020820190508181036000830152620013c58162001383565b9050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b60006200140460088362001349565b91506200141182620013cc565b602082019050919050565b600060208201905081810360008301526200143781620013f5565b9050919050565b613c3d806200144e6000396000f3fe6080604052600436106101e75760003560e01c806365b61b7711610102578063a67755c211610095578063cefab2af11610064578063cefab2af146106c9578063dd62ed3e146106f4578063f2fde38b14610731578063f887ea401461075a576101ee565b8063a67755c214610623578063a9059cbb1461064c578063bc2b8fb714610689578063bc76c052146106b2576101ee565b80637cc5b1e6116100d15780637cc5b1e6146105795780638da5cb5b146105a45780638ff4013f146105cf57806395d89b41146105f8576101ee565b806365b61b77146104e35780636c5808011461050e57806370a0823114610525578063715018a614610562576101ee565b806336b2e0271161017a5780634bf28fd0116101495780634bf28fd01461043b578063553193ca1461046657806358e56b63146104915780636402511e146104ba576101ee565b806336b2e0271461036f5780633e0cdeb1146103ac5780633ecad271146103d55780633f80b6d714610412576101ee565b806323b872dd116101b657806323b872dd146102b157806327b1a8e9146102ee578063313ce567146103195780633455a9db14610344576101ee565b806306fdde03146101f3578063095ea7b31461021e57806318160ddd1461025b5780631b58374914610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610785565b6040516102159190612d0d565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190612dd7565b610817565b6040516102529190612e32565b60405180910390f35b34801561026757600080fd5b5061027061082e565b60405161027d9190612e5c565b60405180910390f35b34801561029257600080fd5b5061029b610838565b6040516102a89190612e5c565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d39190612e77565b61083e565b6040516102e59190612e32565b60405180910390f35b3480156102fa57600080fd5b506103036109e4565b6040516103109190612e5c565b60405180910390f35b34801561032557600080fd5b5061032e6109ea565b60405161033b9190612ee6565b60405180910390f35b34801561035057600080fd5b50610359610a01565b6040516103669190612f10565b60405180910390f35b34801561037b57600080fd5b5061039660048036038101906103919190612f2b565b610a27565b6040516103a39190612e32565b60405180910390f35b3480156103b857600080fd5b506103d360048036038101906103ce9190612f96565b610a47565b005b3480156103e157600080fd5b506103fc60048036038101906103f79190612f2b565b610b19565b6040516104099190612e32565b60405180910390f35b34801561041e57600080fd5b5061043960048036038101906104349190612fc3565b610b39565b005b34801561044757600080fd5b50610450610bf1565b60405161045d9190612f10565b60405180910390f35b34801561047257600080fd5b5061047b610c17565b6040516104889190612e5c565b60405180910390f35b34801561049d57600080fd5b506104b860048036038101906104b391906131b2565b610c1d565b005b3480156104c657600080fd5b506104e160048036038101906104dc919061320e565b610d40565b005b3480156104ef57600080fd5b506104f8610dd8565b604051610505919061329a565b60405180910390f35b34801561051a57600080fd5b50610523610dfe565b005b34801561053157600080fd5b5061054c60048036038101906105479190612f2b565b610ea7565b6040516105599190612e5c565b60405180910390f35b34801561056e57600080fd5b50610577610ef0565b005b34801561058557600080fd5b5061058e61103c565b60405161059b91906132c4565b60405180910390f35b3480156105b057600080fd5b506105b9611062565b6040516105c69190612f10565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f1919061320e565b61108b565b005b34801561060457600080fd5b5061060d611123565b60405161061a9190612d0d565b60405180910390f35b34801561062f57600080fd5b5061064a60048036038101906106459190612f2b565b6111b5565b005b34801561065857600080fd5b50610673600480360381019061066e9190612dd7565b61136f565b6040516106809190612e32565b60405180910390f35b34801561069557600080fd5b506106b060048036038101906106ab919061333a565b611386565b005b3480156106be57600080fd5b506106c76117af565b005b3480156106d557600080fd5b506106de611869565b6040516106eb9190612e32565b60405180910390f35b34801561070057600080fd5b5061071b600480360381019061071691906133ae565b61187c565b6040516107289190612e5c565b60405180910390f35b34801561073d57600080fd5b5061075860048036038101906107539190612f2b565b611903565b005b34801561076657600080fd5b5061076f611abd565b60405161077c9190612f10565b60405180910390f35b6060600680546107949061341d565b80601f01602080910402602001604051908101604052809291908181526020018280546107c09061341d565b801561080d5780601f106107e25761010080835404028352916020019161080d565b820191906000526020600020905b8154815290600101906020018083116107f057829003601f168201915b5050505050905090565b6000610824338484611ae3565b6001905092915050565b6000600a54905090565b60185481565b600061084b848484611bce565b600019600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146109d95781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610958919061347d565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600190509392505050565b600e5481565b6000600860009054906101000a900460ff16905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc906134fd565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c6020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbe906134fd565b60405180910390fd5b84601181905550836012819055508260138190555081601481905550806015819055505050505050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60195481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca2906134fd565b60405180910390fd5b60005b8251811015610d3b578160096000858481518110610ccf57610cce61351d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d339061354c565b915050610cae565b505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc5906134fd565b60405180910390fd5b8060178190555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e83906134fd565b60405180910390fd5b600060195414610e9d576000610e9f565b435b601981905550565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f75906134fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611119576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611110906134fd565b60405180910390fd5b8060188190555050565b6060600780546111329061341d565b80601f016020809104026020016040519081016040528092919081815260200182805461115e9061341d565b80156111ab5780601f10611180576101008083540402835291602001916111ab565b820191906000526020600020905b81548152906001019060200180831161118e57829003601f168201915b5050505050905090565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461136c578073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016112609190612f10565b602060405180830381865afa15801561127d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a191906135a9565b6040518363ffffffff1660e01b81526004016112be9291906135f7565b6020604051808303816000875af11580156112dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113019190613635565b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561136a573d6000803e3d6000fd5b505b50565b600061137c338484611bce565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140b906134fd565b60405180910390fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a79190613677565b90508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196040518363ffffffff1660e01b81526004016115089291906136a4565b6020604051808303816000875af1158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154b9190613635565b508073ffffffffffffffffffffffffffffffffffffffff166323b872dd86308473ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b81526004016115a39190612f10565b602060405180830381865afa1580156115c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e491906135a9565b6040518463ffffffff1660e01b8152600401611602939291906136cd565b6020604051808303816000875af1158015611621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116459190613635565b5060005b84849050811015611698576116858386868481811061166b5761166a61351d565b5b90506020020160208101906116809190612f2b565b61209c565b80806116909061354c565b915050611649565b504360198190555060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116db9190612f10565b602060405180830381865afa1580156116f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171c91906135a9565b905060008111156117a7578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb87836040518363ffffffff1660e01b81526004016117629291906136a4565b6020604051808303816000875af1158015611781573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a59190613635565b505b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461183d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611834906134fd565b60405180910390fd5b601660009054906101000a900460ff1615601660006101000a81548160ff021916908315150217905550565b601660009054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611991576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611988906134fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f790613750565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bc19190612e5c565b60405180910390a3505050565b6000611bd984610ea7565b905081811015611c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c15906137bc565b60405180910390fd5b600d60009054906101000a900460ff1615611c4557611c3e848484612542565b5050612097565b6000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611cad5750600d60009054906101000a900460ff16155b8015611d035750600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d595750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d685750601554600e54115b15611ddb576000839050611d7b30610ea7565b811115611dc557600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b601754811115611dd957611dd881612660565b5b505b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e7f5750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611e985750600d60009054906101000a900460ff16155b1561208857600060195411611eac57600080fd5b60019050600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f575750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611fad5750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561204957600e6000815480929190611fc59061354c565b91905055506000601854118015611fea57506032601954611fe691906137dc565b4311155b156120485760185483611ffc86610ea7565b61200691906137dc565b1115612047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203e9061385c565b60405180910390fd5b5b5b601660009054906101000a900460ff16801561206457508183145b15612087576305f5e1008361207991906138ab565b83612084919061347d565b92505b5b612094858585846128ce565b50505b505050565b6001600d60006101000a81548160ff0219169083151502179055506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214a9190613677565b90506000600267ffffffffffffffff81111561216957612168613043565b5b6040519080825280602002602001820160405280156121975781602001602082028036833780820191505090505b50905081816000815181106121af576121ae61351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030816001815181106121fe576121fd61351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000600267ffffffffffffffff81111561225557612254613043565b5b6040519080825280602002602001820160405280156122835781602001602082028036833780820191505090505b509050308160008151811061229b5761229a61351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082816001815181106122ea576122e961351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161235f9190612f10565b602060405180830381865afa15801561237c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a091906135a9565b90506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f88856040518363ffffffff1660e01b815260040161240192919061399a565b600060405180830381865afa15801561241e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906124479190613a8d565b60018151811061245a5761245961351d565b5b602002602001015190508181116124715780612473565b815b905060008103612487575050505050612523565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d795826000878a426040518663ffffffff1660e01b81526004016124eb959493929190613b11565b600060405180830381600087803b15801561250557600080fd5b505af1158015612519573d6000803e3d6000fd5b5050505050505050505b6000600d60006101000a81548160ff0219169083151502179055505050565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612593919061347d565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125e991906137dc565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161264d9190612e5c565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561269857612697613043565b5b6040519080825280602002602001820160405280156126c65781602001602082028036833780820191505090505b50905030816000815181106126de576126dd61351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127a99190613677565b816001815181106127bd576127bc61351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161287d959493929190613b6b565b600060405180830381600087803b15801561289757600080fd5b505af11580156128ab573d6000803e3d6000fd5b50505050506000600d60006101000a81548160ff02191690831515021790555050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612919919061347d565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008115612b6d576000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156129d657601454600e54116129cb576010546129cf565b6012545b9050612a43565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612a4257601354600e5411612a3b57600f54612a3f565b6011545b90505b5b600060648286612a539190613bc5565b612a5d91906138ab565b90506000811115612b6a578083612a7491906137dc565b925080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ac191906137dc565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b619190612e5c565b60405180910390a35b50505b8083612b79919061347d565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc391906137dc565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8386612c61919061347d565b604051612c6e9190612e5c565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612cb7578082015181840152602081019050612c9c565b60008484015250505050565b6000601f19601f8301169050919050565b6000612cdf82612c7d565b612ce98185612c88565b9350612cf9818560208601612c99565b612d0281612cc3565b840191505092915050565b60006020820190508181036000830152612d278184612cd4565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d6e82612d43565b9050919050565b612d7e81612d63565b8114612d8957600080fd5b50565b600081359050612d9b81612d75565b92915050565b6000819050919050565b612db481612da1565b8114612dbf57600080fd5b50565b600081359050612dd181612dab565b92915050565b60008060408385031215612dee57612ded612d39565b5b6000612dfc85828601612d8c565b9250506020612e0d85828601612dc2565b9150509250929050565b60008115159050919050565b612e2c81612e17565b82525050565b6000602082019050612e476000830184612e23565b92915050565b612e5681612da1565b82525050565b6000602082019050612e716000830184612e4d565b92915050565b600080600060608486031215612e9057612e8f612d39565b5b6000612e9e86828701612d8c565b9350506020612eaf86828701612d8c565b9250506040612ec086828701612dc2565b9150509250925092565b600060ff82169050919050565b612ee081612eca565b82525050565b6000602082019050612efb6000830184612ed7565b92915050565b612f0a81612d63565b82525050565b6000602082019050612f256000830184612f01565b92915050565b600060208284031215612f4157612f40612d39565b5b6000612f4f84828501612d8c565b91505092915050565b6000612f6382612d43565b9050919050565b612f7381612f58565b8114612f7e57600080fd5b50565b600081359050612f9081612f6a565b92915050565b600060208284031215612fac57612fab612d39565b5b6000612fba84828501612f81565b91505092915050565b600080600080600060a08688031215612fdf57612fde612d39565b5b6000612fed88828901612dc2565b9550506020612ffe88828901612dc2565b945050604061300f88828901612dc2565b935050606061302088828901612dc2565b925050608061303188828901612dc2565b9150509295509295909350565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61307b82612cc3565b810181811067ffffffffffffffff8211171561309a57613099613043565b5b80604052505050565b60006130ad612d2f565b90506130b98282613072565b919050565b600067ffffffffffffffff8211156130d9576130d8613043565b5b602082029050602081019050919050565b600080fd5b60006131026130fd846130be565b6130a3565b90508083825260208201905060208402830185811115613125576131246130ea565b5b835b8181101561314e578061313a8882612d8c565b845260208401935050602081019050613127565b5050509392505050565b600082601f83011261316d5761316c61303e565b5b813561317d8482602086016130ef565b91505092915050565b61318f81612e17565b811461319a57600080fd5b50565b6000813590506131ac81613186565b92915050565b600080604083850312156131c9576131c8612d39565b5b600083013567ffffffffffffffff8111156131e7576131e6612d3e565b5b6131f385828601613158565b92505060206132048582860161319d565b9150509250929050565b60006020828403121561322457613223612d39565b5b600061323284828501612dc2565b91505092915050565b6000819050919050565b600061326061325b61325684612d43565b61323b565b612d43565b9050919050565b600061327282613245565b9050919050565b600061328482613267565b9050919050565b61329481613279565b82525050565b60006020820190506132af600083018461328b565b92915050565b6132be81612f58565b82525050565b60006020820190506132d960008301846132b5565b92915050565b600080fd5b60008083601f8401126132fa576132f961303e565b5b8235905067ffffffffffffffff811115613317576133166132df565b5b602083019150836020820283011115613333576133326130ea565b5b9250929050565b6000806000806060858703121561335457613353612d39565b5b600061336287828801612d8c565b945050602085013567ffffffffffffffff81111561338357613382612d3e565b5b61338f878288016132e4565b935093505060406133a287828801612dc2565b91505092959194509250565b600080604083850312156133c5576133c4612d39565b5b60006133d385828601612d8c565b92505060206133e485828601612d8c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061343557607f821691505b602082108103613448576134476133ee565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061348882612da1565b915061349383612da1565b92508282039050818111156134ab576134aa61344e565b5b92915050565b7f796f7520617265206e6f74206f776e6572000000000000000000000000000000600082015250565b60006134e7601183612c88565b91506134f2826134b1565b602082019050919050565b60006020820190508181036000830152613516816134da565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061355782612da1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135895761358861344e565b5b600182019050919050565b6000815190506135a381612dab565b92915050565b6000602082840312156135bf576135be612d39565b5b60006135cd84828501613594565b91505092915050565b60006135e182613267565b9050919050565b6135f1816135d6565b82525050565b600060408201905061360c60008301856135e8565b6136196020830184612e4d565b9392505050565b60008151905061362f81613186565b92915050565b60006020828403121561364b5761364a612d39565b5b600061365984828501613620565b91505092915050565b60008151905061367181612d75565b92915050565b60006020828403121561368d5761368c612d39565b5b600061369b84828501613662565b91505092915050565b60006040820190506136b96000830185612f01565b6136c66020830184612e4d565b9392505050565b60006060820190506136e26000830186612f01565b6136ef6020830185612f01565b6136fc6040830184612e4d565b949350505050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b600061373a600883612c88565b915061374582613704565b602082019050919050565b600060208201905081810360008301526137698161372d565b9050919050565b7f62616c616e63654e6f74456e6f75676800000000000000000000000000000000600082015250565b60006137a6601083612c88565b91506137b182613770565b602082019050919050565b600060208201905081810360008301526137d581613799565b9050919050565b60006137e782612da1565b91506137f283612da1565b925082820190508082111561380a5761380961344e565b5b92915050565b7f77616c6c65746c696d6974000000000000000000000000000000000000000000600082015250565b6000613846600b83612c88565b915061385182613810565b602082019050919050565b6000602082019050818103600083015261387581613839565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138b682612da1565b91506138c183612da1565b9250826138d1576138d061387c565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61391181612d63565b82525050565b60006139238383613908565b60208301905092915050565b6000602082019050919050565b6000613947826138dc565b61395181856138e7565b935061395c836138f8565b8060005b8381101561398d5781516139748882613917565b975061397f8361392f565b925050600181019050613960565b5085935050505092915050565b60006040820190506139af6000830185612e4d565b81810360208301526139c1818461393c565b90509392505050565b600067ffffffffffffffff8211156139e5576139e4613043565b5b602082029050602081019050919050565b6000613a09613a04846139ca565b6130a3565b90508083825260208201905060208402830185811115613a2c57613a2b6130ea565b5b835b81811015613a555780613a418882613594565b845260208401935050602081019050613a2e565b5050509392505050565b600082601f830112613a7457613a7361303e565b5b8151613a848482602086016139f6565b91505092915050565b600060208284031215613aa357613aa2612d39565b5b600082015167ffffffffffffffff811115613ac157613ac0612d3e565b5b613acd84828501613a5f565b91505092915050565b6000819050919050565b6000613afb613af6613af184613ad6565b61323b565b612da1565b9050919050565b613b0b81613ae0565b82525050565b600060a082019050613b266000830188612e4d565b613b336020830187613b02565b8181036040830152613b45818661393c565b9050613b546060830185612f01565b613b616080830184612e4d565b9695505050505050565b600060a082019050613b806000830188612e4d565b613b8d6020830187613b02565b8181036040830152613b9f818661393c565b9050613bae60608301856135e8565b613bbb6080830184612e4d565b9695505050505050565b6000613bd082612da1565b9150613bdb83612da1565b9250828202613be981612da1565b91508282048414831517613c0057613bff61344e565b5b509291505056fea2646970667358221220680dc83eefdf52518fd977e946a1e1f18d123b737ad656fa4ad59ff79a5d187964736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101e75760003560e01c806365b61b7711610102578063a67755c211610095578063cefab2af11610064578063cefab2af146106c9578063dd62ed3e146106f4578063f2fde38b14610731578063f887ea401461075a576101ee565b8063a67755c214610623578063a9059cbb1461064c578063bc2b8fb714610689578063bc76c052146106b2576101ee565b80637cc5b1e6116100d15780637cc5b1e6146105795780638da5cb5b146105a45780638ff4013f146105cf57806395d89b41146105f8576101ee565b806365b61b77146104e35780636c5808011461050e57806370a0823114610525578063715018a614610562576101ee565b806336b2e0271161017a5780634bf28fd0116101495780634bf28fd01461043b578063553193ca1461046657806358e56b63146104915780636402511e146104ba576101ee565b806336b2e0271461036f5780633e0cdeb1146103ac5780633ecad271146103d55780633f80b6d714610412576101ee565b806323b872dd116101b657806323b872dd146102b157806327b1a8e9146102ee578063313ce567146103195780633455a9db14610344576101ee565b806306fdde03146101f3578063095ea7b31461021e57806318160ddd1461025b5780631b58374914610286576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610785565b6040516102159190612d0d565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190612dd7565b610817565b6040516102529190612e32565b60405180910390f35b34801561026757600080fd5b5061027061082e565b60405161027d9190612e5c565b60405180910390f35b34801561029257600080fd5b5061029b610838565b6040516102a89190612e5c565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d39190612e77565b61083e565b6040516102e59190612e32565b60405180910390f35b3480156102fa57600080fd5b506103036109e4565b6040516103109190612e5c565b60405180910390f35b34801561032557600080fd5b5061032e6109ea565b60405161033b9190612ee6565b60405180910390f35b34801561035057600080fd5b50610359610a01565b6040516103669190612f10565b60405180910390f35b34801561037b57600080fd5b5061039660048036038101906103919190612f2b565b610a27565b6040516103a39190612e32565b60405180910390f35b3480156103b857600080fd5b506103d360048036038101906103ce9190612f96565b610a47565b005b3480156103e157600080fd5b506103fc60048036038101906103f79190612f2b565b610b19565b6040516104099190612e32565b60405180910390f35b34801561041e57600080fd5b5061043960048036038101906104349190612fc3565b610b39565b005b34801561044757600080fd5b50610450610bf1565b60405161045d9190612f10565b60405180910390f35b34801561047257600080fd5b5061047b610c17565b6040516104889190612e5c565b60405180910390f35b34801561049d57600080fd5b506104b860048036038101906104b391906131b2565b610c1d565b005b3480156104c657600080fd5b506104e160048036038101906104dc919061320e565b610d40565b005b3480156104ef57600080fd5b506104f8610dd8565b604051610505919061329a565b60405180910390f35b34801561051a57600080fd5b50610523610dfe565b005b34801561053157600080fd5b5061054c60048036038101906105479190612f2b565b610ea7565b6040516105599190612e5c565b60405180910390f35b34801561056e57600080fd5b50610577610ef0565b005b34801561058557600080fd5b5061058e61103c565b60405161059b91906132c4565b60405180910390f35b3480156105b057600080fd5b506105b9611062565b6040516105c69190612f10565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f1919061320e565b61108b565b005b34801561060457600080fd5b5061060d611123565b60405161061a9190612d0d565b60405180910390f35b34801561062f57600080fd5b5061064a60048036038101906106459190612f2b565b6111b5565b005b34801561065857600080fd5b50610673600480360381019061066e9190612dd7565b61136f565b6040516106809190612e32565b60405180910390f35b34801561069557600080fd5b506106b060048036038101906106ab919061333a565b611386565b005b3480156106be57600080fd5b506106c76117af565b005b3480156106d557600080fd5b506106de611869565b6040516106eb9190612e32565b60405180910390f35b34801561070057600080fd5b5061071b600480360381019061071691906133ae565b61187c565b6040516107289190612e5c565b60405180910390f35b34801561073d57600080fd5b5061075860048036038101906107539190612f2b565b611903565b005b34801561076657600080fd5b5061076f611abd565b60405161077c9190612f10565b60405180910390f35b6060600680546107949061341d565b80601f01602080910402602001604051908101604052809291908181526020018280546107c09061341d565b801561080d5780601f106107e25761010080835404028352916020019161080d565b820191906000526020600020905b8154815290600101906020018083116107f057829003601f168201915b5050505050905090565b6000610824338484611ae3565b6001905092915050565b6000600a54905090565b60185481565b600061084b848484611bce565b600019600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146109d95781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610958919061347d565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600190509392505050565b600e5481565b6000600860009054906101000a900460ff16905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc906134fd565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c6020528060005260406000206000915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbe906134fd565b60405180910390fd5b84601181905550836012819055508260138190555081601481905550806015819055505050505050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60195481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca2906134fd565b60405180910390fd5b60005b8251811015610d3b578160096000858481518110610ccf57610cce61351d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d339061354c565b915050610cae565b505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc5906134fd565b60405180910390fd5b8060178190555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e83906134fd565b60405180910390fd5b600060195414610e9d576000610e9f565b435b601981905550565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f75906134fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611119576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611110906134fd565b60405180910390fd5b8060188190555050565b6060600780546111329061341d565b80601f016020809104026020016040519081016040528092919081815260200182805461115e9061341d565b80156111ab5780601f10611180576101008083540402835291602001916111ab565b820191906000526020600020905b81548152906001019060200180831161118e57829003601f168201915b5050505050905090565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461136c578073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016112609190612f10565b602060405180830381865afa15801561127d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a191906135a9565b6040518363ffffffff1660e01b81526004016112be9291906135f7565b6020604051808303816000875af11580156112dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113019190613635565b50600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561136a573d6000803e3d6000fd5b505b50565b600061137c338484611bce565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140b906134fd565b60405180910390fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a79190613677565b90508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196040518363ffffffff1660e01b81526004016115089291906136a4565b6020604051808303816000875af1158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154b9190613635565b508073ffffffffffffffffffffffffffffffffffffffff166323b872dd86308473ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b81526004016115a39190612f10565b602060405180830381865afa1580156115c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e491906135a9565b6040518463ffffffff1660e01b8152600401611602939291906136cd565b6020604051808303816000875af1158015611621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116459190613635565b5060005b84849050811015611698576116858386868481811061166b5761166a61351d565b5b90506020020160208101906116809190612f2b565b61209c565b80806116909061354c565b915050611649565b504360198190555060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116db9190612f10565b602060405180830381865afa1580156116f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171c91906135a9565b905060008111156117a7578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb87836040518363ffffffff1660e01b81526004016117629291906136a4565b6020604051808303816000875af1158015611781573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a59190613635565b505b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461183d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611834906134fd565b60405180910390fd5b601660009054906101000a900460ff1615601660006101000a81548160ff021916908315150217905550565b601660009054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611991576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611988906134fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f790613750565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bc19190612e5c565b60405180910390a3505050565b6000611bd984610ea7565b905081811015611c1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c15906137bc565b60405180910390fd5b600d60009054906101000a900460ff1615611c4557611c3e848484612542565b5050612097565b6000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611cad5750600d60009054906101000a900460ff16155b8015611d035750600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d595750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d685750601554600e54115b15611ddb576000839050611d7b30610ea7565b811115611dc557600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b601754811115611dd957611dd881612660565b5b505b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e7f5750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611e985750600d60009054906101000a900460ff16155b1561208857600060195411611eac57600080fd5b60019050600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f575750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611fad5750600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561204957600e6000815480929190611fc59061354c565b91905055506000601854118015611fea57506032601954611fe691906137dc565b4311155b156120485760185483611ffc86610ea7565b61200691906137dc565b1115612047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203e9061385c565b60405180910390fd5b5b5b601660009054906101000a900460ff16801561206457508183145b15612087576305f5e1008361207991906138ab565b83612084919061347d565b92505b5b612094858585846128ce565b50505b505050565b6001600d60006101000a81548160ff0219169083151502179055506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214a9190613677565b90506000600267ffffffffffffffff81111561216957612168613043565b5b6040519080825280602002602001820160405280156121975781602001602082028036833780820191505090505b50905081816000815181106121af576121ae61351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030816001815181106121fe576121fd61351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000600267ffffffffffffffff81111561225557612254613043565b5b6040519080825280602002602001820160405280156122835781602001602082028036833780820191505090505b509050308160008151811061229b5761229a61351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082816001815181106122ea576122e961351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161235f9190612f10565b602060405180830381865afa15801561237c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a091906135a9565b90506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f88856040518363ffffffff1660e01b815260040161240192919061399a565b600060405180830381865afa15801561241e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906124479190613a8d565b60018151811061245a5761245961351d565b5b602002602001015190508181116124715780612473565b815b905060008103612487575050505050612523565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d795826000878a426040518663ffffffff1660e01b81526004016124eb959493929190613b11565b600060405180830381600087803b15801561250557600080fd5b505af1158015612519573d6000803e3d6000fd5b5050505050505050505b6000600d60006101000a81548160ff0219169083151502179055505050565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612593919061347d565b9250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125e991906137dc565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161264d9190612e5c565b60405180910390a3600190509392505050565b6001600d60006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561269857612697613043565b5b6040519080825280602002602001820160405280156126c65781602001602082028036833780820191505090505b50905030816000815181106126de576126dd61351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127a99190613677565b816001815181106127bd576127bc61351d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161287d959493929190613b6b565b600060405180830381600087803b15801561289757600080fd5b505af11580156128ab573d6000803e3d6000fd5b50505050506000600d60006101000a81548160ff02191690831515021790555050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612919919061347d565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008115612b6d576000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156129d657601454600e54116129cb576010546129cf565b6012545b9050612a43565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612a4257601354600e5411612a3b57600f54612a3f565b6011545b90505b5b600060648286612a539190613bc5565b612a5d91906138ab565b90506000811115612b6a578083612a7491906137dc565b925080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ac191906137dc565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b619190612e5c565b60405180910390a35b50505b8083612b79919061347d565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc391906137dc565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8386612c61919061347d565b604051612c6e9190612e5c565b60405180910390a35050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612cb7578082015181840152602081019050612c9c565b60008484015250505050565b6000601f19601f8301169050919050565b6000612cdf82612c7d565b612ce98185612c88565b9350612cf9818560208601612c99565b612d0281612cc3565b840191505092915050565b60006020820190508181036000830152612d278184612cd4565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d6e82612d43565b9050919050565b612d7e81612d63565b8114612d8957600080fd5b50565b600081359050612d9b81612d75565b92915050565b6000819050919050565b612db481612da1565b8114612dbf57600080fd5b50565b600081359050612dd181612dab565b92915050565b60008060408385031215612dee57612ded612d39565b5b6000612dfc85828601612d8c565b9250506020612e0d85828601612dc2565b9150509250929050565b60008115159050919050565b612e2c81612e17565b82525050565b6000602082019050612e476000830184612e23565b92915050565b612e5681612da1565b82525050565b6000602082019050612e716000830184612e4d565b92915050565b600080600060608486031215612e9057612e8f612d39565b5b6000612e9e86828701612d8c565b9350506020612eaf86828701612d8c565b9250506040612ec086828701612dc2565b9150509250925092565b600060ff82169050919050565b612ee081612eca565b82525050565b6000602082019050612efb6000830184612ed7565b92915050565b612f0a81612d63565b82525050565b6000602082019050612f256000830184612f01565b92915050565b600060208284031215612f4157612f40612d39565b5b6000612f4f84828501612d8c565b91505092915050565b6000612f6382612d43565b9050919050565b612f7381612f58565b8114612f7e57600080fd5b50565b600081359050612f9081612f6a565b92915050565b600060208284031215612fac57612fab612d39565b5b6000612fba84828501612f81565b91505092915050565b600080600080600060a08688031215612fdf57612fde612d39565b5b6000612fed88828901612dc2565b9550506020612ffe88828901612dc2565b945050604061300f88828901612dc2565b935050606061302088828901612dc2565b925050608061303188828901612dc2565b9150509295509295909350565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61307b82612cc3565b810181811067ffffffffffffffff8211171561309a57613099613043565b5b80604052505050565b60006130ad612d2f565b90506130b98282613072565b919050565b600067ffffffffffffffff8211156130d9576130d8613043565b5b602082029050602081019050919050565b600080fd5b60006131026130fd846130be565b6130a3565b90508083825260208201905060208402830185811115613125576131246130ea565b5b835b8181101561314e578061313a8882612d8c565b845260208401935050602081019050613127565b5050509392505050565b600082601f83011261316d5761316c61303e565b5b813561317d8482602086016130ef565b91505092915050565b61318f81612e17565b811461319a57600080fd5b50565b6000813590506131ac81613186565b92915050565b600080604083850312156131c9576131c8612d39565b5b600083013567ffffffffffffffff8111156131e7576131e6612d3e565b5b6131f385828601613158565b92505060206132048582860161319d565b9150509250929050565b60006020828403121561322457613223612d39565b5b600061323284828501612dc2565b91505092915050565b6000819050919050565b600061326061325b61325684612d43565b61323b565b612d43565b9050919050565b600061327282613245565b9050919050565b600061328482613267565b9050919050565b61329481613279565b82525050565b60006020820190506132af600083018461328b565b92915050565b6132be81612f58565b82525050565b60006020820190506132d960008301846132b5565b92915050565b600080fd5b60008083601f8401126132fa576132f961303e565b5b8235905067ffffffffffffffff811115613317576133166132df565b5b602083019150836020820283011115613333576133326130ea565b5b9250929050565b6000806000806060858703121561335457613353612d39565b5b600061336287828801612d8c565b945050602085013567ffffffffffffffff81111561338357613382612d3e565b5b61338f878288016132e4565b935093505060406133a287828801612dc2565b91505092959194509250565b600080604083850312156133c5576133c4612d39565b5b60006133d385828601612d8c565b92505060206133e485828601612d8c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061343557607f821691505b602082108103613448576134476133ee565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061348882612da1565b915061349383612da1565b92508282039050818111156134ab576134aa61344e565b5b92915050565b7f796f7520617265206e6f74206f776e6572000000000000000000000000000000600082015250565b60006134e7601183612c88565b91506134f2826134b1565b602082019050919050565b60006020820190508181036000830152613516816134da565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061355782612da1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135895761358861344e565b5b600182019050919050565b6000815190506135a381612dab565b92915050565b6000602082840312156135bf576135be612d39565b5b60006135cd84828501613594565b91505092915050565b60006135e182613267565b9050919050565b6135f1816135d6565b82525050565b600060408201905061360c60008301856135e8565b6136196020830184612e4d565b9392505050565b60008151905061362f81613186565b92915050565b60006020828403121561364b5761364a612d39565b5b600061365984828501613620565b91505092915050565b60008151905061367181612d75565b92915050565b60006020828403121561368d5761368c612d39565b5b600061369b84828501613662565b91505092915050565b60006040820190506136b96000830185612f01565b6136c66020830184612e4d565b9392505050565b60006060820190506136e26000830186612f01565b6136ef6020830185612f01565b6136fc6040830184612e4d565b949350505050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b600061373a600883612c88565b915061374582613704565b602082019050919050565b600060208201905081810360008301526137698161372d565b9050919050565b7f62616c616e63654e6f74456e6f75676800000000000000000000000000000000600082015250565b60006137a6601083612c88565b91506137b182613770565b602082019050919050565b600060208201905081810360008301526137d581613799565b9050919050565b60006137e782612da1565b91506137f283612da1565b925082820190508082111561380a5761380961344e565b5b92915050565b7f77616c6c65746c696d6974000000000000000000000000000000000000000000600082015250565b6000613846600b83612c88565b915061385182613810565b602082019050919050565b6000602082019050818103600083015261387581613839565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138b682612da1565b91506138c183612da1565b9250826138d1576138d061387c565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61391181612d63565b82525050565b60006139238383613908565b60208301905092915050565b6000602082019050919050565b6000613947826138dc565b61395181856138e7565b935061395c836138f8565b8060005b8381101561398d5781516139748882613917565b975061397f8361392f565b925050600181019050613960565b5085935050505092915050565b60006040820190506139af6000830185612e4d565b81810360208301526139c1818461393c565b90509392505050565b600067ffffffffffffffff8211156139e5576139e4613043565b5b602082029050602081019050919050565b6000613a09613a04846139ca565b6130a3565b90508083825260208201905060208402830185811115613a2c57613a2b6130ea565b5b835b81811015613a555780613a418882613594565b845260208401935050602081019050613a2e565b5050509392505050565b600082601f830112613a7457613a7361303e565b5b8151613a848482602086016139f6565b91505092915050565b600060208284031215613aa357613aa2612d39565b5b600082015167ffffffffffffffff811115613ac157613ac0612d3e565b5b613acd84828501613a5f565b91505092915050565b6000819050919050565b6000613afb613af6613af184613ad6565b61323b565b612da1565b9050919050565b613b0b81613ae0565b82525050565b600060a082019050613b266000830188612e4d565b613b336020830187613b02565b8181036040830152613b45818661393c565b9050613b546060830185612f01565b613b616080830184612e4d565b9695505050505050565b600060a082019050613b806000830188612e4d565b613b8d6020830187613b02565b8181036040830152613b9f818661393c565b9050613bae60608301856135e8565b613bbb6080830184612e4d565b9695505050505050565b6000613bd082612da1565b9150613bdb83612da1565b9250828202613be981612da1565b91508282048414831517613c0057613bff61344e565b5b509291505056fea2646970667358221220680dc83eefdf52518fd977e946a1e1f18d123b737ad656fa4ad59ff79a5d187964736f6c63430008130033

Deployed Bytecode Sourcemap

3260:10791:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5482:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6295:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5686:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8407:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6487:404;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7385:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5584:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3502:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3764:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5280:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3898:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7718:406;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4024:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11400:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13805:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8297:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3855:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11439:115;;;;;;;;;;;;;:::i;:::-;;5794:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2883:148;;;;;;;;;;;;;:::i;:::-;;3580:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2686:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8441:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5376:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13104:288;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5921:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11562:675;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8172:88;;;;;;;;;;;;;:::i;:::-;;8132:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6119:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3039:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3429:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5482:94;5530:13;5563:5;5556:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5482:94;:::o;6295:184::-;6395:4;6412:37;6421:10;6433:7;6442:6;6412:8;:37::i;:::-;6467:4;6460:11;;6295:184;;;;:::o;5686:100::-;5739:7;5766:12;;5759:19;;5686:100;:::o;8407:25::-;;;;:::o;6487:404::-;6619:4;6636:36;6646:6;6654:9;6665:6;6636:9;:36::i;:::-;4015:1;4006:11;6687;:19;6699:6;6687:19;;;;;;;;;;;;;;;:31;6707:10;6687:31;;;;;;;;;;;;;;;;:38;6683:179;;6844:6;6793:11;:19;6805:6;6793:19;;;;;;;;;;;;;;;:31;6813:10;6793:31;;;;;;;;;;;;;;;;:57;;;;:::i;:::-;6742:11;:19;6754:6;6742:19;;;;;;;;;;;;;;;:31;6762:10;6742:31;;;;;;;;;;;;;;;:108;;;;6683:179;6879:4;6872:11;;6487:404;;;;;:::o;7385:28::-;;;;:::o;5584:94::-;5636:5;5661:9;;;;;;;;;;;5654:16;;5584:94;:::o;3502:71::-;;;;;;;;;;;;;:::o;3764:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;5280:88::-;2823:10;2813:20;;:6;;;;;;;;;;:20;;;2805:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;5354:6:::1;5348:3;;:12;;;;;;;;;;;;;;;;;;5280:88:::0;:::o;3898:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;7718:406::-;2823:10;2813:20;;:6;;;;;;;;;;:20;;;2805:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;7940:6:::1;7925:12;:21;;;;7973:7;7957:13;:23;;;;8009:12;7991:15;:30;;;;8051:13;8032:16;:32;;;;8096:20;8075:18;:41;;;;7718:406:::0;;;;;:::o;4024:27::-;;;;;;;;;;;;;:::o;11400:30::-;;;;:::o;13805:206::-;2823:10;2813:20;;:6;;;;;;;;;;:20;;;2805:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;13899:6:::1;13895:100;13910:8;:15;13908:1;:17;13895:100;;;13978:5;13945:17;:30;13963:8;13972:1;13963:11;;;;;;;;:::i;:::-;;;;;;;;13945:30;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;13926:3;;;;;:::i;:::-;;;;13895:100;;;;13805:206:::0;;:::o;8297:102::-;2823:10;2813:20;;:6;;;;;;;;;;:20;;;2805:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;8383:8:::1;8368:12;:23;;;;8297:102:::0;:::o;3855:36::-;;;;;;;;;;;;;:::o;11439:115::-;2823:10;2813:20;;:6;;;;;;;;;;:20;;;2805:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;11526:1:::1;11507:15;;:20;:39;;11545:1;11507:39;;;11530:12;11507:39;11489:15;:57;;;;11439:115::o:0;5794:119::-;5860:7;5887:9;:18;5897:7;5887:18;;;;;;;;;;;;;;;;5880:25;;5794:119;;;:::o;2883:148::-;2823:10;2813:20;;:6;;;;;;;;;;:20;;;2805:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;2990:1:::1;2953:40;;2974:6;::::0;::::1;;;;;;;;2953:40;;;;;;;;;;;;3021:1;3004:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2883:148::o:0;3580:89::-;;;;;;;;;;;;;:::o;2686:79::-;2724:7;2751:6;;;;;;;;;;;2744:13;;2686:79;:::o;8441:97::-;2823:10;2813:20;;:6;;;;;;;;;;:20;;;2805:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;8522:8:::1;8509:10;:21;;;;8441:97:::0;:::o;5376:98::-;5426:13;5459:7;5452:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5376:98;:::o;13104:288::-;13183:4;13165:23;;:6;:23;;;13161:224;;13212:6;13205:23;;;13247:3;;;;;;;;;;;13276:6;13269:24;;;13302:4;13269:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13205:118;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13338:3;;;;;;;;;;;:12;;:35;13351:21;13338:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13161:224;13104:288;:::o;5921:190::-;6024:4;6041:40;6051:10;6063:9;6074:6;6041:9;:40::i;:::-;6099:4;6092:11;;5921:190;;;;:::o;11562:675::-;2823:10;2813:20;;:6;;;;;;;;;;:20;;;2805:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;11697:12:::1;11712:14;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11697:36;;11751:4;11744:20;;;11773:14;;;;;;;;;;;11799:1;11790:11;11744:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11820:4;11813:25;;;11853:5;11881:4;11908;11901:22;;;11924:5;11901:29;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11813:128;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11957:6;11952:89;11973:4;;:11;;11969:1;:15;11952:89;;;12006:23;12016:3;12021:4;;12026:1;12021:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12006:9;:23::i;:::-;11986:3;;;;;:::i;:::-;;;;11952:89;;;;12069:12;12051:15;:30;;;;12092:12;12114:4;12107:22;;;12138:4;12107:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12092:52;;12166:1;12159:4;:8;12155:75;;;12191:4;12184:21;;;12206:5;12213:4;12184:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12155:75;11686:551;;11562:675:::0;;;;:::o;8172:88::-;2823:10;2813:20;;:6;;;;;;;;;;:20;;;2805:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;8240:12:::1;;;;;;;;;;;8239:13;8224:12;;:28;;;;;;;;;;;;;;;;;;8172:88::o:0;8132:31::-;;;;;;;;;;;;;:::o;6119:168::-;6225:7;6252:11;:18;6264:5;6252:18;;;;;;;;;;;;;;;:27;6271:7;6252:27;;;;;;;;;;;;;;;;6245:34;;6119:168;;;;:::o;3039:214::-;2823:10;2813:20;;:6;;;;;;;;;;:20;;;2805:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3148:1:::1;3128:22;;:8;:22;;::::0;3120:43:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3208:8;3179:38;;3200:6;::::0;::::1;;;;;;;;3179:38;;;;;;;;;;;;3237:8;3228:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3039:214:::0;:::o;3429:66::-;;;;;;;;;;;;;:::o;6899:177::-;7014:6;6984:11;:18;6996:5;6984:18;;;;;;;;;;;;;;;:27;7003:7;6984:27;;;;;;;;;;;;;;;:36;;;;7052:7;7036:32;;7045:5;7036:32;;;7061:6;7036:32;;;;;;:::i;:::-;;;;;;;;6899:177;;;:::o;8546:1681::-;8626:15;8644;8654:4;8644:9;:15::i;:::-;8626:33;;8689:6;8678:7;:17;;8670:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;8733:6;;;;;;;;;;;8729:92;;;8756:32;8771:4;8777:2;8781:6;8756:14;:32::i;:::-;;8803:7;;;8729:92;8833:12;8876;:16;8889:2;8876:16;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;;8910:6;;;;;;;;;;;8909:7;8876:40;:81;;;;;8934:17;:23;8952:4;8934:23;;;;;;;;;;;;;;;;;;;;;;;;;8933:24;8876:81;:120;;;;;8975:17;:21;8993:2;8975:21;;;;;;;;;;;;;;;;;;;;;;;;;8974:22;8876:120;:167;;;;;9025:18;;9013:9;;:30;8876:167;8858:502;;;9070:21;9094:6;9070:30;;9135:24;9153:4;9135:9;:24::i;:::-;9119:13;:40;9115:121;;;9196:9;:24;9214:4;9196:24;;;;;;;;;;;;;;;;9180:40;;9115:121;9270:12;;9254:13;:28;9250:99;;;9303:30;9319:13;9303:15;:30::i;:::-;9250:99;9055:305;8858:502;9377:17;:23;9395:4;9377:23;;;;;;;;;;;;;;;;;;;;;;;;;9376:24;:50;;;;;9405:17;:21;9423:2;9405:21;;;;;;;;;;;;;;;;;;;;;;;;;9404:22;9376:50;:61;;;;;9431:6;;;;;;;;;;;9430:7;9376:61;9372:794;;;9480:1;9462:15;;:19;9454:28;;;;;;9507:4;9497:14;;9575:12;:18;9588:4;9575:18;;;;;;;;;;;;;;;;;;;;;;;;;:68;;;;;9628:14;;;;;;;;;;;9614:29;;:2;:29;;;;9575:68;:111;;;;;9665:17;:21;9683:2;9665:21;;;;;;;;;;;;;;;;;;;;;;;;;9664:22;9575:111;9553:445;;;9721:9;;:11;;;;;;;;;:::i;:::-;;;;;;9768:1;9755:10;;:14;:50;;;;;9803:2;9787:15;;:18;;;;:::i;:::-;9773:12;:32;;9755:50;9751:232;;;9890:10;;9880:6;9864:13;9874:2;9864:9;:13::i;:::-;:22;;;;:::i;:::-;:36;;9830:133;;;;;;;;;;;;:::i;:::-;;;;;;;;;9751:232;9553:445;10047:12;;;;;;;;;;;:33;;;;;10073:7;10063:6;:17;10047:33;10043:112;;;10129:9;10120:6;:18;;;;:::i;:::-;10110:6;:29;;;;:::i;:::-;10101:38;;10043:112;9372:794;10178:41;10193:4;10199:2;10203:6;10211:7;10178:14;:41::i;:::-;8615:1612;;8546:1681;;;;:::o;12245:851::-;4101:4;4092:6;;:13;;;;;;;;;;;;;;;;;;12328:12:::1;12343:14;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12328:36;;12375:21;12413:1;12399:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12375:40;;12444:4;12426;12431:1;12426:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12478:4;12460;12465:1;12460:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12496:25;12538:1;12524:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12496:44;;12573:4;12551:8;12560:1;12551:11;;;;;;;;:::i;:::-;;;;;;;:27;;;;;;;;;::::0;::::1;12611:4;12589:8;12598:1;12589:11;;;;;;;;:::i;:::-;;;;;;;:27;;;;;;;;;::::0;::::1;12627:12;12649:4;12642:22;;;12673:4;12642:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12627:52;;12690:17;12710:14;;;;;;;;;;;:28;;;12739:11;12752:8;12710:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12776:1;12710:78;;;;;;;;:::i;:::-;;;;;;;;12690:98;;12823:4;12811:9;:16;:35;;12837:9;12811:35;;;12830:4;12811:35;12799:47;;12874:1;12861:9;:14:::0;12857:27:::1;;12877:7;;;;;;;12857:27;12894:14;;;;;;;;;;;:68;;;12977:9;13001:1;13017:4;13044:2;13062:15;12894:194;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12317:779;;;;;4116:1;4137:5:::0;4128:6;;:14;;;;;;;;;;;;;;;;;;12245:851;;:::o;7084:293::-;7211:4;7249:6;7228:9;:17;7238:6;7228:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;7290:6;7266:9;:20;7276:9;7266:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7329:9;7312:35;;7321:6;7312:35;;;7340:6;7312:35;;;;;;:::i;:::-;;;;;;;;7365:4;7358:11;;7084:293;;;;;:::o;13400:397::-;4101:4;4092:6;;:13;;;;;;;;;;;;;;;;;;13477:21:::1;13515:1;13501:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13477:40;;13546:4;13528;13533:1;13528:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13572:14;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13562:4;13567:1;13562:7;;;;;;;;:::i;:::-;;;;;;;:31;;;;;;;;;::::0;::::1;13604:14;;;;;;;;;;;:65;;;13684:11;13710:1;13726:4;13745:3;;;;;;;;;;;13763:15;13604:185;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13466:331;4137:5:::0;4128:6;;:14;;;;;;;;;;;;;;;;;;13400:397;:::o;10235:1157::-;10427:7;10407:9;:17;10417:6;10407:17;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;10387:9;:17;10397:6;10387:17;;;;;;;;;;;;;;;:47;;;;10445:17;10479:7;10475:766;;;10503:14;10536:12;:23;10549:9;10536:23;;;;;;;;;;;;;;;;;;;;;;;;;10532:354;;;10601:16;;10589:9;;:28;:104;;10678:15;;10589:104;;;10641:13;;10589:104;10580:113;;10532:354;;;10719:12;:20;10732:6;10719:20;;;;;;;;;;;;;;;;;;;;;;;;;10715:171;;;10781:15;;10769:9;;:27;:101;;10856:14;;10769:101;;;10820:12;;10769:101;10760:110;;10715:171;10532:354;10900:18;10942:3;10932:6;10922:7;:16;;;;:::i;:::-;10921:24;;;;:::i;:::-;10900:45;;10977:1;10964:10;:14;10960:270;;;11012:10;10999:23;;;;;:::i;:::-;;;11137:10;11089:9;:24;11107:4;11089:24;;;;;;;;;;;;;;;;:58;;;;:::i;:::-;11041:9;:24;11059:4;11041:24;;;;;;;;;;;;;;;:106;;;;11196:4;11171:43;;11180:6;11171:43;;;11203:10;11171:43;;;;;;:::i;:::-;;;;;;;;10960:270;10488:753;;10475:766;11310:9;11300:7;:19;;;;:::i;:::-;11276:9;:20;11286:9;11276:20;;;;;;;;;;;;;;;;:44;;;;:::i;:::-;11253:9;:20;11263:9;11253:20;;;;;;;;;;;;;;;:67;;;;11353:9;11336:48;;11345:6;11336:48;;;11374:9;11364:7;:19;;;;:::i;:::-;11336:48;;;;;;:::i;:::-;;;;;;;;10376:1016;10235:1157;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:118::-;4940:24;4958:5;4940:24;:::i;:::-;4935:3;4928:37;4853:118;;:::o;4977:222::-;5070:4;5108:2;5097:9;5093:18;5085:26;;5121:71;5189:1;5178:9;5174:17;5165:6;5121:71;:::i;:::-;4977:222;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:104::-;5585:7;5614:24;5632:5;5614:24;:::i;:::-;5603:35;;5540:104;;;:::o;5650:138::-;5731:32;5757:5;5731:32;:::i;:::-;5724:5;5721:43;5711:71;;5778:1;5775;5768:12;5711:71;5650:138;:::o;5794:155::-;5848:5;5886:6;5873:20;5864:29;;5902:41;5937:5;5902:41;:::i;:::-;5794:155;;;;:::o;5955:345::-;6022:6;6071:2;6059:9;6050:7;6046:23;6042:32;6039:119;;;6077:79;;:::i;:::-;6039:119;6197:1;6222:61;6275:7;6266:6;6255:9;6251:22;6222:61;:::i;:::-;6212:71;;6168:125;5955:345;;;;:::o;6306:911::-;6401:6;6409;6417;6425;6433;6482:3;6470:9;6461:7;6457:23;6453:33;6450:120;;;6489:79;;:::i;:::-;6450:120;6609:1;6634:53;6679:7;6670:6;6659:9;6655:22;6634:53;:::i;:::-;6624:63;;6580:117;6736:2;6762:53;6807:7;6798:6;6787:9;6783:22;6762:53;:::i;:::-;6752:63;;6707:118;6864:2;6890:53;6935:7;6926:6;6915:9;6911:22;6890:53;:::i;:::-;6880:63;;6835:118;6992:2;7018:53;7063:7;7054:6;7043:9;7039:22;7018:53;:::i;:::-;7008:63;;6963:118;7120:3;7147:53;7192:7;7183:6;7172:9;7168:22;7147:53;:::i;:::-;7137:63;;7091:119;6306:911;;;;;;;;:::o;7223:117::-;7332:1;7329;7322:12;7346:180;7394:77;7391:1;7384:88;7491:4;7488:1;7481:15;7515:4;7512:1;7505:15;7532:281;7615:27;7637:4;7615:27;:::i;:::-;7607:6;7603:40;7745:6;7733:10;7730:22;7709:18;7697:10;7694:34;7691:62;7688:88;;;7756:18;;:::i;:::-;7688:88;7796:10;7792:2;7785:22;7575:238;7532:281;;:::o;7819:129::-;7853:6;7880:20;;:::i;:::-;7870:30;;7909:33;7937:4;7929:6;7909:33;:::i;:::-;7819:129;;;:::o;7954:311::-;8031:4;8121:18;8113:6;8110:30;8107:56;;;8143:18;;:::i;:::-;8107:56;8193:4;8185:6;8181:17;8173:25;;8253:4;8247;8243:15;8235:23;;7954:311;;;:::o;8271:117::-;8380:1;8377;8370:12;8411:710;8507:5;8532:81;8548:64;8605:6;8548:64;:::i;:::-;8532:81;:::i;:::-;8523:90;;8633:5;8662:6;8655:5;8648:21;8696:4;8689:5;8685:16;8678:23;;8749:4;8741:6;8737:17;8729:6;8725:30;8778:3;8770:6;8767:15;8764:122;;;8797:79;;:::i;:::-;8764:122;8912:6;8895:220;8929:6;8924:3;8921:15;8895:220;;;9004:3;9033:37;9066:3;9054:10;9033:37;:::i;:::-;9028:3;9021:50;9100:4;9095:3;9091:14;9084:21;;8971:144;8955:4;8950:3;8946:14;8939:21;;8895:220;;;8899:21;8513:608;;8411:710;;;;;:::o;9144:370::-;9215:5;9264:3;9257:4;9249:6;9245:17;9241:27;9231:122;;9272:79;;:::i;:::-;9231:122;9389:6;9376:20;9414:94;9504:3;9496:6;9489:4;9481:6;9477:17;9414:94;:::i;:::-;9405:103;;9221:293;9144:370;;;;:::o;9520:116::-;9590:21;9605:5;9590:21;:::i;:::-;9583:5;9580:32;9570:60;;9626:1;9623;9616:12;9570:60;9520:116;:::o;9642:133::-;9685:5;9723:6;9710:20;9701:29;;9739:30;9763:5;9739:30;:::i;:::-;9642:133;;;;:::o;9781:678::-;9871:6;9879;9928:2;9916:9;9907:7;9903:23;9899:32;9896:119;;;9934:79;;:::i;:::-;9896:119;10082:1;10071:9;10067:17;10054:31;10112:18;10104:6;10101:30;10098:117;;;10134:79;;:::i;:::-;10098:117;10239:78;10309:7;10300:6;10289:9;10285:22;10239:78;:::i;:::-;10229:88;;10025:302;10366:2;10392:50;10434:7;10425:6;10414:9;10410:22;10392:50;:::i;:::-;10382:60;;10337:115;9781:678;;;;;:::o;10465:329::-;10524:6;10573:2;10561:9;10552:7;10548:23;10544:32;10541:119;;;10579:79;;:::i;:::-;10541:119;10699:1;10724:53;10769:7;10760:6;10749:9;10745:22;10724:53;:::i;:::-;10714:63;;10670:117;10465:329;;;;:::o;10800:60::-;10828:3;10849:5;10842:12;;10800:60;;;:::o;10866:142::-;10916:9;10949:53;10967:34;10976:24;10994:5;10976:24;:::i;:::-;10967:34;:::i;:::-;10949:53;:::i;:::-;10936:66;;10866:142;;;:::o;11014:126::-;11064:9;11097:37;11128:5;11097:37;:::i;:::-;11084:50;;11014:126;;;:::o;11146:148::-;11218:9;11251:37;11282:5;11251:37;:::i;:::-;11238:50;;11146:148;;;:::o;11300:175::-;11409:59;11462:5;11409:59;:::i;:::-;11404:3;11397:72;11300:175;;:::o;11481:266::-;11596:4;11634:2;11623:9;11619:18;11611:26;;11647:93;11737:1;11726:9;11722:17;11713:6;11647:93;:::i;:::-;11481:266;;;;:::o;11753:142::-;11856:32;11882:5;11856:32;:::i;:::-;11851:3;11844:45;11753:142;;:::o;11901:254::-;12010:4;12048:2;12037:9;12033:18;12025:26;;12061:87;12145:1;12134:9;12130:17;12121:6;12061:87;:::i;:::-;11901:254;;;;:::o;12161:117::-;12270:1;12267;12260:12;12301:568;12374:8;12384:6;12434:3;12427:4;12419:6;12415:17;12411:27;12401:122;;12442:79;;:::i;:::-;12401:122;12555:6;12542:20;12532:30;;12585:18;12577:6;12574:30;12571:117;;;12607:79;;:::i;:::-;12571:117;12721:4;12713:6;12709:17;12697:29;;12775:3;12767:4;12759:6;12755:17;12745:8;12741:32;12738:41;12735:128;;;12782:79;;:::i;:::-;12735:128;12301:568;;;;;:::o;12875:849::-;12979:6;12987;12995;13003;13052:2;13040:9;13031:7;13027:23;13023:32;13020:119;;;13058:79;;:::i;:::-;13020:119;13178:1;13203:53;13248:7;13239:6;13228:9;13224:22;13203:53;:::i;:::-;13193:63;;13149:117;13333:2;13322:9;13318:18;13305:32;13364:18;13356:6;13353:30;13350:117;;;13386:79;;:::i;:::-;13350:117;13499:80;13571:7;13562:6;13551:9;13547:22;13499:80;:::i;:::-;13481:98;;;;13276:313;13628:2;13654:53;13699:7;13690:6;13679:9;13675:22;13654:53;:::i;:::-;13644:63;;13599:118;12875:849;;;;;;;:::o;13730:474::-;13798:6;13806;13855:2;13843:9;13834:7;13830:23;13826:32;13823:119;;;13861:79;;:::i;:::-;13823:119;13981:1;14006:53;14051:7;14042:6;14031:9;14027:22;14006:53;:::i;:::-;13996:63;;13952:117;14108:2;14134:53;14179:7;14170:6;14159:9;14155:22;14134:53;:::i;:::-;14124:63;;14079:118;13730:474;;;;;:::o;14210:180::-;14258:77;14255:1;14248:88;14355:4;14352:1;14345:15;14379:4;14376:1;14369:15;14396:320;14440:6;14477:1;14471:4;14467:12;14457:22;;14524:1;14518:4;14514:12;14545:18;14535:81;;14601:4;14593:6;14589:17;14579:27;;14535:81;14663:2;14655:6;14652:14;14632:18;14629:38;14626:84;;14682:18;;:::i;:::-;14626:84;14447:269;14396:320;;;:::o;14722:180::-;14770:77;14767:1;14760:88;14867:4;14864:1;14857:15;14891:4;14888:1;14881:15;14908:194;14948:4;14968:20;14986:1;14968:20;:::i;:::-;14963:25;;15002:20;15020:1;15002:20;:::i;:::-;14997:25;;15046:1;15043;15039:9;15031:17;;15070:1;15064:4;15061:11;15058:37;;;15075:18;;:::i;:::-;15058:37;14908:194;;;;:::o;15108:167::-;15248:19;15244:1;15236:6;15232:14;15225:43;15108:167;:::o;15281:366::-;15423:3;15444:67;15508:2;15503:3;15444:67;:::i;:::-;15437:74;;15520:93;15609:3;15520:93;:::i;:::-;15638:2;15633:3;15629:12;15622:19;;15281:366;;;:::o;15653:419::-;15819:4;15857:2;15846:9;15842:18;15834:26;;15906:9;15900:4;15896:20;15892:1;15881:9;15877:17;15870:47;15934:131;16060:4;15934:131;:::i;:::-;15926:139;;15653:419;;;:::o;16078:180::-;16126:77;16123:1;16116:88;16223:4;16220:1;16213:15;16247:4;16244:1;16237:15;16264:233;16303:3;16326:24;16344:5;16326:24;:::i;:::-;16317:33;;16372:66;16365:5;16362:77;16359:103;;16442:18;;:::i;:::-;16359:103;16489:1;16482:5;16478:13;16471:20;;16264:233;;;:::o;16503:143::-;16560:5;16591:6;16585:13;16576:22;;16607:33;16634:5;16607:33;:::i;:::-;16503:143;;;;:::o;16652:351::-;16722:6;16771:2;16759:9;16750:7;16746:23;16742:32;16739:119;;;16777:79;;:::i;:::-;16739:119;16897:1;16922:64;16978:7;16969:6;16958:9;16954:22;16922:64;:::i;:::-;16912:74;;16868:128;16652:351;;;;:::o;17009:134::-;17067:9;17100:37;17131:5;17100:37;:::i;:::-;17087:50;;17009:134;;;:::o;17149:147::-;17244:45;17283:5;17244:45;:::i;:::-;17239:3;17232:58;17149:147;;:::o;17302:348::-;17431:4;17469:2;17458:9;17454:18;17446:26;;17482:79;17558:1;17547:9;17543:17;17534:6;17482:79;:::i;:::-;17571:72;17639:2;17628:9;17624:18;17615:6;17571:72;:::i;:::-;17302:348;;;;;:::o;17656:137::-;17710:5;17741:6;17735:13;17726:22;;17757:30;17781:5;17757:30;:::i;:::-;17656:137;;;;:::o;17799:345::-;17866:6;17915:2;17903:9;17894:7;17890:23;17886:32;17883:119;;;17921:79;;:::i;:::-;17883:119;18041:1;18066:61;18119:7;18110:6;18099:9;18095:22;18066:61;:::i;:::-;18056:71;;18012:125;17799:345;;;;:::o;18150:143::-;18207:5;18238:6;18232:13;18223:22;;18254:33;18281:5;18254:33;:::i;:::-;18150:143;;;;:::o;18299:351::-;18369:6;18418:2;18406:9;18397:7;18393:23;18389:32;18386:119;;;18424:79;;:::i;:::-;18386:119;18544:1;18569:64;18625:7;18616:6;18605:9;18601:22;18569:64;:::i;:::-;18559:74;;18515:128;18299:351;;;;:::o;18656:332::-;18777:4;18815:2;18804:9;18800:18;18792:26;;18828:71;18896:1;18885:9;18881:17;18872:6;18828:71;:::i;:::-;18909:72;18977:2;18966:9;18962:18;18953:6;18909:72;:::i;:::-;18656:332;;;;;:::o;18994:442::-;19143:4;19181:2;19170:9;19166:18;19158:26;;19194:71;19262:1;19251:9;19247:17;19238:6;19194:71;:::i;:::-;19275:72;19343:2;19332:9;19328:18;19319:6;19275:72;:::i;:::-;19357;19425:2;19414:9;19410:18;19401:6;19357:72;:::i;:::-;18994:442;;;;;;:::o;19442:158::-;19582:10;19578:1;19570:6;19566:14;19559:34;19442:158;:::o;19606:365::-;19748:3;19769:66;19833:1;19828:3;19769:66;:::i;:::-;19762:73;;19844:93;19933:3;19844:93;:::i;:::-;19962:2;19957:3;19953:12;19946:19;;19606:365;;;:::o;19977:419::-;20143:4;20181:2;20170:9;20166:18;20158:26;;20230:9;20224:4;20220:20;20216:1;20205:9;20201:17;20194:47;20258:131;20384:4;20258:131;:::i;:::-;20250:139;;19977:419;;;:::o;20402:166::-;20542:18;20538:1;20530:6;20526:14;20519:42;20402:166;:::o;20574:366::-;20716:3;20737:67;20801:2;20796:3;20737:67;:::i;:::-;20730:74;;20813:93;20902:3;20813:93;:::i;:::-;20931:2;20926:3;20922:12;20915:19;;20574:366;;;:::o;20946:419::-;21112:4;21150:2;21139:9;21135:18;21127:26;;21199:9;21193:4;21189:20;21185:1;21174:9;21170:17;21163:47;21227:131;21353:4;21227:131;:::i;:::-;21219:139;;20946:419;;;:::o;21371:191::-;21411:3;21430:20;21448:1;21430:20;:::i;:::-;21425:25;;21464:20;21482:1;21464:20;:::i;:::-;21459:25;;21507:1;21504;21500:9;21493:16;;21528:3;21525:1;21522:10;21519:36;;;21535:18;;:::i;:::-;21519:36;21371:191;;;;:::o;21568:161::-;21708:13;21704:1;21696:6;21692:14;21685:37;21568:161;:::o;21735:366::-;21877:3;21898:67;21962:2;21957:3;21898:67;:::i;:::-;21891:74;;21974:93;22063:3;21974:93;:::i;:::-;22092:2;22087:3;22083:12;22076:19;;21735:366;;;:::o;22107:419::-;22273:4;22311:2;22300:9;22296:18;22288:26;;22360:9;22354:4;22350:20;22346:1;22335:9;22331:17;22324:47;22388:131;22514:4;22388:131;:::i;:::-;22380:139;;22107:419;;;:::o;22532:180::-;22580:77;22577:1;22570:88;22677:4;22674:1;22667:15;22701:4;22698:1;22691:15;22718:185;22758:1;22775:20;22793:1;22775:20;:::i;:::-;22770:25;;22809:20;22827:1;22809:20;:::i;:::-;22804:25;;22848:1;22838:35;;22853:18;;:::i;:::-;22838:35;22895:1;22892;22888:9;22883:14;;22718:185;;;;:::o;22909:114::-;22976:6;23010:5;23004:12;22994:22;;22909:114;;;:::o;23029:184::-;23128:11;23162:6;23157:3;23150:19;23202:4;23197:3;23193:14;23178:29;;23029:184;;;;:::o;23219:132::-;23286:4;23309:3;23301:11;;23339:4;23334:3;23330:14;23322:22;;23219:132;;;:::o;23357:108::-;23434:24;23452:5;23434:24;:::i;:::-;23429:3;23422:37;23357:108;;:::o;23471:179::-;23540:10;23561:46;23603:3;23595:6;23561:46;:::i;:::-;23639:4;23634:3;23630:14;23616:28;;23471:179;;;;:::o;23656:113::-;23726:4;23758;23753:3;23749:14;23741:22;;23656:113;;;:::o;23805:732::-;23924:3;23953:54;24001:5;23953:54;:::i;:::-;24023:86;24102:6;24097:3;24023:86;:::i;:::-;24016:93;;24133:56;24183:5;24133:56;:::i;:::-;24212:7;24243:1;24228:284;24253:6;24250:1;24247:13;24228:284;;;24329:6;24323:13;24356:63;24415:3;24400:13;24356:63;:::i;:::-;24349:70;;24442:60;24495:6;24442:60;:::i;:::-;24432:70;;24288:224;24275:1;24272;24268:9;24263:14;;24228:284;;;24232:14;24528:3;24521:10;;23929:608;;;23805:732;;;;:::o;24543:483::-;24714:4;24752:2;24741:9;24737:18;24729:26;;24765:71;24833:1;24822:9;24818:17;24809:6;24765:71;:::i;:::-;24883:9;24877:4;24873:20;24868:2;24857:9;24853:18;24846:48;24911:108;25014:4;25005:6;24911:108;:::i;:::-;24903:116;;24543:483;;;;;:::o;25032:311::-;25109:4;25199:18;25191:6;25188:30;25185:56;;;25221:18;;:::i;:::-;25185:56;25271:4;25263:6;25259:17;25251:25;;25331:4;25325;25321:15;25313:23;;25032:311;;;:::o;25366:732::-;25473:5;25498:81;25514:64;25571:6;25514:64;:::i;:::-;25498:81;:::i;:::-;25489:90;;25599:5;25628:6;25621:5;25614:21;25662:4;25655:5;25651:16;25644:23;;25715:4;25707:6;25703:17;25695:6;25691:30;25744:3;25736:6;25733:15;25730:122;;;25763:79;;:::i;:::-;25730:122;25878:6;25861:231;25895:6;25890:3;25887:15;25861:231;;;25970:3;25999:48;26043:3;26031:10;25999:48;:::i;:::-;25994:3;25987:61;26077:4;26072:3;26068:14;26061:21;;25937:155;25921:4;25916:3;25912:14;25905:21;;25861:231;;;25865:21;25479:619;;25366:732;;;;;:::o;26121:385::-;26203:5;26252:3;26245:4;26237:6;26233:17;26229:27;26219:122;;26260:79;;:::i;:::-;26219:122;26370:6;26364:13;26395:105;26496:3;26488:6;26481:4;26473:6;26469:17;26395:105;:::i;:::-;26386:114;;26209:297;26121:385;;;;:::o;26512:554::-;26607:6;26656:2;26644:9;26635:7;26631:23;26627:32;26624:119;;;26662:79;;:::i;:::-;26624:119;26803:1;26792:9;26788:17;26782:24;26833:18;26825:6;26822:30;26819:117;;;26855:79;;:::i;:::-;26819:117;26960:89;27041:7;27032:6;27021:9;27017:22;26960:89;:::i;:::-;26950:99;;26753:306;26512:554;;;;:::o;27072:85::-;27117:7;27146:5;27135:16;;27072:85;;;:::o;27163:158::-;27221:9;27254:61;27272:42;27281:32;27307:5;27281:32;:::i;:::-;27272:42;:::i;:::-;27254:61;:::i;:::-;27241:74;;27163:158;;;:::o;27327:147::-;27422:45;27461:5;27422:45;:::i;:::-;27417:3;27410:58;27327:147;;:::o;27480:831::-;27743:4;27781:3;27770:9;27766:19;27758:27;;27795:71;27863:1;27852:9;27848:17;27839:6;27795:71;:::i;:::-;27876:80;27952:2;27941:9;27937:18;27928:6;27876:80;:::i;:::-;28003:9;27997:4;27993:20;27988:2;27977:9;27973:18;27966:48;28031:108;28134:4;28125:6;28031:108;:::i;:::-;28023:116;;28149:72;28217:2;28206:9;28202:18;28193:6;28149:72;:::i;:::-;28231:73;28299:3;28288:9;28284:19;28275:6;28231:73;:::i;:::-;27480:831;;;;;;;;:::o;28317:847::-;28588:4;28626:3;28615:9;28611:19;28603:27;;28640:71;28708:1;28697:9;28693:17;28684:6;28640:71;:::i;:::-;28721:80;28797:2;28786:9;28782:18;28773:6;28721:80;:::i;:::-;28848:9;28842:4;28838:20;28833:2;28822:9;28818:18;28811:48;28876:108;28979:4;28970:6;28876:108;:::i;:::-;28868:116;;28994:80;29070:2;29059:9;29055:18;29046:6;28994:80;:::i;:::-;29084:73;29152:3;29141:9;29137:19;29128:6;29084:73;:::i;:::-;28317:847;;;;;;;;:::o;29170:410::-;29210:7;29233:20;29251:1;29233:20;:::i;:::-;29228:25;;29267:20;29285:1;29267:20;:::i;:::-;29262:25;;29322:1;29319;29315:9;29344:30;29362:11;29344:30;:::i;:::-;29333:41;;29523:1;29514:7;29510:15;29507:1;29504:22;29484:1;29477:9;29457:83;29434:139;;29553:18;;:::i;:::-;29434:139;29218:362;29170:410;;;;:::o

Swarm Source

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