ETH Price: $3,635.07 (+8.09%)

Token

Instability.AI (InstabilityAI)
 

Overview

Max Total Supply

1,000,000,000 InstabilityAI

Holders

38

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
0.25428813 InstabilityAI

Value
$0.00
0x53814C4Ac686412DBec03bF6A04E4fDB25fd72a2
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:
Contract

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-20
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;
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;
    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 Contract is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
 
    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=1;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=10;
    uint256 private _buyCount=0;
 
    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = "Instability.AI";
    string private constant _symbol = "InstabilityAI";
    uint256 public _maxTxAmount = 1000000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 1000000 * 10**_decimals;
    uint256 public _maxTaxSwap = 1000000000 * 10**_decimals;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
 
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
 
    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 _balances[account];
    }
 
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
 
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
 
    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");
        uint256 taxAmount=0;
         if (from != owner() && to != owner()) {
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                if(_buyCount<_preventSwapBefore){
                  require(!isContract(to));
                }
                _buyCount++;
            }
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }
    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }
    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }
    receive() external payable {}
    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }
    function manualSwap() external onlyOwner{
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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"}]

6080604052601960055560196006556000600755600060085560016009556014600a55600a600b556000600c556008600a6200003c919062000502565b633b9aca006200004d91906200063f565b600d556008600a62000060919062000502565b6301312d006200007191906200063f565b600e556008600a62000084919062000502565b620f42406200009491906200063f565b600f556008600a620000a7919062000502565b633b9aca00620000b891906200063f565b6010556000601260156101000a81548160ff0219169083151502179055506000601260166101000a81548160ff021916908315150217905550348015620000fe57600080fd5b506000620001116200044860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001bf6200044860201b60201c565b600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a6200020f919062000502565b633b9aca006200022091906200063f565b60016000620002346200044860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002886200045060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003bb6200044860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a6200041a919062000502565b633b9aca006200042b91906200063f565b6040516200043a91906200048a565b60405180910390a3620006f3565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200048481620006a0565b82525050565b6000602082019050620004a1600083018462000479565b92915050565b6000808291508390505b6001851115620004f957808604811115620004d157620004d0620006b7565b5b6001851615620004e15780820291505b8081029050620004f185620006e6565b9450620004b1565b94509492505050565b60006200050f82620006a0565b91506200051c83620006aa565b92506200054b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000553565b905092915050565b60008262000565576001905062000638565b8162000575576000905062000638565b81600181146200058e57600281146200059957620005cf565b600191505062000638565b60ff841115620005ae57620005ad620006b7565b5b8360020a915084821115620005c857620005c7620006b7565b5b5062000638565b5060208310610133831016604e8410600b8410161715620006095782820a905083811115620006035762000602620006b7565b5b62000638565b620006188484846001620004a7565b92509050818404811115620006325762000631620006b7565b5b81810290505b9392505050565b60006200064c82620006a0565b91506200065983620006a0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006955762000694620006b7565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b612e7f80620007036000396000f3fe60806040526004361061010d5760003560e01c8063751039fc1161009557806395d89b411161006457806395d89b4114610342578063a9059cbb1461036d578063bf474bed146103aa578063c9567bf9146103d5578063dd62ed3e146103ec57610114565b8063751039fc146102aa5780637d1db4a5146102c15780638da5cb5b146102ec5780638f9a55c01461031757610114565b806323b872dd116100dc57806323b872dd146101d7578063313ce5671461021457806351bc3c851461023f57806370a0823114610256578063715018a61461029357610114565b806306fdde0314610119578063095ea7b3146101445780630faee56f1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610429565b60405161013b9190612790565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190612146565b610466565b6040516101789190612775565b60405180910390f35b34801561018d57600080fd5b50610196610484565b6040516101a39190612912565b60405180910390f35b3480156101b857600080fd5b506101c161048a565b6040516101ce9190612912565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f991906120f7565b6104ae565b60405161020b9190612775565b60405180910390f35b34801561022057600080fd5b50610229610587565b6040516102369190612987565b60405180910390f35b34801561024b57600080fd5b50610254610590565b005b34801561026257600080fd5b5061027d60048036038101906102789190612069565b610661565b60405161028a9190612912565b60405180910390f35b34801561029f57600080fd5b506102a86106aa565b005b3480156102b657600080fd5b506102bf6107fd565b005b3480156102cd57600080fd5b506102d661092d565b6040516102e39190612912565b60405180910390f35b3480156102f857600080fd5b50610301610933565b60405161030e91906126a7565b60405180910390f35b34801561032357600080fd5b5061032c61095c565b6040516103399190612912565b60405180910390f35b34801561034e57600080fd5b50610357610962565b6040516103649190612790565b60405180910390f35b34801561037957600080fd5b50610394600480360381019061038f9190612146565b61099f565b6040516103a19190612775565b60405180910390f35b3480156103b657600080fd5b506103bf6109bd565b6040516103cc9190612912565b60405180910390f35b3480156103e157600080fd5b506103ea6109c3565b005b3480156103f857600080fd5b50610413600480360381019061040e91906120bb565b610f46565b6040516104209190612912565b60405180910390f35b60606040518060400160405280600e81526020017f496e73746162696c6974792e4149000000000000000000000000000000000000815250905090565b600061047a610473610fcd565b8484610fd5565b6001905092915050565b60105481565b60006008600a61049a9190612ad1565b633b9aca006104a99190612bef565b905090565b60006104bb8484846111a0565b61057c846104c7610fcd565b61057785604051806060016040528060288152602001612e2260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061052d610fcd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a129092919063ffffffff16565b610fd5565b600190509392505050565b60006008905090565b610598610fcd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061c90612852565b60405180910390fd5b600061063030610661565b905060008111156106455761064481611a76565b5b6000479050600081111561065d5761065c81611d98565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106b2610fcd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461073f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073690612852565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610805610fcd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610892576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088990612852565b60405180910390fd5b6008600a6108a09190612ad1565b633b9aca006108af9190612bef565b600d819055506008600a6108c39190612ad1565b633b9aca006108d29190612bef565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a6109079190612ad1565b633b9aca006109169190612bef565b6040516109239190612912565b60405180910390a1565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600d81526020017f496e73746162696c697479414900000000000000000000000000000000000000815250905090565b60006109b36109ac610fcd565b84846111a0565b6001905092915050565b600f5481565b6109cb610fcd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4f90612852565b60405180910390fd5b601260149054906101000a900460ff1615610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f906128f2565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b4630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610b329190612ad1565b633b9aca00610b419190612bef565b610fd5565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bae57600080fd5b505afa158015610bc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be69190612092565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6a57600080fd5b505afa158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca29190612092565b6040518363ffffffff1660e01b8152600401610cbf9291906126c2565b602060405180830381600087803b158015610cd957600080fd5b505af1158015610ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d119190612092565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d9a30610661565b600080610da5610933565b426040518863ffffffff1660e01b8152600401610dc796959493929190612714565b6060604051808303818588803b158015610de057600080fd5b505af1158015610df4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1991906121ab565b505050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ebb9291906126eb565b602060405180830381600087803b158015610ed557600080fd5b505af1158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d9190612182565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c906128d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac906127f2565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111939190612912565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611210576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120790612892565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611280576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611277906127b2565b60405180910390fd5b600081116112c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ba90612872565b60405180910390fd5b60006112cd610933565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561133b575061130b610933565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561175557601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113eb5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114415750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561151c57600d5482111561148b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611482906127d2565b60405180910390fd5b600e548261149885610661565b6114a291906129f7565b11156114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da906128b2565b60405180910390fd5b600b54600c541015611503576114f883611e04565b1561150257600080fd5b5b600c600081548092919061151690612d17565b91905055505b611558606461154a600954600c54116115375760055461153b565b6007545b85611e1790919063ffffffff16565b611e9290919063ffffffff16565b9050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115e357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561166c57600d5482111561162d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611624906127d2565b60405180910390fd5b611669606461165b600a54600c54116116485760065461164c565b6008545b85611e1790919063ffffffff16565b611e9290919063ffffffff16565b90505b600061167730610661565b9050601260159054906101000a900460ff161580156116e35750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156116fb5750601260169054906101000a900460ff165b80156117085750600f5481115b80156117175750600b54600c54115b15611753576117396117348461172f84601054611edc565b611edc565b611a76565b600047905060008111156117515761175047611d98565b5b505b505b6000811115611859576117b081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118509190612912565b60405180910390a35b6118ab82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119526119048284611f5390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119f78486611f5390919063ffffffff16565b604051611a049190612912565b60405180910390a350505050565b6000838311158290611a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a519190612790565b60405180910390fd5b5060008385611a699190612c49565b9050809150509392505050565b6001601260156101000a81548160ff0219169083151502179055506000811415611a9f57611d7a565b601260149054906101000a900460ff16611ab857611d7a565b6000600267ffffffffffffffff811115611afb577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611b295781602001602082028036833780820191505090505b5090503081600081518110611b67577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0957600080fd5b505afa158015611c1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c419190612092565b81600181518110611c7b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ce230601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fd5565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d4695949392919061292d565b600060405180830381600087803b158015611d6057600080fd5b505af1158015611d74573d6000803e3d6000fd5b50505050505b6000601260156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e00573d6000803e3d6000fd5b5050565b600080823b905060008111915050919050565b600080831415611e2a5760009050611e8c565b60008284611e389190612bef565b9050828482611e479190612a4d565b14611e87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7e90612832565b60405180910390fd5b809150505b92915050565b6000611ed483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f9d565b905092915050565b6000818311611eeb5782611eed565b815b905092915050565b6000808284611f0491906129f7565b905083811015611f49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4090612812565b60405180910390fd5b8091505092915050565b6000611f9583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a12565b905092915050565b60008083118290611fe4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fdb9190612790565b60405180910390fd5b5060008385611ff39190612a4d565b9050809150509392505050565b60008135905061200f81612ddc565b92915050565b60008151905061202481612ddc565b92915050565b60008151905061203981612df3565b92915050565b60008135905061204e81612e0a565b92915050565b60008151905061206381612e0a565b92915050565b60006020828403121561207b57600080fd5b600061208984828501612000565b91505092915050565b6000602082840312156120a457600080fd5b60006120b284828501612015565b91505092915050565b600080604083850312156120ce57600080fd5b60006120dc85828601612000565b92505060206120ed85828601612000565b9150509250929050565b60008060006060848603121561210c57600080fd5b600061211a86828701612000565b935050602061212b86828701612000565b925050604061213c8682870161203f565b9150509250925092565b6000806040838503121561215957600080fd5b600061216785828601612000565b92505060206121788582860161203f565b9150509250929050565b60006020828403121561219457600080fd5b60006121a28482850161202a565b91505092915050565b6000806000606084860312156121c057600080fd5b60006121ce86828701612054565b93505060206121df86828701612054565b92505060406121f086828701612054565b9150509250925092565b60006122068383612212565b60208301905092915050565b61221b81612c7d565b82525050565b61222a81612c7d565b82525050565b600061223b826129b2565b61224581856129d5565b9350612250836129a2565b8060005b8381101561228157815161226888826121fa565b9750612273836129c8565b925050600181019050612254565b5085935050505092915050565b61229781612c8f565b82525050565b6122a681612cd2565b82525050565b60006122b7826129bd565b6122c181856129e6565b93506122d1818560208601612ce4565b6122da81612dbe565b840191505092915050565b60006122f26023836129e6565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006123586019836129e6565b91507f4578636565647320746865205f6d61785478416d6f756e742e000000000000006000830152602082019050919050565b60006123986022836129e6565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006123fe601b836129e6565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b600061243e6021836129e6565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006124a46020836129e6565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006124e46029836129e6565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b600061254a6025836129e6565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125b0601a836129e6565b91507f4578636565647320746865206d617857616c6c657453697a652e0000000000006000830152602082019050919050565b60006125f06024836129e6565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006126566017836129e6565b91507f74726164696e6720697320616c7265616479206f70656e0000000000000000006000830152602082019050919050565b61269281612cbb565b82525050565b6126a181612cc5565b82525050565b60006020820190506126bc6000830184612221565b92915050565b60006040820190506126d76000830185612221565b6126e46020830184612221565b9392505050565b60006040820190506127006000830185612221565b61270d6020830184612689565b9392505050565b600060c0820190506127296000830189612221565b6127366020830188612689565b612743604083018761229d565b612750606083018661229d565b61275d6080830185612221565b61276a60a0830184612689565b979650505050505050565b600060208201905061278a600083018461228e565b92915050565b600060208201905081810360008301526127aa81846122ac565b905092915050565b600060208201905081810360008301526127cb816122e5565b9050919050565b600060208201905081810360008301526127eb8161234b565b9050919050565b6000602082019050818103600083015261280b8161238b565b9050919050565b6000602082019050818103600083015261282b816123f1565b9050919050565b6000602082019050818103600083015261284b81612431565b9050919050565b6000602082019050818103600083015261286b81612497565b9050919050565b6000602082019050818103600083015261288b816124d7565b9050919050565b600060208201905081810360008301526128ab8161253d565b9050919050565b600060208201905081810360008301526128cb816125a3565b9050919050565b600060208201905081810360008301526128eb816125e3565b9050919050565b6000602082019050818103600083015261290b81612649565b9050919050565b60006020820190506129276000830184612689565b92915050565b600060a0820190506129426000830188612689565b61294f602083018761229d565b81810360408301526129618186612230565b90506129706060830185612221565b61297d6080830184612689565b9695505050505050565b600060208201905061299c6000830184612698565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a0282612cbb565b9150612a0d83612cbb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a4257612a41612d60565b5b828201905092915050565b6000612a5882612cbb565b9150612a6383612cbb565b925082612a7357612a72612d8f565b5b828204905092915050565b6000808291508390505b6001851115612ac857808604811115612aa457612aa3612d60565b5b6001851615612ab35780820291505b8081029050612ac185612dcf565b9450612a88565b94509492505050565b6000612adc82612cbb565b9150612ae783612cc5565b9250612b147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612b1c565b905092915050565b600082612b2c5760019050612be8565b81612b3a5760009050612be8565b8160018114612b505760028114612b5a57612b89565b6001915050612be8565b60ff841115612b6c57612b6b612d60565b5b8360020a915084821115612b8357612b82612d60565b5b50612be8565b5060208310610133831016604e8410600b8410161715612bbe5782820a905083811115612bb957612bb8612d60565b5b612be8565b612bcb8484846001612a7e565b92509050818404811115612be257612be1612d60565b5b81810290505b9392505050565b6000612bfa82612cbb565b9150612c0583612cbb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c3e57612c3d612d60565b5b828202905092915050565b6000612c5482612cbb565b9150612c5f83612cbb565b925082821015612c7257612c71612d60565b5b828203905092915050565b6000612c8882612c9b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612cdd82612cbb565b9050919050565b60005b83811015612d02578082015181840152602081019050612ce7565b83811115612d11576000848401525b50505050565b6000612d2282612cbb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d5557612d54612d60565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b612de581612c7d565b8114612df057600080fd5b50565b612dfc81612c8f565b8114612e0757600080fd5b50565b612e1381612cbb565b8114612e1e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205031c9f6e33e9c549278ae184fee408950f7d7ac1972e23ff2bb64903f6457d664736f6c63430008000033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063751039fc1161009557806395d89b411161006457806395d89b4114610342578063a9059cbb1461036d578063bf474bed146103aa578063c9567bf9146103d5578063dd62ed3e146103ec57610114565b8063751039fc146102aa5780637d1db4a5146102c15780638da5cb5b146102ec5780638f9a55c01461031757610114565b806323b872dd116100dc57806323b872dd146101d7578063313ce5671461021457806351bc3c851461023f57806370a0823114610256578063715018a61461029357610114565b806306fdde0314610119578063095ea7b3146101445780630faee56f1461018157806318160ddd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610429565b60405161013b9190612790565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190612146565b610466565b6040516101789190612775565b60405180910390f35b34801561018d57600080fd5b50610196610484565b6040516101a39190612912565b60405180910390f35b3480156101b857600080fd5b506101c161048a565b6040516101ce9190612912565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f991906120f7565b6104ae565b60405161020b9190612775565b60405180910390f35b34801561022057600080fd5b50610229610587565b6040516102369190612987565b60405180910390f35b34801561024b57600080fd5b50610254610590565b005b34801561026257600080fd5b5061027d60048036038101906102789190612069565b610661565b60405161028a9190612912565b60405180910390f35b34801561029f57600080fd5b506102a86106aa565b005b3480156102b657600080fd5b506102bf6107fd565b005b3480156102cd57600080fd5b506102d661092d565b6040516102e39190612912565b60405180910390f35b3480156102f857600080fd5b50610301610933565b60405161030e91906126a7565b60405180910390f35b34801561032357600080fd5b5061032c61095c565b6040516103399190612912565b60405180910390f35b34801561034e57600080fd5b50610357610962565b6040516103649190612790565b60405180910390f35b34801561037957600080fd5b50610394600480360381019061038f9190612146565b61099f565b6040516103a19190612775565b60405180910390f35b3480156103b657600080fd5b506103bf6109bd565b6040516103cc9190612912565b60405180910390f35b3480156103e157600080fd5b506103ea6109c3565b005b3480156103f857600080fd5b50610413600480360381019061040e91906120bb565b610f46565b6040516104209190612912565b60405180910390f35b60606040518060400160405280600e81526020017f496e73746162696c6974792e4149000000000000000000000000000000000000815250905090565b600061047a610473610fcd565b8484610fd5565b6001905092915050565b60105481565b60006008600a61049a9190612ad1565b633b9aca006104a99190612bef565b905090565b60006104bb8484846111a0565b61057c846104c7610fcd565b61057785604051806060016040528060288152602001612e2260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061052d610fcd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a129092919063ffffffff16565b610fd5565b600190509392505050565b60006008905090565b610598610fcd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061c90612852565b60405180910390fd5b600061063030610661565b905060008111156106455761064481611a76565b5b6000479050600081111561065d5761065c81611d98565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106b2610fcd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461073f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073690612852565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610805610fcd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610892576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088990612852565b60405180910390fd5b6008600a6108a09190612ad1565b633b9aca006108af9190612bef565b600d819055506008600a6108c39190612ad1565b633b9aca006108d29190612bef565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a6109079190612ad1565b633b9aca006109169190612bef565b6040516109239190612912565b60405180910390a1565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600d81526020017f496e73746162696c697479414900000000000000000000000000000000000000815250905090565b60006109b36109ac610fcd565b84846111a0565b6001905092915050565b600f5481565b6109cb610fcd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4f90612852565b60405180910390fd5b601260149054906101000a900460ff1615610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f906128f2565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b4630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610b329190612ad1565b633b9aca00610b419190612bef565b610fd5565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610bae57600080fd5b505afa158015610bc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be69190612092565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6a57600080fd5b505afa158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca29190612092565b6040518363ffffffff1660e01b8152600401610cbf9291906126c2565b602060405180830381600087803b158015610cd957600080fd5b505af1158015610ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d119190612092565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d9a30610661565b600080610da5610933565b426040518863ffffffff1660e01b8152600401610dc796959493929190612714565b6060604051808303818588803b158015610de057600080fd5b505af1158015610df4573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1991906121ab565b505050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ebb9291906126eb565b602060405180830381600087803b158015610ed557600080fd5b505af1158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d9190612182565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611045576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103c906128d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ac906127f2565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111939190612912565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611210576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120790612892565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611280576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611277906127b2565b60405180910390fd5b600081116112c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ba90612872565b60405180910390fd5b60006112cd610933565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561133b575061130b610933565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561175557601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113eb5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114415750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561151c57600d5482111561148b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611482906127d2565b60405180910390fd5b600e548261149885610661565b6114a291906129f7565b11156114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da906128b2565b60405180910390fd5b600b54600c541015611503576114f883611e04565b1561150257600080fd5b5b600c600081548092919061151690612d17565b91905055505b611558606461154a600954600c54116115375760055461153b565b6007545b85611e1790919063ffffffff16565b611e9290919063ffffffff16565b9050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115e357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561166c57600d5482111561162d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611624906127d2565b60405180910390fd5b611669606461165b600a54600c54116116485760065461164c565b6008545b85611e1790919063ffffffff16565b611e9290919063ffffffff16565b90505b600061167730610661565b9050601260159054906101000a900460ff161580156116e35750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156116fb5750601260169054906101000a900460ff165b80156117085750600f5481115b80156117175750600b54600c54115b15611753576117396117348461172f84601054611edc565b611edc565b611a76565b600047905060008111156117515761175047611d98565b5b505b505b6000811115611859576117b081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118509190612912565b60405180910390a35b6118ab82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f5390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119526119048284611f5390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119f78486611f5390919063ffffffff16565b604051611a049190612912565b60405180910390a350505050565b6000838311158290611a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a519190612790565b60405180910390fd5b5060008385611a699190612c49565b9050809150509392505050565b6001601260156101000a81548160ff0219169083151502179055506000811415611a9f57611d7a565b601260149054906101000a900460ff16611ab857611d7a565b6000600267ffffffffffffffff811115611afb577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611b295781602001602082028036833780820191505090505b5090503081600081518110611b67577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0957600080fd5b505afa158015611c1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c419190612092565b81600181518110611c7b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ce230601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fd5565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d4695949392919061292d565b600060405180830381600087803b158015611d6057600080fd5b505af1158015611d74573d6000803e3d6000fd5b50505050505b6000601260156101000a81548160ff02191690831515021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e00573d6000803e3d6000fd5b5050565b600080823b905060008111915050919050565b600080831415611e2a5760009050611e8c565b60008284611e389190612bef565b9050828482611e479190612a4d565b14611e87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7e90612832565b60405180910390fd5b809150505b92915050565b6000611ed483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f9d565b905092915050565b6000818311611eeb5782611eed565b815b905092915050565b6000808284611f0491906129f7565b905083811015611f49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4090612812565b60405180910390fd5b8091505092915050565b6000611f9583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a12565b905092915050565b60008083118290611fe4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fdb9190612790565b60405180910390fd5b5060008385611ff39190612a4d565b9050809150509392505050565b60008135905061200f81612ddc565b92915050565b60008151905061202481612ddc565b92915050565b60008151905061203981612df3565b92915050565b60008135905061204e81612e0a565b92915050565b60008151905061206381612e0a565b92915050565b60006020828403121561207b57600080fd5b600061208984828501612000565b91505092915050565b6000602082840312156120a457600080fd5b60006120b284828501612015565b91505092915050565b600080604083850312156120ce57600080fd5b60006120dc85828601612000565b92505060206120ed85828601612000565b9150509250929050565b60008060006060848603121561210c57600080fd5b600061211a86828701612000565b935050602061212b86828701612000565b925050604061213c8682870161203f565b9150509250925092565b6000806040838503121561215957600080fd5b600061216785828601612000565b92505060206121788582860161203f565b9150509250929050565b60006020828403121561219457600080fd5b60006121a28482850161202a565b91505092915050565b6000806000606084860312156121c057600080fd5b60006121ce86828701612054565b93505060206121df86828701612054565b92505060406121f086828701612054565b9150509250925092565b60006122068383612212565b60208301905092915050565b61221b81612c7d565b82525050565b61222a81612c7d565b82525050565b600061223b826129b2565b61224581856129d5565b9350612250836129a2565b8060005b8381101561228157815161226888826121fa565b9750612273836129c8565b925050600181019050612254565b5085935050505092915050565b61229781612c8f565b82525050565b6122a681612cd2565b82525050565b60006122b7826129bd565b6122c181856129e6565b93506122d1818560208601612ce4565b6122da81612dbe565b840191505092915050565b60006122f26023836129e6565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006123586019836129e6565b91507f4578636565647320746865205f6d61785478416d6f756e742e000000000000006000830152602082019050919050565b60006123986022836129e6565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006123fe601b836129e6565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b600061243e6021836129e6565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006124a46020836129e6565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006124e46029836129e6565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b600061254a6025836129e6565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125b0601a836129e6565b91507f4578636565647320746865206d617857616c6c657453697a652e0000000000006000830152602082019050919050565b60006125f06024836129e6565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006126566017836129e6565b91507f74726164696e6720697320616c7265616479206f70656e0000000000000000006000830152602082019050919050565b61269281612cbb565b82525050565b6126a181612cc5565b82525050565b60006020820190506126bc6000830184612221565b92915050565b60006040820190506126d76000830185612221565b6126e46020830184612221565b9392505050565b60006040820190506127006000830185612221565b61270d6020830184612689565b9392505050565b600060c0820190506127296000830189612221565b6127366020830188612689565b612743604083018761229d565b612750606083018661229d565b61275d6080830185612221565b61276a60a0830184612689565b979650505050505050565b600060208201905061278a600083018461228e565b92915050565b600060208201905081810360008301526127aa81846122ac565b905092915050565b600060208201905081810360008301526127cb816122e5565b9050919050565b600060208201905081810360008301526127eb8161234b565b9050919050565b6000602082019050818103600083015261280b8161238b565b9050919050565b6000602082019050818103600083015261282b816123f1565b9050919050565b6000602082019050818103600083015261284b81612431565b9050919050565b6000602082019050818103600083015261286b81612497565b9050919050565b6000602082019050818103600083015261288b816124d7565b9050919050565b600060208201905081810360008301526128ab8161253d565b9050919050565b600060208201905081810360008301526128cb816125a3565b9050919050565b600060208201905081810360008301526128eb816125e3565b9050919050565b6000602082019050818103600083015261290b81612649565b9050919050565b60006020820190506129276000830184612689565b92915050565b600060a0820190506129426000830188612689565b61294f602083018761229d565b81810360408301526129618186612230565b90506129706060830185612221565b61297d6080830184612689565b9695505050505050565b600060208201905061299c6000830184612698565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a0282612cbb565b9150612a0d83612cbb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a4257612a41612d60565b5b828201905092915050565b6000612a5882612cbb565b9150612a6383612cbb565b925082612a7357612a72612d8f565b5b828204905092915050565b6000808291508390505b6001851115612ac857808604811115612aa457612aa3612d60565b5b6001851615612ab35780820291505b8081029050612ac185612dcf565b9450612a88565b94509492505050565b6000612adc82612cbb565b9150612ae783612cc5565b9250612b147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612b1c565b905092915050565b600082612b2c5760019050612be8565b81612b3a5760009050612be8565b8160018114612b505760028114612b5a57612b89565b6001915050612be8565b60ff841115612b6c57612b6b612d60565b5b8360020a915084821115612b8357612b82612d60565b5b50612be8565b5060208310610133831016604e8410600b8410161715612bbe5782820a905083811115612bb957612bb8612d60565b5b612be8565b612bcb8484846001612a7e565b92509050818404811115612be257612be1612d60565b5b81810290505b9392505050565b6000612bfa82612cbb565b9150612c0583612cbb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c3e57612c3d612d60565b5b828202905092915050565b6000612c5482612cbb565b9150612c5f83612cbb565b925082821015612c7257612c71612d60565b5b828203905092915050565b6000612c8882612c9b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612cdd82612cbb565b9050919050565b60005b83811015612d02578082015181840152602081019050612ce7565b83811115612d11576000848401525b50505050565b6000612d2282612cbb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d5557612d54612d60565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b612de581612c7d565b8114612df057600080fd5b50565b612dfc81612c8f565b8114612e0757600080fd5b50565b612e1381612cbb565b8114612e1e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205031c9f6e33e9c549278ae184fee408950f7d7ac1972e23ff2bb64903f6457d664736f6c63430008000033

Deployed Bytecode Sourcemap

3485:7676:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5262:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6099:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4535:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5542:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6269:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5450:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10843:313;;;;;;;;;;;;;:::i;:::-;;5646:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2562:148;;;;;;;;;;;;;:::i;:::-;;9665:161;;;;;;;;;;;;;:::i;:::-;;4344:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2346:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4407:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5354:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5774:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4470:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9930:671;;;;;;;;;;;;;:::i;:::-;;5947:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5262:83;5299:13;5332:5;;;;;;;;;;;;;;;;;5325:12;;5262:83;:::o;6099:161::-;6174:4;6191:39;6200:12;:10;:12::i;:::-;6214:7;6223:6;6191:8;:39::i;:::-;6248:4;6241:11;;6099:161;;;;:::o;4535:55::-;;;;:::o;5542:95::-;5595:7;4157:1;4213:2;:13;;;;:::i;:::-;4200:10;:26;;;;:::i;:::-;5615:14;;5542:95;:::o;6269:313::-;6367:4;6384:36;6394:6;6402:9;6413:6;6384:9;:36::i;:::-;6431:121;6440:6;6448:12;:10;:12::i;:::-;6462:89;6500:6;6462:89;;;;;;;;;;;;;;;;;:11;:19;6474:6;6462:19;;;;;;;;;;;;;;;:33;6482:12;:10;:12::i;:::-;6462:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6431:8;:121::i;:::-;6570:4;6563:11;;6269:313;;;;;:::o;5450:83::-;5491:5;4157:1;5509:16;;5450:83;:::o;10843:313::-;2484:12;:10;:12::i;:::-;2474:22;;:6;;;;;;;;;;:22;;;2466:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10894:20:::1;10915:24;10933:4;10915:9;:24::i;:::-;10894:45;;10966:1;10953:12;:14;10950:73;;;10981:30;10998:12;10981:16;:30::i;:::-;10950:73;11033:18;11052:21;11033:40;;11098:1;11087:10;:12;11084:65;;;11113:24;11126:10;11113:12;:24::i;:::-;11084:65;2544:1;;10843:313::o:0;5646:119::-;5712:7;5739:9;:18;5749:7;5739:18;;;;;;;;;;;;;;;;5732:25;;5646:119;;;:::o;2562:148::-;2484:12;:10;:12::i;:::-;2474:22;;:6;;;;;;;;;;:22;;;2466:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2669:1:::1;2632:40;;2653:6;::::0;::::1;;;;;;;;2632:40;;;;;;;;;;;;2700:1;2683:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2562:148::o:0;9665:161::-;2484:12;:10;:12::i;:::-;2474:22;;:6;;;;;;;;;;:22;;;2466:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4157:1:::1;4213:2;:13;;;;:::i;:::-;4200:10;:26;;;;:::i;:::-;9718:12;:22;;;;4157:1;4213:2;:13;;;;:::i;:::-;4200:10;:26;;;;:::i;:::-;9751:14;:24;;;;9791:27;4157:1;4213:2;:13;;;;:::i;:::-;4200:10;:26;;;;:::i;:::-;9791:27;;;;;;:::i;:::-;;;;;;;;9665:161::o:0;4344:56::-;;;;:::o;2346:79::-;2384:7;2411:6;;;;;;;;;;;2404:13;;2346:79;:::o;4407:56::-;;;;:::o;5354:87::-;5393:13;5426:7;;;;;;;;;;;;;;;;;5419:14;;5354:87;:::o;5774:167::-;5852:4;5869:42;5879:12;:10;:12::i;:::-;5893:9;5904:6;5869:9;:42::i;:::-;5929:4;5922:11;;5774:167;;;;:::o;4470:58::-;;;;:::o;9930:671::-;2484:12;:10;:12::i;:::-;2474:22;;:6;;;;;;;;;;:22;;;2466:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9994:11:::1;;;;;;;;;;;9993:12;9985:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10080:42;10043:15;;:80;;;;;;;;;;;;;;;;;;10134:58;10151:4;10166:15;;;;;;;;;;;4157:1;4213:2;:13;;;;:::i;:::-;4200:10;:26;;;;:::i;:::-;10134:8;:58::i;:::-;10237:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10219:55;;;10283:4;10290:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10219:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10203:13;;:110;;;;;;;;;;;;;;;;;;10324:15;;;;;;;;;;;:31;;;10363:21;10394:4;10400:24;10418:4;10400:9;:24::i;:::-;10425:1;10427::::0;10429:7:::1;:5;:7::i;:::-;10437:15;10324:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10471:13;;;;;;;;;;;10464:29;;;10502:15;;;;;;;;;;;10520:14;10464:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10560:4;10546:11;;:18;;;;;;;;;;;;;;;;;;10589:4;10575:11;;:18;;;;;;;;;;;;;;;;;;9930:671::o:0;5947:143::-;6028:7;6055:11;:18;6067:5;6055:18;;;;;;;;;;;;;;;:27;6074:7;6055:27;;;;;;;;;;;;;;;;6048:34;;5947:143;;;;:::o;90:98::-;143:7;170:10;163:17;;90:98;:::o;6591:335::-;6701:1;6684:19;;:5;:19;;;;6676:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6782:1;6763:21;;:7;:21;;;;6755:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6864:6;6834:11;:18;6846:5;6834:18;;;;;;;;;;;;;;;:27;6853:7;6834:27;;;;;;;;;;;;;;;:36;;;;6902:7;6886:32;;6895:5;6886:32;;;6911:6;6886:32;;;;;;:::i;:::-;;;;;;;;6591:335;;;:::o;6932:2062::-;7036:1;7020:18;;:4;:18;;;;7012:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7113:1;7099:16;;:2;:16;;;;7091:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7183:1;7174:6;:10;7166:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7241:17;7284:7;:5;:7::i;:::-;7276:15;;:4;:15;;;;:32;;;;;7301:7;:5;:7::i;:::-;7295:13;;:2;:13;;;;7276:32;7272:1368;;;7337:13;;;;;;;;;;;7329:21;;:4;:21;;;:55;;;;;7368:15;;;;;;;;;;;7354:30;;:2;:30;;;;7329:55;:83;;;;;7390:18;:22;7409:2;7390:22;;;;;;;;;;;;;;;;;;;;;;;;;7388:24;7329:83;7325:428;;;7452:12;;7442:6;:22;;7434:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7547:14;;7537:6;7521:13;7531:2;7521:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7513:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7624:18;;7614:9;;:28;7611:97;;;7673:14;7684:2;7673:10;:14::i;:::-;7672:15;7664:24;;;;;;7611:97;7726:9;;:11;;;;;;;;;:::i;:::-;;;;;;7325:428;7779:76;7851:3;7779:67;7801:15;;7791:9;;:25;7790:55;;7831:14;;7790:55;;;7818:12;;7790:55;7779:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7767:88;;7879:13;;;;;;;;;;;7873:19;;:2;:19;;;:43;;;;;7911:4;7896:20;;:4;:20;;;;7873:43;7870:253;;;7955:12;;7945:6;:22;;7937:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8028:79;8103:3;8028:70;8050:16;;8040:9;;:26;8039:58;;8082:15;;8039:58;;;8068:13;;8039:58;8028:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8016:91;;7870:253;8140:28;8171:24;8189:4;8171:9;:24::i;:::-;8140:55;;8215:6;;;;;;;;;;;8214:7;:30;;;;;8231:13;;;;;;;;;;;8225:19;;:2;:19;;;8214:30;:45;;;;;8248:11;;;;;;;;;;;8214:45;:87;;;;;8284:17;;8263:20;:38;8214:87;:119;;;;;8315:18;;8305:9;;:28;8214:119;8210:419;;;8354:67;8371:49;8375:6;8382:37;8386:20;8407:11;;8382:3;:37::i;:::-;8371:3;:49::i;:::-;8354:16;:67::i;:::-;8440:26;8469:21;8440:50;;8533:1;8512:18;:22;8509:105;;;8559:35;8572:21;8559:12;:35::i;:::-;8509:105;8210:419;;7272:1368;;8663:1;8653:9;:11;8650:161;;;8703:39;8732:9;8703;:24;8721:4;8703:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8678:9;:24;8696:4;8678:24;;;;;;;;;;;;;;;:64;;;;8783:4;8760:39;;8769:4;8760:39;;;8789:9;8760:39;;;;;;:::i;:::-;;;;;;;;8650:161;8837:27;8857:6;8837:9;:15;8847:4;8837:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8821:9;:15;8831:4;8821:15;;;;;;;;;;;;;;;:43;;;;8889:40;8907:21;8918:9;8907:6;:10;;:21;;;;:::i;:::-;8889:9;:13;8899:2;8889:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8875:9;:13;8885:2;8875:13;;;;;;;;;;;;;;;:54;;;;8960:2;8945:41;;8954:4;8945:41;;;8964:21;8975:9;8964:6;:10;;:21;;;;:::i;:::-;8945:41;;;;;;:::i;:::-;;;;;;;;6932:2062;;;;:::o;1231:190::-;1317:7;1350:1;1345;:6;;1353:12;1337:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1377:9;1393:1;1389;:5;;;;:::i;:::-;1377:17;;1412:1;1405:8;;;1231:190;;;;;:::o;9104:555::-;4877:4;4868:6;;:13;;;;;;;;;;;;;;;;;;9198:1:::1;9185:11;:14;9182:27;;;9201:7;;9182:27;9223:11;;;;;;;;;;;9219:25;;9236:7;;9219:25;9254:21;9292:1;9278:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9254:40;;9323:4;9305;9310:1;9305:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;9349:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9339:4;9344:1;9339:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;9382:62;9399:4;9414:15;;;;;;;;;;;9432:11;9382:8;:62::i;:::-;9455:15;;;;;;;;;;;:66;;;9536:11;9562:1;9578:4;9605;9625:15;9455:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4892:1;;4913:5:::0;4904:6;;:14;;;;;;;;;;;;;;;;;;9104:555;:::o;9832:92::-;9889:10;;;;;;;;;;;:19;;:27;9909:6;9889:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9832:92;:::o;10642:195::-;10701:4;10718:12;10785:7;10773:20;10765:28;;10828:1;10821:4;:8;10814:15;;;10642:195;;;:::o;1430:246::-;1488:7;1517:1;1512;:6;1508:47;;;1542:1;1535:8;;;;1508:47;1565:9;1581:1;1577;:5;;;;:::i;:::-;1565:17;;1610:1;1605;1601;:5;;;;:::i;:::-;:10;1593:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1667:1;1660:8;;;1430:246;;;;;:::o;1685:132::-;1743:7;1770:39;1774:1;1777;1770:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1763:46;;1685:132;;;;:::o;9000:98::-;9057:7;9084:1;9082;:3;9081:9;;9089:1;9081:9;;;9087:1;9081:9;9074:16;;9000:98;;;;:::o;898:179::-;956:7;976:9;992:1;988;:5;;;;:::i;:::-;976:17;;1017:1;1012;:6;;1004:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1068:1;1061:8;;;898:179;;;;:::o;1086:136::-;1144:7;1171:43;1175:1;1178;1171:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1164:50;;1086:136;;;;:::o;1826:189::-;1912:7;1944:1;1940;:5;1947:12;1932:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1971:9;1987:1;1983;:5;;;;:::i;:::-;1971:17;;2006:1;1999:8;;;1826:189;;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:137::-;;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;361:77;;;;:::o;444:139::-;;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;496:87;;;;:::o;589:143::-;;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;652:80;;;;:::o;738:262::-;;846:2;834:9;825:7;821:23;817:32;814:2;;;862:1;859;852:12;814:2;905:1;930:53;975:7;966:6;955:9;951:22;930:53;:::i;:::-;920:63;;876:117;804:196;;;;:::o;1006:284::-;;1125:2;1113:9;1104:7;1100:23;1096:32;1093:2;;;1141:1;1138;1131:12;1093:2;1184:1;1209:64;1265:7;1256:6;1245:9;1241:22;1209:64;:::i;:::-;1199:74;;1155:128;1083:207;;;;:::o;1296:407::-;;;1421:2;1409:9;1400:7;1396:23;1392:32;1389:2;;;1437:1;1434;1427:12;1389:2;1480:1;1505:53;1550:7;1541:6;1530:9;1526:22;1505:53;:::i;:::-;1495:63;;1451:117;1607:2;1633:53;1678:7;1669:6;1658:9;1654:22;1633:53;:::i;:::-;1623:63;;1578:118;1379:324;;;;;:::o;1709:552::-;;;;1851:2;1839:9;1830:7;1826:23;1822:32;1819:2;;;1867:1;1864;1857:12;1819:2;1910:1;1935:53;1980:7;1971:6;1960:9;1956:22;1935:53;:::i;:::-;1925:63;;1881:117;2037:2;2063:53;2108:7;2099:6;2088:9;2084:22;2063:53;:::i;:::-;2053:63;;2008:118;2165:2;2191:53;2236:7;2227:6;2216:9;2212:22;2191:53;:::i;:::-;2181:63;;2136:118;1809:452;;;;;:::o;2267:407::-;;;2392:2;2380:9;2371:7;2367:23;2363:32;2360:2;;;2408:1;2405;2398:12;2360:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2578:2;2604:53;2649:7;2640:6;2629:9;2625:22;2604:53;:::i;:::-;2594:63;;2549:118;2350:324;;;;;:::o;2680:278::-;;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2855:1;2880:61;2933:7;2924:6;2913:9;2909:22;2880:61;:::i;:::-;2870:71;;2826:125;2754:204;;;;:::o;2964:596::-;;;;3117:2;3105:9;3096:7;3092:23;3088:32;3085:2;;;3133:1;3130;3123:12;3085:2;3176:1;3201:64;3257:7;3248:6;3237:9;3233:22;3201:64;:::i;:::-;3191:74;;3147:128;3314:2;3340:64;3396:7;3387:6;3376:9;3372:22;3340:64;:::i;:::-;3330:74;;3285:129;3453:2;3479:64;3535:7;3526:6;3515:9;3511:22;3479:64;:::i;:::-;3469:74;;3424:129;3075:485;;;;;:::o;3566:179::-;;3656:46;3698:3;3690:6;3656:46;:::i;:::-;3734:4;3729:3;3725:14;3711:28;;3646:99;;;;:::o;3751:108::-;3828:24;3846:5;3828:24;:::i;:::-;3823:3;3816:37;3806:53;;:::o;3865:118::-;3952:24;3970:5;3952:24;:::i;:::-;3947:3;3940:37;3930:53;;:::o;4019:732::-;;4167:54;4215:5;4167:54;:::i;:::-;4237:86;4316:6;4311:3;4237:86;:::i;:::-;4230:93;;4347:56;4397:5;4347:56;:::i;:::-;4426:7;4457:1;4442:284;4467:6;4464:1;4461:13;4442:284;;;4543:6;4537:13;4570:63;4629:3;4614:13;4570:63;:::i;:::-;4563:70;;4656:60;4709:6;4656:60;:::i;:::-;4646:70;;4502:224;4489:1;4486;4482:9;4477:14;;4442:284;;;4446:14;4742:3;4735:10;;4143:608;;;;;;;:::o;4757:109::-;4838:21;4853:5;4838:21;:::i;:::-;4833:3;4826:34;4816:50;;:::o;4872:147::-;4967:45;5006:5;4967:45;:::i;:::-;4962:3;4955:58;4945:74;;:::o;5025:364::-;;5141:39;5174:5;5141:39;:::i;:::-;5196:71;5260:6;5255:3;5196:71;:::i;:::-;5189:78;;5276:52;5321:6;5316:3;5309:4;5302:5;5298:16;5276:52;:::i;:::-;5353:29;5375:6;5353:29;:::i;:::-;5348:3;5344:39;5337:46;;5117:272;;;;;:::o;5395:367::-;;5558:67;5622:2;5617:3;5558:67;:::i;:::-;5551:74;;5655:34;5651:1;5646:3;5642:11;5635:55;5721:5;5716:2;5711:3;5707:12;5700:27;5753:2;5748:3;5744:12;5737:19;;5541:221;;;:::o;5768:323::-;;5931:67;5995:2;5990:3;5931:67;:::i;:::-;5924:74;;6028:27;6024:1;6019:3;6015:11;6008:48;6082:2;6077:3;6073:12;6066:19;;5914:177;;;:::o;6097:366::-;;6260:67;6324:2;6319:3;6260:67;:::i;:::-;6253:74;;6357:34;6353:1;6348:3;6344:11;6337:55;6423:4;6418:2;6413:3;6409:12;6402:26;6454:2;6449:3;6445:12;6438:19;;6243:220;;;:::o;6469:325::-;;6632:67;6696:2;6691:3;6632:67;:::i;:::-;6625:74;;6729:29;6725:1;6720:3;6716:11;6709:50;6785:2;6780:3;6776:12;6769:19;;6615:179;;;:::o;6800:365::-;;6963:67;7027:2;7022:3;6963:67;:::i;:::-;6956:74;;7060:34;7056:1;7051:3;7047:11;7040:55;7126:3;7121:2;7116:3;7112:12;7105:25;7156:2;7151:3;7147:12;7140:19;;6946:219;;;:::o;7171:330::-;;7334:67;7398:2;7393:3;7334:67;:::i;:::-;7327:74;;7431:34;7427:1;7422:3;7418:11;7411:55;7492:2;7487:3;7483:12;7476:19;;7317:184;;;:::o;7507:373::-;;7670:67;7734:2;7729:3;7670:67;:::i;:::-;7663:74;;7767:34;7763:1;7758:3;7754:11;7747:55;7833:11;7828:2;7823:3;7819:12;7812:33;7871:2;7866:3;7862:12;7855:19;;7653:227;;;:::o;7886:369::-;;8049:67;8113:2;8108:3;8049:67;:::i;:::-;8042:74;;8146:34;8142:1;8137:3;8133:11;8126:55;8212:7;8207:2;8202:3;8198:12;8191:29;8246:2;8241:3;8237:12;8230:19;;8032:223;;;:::o;8261:324::-;;8424:67;8488:2;8483:3;8424:67;:::i;:::-;8417:74;;8521:28;8517:1;8512:3;8508:11;8501:49;8576:2;8571:3;8567:12;8560:19;;8407:178;;;:::o;8591:368::-;;8754:67;8818:2;8813:3;8754:67;:::i;:::-;8747:74;;8851:34;8847:1;8842:3;8838:11;8831:55;8917:6;8912:2;8907:3;8903:12;8896:28;8950:2;8945:3;8941:12;8934:19;;8737:222;;;:::o;8965:321::-;;9128:67;9192:2;9187:3;9128:67;:::i;:::-;9121:74;;9225:25;9221:1;9216:3;9212:11;9205:46;9277:2;9272:3;9268:12;9261:19;;9111:175;;;:::o;9292:118::-;9379:24;9397:5;9379:24;:::i;:::-;9374:3;9367:37;9357:53;;:::o;9416:112::-;9499:22;9515:5;9499:22;:::i;:::-;9494:3;9487:35;9477:51;;:::o;9534:222::-;;9665:2;9654:9;9650:18;9642:26;;9678:71;9746:1;9735:9;9731:17;9722:6;9678:71;:::i;:::-;9632:124;;;;:::o;9762:332::-;;9921:2;9910:9;9906:18;9898:26;;9934:71;10002:1;9991:9;9987:17;9978:6;9934:71;:::i;:::-;10015:72;10083:2;10072:9;10068:18;10059:6;10015:72;:::i;:::-;9888:206;;;;;:::o;10100:332::-;;10259:2;10248:9;10244:18;10236:26;;10272:71;10340:1;10329:9;10325:17;10316:6;10272:71;:::i;:::-;10353:72;10421:2;10410:9;10406:18;10397:6;10353:72;:::i;:::-;10226:206;;;;;:::o;10438:807::-;;10725:3;10714:9;10710:19;10702:27;;10739:71;10807:1;10796:9;10792:17;10783:6;10739:71;:::i;:::-;10820:72;10888:2;10877:9;10873:18;10864:6;10820:72;:::i;:::-;10902:80;10978:2;10967:9;10963:18;10954:6;10902:80;:::i;:::-;10992;11068:2;11057:9;11053:18;11044:6;10992:80;:::i;:::-;11082:73;11150:3;11139:9;11135:19;11126:6;11082:73;:::i;:::-;11165;11233:3;11222:9;11218:19;11209:6;11165:73;:::i;:::-;10692:553;;;;;;;;;:::o;11251:210::-;;11376:2;11365:9;11361:18;11353:26;;11389:65;11451:1;11440:9;11436:17;11427:6;11389:65;:::i;:::-;11343:118;;;;:::o;11467:313::-;;11618:2;11607:9;11603:18;11595:26;;11667:9;11661:4;11657:20;11653:1;11642:9;11638:17;11631:47;11695:78;11768:4;11759:6;11695:78;:::i;:::-;11687:86;;11585:195;;;;:::o;11786:419::-;;11990:2;11979:9;11975:18;11967:26;;12039:9;12033:4;12029:20;12025:1;12014:9;12010:17;12003:47;12067:131;12193:4;12067:131;:::i;:::-;12059:139;;11957:248;;;:::o;12211:419::-;;12415:2;12404:9;12400:18;12392:26;;12464:9;12458:4;12454:20;12450:1;12439:9;12435:17;12428:47;12492:131;12618:4;12492:131;:::i;:::-;12484:139;;12382:248;;;:::o;12636:419::-;;12840:2;12829:9;12825:18;12817:26;;12889:9;12883:4;12879:20;12875:1;12864:9;12860:17;12853:47;12917:131;13043:4;12917:131;:::i;:::-;12909:139;;12807:248;;;:::o;13061:419::-;;13265:2;13254:9;13250:18;13242:26;;13314:9;13308:4;13304:20;13300:1;13289:9;13285:17;13278:47;13342:131;13468:4;13342:131;:::i;:::-;13334:139;;13232:248;;;:::o;13486:419::-;;13690:2;13679:9;13675:18;13667:26;;13739:9;13733:4;13729:20;13725:1;13714:9;13710:17;13703:47;13767:131;13893:4;13767:131;:::i;:::-;13759:139;;13657:248;;;:::o;13911:419::-;;14115:2;14104:9;14100:18;14092:26;;14164:9;14158:4;14154:20;14150:1;14139:9;14135:17;14128:47;14192:131;14318:4;14192:131;:::i;:::-;14184:139;;14082:248;;;:::o;14336:419::-;;14540:2;14529:9;14525:18;14517:26;;14589:9;14583:4;14579:20;14575:1;14564:9;14560:17;14553:47;14617:131;14743:4;14617:131;:::i;:::-;14609:139;;14507:248;;;:::o;14761:419::-;;14965:2;14954:9;14950:18;14942:26;;15014:9;15008:4;15004:20;15000:1;14989:9;14985:17;14978:47;15042:131;15168:4;15042:131;:::i;:::-;15034:139;;14932:248;;;:::o;15186:419::-;;15390:2;15379:9;15375:18;15367:26;;15439:9;15433:4;15429:20;15425:1;15414:9;15410:17;15403:47;15467:131;15593:4;15467:131;:::i;:::-;15459:139;;15357:248;;;:::o;15611:419::-;;15815:2;15804:9;15800:18;15792:26;;15864:9;15858:4;15854:20;15850:1;15839:9;15835:17;15828:47;15892:131;16018:4;15892:131;:::i;:::-;15884:139;;15782:248;;;:::o;16036:419::-;;16240:2;16229:9;16225:18;16217:26;;16289:9;16283:4;16279:20;16275:1;16264:9;16260:17;16253:47;16317:131;16443:4;16317:131;:::i;:::-;16309:139;;16207:248;;;:::o;16461:222::-;;16592:2;16581:9;16577:18;16569:26;;16605:71;16673:1;16662:9;16658:17;16649:6;16605:71;:::i;:::-;16559:124;;;;:::o;16689:831::-;;16990:3;16979:9;16975:19;16967:27;;17004:71;17072:1;17061:9;17057:17;17048:6;17004:71;:::i;:::-;17085:80;17161:2;17150:9;17146:18;17137:6;17085:80;:::i;:::-;17212:9;17206:4;17202:20;17197:2;17186:9;17182:18;17175:48;17240:108;17343:4;17334:6;17240:108;:::i;:::-;17232:116;;17358:72;17426:2;17415:9;17411:18;17402:6;17358:72;:::i;:::-;17440:73;17508:3;17497:9;17493:19;17484:6;17440:73;:::i;:::-;16957:563;;;;;;;;:::o;17526:214::-;;17653:2;17642:9;17638:18;17630:26;;17666:67;17730:1;17719:9;17715:17;17706:6;17666:67;:::i;:::-;17620:120;;;;:::o;17746:132::-;;17836:3;17828:11;;17866:4;17861:3;17857:14;17849:22;;17818:60;;;:::o;17884:114::-;;17985:5;17979:12;17969:22;;17958:40;;;:::o;18004:99::-;;18090:5;18084:12;18074:22;;18063:40;;;:::o;18109:113::-;;18211:4;18206:3;18202:14;18194:22;;18184:38;;;:::o;18228:184::-;;18361:6;18356:3;18349:19;18401:4;18396:3;18392:14;18377:29;;18339:73;;;;:::o;18418:169::-;;18536:6;18531:3;18524:19;18576:4;18571:3;18567:14;18552:29;;18514:73;;;;:::o;18593:305::-;;18652:20;18670:1;18652:20;:::i;:::-;18647:25;;18686:20;18704:1;18686:20;:::i;:::-;18681:25;;18840:1;18772:66;18768:74;18765:1;18762:81;18759:2;;;18846:18;;:::i;:::-;18759:2;18890:1;18887;18883:9;18876:16;;18637:261;;;;:::o;18904:185::-;;18961:20;18979:1;18961:20;:::i;:::-;18956:25;;18995:20;19013:1;18995:20;:::i;:::-;18990:25;;19034:1;19024:2;;19039:18;;:::i;:::-;19024:2;19081:1;19078;19074:9;19069:14;;18946:143;;;;:::o;19095:848::-;;;19187:6;19178:15;;19211:5;19202:14;;19225:712;19246:1;19236:8;19233:15;19225:712;;;19341:4;19336:3;19332:14;19326:4;19323:24;19320:2;;;19350:18;;:::i;:::-;19320:2;19400:1;19390:8;19386:16;19383:2;;;19815:4;19808:5;19804:16;19795:25;;19383:2;19865:4;19859;19855:15;19847:23;;19895:32;19918:8;19895:32;:::i;:::-;19883:44;;19225:712;;;19168:775;;;;;;;:::o;19949:281::-;;20031:23;20049:4;20031:23;:::i;:::-;20023:31;;20075:25;20091:8;20075:25;:::i;:::-;20063:37;;20119:104;20156:66;20146:8;20140:4;20119:104;:::i;:::-;20110:113;;20013:217;;;;:::o;20236:1073::-;;20481:8;20471:2;;20502:1;20493:10;;20504:5;;20471:2;20530:4;20520:2;;20547:1;20538:10;;20549:5;;20520:2;20616:4;20664:1;20659:27;;;;20700:1;20695:191;;;;20609:277;;20659:27;20677:1;20668:10;;20679:5;;;20695:191;20740:3;20730:8;20727:17;20724:2;;;20747:18;;:::i;:::-;20724:2;20796:8;20793:1;20789:16;20780:25;;20831:3;20824:5;20821:14;20818:2;;;20838:18;;:::i;:::-;20818:2;20871:5;;;20609:277;;20995:2;20985:8;20982:16;20976:3;20970:4;20967:13;20963:36;20945:2;20935:8;20932:16;20927:2;20921:4;20918:12;20914:35;20898:111;20895:2;;;21051:8;21045:4;21041:19;21032:28;;21086:3;21079:5;21076:14;21073:2;;;21093:18;;:::i;:::-;21073:2;21126:5;;20895:2;21166:42;21204:3;21194:8;21188:4;21185:1;21166:42;:::i;:::-;21151:57;;;;21240:4;21235:3;21231:14;21224:5;21221:25;21218:2;;;21249:18;;:::i;:::-;21218:2;21298:4;21291:5;21287:16;21278:25;;20296:1013;;;;;;:::o;21315:348::-;;21378:20;21396:1;21378:20;:::i;:::-;21373:25;;21412:20;21430:1;21412:20;:::i;:::-;21407:25;;21600:1;21532:66;21528:74;21525:1;21522:81;21517:1;21510:9;21503:17;21499:105;21496:2;;;21607:18;;:::i;:::-;21496:2;21655:1;21652;21648:9;21637:20;;21363:300;;;;:::o;21669:191::-;;21729:20;21747:1;21729:20;:::i;:::-;21724:25;;21763:20;21781:1;21763:20;:::i;:::-;21758:25;;21802:1;21799;21796:8;21793:2;;;21807:18;;:::i;:::-;21793:2;21852:1;21849;21845:9;21837:17;;21714:146;;;;:::o;21866:96::-;;21932:24;21950:5;21932:24;:::i;:::-;21921:35;;21911:51;;;:::o;21968:90::-;;22045:5;22038:13;22031:21;22020:32;;22010:48;;;:::o;22064:126::-;;22141:42;22134:5;22130:54;22119:65;;22109:81;;;:::o;22196:77::-;;22262:5;22251:16;;22241:32;;;:::o;22279:86::-;;22354:4;22347:5;22343:16;22332:27;;22322:43;;;:::o;22371:121::-;;22462:24;22480:5;22462:24;:::i;:::-;22449:37;;22439:53;;;:::o;22498:307::-;22566:1;22576:113;22590:6;22587:1;22584:13;22576:113;;;22675:1;22670:3;22666:11;22660:18;22656:1;22651:3;22647:11;22640:39;22612:2;22609:1;22605:10;22600:15;;22576:113;;;22707:6;22704:1;22701:13;22698:2;;;22787:1;22778:6;22773:3;22769:16;22762:27;22698:2;22547:258;;;;:::o;22811:233::-;;22873:24;22891:5;22873:24;:::i;:::-;22864:33;;22919:66;22912:5;22909:77;22906:2;;;22989:18;;:::i;:::-;22906:2;23036:1;23029:5;23025:13;23018:20;;22854:190;;;:::o;23050:180::-;23098:77;23095:1;23088:88;23195:4;23192:1;23185:15;23219:4;23216:1;23209:15;23236:180;23284:77;23281:1;23274:88;23381:4;23378:1;23371:15;23405:4;23402:1;23395:15;23422:102;;23514:2;23510:7;23505:2;23498:5;23494:14;23490:28;23480:38;;23470:54;;;:::o;23530:102::-;;23619:5;23616:1;23612:13;23591:34;;23581:51;;;:::o;23638:122::-;23711:24;23729:5;23711:24;:::i;:::-;23704:5;23701:35;23691:2;;23750:1;23747;23740:12;23691:2;23681:79;:::o;23766:116::-;23836:21;23851:5;23836:21;:::i;:::-;23829:5;23826:32;23816:2;;23872:1;23869;23862:12;23816:2;23806:76;:::o;23888:122::-;23961:24;23979:5;23961:24;:::i;:::-;23954:5;23951:35;23941:2;;24000:1;23997;23990:12;23941:2;23931:79;:::o

Swarm Source

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