ETH Price: $2,522.33 (-0.23%)

Token

SNOOPY (SNOOPY)
 

Overview

Max Total Supply

6,900,000,000,000 SNOOPY

Holders

22

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
91,112,302,550.930252523892614071 SNOOPY

Value
$0.00
0x9ab5657982689c38edc358004e8cab744aa710b0
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:
Snoopy

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-17
*/

// SPDX-License-Identifier: MIT 

/*

Im snoopy i like spooning very much , for me to spoon i need you all to pump this to 1mil mc at that mc im able to buy a hooker to be spooning with 
without your help i wont be able to do that but 1mil is 1 hooker at 2 mil is 2 hookers so the more the better

https://twitter.com/SnoopyERC20

https://t.me/snoopyerc

https://www.snoopyeth.com

*/

pragma solidity <= 0.8.18 > 0.8.0;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; 
        return msg.data;
    }
}

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

interface IERC20Metadata is IERC20 {

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

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

    function decimals() external view returns (uint8);
}


contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping (address => uint256) internal _balances;

    mapping (address => mapping (address => uint256)) internal _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }


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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(account, account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }

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

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

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}

library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

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

contract Snoopy is ERC20, Ownable{
    using Address for address payable;
    
    IRouter public router;
    address public pair;
    
    bool private swapping;
    bool public swapEnabled;
    bool public tradingEnabled;
    bool public reflection;

    uint256 tsupply = 6900000000000 * 10 ** decimals();
    uint256 public swapThreshold = tsupply * 5/1000;
    uint256 public maxTxAmount = tsupply * 2/100;
    uint256 public maxWalletAmount = tsupply * 2/100;
    
    address private devWallet;
    
    uint256 public totalTax = 5;
    uint256 public totalSellTax = 25;
    
    mapping (address => bool) public excludedFromFees;
    
    modifier inSwap() {
        if (!swapping) {
            swapping = true;
            _;
            swapping = false;
        }
    }
        
    constructor(address _devWallet) ERC20("SNOOPY", "SNOOPY") {
        devWallet = _devWallet;
        _mint(msg.sender, tsupply);
        excludedFromFees[msg.sender] = true;

        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory())
            .createPair(address(this), _router.WETH());

        router = _router;
        pair = _pair;
        excludedFromFees[address(this)] = true;
        excludedFromFees[devWallet] = true;
    }
    
    function _transfer(address sender, address recipient, uint256 amount) internal override {
        require(amount > 0, "Transfer amount must be greater than zero");
                
        
        if(!excludedFromFees[sender] && !excludedFromFees[recipient] && !swapping){
            require(tradingEnabled, "Trading not active yet");
            require(amount <= maxTxAmount, "You are exceeding maxTxAmount");
            if(recipient != pair){
                require(balanceOf(recipient) + amount <= maxWalletAmount, "You are exceeding maxWalletAmount");
            }
        }

        uint256 fee;
        
  
        if (swapping || excludedFromFees[sender] || excludedFromFees[recipient]) fee = 0;
        
        else{
            if(recipient == pair) fee = amount * totalSellTax / 100;
            else fee = amount * totalTax / 100;
        }
        

        if (swapEnabled && !swapping && sender != pair) swapForFees();

        super._transfer(sender, recipient, amount - fee);
        if(fee > 0) super._transfer(sender, address(this) ,fee);

    }

     function swapForFees() private inSwap {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance >= swapThreshold) {
            swapTokensForETH(swapThreshold);
        }
    }


    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        _approve(address(this), address(router), tokenAmount);

        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, devWallet, block.timestamp);

    }

    function reflections(bool state) external onlyOwner {
        reflection = state;
    }
    
    function setSwapEnabled(bool state) external onlyOwner {
        swapEnabled = state;
    }

    function setSwapThreshold(uint256 new_amount) external onlyOwner {
        swapThreshold = new_amount;
    }

    function enableTrading() external onlyOwner{
        require(!tradingEnabled, "Trading already active");
        tradingEnabled = true;
        swapEnabled = true;
    }

    function SetHookerfees(uint256 _totalTax, uint256 _totalSellTax) external onlyOwner{
        totalTax = _totalTax;
        totalSellTax = _totalSellTax;
    }

    function manualSwap(uint256 amount) external{
        require(msg.sender == devWallet);
        swapTokensForETH(amount);
        payable(devWallet).sendValue(address(this).balance);       
    }
    
    function updateExcludedFromFees(address _address, bool state) external onlyOwner {
        excludedFromFees[_address] = state;
    }
    
    receive() external payable {}

    function rescueERC20(address tokenAddress, uint256 amount) external {
        IERC20(tokenAddress).transfer(devWallet, amount);
    }

    function rescueETH(uint256 weiAmount) external {
        payable(devWallet).sendValue(weiAmount);
    }


    function removeLimits() public onlyOwner {
        maxTxAmount = tsupply;
        maxWalletAmount = tsupply;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_devWallet","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":[{"internalType":"uint256","name":"_totalTax","type":"uint256"},{"internalType":"uint256","name":"_totalSellTax","type":"uint256"}],"name":"SetHookerfees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"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":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","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":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reflection","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"reflections","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"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"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000146200051a60201b60201c565b600a620000229190620008f3565b650646880c880062000035919062000944565b6008556103e860056008546200004c919062000944565b620000589190620009be565b600955606460026008546200006e919062000944565b6200007a9190620009be565b600a556064600260085462000090919062000944565b6200009c9190620009be565b600b556005600d556019600e55348015620000b657600080fd5b50604051620043a7380380620043a78339818101604052810190620000dc919062000a60565b6040518060400160405280600681526020017f534e4f4f505900000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f534e4f4f50590000000000000000000000000000000000000000000000000000815250816003908162000159919062000d02565b5080600490816200016b919062000d02565b5050506200018e620001826200052360201b60201c565b6200052b60201b60201c565b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001e333600854620005f160201b60201c565b6001600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c8919062000a60565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000356919062000a60565b6040518363ffffffff1660e01b81526004016200037592919062000dfa565b6020604051808303816000875af115801562000395573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003bb919062000a60565b905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505062000f13565b60006012905090565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000663576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200065a9062000e88565b60405180910390fd5b620006768283836200075460201b60201c565b80600260008282546200068a919062000eaa565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620006e1919062000eaa565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000748919062000ef6565b60405180910390a35050565b505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007e757808604811115620007bf57620007be62000759565b5b6001851615620007cf5780820291505b8081029050620007df8562000788565b94506200079f565b94509492505050565b600082620008025760019050620008d5565b81620008125760009050620008d5565b81600181146200082b576002811462000836576200086c565b6001915050620008d5565b60ff8411156200084b576200084a62000759565b5b8360020a91508482111562000865576200086462000759565b5b50620008d5565b5060208310610133831016604e8410600b8410161715620008a65782820a905083811115620008a0576200089f62000759565b5b620008d5565b620008b5848484600162000795565b92509050818404811115620008cf57620008ce62000759565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200090082620008dc565b91506200090d83620008e6565b92506200093c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007f0565b905092915050565b60006200095182620008dc565b91506200095e83620008dc565b92508282026200096e81620008dc565b9150828204841483151762000988576200098762000759565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620009cb82620008dc565b9150620009d883620008dc565b925082620009eb57620009ea6200098f565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a2882620009fb565b9050919050565b62000a3a8162000a1b565b811462000a4657600080fd5b50565b60008151905062000a5a8162000a2f565b92915050565b60006020828403121562000a795762000a78620009f6565b5b600062000a898482850162000a49565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b1457607f821691505b60208210810362000b2a5762000b2962000acc565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000b947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b55565b62000ba0868362000b55565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000be362000bdd62000bd784620008dc565b62000bb8565b620008dc565b9050919050565b6000819050919050565b62000bff8362000bc2565b62000c1762000c0e8262000bea565b84845462000b62565b825550505050565b600090565b62000c2e62000c1f565b62000c3b81848462000bf4565b505050565b5b8181101562000c635762000c5760008262000c24565b60018101905062000c41565b5050565b601f82111562000cb25762000c7c8162000b30565b62000c878462000b45565b8101602085101562000c97578190505b62000caf62000ca68562000b45565b83018262000c40565b50505b505050565b600082821c905092915050565b600062000cd76000198460080262000cb7565b1980831691505092915050565b600062000cf2838362000cc4565b9150826002028217905092915050565b62000d0d8262000a92565b67ffffffffffffffff81111562000d295762000d2862000a9d565b5b62000d35825462000afb565b62000d4282828562000c67565b600060209050601f83116001811462000d7a576000841562000d65578287015190505b62000d71858262000ce4565b86555062000de1565b601f19841662000d8a8662000b30565b60005b8281101562000db45784890151825560018201915060208501945060208101905062000d8d565b8683101562000dd4578489015162000dd0601f89168262000cc4565b8355505b6001600288020188555050505b505050505050565b62000df48162000a1b565b82525050565b600060408201905062000e11600083018562000de9565b62000e20602083018462000de9565b9392505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000e70601f8362000e27565b915062000e7d8262000e38565b602082019050919050565b6000602082019050818103600083015262000ea38162000e61565b9050919050565b600062000eb782620008dc565b915062000ec483620008dc565b925082820190508082111562000edf5762000ede62000759565b5b92915050565b62000ef081620008dc565b82525050565b600060208201905062000f0d600083018462000ee5565b92915050565b6134848062000f236000396000f3fe6080604052600436106102085760003560e01c80638da5cb5b11610118578063b70143c9116100a0578063e01af92c1161006f578063e01af92c14610766578063e545fd6d1461078f578063f2fde38b146107b8578063f887ea40146107e1578063fe85b42b1461080c5761020f565b8063b70143c91461069a578063bab2f642146106c3578063dbe66ca0146106ec578063dd62ed3e146107295761020f565b80639e252f00116100e75780639e252f00146105a1578063a457c2d7146105ca578063a8aa1b3114610607578063a9059cbb14610632578063aa4bde281461066f5761020f565b80638da5cb5b146104f957806395d89b41146105245780639b269f0d1461054f5780639d0014b1146105785761020f565b8063395093511161019b578063715018a61161016a578063715018a614610460578063751039fc146104775780638a8c523c1461048e5780638c0b5e22146104a55780638cd4426d146104d05761020f565b806339509351146103905780634ada218b146103cd5780636ddd1713146103f857806370a08231146104235761020f565b80631bff7898116101d75780631bff7898146102d257806323b872dd146102fd578063268f8f771461033a578063313ce567146103655761020f565b80630445b6671461021457806306fdde031461023f578063095ea7b31461026a57806318160ddd146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b50610229610837565b604051610236919061233c565b60405180910390f35b34801561024b57600080fd5b5061025461083d565b60405161026191906123e7565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612498565b6108cf565b60405161029e91906124f3565b60405180910390f35b3480156102b357600080fd5b506102bc6108ed565b6040516102c9919061233c565b60405180910390f35b3480156102de57600080fd5b506102e76108f7565b6040516102f4919061233c565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f919061250e565b6108fd565b60405161033191906124f3565b60405180910390f35b34801561034657600080fd5b5061034f6109fe565b60405161035c91906124f3565b60405180910390f35b34801561037157600080fd5b5061037a610a11565b604051610387919061257d565b60405180910390f35b34801561039c57600080fd5b506103b760048036038101906103b29190612498565b610a1a565b6040516103c491906124f3565b60405180910390f35b3480156103d957600080fd5b506103e2610ac6565b6040516103ef91906124f3565b60405180910390f35b34801561040457600080fd5b5061040d610ad9565b60405161041a91906124f3565b60405180910390f35b34801561042f57600080fd5b5061044a60048036038101906104459190612598565b610aec565b604051610457919061233c565b60405180910390f35b34801561046c57600080fd5b50610475610b34565b005b34801561048357600080fd5b5061048c610bbc565b005b34801561049a57600080fd5b506104a3610c4c565b005b3480156104b157600080fd5b506104ba610d50565b6040516104c7919061233c565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f29190612498565b610d56565b005b34801561050557600080fd5b5061050e610dfb565b60405161051b91906125d4565b60405180910390f35b34801561053057600080fd5b50610539610e25565b60405161054691906123e7565b60405180910390f35b34801561055b57600080fd5b506105766004803603810190610571919061261b565b610eb7565b005b34801561058457600080fd5b5061059f600480360381019061059a9190612648565b610f50565b005b3480156105ad57600080fd5b506105c860048036038101906105c39190612648565b610fd6565b005b3480156105d657600080fd5b506105f160048036038101906105ec9190612498565b611024565b6040516105fe91906124f3565b60405180910390f35b34801561061357600080fd5b5061061c611118565b60405161062991906125d4565b60405180910390f35b34801561063e57600080fd5b5061065960048036038101906106549190612498565b61113e565b60405161066691906124f3565b60405180910390f35b34801561067b57600080fd5b5061068461115c565b604051610691919061233c565b60405180910390f35b3480156106a657600080fd5b506106c160048036038101906106bc9190612648565b611162565b005b3480156106cf57600080fd5b506106ea60048036038101906106e59190612675565b611213565b005b3480156106f857600080fd5b50610713600480360381019061070e9190612598565b6112a1565b60405161072091906124f3565b60405180910390f35b34801561073557600080fd5b50610750600480360381019061074b91906126b5565b6112c1565b60405161075d919061233c565b60405180910390f35b34801561077257600080fd5b5061078d6004803603810190610788919061261b565b611348565b005b34801561079b57600080fd5b506107b660048036038101906107b191906126f5565b6113e1565b005b3480156107c457600080fd5b506107df60048036038101906107da9190612598565b6114b8565b005b3480156107ed57600080fd5b506107f66115af565b6040516108039190612794565b60405180910390f35b34801561081857600080fd5b506108216115d5565b60405161082e919061233c565b60405180910390f35b60095481565b60606003805461084c906127de565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906127de565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050905090565b60006108e36108dc6115db565b84846115e3565b6001905092915050565b6000600254905090565b600e5481565b600061090a8484846117ac565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109556115db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc90612881565b60405180910390fd5b6109f2856109e16115db565b85846109ed91906128d0565b6115e3565b60019150509392505050565b600760179054906101000a900460ff1681565b60006012905090565b6000610abc610a276115db565b848460016000610a356115db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ab79190612904565b6115e3565b6001905092915050565b600760169054906101000a900460ff1681565b600760159054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b3c6115db565b73ffffffffffffffffffffffffffffffffffffffff16610b5a610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba790612984565b60405180910390fd5b610bba6000611c12565b565b610bc46115db565b73ffffffffffffffffffffffffffffffffffffffff16610be2610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610c38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2f90612984565b60405180910390fd5b600854600a81905550600854600b81905550565b610c546115db565b73ffffffffffffffffffffffffffffffffffffffff16610c72610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbf90612984565b60405180910390fd5b600760169054906101000a900460ff1615610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f906129f0565b60405180910390fd5b6001600760166101000a81548160ff0219169083151502179055506001600760156101000a81548160ff021916908315150217905550565b600a5481565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610db3929190612a10565b6020604051808303816000875af1158015610dd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df69190612a4e565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610e34906127de565b80601f0160208091040260200160405190810160405280929190818152602001828054610e60906127de565b8015610ead5780601f10610e8257610100808354040283529160200191610ead565b820191906000526020600020905b815481529060010190602001808311610e9057829003601f168201915b5050505050905090565b610ebf6115db565b73ffffffffffffffffffffffffffffffffffffffff16610edd610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610f33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2a90612984565b60405180910390fd5b80600760176101000a81548160ff02191690831515021790555050565b610f586115db565b73ffffffffffffffffffffffffffffffffffffffff16610f76610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610fcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc390612984565b60405180910390fd5b8060098190555050565b61102181600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611cd890919063ffffffff16565b50565b600080600160006110336115db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e790612aed565b60405180910390fd5b61110d6110fb6115db565b85858461110891906128d0565b6115e3565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061115261114b6115db565b84846117ac565b6001905092915050565b600b5481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111bc57600080fd5b6111c581611dcc565b61121047600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611cd890919063ffffffff16565b50565b61121b6115db565b73ffffffffffffffffffffffffffffffffffffffff16611239610dfb565b73ffffffffffffffffffffffffffffffffffffffff161461128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128690612984565b60405180910390fd5b81600d8190555080600e819055505050565b600f6020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113506115db565b73ffffffffffffffffffffffffffffffffffffffff1661136e610dfb565b73ffffffffffffffffffffffffffffffffffffffff16146113c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bb90612984565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b6113e96115db565b73ffffffffffffffffffffffffffffffffffffffff16611407610dfb565b73ffffffffffffffffffffffffffffffffffffffff161461145d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145490612984565b60405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6114c06115db565b73ffffffffffffffffffffffffffffffffffffffff166114de610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614611534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152b90612984565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159a90612b7f565b60405180910390fd5b6115ac81611c12565b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611652576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164990612c11565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b890612ca3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161179f919061233c565b60405180910390a3505050565b600081116117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e690612d35565b60405180910390fd5b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118935750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156118ac5750600760149054906101000a900460ff16155b156119f457600760169054906101000a900460ff16611900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f790612da1565b60405180910390fd5b600a54811115611945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193c90612e0d565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146119f357600b54816119a784610aec565b6119b19190612904565b11156119f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e990612e9f565b60405180910390fd5b5b5b6000600760149054906101000a900460ff1680611a5a5750600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611aae5750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611abc5760009050611b50565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b32576064600e5483611b219190612ebf565b611b2b9190612f30565b9050611b4f565b6064600d5483611b429190612ebf565b611b4c9190612f30565b90505b5b600760159054906101000a900460ff168015611b795750600760149054906101000a900460ff16155b8015611bd35750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611be157611be0612031565b5b611bf784848385611bf291906128d0565b6120a1565b6000811115611c0c57611c0b8430836120a1565b5b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80471015611d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1290612fad565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051611d4190612ffe565b60006040518083038185875af1925050503d8060008114611d7e576040519150601f19603f3d011682016040523d82523d6000602084013e611d83565b606091505b5050905080611dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbe90613085565b60405180910390fd5b505050565b6000600267ffffffffffffffff811115611de957611de86130a5565b5b604051908082528060200260200182016040528015611e175781602001602082028036833780820191505090505b5090503081600081518110611e2f57611e2e6130d4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efa9190613118565b81600181518110611f0e57611f0d6130d4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f7530600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115e3565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611ffb95949392919061323e565b600060405180830381600087803b15801561201557600080fd5b505af1158015612029573d6000803e3d6000fd5b505050505050565b600760149054906101000a900460ff1661209f576001600760146101000a81548160ff021916908315150217905550600061206b30610aec565b9050600954811061208257612081600954611dcc565b5b506000600760146101000a81548160ff0219169083151502179055505b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612110576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121079061330a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361217f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121769061339c565b60405180910390fd5b61218a83838361231e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122079061342e565b60405180910390fd5b818161221c91906128d0565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122ac9190612904565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612310919061233c565b60405180910390a350505050565b505050565b6000819050919050565b61233681612323565b82525050565b6000602082019050612351600083018461232d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612391578082015181840152602081019050612376565b60008484015250505050565b6000601f19601f8301169050919050565b60006123b982612357565b6123c38185612362565b93506123d3818560208601612373565b6123dc8161239d565b840191505092915050565b6000602082019050818103600083015261240181846123ae565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124398261240e565b9050919050565b6124498161242e565b811461245457600080fd5b50565b60008135905061246681612440565b92915050565b61247581612323565b811461248057600080fd5b50565b6000813590506124928161246c565b92915050565b600080604083850312156124af576124ae612409565b5b60006124bd85828601612457565b92505060206124ce85828601612483565b9150509250929050565b60008115159050919050565b6124ed816124d8565b82525050565b600060208201905061250860008301846124e4565b92915050565b60008060006060848603121561252757612526612409565b5b600061253586828701612457565b935050602061254686828701612457565b925050604061255786828701612483565b9150509250925092565b600060ff82169050919050565b61257781612561565b82525050565b6000602082019050612592600083018461256e565b92915050565b6000602082840312156125ae576125ad612409565b5b60006125bc84828501612457565b91505092915050565b6125ce8161242e565b82525050565b60006020820190506125e960008301846125c5565b92915050565b6125f8816124d8565b811461260357600080fd5b50565b600081359050612615816125ef565b92915050565b60006020828403121561263157612630612409565b5b600061263f84828501612606565b91505092915050565b60006020828403121561265e5761265d612409565b5b600061266c84828501612483565b91505092915050565b6000806040838503121561268c5761268b612409565b5b600061269a85828601612483565b92505060206126ab85828601612483565b9150509250929050565b600080604083850312156126cc576126cb612409565b5b60006126da85828601612457565b92505060206126eb85828601612457565b9150509250929050565b6000806040838503121561270c5761270b612409565b5b600061271a85828601612457565b925050602061272b85828601612606565b9150509250929050565b6000819050919050565b600061275a6127556127508461240e565b612735565b61240e565b9050919050565b600061276c8261273f565b9050919050565b600061277e82612761565b9050919050565b61278e81612773565b82525050565b60006020820190506127a96000830184612785565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806127f657607f821691505b602082108103612809576128086127af565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061286b602883612362565b91506128768261280f565b604082019050919050565b6000602082019050818103600083015261289a8161285e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128db82612323565b91506128e683612323565b92508282039050818111156128fe576128fd6128a1565b5b92915050565b600061290f82612323565b915061291a83612323565b9250828201905080821115612932576129316128a1565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061296e602083612362565b915061297982612938565b602082019050919050565b6000602082019050818103600083015261299d81612961565b9050919050565b7f54726164696e6720616c72656164792061637469766500000000000000000000600082015250565b60006129da601683612362565b91506129e5826129a4565b602082019050919050565b60006020820190508181036000830152612a09816129cd565b9050919050565b6000604082019050612a2560008301856125c5565b612a32602083018461232d565b9392505050565b600081519050612a48816125ef565b92915050565b600060208284031215612a6457612a63612409565b5b6000612a7284828501612a39565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612ad7602583612362565b9150612ae282612a7b565b604082019050919050565b60006020820190508181036000830152612b0681612aca565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b69602683612362565b9150612b7482612b0d565b604082019050919050565b60006020820190508181036000830152612b9881612b5c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612bfb602483612362565b9150612c0682612b9f565b604082019050919050565b60006020820190508181036000830152612c2a81612bee565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c8d602283612362565b9150612c9882612c31565b604082019050919050565b60006020820190508181036000830152612cbc81612c80565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d1f602983612362565b9150612d2a82612cc3565b604082019050919050565b60006020820190508181036000830152612d4e81612d12565b9050919050565b7f54726164696e67206e6f74206163746976652079657400000000000000000000600082015250565b6000612d8b601683612362565b9150612d9682612d55565b602082019050919050565b60006020820190508181036000830152612dba81612d7e565b9050919050565b7f596f752061726520657863656564696e67206d61785478416d6f756e74000000600082015250565b6000612df7601d83612362565b9150612e0282612dc1565b602082019050919050565b60006020820190508181036000830152612e2681612dea565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e89602183612362565b9150612e9482612e2d565b604082019050919050565b60006020820190508181036000830152612eb881612e7c565b9050919050565b6000612eca82612323565b9150612ed583612323565b9250828202612ee381612323565b91508282048414831517612efa57612ef96128a1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f3b82612323565b9150612f4683612323565b925082612f5657612f55612f01565b5b828204905092915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000612f97601d83612362565b9150612fa282612f61565b602082019050919050565b60006020820190508181036000830152612fc681612f8a565b9050919050565b600081905092915050565b50565b6000612fe8600083612fcd565b9150612ff382612fd8565b600082019050919050565b600061300982612fdb565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b600061306f603a83612362565b915061307a82613013565b604082019050919050565b6000602082019050818103600083015261309e81613062565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061311281612440565b92915050565b60006020828403121561312e5761312d612409565b5b600061313c84828501613103565b91505092915050565b6000819050919050565b600061316a61316561316084613145565b612735565b612323565b9050919050565b61317a8161314f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131b58161242e565b82525050565b60006131c783836131ac565b60208301905092915050565b6000602082019050919050565b60006131eb82613180565b6131f5818561318b565b93506132008361319c565b8060005b8381101561323157815161321888826131bb565b9750613223836131d3565b925050600181019050613204565b5085935050505092915050565b600060a082019050613253600083018861232d565b6132606020830187613171565b818103604083015261327281866131e0565b905061328160608301856125c5565b61328e608083018461232d565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132f4602583612362565b91506132ff82613298565b604082019050919050565b60006020820190508181036000830152613323816132e7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613386602383612362565b91506133918261332a565b604082019050919050565b600060208201905081810360008301526133b581613379565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613418602683612362565b9150613423826133bc565b604082019050919050565b600060208201905081810360008301526134478161340b565b905091905056fea264697066735822122030485e22271ec2a8e476e399d546f7f1323ba334cd0efc521bf6b78f14138c2464736f6c63430008120033000000000000000000000000f009511e2ee5f5968606cd50d1eae6cf03b5e2b6

Deployed Bytecode

0x6080604052600436106102085760003560e01c80638da5cb5b11610118578063b70143c9116100a0578063e01af92c1161006f578063e01af92c14610766578063e545fd6d1461078f578063f2fde38b146107b8578063f887ea40146107e1578063fe85b42b1461080c5761020f565b8063b70143c91461069a578063bab2f642146106c3578063dbe66ca0146106ec578063dd62ed3e146107295761020f565b80639e252f00116100e75780639e252f00146105a1578063a457c2d7146105ca578063a8aa1b3114610607578063a9059cbb14610632578063aa4bde281461066f5761020f565b80638da5cb5b146104f957806395d89b41146105245780639b269f0d1461054f5780639d0014b1146105785761020f565b8063395093511161019b578063715018a61161016a578063715018a614610460578063751039fc146104775780638a8c523c1461048e5780638c0b5e22146104a55780638cd4426d146104d05761020f565b806339509351146103905780634ada218b146103cd5780636ddd1713146103f857806370a08231146104235761020f565b80631bff7898116101d75780631bff7898146102d257806323b872dd146102fd578063268f8f771461033a578063313ce567146103655761020f565b80630445b6671461021457806306fdde031461023f578063095ea7b31461026a57806318160ddd146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b50610229610837565b604051610236919061233c565b60405180910390f35b34801561024b57600080fd5b5061025461083d565b60405161026191906123e7565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612498565b6108cf565b60405161029e91906124f3565b60405180910390f35b3480156102b357600080fd5b506102bc6108ed565b6040516102c9919061233c565b60405180910390f35b3480156102de57600080fd5b506102e76108f7565b6040516102f4919061233c565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f919061250e565b6108fd565b60405161033191906124f3565b60405180910390f35b34801561034657600080fd5b5061034f6109fe565b60405161035c91906124f3565b60405180910390f35b34801561037157600080fd5b5061037a610a11565b604051610387919061257d565b60405180910390f35b34801561039c57600080fd5b506103b760048036038101906103b29190612498565b610a1a565b6040516103c491906124f3565b60405180910390f35b3480156103d957600080fd5b506103e2610ac6565b6040516103ef91906124f3565b60405180910390f35b34801561040457600080fd5b5061040d610ad9565b60405161041a91906124f3565b60405180910390f35b34801561042f57600080fd5b5061044a60048036038101906104459190612598565b610aec565b604051610457919061233c565b60405180910390f35b34801561046c57600080fd5b50610475610b34565b005b34801561048357600080fd5b5061048c610bbc565b005b34801561049a57600080fd5b506104a3610c4c565b005b3480156104b157600080fd5b506104ba610d50565b6040516104c7919061233c565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f29190612498565b610d56565b005b34801561050557600080fd5b5061050e610dfb565b60405161051b91906125d4565b60405180910390f35b34801561053057600080fd5b50610539610e25565b60405161054691906123e7565b60405180910390f35b34801561055b57600080fd5b506105766004803603810190610571919061261b565b610eb7565b005b34801561058457600080fd5b5061059f600480360381019061059a9190612648565b610f50565b005b3480156105ad57600080fd5b506105c860048036038101906105c39190612648565b610fd6565b005b3480156105d657600080fd5b506105f160048036038101906105ec9190612498565b611024565b6040516105fe91906124f3565b60405180910390f35b34801561061357600080fd5b5061061c611118565b60405161062991906125d4565b60405180910390f35b34801561063e57600080fd5b5061065960048036038101906106549190612498565b61113e565b60405161066691906124f3565b60405180910390f35b34801561067b57600080fd5b5061068461115c565b604051610691919061233c565b60405180910390f35b3480156106a657600080fd5b506106c160048036038101906106bc9190612648565b611162565b005b3480156106cf57600080fd5b506106ea60048036038101906106e59190612675565b611213565b005b3480156106f857600080fd5b50610713600480360381019061070e9190612598565b6112a1565b60405161072091906124f3565b60405180910390f35b34801561073557600080fd5b50610750600480360381019061074b91906126b5565b6112c1565b60405161075d919061233c565b60405180910390f35b34801561077257600080fd5b5061078d6004803603810190610788919061261b565b611348565b005b34801561079b57600080fd5b506107b660048036038101906107b191906126f5565b6113e1565b005b3480156107c457600080fd5b506107df60048036038101906107da9190612598565b6114b8565b005b3480156107ed57600080fd5b506107f66115af565b6040516108039190612794565b60405180910390f35b34801561081857600080fd5b506108216115d5565b60405161082e919061233c565b60405180910390f35b60095481565b60606003805461084c906127de565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906127de565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050905090565b60006108e36108dc6115db565b84846115e3565b6001905092915050565b6000600254905090565b600e5481565b600061090a8484846117ac565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109556115db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc90612881565b60405180910390fd5b6109f2856109e16115db565b85846109ed91906128d0565b6115e3565b60019150509392505050565b600760179054906101000a900460ff1681565b60006012905090565b6000610abc610a276115db565b848460016000610a356115db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ab79190612904565b6115e3565b6001905092915050565b600760169054906101000a900460ff1681565b600760159054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b3c6115db565b73ffffffffffffffffffffffffffffffffffffffff16610b5a610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba790612984565b60405180910390fd5b610bba6000611c12565b565b610bc46115db565b73ffffffffffffffffffffffffffffffffffffffff16610be2610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610c38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2f90612984565b60405180910390fd5b600854600a81905550600854600b81905550565b610c546115db565b73ffffffffffffffffffffffffffffffffffffffff16610c72610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610cc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbf90612984565b60405180910390fd5b600760169054906101000a900460ff1615610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f906129f0565b60405180910390fd5b6001600760166101000a81548160ff0219169083151502179055506001600760156101000a81548160ff021916908315150217905550565b600a5481565b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610db3929190612a10565b6020604051808303816000875af1158015610dd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df69190612a4e565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610e34906127de565b80601f0160208091040260200160405190810160405280929190818152602001828054610e60906127de565b8015610ead5780601f10610e8257610100808354040283529160200191610ead565b820191906000526020600020905b815481529060010190602001808311610e9057829003601f168201915b5050505050905090565b610ebf6115db565b73ffffffffffffffffffffffffffffffffffffffff16610edd610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610f33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2a90612984565b60405180910390fd5b80600760176101000a81548160ff02191690831515021790555050565b610f586115db565b73ffffffffffffffffffffffffffffffffffffffff16610f76610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614610fcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc390612984565b60405180910390fd5b8060098190555050565b61102181600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611cd890919063ffffffff16565b50565b600080600160006110336115db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156110f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e790612aed565b60405180910390fd5b61110d6110fb6115db565b85858461110891906128d0565b6115e3565b600191505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061115261114b6115db565b84846117ac565b6001905092915050565b600b5481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111bc57600080fd5b6111c581611dcc565b61121047600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611cd890919063ffffffff16565b50565b61121b6115db565b73ffffffffffffffffffffffffffffffffffffffff16611239610dfb565b73ffffffffffffffffffffffffffffffffffffffff161461128f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128690612984565b60405180910390fd5b81600d8190555080600e819055505050565b600f6020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113506115db565b73ffffffffffffffffffffffffffffffffffffffff1661136e610dfb565b73ffffffffffffffffffffffffffffffffffffffff16146113c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bb90612984565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b6113e96115db565b73ffffffffffffffffffffffffffffffffffffffff16611407610dfb565b73ffffffffffffffffffffffffffffffffffffffff161461145d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145490612984565b60405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6114c06115db565b73ffffffffffffffffffffffffffffffffffffffff166114de610dfb565b73ffffffffffffffffffffffffffffffffffffffff1614611534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152b90612984565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159a90612b7f565b60405180910390fd5b6115ac81611c12565b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611652576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164990612c11565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b890612ca3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161179f919061233c565b60405180910390a3505050565b600081116117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e690612d35565b60405180910390fd5b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118935750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156118ac5750600760149054906101000a900460ff16155b156119f457600760169054906101000a900460ff16611900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f790612da1565b60405180910390fd5b600a54811115611945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193c90612e0d565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146119f357600b54816119a784610aec565b6119b19190612904565b11156119f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e990612e9f565b60405180910390fd5b5b5b6000600760149054906101000a900460ff1680611a5a5750600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611aae5750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611abc5760009050611b50565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b32576064600e5483611b219190612ebf565b611b2b9190612f30565b9050611b4f565b6064600d5483611b429190612ebf565b611b4c9190612f30565b90505b5b600760159054906101000a900460ff168015611b795750600760149054906101000a900460ff16155b8015611bd35750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611be157611be0612031565b5b611bf784848385611bf291906128d0565b6120a1565b6000811115611c0c57611c0b8430836120a1565b5b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80471015611d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1290612fad565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051611d4190612ffe565b60006040518083038185875af1925050503d8060008114611d7e576040519150601f19603f3d011682016040523d82523d6000602084013e611d83565b606091505b5050905080611dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbe90613085565b60405180910390fd5b505050565b6000600267ffffffffffffffff811115611de957611de86130a5565b5b604051908082528060200260200182016040528015611e175781602001602082028036833780820191505090505b5090503081600081518110611e2f57611e2e6130d4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ed6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611efa9190613118565b81600181518110611f0e57611f0d6130d4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f7530600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115e3565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611ffb95949392919061323e565b600060405180830381600087803b15801561201557600080fd5b505af1158015612029573d6000803e3d6000fd5b505050505050565b600760149054906101000a900460ff1661209f576001600760146101000a81548160ff021916908315150217905550600061206b30610aec565b9050600954811061208257612081600954611dcc565b5b506000600760146101000a81548160ff0219169083151502179055505b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612110576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121079061330a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361217f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121769061339c565b60405180910390fd5b61218a83838361231e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122079061342e565b60405180910390fd5b818161221c91906128d0565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122ac9190612904565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612310919061233c565b60405180910390a350505050565b505050565b6000819050919050565b61233681612323565b82525050565b6000602082019050612351600083018461232d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612391578082015181840152602081019050612376565b60008484015250505050565b6000601f19601f8301169050919050565b60006123b982612357565b6123c38185612362565b93506123d3818560208601612373565b6123dc8161239d565b840191505092915050565b6000602082019050818103600083015261240181846123ae565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124398261240e565b9050919050565b6124498161242e565b811461245457600080fd5b50565b60008135905061246681612440565b92915050565b61247581612323565b811461248057600080fd5b50565b6000813590506124928161246c565b92915050565b600080604083850312156124af576124ae612409565b5b60006124bd85828601612457565b92505060206124ce85828601612483565b9150509250929050565b60008115159050919050565b6124ed816124d8565b82525050565b600060208201905061250860008301846124e4565b92915050565b60008060006060848603121561252757612526612409565b5b600061253586828701612457565b935050602061254686828701612457565b925050604061255786828701612483565b9150509250925092565b600060ff82169050919050565b61257781612561565b82525050565b6000602082019050612592600083018461256e565b92915050565b6000602082840312156125ae576125ad612409565b5b60006125bc84828501612457565b91505092915050565b6125ce8161242e565b82525050565b60006020820190506125e960008301846125c5565b92915050565b6125f8816124d8565b811461260357600080fd5b50565b600081359050612615816125ef565b92915050565b60006020828403121561263157612630612409565b5b600061263f84828501612606565b91505092915050565b60006020828403121561265e5761265d612409565b5b600061266c84828501612483565b91505092915050565b6000806040838503121561268c5761268b612409565b5b600061269a85828601612483565b92505060206126ab85828601612483565b9150509250929050565b600080604083850312156126cc576126cb612409565b5b60006126da85828601612457565b92505060206126eb85828601612457565b9150509250929050565b6000806040838503121561270c5761270b612409565b5b600061271a85828601612457565b925050602061272b85828601612606565b9150509250929050565b6000819050919050565b600061275a6127556127508461240e565b612735565b61240e565b9050919050565b600061276c8261273f565b9050919050565b600061277e82612761565b9050919050565b61278e81612773565b82525050565b60006020820190506127a96000830184612785565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806127f657607f821691505b602082108103612809576128086127af565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061286b602883612362565b91506128768261280f565b604082019050919050565b6000602082019050818103600083015261289a8161285e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128db82612323565b91506128e683612323565b92508282039050818111156128fe576128fd6128a1565b5b92915050565b600061290f82612323565b915061291a83612323565b9250828201905080821115612932576129316128a1565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061296e602083612362565b915061297982612938565b602082019050919050565b6000602082019050818103600083015261299d81612961565b9050919050565b7f54726164696e6720616c72656164792061637469766500000000000000000000600082015250565b60006129da601683612362565b91506129e5826129a4565b602082019050919050565b60006020820190508181036000830152612a09816129cd565b9050919050565b6000604082019050612a2560008301856125c5565b612a32602083018461232d565b9392505050565b600081519050612a48816125ef565b92915050565b600060208284031215612a6457612a63612409565b5b6000612a7284828501612a39565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612ad7602583612362565b9150612ae282612a7b565b604082019050919050565b60006020820190508181036000830152612b0681612aca565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b69602683612362565b9150612b7482612b0d565b604082019050919050565b60006020820190508181036000830152612b9881612b5c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612bfb602483612362565b9150612c0682612b9f565b604082019050919050565b60006020820190508181036000830152612c2a81612bee565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c8d602283612362565b9150612c9882612c31565b604082019050919050565b60006020820190508181036000830152612cbc81612c80565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d1f602983612362565b9150612d2a82612cc3565b604082019050919050565b60006020820190508181036000830152612d4e81612d12565b9050919050565b7f54726164696e67206e6f74206163746976652079657400000000000000000000600082015250565b6000612d8b601683612362565b9150612d9682612d55565b602082019050919050565b60006020820190508181036000830152612dba81612d7e565b9050919050565b7f596f752061726520657863656564696e67206d61785478416d6f756e74000000600082015250565b6000612df7601d83612362565b9150612e0282612dc1565b602082019050919050565b60006020820190508181036000830152612e2681612dea565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e89602183612362565b9150612e9482612e2d565b604082019050919050565b60006020820190508181036000830152612eb881612e7c565b9050919050565b6000612eca82612323565b9150612ed583612323565b9250828202612ee381612323565b91508282048414831517612efa57612ef96128a1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f3b82612323565b9150612f4683612323565b925082612f5657612f55612f01565b5b828204905092915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000612f97601d83612362565b9150612fa282612f61565b602082019050919050565b60006020820190508181036000830152612fc681612f8a565b9050919050565b600081905092915050565b50565b6000612fe8600083612fcd565b9150612ff382612fd8565b600082019050919050565b600061300982612fdb565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b600061306f603a83612362565b915061307a82613013565b604082019050919050565b6000602082019050818103600083015261309e81613062565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061311281612440565b92915050565b60006020828403121561312e5761312d612409565b5b600061313c84828501613103565b91505092915050565b6000819050919050565b600061316a61316561316084613145565b612735565b612323565b9050919050565b61317a8161314f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131b58161242e565b82525050565b60006131c783836131ac565b60208301905092915050565b6000602082019050919050565b60006131eb82613180565b6131f5818561318b565b93506132008361319c565b8060005b8381101561323157815161321888826131bb565b9750613223836131d3565b925050600181019050613204565b5085935050505092915050565b600060a082019050613253600083018861232d565b6132606020830187613171565b818103604083015261327281866131e0565b905061328160608301856125c5565b61328e608083018461232d565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132f4602583612362565b91506132ff82613298565b604082019050919050565b60006020820190508181036000830152613323816132e7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613386602383612362565b91506133918261332a565b604082019050919050565b600060208201905081810360008301526133b581613379565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613418602683612362565b9150613423826133bc565b604082019050919050565b600060208201905081810360008301526134478161340b565b905091905056fea264697066735822122030485e22271ec2a8e476e399d546f7f1323ba334cd0efc521bf6b78f14138c2464736f6c63430008120033

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

000000000000000000000000f009511e2ee5f5968606cd50d1eae6cf03b5e2b6

-----Decoded View---------------
Arg [0] : _devWallet (address): 0xf009511E2ee5f5968606CD50d1EAE6cf03b5E2b6

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


Deployed Bytecode Sourcemap

8132:4534:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8457:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2070:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2984:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2391:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8695:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3161:422;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8369:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2290:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3591:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8336:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8306:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2507:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6909:94;;;;;;;;;;;;;:::i;:::-;;12546:117;;;;;;;;;;;;;:::i;:::-;;11544:173;;;;;;;;;;;;;:::i;:::-;;8511:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12288:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6686:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2178:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11224:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11426:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12431:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3814:377;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8246:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2642:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8562:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11894:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11725:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8740:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2825:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11325:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12105:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7011:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8218:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8661:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8457:47;;;;:::o;2070:100::-;2124:13;2157:5;2150:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2070:100;:::o;2984:169::-;3067:4;3084:39;3093:12;:10;:12::i;:::-;3107:7;3116:6;3084:8;:39::i;:::-;3141:4;3134:11;;2984:169;;;;:::o;2391:108::-;2452:7;2479:12;;2472:19;;2391:108;:::o;8695:32::-;;;;:::o;3161:422::-;3267:4;3284:36;3294:6;3302:9;3313:6;3284:9;:36::i;:::-;3333:24;3360:11;:19;3372:6;3360:19;;;;;;;;;;;;;;;:33;3380:12;:10;:12::i;:::-;3360:33;;;;;;;;;;;;;;;;3333:60;;3432:6;3412:16;:26;;3404:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;3494:57;3503:6;3511:12;:10;:12::i;:::-;3544:6;3525:16;:25;;;;:::i;:::-;3494:8;:57::i;:::-;3571:4;3564:11;;;3161:422;;;;;:::o;8369:22::-;;;;;;;;;;;;;:::o;2290:93::-;2348:5;2373:2;2366:9;;2290:93;:::o;3591:215::-;3679:4;3696:80;3705:12;:10;:12::i;:::-;3719:7;3765:10;3728:11;:25;3740:12;:10;:12::i;:::-;3728:25;;;;;;;;;;;;;;;:34;3754:7;3728:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;3696:8;:80::i;:::-;3794:4;3787:11;;3591:215;;;;:::o;8336:26::-;;;;;;;;;;;;;:::o;8306:23::-;;;;;;;;;;;;;:::o;2507:127::-;2581:7;2608:9;:18;2618:7;2608:18;;;;;;;;;;;;;;;;2601:25;;2507:127;;;:::o;6909:94::-;6832:12;:10;:12::i;:::-;6821:23;;:7;:5;:7::i;:::-;:23;;;6813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6974:21:::1;6992:1;6974:9;:21::i;:::-;6909:94::o:0;12546:117::-;6832:12;:10;:12::i;:::-;6821:23;;:7;:5;:7::i;:::-;:23;;;6813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12612:7:::1;;12598:11;:21;;;;12648:7;;12630:15;:25;;;;12546:117::o:0;11544:173::-;6832:12;:10;:12::i;:::-;6821:23;;:7;:5;:7::i;:::-;:23;;;6813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11607:14:::1;;;;;;;;;;;11606:15;11598:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;11676:4;11659:14;;:21;;;;;;;;;;;;;;;;;;11705:4;11691:11;;:18;;;;;;;;;;;;;;;;;;11544:173::o:0;8511:44::-;;;;:::o;12288:135::-;12374:12;12367:29;;;12397:9;;;;;;;;;;;12408:6;12367:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12288:135;;:::o;6686:87::-;6732:7;6759:6;;;;;;;;;;;6752:13;;6686:87;:::o;2178:104::-;2234:13;2267:7;2260:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2178:104;:::o;11224:89::-;6832:12;:10;:12::i;:::-;6821:23;;:7;:5;:7::i;:::-;:23;;;6813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11300:5:::1;11287:10;;:18;;;;;;;;;;;;;;;;;;11224:89:::0;:::o;11426:110::-;6832:12;:10;:12::i;:::-;6821:23;;:7;:5;:7::i;:::-;:23;;;6813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11518:10:::1;11502:13;:26;;;;11426:110:::0;:::o;12431:105::-;12489:39;12518:9;12497;;;;;;;;;;;12489:28;;;;:39;;;;:::i;:::-;12431:105;:::o;3814:377::-;3907:4;3924:24;3951:11;:25;3963:12;:10;:12::i;:::-;3951:25;;;;;;;;;;;;;;;:34;3977:7;3951:34;;;;;;;;;;;;;;;;3924:61;;4024:15;4004:16;:35;;3996:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4092:67;4101:12;:10;:12::i;:::-;4115:7;4143:15;4124:16;:34;;;;:::i;:::-;4092:8;:67::i;:::-;4179:4;4172:11;;;3814:377;;;;:::o;8246:19::-;;;;;;;;;;;;;:::o;2642:175::-;2728:4;2745:42;2755:12;:10;:12::i;:::-;2769:9;2780:6;2745:9;:42::i;:::-;2805:4;2798:11;;2642:175;;;;:::o;8562:48::-;;;;:::o;11894:199::-;11971:9;;;;;;;;;;;11957:23;;:10;:23;;;11949:32;;;;;;11992:24;12009:6;11992:16;:24::i;:::-;12027:51;12056:21;12035:9;;;;;;;;;;;12027:28;;;;:51;;;;:::i;:::-;11894:199;:::o;11725:161::-;6832:12;:10;:12::i;:::-;6821:23;;:7;:5;:7::i;:::-;:23;;;6813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11830:9:::1;11819:8;:20;;;;11865:13;11850:12;:28;;;;11725:161:::0;;:::o;8740:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;2825:151::-;2914:7;2941:11;:18;2953:5;2941:18;;;;;;;;;;;;;;;:27;2960:7;2941:27;;;;;;;;;;;;;;;;2934:34;;2825:151;;;;:::o;11325:93::-;6832:12;:10;:12::i;:::-;6821:23;;:7;:5;:7::i;:::-;:23;;;6813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11405:5:::1;11391:11;;:19;;;;;;;;;;;;;;;;;;11325:93:::0;:::o;12105:134::-;6832:12;:10;:12::i;:::-;6821:23;;:7;:5;:7::i;:::-;:23;;;6813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12226:5:::1;12197:16;:26;12214:8;12197:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;12105:134:::0;;:::o;7011:192::-;6832:12;:10;:12::i;:::-;6821:23;;:7;:5;:7::i;:::-;:23;;;6813:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7120:1:::1;7100:22;;:8;:22;;::::0;7092:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;7176:19;7186:8;7176:9;:19::i;:::-;7011:192:::0;:::o;8218:21::-;;;;;;;;;;;;;:::o;8661:27::-;;;;:::o;472:98::-;525:7;552:10;545:17;;472:98;:::o;5656:346::-;5775:1;5758:19;;:5;:19;;;5750:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5856:1;5837:21;;:7;:21;;;5829:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5940:6;5910:11;:18;5922:5;5910:18;;;;;;;;;;;;;;;:27;5929:7;5910:27;;;;;;;;;;;;;;;:36;;;;5978:7;5962:32;;5971:5;5962:32;;;5987:6;5962:32;;;;;;:::i;:::-;;;;;;;;5656:346;;;:::o;9490:1098::-;9606:1;9597:6;:10;9589:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9696:16;:24;9713:6;9696:24;;;;;;;;;;;;;;;;;;;;;;;;;9695:25;:57;;;;;9725:16;:27;9742:9;9725:27;;;;;;;;;;;;;;;;;;;;;;;;;9724:28;9695:57;:70;;;;;9757:8;;;;;;;;;;;9756:9;9695:70;9692:392;;;9789:14;;;;;;;;;;;9781:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9863:11;;9853:6;:21;;9845:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;9939:4;;;;;;;;;;;9926:17;;:9;:17;;;9923:150;;10004:15;;9994:6;9971:20;9981:9;9971;:20::i;:::-;:29;;;;:::i;:::-;:48;;9963:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;9923:150;9692:392;10096:11;10136:8;;;;;;;;;;;:36;;;;10148:16;:24;10165:6;10148:24;;;;;;;;;;;;;;;;;;;;;;;;;10136:36;:67;;;;10176:16;:27;10193:9;10176:27;;;;;;;;;;;;;;;;;;;;;;;;;10136:67;10132:236;;;10211:1;10205:7;;10132:236;;;10268:4;;;;;;;;;;;10255:17;;:9;:17;;;10252:104;;10304:3;10289:12;;10280:6;:21;;;;:::i;:::-;:27;;;;:::i;:::-;10274:33;;10252:104;;;10353:3;10342:8;;10333:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;10327:29;;10252:104;10132:236;10394:11;;;;;;;;;;;:24;;;;;10410:8;;;;;;;;;;;10409:9;10394:24;:42;;;;;10432:4;;;;;;;;;;;10422:14;;:6;:14;;;;10394:42;10390:61;;;10438:13;:11;:13::i;:::-;10390:61;10464:48;10480:6;10488:9;10508:3;10499:6;:12;;;;:::i;:::-;10464:15;:48::i;:::-;10532:1;10526:3;:7;10523:55;;;10535:43;10551:6;10567:4;10574:3;10535:15;:43::i;:::-;10523:55;9578:1010;9490:1098;;;:::o;7211:173::-;7267:16;7286:6;;;;;;;;;;;7267:25;;7312:8;7303:6;;:17;;;;;;;;;;;;;;;;;;7367:8;7336:40;;7357:8;7336:40;;;;;;;;;;;;7256:128;7211:173;:::o;6131:317::-;6246:6;6221:21;:31;;6213:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6300:12;6318:9;:14;;6340:6;6318:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6299:52;;;6370:7;6362:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;6202:246;6131:317;;:::o;10820:396::-;10886:21;10924:1;10910:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10886:40;;10955:4;10937;10942:1;10937:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;10981:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10971:4;10976:1;10971:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;11007:53;11024:4;11039:6;;;;;;;;;;;11048:11;11007:8;:53::i;:::-;11099:6;;;;;;;;;;;:57;;;11157:11;11170:1;11173:4;11179:9;;;;;;;;;;;11190:15;11099:107;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10875:341;10820:396;:::o;10597:213::-;8836:8;;;;;;;;;;;8831:104;;8872:4;8861:8;;:15;;;;;;;;;;;;;;;;;;10646:23:::1;10672:24;10690:4;10672:9;:24::i;:::-;10646:50;;10730:13;;10711:15;:32;10707:96;;10760:31;10777:13;;10760:16;:31::i;:::-;10707:96;10635:175;8918:5:::0;8907:8;;:16;;;;;;;;;;;;;;;;;;8831:104;10597:213::o;4199:604::-;4323:1;4305:20;;:6;:20;;;4297:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4407:1;4386:23;;:9;:23;;;4378:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4462:47;4483:6;4491:9;4502:6;4462:20;:47::i;:::-;4522:21;4546:9;:17;4556:6;4546:17;;;;;;;;;;;;;;;;4522:41;;4599:6;4582:13;:23;;4574:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4695:6;4679:13;:22;;;;:::i;:::-;4659:9;:17;4669:6;4659:17;;;;;;;;;;;;;;;:42;;;;4736:6;4712:9;:20;4722:9;4712:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;4777:9;4760:35;;4769:6;4760:35;;;4788:6;4760:35;;;;;;:::i;:::-;;;;;;;;4286:517;4199:604;;;:::o;6010:92::-;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:116::-;5610:21;5625:5;5610:21;:::i;:::-;5603:5;5600:32;5590:60;;5646:1;5643;5636:12;5590:60;5540:116;:::o;5662:133::-;5705:5;5743:6;5730:20;5721:29;;5759:30;5783:5;5759:30;:::i;:::-;5662:133;;;;:::o;5801:323::-;5857:6;5906:2;5894:9;5885:7;5881:23;5877:32;5874:119;;;5912:79;;:::i;:::-;5874:119;6032:1;6057:50;6099:7;6090:6;6079:9;6075:22;6057:50;:::i;:::-;6047:60;;6003:114;5801:323;;;;:::o;6130:329::-;6189:6;6238:2;6226:9;6217:7;6213:23;6209:32;6206:119;;;6244:79;;:::i;:::-;6206:119;6364:1;6389:53;6434:7;6425:6;6414:9;6410:22;6389:53;:::i;:::-;6379:63;;6335:117;6130:329;;;;:::o;6465:474::-;6533:6;6541;6590:2;6578:9;6569:7;6565:23;6561:32;6558:119;;;6596:79;;:::i;:::-;6558:119;6716:1;6741:53;6786:7;6777:6;6766:9;6762:22;6741:53;:::i;:::-;6731:63;;6687:117;6843:2;6869:53;6914:7;6905:6;6894:9;6890:22;6869:53;:::i;:::-;6859:63;;6814:118;6465:474;;;;;:::o;6945:::-;7013:6;7021;7070:2;7058:9;7049:7;7045:23;7041:32;7038:119;;;7076:79;;:::i;:::-;7038:119;7196:1;7221:53;7266:7;7257:6;7246:9;7242:22;7221:53;:::i;:::-;7211:63;;7167:117;7323:2;7349:53;7394:7;7385:6;7374:9;7370:22;7349:53;:::i;:::-;7339:63;;7294:118;6945:474;;;;;:::o;7425:468::-;7490:6;7498;7547:2;7535:9;7526:7;7522:23;7518:32;7515:119;;;7553:79;;:::i;:::-;7515:119;7673:1;7698:53;7743:7;7734:6;7723:9;7719:22;7698:53;:::i;:::-;7688:63;;7644:117;7800:2;7826:50;7868:7;7859:6;7848:9;7844:22;7826:50;:::i;:::-;7816:60;;7771:115;7425:468;;;;;:::o;7899:60::-;7927:3;7948:5;7941:12;;7899:60;;;:::o;7965:142::-;8015:9;8048:53;8066:34;8075:24;8093:5;8075:24;:::i;:::-;8066:34;:::i;:::-;8048:53;:::i;:::-;8035:66;;7965:142;;;:::o;8113:126::-;8163:9;8196:37;8227:5;8196:37;:::i;:::-;8183:50;;8113:126;;;:::o;8245:141::-;8310:9;8343:37;8374:5;8343:37;:::i;:::-;8330:50;;8245:141;;;:::o;8392:161::-;8494:52;8540:5;8494:52;:::i;:::-;8489:3;8482:65;8392:161;;:::o;8559:252::-;8667:4;8705:2;8694:9;8690:18;8682:26;;8718:86;8801:1;8790:9;8786:17;8777:6;8718:86;:::i;:::-;8559:252;;;;:::o;8817:180::-;8865:77;8862:1;8855:88;8962:4;8959:1;8952:15;8986:4;8983:1;8976:15;9003:320;9047:6;9084:1;9078:4;9074:12;9064:22;;9131:1;9125:4;9121:12;9152:18;9142:81;;9208:4;9200:6;9196:17;9186:27;;9142:81;9270:2;9262:6;9259:14;9239:18;9236:38;9233:84;;9289:18;;:::i;:::-;9233:84;9054:269;9003:320;;;:::o;9329:227::-;9469:34;9465:1;9457:6;9453:14;9446:58;9538:10;9533:2;9525:6;9521:15;9514:35;9329:227;:::o;9562:366::-;9704:3;9725:67;9789:2;9784:3;9725:67;:::i;:::-;9718:74;;9801:93;9890:3;9801:93;:::i;:::-;9919:2;9914:3;9910:12;9903:19;;9562:366;;;:::o;9934:419::-;10100:4;10138:2;10127:9;10123:18;10115:26;;10187:9;10181:4;10177:20;10173:1;10162:9;10158:17;10151:47;10215:131;10341:4;10215:131;:::i;:::-;10207:139;;9934:419;;;:::o;10359:180::-;10407:77;10404:1;10397:88;10504:4;10501:1;10494:15;10528:4;10525:1;10518:15;10545:194;10585:4;10605:20;10623:1;10605:20;:::i;:::-;10600:25;;10639:20;10657:1;10639:20;:::i;:::-;10634:25;;10683:1;10680;10676:9;10668:17;;10707:1;10701:4;10698:11;10695:37;;;10712:18;;:::i;:::-;10695:37;10545:194;;;;:::o;10745:191::-;10785:3;10804:20;10822:1;10804:20;:::i;:::-;10799:25;;10838:20;10856:1;10838:20;:::i;:::-;10833:25;;10881:1;10878;10874:9;10867:16;;10902:3;10899:1;10896:10;10893:36;;;10909:18;;:::i;:::-;10893:36;10745:191;;;;:::o;10942:182::-;11082:34;11078:1;11070:6;11066:14;11059:58;10942:182;:::o;11130:366::-;11272:3;11293:67;11357:2;11352:3;11293:67;:::i;:::-;11286:74;;11369:93;11458:3;11369:93;:::i;:::-;11487:2;11482:3;11478:12;11471:19;;11130:366;;;:::o;11502:419::-;11668:4;11706:2;11695:9;11691:18;11683:26;;11755:9;11749:4;11745:20;11741:1;11730:9;11726:17;11719:47;11783:131;11909:4;11783:131;:::i;:::-;11775:139;;11502:419;;;:::o;11927:172::-;12067:24;12063:1;12055:6;12051:14;12044:48;11927:172;:::o;12105:366::-;12247:3;12268:67;12332:2;12327:3;12268:67;:::i;:::-;12261:74;;12344:93;12433:3;12344:93;:::i;:::-;12462:2;12457:3;12453:12;12446:19;;12105:366;;;:::o;12477:419::-;12643:4;12681:2;12670:9;12666:18;12658:26;;12730:9;12724:4;12720:20;12716:1;12705:9;12701:17;12694:47;12758:131;12884:4;12758:131;:::i;:::-;12750:139;;12477:419;;;:::o;12902:332::-;13023:4;13061:2;13050:9;13046:18;13038:26;;13074:71;13142:1;13131:9;13127:17;13118:6;13074:71;:::i;:::-;13155:72;13223:2;13212:9;13208:18;13199:6;13155:72;:::i;:::-;12902:332;;;;;:::o;13240:137::-;13294:5;13325:6;13319:13;13310:22;;13341:30;13365:5;13341:30;:::i;:::-;13240:137;;;;:::o;13383:345::-;13450:6;13499:2;13487:9;13478:7;13474:23;13470:32;13467:119;;;13505:79;;:::i;:::-;13467:119;13625:1;13650:61;13703:7;13694:6;13683:9;13679:22;13650:61;:::i;:::-;13640:71;;13596:125;13383:345;;;;:::o;13734:224::-;13874:34;13870:1;13862:6;13858:14;13851:58;13943:7;13938:2;13930:6;13926:15;13919:32;13734:224;:::o;13964:366::-;14106:3;14127:67;14191:2;14186:3;14127:67;:::i;:::-;14120:74;;14203:93;14292:3;14203:93;:::i;:::-;14321:2;14316:3;14312:12;14305:19;;13964:366;;;:::o;14336:419::-;14502:4;14540:2;14529:9;14525:18;14517:26;;14589:9;14583:4;14579:20;14575:1;14564:9;14560:17;14553:47;14617:131;14743:4;14617:131;:::i;:::-;14609:139;;14336:419;;;:::o;14761:225::-;14901:34;14897:1;14889:6;14885:14;14878:58;14970:8;14965:2;14957:6;14953:15;14946:33;14761:225;:::o;14992:366::-;15134:3;15155:67;15219:2;15214:3;15155:67;:::i;:::-;15148:74;;15231:93;15320:3;15231:93;:::i;:::-;15349:2;15344:3;15340:12;15333:19;;14992:366;;;:::o;15364:419::-;15530:4;15568:2;15557:9;15553:18;15545:26;;15617:9;15611:4;15607:20;15603:1;15592:9;15588:17;15581:47;15645:131;15771:4;15645:131;:::i;:::-;15637:139;;15364:419;;;:::o;15789:223::-;15929:34;15925:1;15917:6;15913:14;15906:58;15998:6;15993:2;15985:6;15981:15;15974:31;15789:223;:::o;16018:366::-;16160:3;16181:67;16245:2;16240:3;16181:67;:::i;:::-;16174:74;;16257:93;16346:3;16257:93;:::i;:::-;16375:2;16370:3;16366:12;16359:19;;16018:366;;;:::o;16390:419::-;16556:4;16594:2;16583:9;16579:18;16571:26;;16643:9;16637:4;16633:20;16629:1;16618:9;16614:17;16607:47;16671:131;16797:4;16671:131;:::i;:::-;16663:139;;16390:419;;;:::o;16815:221::-;16955:34;16951:1;16943:6;16939:14;16932:58;17024:4;17019:2;17011:6;17007:15;17000:29;16815:221;:::o;17042:366::-;17184:3;17205:67;17269:2;17264:3;17205:67;:::i;:::-;17198:74;;17281:93;17370:3;17281:93;:::i;:::-;17399:2;17394:3;17390:12;17383:19;;17042:366;;;:::o;17414:419::-;17580:4;17618:2;17607:9;17603:18;17595:26;;17667:9;17661:4;17657:20;17653:1;17642:9;17638:17;17631:47;17695:131;17821:4;17695:131;:::i;:::-;17687:139;;17414:419;;;:::o;17839:228::-;17979:34;17975:1;17967:6;17963:14;17956:58;18048:11;18043:2;18035:6;18031:15;18024:36;17839:228;:::o;18073:366::-;18215:3;18236:67;18300:2;18295:3;18236:67;:::i;:::-;18229:74;;18312:93;18401:3;18312:93;:::i;:::-;18430:2;18425:3;18421:12;18414:19;;18073:366;;;:::o;18445:419::-;18611:4;18649:2;18638:9;18634:18;18626:26;;18698:9;18692:4;18688:20;18684:1;18673:9;18669:17;18662:47;18726:131;18852:4;18726:131;:::i;:::-;18718:139;;18445:419;;;:::o;18870:172::-;19010:24;19006:1;18998:6;18994:14;18987:48;18870:172;:::o;19048:366::-;19190:3;19211:67;19275:2;19270:3;19211:67;:::i;:::-;19204:74;;19287:93;19376:3;19287:93;:::i;:::-;19405:2;19400:3;19396:12;19389:19;;19048:366;;;:::o;19420:419::-;19586:4;19624:2;19613:9;19609:18;19601:26;;19673:9;19667:4;19663:20;19659:1;19648:9;19644:17;19637:47;19701:131;19827:4;19701:131;:::i;:::-;19693:139;;19420:419;;;:::o;19845:179::-;19985:31;19981:1;19973:6;19969:14;19962:55;19845:179;:::o;20030:366::-;20172:3;20193:67;20257:2;20252:3;20193:67;:::i;:::-;20186:74;;20269:93;20358:3;20269:93;:::i;:::-;20387:2;20382:3;20378:12;20371:19;;20030:366;;;:::o;20402:419::-;20568:4;20606:2;20595:9;20591:18;20583:26;;20655:9;20649:4;20645:20;20641:1;20630:9;20626:17;20619:47;20683:131;20809:4;20683:131;:::i;:::-;20675:139;;20402:419;;;:::o;20827:220::-;20967:34;20963:1;20955:6;20951:14;20944:58;21036:3;21031:2;21023:6;21019:15;21012:28;20827:220;:::o;21053:366::-;21195:3;21216:67;21280:2;21275:3;21216:67;:::i;:::-;21209:74;;21292:93;21381:3;21292:93;:::i;:::-;21410:2;21405:3;21401:12;21394:19;;21053:366;;;:::o;21425:419::-;21591:4;21629:2;21618:9;21614:18;21606:26;;21678:9;21672:4;21668:20;21664:1;21653:9;21649:17;21642:47;21706:131;21832:4;21706:131;:::i;:::-;21698:139;;21425:419;;;:::o;21850:410::-;21890:7;21913:20;21931:1;21913:20;:::i;:::-;21908:25;;21947:20;21965:1;21947:20;:::i;:::-;21942:25;;22002:1;21999;21995:9;22024:30;22042:11;22024:30;:::i;:::-;22013:41;;22203:1;22194:7;22190:15;22187:1;22184:22;22164:1;22157:9;22137:83;22114:139;;22233:18;;:::i;:::-;22114:139;21898:362;21850:410;;;;:::o;22266:180::-;22314:77;22311:1;22304:88;22411:4;22408:1;22401:15;22435:4;22432:1;22425:15;22452:185;22492:1;22509:20;22527:1;22509:20;:::i;:::-;22504:25;;22543:20;22561:1;22543:20;:::i;:::-;22538:25;;22582:1;22572:35;;22587:18;;:::i;:::-;22572:35;22629:1;22626;22622:9;22617:14;;22452:185;;;;:::o;22643:179::-;22783:31;22779:1;22771:6;22767:14;22760:55;22643:179;:::o;22828:366::-;22970:3;22991:67;23055:2;23050:3;22991:67;:::i;:::-;22984:74;;23067:93;23156:3;23067:93;:::i;:::-;23185:2;23180:3;23176:12;23169:19;;22828:366;;;:::o;23200:419::-;23366:4;23404:2;23393:9;23389:18;23381:26;;23453:9;23447:4;23443:20;23439:1;23428:9;23424:17;23417:47;23481:131;23607:4;23481:131;:::i;:::-;23473:139;;23200:419;;;:::o;23625:147::-;23726:11;23763:3;23748:18;;23625:147;;;;:::o;23778:114::-;;:::o;23898:398::-;24057:3;24078:83;24159:1;24154:3;24078:83;:::i;:::-;24071:90;;24170:93;24259:3;24170:93;:::i;:::-;24288:1;24283:3;24279:11;24272:18;;23898:398;;;:::o;24302:379::-;24486:3;24508:147;24651:3;24508:147;:::i;:::-;24501:154;;24672:3;24665:10;;24302:379;;;:::o;24687:245::-;24827:34;24823:1;24815:6;24811:14;24804:58;24896:28;24891:2;24883:6;24879:15;24872:53;24687:245;:::o;24938:366::-;25080:3;25101:67;25165:2;25160:3;25101:67;:::i;:::-;25094:74;;25177:93;25266:3;25177:93;:::i;:::-;25295:2;25290:3;25286:12;25279:19;;24938:366;;;:::o;25310:419::-;25476:4;25514:2;25503:9;25499:18;25491:26;;25563:9;25557:4;25553:20;25549:1;25538:9;25534:17;25527:47;25591:131;25717:4;25591:131;:::i;:::-;25583:139;;25310:419;;;:::o;25735:180::-;25783:77;25780:1;25773:88;25880:4;25877:1;25870:15;25904:4;25901:1;25894:15;25921:180;25969:77;25966:1;25959:88;26066:4;26063:1;26056:15;26090:4;26087:1;26080:15;26107:143;26164:5;26195:6;26189:13;26180:22;;26211:33;26238:5;26211:33;:::i;:::-;26107:143;;;;:::o;26256:351::-;26326:6;26375:2;26363:9;26354:7;26350:23;26346:32;26343:119;;;26381:79;;:::i;:::-;26343:119;26501:1;26526:64;26582:7;26573:6;26562:9;26558:22;26526:64;:::i;:::-;26516:74;;26472:128;26256:351;;;;:::o;26613:85::-;26658:7;26687:5;26676:16;;26613:85;;;:::o;26704:158::-;26762:9;26795:61;26813:42;26822:32;26848:5;26822:32;:::i;:::-;26813:42;:::i;:::-;26795:61;:::i;:::-;26782:74;;26704:158;;;:::o;26868:147::-;26963:45;27002:5;26963:45;:::i;:::-;26958:3;26951:58;26868:147;;:::o;27021:114::-;27088:6;27122:5;27116:12;27106:22;;27021:114;;;:::o;27141:184::-;27240:11;27274:6;27269:3;27262:19;27314:4;27309:3;27305:14;27290:29;;27141:184;;;;:::o;27331:132::-;27398:4;27421:3;27413:11;;27451:4;27446:3;27442:14;27434:22;;27331:132;;;:::o;27469:108::-;27546:24;27564:5;27546:24;:::i;:::-;27541:3;27534:37;27469:108;;:::o;27583:179::-;27652:10;27673:46;27715:3;27707:6;27673:46;:::i;:::-;27751:4;27746:3;27742:14;27728:28;;27583:179;;;;:::o;27768:113::-;27838:4;27870;27865:3;27861:14;27853:22;;27768:113;;;:::o;27917:732::-;28036:3;28065:54;28113:5;28065:54;:::i;:::-;28135:86;28214:6;28209:3;28135:86;:::i;:::-;28128:93;;28245:56;28295:5;28245:56;:::i;:::-;28324:7;28355:1;28340:284;28365:6;28362:1;28359:13;28340:284;;;28441:6;28435:13;28468:63;28527:3;28512:13;28468:63;:::i;:::-;28461:70;;28554:60;28607:6;28554:60;:::i;:::-;28544:70;;28400:224;28387:1;28384;28380:9;28375:14;;28340:284;;;28344:14;28640:3;28633:10;;28041:608;;;27917:732;;;;:::o;28655:831::-;28918:4;28956:3;28945:9;28941:19;28933:27;;28970:71;29038:1;29027:9;29023:17;29014:6;28970:71;:::i;:::-;29051:80;29127:2;29116:9;29112:18;29103:6;29051:80;:::i;:::-;29178:9;29172:4;29168:20;29163:2;29152:9;29148:18;29141:48;29206:108;29309:4;29300:6;29206:108;:::i;:::-;29198:116;;29324:72;29392:2;29381:9;29377:18;29368:6;29324:72;:::i;:::-;29406:73;29474:3;29463:9;29459:19;29450:6;29406:73;:::i;:::-;28655:831;;;;;;;;:::o;29492:224::-;29632:34;29628:1;29620:6;29616:14;29609:58;29701:7;29696:2;29688:6;29684:15;29677:32;29492:224;:::o;29722:366::-;29864:3;29885:67;29949:2;29944:3;29885:67;:::i;:::-;29878:74;;29961:93;30050:3;29961:93;:::i;:::-;30079:2;30074:3;30070:12;30063:19;;29722:366;;;:::o;30094:419::-;30260:4;30298:2;30287:9;30283:18;30275:26;;30347:9;30341:4;30337:20;30333:1;30322:9;30318:17;30311:47;30375:131;30501:4;30375:131;:::i;:::-;30367:139;;30094:419;;;:::o;30519:222::-;30659:34;30655:1;30647:6;30643:14;30636:58;30728:5;30723:2;30715:6;30711:15;30704:30;30519:222;:::o;30747:366::-;30889:3;30910:67;30974:2;30969:3;30910:67;:::i;:::-;30903:74;;30986:93;31075:3;30986:93;:::i;:::-;31104:2;31099:3;31095:12;31088:19;;30747:366;;;:::o;31119:419::-;31285:4;31323:2;31312:9;31308:18;31300:26;;31372:9;31366:4;31362:20;31358:1;31347:9;31343:17;31336:47;31400:131;31526:4;31400:131;:::i;:::-;31392:139;;31119:419;;;:::o;31544:225::-;31684:34;31680:1;31672:6;31668:14;31661:58;31753:8;31748:2;31740:6;31736:15;31729:33;31544:225;:::o;31775:366::-;31917:3;31938:67;32002:2;31997:3;31938:67;:::i;:::-;31931:74;;32014:93;32103:3;32014:93;:::i;:::-;32132:2;32127:3;32123:12;32116:19;;31775:366;;;:::o;32147:419::-;32313:4;32351:2;32340:9;32336:18;32328:26;;32400:9;32394:4;32390:20;32386:1;32375:9;32371:17;32364:47;32428:131;32554:4;32428:131;:::i;:::-;32420:139;;32147:419;;;:::o

Swarm Source

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