ETH Price: $2,492.32 (-0.78%)
Gas: 3.55 Gwei

Token

Planet Of Inus (POIS)
 

Overview

Max Total Supply

500,000,000,000,000 POIS

Holders

60

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 POIS

Value
$0.00
0x45e47b93ac1b512e8257cc61304e3f61c2c918cd
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:
POIS

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

pragma solidity ^0.8.9;

// SPDX-License-Identifier:MIT

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

// Library for doing a swap on Dex
library Utils {
    using SafeMath for uint256;

    function swapTokensForEth(address routerAddress, uint256 tokenAmount)
        internal
    {
        uniswapRouter UniSwapRouter = uniswapRouter(routerAddress);

        // generate the Dex pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = UniSwapRouter.WETH();

        // make the swap
        UniSwapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp + 300
        );
    }

   
}

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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


interface uniswapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

contract POIS is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public _isExcludedFromFee;
    mapping(address => bool) public _isExcludedFromMaxTx;
    mapping(address => bool) public _isSniper;

    string private _name = "Planet Of Inus";
    string private _symbol = "POIS";
    uint8 private _decimals = 9;
    uint256 private _totalSupply = 500000 * 1e9 * 1e9;

    uniswapRouter public UniSwapRouter;
    address public UniSwapPair;
    address payable public marketDevWallet;

    uint256 public maxTxAmount = _totalSupply.mul(1).div(100); // should be 1% percent per transaction
    uint256 public minTokenToSwap = 100000 * 1e9; 
   
    uint256 public _launchTime; // can be set only once
    uint256 public antiSnipingTime = 90 seconds;

    bool public feesStatus = true; // enable by default
    bool public _tradingOpen; //once switched on, can never be switched off.
 
    uint256 public marketDevFee = 8; // Used for both marketing and development.  Future staking,vesting, P2E
    uint256 public maxHoldingLimit = _totalSupply.mul(1).div(100);
   


    constructor(address payable _marketDevWallet) {
        _balances[owner()] = _totalSupply;
        marketDevWallet = _marketDevWallet;

        uniswapRouter _uniSwapRouter = uniswapRouter(
             
         0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D //uniswap router address
        );
        
        UniSwapPair = IUniswapV2Factory(_uniSwapRouter.factory()).createPair(
            address(this),
            _uniSwapRouter.WETH()
        );

        // set the rest of the contract variables
        UniSwapRouter = _uniSwapRouter;

        //exclude owner and this contract from fee
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;

        // exclude from max tx
        _isExcludedFromMaxTx[owner()] = true;
        _isExcludedFromMaxTx[address(this)] = true;
         
     
        emit Transfer(address(0), owner(), _totalSupply);
    }

    receive() external payable {}

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

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

    function decimals() public view 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(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "POIS: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool)
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool)
    {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "POIS: decreased allowance below zero"));
        return true;
    }

    function includeOrExcludeFromFee(address account, bool value) external onlyOwner
    {
        _isExcludedFromFee[account] = value;
    }

    function includeOrExcludeFromMaxTx(address _address, bool value) external onlyOwner
    {
        _isExcludedFromMaxTx[_address] = value;
    }

    function setMaxTxAmount(uint256 _amount) external onlyOwner {
        maxTxAmount = _amount;
    }

      // for 1% input 100
    function setMaxHoldingPercent(uint256 value) public onlyOwner {
        maxHoldingLimit = _totalSupply.mul(value).div(100);
    }

    function setMinTokenToSwap(uint256 _amount) external onlyOwner {
        minTokenToSwap = _amount;
    }

    function setFeePercent(uint256 _marketDevFee) external onlyOwner {
        marketDevFee = _marketDevFee;  
    } 


    function enableOrDisableFees(bool _value) external onlyOwner {
        feesStatus = _value;
    }

    function UpdateMarketDevWalle(address payable _marketDevWallet) external onlyOwner {
             marketDevWallet = _marketDevWallet;
    }
      
    function setRouterAddress(uniswapRouter _router, address _pair) external onlyOwner
    {
        UniSwapRouter = _router;
        UniSwapPair = _pair;
    }

    function startTrading() external onlyOwner {
        require(!_tradingOpen, "POIS: Already enabled");
        _tradingOpen = true;
        _launchTime = block.timestamp;
    }

    function setTimeForSniping(uint256 _time) external onlyOwner {
        antiSnipingTime = _time;
    }

    function addSniperInList(address _account) external onlyOwner {
        require(
            _account != address(UniSwapRouter),
            "POIS: We can not blacklist UniSwapRouter"
        );
        require(!_isSniper[_account], "POIS: sniper already exist");
        _isSniper[_account] = true;
    }

    function removeSniperFromList(address _account) external onlyOwner {
        require(_isSniper[_account], "POIS: Not a sniper");
        _isSniper[_account] = false;
    }

   function totalFeePerTx(uint256 amount) public view returns (uint256) {
        uint256 fee = amount.mul(marketDevFee).div(1e2);
        return fee;
    }
 

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "POIS: approve from the zero address");
        require(spender != address(0), "POIS: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "POIS: transfer from the zero address");
        require(to != address(0), "POIS: transfer to the zero address");
        require(amount > 0, "POIS: Amount must be greater than zero");
        require(!_isSniper[to], "POIS: Sniper detected");
        require(!_isSniper[from], "POIS: Sniper detected");
        if(from == UniSwapPair && to != owner()){
            require(balanceOf(to).add(amount) <= maxHoldingLimit," POIS: Max Holding limit reached");
        }
        if (
            _isExcludedFromMaxTx[from] == false &&
            _isExcludedFromMaxTx[to] == false // by default false
        ) {
            require(amount <= maxTxAmount, "POIS: amount exceeded max limit");
           

            if (!_tradingOpen) {
                require(
                    from != UniSwapPair && to != UniSwapPair,
                    "POIS: Trading is not enabled yet"
                );
            }

            if (
                block.timestamp < _launchTime + antiSnipingTime &&
                from != address(UniSwapRouter)
            ) {
                if (from == UniSwapPair) {
                    _isSniper[to] = true;
                } else if (to == UniSwapPair) {
                    _isSniper[from] = true;
                }
            }
        }


        //indicates if fee should be deducted from transfer
        bool takeFee = true;

        //if any account belongs to _isExcludedFromFee account then remove the fee
        if (
            _isExcludedFromFee[from] ||
            _isExcludedFromFee[to] ||
            !feesStatus
        ) {
            takeFee = false;
        }

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

    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if ((sender == UniSwapPair || recipient == UniSwapPair) && takeFee) {
            uint256 allFee = totalFeePerTx(amount);
            uint256 tTransferAmount = amount.sub(allFee);
            _balances[sender] = _balances[sender].sub(amount);
            _balances[recipient] = _balances[recipient].add(tTransferAmount);
            emit Transfer(sender, recipient, tTransferAmount);

            _takeMarketDevFee(sender,amount);
        }  
        else {
            _balances[sender] = _balances[sender].sub(amount);
            _balances[recipient] = _balances[recipient].add(amount);
             
            emit Transfer(sender, recipient, amount);
        }
    }


    function _takeMarketDevFee(address sender,uint256 amount) internal {
        uint256 fee = amount.mul(marketDevFee).div(1e2);
        _balances[address(marketDevWallet)] = _balances[address(marketDevWallet)].add(fee);

        emit Transfer(sender, address(marketDevWallet), fee);
    }
 }

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_marketDevWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"UniSwapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UniSwapRouter","outputs":[{"internalType":"contract uniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_marketDevWallet","type":"address"}],"name":"UpdateMarketDevWalle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxTx","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"addSniperInList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiSnipingTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"enableOrDisableFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"includeOrExcludeFromMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketDevWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokenToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"_account","type":"address"}],"name":"removeSniperFromList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketDevFee","type":"uint256"}],"name":"setFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setMaxHoldingPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMinTokenToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract uniswapRouter","name":"_router","type":"address"},{"internalType":"address","name":"_pair","type":"address"}],"name":"setRouterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"setTimeForSniping","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"totalFeePerTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"}]

60806040526040518060400160405280600e81526020017f506c616e6574204f6620496e757300000000000000000000000000000000000081525060069080519060200190620000519291906200089d565b506040518060400160405280600481526020017f504f495300000000000000000000000000000000000000000000000000000000815250600790805190602001906200009f9291906200089d565b506009600860006101000a81548160ff021916908360ff1602179055506969e10de76676d0800000600955620001016064620000ed60016009546200072e60201b62001f871790919060201c565b620007b260201b620020021790919060201c565b600d55655af3107a4000600e55605a6010556001601160006101000a81548160ff02191690831515021790555060086012556200016a60646200015660016009546200072e60201b62001f871790919060201c565b620007b260201b620020021790919060201c565b6013553480156200017a57600080fd5b5060405162004ec838038062004ec88339818101604052810190620001a09190620009b7565b620001b06200080460201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360095460016000620002816200080c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200036057600080fd5b505afa15801562000375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039b919062000a2e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003fe57600080fd5b505afa15801562000413573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000439919062000a2e565b6040518363ffffffff1660e01b81526004016200045892919062000a71565b602060405180830381600087803b1580156200047357600080fd5b505af115801562000488573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ae919062000a2e565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000620005456200080c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000620006046200080c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006bd6200080c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200071e919062000ab9565b60405180910390a3505062000d92565b600080831415620007435760009050620007ac565b6000828462000753919062000b05565b905082848262000764919062000b95565b14620007a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200079e9062000c54565b60405180910390fd5b809150505b92915050565b6000620007fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200083560201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080831182906200087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000876919062000d09565b60405180910390fd5b506000838562000890919062000b95565b9050809150509392505050565b828054620008ab9062000d5c565b90600052602060002090601f016020900481019282620008cf57600085556200091b565b82601f10620008ea57805160ff19168380011785556200091b565b828001600101855582156200091b579182015b828111156200091a578251825591602001919060010190620008fd565b5b5090506200092a91906200092e565b5090565b5b80821115620009495760008160009055506001016200092f565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200097f8262000952565b9050919050565b620009918162000972565b81146200099d57600080fd5b50565b600081519050620009b18162000986565b92915050565b600060208284031215620009d057620009cf6200094d565b5b6000620009e084828501620009a0565b91505092915050565b6000620009f68262000952565b9050919050565b62000a0881620009e9565b811462000a1457600080fd5b50565b60008151905062000a2881620009fd565b92915050565b60006020828403121562000a475762000a466200094d565b5b600062000a578482850162000a17565b91505092915050565b62000a6b81620009e9565b82525050565b600060408201905062000a88600083018562000a60565b62000a97602083018462000a60565b9392505050565b6000819050919050565b62000ab38162000a9e565b82525050565b600060208201905062000ad0600083018462000aa8565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000b128262000a9e565b915062000b1f8362000a9e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b5b5762000b5a62000ad6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000ba28262000a9e565b915062000baf8362000a9e565b92508262000bc25762000bc162000b66565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000c3c60218362000bcd565b915062000c498262000bde565b604082019050919050565b6000602082019050818103600083015262000c6f8162000c2d565b9050919050565b600081519050919050565b60005b8381101562000ca157808201518184015260208101905062000c84565b8381111562000cb1576000848401525b50505050565b6000601f19601f8301169050919050565b600062000cd58262000c76565b62000ce1818562000bcd565b935062000cf381856020860162000c81565b62000cfe8162000cb7565b840191505092915050565b6000602082019050818103600083015262000d25818462000cc8565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d7557607f821691505b6020821081141562000d8c5762000d8b62000d2d565b5b50919050565b6141268062000da26000396000f3fe6080604052600436106102545760003560e01c80638c0b5e2211610139578063cd52c701116100b6578063f097ea1a1161007a578063f097ea1a146108e6578063f2fde38b1461090f578063f73c0cd214610938578063f882a05614610963578063fa58fc2d146109a0578063fdc2a2c1146109c95761025b565b8063cd52c70114610803578063dd62ed3e1461082e578063dd7bd7751461086b578063ea5b9e8514610894578063ec28438a146108bd5761025b565b8063a457c2d7116100fd578063a457c2d71461070c578063a9059cbb14610749578063b0bc2a2d14610786578063b445bd09146107af578063c6a7584e146107da5761025b565b80638c0b5e22146106375780638da5cb5b1461066257806395d89b411461068d5780639ab4c3eb146106b85780639e406797146106e35761025b565b8063313ce567116101d257806370a082311161019657806370a0823114610527578063715018a614610564578063768dc7101461057b57806379ebe4bd146105b85780637ce3489b146105e3578063879dd3c51461060c5761025b565b8063313ce5671461044057806338d6f8471461046b57806339509351146104945780633c8d355f146104d15780635154f136146104fc5761025b565b806318160ddd1161021957806318160ddd146103595780631884f1e6146103845780631fca803d146103af57806323b872dd146103ec578063293230b8146104295761025b565b806216bd6c1461026057806306fdde031461028957806307866291146102b45780630920fd8c146102f1578063095ea7b31461031c5761025b565b3661025b57005b600080fd5b34801561026c57600080fd5b5061028760048036038101906102829190613148565b6109f2565b005b34801561029557600080fd5b5061029e610ab8565b6040516102ab919061320e565b60405180910390f35b3480156102c057600080fd5b506102db60048036038101906102d6919061328e565b610b4a565b6040516102e891906132d6565b60405180910390f35b3480156102fd57600080fd5b50610306610b6a565b6040516103139190613300565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e919061331b565b610b70565b60405161035091906132d6565b60405180910390f35b34801561036557600080fd5b5061036e610b8e565b60405161037b9190613300565b60405180910390f35b34801561039057600080fd5b50610399610b98565b6040516103a69190613300565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d1919061328e565b610b9e565b6040516103e391906132d6565b60405180910390f35b3480156103f857600080fd5b50610413600480360381019061040e919061335b565b610bbe565b60405161042091906132d6565b60405180910390f35b34801561043557600080fd5b5061043e610c97565b005b34801561044c57600080fd5b50610455610da0565b60405161046291906133ca565b60405180910390f35b34801561047757600080fd5b50610492600480360381019061048d919061328e565b610db7565b005b3480156104a057600080fd5b506104bb60048036038101906104b6919061331b565b610fc5565b6040516104c891906132d6565b60405180910390f35b3480156104dd57600080fd5b506104e6611078565b6040516104f39190613300565b60405180910390f35b34801561050857600080fd5b5061051161107e565b60405161051e9190613300565b60405180910390f35b34801561053357600080fd5b5061054e6004803603810190610549919061328e565b611084565b60405161055b9190613300565b60405180910390f35b34801561057057600080fd5b506105796110cd565b005b34801561058757600080fd5b506105a2600480360381019061059d919061328e565b611220565b6040516105af91906132d6565b60405180910390f35b3480156105c457600080fd5b506105cd611240565b6040516105da9190613444565b60405180910390f35b3480156105ef57600080fd5b5061060a60048036038101906106059190613148565b611266565b005b34801561061857600080fd5b50610621611305565b60405161062e91906132d6565b60405180910390f35b34801561064357600080fd5b5061064c611318565b6040516106599190613300565b60405180910390f35b34801561066e57600080fd5b5061067761131e565b604051610684919061346e565b60405180910390f35b34801561069957600080fd5b506106a2611347565b6040516106af919061320e565b60405180910390f35b3480156106c457600080fd5b506106cd6113d9565b6040516106da91906134aa565b60405180910390f35b3480156106ef57600080fd5b5061070a600480360381019061070591906134f1565b6113ff565b005b34801561071857600080fd5b50610733600480360381019061072e919061331b565b6114ef565b60405161074091906132d6565b60405180910390f35b34801561075557600080fd5b50610770600480360381019061076b919061331b565b6115bc565b60405161077d91906132d6565b60405180910390f35b34801561079257600080fd5b506107ad60048036038101906107a89190613531565b6115da565b005b3480156107bb57600080fd5b506107c461168c565b6040516107d1919061346e565b60405180910390f35b3480156107e657600080fd5b5061080160048036038101906107fc919061359c565b6116b2565b005b34801561080f57600080fd5b506108186117cd565b60405161082591906132d6565b60405180910390f35b34801561083a57600080fd5b50610855600480360381019061085091906135dc565b6117e0565b6040516108629190613300565b60405180910390f35b34801561087757600080fd5b50610892600480360381019061088d919061328e565b611867565b005b3480156108a057600080fd5b506108bb60048036038101906108b691906134f1565b6119e3565b005b3480156108c957600080fd5b506108e460048036038101906108df9190613148565b611ad3565b005b3480156108f257600080fd5b5061090d60048036038101906109089190613148565b611b72565b005b34801561091b57600080fd5b506109366004803603810190610931919061328e565b611c11565b005b34801561094457600080fd5b5061094d611dd3565b60405161095a9190613300565b60405180910390f35b34801561096f57600080fd5b5061098a60048036038101906109859190613148565b611dd9565b6040516109979190613300565b60405180910390f35b3480156109ac57600080fd5b506109c760048036038101906109c29190613148565b611e0f565b005b3480156109d557600080fd5b506109f060048036038101906109eb9190613648565b611eae565b005b6109fa61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7e906136c1565b60405180910390fd5b610aaf6064610aa183600954611f8790919063ffffffff16565b61200290919063ffffffff16565b60138190555050565b606060068054610ac790613710565b80601f0160208091040260200160405190810160405280929190818152602001828054610af390613710565b8015610b405780601f10610b1557610100808354040283529160200191610b40565b820191906000526020600020905b815481529060010190602001808311610b2357829003601f168201915b5050505050905090565b60046020528060005260406000206000915054906101000a900460ff1681565b600f5481565b6000610b84610b7d61204c565b8484612054565b6001905092915050565b6000600954905090565b600e5481565b60056020528060005260406000206000915054906101000a900460ff1681565b6000610bcb84848461221f565b610c8c84610bd761204c565b610c87856040518060600160405280602781526020016140a660279139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c3d61204c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129fc9092919063ffffffff16565b612054565b600190509392505050565b610c9f61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d23906136c1565b60405180910390fd5b601160019054906101000a900460ff1615610d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d739061378e565b60405180910390fd5b6001601160016101000a81548160ff02191690831515021790555042600f81905550565b6000600860009054906101000a900460ff16905090565b610dbf61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e43906136c1565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed490613820565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f619061388c565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061106e610fd261204c565b846110698560026000610fe361204c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a6090919063ffffffff16565b612054565b6001905092915050565b60105481565b60135481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110d561204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611162576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611159906136c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61126e61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f2906136c1565b60405180910390fd5b8060128190555050565b601160009054906101000a900460ff1681565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606007805461135690613710565b80601f016020809104026020016040519081016040528092919081815260200182805461138290613710565b80156113cf5780601f106113a4576101008083540402835291602001916113cf565b820191906000526020600020905b8154815290600101906020018083116113b257829003601f168201915b5050505050905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61140761204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148b906136c1565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006115b26114fc61204c565b846115ad856040518060600160405280602481526020016140cd602491396002600061152661204c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129fc9092919063ffffffff16565b612054565b6001905092915050565b60006115d06115c961204c565b848461221f565b6001905092915050565b6115e261204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461166f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611666906136c1565b60405180910390fd5b80601160006101000a81548160ff02191690831515021790555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6116ba61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173e906136c1565b60405180910390fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601160019054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61186f61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f3906136c1565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197f906138f8565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6119eb61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6f906136c1565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611adb61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5f906136c1565b60405180910390fd5b80600d8190555050565b611b7a61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfe906136c1565b60405180910390fd5b80600e8190555050565b611c1961204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9d906136c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0d9061398a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60125481565b600080611e046064611df660125486611f8790919063ffffffff16565b61200290919063ffffffff16565b905080915050919050565b611e1761204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9b906136c1565b60405180910390fd5b8060108190555050565b611eb661204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3a906136c1565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080831415611f9a5760009050611ffc565b60008284611fa891906139d9565b9050828482611fb79190613a62565b14611ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fee90613b05565b60405180910390fd5b809150505b92915050565b600061204483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612abe565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120bb90613b97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212b90613c29565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516122129190613300565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561228f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228690613cbb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f690613d4d565b60405180910390fd5b60008111612342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233990613ddf565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c690613e4b565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561245c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245390613e4b565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124ec57506124bc61131e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156125515760135461250f8261250185611084565b612a6090919063ffffffff16565b1115612550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254790613eb7565b60405180910390fd5b5b60001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612601575060001515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1561292157600d5481111561264b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264290613f23565b60405180910390fd5b601160019054906101000a900460ff1661274b57600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561270b5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61274a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274190613f8f565b60405180910390fd5b5b601054600f5461275b9190613faf565b421080156127b75750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561292057600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561286f576001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061291f565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561291e576001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b5b5b600060019050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806129c85750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806129e05750601160009054906101000a900460ff16155b156129ea57600090505b6129f684848484612b21565b50505050565b6000838311158290612a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3b919061320e565b60405180910390fd5b5060008385612a539190614005565b9050809150509392505050565b6000808284612a6f9190613faf565b905083811015612ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aab90614085565b60405180910390fd5b8091505092915050565b60008083118290612b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612afc919061320e565b60405180910390fd5b5060008385612b149190613a62565b9050809150509392505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612bca5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015612bd35750805b15612d9c576000612be383611dd9565b90506000612bfa8285612f3290919063ffffffff16565b9050612c4e84600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f3290919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ce381600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a6090919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d839190613300565b60405180910390a3612d958685612f7c565b5050612f2c565b612dee82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f3290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e8382600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a6090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f239190613300565b60405180910390a35b50505050565b6000612f7483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506129fc565b905092915050565b6000612fa66064612f9860125485611f8790919063ffffffff16565b61200290919063ffffffff16565b905061301c8160016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a6090919063ffffffff16565b60016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131009190613300565b60405180910390a3505050565b600080fd5b6000819050919050565b61312581613112565b811461313057600080fd5b50565b6000813590506131428161311c565b92915050565b60006020828403121561315e5761315d61310d565b5b600061316c84828501613133565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131af578082015181840152602081019050613194565b838111156131be576000848401525b50505050565b6000601f19601f8301169050919050565b60006131e082613175565b6131ea8185613180565b93506131fa818560208601613191565b613203816131c4565b840191505092915050565b6000602082019050818103600083015261322881846131d5565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061325b82613230565b9050919050565b61326b81613250565b811461327657600080fd5b50565b60008135905061328881613262565b92915050565b6000602082840312156132a4576132a361310d565b5b60006132b284828501613279565b91505092915050565b60008115159050919050565b6132d0816132bb565b82525050565b60006020820190506132eb60008301846132c7565b92915050565b6132fa81613112565b82525050565b600060208201905061331560008301846132f1565b92915050565b600080604083850312156133325761333161310d565b5b600061334085828601613279565b925050602061335185828601613133565b9150509250929050565b6000806000606084860312156133745761337361310d565b5b600061338286828701613279565b935050602061339386828701613279565b92505060406133a486828701613133565b9150509250925092565b600060ff82169050919050565b6133c4816133ae565b82525050565b60006020820190506133df60008301846133bb565b92915050565b6000819050919050565b600061340a61340561340084613230565b6133e5565b613230565b9050919050565b600061341c826133ef565b9050919050565b600061342e82613411565b9050919050565b61343e81613423565b82525050565b60006020820190506134596000830184613435565b92915050565b61346881613250565b82525050565b6000602082019050613483600083018461345f565b92915050565b600061349482613230565b9050919050565b6134a481613489565b82525050565b60006020820190506134bf600083018461349b565b92915050565b6134ce816132bb565b81146134d957600080fd5b50565b6000813590506134eb816134c5565b92915050565b600080604083850312156135085761350761310d565b5b600061351685828601613279565b9250506020613527858286016134dc565b9150509250929050565b6000602082840312156135475761354661310d565b5b6000613555848285016134dc565b91505092915050565b600061356982613250565b9050919050565b6135798161355e565b811461358457600080fd5b50565b60008135905061359681613570565b92915050565b600080604083850312156135b3576135b261310d565b5b60006135c185828601613587565b92505060206135d285828601613279565b9150509250929050565b600080604083850312156135f3576135f261310d565b5b600061360185828601613279565b925050602061361285828601613279565b9150509250929050565b61362581613489565b811461363057600080fd5b50565b6000813590506136428161361c565b92915050565b60006020828403121561365e5761365d61310d565b5b600061366c84828501613633565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006136ab602083613180565b91506136b682613675565b602082019050919050565b600060208201905081810360008301526136da8161369e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061372857607f821691505b6020821081141561373c5761373b6136e1565b5b50919050565b7f504f49533a20416c726561647920656e61626c65640000000000000000000000600082015250565b6000613778601583613180565b915061378382613742565b602082019050919050565b600060208201905081810360008301526137a78161376b565b9050919050565b7f504f49533a2057652063616e206e6f7420626c61636b6c69737420556e69537760008201527f6170526f75746572000000000000000000000000000000000000000000000000602082015250565b600061380a602883613180565b9150613815826137ae565b604082019050919050565b60006020820190508181036000830152613839816137fd565b9050919050565b7f504f49533a20736e6970657220616c7265616479206578697374000000000000600082015250565b6000613876601a83613180565b915061388182613840565b602082019050919050565b600060208201905081810360008301526138a581613869565b9050919050565b7f504f49533a204e6f74206120736e697065720000000000000000000000000000600082015250565b60006138e2601283613180565b91506138ed826138ac565b602082019050919050565b60006020820190508181036000830152613911816138d5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613974602683613180565b915061397f82613918565b604082019050919050565b600060208201905081810360008301526139a381613967565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139e482613112565b91506139ef83613112565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613a2857613a276139aa565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613a6d82613112565b9150613a7883613112565b925082613a8857613a87613a33565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613aef602183613180565b9150613afa82613a93565b604082019050919050565b60006020820190508181036000830152613b1e81613ae2565b9050919050565b7f504f49533a20617070726f76652066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613b81602383613180565b9150613b8c82613b25565b604082019050919050565b60006020820190508181036000830152613bb081613b74565b9050919050565b7f504f49533a20617070726f766520746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c13602183613180565b9150613c1e82613bb7565b604082019050919050565b60006020820190508181036000830152613c4281613c06565b9050919050565b7f504f49533a207472616e736665722066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ca5602483613180565b9150613cb082613c49565b604082019050919050565b60006020820190508181036000830152613cd481613c98565b9050919050565b7f504f49533a207472616e7366657220746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d37602283613180565b9150613d4282613cdb565b604082019050919050565b60006020820190508181036000830152613d6681613d2a565b9050919050565b7f504f49533a20416d6f756e74206d75737420626520677265617465722074686160008201527f6e207a65726f0000000000000000000000000000000000000000000000000000602082015250565b6000613dc9602683613180565b9150613dd482613d6d565b604082019050919050565b60006020820190508181036000830152613df881613dbc565b9050919050565b7f504f49533a20536e697065722064657465637465640000000000000000000000600082015250565b6000613e35601583613180565b9150613e4082613dff565b602082019050919050565b60006020820190508181036000830152613e6481613e28565b9050919050565b7f20504f49533a204d617820486f6c64696e67206c696d69742072656163686564600082015250565b6000613ea1602083613180565b9150613eac82613e6b565b602082019050919050565b60006020820190508181036000830152613ed081613e94565b9050919050565b7f504f49533a20616d6f756e74206578636565646564206d6178206c696d697400600082015250565b6000613f0d601f83613180565b9150613f1882613ed7565b602082019050919050565b60006020820190508181036000830152613f3c81613f00565b9050919050565b7f504f49533a2054726164696e67206973206e6f7420656e61626c656420796574600082015250565b6000613f79602083613180565b9150613f8482613f43565b602082019050919050565b60006020820190508181036000830152613fa881613f6c565b9050919050565b6000613fba82613112565b9150613fc583613112565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ffa57613ff96139aa565b5b828201905092915050565b600061401082613112565b915061401b83613112565b92508282101561402e5761402d6139aa565b5b828203905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061406f601b83613180565b915061407a82614039565b602082019050919050565b6000602082019050818103600083015261409e81614062565b905091905056fe504f49533a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365504f49533a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fbf77c416cbc7265534464135ed4d10a8fd73f6a677c0c6f08326812d88364f964736f6c63430008090033000000000000000000000000c90d3aea3d7ec29c1a310fb3a72656906b2a1909

Deployed Bytecode

0x6080604052600436106102545760003560e01c80638c0b5e2211610139578063cd52c701116100b6578063f097ea1a1161007a578063f097ea1a146108e6578063f2fde38b1461090f578063f73c0cd214610938578063f882a05614610963578063fa58fc2d146109a0578063fdc2a2c1146109c95761025b565b8063cd52c70114610803578063dd62ed3e1461082e578063dd7bd7751461086b578063ea5b9e8514610894578063ec28438a146108bd5761025b565b8063a457c2d7116100fd578063a457c2d71461070c578063a9059cbb14610749578063b0bc2a2d14610786578063b445bd09146107af578063c6a7584e146107da5761025b565b80638c0b5e22146106375780638da5cb5b1461066257806395d89b411461068d5780639ab4c3eb146106b85780639e406797146106e35761025b565b8063313ce567116101d257806370a082311161019657806370a0823114610527578063715018a614610564578063768dc7101461057b57806379ebe4bd146105b85780637ce3489b146105e3578063879dd3c51461060c5761025b565b8063313ce5671461044057806338d6f8471461046b57806339509351146104945780633c8d355f146104d15780635154f136146104fc5761025b565b806318160ddd1161021957806318160ddd146103595780631884f1e6146103845780631fca803d146103af57806323b872dd146103ec578063293230b8146104295761025b565b806216bd6c1461026057806306fdde031461028957806307866291146102b45780630920fd8c146102f1578063095ea7b31461031c5761025b565b3661025b57005b600080fd5b34801561026c57600080fd5b5061028760048036038101906102829190613148565b6109f2565b005b34801561029557600080fd5b5061029e610ab8565b6040516102ab919061320e565b60405180910390f35b3480156102c057600080fd5b506102db60048036038101906102d6919061328e565b610b4a565b6040516102e891906132d6565b60405180910390f35b3480156102fd57600080fd5b50610306610b6a565b6040516103139190613300565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e919061331b565b610b70565b60405161035091906132d6565b60405180910390f35b34801561036557600080fd5b5061036e610b8e565b60405161037b9190613300565b60405180910390f35b34801561039057600080fd5b50610399610b98565b6040516103a69190613300565b60405180910390f35b3480156103bb57600080fd5b506103d660048036038101906103d1919061328e565b610b9e565b6040516103e391906132d6565b60405180910390f35b3480156103f857600080fd5b50610413600480360381019061040e919061335b565b610bbe565b60405161042091906132d6565b60405180910390f35b34801561043557600080fd5b5061043e610c97565b005b34801561044c57600080fd5b50610455610da0565b60405161046291906133ca565b60405180910390f35b34801561047757600080fd5b50610492600480360381019061048d919061328e565b610db7565b005b3480156104a057600080fd5b506104bb60048036038101906104b6919061331b565b610fc5565b6040516104c891906132d6565b60405180910390f35b3480156104dd57600080fd5b506104e6611078565b6040516104f39190613300565b60405180910390f35b34801561050857600080fd5b5061051161107e565b60405161051e9190613300565b60405180910390f35b34801561053357600080fd5b5061054e6004803603810190610549919061328e565b611084565b60405161055b9190613300565b60405180910390f35b34801561057057600080fd5b506105796110cd565b005b34801561058757600080fd5b506105a2600480360381019061059d919061328e565b611220565b6040516105af91906132d6565b60405180910390f35b3480156105c457600080fd5b506105cd611240565b6040516105da9190613444565b60405180910390f35b3480156105ef57600080fd5b5061060a60048036038101906106059190613148565b611266565b005b34801561061857600080fd5b50610621611305565b60405161062e91906132d6565b60405180910390f35b34801561064357600080fd5b5061064c611318565b6040516106599190613300565b60405180910390f35b34801561066e57600080fd5b5061067761131e565b604051610684919061346e565b60405180910390f35b34801561069957600080fd5b506106a2611347565b6040516106af919061320e565b60405180910390f35b3480156106c457600080fd5b506106cd6113d9565b6040516106da91906134aa565b60405180910390f35b3480156106ef57600080fd5b5061070a600480360381019061070591906134f1565b6113ff565b005b34801561071857600080fd5b50610733600480360381019061072e919061331b565b6114ef565b60405161074091906132d6565b60405180910390f35b34801561075557600080fd5b50610770600480360381019061076b919061331b565b6115bc565b60405161077d91906132d6565b60405180910390f35b34801561079257600080fd5b506107ad60048036038101906107a89190613531565b6115da565b005b3480156107bb57600080fd5b506107c461168c565b6040516107d1919061346e565b60405180910390f35b3480156107e657600080fd5b5061080160048036038101906107fc919061359c565b6116b2565b005b34801561080f57600080fd5b506108186117cd565b60405161082591906132d6565b60405180910390f35b34801561083a57600080fd5b50610855600480360381019061085091906135dc565b6117e0565b6040516108629190613300565b60405180910390f35b34801561087757600080fd5b50610892600480360381019061088d919061328e565b611867565b005b3480156108a057600080fd5b506108bb60048036038101906108b691906134f1565b6119e3565b005b3480156108c957600080fd5b506108e460048036038101906108df9190613148565b611ad3565b005b3480156108f257600080fd5b5061090d60048036038101906109089190613148565b611b72565b005b34801561091b57600080fd5b506109366004803603810190610931919061328e565b611c11565b005b34801561094457600080fd5b5061094d611dd3565b60405161095a9190613300565b60405180910390f35b34801561096f57600080fd5b5061098a60048036038101906109859190613148565b611dd9565b6040516109979190613300565b60405180910390f35b3480156109ac57600080fd5b506109c760048036038101906109c29190613148565b611e0f565b005b3480156109d557600080fd5b506109f060048036038101906109eb9190613648565b611eae565b005b6109fa61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7e906136c1565b60405180910390fd5b610aaf6064610aa183600954611f8790919063ffffffff16565b61200290919063ffffffff16565b60138190555050565b606060068054610ac790613710565b80601f0160208091040260200160405190810160405280929190818152602001828054610af390613710565b8015610b405780601f10610b1557610100808354040283529160200191610b40565b820191906000526020600020905b815481529060010190602001808311610b2357829003601f168201915b5050505050905090565b60046020528060005260406000206000915054906101000a900460ff1681565b600f5481565b6000610b84610b7d61204c565b8484612054565b6001905092915050565b6000600954905090565b600e5481565b60056020528060005260406000206000915054906101000a900460ff1681565b6000610bcb84848461221f565b610c8c84610bd761204c565b610c87856040518060600160405280602781526020016140a660279139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c3d61204c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129fc9092919063ffffffff16565b612054565b600190509392505050565b610c9f61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d23906136c1565b60405180910390fd5b601160019054906101000a900460ff1615610d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d739061378e565b60405180910390fd5b6001601160016101000a81548160ff02191690831515021790555042600f81905550565b6000600860009054906101000a900460ff16905090565b610dbf61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e43906136c1565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed490613820565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f619061388c565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061106e610fd261204c565b846110698560026000610fe361204c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a6090919063ffffffff16565b612054565b6001905092915050565b60105481565b60135481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110d561204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611162576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611159906136c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60036020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61126e61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f2906136c1565b60405180910390fd5b8060128190555050565b601160009054906101000a900460ff1681565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606007805461135690613710565b80601f016020809104026020016040519081016040528092919081815260200182805461138290613710565b80156113cf5780601f106113a4576101008083540402835291602001916113cf565b820191906000526020600020905b8154815290600101906020018083116113b257829003601f168201915b5050505050905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61140761204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148b906136c1565b60405180910390fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006115b26114fc61204c565b846115ad856040518060600160405280602481526020016140cd602491396002600061152661204c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129fc9092919063ffffffff16565b612054565b6001905092915050565b60006115d06115c961204c565b848461221f565b6001905092915050565b6115e261204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461166f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611666906136c1565b60405180910390fd5b80601160006101000a81548160ff02191690831515021790555050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6116ba61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173e906136c1565b60405180910390fd5b81600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601160019054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61186f61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f3906136c1565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197f906138f8565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6119eb61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6f906136c1565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611adb61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5f906136c1565b60405180910390fd5b80600d8190555050565b611b7a61204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfe906136c1565b60405180910390fd5b80600e8190555050565b611c1961204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9d906136c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0d9061398a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60125481565b600080611e046064611df660125486611f8790919063ffffffff16565b61200290919063ffffffff16565b905080915050919050565b611e1761204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9b906136c1565b60405180910390fd5b8060108190555050565b611eb661204c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3a906136c1565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080831415611f9a5760009050611ffc565b60008284611fa891906139d9565b9050828482611fb79190613a62565b14611ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fee90613b05565b60405180910390fd5b809150505b92915050565b600061204483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612abe565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120bb90613b97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212b90613c29565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516122129190613300565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561228f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228690613cbb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f690613d4d565b60405180910390fd5b60008111612342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233990613ddf565b60405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c690613e4b565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561245c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245390613e4b565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124ec57506124bc61131e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156125515760135461250f8261250185611084565b612a6090919063ffffffff16565b1115612550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254790613eb7565b60405180910390fd5b5b60001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612601575060001515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1561292157600d5481111561264b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264290613f23565b60405180910390fd5b601160019054906101000a900460ff1661274b57600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561270b5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61274a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274190613f8f565b60405180910390fd5b5b601054600f5461275b9190613faf565b421080156127b75750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561292057600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561286f576001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061291f565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561291e576001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b5b5b600060019050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806129c85750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806129e05750601160009054906101000a900460ff16155b156129ea57600090505b6129f684848484612b21565b50505050565b6000838311158290612a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3b919061320e565b60405180910390fd5b5060008385612a539190614005565b9050809150509392505050565b6000808284612a6f9190613faf565b905083811015612ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aab90614085565b60405180910390fd5b8091505092915050565b60008083118290612b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612afc919061320e565b60405180910390fd5b5060008385612b149190613a62565b9050809150509392505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612bca5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015612bd35750805b15612d9c576000612be383611dd9565b90506000612bfa8285612f3290919063ffffffff16565b9050612c4e84600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f3290919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ce381600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a6090919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d839190613300565b60405180910390a3612d958685612f7c565b5050612f2c565b612dee82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f3290919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e8382600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a6090919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f239190613300565b60405180910390a35b50505050565b6000612f7483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506129fc565b905092915050565b6000612fa66064612f9860125485611f8790919063ffffffff16565b61200290919063ffffffff16565b905061301c8160016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a6090919063ffffffff16565b60016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516131009190613300565b60405180910390a3505050565b600080fd5b6000819050919050565b61312581613112565b811461313057600080fd5b50565b6000813590506131428161311c565b92915050565b60006020828403121561315e5761315d61310d565b5b600061316c84828501613133565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131af578082015181840152602081019050613194565b838111156131be576000848401525b50505050565b6000601f19601f8301169050919050565b60006131e082613175565b6131ea8185613180565b93506131fa818560208601613191565b613203816131c4565b840191505092915050565b6000602082019050818103600083015261322881846131d5565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061325b82613230565b9050919050565b61326b81613250565b811461327657600080fd5b50565b60008135905061328881613262565b92915050565b6000602082840312156132a4576132a361310d565b5b60006132b284828501613279565b91505092915050565b60008115159050919050565b6132d0816132bb565b82525050565b60006020820190506132eb60008301846132c7565b92915050565b6132fa81613112565b82525050565b600060208201905061331560008301846132f1565b92915050565b600080604083850312156133325761333161310d565b5b600061334085828601613279565b925050602061335185828601613133565b9150509250929050565b6000806000606084860312156133745761337361310d565b5b600061338286828701613279565b935050602061339386828701613279565b92505060406133a486828701613133565b9150509250925092565b600060ff82169050919050565b6133c4816133ae565b82525050565b60006020820190506133df60008301846133bb565b92915050565b6000819050919050565b600061340a61340561340084613230565b6133e5565b613230565b9050919050565b600061341c826133ef565b9050919050565b600061342e82613411565b9050919050565b61343e81613423565b82525050565b60006020820190506134596000830184613435565b92915050565b61346881613250565b82525050565b6000602082019050613483600083018461345f565b92915050565b600061349482613230565b9050919050565b6134a481613489565b82525050565b60006020820190506134bf600083018461349b565b92915050565b6134ce816132bb565b81146134d957600080fd5b50565b6000813590506134eb816134c5565b92915050565b600080604083850312156135085761350761310d565b5b600061351685828601613279565b9250506020613527858286016134dc565b9150509250929050565b6000602082840312156135475761354661310d565b5b6000613555848285016134dc565b91505092915050565b600061356982613250565b9050919050565b6135798161355e565b811461358457600080fd5b50565b60008135905061359681613570565b92915050565b600080604083850312156135b3576135b261310d565b5b60006135c185828601613587565b92505060206135d285828601613279565b9150509250929050565b600080604083850312156135f3576135f261310d565b5b600061360185828601613279565b925050602061361285828601613279565b9150509250929050565b61362581613489565b811461363057600080fd5b50565b6000813590506136428161361c565b92915050565b60006020828403121561365e5761365d61310d565b5b600061366c84828501613633565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006136ab602083613180565b91506136b682613675565b602082019050919050565b600060208201905081810360008301526136da8161369e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061372857607f821691505b6020821081141561373c5761373b6136e1565b5b50919050565b7f504f49533a20416c726561647920656e61626c65640000000000000000000000600082015250565b6000613778601583613180565b915061378382613742565b602082019050919050565b600060208201905081810360008301526137a78161376b565b9050919050565b7f504f49533a2057652063616e206e6f7420626c61636b6c69737420556e69537760008201527f6170526f75746572000000000000000000000000000000000000000000000000602082015250565b600061380a602883613180565b9150613815826137ae565b604082019050919050565b60006020820190508181036000830152613839816137fd565b9050919050565b7f504f49533a20736e6970657220616c7265616479206578697374000000000000600082015250565b6000613876601a83613180565b915061388182613840565b602082019050919050565b600060208201905081810360008301526138a581613869565b9050919050565b7f504f49533a204e6f74206120736e697065720000000000000000000000000000600082015250565b60006138e2601283613180565b91506138ed826138ac565b602082019050919050565b60006020820190508181036000830152613911816138d5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613974602683613180565b915061397f82613918565b604082019050919050565b600060208201905081810360008301526139a381613967565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139e482613112565b91506139ef83613112565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613a2857613a276139aa565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613a6d82613112565b9150613a7883613112565b925082613a8857613a87613a33565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613aef602183613180565b9150613afa82613a93565b604082019050919050565b60006020820190508181036000830152613b1e81613ae2565b9050919050565b7f504f49533a20617070726f76652066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613b81602383613180565b9150613b8c82613b25565b604082019050919050565b60006020820190508181036000830152613bb081613b74565b9050919050565b7f504f49533a20617070726f766520746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c13602183613180565b9150613c1e82613bb7565b604082019050919050565b60006020820190508181036000830152613c4281613c06565b9050919050565b7f504f49533a207472616e736665722066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ca5602483613180565b9150613cb082613c49565b604082019050919050565b60006020820190508181036000830152613cd481613c98565b9050919050565b7f504f49533a207472616e7366657220746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d37602283613180565b9150613d4282613cdb565b604082019050919050565b60006020820190508181036000830152613d6681613d2a565b9050919050565b7f504f49533a20416d6f756e74206d75737420626520677265617465722074686160008201527f6e207a65726f0000000000000000000000000000000000000000000000000000602082015250565b6000613dc9602683613180565b9150613dd482613d6d565b604082019050919050565b60006020820190508181036000830152613df881613dbc565b9050919050565b7f504f49533a20536e697065722064657465637465640000000000000000000000600082015250565b6000613e35601583613180565b9150613e4082613dff565b602082019050919050565b60006020820190508181036000830152613e6481613e28565b9050919050565b7f20504f49533a204d617820486f6c64696e67206c696d69742072656163686564600082015250565b6000613ea1602083613180565b9150613eac82613e6b565b602082019050919050565b60006020820190508181036000830152613ed081613e94565b9050919050565b7f504f49533a20616d6f756e74206578636565646564206d6178206c696d697400600082015250565b6000613f0d601f83613180565b9150613f1882613ed7565b602082019050919050565b60006020820190508181036000830152613f3c81613f00565b9050919050565b7f504f49533a2054726164696e67206973206e6f7420656e61626c656420796574600082015250565b6000613f79602083613180565b9150613f8482613f43565b602082019050919050565b60006020820190508181036000830152613fa881613f6c565b9050919050565b6000613fba82613112565b9150613fc583613112565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ffa57613ff96139aa565b5b828201905092915050565b600061401082613112565b915061401b83613112565b92508282101561402e5761402d6139aa565b5b828203905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061406f601b83613180565b915061407a82614039565b602082019050919050565b6000602082019050818103600083015261409e81614062565b905091905056fe504f49533a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365504f49533a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fbf77c416cbc7265534464135ed4d10a8fd73f6a677c0c6f08326812d88364f964736f6c63430008090033

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

000000000000000000000000c90d3aea3d7ec29c1a310fb3a72656906b2a1909

-----Decoded View---------------
Arg [0] : _marketDevWallet (address): 0xc90D3AEA3d7eC29c1A310Fb3a72656906B2A1909

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c90d3aea3d7ec29c1a310fb3a72656906b2a1909


Deployed Bytecode Sourcemap

5567:9866:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10195:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7805:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5834:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6401:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8653:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8082:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6344:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5893:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8827:411;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11003:179;;;;;;;;;;;;;:::i;:::-;;7991:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11301:312;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9246:223;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6458:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6759:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8190:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5114:157;;;;;;;;;;;;;:::i;:::-;;5777:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6119:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10448:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6510:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6240:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4900:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7896:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6193:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9906:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9477:273;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8317:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10573:99;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6160:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10835:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6567:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8497:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11621:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9758:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10060:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10334:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5279:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6648:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11802:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11190:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10680:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10195:131;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10286:32:::1;10314:3;10286:23;10303:5;10286:12;;:16;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;10268:15;:50;;;;10195:131:::0;:::o;7805:83::-;7842:13;7875:5;7868:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7805:83;:::o;5834:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;6401:26::-;;;;:::o;8653:166::-;8728:4;8750:39;8759:12;:10;:12::i;:::-;8773:7;8782:6;8750:8;:39::i;:::-;8807:4;8800:11;;8653:166;;;;:::o;8082:100::-;8135:7;8162:12;;8155:19;;8082:100;:::o;6344:44::-;;;;:::o;5893:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;8827:411::-;8925:4;8942:36;8952:6;8960:9;8971:6;8942:9;:36::i;:::-;8989:219;9012:6;9033:12;:10;:12::i;:::-;9060:137;9116:6;9060:137;;;;;;;;;;;;;;;;;:11;:19;9072:6;9060:19;;;;;;;;;;;;;;;:33;9080:12;:10;:12::i;:::-;9060:33;;;;;;;;;;;;;;;;:37;;:137;;;;;:::i;:::-;8989:8;:219::i;:::-;9226:4;9219:11;;8827:411;;;;;:::o;11003:179::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11066:12:::1;;;;;;;;;;;11065:13;11057:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11130:4;11115:12;;:19;;;;;;;;;;;;;;;;;;11159:15;11145:11;:29;;;;11003:179::o:0;7991:83::-;8032:5;8057:9;;;;;;;;;;;8050:16;;7991:83;:::o;11301:312::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11416:13:::1;;;;;;;;;;;11396:34;;:8;:34;;;;11374:124;;;;;;;;;;;;:::i;:::-;;;;;;;;;11518:9;:19;11528:8;11518:19;;;;;;;;;;;;;;;;;;;;;;;;;11517:20;11509:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;11601:4;11579:9;:19;11589:8;11579:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;11301:312:::0;:::o;9246:223::-;9334:4;9356:83;9365:12;:10;:12::i;:::-;9379:7;9388:50;9427:10;9388:11;:25;9400:12;:10;:12::i;:::-;9388:25;;;;;;;;;;;;;;;:34;9414:7;9388:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;9356:8;:83::i;:::-;9457:4;9450:11;;9246:223;;;;:::o;6458:43::-;;;;:::o;6759:61::-;;;;:::o;8190:119::-;8256:7;8283:9;:18;8293:7;8283:18;;;;;;;;;;;;;;;;8276:25;;8190:119;;;:::o;5114:157::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5221:1:::1;5184:40;;5205:6;::::0;::::1;;;;;;;;5184:40;;;;;;;;;;;;5260:1;5235:6:::0;::::1;:28;;;;;;;;;;;;;;;;;;5114:157::o:0;5777:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;6119:34::-;;;;;;;;;;;;;:::o;10448:114::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10539:13:::1;10524:12;:28;;;;10448:114:::0;:::o;6510:29::-;;;;;;;;;;;;;:::o;6240:57::-;;;;:::o;4900:79::-;4938:7;4965:6;;;;;;;;;;;4958:13;;4900:79;:::o;7896:87::-;7935:13;7968:7;7961:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7896:87;:::o;6193:38::-;;;;;;;;;;;;;:::o;9906:146::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10039:5:::1;10006:20;:30;10027:8;10006:30;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;9906:146:::0;;:::o;9477:273::-;9570:4;9592:128;9601:12;:10;:12::i;:::-;9615:7;9624:95;9663:15;9624:95;;;;;;;;;;;;;;;;;:11;:25;9636:12;:10;:12::i;:::-;9624:25;;;;;;;;;;;;;;;:34;9650:7;9624:34;;;;;;;;;;;;;;;;:38;;:95;;;;;:::i;:::-;9592:8;:128::i;:::-;9738:4;9731:11;;9477:273;;;;:::o;8317:172::-;8395:4;8417:42;8427:12;:10;:12::i;:::-;8441:9;8452:6;8417:9;:42::i;:::-;8477:4;8470:11;;8317:172;;;;:::o;10573:99::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10658:6:::1;10645:10;;:19;;;;;;;;;;;;;;;;;;10573:99:::0;:::o;6160:26::-;;;;;;;;;;;;;:::o;10835:160::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10950:7:::1;10934:13;;:23;;;;;;;;;;;;;;;;;;10982:5;10968:11;;:19;;;;;;;;;;;;;;;;;;10835:160:::0;;:::o;6567:24::-;;;;;;;;;;;;;:::o;8497:148::-;8578:7;8610:11;:18;8622:5;8610:18;;;;;;;;;;;;;;;:27;8629:7;8610:27;;;;;;;;;;;;;;;;8603:34;;8497:148;;;;:::o;11621:174::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11707:9:::1;:19;11717:8;11707:19;;;;;;;;;;;;;;;;;;;;;;;;;11699:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;11782:5;11760:9;:19;11770:8;11760:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;11621:174:::0;:::o;9758:140::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9885:5:::1;9855:18;:27;9874:7;9855:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;9758:140:::0;;:::o;10060:100::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10145:7:::1;10131:11;:21;;;;10060:100:::0;:::o;10334:106::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10425:7:::1;10408:14;:24;;;;10334:106:::0;:::o;5279:281::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5402:1:::1;5382:22;;:8;:22;;;;5360:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;5515:8;5486:38;;5507:6;::::0;::::1;;;;;;;;5486:38;;;;;;;;;;;;5544:8;5535:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5279:281:::0;:::o;6648:31::-;;;;:::o;11802:156::-;11862:7;11882:11;11896:33;11925:3;11896:24;11907:12;;11896:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;11882:47;;11947:3;11940:10;;;11802:156;;;:::o;11190:103::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11280:5:::1;11262:15;:23;;;;11190:103:::0;:::o;10680:141::-;5037:12;:10;:12::i;:::-;5027:22;;:6;;;;;;;;;;:22;;;5019:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10797:16:::1;10779:15;;:34;;;;;;;;;;;;;;;;;;10680:141:::0;:::o;2029:471::-;2087:7;2337:1;2332;:6;2328:47;;;2362:1;2355:8;;;;2328:47;2387:9;2403:1;2399;:5;;;;:::i;:::-;2387:17;;2432:1;2427;2423;:5;;;;:::i;:::-;:10;2415:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2491:1;2484:8;;;2029:471;;;;;:::o;2508:132::-;2566:7;2593:39;2597:1;2600;2593:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2586:46;;2508:132;;;;:::o;4236:115::-;4289:15;4332:10;4317:26;;4236:115;:::o;11969:369::-;12113:1;12096:19;;:5;:19;;;;12088:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12193:1;12174:21;;:7;:21;;;;12166:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12276:6;12246:11;:18;12258:5;12246:18;;;;;;;;;;;;;;;:27;12265:7;12246:27;;;;;;;;;;;;;;;:36;;;;12314:7;12298:32;;12307:5;12298:32;;;12323:6;12298:32;;;;;;:::i;:::-;;;;;;;;11969:369;;;:::o;12346:1862::-;12484:1;12468:18;;:4;:18;;;;12460:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12560:1;12546:16;;:2;:16;;;;12538:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;12629:1;12620:6;:10;12612:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;12693:9;:13;12703:2;12693:13;;;;;;;;;;;;;;;;;;;;;;;;;12692:14;12684:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12752:9;:15;12762:4;12752:15;;;;;;;;;;;;;;;;;;;;;;;;;12751:16;12743:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;12815:11;;;;;;;;;;;12807:19;;:4;:19;;;:36;;;;;12836:7;:5;:7::i;:::-;12830:13;;:2;:13;;;;12807:36;12804:155;;;12896:15;;12867:25;12885:6;12867:13;12877:2;12867:9;:13::i;:::-;:17;;:25;;;;:::i;:::-;:44;;12859:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;12804:155;13017:5;12987:35;;:20;:26;13008:4;12987:26;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;:85;;;;;13067:5;13039:33;;:20;:24;13060:2;13039:24;;;;;;;;;;;;;;;;;;;;;;;;;:33;;;12987:85;12969:824;;;13137:11;;13127:6;:21;;13119:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;13219:12;;;;;;;;;;;13214:200;;13290:11;;;;;;;;;;;13282:19;;:4;:19;;;;:40;;;;;13311:11;;;;;;;;;;;13305:17;;:2;:17;;;;13282:40;13252:146;;;;;;;;;;;;:::i;:::-;;;;;;;;;13214:200;13484:15;;13470:11;;:29;;;;:::i;:::-;13452:15;:47;:98;;;;;13536:13;;;;;;;;;;;13520:30;;:4;:30;;;;13452:98;13430:352;;;13597:11;;;;;;;;;;;13589:19;;:4;:19;;;13585:182;;;13649:4;13633:9;:13;13643:2;13633:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13585:182;;;13689:11;;;;;;;;;;;13683:17;;:2;:17;;;13679:88;;;13743:4;13725:9;:15;13735:4;13725:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;13679:88;13585:182;13430:352;12969:824;13868:12;13883:4;13868:19;;14002:18;:24;14021:4;14002:24;;;;;;;;;;;;;;;;;;;;;;;;;:63;;;;14043:18;:22;14062:2;14043:22;;;;;;;;;;;;;;;;;;;;;;;;;14002:63;:91;;;;14083:10;;;;;;;;;;;14082:11;14002:91;13984:163;;;14130:5;14120:15;;13984:163;14159:41;14174:4;14180:2;14184:6;14192:7;14159:14;:41::i;:::-;12449:1759;12346:1862;;;:::o;1795:226::-;1915:7;1948:1;1943;:6;;1951:12;1935:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1975:9;1991:1;1987;:5;;;;:::i;:::-;1975:17;;2012:1;2005:8;;;1795:226;;;;;:::o;1462:181::-;1520:7;1540:9;1556:1;1552;:5;;;;:::i;:::-;1540:17;;1581:1;1576;:6;;1568:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1634:1;1627:8;;;1462:181;;;;:::o;2648:312::-;2768:7;2800:1;2796;:5;2803:12;2788:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2827:9;2843:1;2839;:5;;;;:::i;:::-;2827:17;;2951:1;2944:8;;;2648:312;;;;;:::o;14289:839::-;14455:11;;;;;;;;;;;14445:21;;:6;:21;;;:49;;;;14483:11;;;;;;;;;;;14470:24;;:9;:24;;;14445:49;14444:62;;;;;14499:7;14444:62;14440:681;;;14523:14;14540:21;14554:6;14540:13;:21::i;:::-;14523:38;;14576:23;14602:18;14613:6;14602;:10;;:18;;;;:::i;:::-;14576:44;;14655:29;14677:6;14655:9;:17;14665:6;14655:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;14635:9;:17;14645:6;14635:17;;;;;;;;;;;;;;;:49;;;;14722:41;14747:15;14722:9;:20;14732:9;14722:20;;;;;;;;;;;;;;;;:24;;:41;;;;:::i;:::-;14699:9;:20;14709:9;14699:20;;;;;;;;;;;;;;;:64;;;;14800:9;14783:44;;14792:6;14783:44;;;14811:15;14783:44;;;;;;:::i;:::-;;;;;;;;14844:32;14862:6;14869;14844:17;:32::i;:::-;14508:380;;14440:681;;;14940:29;14962:6;14940:9;:17;14950:6;14940:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;14920:9;:17;14930:6;14920:17;;;;;;;;;;;;;;;:49;;;;15007:32;15032:6;15007:9;:20;15017:9;15007:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;14984:9;:20;14994:9;14984:20;;;;;;;;;;;;;;;:55;;;;15091:9;15074:35;;15083:6;15074:35;;;15102:6;15074:35;;;;;;:::i;:::-;;;;;;;;14440:681;14289:839;;;;:::o;1651:136::-;1709:7;1736:43;1740:1;1743;1736:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1729:50;;1651:136;;;;:::o;15138:291::-;15216:11;15230:33;15259:3;15230:24;15241:12;;15230:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;15216:47;;15312:44;15352:3;15312:9;:35;15330:15;;;;;;;;;;;15312:35;;;;;;;;;;;;;;;;:39;;:44;;;;:::i;:::-;15274:9;:35;15292:15;;;;;;;;;;;15274:35;;;;;;;;;;;;;;;:82;;;;15399:15;;;;;;;;;;;15374:47;;15383:6;15374:47;;;15417:3;15374:47;;;;;;:::i;:::-;;;;;;;;15205:224;15138:291;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:307::-;1373:1;1383:113;1397:6;1394:1;1391:13;1383:113;;;1482:1;1477:3;1473:11;1467:18;1463:1;1458:3;1454:11;1447:39;1419:2;1416:1;1412:10;1407:15;;1383:113;;;1514:6;1511:1;1508:13;1505:101;;;1594:1;1585:6;1580:3;1576:16;1569:27;1505:101;1354:258;1305:307;;;:::o;1618:102::-;1659:6;1710:2;1706:7;1701:2;1694:5;1690:14;1686:28;1676:38;;1618:102;;;:::o;1726:364::-;1814:3;1842:39;1875:5;1842:39;:::i;:::-;1897:71;1961:6;1956:3;1897:71;:::i;:::-;1890:78;;1977:52;2022:6;2017:3;2010:4;2003:5;1999:16;1977:52;:::i;:::-;2054:29;2076:6;2054:29;:::i;:::-;2049:3;2045:39;2038:46;;1818:272;1726:364;;;;:::o;2096:313::-;2209:4;2247:2;2236:9;2232:18;2224:26;;2296:9;2290:4;2286:20;2282:1;2271:9;2267:17;2260:47;2324:78;2397:4;2388:6;2324:78;:::i;:::-;2316:86;;2096:313;;;;:::o;2415:126::-;2452:7;2492:42;2485:5;2481:54;2470:65;;2415:126;;;:::o;2547:96::-;2584:7;2613:24;2631:5;2613:24;:::i;:::-;2602:35;;2547:96;;;:::o;2649:122::-;2722:24;2740:5;2722:24;:::i;:::-;2715:5;2712:35;2702:63;;2761:1;2758;2751:12;2702:63;2649:122;:::o;2777:139::-;2823:5;2861:6;2848:20;2839:29;;2877:33;2904:5;2877:33;:::i;:::-;2777:139;;;;:::o;2922:329::-;2981:6;3030:2;3018:9;3009:7;3005:23;3001:32;2998:119;;;3036:79;;:::i;:::-;2998:119;3156:1;3181:53;3226:7;3217:6;3206:9;3202:22;3181:53;:::i;:::-;3171:63;;3127:117;2922:329;;;;:::o;3257:90::-;3291:7;3334:5;3327:13;3320:21;3309:32;;3257:90;;;:::o;3353:109::-;3434:21;3449:5;3434:21;:::i;:::-;3429:3;3422:34;3353:109;;:::o;3468:210::-;3555:4;3593:2;3582:9;3578:18;3570:26;;3606:65;3668:1;3657:9;3653:17;3644:6;3606:65;:::i;:::-;3468:210;;;;:::o;3684:118::-;3771:24;3789:5;3771:24;:::i;:::-;3766:3;3759:37;3684:118;;:::o;3808:222::-;3901:4;3939:2;3928:9;3924:18;3916:26;;3952:71;4020:1;4009:9;4005:17;3996:6;3952:71;:::i;:::-;3808:222;;;;:::o;4036:474::-;4104:6;4112;4161:2;4149:9;4140:7;4136:23;4132:32;4129:119;;;4167:79;;:::i;:::-;4129:119;4287:1;4312:53;4357:7;4348:6;4337:9;4333:22;4312:53;:::i;:::-;4302:63;;4258:117;4414:2;4440:53;4485:7;4476:6;4465:9;4461:22;4440:53;:::i;:::-;4430:63;;4385:118;4036:474;;;;;:::o;4516:619::-;4593:6;4601;4609;4658:2;4646:9;4637:7;4633:23;4629:32;4626:119;;;4664:79;;:::i;:::-;4626:119;4784:1;4809:53;4854:7;4845:6;4834:9;4830:22;4809:53;:::i;:::-;4799:63;;4755:117;4911:2;4937:53;4982:7;4973:6;4962:9;4958:22;4937:53;:::i;:::-;4927:63;;4882:118;5039:2;5065:53;5110:7;5101:6;5090:9;5086:22;5065:53;:::i;:::-;5055:63;;5010:118;4516:619;;;;;:::o;5141:86::-;5176:7;5216:4;5209:5;5205:16;5194:27;;5141:86;;;:::o;5233:112::-;5316:22;5332:5;5316:22;:::i;:::-;5311:3;5304:35;5233:112;;:::o;5351:214::-;5440:4;5478:2;5467:9;5463:18;5455:26;;5491:67;5555:1;5544:9;5540:17;5531:6;5491:67;:::i;:::-;5351:214;;;;:::o;5571:60::-;5599:3;5620:5;5613:12;;5571:60;;;:::o;5637:142::-;5687:9;5720:53;5738:34;5747:24;5765:5;5747:24;:::i;:::-;5738:34;:::i;:::-;5720:53;:::i;:::-;5707:66;;5637:142;;;:::o;5785:126::-;5835:9;5868:37;5899:5;5868:37;:::i;:::-;5855:50;;5785:126;;;:::o;5917:147::-;5988:9;6021:37;6052:5;6021:37;:::i;:::-;6008:50;;5917:147;;;:::o;6070:173::-;6178:58;6230:5;6178:58;:::i;:::-;6173:3;6166:71;6070:173;;:::o;6249:264::-;6363:4;6401:2;6390:9;6386:18;6378:26;;6414:92;6503:1;6492:9;6488:17;6479:6;6414:92;:::i;:::-;6249:264;;;;:::o;6519:118::-;6606:24;6624:5;6606:24;:::i;:::-;6601:3;6594:37;6519:118;;:::o;6643:222::-;6736:4;6774:2;6763:9;6759:18;6751:26;;6787:71;6855:1;6844:9;6840:17;6831:6;6787:71;:::i;:::-;6643:222;;;;:::o;6871:104::-;6916:7;6945:24;6963:5;6945:24;:::i;:::-;6934:35;;6871:104;;;:::o;6981:142::-;7084:32;7110:5;7084:32;:::i;:::-;7079:3;7072:45;6981:142;;:::o;7129:254::-;7238:4;7276:2;7265:9;7261:18;7253:26;;7289:87;7373:1;7362:9;7358:17;7349:6;7289:87;:::i;:::-;7129:254;;;;:::o;7389:116::-;7459:21;7474:5;7459:21;:::i;:::-;7452:5;7449:32;7439:60;;7495:1;7492;7485:12;7439:60;7389:116;:::o;7511:133::-;7554:5;7592:6;7579:20;7570:29;;7608:30;7632:5;7608:30;:::i;:::-;7511:133;;;;:::o;7650:468::-;7715:6;7723;7772:2;7760:9;7751:7;7747:23;7743:32;7740:119;;;7778:79;;:::i;:::-;7740:119;7898:1;7923:53;7968:7;7959:6;7948:9;7944:22;7923:53;:::i;:::-;7913:63;;7869:117;8025:2;8051:50;8093:7;8084:6;8073:9;8069:22;8051:50;:::i;:::-;8041:60;;7996:115;7650:468;;;;;:::o;8124:323::-;8180:6;8229:2;8217:9;8208:7;8204:23;8200:32;8197:119;;;8235:79;;:::i;:::-;8197:119;8355:1;8380:50;8422:7;8413:6;8402:9;8398:22;8380:50;:::i;:::-;8370:60;;8326:114;8124:323;;;;:::o;8453:117::-;8511:7;8540:24;8558:5;8540:24;:::i;:::-;8529:35;;8453:117;;;:::o;8576:164::-;8670:45;8709:5;8670:45;:::i;:::-;8663:5;8660:56;8650:84;;8730:1;8727;8720:12;8650:84;8576:164;:::o;8746:181::-;8813:5;8851:6;8838:20;8829:29;;8867:54;8915:5;8867:54;:::i;:::-;8746:181;;;;:::o;8933:516::-;9022:6;9030;9079:2;9067:9;9058:7;9054:23;9050:32;9047:119;;;9085:79;;:::i;:::-;9047:119;9205:1;9230:74;9296:7;9287:6;9276:9;9272:22;9230:74;:::i;:::-;9220:84;;9176:138;9353:2;9379:53;9424:7;9415:6;9404:9;9400:22;9379:53;:::i;:::-;9369:63;;9324:118;8933:516;;;;;:::o;9455:474::-;9523:6;9531;9580:2;9568:9;9559:7;9555:23;9551:32;9548:119;;;9586:79;;:::i;:::-;9548:119;9706:1;9731:53;9776:7;9767:6;9756:9;9752:22;9731:53;:::i;:::-;9721:63;;9677:117;9833:2;9859:53;9904:7;9895:6;9884:9;9880:22;9859:53;:::i;:::-;9849:63;;9804:118;9455:474;;;;;:::o;9935:138::-;10016:32;10042:5;10016:32;:::i;:::-;10009:5;10006:43;9996:71;;10063:1;10060;10053:12;9996:71;9935:138;:::o;10079:155::-;10133:5;10171:6;10158:20;10149:29;;10187:41;10222:5;10187:41;:::i;:::-;10079:155;;;;:::o;10240:345::-;10307:6;10356:2;10344:9;10335:7;10331:23;10327:32;10324:119;;;10362:79;;:::i;:::-;10324:119;10482:1;10507:61;10560:7;10551:6;10540:9;10536:22;10507:61;:::i;:::-;10497:71;;10453:125;10240:345;;;;:::o;10591:182::-;10731:34;10727:1;10719:6;10715:14;10708:58;10591:182;:::o;10779:366::-;10921:3;10942:67;11006:2;11001:3;10942:67;:::i;:::-;10935:74;;11018:93;11107:3;11018:93;:::i;:::-;11136:2;11131:3;11127:12;11120:19;;10779:366;;;:::o;11151:419::-;11317:4;11355:2;11344:9;11340:18;11332:26;;11404:9;11398:4;11394:20;11390:1;11379:9;11375:17;11368:47;11432:131;11558:4;11432:131;:::i;:::-;11424:139;;11151:419;;;:::o;11576:180::-;11624:77;11621:1;11614:88;11721:4;11718:1;11711:15;11745:4;11742:1;11735:15;11762:320;11806:6;11843:1;11837:4;11833:12;11823:22;;11890:1;11884:4;11880:12;11911:18;11901:81;;11967:4;11959:6;11955:17;11945:27;;11901:81;12029:2;12021:6;12018:14;11998:18;11995:38;11992:84;;;12048:18;;:::i;:::-;11992:84;11813:269;11762:320;;;:::o;12088:171::-;12228:23;12224:1;12216:6;12212:14;12205:47;12088:171;:::o;12265:366::-;12407:3;12428:67;12492:2;12487:3;12428:67;:::i;:::-;12421:74;;12504:93;12593:3;12504:93;:::i;:::-;12622:2;12617:3;12613:12;12606:19;;12265:366;;;:::o;12637:419::-;12803:4;12841:2;12830:9;12826:18;12818:26;;12890:9;12884:4;12880:20;12876:1;12865:9;12861:17;12854:47;12918:131;13044:4;12918:131;:::i;:::-;12910:139;;12637:419;;;:::o;13062:227::-;13202:34;13198:1;13190:6;13186:14;13179:58;13271:10;13266:2;13258:6;13254:15;13247:35;13062:227;:::o;13295:366::-;13437:3;13458:67;13522:2;13517:3;13458:67;:::i;:::-;13451:74;;13534:93;13623:3;13534:93;:::i;:::-;13652:2;13647:3;13643:12;13636:19;;13295:366;;;:::o;13667:419::-;13833:4;13871:2;13860:9;13856:18;13848:26;;13920:9;13914:4;13910:20;13906:1;13895:9;13891:17;13884:47;13948:131;14074:4;13948:131;:::i;:::-;13940:139;;13667:419;;;:::o;14092:176::-;14232:28;14228:1;14220:6;14216:14;14209:52;14092:176;:::o;14274:366::-;14416:3;14437:67;14501:2;14496:3;14437:67;:::i;:::-;14430:74;;14513:93;14602:3;14513:93;:::i;:::-;14631:2;14626:3;14622:12;14615:19;;14274:366;;;:::o;14646:419::-;14812:4;14850:2;14839:9;14835:18;14827:26;;14899:9;14893:4;14889:20;14885:1;14874:9;14870:17;14863:47;14927:131;15053:4;14927:131;:::i;:::-;14919:139;;14646:419;;;:::o;15071:168::-;15211:20;15207:1;15199:6;15195:14;15188:44;15071:168;:::o;15245:366::-;15387:3;15408:67;15472:2;15467:3;15408:67;:::i;:::-;15401:74;;15484:93;15573:3;15484:93;:::i;:::-;15602:2;15597:3;15593:12;15586:19;;15245:366;;;:::o;15617:419::-;15783:4;15821:2;15810:9;15806:18;15798:26;;15870:9;15864:4;15860:20;15856:1;15845:9;15841:17;15834:47;15898:131;16024:4;15898:131;:::i;:::-;15890:139;;15617:419;;;:::o;16042:225::-;16182:34;16178:1;16170:6;16166:14;16159:58;16251:8;16246:2;16238:6;16234:15;16227:33;16042:225;:::o;16273:366::-;16415:3;16436:67;16500:2;16495:3;16436:67;:::i;:::-;16429:74;;16512:93;16601:3;16512:93;:::i;:::-;16630:2;16625:3;16621:12;16614:19;;16273:366;;;:::o;16645:419::-;16811:4;16849:2;16838:9;16834:18;16826:26;;16898:9;16892:4;16888:20;16884:1;16873:9;16869:17;16862:47;16926:131;17052:4;16926:131;:::i;:::-;16918:139;;16645:419;;;:::o;17070:180::-;17118:77;17115:1;17108:88;17215:4;17212:1;17205:15;17239:4;17236:1;17229:15;17256:348;17296:7;17319:20;17337:1;17319:20;:::i;:::-;17314:25;;17353:20;17371:1;17353:20;:::i;:::-;17348:25;;17541:1;17473:66;17469:74;17466:1;17463:81;17458:1;17451:9;17444:17;17440:105;17437:131;;;17548:18;;:::i;:::-;17437:131;17596:1;17593;17589:9;17578:20;;17256:348;;;;:::o;17610:180::-;17658:77;17655:1;17648:88;17755:4;17752:1;17745:15;17779:4;17776:1;17769:15;17796:185;17836:1;17853:20;17871:1;17853:20;:::i;:::-;17848:25;;17887:20;17905:1;17887:20;:::i;:::-;17882:25;;17926:1;17916:35;;17931:18;;:::i;:::-;17916:35;17973:1;17970;17966:9;17961:14;;17796:185;;;;:::o;17987:220::-;18127:34;18123:1;18115:6;18111:14;18104:58;18196:3;18191:2;18183:6;18179:15;18172:28;17987:220;:::o;18213:366::-;18355:3;18376:67;18440:2;18435:3;18376:67;:::i;:::-;18369:74;;18452:93;18541:3;18452:93;:::i;:::-;18570:2;18565:3;18561:12;18554:19;;18213:366;;;:::o;18585:419::-;18751:4;18789:2;18778:9;18774:18;18766:26;;18838:9;18832:4;18828:20;18824:1;18813:9;18809:17;18802:47;18866:131;18992:4;18866:131;:::i;:::-;18858:139;;18585:419;;;:::o;19010:222::-;19150:34;19146:1;19138:6;19134:14;19127:58;19219:5;19214:2;19206:6;19202:15;19195:30;19010:222;:::o;19238:366::-;19380:3;19401:67;19465:2;19460:3;19401:67;:::i;:::-;19394:74;;19477:93;19566:3;19477:93;:::i;:::-;19595:2;19590:3;19586:12;19579:19;;19238:366;;;:::o;19610:419::-;19776:4;19814:2;19803:9;19799:18;19791:26;;19863:9;19857:4;19853:20;19849:1;19838:9;19834:17;19827:47;19891:131;20017:4;19891:131;:::i;:::-;19883:139;;19610:419;;;:::o;20035:220::-;20175:34;20171:1;20163:6;20159:14;20152:58;20244:3;20239:2;20231:6;20227:15;20220:28;20035:220;:::o;20261:366::-;20403:3;20424:67;20488:2;20483:3;20424:67;:::i;:::-;20417:74;;20500:93;20589:3;20500:93;:::i;:::-;20618:2;20613:3;20609:12;20602:19;;20261:366;;;:::o;20633:419::-;20799:4;20837:2;20826:9;20822:18;20814:26;;20886:9;20880:4;20876:20;20872:1;20861:9;20857:17;20850:47;20914:131;21040:4;20914:131;:::i;:::-;20906:139;;20633:419;;;:::o;21058:223::-;21198:34;21194:1;21186:6;21182:14;21175:58;21267:6;21262:2;21254:6;21250:15;21243:31;21058:223;:::o;21287:366::-;21429:3;21450:67;21514:2;21509:3;21450:67;:::i;:::-;21443:74;;21526:93;21615:3;21526:93;:::i;:::-;21644:2;21639:3;21635:12;21628:19;;21287:366;;;:::o;21659:419::-;21825:4;21863:2;21852:9;21848:18;21840:26;;21912:9;21906:4;21902:20;21898:1;21887:9;21883:17;21876:47;21940:131;22066:4;21940:131;:::i;:::-;21932:139;;21659:419;;;:::o;22084:221::-;22224:34;22220:1;22212:6;22208:14;22201:58;22293:4;22288:2;22280:6;22276:15;22269:29;22084:221;:::o;22311:366::-;22453:3;22474:67;22538:2;22533:3;22474:67;:::i;:::-;22467:74;;22550:93;22639:3;22550:93;:::i;:::-;22668:2;22663:3;22659:12;22652:19;;22311:366;;;:::o;22683:419::-;22849:4;22887:2;22876:9;22872:18;22864:26;;22936:9;22930:4;22926:20;22922:1;22911:9;22907:17;22900:47;22964:131;23090:4;22964:131;:::i;:::-;22956:139;;22683:419;;;:::o;23108:225::-;23248:34;23244:1;23236:6;23232:14;23225:58;23317:8;23312:2;23304:6;23300:15;23293:33;23108:225;:::o;23339:366::-;23481:3;23502:67;23566:2;23561:3;23502:67;:::i;:::-;23495:74;;23578:93;23667:3;23578:93;:::i;:::-;23696:2;23691:3;23687:12;23680:19;;23339:366;;;:::o;23711:419::-;23877:4;23915:2;23904:9;23900:18;23892:26;;23964:9;23958:4;23954:20;23950:1;23939:9;23935:17;23928:47;23992:131;24118:4;23992:131;:::i;:::-;23984:139;;23711:419;;;:::o;24136:171::-;24276:23;24272:1;24264:6;24260:14;24253:47;24136:171;:::o;24313:366::-;24455:3;24476:67;24540:2;24535:3;24476:67;:::i;:::-;24469:74;;24552:93;24641:3;24552:93;:::i;:::-;24670:2;24665:3;24661:12;24654:19;;24313:366;;;:::o;24685:419::-;24851:4;24889:2;24878:9;24874:18;24866:26;;24938:9;24932:4;24928:20;24924:1;24913:9;24909:17;24902:47;24966:131;25092:4;24966:131;:::i;:::-;24958:139;;24685:419;;;:::o;25110:182::-;25250:34;25246:1;25238:6;25234:14;25227:58;25110:182;:::o;25298:366::-;25440:3;25461:67;25525:2;25520:3;25461:67;:::i;:::-;25454:74;;25537:93;25626:3;25537:93;:::i;:::-;25655:2;25650:3;25646:12;25639:19;;25298:366;;;:::o;25670:419::-;25836:4;25874:2;25863:9;25859:18;25851:26;;25923:9;25917:4;25913:20;25909:1;25898:9;25894:17;25887:47;25951:131;26077:4;25951:131;:::i;:::-;25943:139;;25670:419;;;:::o;26095:181::-;26235:33;26231:1;26223:6;26219:14;26212:57;26095:181;:::o;26282:366::-;26424:3;26445:67;26509:2;26504:3;26445:67;:::i;:::-;26438:74;;26521:93;26610:3;26521:93;:::i;:::-;26639:2;26634:3;26630:12;26623:19;;26282:366;;;:::o;26654:419::-;26820:4;26858:2;26847:9;26843:18;26835:26;;26907:9;26901:4;26897:20;26893:1;26882:9;26878:17;26871:47;26935:131;27061:4;26935:131;:::i;:::-;26927:139;;26654:419;;;:::o;27079:182::-;27219:34;27215:1;27207:6;27203:14;27196:58;27079:182;:::o;27267:366::-;27409:3;27430:67;27494:2;27489:3;27430:67;:::i;:::-;27423:74;;27506:93;27595:3;27506:93;:::i;:::-;27624:2;27619:3;27615:12;27608:19;;27267:366;;;:::o;27639:419::-;27805:4;27843:2;27832:9;27828:18;27820:26;;27892:9;27886:4;27882:20;27878:1;27867:9;27863:17;27856:47;27920:131;28046:4;27920:131;:::i;:::-;27912:139;;27639:419;;;:::o;28064:305::-;28104:3;28123:20;28141:1;28123:20;:::i;:::-;28118:25;;28157:20;28175:1;28157:20;:::i;:::-;28152:25;;28311:1;28243:66;28239:74;28236:1;28233:81;28230:107;;;28317:18;;:::i;:::-;28230:107;28361:1;28358;28354:9;28347:16;;28064:305;;;;:::o;28375:191::-;28415:4;28435:20;28453:1;28435:20;:::i;:::-;28430:25;;28469:20;28487:1;28469:20;:::i;:::-;28464:25;;28508:1;28505;28502:8;28499:34;;;28513:18;;:::i;:::-;28499:34;28558:1;28555;28551:9;28543:17;;28375:191;;;;:::o;28572:177::-;28712:29;28708:1;28700:6;28696:14;28689:53;28572:177;:::o;28755:366::-;28897:3;28918:67;28982:2;28977:3;28918:67;:::i;:::-;28911:74;;28994:93;29083:3;28994:93;:::i;:::-;29112:2;29107:3;29103:12;29096:19;;28755:366;;;:::o;29127:419::-;29293:4;29331:2;29320:9;29316:18;29308:26;;29380:9;29374:4;29370:20;29366:1;29355:9;29351:17;29344:47;29408:131;29534:4;29408:131;:::i;:::-;29400:139;;29127:419;;;:::o

Swarm Source

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