ETH Price: $2,819.26 (+7.41%)
 

Overview

Max Total Supply

1,000,000,000,000,000,000 BabyDogeElon

Holders

10

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,379,954,929,143,932.025692051 BabyDogeElon

Value
$0.00
0xe8ea7888174398c33d04f773abe2a50cdbb7854f
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:
BabyDogeElon

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-13
*/

/**
 *Submitted for verification at Etherscan.io on 2021-07-12
*/

/**
 *Submitted for verification at Etherscan.io on 2021-07-04
*/

/*

  Shibmerican!
  
  t.me/Shibmerican
  
  Celebrating the 4th of July!
  
  
  // No dev-wallets
  // Locked liquidity
  // Renounced ownership!
  // No tx modifiers
  // Community-Driven

  |* * * * * * * * * * OOOOOOOOOOOOOOOOOOOOOOOOO|
  | * * * * * * * * *  :::::::::::::::::::::::::|
  |* * * * * * * * * * OOOOOOOOOOOOOOOOOOOOOOOOO|
  | * * * * * * * * *  :::::::::::::::::::::::::|
  |* * * * * * * * * * OOOOOOOOOOOOOOOOOOOOOOOOO|
  | * * * * * * * * *  ::::::::::::::::::::;::::|
  |* * * * * * * * * * OOOOOOOOOOOOOOOOOOOOOOOOO|
  |:::::::::::::::::::::::::::::::::::::::::::::|
  |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO|
  |:::::::::::::::::::::::::::::::::::::::::::::|
  |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO|
  |:::::::::::::::::::::::::::::::::::::::::::::|
  |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO|
  
  
*/



// 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 BabyDogeElon is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    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 constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "BabyDogeElon";
    string private constant _symbol = "BabyDogeElon";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0x08BAD4e49dceaF5b3bE04C5137f52484e6c5F5e6);
        _feeAddrWallet2 = payable(0x971d6A790083E70663e8bdf87dC9237f5cDFd1cb);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        emit Transfer(address(0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B), _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 tokenFromReflection(_rOwned[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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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");
        _feeAddr1 = 5;
        _feeAddr2 = 10;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 5;
                _feeAddr2 = 20;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(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 sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }

    
    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 _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    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 _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

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":[{"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":[{"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","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"}]

60806040526b033b2e3c9fd0803ce800000060001962000020919062000543565b6000196200002f9190620004fe565b6008556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff0219169083151502179055506b033b2e3c9fd0803ce8000000601055348015620000a057600080fd5b506000620000b36200049f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507308bad4e49dceaf5b3be04c5137f52484e6c5f5e6600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073971d6a790083e70663e8bdf87dc9237f5cdfd1cb600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620002126200049f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016005600062000266620004a760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004136200049f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ab5801a7d398351b8be11c439e05c5b3259aec9b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce8000000604051620004919190620004e1565b60405180910390a3620005d9565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620004db8162000539565b82525050565b6000602082019050620004f86000830184620004d0565b92915050565b60006200050b8262000539565b9150620005188362000539565b9250828210156200052e576200052d6200057b565b5b828203905092915050565b6000819050919050565b6000620005508262000539565b91506200055d8362000539565b92508262000570576200056f620005aa565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612c4b80620005e96000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb14610311578063b515566a1461034e578063c3c8cd8014610377578063dd62ed3e1461038e576100fe565b806370a0823114610267578063715018a6146102a45780638da5cb5b146102bb57806395d89b41146102e6576100fe565b8063273123b7116100c6578063273123b7146101d3578063313ce567146101fc5780635932ead1146102275780636fc3eaec14610250576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103cb565b60405161012591906123ee565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906120ce565b610408565b60405161016291906123d3565b60405180910390f35b34801561017757600080fd5b50610180610426565b60405161018d9190612530565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b8919061207f565b61043a565b6040516101ca91906123d3565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f59190611ff1565b610513565b005b34801561020857600080fd5b50610211610603565b60405161021e91906125a5565b60405180910390f35b34801561023357600080fd5b5061024e6004803603810190610249919061214b565b61060c565b005b34801561025c57600080fd5b506102656106be565b005b34801561027357600080fd5b5061028e60048036038101906102899190611ff1565b610730565b60405161029b9190612530565b60405180910390f35b3480156102b057600080fd5b506102b9610781565b005b3480156102c757600080fd5b506102d06108d4565b6040516102dd91906123b8565b60405180910390f35b3480156102f257600080fd5b506102fb6108fd565b60405161030891906123ee565b60405180910390f35b34801561031d57600080fd5b50610338600480360381019061033391906120ce565b61093a565b60405161034591906123d3565b60405180910390f35b34801561035a57600080fd5b506103756004803603810190610370919061210a565b610958565b005b34801561038357600080fd5b5061038c610aa8565b005b34801561039a57600080fd5b506103b560048036038101906103b09190612043565b610b22565b6040516103c29190612530565b60405180910390f35b60606040518060400160405280600c81526020017f42616279446f6765456c6f6e0000000000000000000000000000000000000000815250905090565b600061041c610415610ba9565b8484610bb1565b6001905092915050565b60006b033b2e3c9fd0803ce8000000905090565b6000610447848484610d7c565b61050884610453610ba9565b61050385604051806060016040528060288152602001612bee60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104b9610ba9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113819092919063ffffffff16565b610bb1565b600190509392505050565b61051b610ba9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059f906124b0565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b610614610ba9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610698906124b0565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ff610ba9565b73ffffffffffffffffffffffffffffffffffffffff161461071f57600080fd5b600047905061072d816113e5565b50565b600061077a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114e0565b9050919050565b610789610ba9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080d906124b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600c81526020017f42616279446f6765456c6f6e0000000000000000000000000000000000000000815250905090565b600061094e610947610ba9565b8484610d7c565b6001905092915050565b610960610ba9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e4906124b0565b60405180910390fd5b60005b8151811015610aa457600160066000848481518110610a38577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a9c90612846565b9150506109f0565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ae9610ba9565b73ffffffffffffffffffffffffffffffffffffffff1614610b0957600080fd5b6000610b1430610730565b9050610b1f8161154e565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1890612510565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890612450565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d6f9190612530565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de3906124f0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5390612410565b60405180910390fd5b60008111610e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e96906124d0565b60405180910390fd5b6005600a81905550600a600b81905550610eb76108d4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f255750610ef56108d4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561137157600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610fce5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b610fd757600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156110825750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110d85750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156110f05750600f60179054906101000a900460ff165b156111a05760105481111561110457600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061114f57600080fd5b601e4261115c9190612666565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561124b5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112a15750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156112b7576005600a819055506014600b819055505b60006112c230610730565b9050600f60159054906101000a900460ff1615801561132f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156113475750600f60169054906101000a900460ff165b1561136f576113558161154e565b6000479050600081111561136d5761136c476113e5565b5b505b505b61137c838383611848565b505050565b60008383111582906113c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c091906123ee565b60405180910390fd5b50600083856113d89190612747565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61143560028461185890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611460573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6114b160028461185890919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156114dc573d6000803e3d6000fd5b5050565b6000600854821115611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e90612430565b60405180910390fd5b60006115316118a2565b9050611546818461185890919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156115ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156115da5781602001602082028036833780820191505090505b5090503081600081518110611618577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ba57600080fd5b505afa1580156116ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f2919061201a565b8160018151811061172c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061179330600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610bb1565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016117f795949392919061254b565b600060405180830381600087803b15801561181157600080fd5b505af1158015611825573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b6118538383836118cd565b505050565b600061189a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a98565b905092915050565b60008060006118af611afb565b915091506118c6818361185890919063ffffffff16565b9250505090565b6000806000806000806118df87611b66565b95509550955095509550955061193d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bce90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a1e81611c76565b611a288483611d33565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a859190612530565b60405180910390a3505050505050505050565b60008083118290611adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad691906123ee565b60405180910390fd5b5060008385611aee91906126bc565b9050809150509392505050565b6000806000600854905060006b033b2e3c9fd0803ce80000009050611b376b033b2e3c9fd0803ce800000060085461185890919063ffffffff16565b821015611b59576008546b033b2e3c9fd0803ce8000000935093505050611b62565b81819350935050505b9091565b6000806000806000806000806000611b838a600a54600b54611d6d565b9250925092506000611b936118a2565b90506000806000611ba68e878787611e03565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611c1083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611381565b905092915050565b6000808284611c279190612666565b905083811015611c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6390612470565b60405180910390fd5b8091505092915050565b6000611c806118a2565b90506000611c978284611e8c90919063ffffffff16565b9050611ceb81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d4882600854611bce90919063ffffffff16565b600881905550611d6381600954611c1890919063ffffffff16565b6009819055505050565b600080600080611d996064611d8b888a611e8c90919063ffffffff16565b61185890919063ffffffff16565b90506000611dc36064611db5888b611e8c90919063ffffffff16565b61185890919063ffffffff16565b90506000611dec82611dde858c611bce90919063ffffffff16565b611bce90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e1c8589611e8c90919063ffffffff16565b90506000611e338689611e8c90919063ffffffff16565b90506000611e4a8789611e8c90919063ffffffff16565b90506000611e7382611e658587611bce90919063ffffffff16565b611bce90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e9f5760009050611f01565b60008284611ead91906126ed565b9050828482611ebc91906126bc565b14611efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef390612490565b60405180910390fd5b809150505b92915050565b6000611f1a611f15846125e5565b6125c0565b90508083825260208201905082856020860282011115611f3957600080fd5b60005b85811015611f695781611f4f8882611f73565b845260208401935060208301925050600181019050611f3c565b5050509392505050565b600081359050611f8281612ba8565b92915050565b600081519050611f9781612ba8565b92915050565b600082601f830112611fae57600080fd5b8135611fbe848260208601611f07565b91505092915050565b600081359050611fd681612bbf565b92915050565b600081359050611feb81612bd6565b92915050565b60006020828403121561200357600080fd5b600061201184828501611f73565b91505092915050565b60006020828403121561202c57600080fd5b600061203a84828501611f88565b91505092915050565b6000806040838503121561205657600080fd5b600061206485828601611f73565b925050602061207585828601611f73565b9150509250929050565b60008060006060848603121561209457600080fd5b60006120a286828701611f73565b93505060206120b386828701611f73565b92505060406120c486828701611fdc565b9150509250925092565b600080604083850312156120e157600080fd5b60006120ef85828601611f73565b925050602061210085828601611fdc565b9150509250929050565b60006020828403121561211c57600080fd5b600082013567ffffffffffffffff81111561213657600080fd5b61214284828501611f9d565b91505092915050565b60006020828403121561215d57600080fd5b600061216b84828501611fc7565b91505092915050565b6000612180838361218c565b60208301905092915050565b6121958161277b565b82525050565b6121a48161277b565b82525050565b60006121b582612621565b6121bf8185612644565b93506121ca83612611565b8060005b838110156121fb5781516121e28882612174565b97506121ed83612637565b9250506001810190506121ce565b5085935050505092915050565b6122118161278d565b82525050565b612220816127d0565b82525050565b60006122318261262c565b61223b8185612655565b935061224b8185602086016127e2565b6122548161291c565b840191505092915050565b600061226c602383612655565b91506122778261292d565b604082019050919050565b600061228f602a83612655565b915061229a8261297c565b604082019050919050565b60006122b2602283612655565b91506122bd826129cb565b604082019050919050565b60006122d5601b83612655565b91506122e082612a1a565b602082019050919050565b60006122f8602183612655565b915061230382612a43565b604082019050919050565b600061231b602083612655565b915061232682612a92565b602082019050919050565b600061233e602983612655565b915061234982612abb565b604082019050919050565b6000612361602583612655565b915061236c82612b0a565b604082019050919050565b6000612384602483612655565b915061238f82612b59565b604082019050919050565b6123a3816127b9565b82525050565b6123b2816127c3565b82525050565b60006020820190506123cd600083018461219b565b92915050565b60006020820190506123e86000830184612208565b92915050565b600060208201905081810360008301526124088184612226565b905092915050565b600060208201905081810360008301526124298161225f565b9050919050565b6000602082019050818103600083015261244981612282565b9050919050565b60006020820190508181036000830152612469816122a5565b9050919050565b60006020820190508181036000830152612489816122c8565b9050919050565b600060208201905081810360008301526124a9816122eb565b9050919050565b600060208201905081810360008301526124c98161230e565b9050919050565b600060208201905081810360008301526124e981612331565b9050919050565b6000602082019050818103600083015261250981612354565b9050919050565b6000602082019050818103600083015261252981612377565b9050919050565b6000602082019050612545600083018461239a565b92915050565b600060a082019050612560600083018861239a565b61256d6020830187612217565b818103604083015261257f81866121aa565b905061258e606083018561219b565b61259b608083018461239a565b9695505050505050565b60006020820190506125ba60008301846123a9565b92915050565b60006125ca6125db565b90506125d68282612815565b919050565b6000604051905090565b600067ffffffffffffffff821115612600576125ff6128ed565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612671826127b9565b915061267c836127b9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126b1576126b061288f565b5b828201905092915050565b60006126c7826127b9565b91506126d2836127b9565b9250826126e2576126e16128be565b5b828204905092915050565b60006126f8826127b9565b9150612703836127b9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561273c5761273b61288f565b5b828202905092915050565b6000612752826127b9565b915061275d836127b9565b9250828210156127705761276f61288f565b5b828203905092915050565b600061278682612799565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006127db826127b9565b9050919050565b60005b838110156128005780820151818401526020810190506127e5565b8381111561280f576000848401525b50505050565b61281e8261291c565b810181811067ffffffffffffffff8211171561283d5761283c6128ed565b5b80604052505050565b6000612851826127b9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156128845761288361288f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612bb18161277b565b8114612bbc57600080fd5b50565b612bc88161278d565b8114612bd357600080fd5b50565b612bdf816127b9565b8114612bea57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e83abf0329b3b6ec1ab738d524c5fadf3dc7c3444ceaaf0a6a3916f29bd9afa964736f6c63430008040033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb14610311578063b515566a1461034e578063c3c8cd8014610377578063dd62ed3e1461038e576100fe565b806370a0823114610267578063715018a6146102a45780638da5cb5b146102bb57806395d89b41146102e6576100fe565b8063273123b7116100c6578063273123b7146101d3578063313ce567146101fc5780635932ead1146102275780636fc3eaec14610250576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103cb565b60405161012591906123ee565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906120ce565b610408565b60405161016291906123d3565b60405180910390f35b34801561017757600080fd5b50610180610426565b60405161018d9190612530565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b8919061207f565b61043a565b6040516101ca91906123d3565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f59190611ff1565b610513565b005b34801561020857600080fd5b50610211610603565b60405161021e91906125a5565b60405180910390f35b34801561023357600080fd5b5061024e6004803603810190610249919061214b565b61060c565b005b34801561025c57600080fd5b506102656106be565b005b34801561027357600080fd5b5061028e60048036038101906102899190611ff1565b610730565b60405161029b9190612530565b60405180910390f35b3480156102b057600080fd5b506102b9610781565b005b3480156102c757600080fd5b506102d06108d4565b6040516102dd91906123b8565b60405180910390f35b3480156102f257600080fd5b506102fb6108fd565b60405161030891906123ee565b60405180910390f35b34801561031d57600080fd5b50610338600480360381019061033391906120ce565b61093a565b60405161034591906123d3565b60405180910390f35b34801561035a57600080fd5b506103756004803603810190610370919061210a565b610958565b005b34801561038357600080fd5b5061038c610aa8565b005b34801561039a57600080fd5b506103b560048036038101906103b09190612043565b610b22565b6040516103c29190612530565b60405180910390f35b60606040518060400160405280600c81526020017f42616279446f6765456c6f6e0000000000000000000000000000000000000000815250905090565b600061041c610415610ba9565b8484610bb1565b6001905092915050565b60006b033b2e3c9fd0803ce8000000905090565b6000610447848484610d7c565b61050884610453610ba9565b61050385604051806060016040528060288152602001612bee60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104b9610ba9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113819092919063ffffffff16565b610bb1565b600190509392505050565b61051b610ba9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059f906124b0565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b610614610ba9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610698906124b0565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ff610ba9565b73ffffffffffffffffffffffffffffffffffffffff161461071f57600080fd5b600047905061072d816113e5565b50565b600061077a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114e0565b9050919050565b610789610ba9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080d906124b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600c81526020017f42616279446f6765456c6f6e0000000000000000000000000000000000000000815250905090565b600061094e610947610ba9565b8484610d7c565b6001905092915050565b610960610ba9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e4906124b0565b60405180910390fd5b60005b8151811015610aa457600160066000848481518110610a38577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a9c90612846565b9150506109f0565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ae9610ba9565b73ffffffffffffffffffffffffffffffffffffffff1614610b0957600080fd5b6000610b1430610730565b9050610b1f8161154e565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1890612510565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8890612450565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d6f9190612530565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de3906124f0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5390612410565b60405180910390fd5b60008111610e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e96906124d0565b60405180910390fd5b6005600a81905550600a600b81905550610eb76108d4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f255750610ef56108d4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561137157600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610fce5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b610fd757600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156110825750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156110d85750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156110f05750600f60179054906101000a900460ff165b156111a05760105481111561110457600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061114f57600080fd5b601e4261115c9190612666565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561124b5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112a15750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156112b7576005600a819055506014600b819055505b60006112c230610730565b9050600f60159054906101000a900460ff1615801561132f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156113475750600f60169054906101000a900460ff165b1561136f576113558161154e565b6000479050600081111561136d5761136c476113e5565b5b505b505b61137c838383611848565b505050565b60008383111582906113c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c091906123ee565b60405180910390fd5b50600083856113d89190612747565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61143560028461185890919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611460573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6114b160028461185890919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156114dc573d6000803e3d6000fd5b5050565b6000600854821115611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e90612430565b60405180910390fd5b60006115316118a2565b9050611546818461185890919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156115ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156115da5781602001602082028036833780820191505090505b5090503081600081518110611618577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ba57600080fd5b505afa1580156116ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f2919061201a565b8160018151811061172c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061179330600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610bb1565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016117f795949392919061254b565b600060405180830381600087803b15801561181157600080fd5b505af1158015611825573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b6118538383836118cd565b505050565b600061189a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a98565b905092915050565b60008060006118af611afb565b915091506118c6818361185890919063ffffffff16565b9250505090565b6000806000806000806118df87611b66565b95509550955095509550955061193d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bce90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a1e81611c76565b611a288483611d33565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a859190612530565b60405180910390a3505050505050505050565b60008083118290611adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad691906123ee565b60405180910390fd5b5060008385611aee91906126bc565b9050809150509392505050565b6000806000600854905060006b033b2e3c9fd0803ce80000009050611b376b033b2e3c9fd0803ce800000060085461185890919063ffffffff16565b821015611b59576008546b033b2e3c9fd0803ce8000000935093505050611b62565b81819350935050505b9091565b6000806000806000806000806000611b838a600a54600b54611d6d565b9250925092506000611b936118a2565b90506000806000611ba68e878787611e03565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611c1083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611381565b905092915050565b6000808284611c279190612666565b905083811015611c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6390612470565b60405180910390fd5b8091505092915050565b6000611c806118a2565b90506000611c978284611e8c90919063ffffffff16565b9050611ceb81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c1890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d4882600854611bce90919063ffffffff16565b600881905550611d6381600954611c1890919063ffffffff16565b6009819055505050565b600080600080611d996064611d8b888a611e8c90919063ffffffff16565b61185890919063ffffffff16565b90506000611dc36064611db5888b611e8c90919063ffffffff16565b61185890919063ffffffff16565b90506000611dec82611dde858c611bce90919063ffffffff16565b611bce90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e1c8589611e8c90919063ffffffff16565b90506000611e338689611e8c90919063ffffffff16565b90506000611e4a8789611e8c90919063ffffffff16565b90506000611e7382611e658587611bce90919063ffffffff16565b611bce90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e9f5760009050611f01565b60008284611ead91906126ed565b9050828482611ebc91906126bc565b14611efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef390612490565b60405180910390fd5b809150505b92915050565b6000611f1a611f15846125e5565b6125c0565b90508083825260208201905082856020860282011115611f3957600080fd5b60005b85811015611f695781611f4f8882611f73565b845260208401935060208301925050600181019050611f3c565b5050509392505050565b600081359050611f8281612ba8565b92915050565b600081519050611f9781612ba8565b92915050565b600082601f830112611fae57600080fd5b8135611fbe848260208601611f07565b91505092915050565b600081359050611fd681612bbf565b92915050565b600081359050611feb81612bd6565b92915050565b60006020828403121561200357600080fd5b600061201184828501611f73565b91505092915050565b60006020828403121561202c57600080fd5b600061203a84828501611f88565b91505092915050565b6000806040838503121561205657600080fd5b600061206485828601611f73565b925050602061207585828601611f73565b9150509250929050565b60008060006060848603121561209457600080fd5b60006120a286828701611f73565b93505060206120b386828701611f73565b92505060406120c486828701611fdc565b9150509250925092565b600080604083850312156120e157600080fd5b60006120ef85828601611f73565b925050602061210085828601611fdc565b9150509250929050565b60006020828403121561211c57600080fd5b600082013567ffffffffffffffff81111561213657600080fd5b61214284828501611f9d565b91505092915050565b60006020828403121561215d57600080fd5b600061216b84828501611fc7565b91505092915050565b6000612180838361218c565b60208301905092915050565b6121958161277b565b82525050565b6121a48161277b565b82525050565b60006121b582612621565b6121bf8185612644565b93506121ca83612611565b8060005b838110156121fb5781516121e28882612174565b97506121ed83612637565b9250506001810190506121ce565b5085935050505092915050565b6122118161278d565b82525050565b612220816127d0565b82525050565b60006122318261262c565b61223b8185612655565b935061224b8185602086016127e2565b6122548161291c565b840191505092915050565b600061226c602383612655565b91506122778261292d565b604082019050919050565b600061228f602a83612655565b915061229a8261297c565b604082019050919050565b60006122b2602283612655565b91506122bd826129cb565b604082019050919050565b60006122d5601b83612655565b91506122e082612a1a565b602082019050919050565b60006122f8602183612655565b915061230382612a43565b604082019050919050565b600061231b602083612655565b915061232682612a92565b602082019050919050565b600061233e602983612655565b915061234982612abb565b604082019050919050565b6000612361602583612655565b915061236c82612b0a565b604082019050919050565b6000612384602483612655565b915061238f82612b59565b604082019050919050565b6123a3816127b9565b82525050565b6123b2816127c3565b82525050565b60006020820190506123cd600083018461219b565b92915050565b60006020820190506123e86000830184612208565b92915050565b600060208201905081810360008301526124088184612226565b905092915050565b600060208201905081810360008301526124298161225f565b9050919050565b6000602082019050818103600083015261244981612282565b9050919050565b60006020820190508181036000830152612469816122a5565b9050919050565b60006020820190508181036000830152612489816122c8565b9050919050565b600060208201905081810360008301526124a9816122eb565b9050919050565b600060208201905081810360008301526124c98161230e565b9050919050565b600060208201905081810360008301526124e981612331565b9050919050565b6000602082019050818103600083015261250981612354565b9050919050565b6000602082019050818103600083015261252981612377565b9050919050565b6000602082019050612545600083018461239a565b92915050565b600060a082019050612560600083018861239a565b61256d6020830187612217565b818103604083015261257f81866121aa565b905061258e606083018561219b565b61259b608083018461239a565b9695505050505050565b60006020820190506125ba60008301846123a9565b92915050565b60006125ca6125db565b90506125d68282612815565b919050565b6000604051905090565b600067ffffffffffffffff821115612600576125ff6128ed565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612671826127b9565b915061267c836127b9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126b1576126b061288f565b5b828201905092915050565b60006126c7826127b9565b91506126d2836127b9565b9250826126e2576126e16128be565b5b828204905092915050565b60006126f8826127b9565b9150612703836127b9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561273c5761273b61288f565b5b828202905092915050565b6000612752826127b9565b915061275d836127b9565b9250828210156127705761276f61288f565b5b828203905092915050565b600061278682612799565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006127db826127b9565b9050919050565b60005b838110156128005780820151818401526020810190506127e5565b8381111561280f576000848401525b50505050565b61281e8261291c565b810181811067ffffffffffffffff8211171561283d5761283c6128ed565b5b80604052505050565b6000612851826127b9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156128845761288361288f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612bb18161277b565b8114612bbc57600080fd5b50565b612bc88161278d565b8114612bd357600080fd5b50565b612bdf816127b9565b8114612bea57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e83abf0329b3b6ec1ab738d524c5fadf3dc7c3444ceaaf0a6a3916f29bd9afa964736f6c63430008040033

Deployed Bytecode Sourcemap

4550:9556:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6461:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7313:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6738:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7482:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10833:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6647:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7803:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12210:194;;;;;;;;;;;;;:::i;:::-;;6841:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3629:148;;;;;;;;;;;;;:::i;:::-;;3415:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6552:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6987:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10657:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12003:195;;;;;;;;;;;;;:::i;:::-;;7162:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6461:83;6498:13;6531:5;;;;;;;;;;;;;;;;;6524:12;;6461:83;:::o;7313:161::-;7388:4;7405:39;7414:12;:10;:12::i;:::-;7428:7;7437:6;7405:8;:39::i;:::-;7462:4;7455:11;;7313:161;;;;:::o;6738:95::-;6791:7;5055:27;6811:14;;6738:95;:::o;7482:313::-;7580:4;7597:36;7607:6;7615:9;7626:6;7597:9;:36::i;:::-;7644:121;7653:6;7661:12;:10;:12::i;:::-;7675:89;7713:6;7675:89;;;;;;;;;;;;;;;;;:11;:19;7687:6;7675:19;;;;;;;;;;;;;;;:33;7695:12;:10;:12::i;:::-;7675:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7644:8;:121::i;:::-;7783:4;7776:11;;7482:313;;;;;:::o;10833:88::-;3552:12;:10;:12::i;:::-;3542:22;;:6;;;;;;;;;;:22;;;3534:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10908:5:::1;10893:4;:12;10898:6;10893:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;10833:88:::0;:::o;6647:83::-;6688:5;5489:1;6706:16;;6647:83;:::o;7803:103::-;3552:12;:10;:12::i;:::-;3542:22;;:6;;;;;;;;;;:22;;;3534:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7893:5:::1;7875:15;;:23;;;;;;;;;;;;;;;;;;7803:103:::0;:::o;12210:194::-;12276:15;;;;;;;;;;;12260:31;;:12;:10;:12::i;:::-;:31;;;12252:40;;;;;;12303:26;12332:21;12303:50;;12364:32;12377:18;12364:12;:32::i;:::-;12210:194;:::o;6841:138::-;6907:7;6934:37;6954:7;:16;6962:7;6954:16;;;;;;;;;;;;;;;;6934:19;:37::i;:::-;6927:44;;6841:138;;;:::o;3629:148::-;3552:12;:10;:12::i;:::-;3542:22;;:6;;;;;;;;;;:22;;;3534:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3736:1:::1;3699:40;;3720:6;::::0;::::1;;;;;;;;3699:40;;;;;;;;;;;;3767:1;3750:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3629:148::o:0;3415:79::-;3453:7;3480:6;;;;;;;;;;;3473:13;;3415:79;:::o;6552:87::-;6591:13;6624:7;;;;;;;;;;;;;;;;;6617:14;;6552:87;:::o;6987:167::-;7065:4;7082:42;7092:12;:10;:12::i;:::-;7106:9;7117:6;7082:9;:42::i;:::-;7142:4;7135:11;;6987:167;;;;:::o;10657:164::-;3552:12;:10;:12::i;:::-;3542:22;;:6;;;;;;;;;;:22;;;3534:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10731:6:::1;10726:88;10747:5;:12;10743:1;:16;10726:88;;;10798:4;10781;:14;10786:5;10792:1;10786:8;;;;;;;;;;;;;;;;;;;;;;10781:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10761:3;;;;;:::i;:::-;;;;10726:88;;;;10657:164:::0;:::o;12003:195::-;12069:15;;;;;;;;;;;12053:31;;:12;:10;:12::i;:::-;:31;;;12045:40;;;;;;12096:23;12122:24;12140:4;12122:9;:24::i;:::-;12096:50;;12157:33;12174:15;12157:16;:33::i;:::-;12003:195;:::o;7162:143::-;7243:7;7270:11;:18;7282:5;7270:18;;;;;;;;;;;;;;;:27;7289:7;7270:27;;;;;;;;;;;;;;;;7263:34;;7162:143;;;;:::o;1133:98::-;1186:7;1213:10;1206:17;;1133:98;:::o;8176:335::-;8286:1;8269:19;;:5;:19;;;;8261:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8367:1;8348:21;;:7;:21;;;;8340:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8449:6;8419:11;:18;8431:5;8419:18;;;;;;;;;;;;;;;:27;8438:7;8419:27;;;;;;;;;;;;;;;:36;;;;8487:7;8471:32;;8480:5;8471:32;;;8496:6;8471:32;;;;;;:::i;:::-;;;;;;;;8176:335;;;:::o;8519:1463::-;8623:1;8607:18;;:4;:18;;;;8599:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8700:1;8686:16;;:2;:16;;;;8678:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8770:1;8761:6;:10;8753:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8840:1;8828:9;:13;;;;8864:2;8852:9;:14;;;;8889:7;:5;:7::i;:::-;8881:15;;:4;:15;;;;:32;;;;;8906:7;:5;:7::i;:::-;8900:13;;:2;:13;;;;8881:32;8877:1053;;;8939:4;:10;8944:4;8939:10;;;;;;;;;;;;;;;;;;;;;;;;;8938:11;:24;;;;;8954:4;:8;8959:2;8954:8;;;;;;;;;;;;;;;;;;;;;;;;;8953:9;8938:24;8930:33;;;;;;8990:13;;;;;;;;;;;8982:21;;:4;:21;;;:55;;;;;9021:15;;;;;;;;;;;9007:30;;:2;:30;;;;8982:55;:83;;;;;9043:18;:22;9062:2;9043:22;;;;;;;;;;;;;;;;;;;;;;;;;9041:24;8982:83;:102;;;;;9069:15;;;;;;;;;;;8982:102;8978:325;;;9152:12;;9142:6;:22;;9134:31;;;;;;9207:15;9192:8;:12;9201:2;9192:12;;;;;;;;;;;;;;;;:30;9184:39;;;;;;9276:10;9257:15;:30;;;;:::i;:::-;9242:8;:12;9251:2;9242:12;;;;;;;;;;;;;;;:45;;;;8978:325;9355:13;;;;;;;;;;;9349:19;;:2;:19;;;:55;;;;;9388:15;;;;;;;;;;;9372:32;;:4;:32;;;;9349:55;:85;;;;;9410:18;:24;9429:4;9410:24;;;;;;;;;;;;;;;;;;;;;;;;;9408:26;9349:85;9345:172;;;9467:1;9455:9;:13;;;;9499:2;9487:9;:14;;;;9345:172;9531:28;9562:24;9580:4;9562:9;:24::i;:::-;9531:55;;9606:6;;;;;;;;;;;9605:7;:32;;;;;9624:13;;;;;;;;;;;9616:21;;:4;:21;;;;9605:32;:47;;;;;9641:11;;;;;;;;;;;9605:47;9601:318;;;9673:38;9690:20;9673:16;:38::i;:::-;9730:26;9759:21;9730:50;;9823:1;9802:18;:22;9799:105;;;9849:35;9862:21;9849:12;:35::i;:::-;9799:105;9601:318;;8877:1053;;9944:30;9959:4;9964:2;9967:6;9944:14;:30::i;:::-;8519:1463;;;:::o;2270:190::-;2356:7;2389:1;2384;:6;;2392:12;2376:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2416:9;2432:1;2428;:5;;;;:::i;:::-;2416:17;;2451:1;2444:8;;;2270:190;;;;;:::o;10489:154::-;10546:15;;;;;;;;;;;:24;;:39;10571:13;10582:1;10571:6;:10;;:13;;;;:::i;:::-;10546:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10596:15;;;;;;;;;;;:24;;:39;10621:13;10632:1;10621:6;:10;;:13;;;;:::i;:::-;10596:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10489:154;:::o;7914:254::-;7981:7;8020;;8009;:18;;8001:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8085:19;8108:10;:8;:10::i;:::-;8085:33;;8136:24;8148:11;8136:7;:11;;:24;;;;:::i;:::-;8129:31;;;7914:254;;;:::o;9990:483::-;5871:4;5862:6;;:13;;;;;;;;;;;;;;;;;;10068:21:::1;10106:1;10092:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10068:40;;10137:4;10119;10124:1;10119:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10163:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10153:4;10158:1;10153:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;10196:62;10213:4;10228:15;;;;;;;;;;;10246:11;10196:8;:62::i;:::-;10269:15;;;;;;;;;;;:66;;;10350:11;10376:1;10392:4;10419;10439:15;10269:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5886:1;5907:5:::0;5898:6;;:14;;;;;;;;;;;;;;;;;;9990:483;:::o;10937:146::-;11031:44;11049:6;11057:9;11068:6;11031:17;:44::i;:::-;10937:146;;;:::o;2722:132::-;2780:7;2807:39;2811:1;2814;2807:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2800:46;;2722:132;;;;:::o;13670:163::-;13711:7;13732:15;13749;13768:19;:17;:19::i;:::-;13731:56;;;;13805:20;13817:7;13805;:11;;:20;;;;:::i;:::-;13798:27;;;;13670:163;:::o;11091:488::-;11190:15;11207:23;11232:12;11246:23;11271:12;11285:13;11302:19;11313:7;11302:10;:19::i;:::-;11189:132;;;;;;;;;;;;11350:28;11370:7;11350;:15;11358:6;11350:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11332:7;:15;11340:6;11332:15;;;;;;;;;;;;;;;:46;;;;11410:39;11433:15;11410:7;:18;11418:9;11410:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11389:7;:18;11397:9;11389:18;;;;;;;;;;;;;;;:60;;;;11461:16;11471:5;11461:9;:16::i;:::-;11488:23;11500:4;11506;11488:11;:23::i;:::-;11544:9;11527:44;;11536:6;11527:44;;;11555:15;11527:44;;;;;;:::i;:::-;;;;;;;;11091:488;;;;;;;;;:::o;2862:189::-;2948:7;2980:1;2976;:5;2983:12;2968:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3007:9;3023:1;3019;:5;;;;:::i;:::-;3007:17;;3042:1;3035:8;;;2862:189;;;;;:::o;13841:262::-;13891:7;13900;13920:15;13938:7;;13920:25;;13956:15;5055:27;13956:25;;14012:20;5055:27;14012:7;;:11;;:20;;;;:::i;:::-;14002:7;:30;13998:61;;;14042:7;;5055:27;14034:25;;;;;;;;13998:61;14078:7;14087;14070:25;;;;;;13841:262;;;:::o;12418:471::-;12477:7;12486;12495;12504;12513;12522;12543:23;12568:12;12582:13;12599:42;12611:7;12620:9;;12631;;12599:11;:42::i;:::-;12542:99;;;;;;12652:19;12675:10;:8;:10::i;:::-;12652:33;;12697:15;12714:23;12739:12;12755:46;12767:7;12776:4;12782:5;12789:11;12755;:46::i;:::-;12696:105;;;;;;12820:7;12829:15;12846:4;12852:15;12869:4;12875:5;12812:69;;;;;;;;;;;;;;;;;;;12418:471;;;;;;;:::o;2126:136::-;2184:7;2211:43;2215:1;2218;2211:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2204:50;;2126:136;;;;:::o;1939:179::-;1997:7;2017:9;2033:1;2029;:5;;;;:::i;:::-;2017:17;;2058:1;2053;:6;;2045:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2109:1;2102:8;;;1939:179;;;;:::o;11587:212::-;11640:19;11663:10;:8;:10::i;:::-;11640:33;;11684:13;11700:22;11710:11;11700:5;:9;;:22;;;;:::i;:::-;11684:38;;11758:33;11785:5;11758:7;:22;11774:4;11758:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11733:7;:22;11749:4;11733:22;;;;;;;;;;;;;;;:58;;;;11587:212;;;:::o;11807:147::-;11885:17;11897:4;11885:7;;:11;;:17;;;;:::i;:::-;11875:7;:27;;;;11926:20;11941:4;11926:10;;:14;;:20;;;;:::i;:::-;11913:10;:33;;;;11807:147;;:::o;12897:351::-;12990:7;12999;13008;13028:12;13043:28;13067:3;13043:19;13055:6;13043:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;13028:43;;13082:13;13098:29;13123:3;13098:20;13110:7;13098;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;13082:45;;13138:23;13164:28;13186:5;13164:17;13176:4;13164:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13138:54;;13211:15;13228:4;13234:5;13203:37;;;;;;;;;12897:351;;;;;;;:::o;13256:409::-;13366:7;13375;13384;13404:15;13422:24;13434:11;13422:7;:11;;:24;;;;:::i;:::-;13404:42;;13457:12;13472:21;13481:11;13472:4;:8;;:21;;;;:::i;:::-;13457:36;;13504:13;13520:22;13530:11;13520:5;:9;;:22;;;;:::i;:::-;13504:38;;13553:23;13579:28;13601:5;13579:17;13591:4;13579:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13553:54;;13626:7;13635:15;13652:4;13618:39;;;;;;;;;;13256:409;;;;;;;;:::o;2468:246::-;2526:7;2555:1;2550;:6;2546:47;;;2580:1;2573:8;;;;2546:47;2603:9;2619:1;2615;:5;;;;:::i;:::-;2603:17;;2648:1;2643;2639;:5;;;;:::i;:::-;:10;2631:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2705:1;2698:8;;;2468:246;;;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:139::-;731:5;769:6;756:20;747:29;;785:33;812:5;785:33;:::i;:::-;737:87;;;;:::o;830:143::-;887:5;918:6;912:13;903:22;;934:33;961:5;934:33;:::i;:::-;893:80;;;;:::o;996:303::-;1067:5;1116:3;1109:4;1101:6;1097:17;1093:27;1083:2;;1134:1;1131;1124:12;1083:2;1174:6;1161:20;1199:94;1289:3;1281:6;1274:4;1266:6;1262:17;1199:94;:::i;:::-;1190:103;;1073:226;;;;;:::o;1305:133::-;1348:5;1386:6;1373:20;1364:29;;1402:30;1426:5;1402:30;:::i;:::-;1354:84;;;;:::o;1444:139::-;1490:5;1528:6;1515:20;1506:29;;1544:33;1571:5;1544:33;:::i;:::-;1496:87;;;;:::o;1589:262::-;1648:6;1697:2;1685:9;1676:7;1672:23;1668:32;1665:2;;;1713:1;1710;1703:12;1665:2;1756:1;1781:53;1826:7;1817:6;1806:9;1802:22;1781:53;:::i;:::-;1771:63;;1727:117;1655:196;;;;:::o;1857:284::-;1927:6;1976:2;1964:9;1955:7;1951:23;1947:32;1944:2;;;1992:1;1989;1982:12;1944:2;2035:1;2060:64;2116:7;2107:6;2096:9;2092:22;2060:64;:::i;:::-;2050:74;;2006:128;1934:207;;;;:::o;2147:407::-;2215:6;2223;2272:2;2260:9;2251:7;2247:23;2243:32;2240:2;;;2288:1;2285;2278:12;2240:2;2331:1;2356:53;2401:7;2392:6;2381:9;2377:22;2356:53;:::i;:::-;2346:63;;2302:117;2458:2;2484:53;2529:7;2520:6;2509:9;2505:22;2484:53;:::i;:::-;2474:63;;2429:118;2230:324;;;;;:::o;2560:552::-;2637:6;2645;2653;2702:2;2690:9;2681:7;2677:23;2673:32;2670:2;;;2718:1;2715;2708:12;2670:2;2761:1;2786:53;2831:7;2822:6;2811:9;2807:22;2786:53;:::i;:::-;2776:63;;2732:117;2888:2;2914:53;2959:7;2950:6;2939:9;2935:22;2914:53;:::i;:::-;2904:63;;2859:118;3016:2;3042:53;3087:7;3078:6;3067:9;3063:22;3042:53;:::i;:::-;3032:63;;2987:118;2660:452;;;;;:::o;3118:407::-;3186:6;3194;3243:2;3231:9;3222:7;3218:23;3214:32;3211:2;;;3259:1;3256;3249:12;3211:2;3302:1;3327:53;3372:7;3363:6;3352:9;3348:22;3327:53;:::i;:::-;3317:63;;3273:117;3429:2;3455:53;3500:7;3491:6;3480:9;3476:22;3455:53;:::i;:::-;3445:63;;3400:118;3201:324;;;;;:::o;3531:405::-;3615:6;3664:2;3652:9;3643:7;3639:23;3635:32;3632:2;;;3680:1;3677;3670:12;3632:2;3751:1;3740:9;3736:17;3723:31;3781:18;3773:6;3770:30;3767:2;;;3813:1;3810;3803:12;3767:2;3841:78;3911:7;3902:6;3891:9;3887:22;3841:78;:::i;:::-;3831:88;;3694:235;3622:314;;;;:::o;3942:256::-;3998:6;4047:2;4035:9;4026:7;4022:23;4018:32;4015:2;;;4063:1;4060;4053:12;4015:2;4106:1;4131:50;4173:7;4164:6;4153:9;4149:22;4131:50;:::i;:::-;4121:60;;4077:114;4005:193;;;;:::o;4204:179::-;4273:10;4294:46;4336:3;4328:6;4294:46;:::i;:::-;4372:4;4367:3;4363:14;4349:28;;4284:99;;;;:::o;4389:108::-;4466:24;4484:5;4466:24;:::i;:::-;4461:3;4454:37;4444:53;;:::o;4503:118::-;4590:24;4608:5;4590:24;:::i;:::-;4585:3;4578:37;4568:53;;:::o;4657:732::-;4776:3;4805:54;4853:5;4805:54;:::i;:::-;4875:86;4954:6;4949:3;4875:86;:::i;:::-;4868:93;;4985:56;5035:5;4985:56;:::i;:::-;5064:7;5095:1;5080:284;5105:6;5102:1;5099:13;5080:284;;;5181:6;5175:13;5208:63;5267:3;5252:13;5208:63;:::i;:::-;5201:70;;5294:60;5347:6;5294:60;:::i;:::-;5284:70;;5140:224;5127:1;5124;5120:9;5115:14;;5080:284;;;5084:14;5380:3;5373:10;;4781:608;;;;;;;:::o;5395:109::-;5476:21;5491:5;5476:21;:::i;:::-;5471:3;5464:34;5454:50;;:::o;5510:147::-;5605:45;5644:5;5605:45;:::i;:::-;5600:3;5593:58;5583:74;;:::o;5663:364::-;5751:3;5779:39;5812:5;5779:39;:::i;:::-;5834:71;5898:6;5893:3;5834:71;:::i;:::-;5827:78;;5914:52;5959:6;5954:3;5947:4;5940:5;5936:16;5914:52;:::i;:::-;5991:29;6013:6;5991:29;:::i;:::-;5986:3;5982:39;5975:46;;5755:272;;;;;:::o;6033:366::-;6175:3;6196:67;6260:2;6255:3;6196:67;:::i;:::-;6189:74;;6272:93;6361:3;6272:93;:::i;:::-;6390:2;6385:3;6381:12;6374:19;;6179:220;;;:::o;6405:366::-;6547:3;6568:67;6632:2;6627:3;6568:67;:::i;:::-;6561:74;;6644:93;6733:3;6644:93;:::i;:::-;6762:2;6757:3;6753:12;6746:19;;6551:220;;;:::o;6777:366::-;6919:3;6940:67;7004:2;6999:3;6940:67;:::i;:::-;6933:74;;7016:93;7105:3;7016:93;:::i;:::-;7134:2;7129:3;7125:12;7118:19;;6923:220;;;:::o;7149:366::-;7291:3;7312:67;7376:2;7371:3;7312:67;:::i;:::-;7305:74;;7388:93;7477:3;7388:93;:::i;:::-;7506:2;7501:3;7497:12;7490:19;;7295:220;;;:::o;7521:366::-;7663:3;7684:67;7748:2;7743:3;7684:67;:::i;:::-;7677:74;;7760:93;7849:3;7760:93;:::i;:::-;7878:2;7873:3;7869:12;7862:19;;7667:220;;;:::o;7893:366::-;8035:3;8056:67;8120:2;8115:3;8056:67;:::i;:::-;8049:74;;8132:93;8221:3;8132:93;:::i;:::-;8250:2;8245:3;8241:12;8234:19;;8039:220;;;:::o;8265:366::-;8407:3;8428:67;8492:2;8487:3;8428:67;:::i;:::-;8421:74;;8504:93;8593:3;8504:93;:::i;:::-;8622:2;8617:3;8613:12;8606:19;;8411:220;;;:::o;8637:366::-;8779:3;8800:67;8864:2;8859:3;8800:67;:::i;:::-;8793:74;;8876:93;8965:3;8876:93;:::i;:::-;8994:2;8989:3;8985:12;8978:19;;8783:220;;;:::o;9009:366::-;9151:3;9172:67;9236:2;9231:3;9172:67;:::i;:::-;9165:74;;9248:93;9337:3;9248:93;:::i;:::-;9366:2;9361:3;9357:12;9350:19;;9155:220;;;:::o;9381:118::-;9468:24;9486:5;9468:24;:::i;:::-;9463:3;9456:37;9446:53;;:::o;9505:112::-;9588:22;9604:5;9588:22;:::i;:::-;9583:3;9576:35;9566:51;;:::o;9623:222::-;9716:4;9754:2;9743:9;9739:18;9731:26;;9767:71;9835:1;9824:9;9820:17;9811:6;9767:71;:::i;:::-;9721:124;;;;:::o;9851:210::-;9938:4;9976:2;9965:9;9961:18;9953:26;;9989:65;10051:1;10040:9;10036:17;10027:6;9989:65;:::i;:::-;9943:118;;;;:::o;10067:313::-;10180:4;10218:2;10207:9;10203:18;10195:26;;10267:9;10261:4;10257:20;10253:1;10242:9;10238:17;10231:47;10295:78;10368:4;10359:6;10295:78;:::i;:::-;10287:86;;10185:195;;;;:::o;10386:419::-;10552:4;10590:2;10579:9;10575:18;10567:26;;10639:9;10633:4;10629:20;10625:1;10614:9;10610:17;10603:47;10667:131;10793:4;10667:131;:::i;:::-;10659:139;;10557:248;;;:::o;10811:419::-;10977:4;11015:2;11004:9;11000:18;10992:26;;11064:9;11058:4;11054:20;11050:1;11039:9;11035:17;11028:47;11092:131;11218:4;11092:131;:::i;:::-;11084:139;;10982:248;;;:::o;11236:419::-;11402:4;11440:2;11429:9;11425:18;11417:26;;11489:9;11483:4;11479:20;11475:1;11464:9;11460:17;11453:47;11517:131;11643:4;11517:131;:::i;:::-;11509:139;;11407:248;;;:::o;11661:419::-;11827:4;11865:2;11854:9;11850:18;11842:26;;11914:9;11908:4;11904:20;11900:1;11889:9;11885:17;11878:47;11942:131;12068:4;11942:131;:::i;:::-;11934:139;;11832:248;;;:::o;12086:419::-;12252:4;12290:2;12279:9;12275:18;12267:26;;12339:9;12333:4;12329:20;12325:1;12314:9;12310:17;12303:47;12367:131;12493:4;12367:131;:::i;:::-;12359:139;;12257:248;;;:::o;12511:419::-;12677:4;12715:2;12704:9;12700:18;12692:26;;12764:9;12758:4;12754:20;12750:1;12739:9;12735:17;12728:47;12792:131;12918:4;12792:131;:::i;:::-;12784:139;;12682:248;;;:::o;12936:419::-;13102:4;13140:2;13129:9;13125:18;13117:26;;13189:9;13183:4;13179:20;13175:1;13164:9;13160:17;13153:47;13217:131;13343:4;13217:131;:::i;:::-;13209:139;;13107:248;;;:::o;13361:419::-;13527:4;13565:2;13554:9;13550:18;13542:26;;13614:9;13608:4;13604:20;13600:1;13589:9;13585:17;13578:47;13642:131;13768:4;13642:131;:::i;:::-;13634:139;;13532:248;;;:::o;13786:419::-;13952:4;13990:2;13979:9;13975:18;13967:26;;14039:9;14033:4;14029:20;14025:1;14014:9;14010:17;14003:47;14067:131;14193:4;14067:131;:::i;:::-;14059:139;;13957:248;;;:::o;14211:222::-;14304:4;14342:2;14331:9;14327:18;14319:26;;14355:71;14423:1;14412:9;14408:17;14399:6;14355:71;:::i;:::-;14309:124;;;;:::o;14439:831::-;14702:4;14740:3;14729:9;14725:19;14717:27;;14754:71;14822:1;14811:9;14807:17;14798:6;14754:71;:::i;:::-;14835:80;14911:2;14900:9;14896:18;14887:6;14835:80;:::i;:::-;14962:9;14956:4;14952:20;14947:2;14936:9;14932:18;14925:48;14990:108;15093:4;15084:6;14990:108;:::i;:::-;14982:116;;15108:72;15176:2;15165:9;15161:18;15152:6;15108:72;:::i;:::-;15190:73;15258:3;15247:9;15243:19;15234:6;15190:73;:::i;:::-;14707:563;;;;;;;;:::o;15276:214::-;15365:4;15403:2;15392:9;15388:18;15380:26;;15416:67;15480:1;15469:9;15465:17;15456:6;15416:67;:::i;:::-;15370:120;;;;:::o;15496:129::-;15530:6;15557:20;;:::i;:::-;15547:30;;15586:33;15614:4;15606:6;15586:33;:::i;:::-;15537:88;;;:::o;15631:75::-;15664:6;15697:2;15691:9;15681:19;;15671:35;:::o;15712:311::-;15789:4;15879:18;15871:6;15868:30;15865:2;;;15901:18;;:::i;:::-;15865:2;15951:4;15943:6;15939:17;15931:25;;16011:4;16005;16001:15;15993:23;;15794:229;;;:::o;16029:132::-;16096:4;16119:3;16111:11;;16149:4;16144:3;16140:14;16132:22;;16101:60;;;:::o;16167:114::-;16234:6;16268:5;16262:12;16252:22;;16241:40;;;:::o;16287:99::-;16339:6;16373:5;16367:12;16357:22;;16346:40;;;:::o;16392:113::-;16462:4;16494;16489:3;16485:14;16477:22;;16467:38;;;:::o;16511:184::-;16610:11;16644:6;16639:3;16632:19;16684:4;16679:3;16675:14;16660:29;;16622:73;;;;:::o;16701:169::-;16785:11;16819:6;16814:3;16807:19;16859:4;16854:3;16850:14;16835:29;;16797:73;;;;:::o;16876:305::-;16916:3;16935:20;16953:1;16935:20;:::i;:::-;16930:25;;16969:20;16987:1;16969:20;:::i;:::-;16964:25;;17123:1;17055:66;17051:74;17048:1;17045:81;17042:2;;;17129:18;;:::i;:::-;17042:2;17173:1;17170;17166:9;17159:16;;16920:261;;;;:::o;17187:185::-;17227:1;17244:20;17262:1;17244:20;:::i;:::-;17239:25;;17278:20;17296:1;17278:20;:::i;:::-;17273:25;;17317:1;17307:2;;17322:18;;:::i;:::-;17307:2;17364:1;17361;17357:9;17352:14;;17229:143;;;;:::o;17378:348::-;17418:7;17441:20;17459:1;17441:20;:::i;:::-;17436:25;;17475:20;17493:1;17475:20;:::i;:::-;17470:25;;17663:1;17595:66;17591:74;17588:1;17585:81;17580:1;17573:9;17566:17;17562:105;17559:2;;;17670:18;;:::i;:::-;17559:2;17718:1;17715;17711:9;17700:20;;17426:300;;;;:::o;17732:191::-;17772:4;17792:20;17810:1;17792:20;:::i;:::-;17787:25;;17826:20;17844:1;17826:20;:::i;:::-;17821:25;;17865:1;17862;17859:8;17856:2;;;17870:18;;:::i;:::-;17856:2;17915:1;17912;17908:9;17900:17;;17777:146;;;;:::o;17929:96::-;17966:7;17995:24;18013:5;17995:24;:::i;:::-;17984:35;;17974:51;;;:::o;18031:90::-;18065:7;18108:5;18101:13;18094:21;18083:32;;18073:48;;;:::o;18127:126::-;18164:7;18204:42;18197:5;18193:54;18182:65;;18172:81;;;:::o;18259:77::-;18296:7;18325:5;18314:16;;18304:32;;;:::o;18342:86::-;18377:7;18417:4;18410:5;18406:16;18395:27;;18385:43;;;:::o;18434:121::-;18492:9;18525:24;18543:5;18525:24;:::i;:::-;18512:37;;18502:53;;;:::o;18561:307::-;18629:1;18639:113;18653:6;18650:1;18647:13;18639:113;;;18738:1;18733:3;18729:11;18723:18;18719:1;18714:3;18710:11;18703:39;18675:2;18672:1;18668:10;18663:15;;18639:113;;;18770:6;18767:1;18764:13;18761:2;;;18850:1;18841:6;18836:3;18832:16;18825:27;18761:2;18610:258;;;;:::o;18874:281::-;18957:27;18979:4;18957:27;:::i;:::-;18949:6;18945:40;19087:6;19075:10;19072:22;19051:18;19039:10;19036:34;19033:62;19030:2;;;19098:18;;:::i;:::-;19030:2;19138:10;19134:2;19127:22;18917:238;;;:::o;19161:233::-;19200:3;19223:24;19241:5;19223:24;:::i;:::-;19214:33;;19269:66;19262:5;19259:77;19256:2;;;19339:18;;:::i;:::-;19256:2;19386:1;19379:5;19375:13;19368:20;;19204:190;;;:::o;19400:180::-;19448:77;19445:1;19438:88;19545:4;19542:1;19535:15;19569:4;19566:1;19559:15;19586:180;19634:77;19631:1;19624:88;19731:4;19728:1;19721:15;19755:4;19752:1;19745:15;19772:180;19820:77;19817:1;19810:88;19917:4;19914:1;19907:15;19941:4;19938:1;19931:15;19958:102;19999:6;20050:2;20046:7;20041:2;20034:5;20030:14;20026:28;20016:38;;20006:54;;;:::o;20066:222::-;20206:34;20202:1;20194:6;20190:14;20183:58;20275:5;20270:2;20262:6;20258:15;20251:30;20172:116;:::o;20294:229::-;20434:34;20430:1;20422:6;20418:14;20411:58;20503:12;20498:2;20490:6;20486:15;20479:37;20400:123;:::o;20529:221::-;20669:34;20665:1;20657:6;20653:14;20646:58;20738:4;20733:2;20725:6;20721:15;20714:29;20635:115;:::o;20756:177::-;20896:29;20892:1;20884:6;20880:14;20873:53;20862:71;:::o;20939:220::-;21079:34;21075:1;21067:6;21063:14;21056:58;21148:3;21143:2;21135:6;21131:15;21124:28;21045:114;:::o;21165:182::-;21305:34;21301:1;21293:6;21289:14;21282:58;21271:76;:::o;21353:228::-;21493:34;21489:1;21481:6;21477:14;21470:58;21562:11;21557:2;21549:6;21545:15;21538:36;21459:122;:::o;21587:224::-;21727:34;21723:1;21715:6;21711:14;21704:58;21796:7;21791:2;21783:6;21779:15;21772:32;21693:118;:::o;21817:223::-;21957:34;21953:1;21945:6;21941:14;21934:58;22026:6;22021:2;22013:6;22009:15;22002:31;21923:117;:::o;22046:122::-;22119:24;22137:5;22119:24;:::i;:::-;22112:5;22109:35;22099:2;;22158:1;22155;22148:12;22099:2;22089:79;:::o;22174:116::-;22244:21;22259:5;22244:21;:::i;:::-;22237:5;22234:32;22224:2;;22280:1;22277;22270:12;22224:2;22214:76;:::o;22296:122::-;22369:24;22387:5;22369:24;:::i;:::-;22362:5;22359:35;22349:2;;22408:1;22405;22398:12;22349:2;22339:79;:::o

Swarm Source

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