ETH Price: $3,444.36 (+0.06%)
Gas: 2 Gwei

Token

Takeda Inu (TAKEDA)
 

Overview

Max Total Supply

1,000,000,000 TAKEDA

Holders

26

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
shinkohaven.eth
Balance
2,000,000 TAKEDA

Value
$0.00
0x8ADD70024a5673bE5fFdD952239Ef2Ccbd6a7152
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:
Takeda

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-22
*/

/*
 Telegram:  t.me/takedainu
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Takeda is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private time;
    uint256 private _tax;

    uint256 private constant _tTotal = 1 * 10**9 * 10**9;
    uint256 private fee1=60;
    uint256 private fee2=60;
    uint256 private feeMax=100;
    string private constant _name = "Takeda Inu";
    string private constant _symbol = "TAKEDA";
    uint256 private _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _feeAddrWallet1;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _feeAddrWallet1 = payable(msg.sender);
        _tOwned[address(this)] = _tTotal;
        _tOwned[0xD20ce84a24d9d9596Aba73E837D45b5a0a47c718] = _tTotal.div(500);
        _tOwned[0x8242e56a759aa0B069B9c983fe3f582020CD1eC9] = _tTotal.div(500);
        _tOwned[0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD] = _tTotal.div(500);
        _tOwned[0x8ADD70024a5673bE5fFdD952239Ef2Ccbd6a7152] = _tTotal.div(500);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_tTotal);
        emit Transfer(address(0),0xD20ce84a24d9d9596Aba73E837D45b5a0a47c718,_tTotal.div(500));
        emit Transfer(address(0),0x8242e56a759aa0B069B9c983fe3f582020CD1eC9,_tTotal.div(500));
        emit Transfer(address(0),0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD,_tTotal.div(500));
        emit Transfer(address(0),0x8ADD70024a5673bE5fFdD952239Ef2Ccbd6a7152,_tTotal.div(500));
    }

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

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

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
   
    function changeFees(uint8 _fee1,uint8 _fee2) external {
        
        require(_msgSender() == _feeAddrWallet1);
        require(_fee1 <= feeMax && _fee2 <= feeMax,"Cannot set fees above maximum");
        fee1 = _fee1;
        fee2 = _fee2;
    }

    function changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _feeAddrWallet1);
        minBalance = newMin;

    }
   
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        _tax = fee1;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"Sells prohibited for the first 5 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapTokensForEth(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
        if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
            _tax = fee2;
        }
        _transferStandard(from,to,amount);
    }

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

    function addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }
    
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount);
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (5 minutes);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(transferAmount); 
        _tOwned[address(this)] = _tOwned[address(this)].add(tfee);
        emit Transfer(sender, recipient, transferAmount);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_tax).div(1000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function recoverTokens(address tokenAddress) external {
        require(_msgSender() == _feeAddrWallet1);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_feeAddrWallet1,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_fee1","type":"uint8"},{"internalType":"uint8","name":"_fee2","type":"uint8"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"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"},{"stateMutability":"payable","type":"receive"}]

6080604052603c600955603c600a556064600b556200005060646200003c6002670de0b6b3a764000062000a7260201b62000f791790919060201c565b62000af660201b62000ff41790919060201c565b600c55620000776103e8670de0b6b3a764000062000af660201b62000ff41790919060201c565b600d556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000620000c262000b4860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670de0b6b3a7640000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002116101f4670de0b6b3a764000062000af660201b62000ff41790919060201c565b6002600073d20ce84a24d9d9596aba73e837d45b5a0a47c71873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200028c6101f4670de0b6b3a764000062000af660201b62000ff41790919060201c565b60026000738242e56a759aa0b069b9c983fe3f582020cd1ec973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003076101f4670de0b6b3a764000062000af660201b62000ff41790919060201c565b6002600073c5fb36dd2fb59d3b98deff88425a3f425ee469ed73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003826101f4670de0b6b3a764000062000af660201b62000ff41790919060201c565b60026000738add70024a5673be5ffdd952239ef2ccbd6a715273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000620003ef62000b5060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620005d057600080fd5b505afa158015620005e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200060b919062000bf8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200069057600080fd5b505afa158015620006a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006cb919062000bf8565b6040518363ffffffff1660e01b8152600401620006ea92919062000cb4565b602060405180830381600087803b1580156200070557600080fd5b505af11580156200071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000740919062000bf8565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620007e8919062000d27565b60405180910390a373d20ce84a24d9d9596aba73e837d45b5a0a47c71873ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620008786101f4670de0b6b3a764000062000af660201b62000ff41790919060201c565b60405162000887919062000d27565b60405180910390a3738242e56a759aa0b069b9c983fe3f582020cd1ec973ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620009176101f4670de0b6b3a764000062000af660201b62000ff41790919060201c565b60405162000926919062000d27565b60405180910390a373c5fb36dd2fb59d3b98deff88425a3f425ee469ed73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620009b66101f4670de0b6b3a764000062000af660201b62000ff41790919060201c565b604051620009c5919062000d27565b60405180910390a3738add70024a5673be5ffdd952239ef2ccbd6a715273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef62000a556101f4670de0b6b3a764000062000af660201b62000ff41790919060201c565b60405162000a64919062000d27565b60405180910390a362000f4a565b60008083141562000a87576000905062000af0565b6000828462000a97919062000d98565b905082848262000aa8919062000d60565b1462000aeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ae29062000d05565b60405180910390fd5b809150505b92915050565b600062000b4083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000b7960201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000bc3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bba919062000ce1565b60405180910390fd5b506000838562000bd4919062000d60565b9050809150509392505050565b60008151905062000bf28162000f30565b92915050565b60006020828403121562000c115762000c1062000ecb565b5b600062000c218482850162000be1565b91505092915050565b62000c358162000df9565b82525050565b600062000c488262000d44565b62000c54818562000d4f565b935062000c6681856020860162000e37565b62000c718162000ed0565b840191505092915050565b600062000c8b60218362000d4f565b915062000c988262000ee1565b604082019050919050565b62000cae8162000e2d565b82525050565b600060408201905062000ccb600083018562000c2a565b62000cda602083018462000c2a565b9392505050565b6000602082019050818103600083015262000cfd818462000c3b565b905092915050565b6000602082019050818103600083015262000d208162000c7c565b9050919050565b600060208201905062000d3e600083018462000ca3565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000d6d8262000e2d565b915062000d7a8362000e2d565b92508262000d8d5762000d8c62000e9c565b5b828204905092915050565b600062000da58262000e2d565b915062000db28362000e2d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000dee5762000ded62000e6d565b5b828202905092915050565b600062000e068262000e0d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000e5757808201518184015260208101905062000e3a565b8381111562000e67576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b62000f3b8162000df9565b811462000f4757600080fd5b50565b61313c8062000f5a6000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063aae1c07411610064578063aae1c07414610398578063b515566a146103c1578063c3c8cd80146103ea578063c9567bf914610401578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b60405161014691906127bd565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906122c1565b610492565b60405161018391906127a2565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae91906121d4565b6104b0565b005b3480156101c157600080fd5b506101ca610652565b6040516101d7919061293f565b60405180910390f35b3480156101ec57600080fd5b506102076004803603810190610202919061226e565b610662565b60405161021491906127a2565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906121d4565b61073b565b005b34801561025257600080fd5b5061025b61082b565b60405161026891906129b4565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612377565b610834565b005b3480156102a657600080fd5b506102af61089f565b005b3480156102bd57600080fd5b506102d860048036038101906102d391906121d4565b610911565b6040516102e5919061293f565b60405180910390f35b3480156102fa57600080fd5b5061030361095a565b005b34801561031157600080fd5b5061031a610aad565b60405161032791906126fd565b60405180910390f35b34801561033c57600080fd5b50610345610ad6565b60405161035291906127bd565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906122c1565b610b13565b60405161038f91906127a2565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba9190612424565b610b31565b005b3480156103cd57600080fd5b506103e860048036038101906103e39190612301565b610c03565b005b3480156103f657600080fd5b506103ff610d2d565b005b34801561040d57600080fd5b50610416610da7565b005b34801561042457600080fd5b5061043f600480360381019061043a919061222e565b610ef2565b60405161044c919061293f565b60405180910390f35b60606040518060400160405280600a81526020017f54616b65646120496e7500000000000000000000000000000000000000000000815250905090565b60006104a661049f61103e565b8484611046565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f161103e565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e91906126fd565b60206040518083038186803b1580156105a657600080fd5b505afa1580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105de91906123a4565b6040518363ffffffff1660e01b81526004016105fb929190612718565b602060405180830381600087803b15801561061557600080fd5b505af1158015610629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064d919061234a565b505050565b6000670de0b6b3a7640000905090565b600061066f848484611211565b6107308461067b61103e565b61072b856040518060600160405280602881526020016130df60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106e161103e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a29092919063ffffffff16565b611046565b600190509392505050565b61074361103e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c79061287f565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661087561103e565b73ffffffffffffffffffffffffffffffffffffffff161461089557600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108e061103e565b73ffffffffffffffffffffffffffffffffffffffff161461090057600080fd5b600047905061090e81611906565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61096261103e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e69061287f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f54414b4544410000000000000000000000000000000000000000000000000000815250905090565b6000610b27610b2061103e565b8484611211565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b7261103e565b73ffffffffffffffffffffffffffffffffffffffff1614610b9257600080fd5b600b548260ff1611158015610bac5750600b548160ff1611155b610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be29061291f565b60405180910390fd5b8160ff166009819055508060ff16600a819055505050565b610c0b61103e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8f9061287f565b60405180910390fd5b60005b8151811015610d2957600160056000848481518110610cbd57610cbc612d32565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d2190612c8b565b915050610c9b565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d6e61103e565b73ffffffffffffffffffffffffffffffffffffffff1614610d8e57600080fd5b6000610d9930610911565b9050610da481611972565b50565b610daf61103e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e339061287f565b60405180910390fd5b601060149054906101000a900460ff1615610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e83906128ff565b60405180910390fd5b610ea6610e9830610911565b47610ea1610aad565b611bfa565b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555061012c42610eea9190612a75565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080831415610f8c5760009050610fee565b60008284610f9a9190612afc565b9050828482610fa99190612acb565b14610fe9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe09061285f565b60405180910390fd5b809150505b92915050565b600061103683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d1e565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ad906128df565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611126576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111d9061281f565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611204919061293f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611281576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611278906128bf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e8906127ff565b60405180910390fd5b60008111611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b9061289f565b60405180910390fd5b600954600881905550611345610aad565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113b35750611383610aad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561178257600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561145c5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61146557600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115105750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115665750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611573575060075442105b1561162357600c5481111561158757600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106115d257600080fd5b601e426115df9190612a75565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060159054906101000a900460ff1615801561168e5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116a65750601060169054906101000a900460ff165b80156116fc5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611781576007544211611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173c906127df565b60405180910390fd5b600061175030610911565b9050600d5481111561177f5761176581611972565b6000479050600081111561177d5761177c47611906565b5b505b505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561182d5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118835750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561189257600a546008819055505b61189d838383611d81565b505050565b60008383111582906118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e191906127bd565b60405180910390fd5b50600083856118f99190612b56565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561196e573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119aa576119a9612d61565b5b6040519080825280602002602001820160405280156119d85781602001602082028036833780820191505090505b50905030816000815181106119f0576119ef612d32565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9257600080fd5b505afa158015611aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aca9190612201565b81600181518110611ade57611add612d32565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b4530600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611046565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ba995949392919061295a565b600060405180830381600087803b158015611bc357600080fd5b505af1158015611bd7573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6001601060156101000a81548160ff021916908315150217905550611c4230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611046565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611ca996959493929190612741565b6060604051808303818588803b158015611cc257600080fd5b505af1158015611cd6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cfb91906123d1565b5050506000601060156101000a81548160ff021916908315150217905550505050565b60008083118290611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c91906127bd565b60405180910390fd5b5060008385611d749190612acb565b9050809150509392505050565b600080611d8d83611fbc565b91509150611de383600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201090919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e7882600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205a90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f0d81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fad919061293f565b60405180910390a35050505050565b6000806000611fea6103e8611fdc60085487610f7990919063ffffffff16565b610ff490919063ffffffff16565b90506000612001828661201090919063ffffffff16565b90508082935093505050915091565b600061205283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118a2565b905092915050565b60008082846120699190612a75565b9050838110156120ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a59061283f565b60405180910390fd5b8091505092915050565b60006120cb6120c6846129f4565b6129cf565b905080838252602082019050828560208602820111156120ee576120ed612d95565b5b60005b8581101561211e57816121048882612128565b8452602084019350602083019250506001810190506120f1565b5050509392505050565b60008135905061213781613082565b92915050565b60008151905061214c81613082565b92915050565b600082601f83011261216757612166612d90565b5b81356121778482602086016120b8565b91505092915050565b60008151905061218f81613099565b92915050565b6000813590506121a4816130b0565b92915050565b6000815190506121b9816130b0565b92915050565b6000813590506121ce816130c7565b92915050565b6000602082840312156121ea576121e9612d9f565b5b60006121f884828501612128565b91505092915050565b60006020828403121561221757612216612d9f565b5b60006122258482850161213d565b91505092915050565b6000806040838503121561224557612244612d9f565b5b600061225385828601612128565b925050602061226485828601612128565b9150509250929050565b60008060006060848603121561228757612286612d9f565b5b600061229586828701612128565b93505060206122a686828701612128565b92505060406122b786828701612195565b9150509250925092565b600080604083850312156122d8576122d7612d9f565b5b60006122e685828601612128565b92505060206122f785828601612195565b9150509250929050565b60006020828403121561231757612316612d9f565b5b600082013567ffffffffffffffff81111561233557612334612d9a565b5b61234184828501612152565b91505092915050565b6000602082840312156123605761235f612d9f565b5b600061236e84828501612180565b91505092915050565b60006020828403121561238d5761238c612d9f565b5b600061239b84828501612195565b91505092915050565b6000602082840312156123ba576123b9612d9f565b5b60006123c8848285016121aa565b91505092915050565b6000806000606084860312156123ea576123e9612d9f565b5b60006123f8868287016121aa565b9350506020612409868287016121aa565b925050604061241a868287016121aa565b9150509250925092565b6000806040838503121561243b5761243a612d9f565b5b6000612449858286016121bf565b925050602061245a858286016121bf565b9150509250929050565b6000612470838361248b565b60208301905092915050565b61248581612bdf565b82525050565b61249481612b8a565b82525050565b6124a381612b8a565b82525050565b60006124b482612a30565b6124be8185612a53565b93506124c983612a20565b8060005b838110156124fa5781516124e18882612464565b97506124ec83612a46565b9250506001810190506124cd565b5085935050505092915050565b61251081612b9c565b82525050565b61251f81612bf1565b82525050565b600061253082612a3b565b61253a8185612a64565b935061254a818560208601612c27565b61255381612da4565b840191505092915050565b600061256b602883612a64565b915061257682612db5565b604082019050919050565b600061258e602383612a64565b915061259982612e04565b604082019050919050565b60006125b1602283612a64565b91506125bc82612e53565b604082019050919050565b60006125d4601b83612a64565b91506125df82612ea2565b602082019050919050565b60006125f7602183612a64565b915061260282612ecb565b604082019050919050565b600061261a602083612a64565b915061262582612f1a565b602082019050919050565b600061263d602983612a64565b915061264882612f43565b604082019050919050565b6000612660602583612a64565b915061266b82612f92565b604082019050919050565b6000612683602483612a64565b915061268e82612fe1565b604082019050919050565b60006126a6601783612a64565b91506126b182613030565b602082019050919050565b60006126c9601d83612a64565b91506126d482613059565b602082019050919050565b6126e881612bc8565b82525050565b6126f781612bd2565b82525050565b6000602082019050612712600083018461249a565b92915050565b600060408201905061272d600083018561247c565b61273a60208301846126df565b9392505050565b600060c082019050612756600083018961249a565b61276360208301886126df565b6127706040830187612516565b61277d6060830186612516565b61278a608083018561249a565b61279760a08301846126df565b979650505050505050565b60006020820190506127b76000830184612507565b92915050565b600060208201905081810360008301526127d78184612525565b905092915050565b600060208201905081810360008301526127f88161255e565b9050919050565b6000602082019050818103600083015261281881612581565b9050919050565b60006020820190508181036000830152612838816125a4565b9050919050565b60006020820190508181036000830152612858816125c7565b9050919050565b60006020820190508181036000830152612878816125ea565b9050919050565b600060208201905081810360008301526128988161260d565b9050919050565b600060208201905081810360008301526128b881612630565b9050919050565b600060208201905081810360008301526128d881612653565b9050919050565b600060208201905081810360008301526128f881612676565b9050919050565b6000602082019050818103600083015261291881612699565b9050919050565b60006020820190508181036000830152612938816126bc565b9050919050565b600060208201905061295460008301846126df565b92915050565b600060a08201905061296f60008301886126df565b61297c6020830187612516565b818103604083015261298e81866124a9565b905061299d606083018561249a565b6129aa60808301846126df565b9695505050505050565b60006020820190506129c960008301846126ee565b92915050565b60006129d96129ea565b90506129e58282612c5a565b919050565b6000604051905090565b600067ffffffffffffffff821115612a0f57612a0e612d61565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a8082612bc8565b9150612a8b83612bc8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ac057612abf612cd4565b5b828201905092915050565b6000612ad682612bc8565b9150612ae183612bc8565b925082612af157612af0612d03565b5b828204905092915050565b6000612b0782612bc8565b9150612b1283612bc8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b4b57612b4a612cd4565b5b828202905092915050565b6000612b6182612bc8565b9150612b6c83612bc8565b925082821015612b7f57612b7e612cd4565b5b828203905092915050565b6000612b9582612ba8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bea82612c03565b9050919050565b6000612bfc82612bc8565b9050919050565b6000612c0e82612c15565b9050919050565b6000612c2082612ba8565b9050919050565b60005b83811015612c45578082015181840152602081019050612c2a565b83811115612c54576000848401525b50505050565b612c6382612da4565b810181811067ffffffffffffffff82111715612c8257612c81612d61565b5b80604052505050565b6000612c9682612bc8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612cc957612cc8612cd4565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b61308b81612b8a565b811461309657600080fd5b50565b6130a281612b9c565b81146130ad57600080fd5b50565b6130b981612bc8565b81146130c457600080fd5b50565b6130d081612bd2565b81146130db57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220964ca5577481ed9d5696e3a256a3407361be3aa65538dd7e1aba7a1ff2b7053564736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063aae1c07411610064578063aae1c07414610398578063b515566a146103c1578063c3c8cd80146103ea578063c9567bf914610401578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b60405161014691906127bd565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906122c1565b610492565b60405161018391906127a2565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae91906121d4565b6104b0565b005b3480156101c157600080fd5b506101ca610652565b6040516101d7919061293f565b60405180910390f35b3480156101ec57600080fd5b506102076004803603810190610202919061226e565b610662565b60405161021491906127a2565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f91906121d4565b61073b565b005b34801561025257600080fd5b5061025b61082b565b60405161026891906129b4565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612377565b610834565b005b3480156102a657600080fd5b506102af61089f565b005b3480156102bd57600080fd5b506102d860048036038101906102d391906121d4565b610911565b6040516102e5919061293f565b60405180910390f35b3480156102fa57600080fd5b5061030361095a565b005b34801561031157600080fd5b5061031a610aad565b60405161032791906126fd565b60405180910390f35b34801561033c57600080fd5b50610345610ad6565b60405161035291906127bd565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906122c1565b610b13565b60405161038f91906127a2565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba9190612424565b610b31565b005b3480156103cd57600080fd5b506103e860048036038101906103e39190612301565b610c03565b005b3480156103f657600080fd5b506103ff610d2d565b005b34801561040d57600080fd5b50610416610da7565b005b34801561042457600080fd5b5061043f600480360381019061043a919061222e565b610ef2565b60405161044c919061293f565b60405180910390f35b60606040518060400160405280600a81526020017f54616b65646120496e7500000000000000000000000000000000000000000000815250905090565b60006104a661049f61103e565b8484611046565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f161103e565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e91906126fd565b60206040518083038186803b1580156105a657600080fd5b505afa1580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105de91906123a4565b6040518363ffffffff1660e01b81526004016105fb929190612718565b602060405180830381600087803b15801561061557600080fd5b505af1158015610629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064d919061234a565b505050565b6000670de0b6b3a7640000905090565b600061066f848484611211565b6107308461067b61103e565b61072b856040518060600160405280602881526020016130df60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106e161103e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a29092919063ffffffff16565b611046565b600190509392505050565b61074361103e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c79061287f565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661087561103e565b73ffffffffffffffffffffffffffffffffffffffff161461089557600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108e061103e565b73ffffffffffffffffffffffffffffffffffffffff161461090057600080fd5b600047905061090e81611906565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61096261103e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e69061287f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f54414b4544410000000000000000000000000000000000000000000000000000815250905090565b6000610b27610b2061103e565b8484611211565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b7261103e565b73ffffffffffffffffffffffffffffffffffffffff1614610b9257600080fd5b600b548260ff1611158015610bac5750600b548160ff1611155b610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be29061291f565b60405180910390fd5b8160ff166009819055508060ff16600a819055505050565b610c0b61103e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8f9061287f565b60405180910390fd5b60005b8151811015610d2957600160056000848481518110610cbd57610cbc612d32565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d2190612c8b565b915050610c9b565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d6e61103e565b73ffffffffffffffffffffffffffffffffffffffff1614610d8e57600080fd5b6000610d9930610911565b9050610da481611972565b50565b610daf61103e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e339061287f565b60405180910390fd5b601060149054906101000a900460ff1615610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e83906128ff565b60405180910390fd5b610ea6610e9830610911565b47610ea1610aad565b611bfa565b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555061012c42610eea9190612a75565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080831415610f8c5760009050610fee565b60008284610f9a9190612afc565b9050828482610fa99190612acb565b14610fe9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe09061285f565b60405180910390fd5b809150505b92915050565b600061103683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d1e565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ad906128df565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611126576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111d9061281f565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611204919061293f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611281576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611278906128bf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e8906127ff565b60405180910390fd5b60008111611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b9061289f565b60405180910390fd5b600954600881905550611345610aad565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113b35750611383610aad565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561178257600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561145c5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61146557600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115105750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115665750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611573575060075442105b1561162357600c5481111561158757600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106115d257600080fd5b601e426115df9190612a75565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060159054906101000a900460ff1615801561168e5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116a65750601060169054906101000a900460ff165b80156116fc5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611781576007544211611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173c906127df565b60405180910390fd5b600061175030610911565b9050600d5481111561177f5761176581611972565b6000479050600081111561177d5761177c47611906565b5b505b505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561182d5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118835750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561189257600a546008819055505b61189d838383611d81565b505050565b60008383111582906118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e191906127bd565b60405180910390fd5b50600083856118f99190612b56565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561196e573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119aa576119a9612d61565b5b6040519080825280602002602001820160405280156119d85781602001602082028036833780820191505090505b50905030816000815181106119f0576119ef612d32565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9257600080fd5b505afa158015611aa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aca9190612201565b81600181518110611ade57611add612d32565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b4530600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611046565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ba995949392919061295a565b600060405180830381600087803b158015611bc357600080fd5b505af1158015611bd7573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6001601060156101000a81548160ff021916908315150217905550611c4230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611046565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611ca996959493929190612741565b6060604051808303818588803b158015611cc257600080fd5b505af1158015611cd6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cfb91906123d1565b5050506000601060156101000a81548160ff021916908315150217905550505050565b60008083118290611d65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5c91906127bd565b60405180910390fd5b5060008385611d749190612acb565b9050809150509392505050565b600080611d8d83611fbc565b91509150611de383600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201090919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e7882600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205a90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f0d81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fad919061293f565b60405180910390a35050505050565b6000806000611fea6103e8611fdc60085487610f7990919063ffffffff16565b610ff490919063ffffffff16565b90506000612001828661201090919063ffffffff16565b90508082935093505050915091565b600061205283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118a2565b905092915050565b60008082846120699190612a75565b9050838110156120ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a59061283f565b60405180910390fd5b8091505092915050565b60006120cb6120c6846129f4565b6129cf565b905080838252602082019050828560208602820111156120ee576120ed612d95565b5b60005b8581101561211e57816121048882612128565b8452602084019350602083019250506001810190506120f1565b5050509392505050565b60008135905061213781613082565b92915050565b60008151905061214c81613082565b92915050565b600082601f83011261216757612166612d90565b5b81356121778482602086016120b8565b91505092915050565b60008151905061218f81613099565b92915050565b6000813590506121a4816130b0565b92915050565b6000815190506121b9816130b0565b92915050565b6000813590506121ce816130c7565b92915050565b6000602082840312156121ea576121e9612d9f565b5b60006121f884828501612128565b91505092915050565b60006020828403121561221757612216612d9f565b5b60006122258482850161213d565b91505092915050565b6000806040838503121561224557612244612d9f565b5b600061225385828601612128565b925050602061226485828601612128565b9150509250929050565b60008060006060848603121561228757612286612d9f565b5b600061229586828701612128565b93505060206122a686828701612128565b92505060406122b786828701612195565b9150509250925092565b600080604083850312156122d8576122d7612d9f565b5b60006122e685828601612128565b92505060206122f785828601612195565b9150509250929050565b60006020828403121561231757612316612d9f565b5b600082013567ffffffffffffffff81111561233557612334612d9a565b5b61234184828501612152565b91505092915050565b6000602082840312156123605761235f612d9f565b5b600061236e84828501612180565b91505092915050565b60006020828403121561238d5761238c612d9f565b5b600061239b84828501612195565b91505092915050565b6000602082840312156123ba576123b9612d9f565b5b60006123c8848285016121aa565b91505092915050565b6000806000606084860312156123ea576123e9612d9f565b5b60006123f8868287016121aa565b9350506020612409868287016121aa565b925050604061241a868287016121aa565b9150509250925092565b6000806040838503121561243b5761243a612d9f565b5b6000612449858286016121bf565b925050602061245a858286016121bf565b9150509250929050565b6000612470838361248b565b60208301905092915050565b61248581612bdf565b82525050565b61249481612b8a565b82525050565b6124a381612b8a565b82525050565b60006124b482612a30565b6124be8185612a53565b93506124c983612a20565b8060005b838110156124fa5781516124e18882612464565b97506124ec83612a46565b9250506001810190506124cd565b5085935050505092915050565b61251081612b9c565b82525050565b61251f81612bf1565b82525050565b600061253082612a3b565b61253a8185612a64565b935061254a818560208601612c27565b61255381612da4565b840191505092915050565b600061256b602883612a64565b915061257682612db5565b604082019050919050565b600061258e602383612a64565b915061259982612e04565b604082019050919050565b60006125b1602283612a64565b91506125bc82612e53565b604082019050919050565b60006125d4601b83612a64565b91506125df82612ea2565b602082019050919050565b60006125f7602183612a64565b915061260282612ecb565b604082019050919050565b600061261a602083612a64565b915061262582612f1a565b602082019050919050565b600061263d602983612a64565b915061264882612f43565b604082019050919050565b6000612660602583612a64565b915061266b82612f92565b604082019050919050565b6000612683602483612a64565b915061268e82612fe1565b604082019050919050565b60006126a6601783612a64565b91506126b182613030565b602082019050919050565b60006126c9601d83612a64565b91506126d482613059565b602082019050919050565b6126e881612bc8565b82525050565b6126f781612bd2565b82525050565b6000602082019050612712600083018461249a565b92915050565b600060408201905061272d600083018561247c565b61273a60208301846126df565b9392505050565b600060c082019050612756600083018961249a565b61276360208301886126df565b6127706040830187612516565b61277d6060830186612516565b61278a608083018561249a565b61279760a08301846126df565b979650505050505050565b60006020820190506127b76000830184612507565b92915050565b600060208201905081810360008301526127d78184612525565b905092915050565b600060208201905081810360008301526127f88161255e565b9050919050565b6000602082019050818103600083015261281881612581565b9050919050565b60006020820190508181036000830152612838816125a4565b9050919050565b60006020820190508181036000830152612858816125c7565b9050919050565b60006020820190508181036000830152612878816125ea565b9050919050565b600060208201905081810360008301526128988161260d565b9050919050565b600060208201905081810360008301526128b881612630565b9050919050565b600060208201905081810360008301526128d881612653565b9050919050565b600060208201905081810360008301526128f881612676565b9050919050565b6000602082019050818103600083015261291881612699565b9050919050565b60006020820190508181036000830152612938816126bc565b9050919050565b600060208201905061295460008301846126df565b92915050565b600060a08201905061296f60008301886126df565b61297c6020830187612516565b818103604083015261298e81866124a9565b905061299d606083018561249a565b6129aa60808301846126df565b9695505050505050565b60006020820190506129c960008301846126ee565b92915050565b60006129d96129ea565b90506129e58282612c5a565b919050565b6000604051905090565b600067ffffffffffffffff821115612a0f57612a0e612d61565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a8082612bc8565b9150612a8b83612bc8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ac057612abf612cd4565b5b828201905092915050565b6000612ad682612bc8565b9150612ae183612bc8565b925082612af157612af0612d03565b5b828204905092915050565b6000612b0782612bc8565b9150612b1283612bc8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b4b57612b4a612cd4565b5b828202905092915050565b6000612b6182612bc8565b9150612b6c83612bc8565b925082821015612b7f57612b7e612cd4565b5b828203905092915050565b6000612b9582612ba8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bea82612c03565b9050919050565b6000612bfc82612bc8565b9050919050565b6000612c0e82612c15565b9050919050565b6000612c2082612ba8565b9050919050565b60005b83811015612c45578082015181840152602081019050612c2a565b83811115612c54576000848401525b50505050565b612c6382612da4565b810181811067ffffffffffffffff82111715612c8257612c81612d61565b5b80604052505050565b6000612c9682612bc8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612cc957612cc8612cd4565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b61308b81612b8a565b811461309657600080fd5b50565b6130a281612b9c565b81146130ad57600080fd5b50565b6130b981612bc8565b81146130c457600080fd5b50565b6130d081612bd2565b81146130db57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220964ca5577481ed9d5696e3a256a3407361be3aa65538dd7e1aba7a1ff2b7053564736f6c63430008070033

Deployed Bytecode Sourcemap

3557:8980:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5980:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6811:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12278:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6257:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6980:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11058:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6166:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7567:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11831:194;;;;;;;;;;;;;:::i;:::-;;6360:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2636:148;;;;;;;;;;;;;:::i;:::-;;2422:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6071:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6485:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7304:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10882:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11624:195;;;;;;;;;;;;;:::i;:::-;;10576:294;;;;;;;;;;;;;:::i;:::-;;6660:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5980:83;6017:13;6050:5;;;;;;;;;;;;;;;;;6043:12;;5980:83;:::o;6811:161::-;6886:4;6903:39;6912:12;:10;:12::i;:::-;6926:7;6935:6;6903:8;:39::i;:::-;6960:4;6953:11;;6811:161;;;;:::o;12278:256::-;12367:15;;;;;;;;;;;12351:31;;:12;:10;:12::i;:::-;:31;;;12343:40;;;;;;12394:20;12424:12;12394:43;;12448:13;:22;;;12471:15;;;;;;;;;;;12487:13;:23;;;12519:4;12487:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12448:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12332:202;12278:256;:::o;6257:95::-;6310:7;4012:17;6330:14;;6257:95;:::o;6980:313::-;7078:4;7095:36;7105:6;7113:9;7124:6;7095:9;:36::i;:::-;7142:121;7151:6;7159:12;:10;:12::i;:::-;7173:89;7211:6;7173:89;;;;;;;;;;;;;;;;;:11;:19;7185:6;7173:19;;;;;;;;;;;;;;;:33;7193:12;:10;:12::i;:::-;7173:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7142:8;:121::i;:::-;7281:4;7274:11;;6980:313;;;;;:::o;11058:88::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11133:5:::1;11118:4;:12;11123:6;11118:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;11058:88:::0;:::o;6166:83::-;6207:5;4382:1;6225:16;;6166:83;:::o;7567:142::-;7653:15;;;;;;;;;;;7637:31;;:12;:10;:12::i;:::-;:31;;;7629:40;;;;;;7693:6;7680:10;:19;;;;7567:142;:::o;11831:194::-;11897:15;;;;;;;;;;;11881:31;;:12;:10;:12::i;:::-;:31;;;11873:40;;;;;;11924:26;11953:21;11924:50;;11985:32;11998:18;11985:12;:32::i;:::-;11862:163;11831:194::o;6360:117::-;6426:7;6453;:16;6461:7;6453:16;;;;;;;;;;;;;;;;6446:23;;6360:117;;;:::o;2636:148::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2743:1:::1;2706:40;;2727:6;::::0;::::1;;;;;;;;2706:40;;;;;;;;;;;;2774:1;2757:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2636:148::o:0;2422:79::-;2460:7;2487:6;;;;;;;;;;;2480:13;;2422:79;:::o;6071:87::-;6110:13;6143:7;;;;;;;;;;;;;;;;;6136:14;;6071:87;:::o;6485:167::-;6563:4;6580:42;6590:12;:10;:12::i;:::-;6604:9;6615:6;6580:9;:42::i;:::-;6640:4;6633:11;;6485:167;;;;:::o;7304:255::-;7403:15;;;;;;;;;;;7387:31;;:12;:10;:12::i;:::-;:31;;;7379:40;;;;;;7447:6;;7438:5;:15;;;;:34;;;;;7466:6;;7457:5;:15;;;;7438:34;7430:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;7523:5;7516:12;;:4;:12;;;;7546:5;7539:12;;:4;:12;;;;7304:255;;:::o;10882:164::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10956:6:::1;10951:88;10972:5;:12;10968:1;:16;10951:88;;;11023:4;11006;:14;11011:5;11017:1;11011:8;;;;;;;;:::i;:::-;;;;;;;;11006:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10986:3;;;;;:::i;:::-;;;;10951:88;;;;10882:164:::0;:::o;11624:195::-;11690:15;;;;;;;;;;;11674:31;;:12;:10;:12::i;:::-;:31;;;11666:40;;;;;;11717:23;11743:24;11761:4;11743:9;:24::i;:::-;11717:50;;11778:33;11795:15;11778:16;:33::i;:::-;11655:164;11624:195::o;10576:294::-;2559:12;:10;:12::i;:::-;2549:22;;:6;;;;;;;;;;:22;;;2541:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10640:11:::1;;;;;;;;;;;10639:12;10631:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10689:68;10702:24;10720:4;10702:9;:24::i;:::-;10727:21;10749:7;:5;:7::i;:::-;10689:12;:68::i;:::-;10782:4;10768:11;;:18;;;;;;;;;;;;;;;;;;10811:4;10797:11;;:18;;;;;;;;;;;;;;;;;;10852:9;10833:15;:29;;;;:::i;:::-;10826:4;:36;;;;10576:294::o:0;6660:143::-;6741:7;6768:11;:18;6780:5;6768:18;;;;;;;;;;;;;;;:27;6787:7;6768:27;;;;;;;;;;;;;;;;6761:34;;6660:143;;;;:::o;1475:246::-;1533:7;1562:1;1557;:6;1553:47;;;1587:1;1580:8;;;;1553:47;1610:9;1626:1;1622;:5;;;;:::i;:::-;1610:17;;1655:1;1650;1646;:5;;;;:::i;:::-;:10;1638:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1712:1;1705:8;;;1475:246;;;;;:::o;1729:132::-;1787:7;1814:39;1818:1;1821;1814:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1807:46;;1729:132;;;;:::o;140:98::-;193:7;220:10;213:17;;140:98;:::o;7720:335::-;7830:1;7813:19;;:5;:19;;;;7805:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7911:1;7892:21;;:7;:21;;;;7884:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7993:6;7963:11;:18;7975:5;7963:18;;;;;;;;;;;;;;;:27;7982:7;7963:27;;;;;;;;;;;;;;;:36;;;;8031:7;8015:32;;8024:5;8015:32;;;8040:6;8015:32;;;;;;:::i;:::-;;;;;;;;7720:335;;;:::o;8063:1605::-;8167:1;8151:18;;:4;:18;;;;8143:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8244:1;8230:16;;:2;:16;;;;8222:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8314:1;8305:6;:10;8297:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8381:4;;8374;:11;;;;8408:7;:5;:7::i;:::-;8400:15;;:4;:15;;;;:32;;;;;8425:7;:5;:7::i;:::-;8419:13;;:2;:13;;;;8400:32;8396:1082;;;8458:4;:10;8463:4;8458:10;;;;;;;;;;;;;;;;;;;;;;;;;8457:11;:24;;;;;8473:4;:8;8478:2;8473:8;;;;;;;;;;;;;;;;;;;;;;;;;8472:9;8457:24;8449:33;;;;;;8509:13;;;;;;;;;;;8501:21;;:4;:21;;;:55;;;;;8540:15;;;;;;;;;;;8526:30;;:2;:30;;;;8501:55;:83;;;;;8562:18;:22;8581:2;8562:22;;;;;;;;;;;;;;;;;;;;;;;;;8560:24;8501:83;:111;;;;;8607:4;;8589:15;:22;8501:111;8497:333;;;8679:12;;8669:6;:22;;8661:31;;;;;;8734:15;8719:8;:12;8728:2;8719:12;;;;;;;;;;;;;;;;:30;8711:39;;;;;;8803:10;8784:15;:30;;;;:::i;:::-;8769:8;:12;8778:2;8769:12;;;;;;;;;;;;;;;:45;;;;8497:333;8863:6;;;;;;;;;;;8862:7;:32;;;;;8881:13;;;;;;;;;;;8873:21;;:4;:21;;;;8862:32;:47;;;;;8898:11;;;;;;;;;;;8862:47;:76;;;;;8914:18;:24;8933:4;8914:24;;;;;;;;;;;;;;;;;;;;;;;;;8913:25;8862:76;8858:609;;;8985:4;;8967:15;:22;8959:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9052:28;9083:24;9101:4;9083:9;:24::i;:::-;9052:55;;9152:10;;9129:20;:33;9126:326;;;9186:38;9203:20;9186:16;:38::i;:::-;9247:26;9276:21;9247:50;;9344:1;9323:18;:22;9320:113;;;9374:35;9387:21;9374:12;:35::i;:::-;9320:113;9163:289;9126:326;8940:527;8858:609;8396:1082;9498:13;;;;;;;;;;;9492:19;;:2;:19;;;:55;;;;;9531:15;;;;;;;;;;;9515:32;;:4;:32;;;;9492:55;:85;;;;;9553:18;:24;9572:4;9553:24;;;;;;;;;;;;;;;;;;;;;;;;;9551:26;9492:85;9488:129;;;9601:4;;9594;:11;;;;9488:129;9627:33;9645:4;9650:2;9653:6;9627:17;:33::i;:::-;8063:1605;;;:::o;1277:190::-;1363:7;1396:1;1391;:6;;1399:12;1383:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1423:9;1439:1;1435;:5;;;;:::i;:::-;1423:17;;1458:1;1451:8;;;1277:190;;;;;:::o;10467:97::-;10524:15;;;;;;;;;;;:24;;:32;10549:6;10524:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10467:97;:::o;9676:483::-;4666:4;4657:6;;:13;;;;;;;;;;;;;;;;;;9754:21:::1;9792:1;9778:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9754:40;;9823:4;9805;9810:1;9805:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9849:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9839:4;9844:1;9839:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9882:62;9899:4;9914:15;;;;;;;;;;;9932:11;9882:8;:62::i;:::-;9955:15;;;;;;;;;;;:66;;;10036:11;10062:1;10078:4;10105;10125:15;9955:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9743:416;4702:5:::0;4693:6;;:14;;;;;;;;;;;;;;;;;;9676:483;:::o;10167:288::-;4666:4;4657:6;;:13;;;;;;;;;;;;;;;;;;10273:60:::1;10290:4;10304:15;;;;;;;;;;;10321:11;10273:8;:60::i;:::-;10344:15;;;;;;;;;;;:31;;;10383:9;10402:4;10408:11;10420:1;10422::::0;10424:6:::1;10431:15;10344:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4702:5:::0;4693:6;;:14;;;;;;;;;;;;;;;;;;10167:288;;;:::o;1869:189::-;1955:7;1987:1;1983;:5;1990:12;1975:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2014:9;2030:1;2026;:5;;;;:::i;:::-;2014:17;;2049:1;2042:8;;;1869:189;;;;;:::o;11154:421::-;11253:22;11276:12;11292:20;11304:7;11292:11;:20::i;:::-;11252:60;;;;11341:28;11361:7;11341;:15;11349:6;11341:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11323:7;:15;11331:6;11323:15;;;;;;;;;;;;;;;:46;;;;11401:38;11424:14;11401:7;:18;11409:9;11401:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;11380:7;:18;11388:9;11380:18;;;;;;;;;;;;;;;:59;;;;11476:32;11503:4;11476:7;:22;11492:4;11476:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;11451:7;:22;11467:4;11451:22;;;;;;;;;;;;;;;:57;;;;11541:9;11524:43;;11533:6;11524:43;;;11552:14;11524:43;;;;;;:::i;:::-;;;;;;;;11241:334;;11154:421;;;:::o;12036:234::-;12096:7;12105;12125:12;12140:27;12162:4;12140:17;12152:4;;12140:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;12125:42;;12178:23;12204:17;12216:4;12204:7;:11;;:17;;;;:::i;:::-;12178:43;;12240:15;12257:4;12232:30;;;;;;12036:234;;;:::o;1133:136::-;1191:7;1218:43;1222:1;1225;1218:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1211:50;;1133:136;;;;:::o;946:179::-;1004:7;1024:9;1040:1;1036;:5;;;;:::i;:::-;1024:17;;1065:1;1060;:6;;1052:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1116:1;1109:8;;;946:179;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1439:137;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1582:139;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1727:143;;;;:::o;1876:135::-;1920:5;1958:6;1945:20;1936:29;;1974:31;1999:5;1974:31;:::i;:::-;1876:135;;;;:::o;2017:329::-;2076:6;2125:2;2113:9;2104:7;2100:23;2096:32;2093:119;;;2131:79;;:::i;:::-;2093:119;2251:1;2276:53;2321:7;2312:6;2301:9;2297:22;2276:53;:::i;:::-;2266:63;;2222:117;2017:329;;;;:::o;2352:351::-;2422:6;2471:2;2459:9;2450:7;2446:23;2442:32;2439:119;;;2477:79;;:::i;:::-;2439:119;2597:1;2622:64;2678:7;2669:6;2658:9;2654:22;2622:64;:::i;:::-;2612:74;;2568:128;2352:351;;;;:::o;2709:474::-;2777:6;2785;2834:2;2822:9;2813:7;2809:23;2805:32;2802:119;;;2840:79;;:::i;:::-;2802:119;2960:1;2985:53;3030:7;3021:6;3010:9;3006:22;2985:53;:::i;:::-;2975:63;;2931:117;3087:2;3113:53;3158:7;3149:6;3138:9;3134:22;3113:53;:::i;:::-;3103:63;;3058:118;2709:474;;;;;:::o;3189:619::-;3266:6;3274;3282;3331:2;3319:9;3310:7;3306:23;3302:32;3299:119;;;3337:79;;:::i;:::-;3299:119;3457:1;3482:53;3527:7;3518:6;3507:9;3503:22;3482:53;:::i;:::-;3472:63;;3428:117;3584:2;3610:53;3655:7;3646:6;3635:9;3631:22;3610:53;:::i;:::-;3600:63;;3555:118;3712:2;3738:53;3783:7;3774:6;3763:9;3759:22;3738:53;:::i;:::-;3728:63;;3683:118;3189:619;;;;;:::o;3814:474::-;3882:6;3890;3939:2;3927:9;3918:7;3914:23;3910:32;3907:119;;;3945:79;;:::i;:::-;3907:119;4065:1;4090:53;4135:7;4126:6;4115:9;4111:22;4090:53;:::i;:::-;4080:63;;4036:117;4192:2;4218:53;4263:7;4254:6;4243:9;4239:22;4218:53;:::i;:::-;4208:63;;4163:118;3814:474;;;;;:::o;4294:539::-;4378:6;4427:2;4415:9;4406:7;4402:23;4398:32;4395:119;;;4433:79;;:::i;:::-;4395:119;4581:1;4570:9;4566:17;4553:31;4611:18;4603:6;4600:30;4597:117;;;4633:79;;:::i;:::-;4597:117;4738:78;4808:7;4799:6;4788:9;4784:22;4738:78;:::i;:::-;4728:88;;4524:302;4294:539;;;;:::o;4839:345::-;4906:6;4955:2;4943:9;4934:7;4930:23;4926:32;4923:119;;;4961:79;;:::i;:::-;4923:119;5081:1;5106:61;5159:7;5150:6;5139:9;5135:22;5106:61;:::i;:::-;5096:71;;5052:125;4839:345;;;;:::o;5190:329::-;5249:6;5298:2;5286:9;5277:7;5273:23;5269:32;5266:119;;;5304:79;;:::i;:::-;5266:119;5424:1;5449:53;5494:7;5485:6;5474:9;5470:22;5449:53;:::i;:::-;5439:63;;5395:117;5190:329;;;;:::o;5525:351::-;5595:6;5644:2;5632:9;5623:7;5619:23;5615:32;5612:119;;;5650:79;;:::i;:::-;5612:119;5770:1;5795:64;5851:7;5842:6;5831:9;5827:22;5795:64;:::i;:::-;5785:74;;5741:128;5525:351;;;;:::o;5882:663::-;5970:6;5978;5986;6035:2;6023:9;6014:7;6010:23;6006:32;6003:119;;;6041:79;;:::i;:::-;6003:119;6161:1;6186:64;6242:7;6233:6;6222:9;6218:22;6186:64;:::i;:::-;6176:74;;6132:128;6299:2;6325:64;6381:7;6372:6;6361:9;6357:22;6325:64;:::i;:::-;6315:74;;6270:129;6438:2;6464:64;6520:7;6511:6;6500:9;6496:22;6464:64;:::i;:::-;6454:74;;6409:129;5882:663;;;;;:::o;6551:466::-;6615:6;6623;6672:2;6660:9;6651:7;6647:23;6643:32;6640:119;;;6678:79;;:::i;:::-;6640:119;6798:1;6823:51;6866:7;6857:6;6846:9;6842:22;6823:51;:::i;:::-;6813:61;;6769:115;6923:2;6949:51;6992:7;6983:6;6972:9;6968:22;6949:51;:::i;:::-;6939:61;;6894:116;6551:466;;;;;:::o;7023:179::-;7092:10;7113:46;7155:3;7147:6;7113:46;:::i;:::-;7191:4;7186:3;7182:14;7168:28;;7023:179;;;;:::o;7208:147::-;7303:45;7342:5;7303:45;:::i;:::-;7298:3;7291:58;7208:147;;:::o;7361:108::-;7438:24;7456:5;7438:24;:::i;:::-;7433:3;7426:37;7361:108;;:::o;7475:118::-;7562:24;7580:5;7562:24;:::i;:::-;7557:3;7550:37;7475:118;;:::o;7629:732::-;7748:3;7777:54;7825:5;7777:54;:::i;:::-;7847:86;7926:6;7921:3;7847:86;:::i;:::-;7840:93;;7957:56;8007:5;7957:56;:::i;:::-;8036:7;8067:1;8052:284;8077:6;8074:1;8071:13;8052:284;;;8153:6;8147:13;8180:63;8239:3;8224:13;8180:63;:::i;:::-;8173:70;;8266:60;8319:6;8266:60;:::i;:::-;8256:70;;8112:224;8099:1;8096;8092:9;8087:14;;8052:284;;;8056:14;8352:3;8345:10;;7753:608;;;7629:732;;;;:::o;8367:109::-;8448:21;8463:5;8448:21;:::i;:::-;8443:3;8436:34;8367:109;;:::o;8482:147::-;8577:45;8616:5;8577:45;:::i;:::-;8572:3;8565:58;8482:147;;:::o;8635:364::-;8723:3;8751:39;8784:5;8751:39;:::i;:::-;8806:71;8870:6;8865:3;8806:71;:::i;:::-;8799:78;;8886:52;8931:6;8926:3;8919:4;8912:5;8908:16;8886:52;:::i;:::-;8963:29;8985:6;8963:29;:::i;:::-;8958:3;8954:39;8947:46;;8727:272;8635:364;;;;:::o;9005:366::-;9147:3;9168:67;9232:2;9227:3;9168:67;:::i;:::-;9161:74;;9244:93;9333:3;9244:93;:::i;:::-;9362:2;9357:3;9353:12;9346:19;;9005:366;;;:::o;9377:::-;9519:3;9540:67;9604:2;9599:3;9540:67;:::i;:::-;9533:74;;9616:93;9705:3;9616:93;:::i;:::-;9734:2;9729:3;9725:12;9718:19;;9377:366;;;:::o;9749:::-;9891:3;9912:67;9976:2;9971:3;9912:67;:::i;:::-;9905:74;;9988:93;10077:3;9988:93;:::i;:::-;10106:2;10101:3;10097:12;10090:19;;9749:366;;;:::o;10121:::-;10263:3;10284:67;10348:2;10343:3;10284:67;:::i;:::-;10277:74;;10360:93;10449:3;10360:93;:::i;:::-;10478:2;10473:3;10469:12;10462:19;;10121:366;;;:::o;10493:::-;10635:3;10656:67;10720:2;10715:3;10656:67;:::i;:::-;10649:74;;10732:93;10821:3;10732:93;:::i;:::-;10850:2;10845:3;10841:12;10834:19;;10493:366;;;:::o;10865:::-;11007:3;11028:67;11092:2;11087:3;11028:67;:::i;:::-;11021:74;;11104:93;11193:3;11104:93;:::i;:::-;11222:2;11217:3;11213:12;11206:19;;10865:366;;;:::o;11237:::-;11379:3;11400:67;11464:2;11459:3;11400:67;:::i;:::-;11393:74;;11476:93;11565:3;11476:93;:::i;:::-;11594:2;11589:3;11585:12;11578:19;;11237:366;;;:::o;11609:::-;11751:3;11772:67;11836:2;11831:3;11772:67;:::i;:::-;11765:74;;11848:93;11937:3;11848:93;:::i;:::-;11966:2;11961:3;11957:12;11950:19;;11609:366;;;:::o;11981:::-;12123:3;12144:67;12208:2;12203:3;12144:67;:::i;:::-;12137:74;;12220:93;12309:3;12220:93;:::i;:::-;12338:2;12333:3;12329:12;12322:19;;11981:366;;;:::o;12353:::-;12495:3;12516:67;12580:2;12575:3;12516:67;:::i;:::-;12509:74;;12592:93;12681:3;12592:93;:::i;:::-;12710:2;12705:3;12701:12;12694:19;;12353:366;;;:::o;12725:::-;12867:3;12888:67;12952:2;12947:3;12888:67;:::i;:::-;12881:74;;12964:93;13053:3;12964:93;:::i;:::-;13082:2;13077:3;13073:12;13066:19;;12725:366;;;:::o;13097:118::-;13184:24;13202:5;13184:24;:::i;:::-;13179:3;13172:37;13097:118;;:::o;13221:112::-;13304:22;13320:5;13304:22;:::i;:::-;13299:3;13292:35;13221:112;;:::o;13339:222::-;13432:4;13470:2;13459:9;13455:18;13447:26;;13483:71;13551:1;13540:9;13536:17;13527:6;13483:71;:::i;:::-;13339:222;;;;:::o;13567:348::-;13696:4;13734:2;13723:9;13719:18;13711:26;;13747:79;13823:1;13812:9;13808:17;13799:6;13747:79;:::i;:::-;13836:72;13904:2;13893:9;13889:18;13880:6;13836:72;:::i;:::-;13567:348;;;;;:::o;13921:807::-;14170:4;14208:3;14197:9;14193:19;14185:27;;14222:71;14290:1;14279:9;14275:17;14266:6;14222:71;:::i;:::-;14303:72;14371:2;14360:9;14356:18;14347:6;14303:72;:::i;:::-;14385:80;14461:2;14450:9;14446:18;14437:6;14385:80;:::i;:::-;14475;14551:2;14540:9;14536:18;14527:6;14475:80;:::i;:::-;14565:73;14633:3;14622:9;14618:19;14609:6;14565:73;:::i;:::-;14648;14716:3;14705:9;14701:19;14692:6;14648:73;:::i;:::-;13921:807;;;;;;;;;:::o;14734:210::-;14821:4;14859:2;14848:9;14844:18;14836:26;;14872:65;14934:1;14923:9;14919:17;14910:6;14872:65;:::i;:::-;14734:210;;;;:::o;14950:313::-;15063:4;15101:2;15090:9;15086:18;15078:26;;15150:9;15144:4;15140:20;15136:1;15125:9;15121:17;15114:47;15178:78;15251:4;15242:6;15178:78;:::i;:::-;15170:86;;14950:313;;;;:::o;15269:419::-;15435:4;15473:2;15462:9;15458:18;15450:26;;15522:9;15516:4;15512:20;15508:1;15497:9;15493:17;15486:47;15550:131;15676:4;15550:131;:::i;:::-;15542:139;;15269:419;;;:::o;15694:::-;15860:4;15898:2;15887:9;15883:18;15875:26;;15947:9;15941:4;15937:20;15933:1;15922:9;15918:17;15911:47;15975:131;16101:4;15975:131;:::i;:::-;15967:139;;15694:419;;;:::o;16119:::-;16285:4;16323:2;16312:9;16308:18;16300:26;;16372:9;16366:4;16362:20;16358:1;16347:9;16343:17;16336:47;16400:131;16526:4;16400:131;:::i;:::-;16392:139;;16119:419;;;:::o;16544:::-;16710:4;16748:2;16737:9;16733:18;16725:26;;16797:9;16791:4;16787:20;16783:1;16772:9;16768:17;16761:47;16825:131;16951:4;16825:131;:::i;:::-;16817:139;;16544:419;;;:::o;16969:::-;17135:4;17173:2;17162:9;17158:18;17150:26;;17222:9;17216:4;17212:20;17208:1;17197:9;17193:17;17186:47;17250:131;17376:4;17250:131;:::i;:::-;17242:139;;16969:419;;;:::o;17394:::-;17560:4;17598:2;17587:9;17583:18;17575:26;;17647:9;17641:4;17637:20;17633:1;17622:9;17618:17;17611:47;17675:131;17801:4;17675:131;:::i;:::-;17667:139;;17394:419;;;:::o;17819:::-;17985:4;18023:2;18012:9;18008:18;18000:26;;18072:9;18066:4;18062:20;18058:1;18047:9;18043:17;18036:47;18100:131;18226:4;18100:131;:::i;:::-;18092:139;;17819:419;;;:::o;18244:::-;18410:4;18448:2;18437:9;18433:18;18425:26;;18497:9;18491:4;18487:20;18483:1;18472:9;18468:17;18461:47;18525:131;18651:4;18525:131;:::i;:::-;18517:139;;18244:419;;;:::o;18669:::-;18835:4;18873:2;18862:9;18858:18;18850:26;;18922:9;18916:4;18912:20;18908:1;18897:9;18893:17;18886:47;18950:131;19076:4;18950:131;:::i;:::-;18942:139;;18669:419;;;:::o;19094:::-;19260:4;19298:2;19287:9;19283:18;19275:26;;19347:9;19341:4;19337:20;19333:1;19322:9;19318:17;19311:47;19375:131;19501:4;19375:131;:::i;:::-;19367:139;;19094:419;;;:::o;19519:::-;19685:4;19723:2;19712:9;19708:18;19700:26;;19772:9;19766:4;19762:20;19758:1;19747:9;19743:17;19736:47;19800:131;19926:4;19800:131;:::i;:::-;19792:139;;19519:419;;;:::o;19944:222::-;20037:4;20075:2;20064:9;20060:18;20052:26;;20088:71;20156:1;20145:9;20141:17;20132:6;20088:71;:::i;:::-;19944:222;;;;:::o;20172:831::-;20435:4;20473:3;20462:9;20458:19;20450:27;;20487:71;20555:1;20544:9;20540:17;20531:6;20487:71;:::i;:::-;20568:80;20644:2;20633:9;20629:18;20620:6;20568:80;:::i;:::-;20695:9;20689:4;20685:20;20680:2;20669:9;20665:18;20658:48;20723:108;20826:4;20817:6;20723:108;:::i;:::-;20715:116;;20841:72;20909:2;20898:9;20894:18;20885:6;20841:72;:::i;:::-;20923:73;20991:3;20980:9;20976:19;20967:6;20923:73;:::i;:::-;20172:831;;;;;;;;:::o;21009:214::-;21098:4;21136:2;21125:9;21121:18;21113:26;;21149:67;21213:1;21202:9;21198:17;21189:6;21149:67;:::i;:::-;21009:214;;;;:::o;21229:129::-;21263:6;21290:20;;:::i;:::-;21280:30;;21319:33;21347:4;21339:6;21319:33;:::i;:::-;21229:129;;;:::o;21364:75::-;21397:6;21430:2;21424:9;21414:19;;21364:75;:::o;21445:311::-;21522:4;21612:18;21604:6;21601:30;21598:56;;;21634:18;;:::i;:::-;21598:56;21684:4;21676:6;21672:17;21664:25;;21744:4;21738;21734:15;21726:23;;21445:311;;;:::o;21762:132::-;21829:4;21852:3;21844:11;;21882:4;21877:3;21873:14;21865:22;;21762:132;;;:::o;21900:114::-;21967:6;22001:5;21995:12;21985:22;;21900:114;;;:::o;22020:99::-;22072:6;22106:5;22100:12;22090:22;;22020:99;;;:::o;22125:113::-;22195:4;22227;22222:3;22218:14;22210:22;;22125:113;;;:::o;22244:184::-;22343:11;22377:6;22372:3;22365:19;22417:4;22412:3;22408:14;22393:29;;22244:184;;;;:::o;22434:169::-;22518:11;22552:6;22547:3;22540:19;22592:4;22587:3;22583:14;22568:29;;22434:169;;;;:::o;22609:305::-;22649:3;22668:20;22686:1;22668:20;:::i;:::-;22663:25;;22702:20;22720:1;22702:20;:::i;:::-;22697:25;;22856:1;22788:66;22784:74;22781:1;22778:81;22775:107;;;22862:18;;:::i;:::-;22775:107;22906:1;22903;22899:9;22892:16;;22609:305;;;;:::o;22920:185::-;22960:1;22977:20;22995:1;22977:20;:::i;:::-;22972:25;;23011:20;23029:1;23011:20;:::i;:::-;23006:25;;23050:1;23040:35;;23055:18;;:::i;:::-;23040:35;23097:1;23094;23090:9;23085:14;;22920:185;;;;:::o;23111:348::-;23151:7;23174:20;23192:1;23174:20;:::i;:::-;23169:25;;23208:20;23226:1;23208:20;:::i;:::-;23203:25;;23396:1;23328:66;23324:74;23321:1;23318:81;23313:1;23306:9;23299:17;23295:105;23292:131;;;23403:18;;:::i;:::-;23292:131;23451:1;23448;23444:9;23433:20;;23111:348;;;;:::o;23465:191::-;23505:4;23525:20;23543:1;23525:20;:::i;:::-;23520:25;;23559:20;23577:1;23559:20;:::i;:::-;23554:25;;23598:1;23595;23592:8;23589:34;;;23603:18;;:::i;:::-;23589:34;23648:1;23645;23641:9;23633:17;;23465:191;;;;:::o;23662:96::-;23699:7;23728:24;23746:5;23728:24;:::i;:::-;23717:35;;23662:96;;;:::o;23764:90::-;23798:7;23841:5;23834:13;23827:21;23816:32;;23764:90;;;:::o;23860:126::-;23897:7;23937:42;23930:5;23926:54;23915:65;;23860:126;;;:::o;23992:77::-;24029:7;24058:5;24047:16;;23992:77;;;:::o;24075:86::-;24110:7;24150:4;24143:5;24139:16;24128:27;;24075:86;;;:::o;24167:134::-;24225:9;24258:37;24289:5;24258:37;:::i;:::-;24245:50;;24167:134;;;:::o;24307:121::-;24365:9;24398:24;24416:5;24398:24;:::i;:::-;24385:37;;24307:121;;;:::o;24434:126::-;24484:9;24517:37;24548:5;24517:37;:::i;:::-;24504:50;;24434:126;;;:::o;24566:113::-;24616:9;24649:24;24667:5;24649:24;:::i;:::-;24636:37;;24566:113;;;:::o;24685:307::-;24753:1;24763:113;24777:6;24774:1;24771:13;24763:113;;;24862:1;24857:3;24853:11;24847:18;24843:1;24838:3;24834:11;24827:39;24799:2;24796:1;24792:10;24787:15;;24763:113;;;24894:6;24891:1;24888:13;24885:101;;;24974:1;24965:6;24960:3;24956:16;24949:27;24885:101;24734:258;24685:307;;;:::o;24998:281::-;25081:27;25103:4;25081:27;:::i;:::-;25073:6;25069:40;25211:6;25199:10;25196:22;25175:18;25163:10;25160:34;25157:62;25154:88;;;25222:18;;:::i;:::-;25154:88;25262:10;25258:2;25251:22;25041:238;24998:281;;:::o;25285:233::-;25324:3;25347:24;25365:5;25347:24;:::i;:::-;25338:33;;25393:66;25386:5;25383:77;25380:103;;;25463:18;;:::i;:::-;25380:103;25510:1;25503:5;25499:13;25492:20;;25285:233;;;:::o;25524:180::-;25572:77;25569:1;25562:88;25669:4;25666:1;25659:15;25693:4;25690:1;25683:15;25710:180;25758:77;25755:1;25748:88;25855:4;25852:1;25845:15;25879:4;25876:1;25869:15;25896:180;25944:77;25941:1;25934:88;26041:4;26038:1;26031:15;26065:4;26062:1;26055:15;26082:180;26130:77;26127:1;26120:88;26227:4;26224:1;26217:15;26251:4;26248:1;26241:15;26268:117;26377:1;26374;26367:12;26391:117;26500:1;26497;26490:12;26514:117;26623:1;26620;26613:12;26637:117;26746:1;26743;26736:12;26760:102;26801:6;26852:2;26848:7;26843:2;26836:5;26832:14;26828:28;26818:38;;26760:102;;;:::o;26868:227::-;27008:34;27004:1;26996:6;26992:14;26985:58;27077:10;27072:2;27064:6;27060:15;27053:35;26868:227;:::o;27101:222::-;27241:34;27237:1;27229:6;27225:14;27218:58;27310:5;27305:2;27297:6;27293:15;27286:30;27101:222;:::o;27329:221::-;27469:34;27465:1;27457:6;27453:14;27446:58;27538:4;27533:2;27525:6;27521:15;27514:29;27329:221;:::o;27556:177::-;27696:29;27692:1;27684:6;27680:14;27673:53;27556:177;:::o;27739:220::-;27879:34;27875:1;27867:6;27863:14;27856:58;27948:3;27943:2;27935:6;27931:15;27924:28;27739:220;:::o;27965:182::-;28105:34;28101:1;28093:6;28089:14;28082:58;27965:182;:::o;28153:228::-;28293:34;28289:1;28281:6;28277:14;28270:58;28362:11;28357:2;28349:6;28345:15;28338:36;28153:228;:::o;28387:224::-;28527:34;28523:1;28515:6;28511:14;28504:58;28596:7;28591:2;28583:6;28579:15;28572:32;28387:224;:::o;28617:223::-;28757:34;28753:1;28745:6;28741:14;28734:58;28826:6;28821:2;28813:6;28809:15;28802:31;28617:223;:::o;28846:173::-;28986:25;28982:1;28974:6;28970:14;28963:49;28846:173;:::o;29025:179::-;29165:31;29161:1;29153:6;29149:14;29142:55;29025:179;:::o;29210:122::-;29283:24;29301:5;29283:24;:::i;:::-;29276:5;29273:35;29263:63;;29322:1;29319;29312:12;29263:63;29210:122;:::o;29338:116::-;29408:21;29423:5;29408:21;:::i;:::-;29401:5;29398:32;29388:60;;29444:1;29441;29434:12;29388:60;29338:116;:::o;29460:122::-;29533:24;29551:5;29533:24;:::i;:::-;29526:5;29523:35;29513:63;;29572:1;29569;29562:12;29513:63;29460:122;:::o;29588:118::-;29659:22;29675:5;29659:22;:::i;:::-;29652:5;29649:33;29639:61;;29696:1;29693;29686:12;29639:61;29588:118;:::o

Swarm Source

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