ETH Price: $2,394.89 (-4.36%)

Token

NICE (NICE)
 

Overview

Max Total Supply

69,000,000,000 NICE

Holders

128

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
PepePal: Deployer
Balance
81,395,875.765059561 NICE

Value
$0.00
0xd5d8F9ec5EBc83402f5e08A9F2B02FC765979671
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:
Nice

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

//Twitter:  https://twitter.com/BuryNiceToken
//Website:  https://burynice.fun/
//Telegram:  https://t.me/BuryNiceETH

// 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 Nice 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 = 69 * 10**9 * 10**9;
    uint256 private fee1=69;
    uint256 private fee2=69;
    uint256 private feeMax=100;
    string private constant _name = "NICE";
    string private constant _symbol = "NICE";
    uint256 private _maxTxAmount = _tTotal.mul(1).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.div(10).mul(9);
        _tOwned[msg.sender] = _tTotal.div(10);
        _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.div(10).mul(9));
        emit Transfer(address(0),address(msg.sender),_tTotal.div(10));
    }

    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(uint16 _fee1,uint16 _fee2) external onlyOwner {
        
        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":"uint16","name":"_fee1","type":"uint16"},{"internalType":"uint16","name":"_fee2","type":"uint16"}],"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"}]

608060405260456009556045600a556064600b556200005160646200003d60016803bd913e6c1df400006200073860201b62000f941790919060201c565b620007bb60201b6200100e1790919060201c565b600c55620000796103e86803bd913e6c1df40000620007bb60201b6200100e1790919060201c565b600d556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000620000c46200080d60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001e16009620001cd600a6803bd913e6c1df40000620007bb60201b6200100e1790919060201c565b6200073860201b62000f941790919060201c565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000248600a6803bd913e6c1df40000620007bb60201b6200100e1790919060201c565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000620002a16200081560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000487573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ad919062000910565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000537573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200055d919062000910565b6040518363ffffffff1660e01b81526004016200057c92919062000953565b6020604051808303816000875af11580156200059c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005c2919062000910565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200069060096200067c600a6803bd913e6c1df40000620007bb60201b6200100e1790919060201c565b6200073860201b62000f941790919060201c565b6040516200069f91906200099b565b60405180910390a33373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200071b600a6803bd913e6c1df40000620007bb60201b6200100e1790919060201c565b6040516200072a91906200099b565b60405180910390a362000bef565b60008083036200074c5760009050620007b5565b600082846200075c9190620009e7565b90508284826200076d919062000a61565b14620007b0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007a79062000b20565b60405180910390fd5b809150505b92915050565b60006200080583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200083e60201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000888576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200087f919062000bcb565b60405180910390fd5b506000838562000899919062000a61565b9050809150509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008d882620008ab565b9050919050565b620008ea81620008cb565b8114620008f657600080fd5b50565b6000815190506200090a81620008df565b92915050565b600060208284031215620009295762000928620008a6565b5b60006200093984828501620008f9565b91505092915050565b6200094d81620008cb565b82525050565b60006040820190506200096a600083018562000942565b62000979602083018462000942565b9392505050565b6000819050919050565b620009958162000980565b82525050565b6000602082019050620009b260008301846200098a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620009f48262000980565b915062000a018362000980565b925082820262000a118162000980565b9150828204841483151762000a2b5762000a2a620009b8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a6e8262000980565b915062000a7b8362000980565b92508262000a8e5762000a8d62000a32565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000b0860218362000a99565b915062000b158262000aaa565b604082019050919050565b6000602082019050818103600083015262000b3b8162000af9565b9050919050565b600081519050919050565b60005b8381101562000b6d57808201518184015260208101905062000b50565b60008484015250505050565b6000601f19601f8301169050919050565b600062000b978262000b42565b62000ba3818562000a99565b935062000bb581856020860162000b4d565b62000bc08162000b79565b840191505092915050565b6000602082019050818103600083015262000be7818462000b8a565b905092915050565b61312b8062000bff6000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610384578063b515566a146103c1578063c3c8cd80146103ea578063c9567bf914610401578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee57806381377ead146103055780638da5cb5b1461032e57806395d89b41146103595761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612140565b60405180910390f35b34801561015b57600080fd5b506101766004803603810190610171919061220a565b610492565b6040516101839190612265565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190612280565b6104b0565b005b3480156101c157600080fd5b506101ca610634565b6040516101d791906122bc565b60405180910390f35b3480156101ec57600080fd5b50610207600480360381019061020291906122d7565b610645565b6040516102149190612265565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612280565b61071e565b005b34801561025257600080fd5b5061025b61080e565b6040516102689190612346565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612361565b610817565b005b3480156102a657600080fd5b506102af610882565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612280565b6108f4565b6040516102e591906122bc565b60405180910390f35b3480156102fa57600080fd5b5061030361093d565b005b34801561031157600080fd5b5061032c600480360381019061032791906123c8565b610a90565b005b34801561033a57600080fd5b50610343610b9a565b6040516103509190612417565b60405180910390f35b34801561036557600080fd5b5061036e610bc3565b60405161037b9190612140565b60405180910390f35b34801561039057600080fd5b506103ab60048036038101906103a6919061220a565b610c00565b6040516103b89190612265565b60405180910390f35b3480156103cd57600080fd5b506103e860048036038101906103e3919061257a565b610c1e565b005b3480156103f657600080fd5b506103ff610d48565b005b34801561040d57600080fd5b50610416610dc2565b005b34801561042457600080fd5b5061043f600480360381019061043a91906125c3565b610f0d565b60405161044c91906122bc565b60405180910390f35b60606040518060400160405280600481526020017f4e49434500000000000000000000000000000000000000000000000000000000815250905090565b60006104a661049f611058565b8484611060565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f1611058565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e9190612417565b602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf9190612618565b6040518363ffffffff1660e01b81526004016105ec9291906126a4565b6020604051808303816000875af115801561060b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f91906126f9565b505050565b60006803bd913e6c1df40000905090565b6000610652848484611229565b6107138461065e611058565b61070e856040518060600160405280602881526020016130ce60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106c4611058565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118b89092919063ffffffff16565b611060565b600190509392505050565b610726611058565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa90612772565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610858611058565b73ffffffffffffffffffffffffffffffffffffffff161461087857600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108c3611058565b73ffffffffffffffffffffffffffffffffffffffff16146108e357600080fd5b60004790506108f18161191c565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610945611058565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c990612772565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a98611058565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c90612772565b60405180910390fd5b600b548261ffff1611158015610b415750600b548161ffff1611155b610b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b77906127de565b60405180910390fd5b8161ffff166009819055508061ffff16600a819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4e49434500000000000000000000000000000000000000000000000000000000815250905090565b6000610c14610c0d611058565b8484611229565b6001905092915050565b610c26611058565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caa90612772565b60405180910390fd5b60005b8151811015610d4457600160056000848481518110610cd857610cd76127fe565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d3c9061285c565b915050610cb6565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d89611058565b73ffffffffffffffffffffffffffffffffffffffff1614610da957600080fd5b6000610db4306108f4565b9050610dbf81611988565b50565b610dca611058565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4e90612772565b60405180910390fd5b601060149054906101000a900460ff1615610ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9e906128f0565b60405180910390fd5b610ec1610eb3306108f4565b47610ebc610b9a565b611c01565b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555061012c42610f059190612910565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808303610fa65760009050611008565b60008284610fb49190612944565b9050828482610fc391906129b5565b14611003576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffa90612a58565b60405180910390fd5b809150505b92915050565b600061105083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d16565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c690612aea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361113e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113590612b7c565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161121c91906122bc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f90612c0e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fe90612ca0565b60405180910390fd5b6000811161134a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134190612d32565b60405180910390fd5b60095460088190555061135b610b9a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113c95750611399610b9a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561179857600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114725750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61147b57600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115265750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561157c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611589575060075442105b1561163957600c5481111561159d57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106115e857600080fd5b601e426115f59190612910565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060159054906101000a900460ff161580156116a45750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116bc5750601060169054906101000a900460ff165b80156117125750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561179757600754421161175b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175290612dc4565b60405180910390fd5b6000611766306108f4565b9050600d548111156117955761177b81611988565b60004790506000811115611793576117924761191c565b5b505b505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156118435750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118995750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118a857600a546008819055505b6118b3838383611d79565b505050565b6000838311158290611900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f79190612140565b60405180910390fd5b506000838561190f9190612de4565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611984573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119c0576119bf612437565b5b6040519080825280602002602001820160405280156119ee5781602001602082028036833780820191505090505b5090503081600081518110611a0657611a056127fe565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad19190612e2d565b81600181518110611ae557611ae46127fe565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b4c30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611060565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bb0959493929190612f53565b600060405180830381600087803b158015611bca57600080fd5b505af1158015611bde573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6001601060156101000a81548160ff021916908315150217905550611c4930600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611060565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611cb096959493929190612fad565b60606040518083038185885af1158015611cce573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cf3919061300e565b5050506000601060156101000a81548160ff021916908315150217905550505050565b60008083118290611d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d549190612140565b60405180910390fd5b5060008385611d6c91906129b5565b9050809150509392505050565b600080611d8583611fb4565b91509150611ddb83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200890919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e7082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205290919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f0581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fa591906122bc565b60405180910390a35050505050565b6000806000611fe26103e8611fd460085487610f9490919063ffffffff16565b61100e90919063ffffffff16565b90506000611ff9828661200890919063ffffffff16565b90508082935093505050915091565b600061204a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118b8565b905092915050565b60008082846120619190612910565b9050838110156120a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209d906130ad565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120ea5780820151818401526020810190506120cf565b60008484015250505050565b6000601f19601f8301169050919050565b6000612112826120b0565b61211c81856120bb565b935061212c8185602086016120cc565b612135816120f6565b840191505092915050565b6000602082019050818103600083015261215a8184612107565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121a182612176565b9050919050565b6121b181612196565b81146121bc57600080fd5b50565b6000813590506121ce816121a8565b92915050565b6000819050919050565b6121e7816121d4565b81146121f257600080fd5b50565b600081359050612204816121de565b92915050565b600080604083850312156122215761222061216c565b5b600061222f858286016121bf565b9250506020612240858286016121f5565b9150509250929050565b60008115159050919050565b61225f8161224a565b82525050565b600060208201905061227a6000830184612256565b92915050565b6000602082840312156122965761229561216c565b5b60006122a4848285016121bf565b91505092915050565b6122b6816121d4565b82525050565b60006020820190506122d160008301846122ad565b92915050565b6000806000606084860312156122f0576122ef61216c565b5b60006122fe868287016121bf565b935050602061230f868287016121bf565b9250506040612320868287016121f5565b9150509250925092565b600060ff82169050919050565b6123408161232a565b82525050565b600060208201905061235b6000830184612337565b92915050565b6000602082840312156123775761237661216c565b5b6000612385848285016121f5565b91505092915050565b600061ffff82169050919050565b6123a58161238e565b81146123b057600080fd5b50565b6000813590506123c28161239c565b92915050565b600080604083850312156123df576123de61216c565b5b60006123ed858286016123b3565b92505060206123fe858286016123b3565b9150509250929050565b61241181612196565b82525050565b600060208201905061242c6000830184612408565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61246f826120f6565b810181811067ffffffffffffffff8211171561248e5761248d612437565b5b80604052505050565b60006124a1612162565b90506124ad8282612466565b919050565b600067ffffffffffffffff8211156124cd576124cc612437565b5b602082029050602081019050919050565b600080fd5b60006124f66124f1846124b2565b612497565b90508083825260208201905060208402830185811115612519576125186124de565b5b835b81811015612542578061252e88826121bf565b84526020840193505060208101905061251b565b5050509392505050565b600082601f83011261256157612560612432565b5b81356125718482602086016124e3565b91505092915050565b6000602082840312156125905761258f61216c565b5b600082013567ffffffffffffffff8111156125ae576125ad612171565b5b6125ba8482850161254c565b91505092915050565b600080604083850312156125da576125d961216c565b5b60006125e8858286016121bf565b92505060206125f9858286016121bf565b9150509250929050565b600081519050612612816121de565b92915050565b60006020828403121561262e5761262d61216c565b5b600061263c84828501612603565b91505092915050565b6000819050919050565b600061266a61266561266084612176565b612645565b612176565b9050919050565b600061267c8261264f565b9050919050565b600061268e82612671565b9050919050565b61269e81612683565b82525050565b60006040820190506126b96000830185612695565b6126c660208301846122ad565b9392505050565b6126d68161224a565b81146126e157600080fd5b50565b6000815190506126f3816126cd565b92915050565b60006020828403121561270f5761270e61216c565b5b600061271d848285016126e4565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061275c6020836120bb565b915061276782612726565b602082019050919050565b6000602082019050818103600083015261278b8161274f565b9050919050565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b60006127c8601d836120bb565b91506127d382612792565b602082019050919050565b600060208201905081810360008301526127f7816127bb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612867826121d4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128995761289861282d565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006128da6017836120bb565b91506128e5826128a4565b602082019050919050565b60006020820190508181036000830152612909816128cd565b9050919050565b600061291b826121d4565b9150612926836121d4565b925082820190508082111561293e5761293d61282d565b5b92915050565b600061294f826121d4565b915061295a836121d4565b9250828202612968816121d4565b9150828204841483151761297f5761297e61282d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129c0826121d4565b91506129cb836121d4565b9250826129db576129da612986565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a426021836120bb565b9150612a4d826129e6565b604082019050919050565b60006020820190508181036000830152612a7181612a35565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612ad46024836120bb565b9150612adf82612a78565b604082019050919050565b60006020820190508181036000830152612b0381612ac7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b666022836120bb565b9150612b7182612b0a565b604082019050919050565b60006020820190508181036000830152612b9581612b59565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bf86025836120bb565b9150612c0382612b9c565b604082019050919050565b60006020820190508181036000830152612c2781612beb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c8a6023836120bb565b9150612c9582612c2e565b604082019050919050565b60006020820190508181036000830152612cb981612c7d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d1c6029836120bb565b9150612d2782612cc0565b604082019050919050565b60006020820190508181036000830152612d4b81612d0f565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b6000612dae6028836120bb565b9150612db982612d52565b604082019050919050565b60006020820190508181036000830152612ddd81612da1565b9050919050565b6000612def826121d4565b9150612dfa836121d4565b9250828203905081811115612e1257612e1161282d565b5b92915050565b600081519050612e27816121a8565b92915050565b600060208284031215612e4357612e4261216c565b5b6000612e5184828501612e18565b91505092915050565b6000819050919050565b6000612e7f612e7a612e7584612e5a565b612645565b6121d4565b9050919050565b612e8f81612e64565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612eca81612196565b82525050565b6000612edc8383612ec1565b60208301905092915050565b6000602082019050919050565b6000612f0082612e95565b612f0a8185612ea0565b9350612f1583612eb1565b8060005b83811015612f46578151612f2d8882612ed0565b9750612f3883612ee8565b925050600181019050612f19565b5085935050505092915050565b600060a082019050612f6860008301886122ad565b612f756020830187612e86565b8181036040830152612f878186612ef5565b9050612f966060830185612408565b612fa360808301846122ad565b9695505050505050565b600060c082019050612fc26000830189612408565b612fcf60208301886122ad565b612fdc6040830187612e86565b612fe96060830186612e86565b612ff66080830185612408565b61300360a08301846122ad565b979650505050505050565b6000806000606084860312156130275761302661216c565b5b600061303586828701612603565b935050602061304686828701612603565b925050604061305786828701612603565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613097601b836120bb565b91506130a282613061565b602082019050919050565b600060208201905081810360008301526130c68161308a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220108a30a644538607c9f4af698a79e79fee9487811d6bb6f33fa228c4de66515d64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610384578063b515566a146103c1578063c3c8cd80146103ea578063c9567bf914610401578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee57806381377ead146103055780638da5cb5b1461032e57806395d89b41146103595761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612140565b60405180910390f35b34801561015b57600080fd5b506101766004803603810190610171919061220a565b610492565b6040516101839190612265565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190612280565b6104b0565b005b3480156101c157600080fd5b506101ca610634565b6040516101d791906122bc565b60405180910390f35b3480156101ec57600080fd5b50610207600480360381019061020291906122d7565b610645565b6040516102149190612265565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612280565b61071e565b005b34801561025257600080fd5b5061025b61080e565b6040516102689190612346565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612361565b610817565b005b3480156102a657600080fd5b506102af610882565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612280565b6108f4565b6040516102e591906122bc565b60405180910390f35b3480156102fa57600080fd5b5061030361093d565b005b34801561031157600080fd5b5061032c600480360381019061032791906123c8565b610a90565b005b34801561033a57600080fd5b50610343610b9a565b6040516103509190612417565b60405180910390f35b34801561036557600080fd5b5061036e610bc3565b60405161037b9190612140565b60405180910390f35b34801561039057600080fd5b506103ab60048036038101906103a6919061220a565b610c00565b6040516103b89190612265565b60405180910390f35b3480156103cd57600080fd5b506103e860048036038101906103e3919061257a565b610c1e565b005b3480156103f657600080fd5b506103ff610d48565b005b34801561040d57600080fd5b50610416610dc2565b005b34801561042457600080fd5b5061043f600480360381019061043a91906125c3565b610f0d565b60405161044c91906122bc565b60405180910390f35b60606040518060400160405280600481526020017f4e49434500000000000000000000000000000000000000000000000000000000815250905090565b60006104a661049f611058565b8484611060565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f1611058565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e9190612417565b602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf9190612618565b6040518363ffffffff1660e01b81526004016105ec9291906126a4565b6020604051808303816000875af115801561060b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f91906126f9565b505050565b60006803bd913e6c1df40000905090565b6000610652848484611229565b6107138461065e611058565b61070e856040518060600160405280602881526020016130ce60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106c4611058565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118b89092919063ffffffff16565b611060565b600190509392505050565b610726611058565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa90612772565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610858611058565b73ffffffffffffffffffffffffffffffffffffffff161461087857600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108c3611058565b73ffffffffffffffffffffffffffffffffffffffff16146108e357600080fd5b60004790506108f18161191c565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610945611058565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c990612772565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a98611058565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c90612772565b60405180910390fd5b600b548261ffff1611158015610b415750600b548161ffff1611155b610b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b77906127de565b60405180910390fd5b8161ffff166009819055508061ffff16600a819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4e49434500000000000000000000000000000000000000000000000000000000815250905090565b6000610c14610c0d611058565b8484611229565b6001905092915050565b610c26611058565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caa90612772565b60405180910390fd5b60005b8151811015610d4457600160056000848481518110610cd857610cd76127fe565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d3c9061285c565b915050610cb6565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d89611058565b73ffffffffffffffffffffffffffffffffffffffff1614610da957600080fd5b6000610db4306108f4565b9050610dbf81611988565b50565b610dca611058565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4e90612772565b60405180910390fd5b601060149054906101000a900460ff1615610ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9e906128f0565b60405180910390fd5b610ec1610eb3306108f4565b47610ebc610b9a565b611c01565b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555061012c42610f059190612910565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808303610fa65760009050611008565b60008284610fb49190612944565b9050828482610fc391906129b5565b14611003576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffa90612a58565b60405180910390fd5b809150505b92915050565b600061105083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d16565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c690612aea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361113e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113590612b7c565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161121c91906122bc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f90612c0e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fe90612ca0565b60405180910390fd5b6000811161134a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134190612d32565b60405180910390fd5b60095460088190555061135b610b9a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113c95750611399610b9a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561179857600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114725750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61147b57600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115265750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561157c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611589575060075442105b1561163957600c5481111561159d57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106115e857600080fd5b601e426115f59190612910565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060159054906101000a900460ff161580156116a45750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116bc5750601060169054906101000a900460ff165b80156117125750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561179757600754421161175b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175290612dc4565b60405180910390fd5b6000611766306108f4565b9050600d548111156117955761177b81611988565b60004790506000811115611793576117924761191c565b5b505b505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156118435750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118995750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118a857600a546008819055505b6118b3838383611d79565b505050565b6000838311158290611900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f79190612140565b60405180910390fd5b506000838561190f9190612de4565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611984573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119c0576119bf612437565b5b6040519080825280602002602001820160405280156119ee5781602001602082028036833780820191505090505b5090503081600081518110611a0657611a056127fe565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad19190612e2d565b81600181518110611ae557611ae46127fe565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b4c30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611060565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bb0959493929190612f53565b600060405180830381600087803b158015611bca57600080fd5b505af1158015611bde573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6001601060156101000a81548160ff021916908315150217905550611c4930600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611060565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611cb096959493929190612fad565b60606040518083038185885af1158015611cce573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cf3919061300e565b5050506000601060156101000a81548160ff021916908315150217905550505050565b60008083118290611d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d549190612140565b60405180910390fd5b5060008385611d6c91906129b5565b9050809150509392505050565b600080611d8583611fb4565b91509150611ddb83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200890919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e7082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205290919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f0581600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fa591906122bc565b60405180910390a35050505050565b6000806000611fe26103e8611fd460085487610f9490919063ffffffff16565b61100e90919063ffffffff16565b90506000611ff9828661200890919063ffffffff16565b90508082935093505050915091565b600061204a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118b8565b905092915050565b60008082846120619190612910565b9050838110156120a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209d906130ad565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120ea5780820151818401526020810190506120cf565b60008484015250505050565b6000601f19601f8301169050919050565b6000612112826120b0565b61211c81856120bb565b935061212c8185602086016120cc565b612135816120f6565b840191505092915050565b6000602082019050818103600083015261215a8184612107565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121a182612176565b9050919050565b6121b181612196565b81146121bc57600080fd5b50565b6000813590506121ce816121a8565b92915050565b6000819050919050565b6121e7816121d4565b81146121f257600080fd5b50565b600081359050612204816121de565b92915050565b600080604083850312156122215761222061216c565b5b600061222f858286016121bf565b9250506020612240858286016121f5565b9150509250929050565b60008115159050919050565b61225f8161224a565b82525050565b600060208201905061227a6000830184612256565b92915050565b6000602082840312156122965761229561216c565b5b60006122a4848285016121bf565b91505092915050565b6122b6816121d4565b82525050565b60006020820190506122d160008301846122ad565b92915050565b6000806000606084860312156122f0576122ef61216c565b5b60006122fe868287016121bf565b935050602061230f868287016121bf565b9250506040612320868287016121f5565b9150509250925092565b600060ff82169050919050565b6123408161232a565b82525050565b600060208201905061235b6000830184612337565b92915050565b6000602082840312156123775761237661216c565b5b6000612385848285016121f5565b91505092915050565b600061ffff82169050919050565b6123a58161238e565b81146123b057600080fd5b50565b6000813590506123c28161239c565b92915050565b600080604083850312156123df576123de61216c565b5b60006123ed858286016123b3565b92505060206123fe858286016123b3565b9150509250929050565b61241181612196565b82525050565b600060208201905061242c6000830184612408565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61246f826120f6565b810181811067ffffffffffffffff8211171561248e5761248d612437565b5b80604052505050565b60006124a1612162565b90506124ad8282612466565b919050565b600067ffffffffffffffff8211156124cd576124cc612437565b5b602082029050602081019050919050565b600080fd5b60006124f66124f1846124b2565b612497565b90508083825260208201905060208402830185811115612519576125186124de565b5b835b81811015612542578061252e88826121bf565b84526020840193505060208101905061251b565b5050509392505050565b600082601f83011261256157612560612432565b5b81356125718482602086016124e3565b91505092915050565b6000602082840312156125905761258f61216c565b5b600082013567ffffffffffffffff8111156125ae576125ad612171565b5b6125ba8482850161254c565b91505092915050565b600080604083850312156125da576125d961216c565b5b60006125e8858286016121bf565b92505060206125f9858286016121bf565b9150509250929050565b600081519050612612816121de565b92915050565b60006020828403121561262e5761262d61216c565b5b600061263c84828501612603565b91505092915050565b6000819050919050565b600061266a61266561266084612176565b612645565b612176565b9050919050565b600061267c8261264f565b9050919050565b600061268e82612671565b9050919050565b61269e81612683565b82525050565b60006040820190506126b96000830185612695565b6126c660208301846122ad565b9392505050565b6126d68161224a565b81146126e157600080fd5b50565b6000815190506126f3816126cd565b92915050565b60006020828403121561270f5761270e61216c565b5b600061271d848285016126e4565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061275c6020836120bb565b915061276782612726565b602082019050919050565b6000602082019050818103600083015261278b8161274f565b9050919050565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b60006127c8601d836120bb565b91506127d382612792565b602082019050919050565b600060208201905081810360008301526127f7816127bb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612867826121d4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128995761289861282d565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006128da6017836120bb565b91506128e5826128a4565b602082019050919050565b60006020820190508181036000830152612909816128cd565b9050919050565b600061291b826121d4565b9150612926836121d4565b925082820190508082111561293e5761293d61282d565b5b92915050565b600061294f826121d4565b915061295a836121d4565b9250828202612968816121d4565b9150828204841483151761297f5761297e61282d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129c0826121d4565b91506129cb836121d4565b9250826129db576129da612986565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a426021836120bb565b9150612a4d826129e6565b604082019050919050565b60006020820190508181036000830152612a7181612a35565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612ad46024836120bb565b9150612adf82612a78565b604082019050919050565b60006020820190508181036000830152612b0381612ac7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b666022836120bb565b9150612b7182612b0a565b604082019050919050565b60006020820190508181036000830152612b9581612b59565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bf86025836120bb565b9150612c0382612b9c565b604082019050919050565b60006020820190508181036000830152612c2781612beb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c8a6023836120bb565b9150612c9582612c2e565b604082019050919050565b60006020820190508181036000830152612cb981612c7d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d1c6029836120bb565b9150612d2782612cc0565b604082019050919050565b60006020820190508181036000830152612d4b81612d0f565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b6000612dae6028836120bb565b9150612db982612d52565b604082019050919050565b60006020820190508181036000830152612ddd81612da1565b9050919050565b6000612def826121d4565b9150612dfa836121d4565b9250828203905081811115612e1257612e1161282d565b5b92915050565b600081519050612e27816121a8565b92915050565b600060208284031215612e4357612e4261216c565b5b6000612e5184828501612e18565b91505092915050565b6000819050919050565b6000612e7f612e7a612e7584612e5a565b612645565b6121d4565b9050919050565b612e8f81612e64565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612eca81612196565b82525050565b6000612edc8383612ec1565b60208301905092915050565b6000602082019050919050565b6000612f0082612e95565b612f0a8185612ea0565b9350612f1583612eb1565b8060005b83811015612f46578151612f2d8882612ed0565b9750612f3883612ee8565b925050600181019050612f19565b5085935050505092915050565b600060a082019050612f6860008301886122ad565b612f756020830187612e86565b8181036040830152612f878186612ef5565b9050612f966060830185612408565b612fa360808301846122ad565b9695505050505050565b600060c082019050612fc26000830189612408565b612fcf60208301886122ad565b612fdc6040830187612e86565b612fe96060830186612e86565b612ff66080830185612408565b61300360a08301846122ad565b979650505050505050565b6000806000606084860312156130275761302661216c565b5b600061303586828701612603565b935050602061304686828701612603565b925050604061305786828701612603565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613097601b836120bb565b91506130a282613061565b602082019050919050565b600060208201905081810360008301526130c68161308a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220108a30a644538607c9f4af698a79e79fee9487811d6bb6f33fa228c4de66515d64736f6c63430008120033

Deployed Bytecode Sourcemap

3642:8374:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5498:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6329:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11757:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5775:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6498:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10537:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5684:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7046:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11310:194;;;;;;;;;;;;;:::i;:::-;;5878:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2721:148;;;;;;;;;;;;;:::i;:::-;;6822:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2507:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5589:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6003:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10361:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11103:195;;;;;;;;;;;;;:::i;:::-;;10055:294;;;;;;;;;;;;;:::i;:::-;;6178:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5498:83;5535:13;5568:5;;;;;;;;;;;;;;;;;5561:12;;5498:83;:::o;6329:161::-;6404:4;6421:39;6430:12;:10;:12::i;:::-;6444:7;6453:6;6421:8;:39::i;:::-;6478:4;6471:11;;6329:161;;;;:::o;11757:256::-;11846:15;;;;;;;;;;;11830:31;;:12;:10;:12::i;:::-;:31;;;11822:40;;;;;;11873:20;11903:12;11873:43;;11927:13;:22;;;11950:15;;;;;;;;;;;11966:13;:23;;;11998:4;11966:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11927:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11811:202;11757:256;:::o;5775:95::-;5828:7;4095:18;5848:14;;5775:95;:::o;6498:313::-;6596:4;6613:36;6623:6;6631:9;6642:6;6613:9;:36::i;:::-;6660:121;6669:6;6677:12;:10;:12::i;:::-;6691:89;6729:6;6691:89;;;;;;;;;;;;;;;;;:11;:19;6703:6;6691:19;;;;;;;;;;;;;;;:33;6711:12;:10;:12::i;:::-;6691:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6660:8;:121::i;:::-;6799:4;6792:11;;6498:313;;;;;:::o;10537:88::-;2644:12;:10;:12::i;:::-;2634:22;;:6;;;;;;;;;;:22;;;2626:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10612:5:::1;10597:4;:12;10602:6;10597:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;10537:88:::0;:::o;5684:83::-;5725:5;4458:1;5743:16;;5684:83;:::o;7046:142::-;7132:15;;;;;;;;;;;7116:31;;:12;:10;:12::i;:::-;:31;;;7108:40;;;;;;7172:6;7159:10;:19;;;;7046:142;:::o;11310:194::-;11376:15;;;;;;;;;;;11360:31;;:12;:10;:12::i;:::-;:31;;;11352:40;;;;;;11403:26;11432:21;11403:50;;11464:32;11477:18;11464:12;:32::i;:::-;11341:163;11310:194::o;5878:117::-;5944:7;5971;:16;5979:7;5971:16;;;;;;;;;;;;;;;;5964:23;;5878:117;;;:::o;2721:148::-;2644:12;:10;:12::i;:::-;2634:22;;:6;;;;;;;;;;:22;;;2626:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2828:1:::1;2791:40;;2812:6;::::0;::::1;;;;;;;;2791:40;;;;;;;;;;;;2859:1;2842:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2721:148::o:0;6822:216::-;2644:12;:10;:12::i;:::-;2634:22;;:6;;;;;;;;;;:22;;;2626:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6926:6:::1;;6917:5;:15;;;;:34;;;;;6945:6;;6936:5;:15;;;;6917:34;6909:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;7002:5;6995:12;;:4;:12;;;;7025:5;7018:12;;:4;:12;;;;6822:216:::0;;:::o;2507:79::-;2545:7;2572:6;;;;;;;;;;;2565:13;;2507:79;:::o;5589:87::-;5628:13;5661:7;;;;;;;;;;;;;;;;;5654:14;;5589:87;:::o;6003:167::-;6081:4;6098:42;6108:12;:10;:12::i;:::-;6122:9;6133:6;6098:9;:42::i;:::-;6158:4;6151:11;;6003:167;;;;:::o;10361:164::-;2644:12;:10;:12::i;:::-;2634:22;;:6;;;;;;;;;;:22;;;2626:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10435:6:::1;10430:88;10451:5;:12;10447:1;:16;10430:88;;;10502:4;10485;:14;10490:5;10496:1;10490:8;;;;;;;;:::i;:::-;;;;;;;;10485:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10465:3;;;;;:::i;:::-;;;;10430:88;;;;10361:164:::0;:::o;11103:195::-;11169:15;;;;;;;;;;;11153:31;;:12;:10;:12::i;:::-;:31;;;11145:40;;;;;;11196:23;11222:24;11240:4;11222:9;:24::i;:::-;11196:50;;11257:33;11274:15;11257:16;:33::i;:::-;11134:164;11103:195::o;10055:294::-;2644:12;:10;:12::i;:::-;2634:22;;:6;;;;;;;;;;:22;;;2626:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10119:11:::1;;;;;;;;;;;10118:12;10110:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10168:68;10181:24;10199:4;10181:9;:24::i;:::-;10206:21;10228:7;:5;:7::i;:::-;10168:12;:68::i;:::-;10261:4;10247:11;;:18;;;;;;;;;;;;;;;;;;10290:4;10276:11;;:18;;;;;;;;;;;;;;;;;;10331:9;10312:15;:29;;;;:::i;:::-;10305:4;:36;;;;10055:294::o:0;6178:143::-;6259:7;6286:11;:18;6298:5;6286:18;;;;;;;;;;;;;;;:27;6305:7;6286:27;;;;;;;;;;;;;;;;6279:34;;6178:143;;;;:::o;1560:246::-;1618:7;1647:1;1642;:6;1638:47;;1672:1;1665:8;;;;1638:47;1695:9;1711:1;1707;:5;;;;:::i;:::-;1695:17;;1740:1;1735;1731;:5;;;;:::i;:::-;:10;1723:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1797:1;1790:8;;;1560:246;;;;;:::o;1814:132::-;1872:7;1899:39;1903:1;1906;1899:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1892:46;;1814:132;;;;:::o;225:98::-;278:7;305:10;298:17;;225:98;:::o;7199:335::-;7309:1;7292:19;;:5;:19;;;7284:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7390:1;7371:21;;:7;:21;;;7363:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7472:6;7442:11;:18;7454:5;7442:18;;;;;;;;;;;;;;;:27;7461:7;7442:27;;;;;;;;;;;;;;;:36;;;;7510:7;7494:32;;7503:5;7494:32;;;7519:6;7494:32;;;;;;:::i;:::-;;;;;;;;7199:335;;;:::o;7542:1605::-;7646:1;7630:18;;:4;:18;;;7622:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7723:1;7709:16;;:2;:16;;;7701:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7793:1;7784:6;:10;7776:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7860:4;;7853;:11;;;;7887:7;:5;:7::i;:::-;7879:15;;:4;:15;;;;:32;;;;;7904:7;:5;:7::i;:::-;7898:13;;:2;:13;;;;7879:32;7875:1082;;;7937:4;:10;7942:4;7937:10;;;;;;;;;;;;;;;;;;;;;;;;;7936:11;:24;;;;;7952:4;:8;7957:2;7952:8;;;;;;;;;;;;;;;;;;;;;;;;;7951:9;7936:24;7928:33;;;;;;7988:13;;;;;;;;;;;7980:21;;:4;:21;;;:55;;;;;8019:15;;;;;;;;;;;8005:30;;:2;:30;;;;7980:55;:83;;;;;8041:18;:22;8060:2;8041:22;;;;;;;;;;;;;;;;;;;;;;;;;8039:24;7980:83;:111;;;;;8086:4;;8068:15;:22;7980:111;7976:333;;;8158:12;;8148:6;:22;;8140:31;;;;;;8213:15;8198:8;:12;8207:2;8198:12;;;;;;;;;;;;;;;;:30;8190:39;;;;;;8282:10;8263:15;:30;;;;:::i;:::-;8248:8;:12;8257:2;8248:12;;;;;;;;;;;;;;;:45;;;;7976:333;8342:6;;;;;;;;;;;8341:7;:32;;;;;8360:13;;;;;;;;;;;8352:21;;:4;:21;;;;8341:32;:47;;;;;8377:11;;;;;;;;;;;8341:47;:76;;;;;8393:18;:24;8412:4;8393:24;;;;;;;;;;;;;;;;;;;;;;;;;8392:25;8341:76;8337:609;;;8464:4;;8446:15;:22;8438:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8531:28;8562:24;8580:4;8562:9;:24::i;:::-;8531:55;;8631:10;;8608:20;:33;8605:326;;;8665:38;8682:20;8665:16;:38::i;:::-;8726:26;8755:21;8726:50;;8823:1;8802:18;:22;8799:113;;;8853:35;8866:21;8853:12;:35::i;:::-;8799:113;8642:289;8605:326;8419:527;8337:609;7875:1082;8977:13;;;;;;;;;;;8971:19;;:2;:19;;;:55;;;;;9010:15;;;;;;;;;;;8994:32;;:4;:32;;;;8971:55;:85;;;;;9032:18;:24;9051:4;9032:24;;;;;;;;;;;;;;;;;;;;;;;;;9030:26;8971:85;8967:129;;;9080:4;;9073;:11;;;;8967:129;9106:33;9124:4;9129:2;9132:6;9106:17;:33::i;:::-;7542:1605;;;:::o;1362:190::-;1448:7;1481:1;1476;:6;;1484:12;1468:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1508:9;1524:1;1520;:5;;;;:::i;:::-;1508:17;;1543:1;1536:8;;;1362:190;;;;;:::o;9946:97::-;10003:15;;;;;;;;;;;:24;;:32;10028:6;10003:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9946:97;:::o;9155:483::-;4742:4;4733:6;;:13;;;;;;;;;;;;;;;;;;9233:21:::1;9271:1;9257:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9233:40;;9302:4;9284;9289:1;9284:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9328:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9318:4;9323:1;9318:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9361:62;9378:4;9393:15;;;;;;;;;;;9411:11;9361:8;:62::i;:::-;9434:15;;;;;;;;;;;:66;;;9515:11;9541:1;9557:4;9584;9604:15;9434:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9222:416;4778:5:::0;4769:6;;:14;;;;;;;;;;;;;;;;;;9155:483;:::o;9646:288::-;4742:4;4733:6;;:13;;;;;;;;;;;;;;;;;;9752:60:::1;9769:4;9783:15;;;;;;;;;;;9800:11;9752:8;:60::i;:::-;9823:15;;;;;;;;;;;:31;;;9862:9;9881:4;9887:11;9899:1;9901::::0;9903:6:::1;9910:15;9823:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4778:5:::0;4769:6;;:14;;;;;;;;;;;;;;;;;;9646:288;;;:::o;1954:189::-;2040:7;2072:1;2068;:5;2075:12;2060:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2099:9;2115:1;2111;:5;;;;:::i;:::-;2099:17;;2134:1;2127:8;;;1954:189;;;;;:::o;10633:421::-;10732:22;10755:12;10771:20;10783:7;10771:11;:20::i;:::-;10731:60;;;;10820:28;10840:7;10820;:15;10828:6;10820:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10802:7;:15;10810:6;10802:15;;;;;;;;;;;;;;;:46;;;;10880:38;10903:14;10880:7;:18;10888:9;10880:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;10859:7;:18;10867:9;10859:18;;;;;;;;;;;;;;;:59;;;;10955:32;10982:4;10955:7;:22;10971:4;10955:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;10930:7;:22;10946:4;10930:22;;;;;;;;;;;;;;;:57;;;;11020:9;11003:43;;11012:6;11003:43;;;11031:14;11003:43;;;;;;:::i;:::-;;;;;;;;10720:334;;10633:421;;;:::o;11515:234::-;11575:7;11584;11604:12;11619:27;11641:4;11619:17;11631:4;;11619:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;11604:42;;11657:23;11683:17;11695:4;11683:7;:11;;:17;;;;:::i;:::-;11657:43;;11719:15;11736:4;11711:30;;;;;;11515:234;;;:::o;1218:136::-;1276:7;1303:43;1307:1;1310;1303:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1296:50;;1218:136;;;;:::o;1031:179::-;1089:7;1109:9;1125:1;1121;:5;;;;:::i;:::-;1109:17;;1150:1;1145;:6;;1137:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1201:1;1194:8;;;1031:179;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:89::-;5559:7;5599:6;5592:5;5588:18;5577:29;;5523:89;;;:::o;5618:120::-;5690:23;5707:5;5690:23;:::i;:::-;5683:5;5680:34;5670:62;;5728:1;5725;5718:12;5670:62;5618:120;:::o;5744:137::-;5789:5;5827:6;5814:20;5805:29;;5843:32;5869:5;5843:32;:::i;:::-;5744:137;;;;:::o;5887:470::-;5953:6;5961;6010:2;5998:9;5989:7;5985:23;5981:32;5978:119;;;6016:79;;:::i;:::-;5978:119;6136:1;6161:52;6205:7;6196:6;6185:9;6181:22;6161:52;:::i;:::-;6151:62;;6107:116;6262:2;6288:52;6332:7;6323:6;6312:9;6308:22;6288:52;:::i;:::-;6278:62;;6233:117;5887:470;;;;;:::o;6363:118::-;6450:24;6468:5;6450:24;:::i;:::-;6445:3;6438:37;6363:118;;:::o;6487:222::-;6580:4;6618:2;6607:9;6603:18;6595:26;;6631:71;6699:1;6688:9;6684:17;6675:6;6631:71;:::i;:::-;6487:222;;;;:::o;6715:117::-;6824:1;6821;6814:12;6838:180;6886:77;6883:1;6876:88;6983:4;6980:1;6973:15;7007:4;7004:1;6997:15;7024:281;7107:27;7129:4;7107:27;:::i;:::-;7099:6;7095:40;7237:6;7225:10;7222:22;7201:18;7189:10;7186:34;7183:62;7180:88;;;7248:18;;:::i;:::-;7180:88;7288:10;7284:2;7277:22;7067:238;7024:281;;:::o;7311:129::-;7345:6;7372:20;;:::i;:::-;7362:30;;7401:33;7429:4;7421:6;7401:33;:::i;:::-;7311:129;;;:::o;7446:311::-;7523:4;7613:18;7605:6;7602:30;7599:56;;;7635:18;;:::i;:::-;7599:56;7685:4;7677:6;7673:17;7665:25;;7745:4;7739;7735:15;7727:23;;7446:311;;;:::o;7763:117::-;7872:1;7869;7862:12;7903:710;7999:5;8024:81;8040:64;8097:6;8040:64;:::i;:::-;8024:81;:::i;:::-;8015:90;;8125:5;8154:6;8147:5;8140:21;8188:4;8181:5;8177:16;8170:23;;8241:4;8233:6;8229:17;8221:6;8217:30;8270:3;8262:6;8259:15;8256:122;;;8289:79;;:::i;:::-;8256:122;8404:6;8387:220;8421:6;8416:3;8413:15;8387:220;;;8496:3;8525:37;8558:3;8546:10;8525:37;:::i;:::-;8520:3;8513:50;8592:4;8587:3;8583:14;8576:21;;8463:144;8447:4;8442:3;8438:14;8431:21;;8387:220;;;8391:21;8005:608;;7903:710;;;;;:::o;8636:370::-;8707:5;8756:3;8749:4;8741:6;8737:17;8733:27;8723:122;;8764:79;;:::i;:::-;8723:122;8881:6;8868:20;8906:94;8996:3;8988:6;8981:4;8973:6;8969:17;8906:94;:::i;:::-;8897:103;;8713:293;8636:370;;;;:::o;9012:539::-;9096:6;9145:2;9133:9;9124:7;9120:23;9116:32;9113:119;;;9151:79;;:::i;:::-;9113:119;9299:1;9288:9;9284:17;9271:31;9329:18;9321:6;9318:30;9315:117;;;9351:79;;:::i;:::-;9315:117;9456:78;9526:7;9517:6;9506:9;9502:22;9456:78;:::i;:::-;9446:88;;9242:302;9012:539;;;;:::o;9557:474::-;9625:6;9633;9682:2;9670:9;9661:7;9657:23;9653:32;9650:119;;;9688:79;;:::i;:::-;9650:119;9808:1;9833:53;9878:7;9869:6;9858:9;9854:22;9833:53;:::i;:::-;9823:63;;9779:117;9935:2;9961:53;10006:7;9997:6;9986:9;9982:22;9961:53;:::i;:::-;9951:63;;9906:118;9557:474;;;;;:::o;10037:143::-;10094:5;10125:6;10119:13;10110:22;;10141:33;10168:5;10141:33;:::i;:::-;10037:143;;;;:::o;10186:351::-;10256:6;10305:2;10293:9;10284:7;10280:23;10276:32;10273:119;;;10311:79;;:::i;:::-;10273:119;10431:1;10456:64;10512:7;10503:6;10492:9;10488:22;10456:64;:::i;:::-;10446:74;;10402:128;10186:351;;;;:::o;10543:60::-;10571:3;10592:5;10585:12;;10543:60;;;:::o;10609:142::-;10659:9;10692:53;10710:34;10719:24;10737:5;10719:24;:::i;:::-;10710:34;:::i;:::-;10692:53;:::i;:::-;10679:66;;10609:142;;;:::o;10757:126::-;10807:9;10840:37;10871:5;10840:37;:::i;:::-;10827:50;;10757:126;;;:::o;10889:134::-;10947:9;10980:37;11011:5;10980:37;:::i;:::-;10967:50;;10889:134;;;:::o;11029:147::-;11124:45;11163:5;11124:45;:::i;:::-;11119:3;11112:58;11029:147;;:::o;11182:348::-;11311:4;11349:2;11338:9;11334:18;11326:26;;11362:79;11438:1;11427:9;11423:17;11414:6;11362:79;:::i;:::-;11451:72;11519:2;11508:9;11504:18;11495:6;11451:72;:::i;:::-;11182:348;;;;;:::o;11536:116::-;11606:21;11621:5;11606:21;:::i;:::-;11599:5;11596:32;11586:60;;11642:1;11639;11632:12;11586:60;11536:116;:::o;11658:137::-;11712:5;11743:6;11737:13;11728:22;;11759:30;11783:5;11759:30;:::i;:::-;11658:137;;;;:::o;11801:345::-;11868:6;11917:2;11905:9;11896:7;11892:23;11888:32;11885:119;;;11923:79;;:::i;:::-;11885:119;12043:1;12068:61;12121:7;12112:6;12101:9;12097:22;12068:61;:::i;:::-;12058:71;;12014:125;11801:345;;;;:::o;12152:182::-;12292:34;12288:1;12280:6;12276:14;12269:58;12152:182;:::o;12340:366::-;12482:3;12503:67;12567:2;12562:3;12503:67;:::i;:::-;12496:74;;12579:93;12668:3;12579:93;:::i;:::-;12697:2;12692:3;12688:12;12681:19;;12340:366;;;:::o;12712:419::-;12878:4;12916:2;12905:9;12901:18;12893:26;;12965:9;12959:4;12955:20;12951:1;12940:9;12936:17;12929:47;12993:131;13119:4;12993:131;:::i;:::-;12985:139;;12712:419;;;:::o;13137:179::-;13277:31;13273:1;13265:6;13261:14;13254:55;13137:179;:::o;13322:366::-;13464:3;13485:67;13549:2;13544:3;13485:67;:::i;:::-;13478:74;;13561:93;13650:3;13561:93;:::i;:::-;13679:2;13674:3;13670:12;13663:19;;13322:366;;;:::o;13694:419::-;13860:4;13898:2;13887:9;13883:18;13875:26;;13947:9;13941:4;13937:20;13933:1;13922:9;13918:17;13911:47;13975:131;14101:4;13975:131;:::i;:::-;13967:139;;13694:419;;;:::o;14119:180::-;14167:77;14164:1;14157:88;14264:4;14261:1;14254:15;14288:4;14285:1;14278:15;14305:180;14353:77;14350:1;14343:88;14450:4;14447:1;14440:15;14474:4;14471:1;14464:15;14491:233;14530:3;14553:24;14571:5;14553:24;:::i;:::-;14544:33;;14599:66;14592:5;14589:77;14586:103;;14669:18;;:::i;:::-;14586:103;14716:1;14709:5;14705:13;14698:20;;14491:233;;;:::o;14730:173::-;14870:25;14866:1;14858:6;14854:14;14847:49;14730:173;:::o;14909:366::-;15051:3;15072:67;15136:2;15131:3;15072:67;:::i;:::-;15065:74;;15148:93;15237:3;15148:93;:::i;:::-;15266:2;15261:3;15257:12;15250:19;;14909:366;;;:::o;15281:419::-;15447:4;15485:2;15474:9;15470:18;15462:26;;15534:9;15528:4;15524:20;15520:1;15509:9;15505:17;15498:47;15562:131;15688:4;15562:131;:::i;:::-;15554:139;;15281:419;;;:::o;15706:191::-;15746:3;15765:20;15783:1;15765:20;:::i;:::-;15760:25;;15799:20;15817:1;15799:20;:::i;:::-;15794:25;;15842:1;15839;15835:9;15828:16;;15863:3;15860:1;15857:10;15854:36;;;15870:18;;:::i;:::-;15854:36;15706:191;;;;:::o;15903:410::-;15943:7;15966:20;15984:1;15966:20;:::i;:::-;15961:25;;16000:20;16018:1;16000:20;:::i;:::-;15995:25;;16055:1;16052;16048:9;16077:30;16095:11;16077:30;:::i;:::-;16066:41;;16256:1;16247:7;16243:15;16240:1;16237:22;16217:1;16210:9;16190:83;16167:139;;16286:18;;:::i;:::-;16167:139;15951:362;15903:410;;;;:::o;16319:180::-;16367:77;16364:1;16357:88;16464:4;16461:1;16454:15;16488:4;16485:1;16478:15;16505:185;16545:1;16562:20;16580:1;16562:20;:::i;:::-;16557:25;;16596:20;16614:1;16596:20;:::i;:::-;16591:25;;16635:1;16625:35;;16640:18;;:::i;:::-;16625:35;16682:1;16679;16675:9;16670:14;;16505:185;;;;:::o;16696:220::-;16836:34;16832:1;16824:6;16820:14;16813:58;16905:3;16900:2;16892:6;16888:15;16881:28;16696:220;:::o;16922:366::-;17064:3;17085:67;17149:2;17144:3;17085:67;:::i;:::-;17078:74;;17161:93;17250:3;17161:93;:::i;:::-;17279:2;17274:3;17270:12;17263:19;;16922:366;;;:::o;17294:419::-;17460:4;17498:2;17487:9;17483:18;17475:26;;17547:9;17541:4;17537:20;17533:1;17522:9;17518:17;17511:47;17575:131;17701:4;17575:131;:::i;:::-;17567:139;;17294:419;;;:::o;17719:223::-;17859:34;17855:1;17847:6;17843:14;17836:58;17928:6;17923:2;17915:6;17911:15;17904:31;17719:223;:::o;17948:366::-;18090:3;18111:67;18175:2;18170:3;18111:67;:::i;:::-;18104:74;;18187:93;18276:3;18187:93;:::i;:::-;18305:2;18300:3;18296:12;18289:19;;17948:366;;;:::o;18320:419::-;18486:4;18524:2;18513:9;18509:18;18501:26;;18573:9;18567:4;18563:20;18559:1;18548:9;18544:17;18537:47;18601:131;18727:4;18601:131;:::i;:::-;18593:139;;18320:419;;;:::o;18745:221::-;18885:34;18881:1;18873:6;18869:14;18862:58;18954:4;18949:2;18941:6;18937:15;18930:29;18745:221;:::o;18972:366::-;19114:3;19135:67;19199:2;19194:3;19135:67;:::i;:::-;19128:74;;19211:93;19300:3;19211:93;:::i;:::-;19329:2;19324:3;19320:12;19313:19;;18972:366;;;:::o;19344:419::-;19510:4;19548:2;19537:9;19533:18;19525:26;;19597:9;19591:4;19587:20;19583:1;19572:9;19568:17;19561:47;19625:131;19751:4;19625:131;:::i;:::-;19617:139;;19344:419;;;:::o;19769:224::-;19909:34;19905:1;19897:6;19893:14;19886:58;19978:7;19973:2;19965:6;19961:15;19954:32;19769:224;:::o;19999:366::-;20141:3;20162:67;20226:2;20221:3;20162:67;:::i;:::-;20155:74;;20238:93;20327:3;20238:93;:::i;:::-;20356:2;20351:3;20347:12;20340:19;;19999:366;;;:::o;20371:419::-;20537:4;20575:2;20564:9;20560:18;20552:26;;20624:9;20618:4;20614:20;20610:1;20599:9;20595:17;20588:47;20652:131;20778:4;20652:131;:::i;:::-;20644:139;;20371:419;;;:::o;20796:222::-;20936:34;20932:1;20924:6;20920:14;20913:58;21005:5;21000:2;20992:6;20988:15;20981:30;20796:222;:::o;21024:366::-;21166:3;21187:67;21251:2;21246:3;21187:67;:::i;:::-;21180:74;;21263:93;21352:3;21263:93;:::i;:::-;21381:2;21376:3;21372:12;21365:19;;21024:366;;;:::o;21396:419::-;21562:4;21600:2;21589:9;21585:18;21577:26;;21649:9;21643:4;21639:20;21635:1;21624:9;21620:17;21613:47;21677:131;21803:4;21677:131;:::i;:::-;21669:139;;21396:419;;;:::o;21821:228::-;21961:34;21957:1;21949:6;21945:14;21938:58;22030:11;22025:2;22017:6;22013:15;22006:36;21821:228;:::o;22055:366::-;22197:3;22218:67;22282:2;22277:3;22218:67;:::i;:::-;22211:74;;22294:93;22383:3;22294:93;:::i;:::-;22412:2;22407:3;22403:12;22396:19;;22055:366;;;:::o;22427:419::-;22593:4;22631:2;22620:9;22616:18;22608:26;;22680:9;22674:4;22670:20;22666:1;22655:9;22651:17;22644:47;22708:131;22834:4;22708:131;:::i;:::-;22700:139;;22427:419;;;:::o;22852:227::-;22992:34;22988:1;22980:6;22976:14;22969:58;23061:10;23056:2;23048:6;23044:15;23037:35;22852:227;:::o;23085:366::-;23227:3;23248:67;23312:2;23307:3;23248:67;:::i;:::-;23241:74;;23324:93;23413:3;23324:93;:::i;:::-;23442:2;23437:3;23433:12;23426:19;;23085:366;;;:::o;23457:419::-;23623:4;23661:2;23650:9;23646:18;23638:26;;23710:9;23704:4;23700:20;23696:1;23685:9;23681:17;23674:47;23738:131;23864:4;23738:131;:::i;:::-;23730:139;;23457:419;;;:::o;23882:194::-;23922:4;23942:20;23960:1;23942:20;:::i;:::-;23937:25;;23976:20;23994:1;23976:20;:::i;:::-;23971:25;;24020:1;24017;24013:9;24005:17;;24044:1;24038:4;24035:11;24032:37;;;24049:18;;:::i;:::-;24032:37;23882:194;;;;:::o;24082:143::-;24139:5;24170:6;24164:13;24155:22;;24186:33;24213:5;24186:33;:::i;:::-;24082:143;;;;:::o;24231:351::-;24301:6;24350:2;24338:9;24329:7;24325:23;24321:32;24318:119;;;24356:79;;:::i;:::-;24318:119;24476:1;24501:64;24557:7;24548:6;24537:9;24533:22;24501:64;:::i;:::-;24491:74;;24447:128;24231:351;;;;:::o;24588:85::-;24633:7;24662:5;24651:16;;24588:85;;;:::o;24679:158::-;24737:9;24770:61;24788:42;24797:32;24823:5;24797:32;:::i;:::-;24788:42;:::i;:::-;24770:61;:::i;:::-;24757:74;;24679:158;;;:::o;24843:147::-;24938:45;24977:5;24938:45;:::i;:::-;24933:3;24926:58;24843:147;;:::o;24996:114::-;25063:6;25097:5;25091:12;25081:22;;24996:114;;;:::o;25116:184::-;25215:11;25249:6;25244:3;25237:19;25289:4;25284:3;25280:14;25265:29;;25116:184;;;;:::o;25306:132::-;25373:4;25396:3;25388:11;;25426:4;25421:3;25417:14;25409:22;;25306:132;;;:::o;25444:108::-;25521:24;25539:5;25521:24;:::i;:::-;25516:3;25509:37;25444:108;;:::o;25558:179::-;25627:10;25648:46;25690:3;25682:6;25648:46;:::i;:::-;25726:4;25721:3;25717:14;25703:28;;25558:179;;;;:::o;25743:113::-;25813:4;25845;25840:3;25836:14;25828:22;;25743:113;;;:::o;25892:732::-;26011:3;26040:54;26088:5;26040:54;:::i;:::-;26110:86;26189:6;26184:3;26110:86;:::i;:::-;26103:93;;26220:56;26270:5;26220:56;:::i;:::-;26299:7;26330:1;26315:284;26340:6;26337:1;26334:13;26315:284;;;26416:6;26410:13;26443:63;26502:3;26487:13;26443:63;:::i;:::-;26436:70;;26529:60;26582:6;26529:60;:::i;:::-;26519:70;;26375:224;26362:1;26359;26355:9;26350:14;;26315:284;;;26319:14;26615:3;26608:10;;26016:608;;;25892:732;;;;:::o;26630:831::-;26893:4;26931:3;26920:9;26916:19;26908:27;;26945:71;27013:1;27002:9;26998:17;26989:6;26945:71;:::i;:::-;27026:80;27102:2;27091:9;27087:18;27078:6;27026:80;:::i;:::-;27153:9;27147:4;27143:20;27138:2;27127:9;27123:18;27116:48;27181:108;27284:4;27275:6;27181:108;:::i;:::-;27173:116;;27299:72;27367:2;27356:9;27352:18;27343:6;27299:72;:::i;:::-;27381:73;27449:3;27438:9;27434:19;27425:6;27381:73;:::i;:::-;26630:831;;;;;;;;:::o;27467:807::-;27716:4;27754:3;27743:9;27739:19;27731:27;;27768:71;27836:1;27825:9;27821:17;27812:6;27768:71;:::i;:::-;27849:72;27917:2;27906:9;27902:18;27893:6;27849:72;:::i;:::-;27931:80;28007:2;27996:9;27992:18;27983:6;27931:80;:::i;:::-;28021;28097:2;28086:9;28082:18;28073:6;28021:80;:::i;:::-;28111:73;28179:3;28168:9;28164:19;28155:6;28111:73;:::i;:::-;28194;28262:3;28251:9;28247:19;28238:6;28194:73;:::i;:::-;27467:807;;;;;;;;;:::o;28280:663::-;28368:6;28376;28384;28433:2;28421:9;28412:7;28408:23;28404:32;28401:119;;;28439:79;;:::i;:::-;28401:119;28559:1;28584:64;28640:7;28631:6;28620:9;28616:22;28584:64;:::i;:::-;28574:74;;28530:128;28697:2;28723:64;28779:7;28770:6;28759:9;28755:22;28723:64;:::i;:::-;28713:74;;28668:129;28836:2;28862:64;28918:7;28909:6;28898:9;28894:22;28862:64;:::i;:::-;28852:74;;28807:129;28280:663;;;;;:::o;28949:177::-;29089:29;29085:1;29077:6;29073:14;29066:53;28949:177;:::o;29132:366::-;29274:3;29295:67;29359:2;29354:3;29295:67;:::i;:::-;29288:74;;29371:93;29460:3;29371:93;:::i;:::-;29489:2;29484:3;29480:12;29473:19;;29132:366;;;:::o;29504:419::-;29670:4;29708:2;29697:9;29693:18;29685:26;;29757:9;29751:4;29747:20;29743:1;29732:9;29728:17;29721:47;29785:131;29911:4;29785:131;:::i;:::-;29777:139;;29504:419;;;:::o

Swarm Source

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