ETH Price: $3,222.63 (+0.88%)

Token

CyOp | Protocol (CyOp)
 

Overview

Max Total Supply

100,000,000,000,000 CyOp

Holders

1,953 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,857,142,857,142 CyOp

Value
$0.00
0x292bb29911b0c0383ff680ab4f1ea658e8012daa
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:
CyOpProtocol

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-19
*/

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

}

abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

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

interface 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 CyOpProtocol 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) public isExcludedFromFee;
    mapping (address => bool) private bots;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100e12 * 10**9; //100 trillion
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private zeroFee; //0%
    uint256 public treasury1Fee = 4; //4%
    uint256 public treasury2Fee = 6; //6%
    uint256 public protocolFee = 10; //gowth hacking(4%) + protocol(6%)
    uint256 private prevProtocolFee; //gowth hacking(4%) + protocol(6%)
    address payable public treasury1; //4%
    address payable public treasury2; //6%
    
    string private constant _name = "CyOp | Protocol";
    string private constant _symbol = "CyOp";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;

    bool private inSwap;
    bool public sellingEnabled;
    bool public swapEnabled;
    
    uint256 public contractStartTime;
    uint256 public maxTxAmount = 3e12 * 10**9; //3%-3 trillion
    
    event MaxTxAmountUpdated(uint maxTxAmount);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (address _treasury1, address _treasury2) {
    	uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        treasury1 = payable(_treasury1);
        treasury2 = payable(_treasury2);
        contractStartTime = block.timestamp;
        _rOwned[_msgSender()] = _rTotal;
        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[treasury1] = true;
        isExcludedFromFee[treasury2] = true;
        swapEnabled = true;
        emit Transfer(address(0x0000000000000000000000000000000000000000), _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 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");
        require (owner == Ownable.owner() ||  block.timestamp > contractStartTime + 20 minutes, "Selling is disabled.");
        _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");
        
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            require(amount <= maxTxAmount);

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && contractTokenBalance > 0 && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToTreasury(contractETHBalance);
                }
            }
        }

        bool takeFee = true;

        //if any account belongs to isExcludedFromFee account then remove the fee
        if(isExcludedFromFee[from] || isExcludedFromFee[to]){
            takeFee = false;
        }

        if(!takeFee)
            removeAllFee();
		
        _tokenTransfer(from,to,amount);

        if(!takeFee)
            restoreAllFee();
    }

    function removeAllFee() private {
        if(protocolFee == 0) return;
        
        prevProtocolFee = protocolFee;
        protocolFee = 0;
    }

    function restoreAllFee() private {
        protocolFee = prevProtocolFee;
    }

    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 sendETHToTreasury(uint256 amount) private {
        treasury1.transfer((amount.mul(treasury1Fee).mul(100).div(protocolFee)).div(100));
        treasury2.transfer((amount.mul(treasury2Fee).mul(100).div(protocolFee)).div(100));
    }

    function setFee(uint256 _treasury1Fee, uint256 _treasury2Fee) external onlyOwner {
        treasury1Fee = _treasury1Fee;
        treasury2Fee = _treasury2Fee;
        protocolFee = treasury1Fee + treasury2Fee;
    }

    function updateTreasury(address _treasury1, address _treasury2) external onlyOwner {
        treasury1 = payable(_treasury1);
        treasury2 = payable(_treasury2);
    }

    function excludeFromFee(address account) public onlyOwner {
        isExcludedFromFee[account] = true;
    }
    
    function includeInFee(address account) public onlyOwner {
        isExcludedFromFee[account] = false;
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    //in percentages
    function setMaxTxLimit(uint256 _maxPercent) external onlyOwner {
        maxTxAmount = (_tTotal * _maxPercent) / 100;
    }
    
    function delBot(address notbot) external onlyOwner {
        bots[notbot] = false;
    }

    function enableSwap(bool enabled) external onlyOwner {	
	    swapEnabled = enabled;	
    }

    function setPairAddress(address _uniswapV2Pair) external onlyOwner {	
	    uniswapV2Pair = _uniswapV2Pair;	
    }
        
    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 tProtocol) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeProtocol(tProtocol);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeProtocol(uint256 tProtocol) private {
        uint256 currentRate =  _getRate();
        uint256 rProtocol = tProtocol.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rProtocol);
    }

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

    receive() external payable {}
    
    function manualswapTreasury() external {
        require(_msgSender() == treasury1 || _msgSender() == treasury2);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
        manualsend();
    }
    
    function manualsend() internal {
        uint256 contractETHBalance = address(this).balance;
        sendETHToTreasury(contractETHBalance);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tProtocol) = _getTValues(tAmount, zeroFee, protocolFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tProtocol, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tProtocol);
    }

    function _getTValues(uint256 _tAmount, uint256 taxFee, uint256 _protocolFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = _tAmount.mul(taxFee).div(100);
        uint256 tProtocol = _tAmount.mul(_protocolFee).div(100);
        uint256 tTransferAmount = _tAmount.sub(tFee).sub(tProtocol);
        return (tTransferAmount, tFee, tProtocol);
    }

    function _getRValues(uint256 _tAmount, uint256 _tFee, uint256 _tProtocol, uint256 _currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = _tAmount.mul(_currentRate);
        uint256 rFee = _tFee.mul(_currentRate);
        uint256 rProtocol = _tProtocol.mul(_currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rProtocol);
        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":[{"internalType":"address","name":"_treasury1","type":"address"},{"internalType":"address","name":"_treasury2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"contractStartTime","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":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"enableSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualswapTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"protocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_treasury1Fee","type":"uint256"},{"internalType":"uint256","name":"_treasury2Fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxPercent","type":"uint256"}],"name":"setMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Pair","type":"address"}],"name":"setPairAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury1","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury1Fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury2","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasury2Fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury1","type":"address"},{"internalType":"address","name":"_treasury2","type":"address"}],"name":"updateTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001c69152d02c7e14af6800000600019620002dd565b6200002a90600019620002b7565b60065560046009556006600a55600a600b5568a2a15d09519be000006012553480156200005657600080fd5b5060405162001ea038038062001ea083398101604081905262000079916200027f565b620000843362000203565b600f8054737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031991821617909155600d805482166001600160a01b0385811691909117909155600e80549092169083161790554260115560065460016000620000e53390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600460006200011f6200025360201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600d54821684528284208054861682179055600e549091168352912080549092161790556010805460ff60b01b1916600160b01b179055620001a33390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69152d02c7e14af6800000604051620001f391815260200190565b60405180910390a3505062000300565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b031690565b80516001600160a01b03811681146200027a57600080fd5b919050565b600080604083850312156200029357600080fd5b6200029e8362000262565b9150620002ae6020840162000262565b90509250929050565b600082821015620002d857634e487b7160e01b600052601160045260246000fd5b500390565b600082620002fb57634e487b7160e01b600052601260045260246000fd5b500690565b611b9080620003106000396000f3fe6080604052600436106101e75760003560e01c80638c0b5e2211610102578063bc9323c311610095578063ea2f0b3711610064578063ea2f0b37146105c8578063f2fde38b146105e8578063f771cb6514610608578063fc24e8f21461062957600080fd5b8063bc9323c31461052c578063d2a09c7114610542578063dd62ed3e14610562578063e5d1d260146105a857600080fd5b8063a9059cbb116100d1578063a9059cbb146104c0578063b0e21e8a146104e0578063b2077217146104f6578063b515566a1461050c57600080fd5b80638c0b5e221461043f5780638da5cb5b1461045557806395d89b4114610473578063a22d4832146104a057600080fd5b8063437823ec1161017a5780636ddd1713116101495780636ddd1713146103d457806370a08231146103f5578063715018a614610415578063806e35a71461042a57600080fd5b8063437823ec1461034457806352f7c988146103645780635342acb41461038457806364f5a5bb146103b457600080fd5b806318160ddd116101b657806318160ddd146102c957806323b872dd146102e6578063273123b714610306578063313ce5671461032857600080fd5b806306fdde03146101f3578063095ea7b31461023d5780630c3d51571461026d578063129f55021461029157600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b5060408051808201909152600f81526e10de53dc081f08141c9bdd1bd8dbdb608a1b60208201525b6040516102349190611955565b60405180910390f35b34801561024957600080fd5b5061025d610258366004611800565b610649565b6040519015158152602001610234565b34801561027957600080fd5b5061028360115481565b604051908152602001610234565b34801561029d57600080fd5b50600d546102b1906001600160a01b031681565b6040516001600160a01b039091168152602001610234565b3480156102d557600080fd5b5069152d02c7e14af6800000610283565b3480156102f257600080fd5b5061025d6103013660046117bf565b610660565b34801561031257600080fd5b5061032661032136600461174c565b6106c9565b005b34801561033457600080fd5b5060405160098152602001610234565b34801561035057600080fd5b5061032661035f36600461174c565b61071d565b34801561037057600080fd5b5061032661037f366004611933565b61076b565b34801561039057600080fd5b5061025d61039f36600461174c565b60046020526000908152604090205460ff1681565b3480156103c057600080fd5b506103266103cf36600461191a565b6107b0565b3480156103e057600080fd5b5060105461025d90600160b01b900460ff1681565b34801561040157600080fd5b5061028361041036600461174c565b610800565b34801561042157600080fd5b50610326610822565b34801561043657600080fd5b50610326610858565b34801561044b57600080fd5b5061028360125481565b34801561046157600080fd5b506000546001600160a01b03166102b1565b34801561047f57600080fd5b50604080518082019091526004815263043794f760e41b6020820152610227565b3480156104ac57600080fd5b506103266104bb36600461174c565b6108b7565b3480156104cc57600080fd5b5061025d6104db366004611800565b610903565b3480156104ec57600080fd5b50610283600b5481565b34801561050257600080fd5b50610283600a5481565b34801561051857600080fd5b5061032661052736600461182c565b610910565b34801561053857600080fd5b5061028360095481565b34801561054e57600080fd5b5061032661055d3660046118f8565b6109a6565b34801561056e57600080fd5b5061028361057d366004611786565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105b457600080fd5b50600e546102b1906001600160a01b031681565b3480156105d457600080fd5b506103266105e336600461174c565b6109ee565b3480156105f457600080fd5b5061032661060336600461174c565b610a39565b34801561061457600080fd5b5060105461025d90600160a81b900460ff1681565b34801561063557600080fd5b50610326610644366004611786565b610ad1565b6000610656338484610b29565b5060015b92915050565b600061066d848484610cb9565b6106bf84336106ba85604051806060016040528060288152602001611b33602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610f5e565b610b29565b5060019392505050565b6000546001600160a01b031633146106fc5760405162461bcd60e51b81526004016106f3906119aa565b60405180910390fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146107475760405162461bcd60e51b81526004016106f3906119aa565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146107955760405162461bcd60e51b81526004016106f3906119aa565b6009829055600a8190556107a98183611a50565b600b555050565b6000546001600160a01b031633146107da5760405162461bcd60e51b81526004016106f3906119aa565b60646107f08269152d02c7e14af6800000611a8a565b6107fa9190611a68565b60125550565b6001600160a01b03811660009081526001602052604081205461065a90610f98565b6000546001600160a01b0316331461084c5760405162461bcd60e51b81526004016106f3906119aa565b610856600061101c565b565b600d546001600160a01b0316336001600160a01b0316148061088d5750600e546001600160a01b0316336001600160a01b0316145b61089657600080fd5b60006108a130610800565b90506108ac8161106c565b6108b46111f5565b50565b6000546001600160a01b031633146108e15760405162461bcd60e51b81526004016106f3906119aa565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610656338484610cb9565b6000546001600160a01b0316331461093a5760405162461bcd60e51b81526004016106f3906119aa565b60005b81518110156109a25760016005600084848151811061095e5761095e611af1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061099a81611ac0565b91505061093d565b5050565b6000546001600160a01b031633146109d05760405162461bcd60e51b81526004016106f3906119aa565b60108054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610a185760405162461bcd60e51b81526004016106f3906119aa565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b03163314610a635760405162461bcd60e51b81526004016106f3906119aa565b6001600160a01b038116610ac85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f3565b6108b48161101c565b6000546001600160a01b03163314610afb5760405162461bcd60e51b81526004016106f3906119aa565b600d80546001600160a01b039384166001600160a01b031991821617909155600e8054929093169116179055565b6001600160a01b038316610b8b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106f3565b6001600160a01b038216610bec5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106f3565b6000546001600160a01b0384811691161480610c155750601154610c12906104b0611a50565b42115b610c585760405162461bcd60e51b815260206004820152601460248201527329b2b63634b7339034b9903234b9b0b13632b21760611b60448201526064016106f3565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d1d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106f3565b6001600160a01b038216610d7f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106f3565b60008111610de15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106f3565b6000546001600160a01b03848116911614801590610e0d57506000546001600160a01b03838116911614155b15610ee5576001600160a01b03831660009081526005602052604090205460ff16158015610e5457506001600160a01b03821660009081526005602052604090205460ff16155b610e5d57600080fd5b601254811115610e6c57600080fd5b6000610e7730610800565b601054909150600160a01b900460ff16158015610e945750600081115b8015610eae57506010546001600160a01b03858116911614155b8015610ec35750601054600160b01b900460ff165b15610ee357610ed18161106c565b478015610ee157610ee1816111fb565b505b505b6001600160a01b03831660009081526004602052604090205460019060ff1680610f2757506001600160a01b03831660009081526004602052604090205460ff165b15610f30575060005b80610f3d57610f3d6112be565b610f488484846112d4565b80610f5857610f58600c54600b55565b50505050565b60008184841115610f825760405162461bcd60e51b81526004016106f39190611955565b506000610f8f8486611aa9565b95945050505050565b6000600654821115610fff5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106f3565b60006110096112e4565b90506110158382611307565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6010805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110b4576110b4611af1565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561110857600080fd5b505afa15801561111c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111409190611769565b8160018151811061115357611153611af1565b6001600160a01b039283166020918202929092010152600f546111799130911684610b29565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111b29085906000908690309042906004016119df565b600060405180830381600087803b1580156111cc57600080fd5b505af11580156111e0573d6000803e3d6000fd5b50506010805460ff60a01b1916905550505050565b476108b4815b600d54600b546009546001600160a01b03909216916108fc9161123a91606491611234918290849061122e908a90611349565b90611349565b90611307565b6040518115909202916000818181858888f19350505050158015611262573d6000803e3d6000fd5b50600e54600b54600a546001600160a01b03909216916108fc9161129691606491611234918290849061122e908a90611349565b6040518115909202916000818181858888f193505050501580156109a2573d6000803e3d6000fd5b600b546112c757565b600b8054600c5560009055565b6112df8383836113c8565b505050565b60008060006112f16114bf565b90925090506113008282611307565b9250505090565b600061101583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611503565b6000826113585750600061065a565b60006113648385611a8a565b9050826113718583611a68565b146110155760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106f3565b6000806000806000806113da87611531565b6001600160a01b038f16600090815260016020526040902054959b5093995091975095509350915061140c908761158e565b6001600160a01b03808b1660009081526001602052604080822093909355908a168152205461143b90866115d0565b6001600160a01b03891660009081526001602052604090205561145d8161162f565b6114678483611679565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114ac91815260200190565b60405180910390a3505050505050505050565b600654600090819069152d02c7e14af68000006114dc8282611307565b8210156114fa5750506006549269152d02c7e14af680000092509050565b90939092509050565b600081836115245760405162461bcd60e51b81526004016106f39190611955565b506000610f8f8486611a68565b600080600080600080600080600061154e8a600854600b5461169d565b925092509250600061155e6112e4565b905060008060006115718e8787876116ec565b919e509c509a509598509396509194505050505091939550919395565b600061101583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f5e565b6000806115dd8385611a50565b9050838110156110155760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106f3565b60006116396112e4565b905060006116478383611349565b3060009081526001602052604090205490915061166490826115d0565b30600090815260016020526040902055505050565b600654611686908361158e565b60065560075461169690826115d0565b6007555050565b60008080806116b160646112348989611349565b905060006116c460646112348a89611349565b905060006116dc826116d68b8661158e565b9061158e565b9992985090965090945050505050565b60008080806116fb8886611349565b905060006117098887611349565b905060006117178888611349565b90506000611729826116d6868661158e565b939b939a50919850919650505050505050565b803561174781611b1d565b919050565b60006020828403121561175e57600080fd5b813561101581611b1d565b60006020828403121561177b57600080fd5b815161101581611b1d565b6000806040838503121561179957600080fd5b82356117a481611b1d565b915060208301356117b481611b1d565b809150509250929050565b6000806000606084860312156117d457600080fd5b83356117df81611b1d565b925060208401356117ef81611b1d565b929592945050506040919091013590565b6000806040838503121561181357600080fd5b823561181e81611b1d565b946020939093013593505050565b6000602080838503121561183f57600080fd5b823567ffffffffffffffff8082111561185757600080fd5b818501915085601f83011261186b57600080fd5b81358181111561187d5761187d611b07565b8060051b604051601f19603f830116810181811085821117156118a2576118a2611b07565b604052828152858101935084860182860187018a10156118c157600080fd5b600095505b838610156118eb576118d78161173c565b8552600195909501949386019386016118c6565b5098975050505050505050565b60006020828403121561190a57600080fd5b8135801515811461101557600080fd5b60006020828403121561192c57600080fd5b5035919050565b6000806040838503121561194657600080fd5b50508035926020909101359150565b600060208083528351808285015260005b8181101561198257858101830151858201604001528201611966565b81811115611994576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a2f5784516001600160a01b031683529383019391830191600101611a0a565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611a6357611a63611adb565b500190565b600082611a8557634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611aa457611aa4611adb565b500290565b600082821015611abb57611abb611adb565b500390565b6000600019821415611ad457611ad4611adb565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146108b457600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220563bf9ef5eacf037509fa48cebcbf4cc308a8608f486468047f27b2f2dff92bc64736f6c6343000807003300000000000000000000000051936b72932bd221f1338cb725ae7756721b895f0000000000000000000000005f3a51f3650cf43d43543aa5b408b73a2ebb75ec

Deployed Bytecode

0x6080604052600436106101e75760003560e01c80638c0b5e2211610102578063bc9323c311610095578063ea2f0b3711610064578063ea2f0b37146105c8578063f2fde38b146105e8578063f771cb6514610608578063fc24e8f21461062957600080fd5b8063bc9323c31461052c578063d2a09c7114610542578063dd62ed3e14610562578063e5d1d260146105a857600080fd5b8063a9059cbb116100d1578063a9059cbb146104c0578063b0e21e8a146104e0578063b2077217146104f6578063b515566a1461050c57600080fd5b80638c0b5e221461043f5780638da5cb5b1461045557806395d89b4114610473578063a22d4832146104a057600080fd5b8063437823ec1161017a5780636ddd1713116101495780636ddd1713146103d457806370a08231146103f5578063715018a614610415578063806e35a71461042a57600080fd5b8063437823ec1461034457806352f7c988146103645780635342acb41461038457806364f5a5bb146103b457600080fd5b806318160ddd116101b657806318160ddd146102c957806323b872dd146102e6578063273123b714610306578063313ce5671461032857600080fd5b806306fdde03146101f3578063095ea7b31461023d5780630c3d51571461026d578063129f55021461029157600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b5060408051808201909152600f81526e10de53dc081f08141c9bdd1bd8dbdb608a1b60208201525b6040516102349190611955565b60405180910390f35b34801561024957600080fd5b5061025d610258366004611800565b610649565b6040519015158152602001610234565b34801561027957600080fd5b5061028360115481565b604051908152602001610234565b34801561029d57600080fd5b50600d546102b1906001600160a01b031681565b6040516001600160a01b039091168152602001610234565b3480156102d557600080fd5b5069152d02c7e14af6800000610283565b3480156102f257600080fd5b5061025d6103013660046117bf565b610660565b34801561031257600080fd5b5061032661032136600461174c565b6106c9565b005b34801561033457600080fd5b5060405160098152602001610234565b34801561035057600080fd5b5061032661035f36600461174c565b61071d565b34801561037057600080fd5b5061032661037f366004611933565b61076b565b34801561039057600080fd5b5061025d61039f36600461174c565b60046020526000908152604090205460ff1681565b3480156103c057600080fd5b506103266103cf36600461191a565b6107b0565b3480156103e057600080fd5b5060105461025d90600160b01b900460ff1681565b34801561040157600080fd5b5061028361041036600461174c565b610800565b34801561042157600080fd5b50610326610822565b34801561043657600080fd5b50610326610858565b34801561044b57600080fd5b5061028360125481565b34801561046157600080fd5b506000546001600160a01b03166102b1565b34801561047f57600080fd5b50604080518082019091526004815263043794f760e41b6020820152610227565b3480156104ac57600080fd5b506103266104bb36600461174c565b6108b7565b3480156104cc57600080fd5b5061025d6104db366004611800565b610903565b3480156104ec57600080fd5b50610283600b5481565b34801561050257600080fd5b50610283600a5481565b34801561051857600080fd5b5061032661052736600461182c565b610910565b34801561053857600080fd5b5061028360095481565b34801561054e57600080fd5b5061032661055d3660046118f8565b6109a6565b34801561056e57600080fd5b5061028361057d366004611786565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156105b457600080fd5b50600e546102b1906001600160a01b031681565b3480156105d457600080fd5b506103266105e336600461174c565b6109ee565b3480156105f457600080fd5b5061032661060336600461174c565b610a39565b34801561061457600080fd5b5060105461025d90600160a81b900460ff1681565b34801561063557600080fd5b50610326610644366004611786565b610ad1565b6000610656338484610b29565b5060015b92915050565b600061066d848484610cb9565b6106bf84336106ba85604051806060016040528060288152602001611b33602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610f5e565b610b29565b5060019392505050565b6000546001600160a01b031633146106fc5760405162461bcd60e51b81526004016106f3906119aa565b60405180910390fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146107475760405162461bcd60e51b81526004016106f3906119aa565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146107955760405162461bcd60e51b81526004016106f3906119aa565b6009829055600a8190556107a98183611a50565b600b555050565b6000546001600160a01b031633146107da5760405162461bcd60e51b81526004016106f3906119aa565b60646107f08269152d02c7e14af6800000611a8a565b6107fa9190611a68565b60125550565b6001600160a01b03811660009081526001602052604081205461065a90610f98565b6000546001600160a01b0316331461084c5760405162461bcd60e51b81526004016106f3906119aa565b610856600061101c565b565b600d546001600160a01b0316336001600160a01b0316148061088d5750600e546001600160a01b0316336001600160a01b0316145b61089657600080fd5b60006108a130610800565b90506108ac8161106c565b6108b46111f5565b50565b6000546001600160a01b031633146108e15760405162461bcd60e51b81526004016106f3906119aa565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610656338484610cb9565b6000546001600160a01b0316331461093a5760405162461bcd60e51b81526004016106f3906119aa565b60005b81518110156109a25760016005600084848151811061095e5761095e611af1565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061099a81611ac0565b91505061093d565b5050565b6000546001600160a01b031633146109d05760405162461bcd60e51b81526004016106f3906119aa565b60108054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b03163314610a185760405162461bcd60e51b81526004016106f3906119aa565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b03163314610a635760405162461bcd60e51b81526004016106f3906119aa565b6001600160a01b038116610ac85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f3565b6108b48161101c565b6000546001600160a01b03163314610afb5760405162461bcd60e51b81526004016106f3906119aa565b600d80546001600160a01b039384166001600160a01b031991821617909155600e8054929093169116179055565b6001600160a01b038316610b8b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106f3565b6001600160a01b038216610bec5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106f3565b6000546001600160a01b0384811691161480610c155750601154610c12906104b0611a50565b42115b610c585760405162461bcd60e51b815260206004820152601460248201527329b2b63634b7339034b9903234b9b0b13632b21760611b60448201526064016106f3565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d1d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106f3565b6001600160a01b038216610d7f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106f3565b60008111610de15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106f3565b6000546001600160a01b03848116911614801590610e0d57506000546001600160a01b03838116911614155b15610ee5576001600160a01b03831660009081526005602052604090205460ff16158015610e5457506001600160a01b03821660009081526005602052604090205460ff16155b610e5d57600080fd5b601254811115610e6c57600080fd5b6000610e7730610800565b601054909150600160a01b900460ff16158015610e945750600081115b8015610eae57506010546001600160a01b03858116911614155b8015610ec35750601054600160b01b900460ff165b15610ee357610ed18161106c565b478015610ee157610ee1816111fb565b505b505b6001600160a01b03831660009081526004602052604090205460019060ff1680610f2757506001600160a01b03831660009081526004602052604090205460ff165b15610f30575060005b80610f3d57610f3d6112be565b610f488484846112d4565b80610f5857610f58600c54600b55565b50505050565b60008184841115610f825760405162461bcd60e51b81526004016106f39190611955565b506000610f8f8486611aa9565b95945050505050565b6000600654821115610fff5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106f3565b60006110096112e4565b90506110158382611307565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6010805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110b4576110b4611af1565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561110857600080fd5b505afa15801561111c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111409190611769565b8160018151811061115357611153611af1565b6001600160a01b039283166020918202929092010152600f546111799130911684610b29565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111b29085906000908690309042906004016119df565b600060405180830381600087803b1580156111cc57600080fd5b505af11580156111e0573d6000803e3d6000fd5b50506010805460ff60a01b1916905550505050565b476108b4815b600d54600b546009546001600160a01b03909216916108fc9161123a91606491611234918290849061122e908a90611349565b90611349565b90611307565b6040518115909202916000818181858888f19350505050158015611262573d6000803e3d6000fd5b50600e54600b54600a546001600160a01b03909216916108fc9161129691606491611234918290849061122e908a90611349565b6040518115909202916000818181858888f193505050501580156109a2573d6000803e3d6000fd5b600b546112c757565b600b8054600c5560009055565b6112df8383836113c8565b505050565b60008060006112f16114bf565b90925090506113008282611307565b9250505090565b600061101583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611503565b6000826113585750600061065a565b60006113648385611a8a565b9050826113718583611a68565b146110155760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106f3565b6000806000806000806113da87611531565b6001600160a01b038f16600090815260016020526040902054959b5093995091975095509350915061140c908761158e565b6001600160a01b03808b1660009081526001602052604080822093909355908a168152205461143b90866115d0565b6001600160a01b03891660009081526001602052604090205561145d8161162f565b6114678483611679565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114ac91815260200190565b60405180910390a3505050505050505050565b600654600090819069152d02c7e14af68000006114dc8282611307565b8210156114fa5750506006549269152d02c7e14af680000092509050565b90939092509050565b600081836115245760405162461bcd60e51b81526004016106f39190611955565b506000610f8f8486611a68565b600080600080600080600080600061154e8a600854600b5461169d565b925092509250600061155e6112e4565b905060008060006115718e8787876116ec565b919e509c509a509598509396509194505050505091939550919395565b600061101583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f5e565b6000806115dd8385611a50565b9050838110156110155760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106f3565b60006116396112e4565b905060006116478383611349565b3060009081526001602052604090205490915061166490826115d0565b30600090815260016020526040902055505050565b600654611686908361158e565b60065560075461169690826115d0565b6007555050565b60008080806116b160646112348989611349565b905060006116c460646112348a89611349565b905060006116dc826116d68b8661158e565b9061158e565b9992985090965090945050505050565b60008080806116fb8886611349565b905060006117098887611349565b905060006117178888611349565b90506000611729826116d6868661158e565b939b939a50919850919650505050505050565b803561174781611b1d565b919050565b60006020828403121561175e57600080fd5b813561101581611b1d565b60006020828403121561177b57600080fd5b815161101581611b1d565b6000806040838503121561179957600080fd5b82356117a481611b1d565b915060208301356117b481611b1d565b809150509250929050565b6000806000606084860312156117d457600080fd5b83356117df81611b1d565b925060208401356117ef81611b1d565b929592945050506040919091013590565b6000806040838503121561181357600080fd5b823561181e81611b1d565b946020939093013593505050565b6000602080838503121561183f57600080fd5b823567ffffffffffffffff8082111561185757600080fd5b818501915085601f83011261186b57600080fd5b81358181111561187d5761187d611b07565b8060051b604051601f19603f830116810181811085821117156118a2576118a2611b07565b604052828152858101935084860182860187018a10156118c157600080fd5b600095505b838610156118eb576118d78161173c565b8552600195909501949386019386016118c6565b5098975050505050505050565b60006020828403121561190a57600080fd5b8135801515811461101557600080fd5b60006020828403121561192c57600080fd5b5035919050565b6000806040838503121561194657600080fd5b50508035926020909101359150565b600060208083528351808285015260005b8181101561198257858101830151858201604001528201611966565b81811115611994576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a2f5784516001600160a01b031683529383019391830191600101611a0a565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611a6357611a63611adb565b500190565b600082611a8557634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611aa457611aa4611adb565b500290565b600082821015611abb57611abb611adb565b500390565b6000600019821415611ad457611ad4611adb565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146108b457600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220563bf9ef5eacf037509fa48cebcbf4cc308a8608f486468047f27b2f2dff92bc64736f6c63430008070033

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

00000000000000000000000051936b72932bd221f1338cb725ae7756721b895f0000000000000000000000005f3a51f3650cf43d43543aa5b408b73a2ebb75ec

-----Decoded View---------------
Arg [0] : _treasury1 (address): 0x51936b72932Bd221f1338cb725Ae7756721b895f
Arg [1] : _treasury2 (address): 0x5f3a51f3650cf43D43543AA5b408b73a2ebB75ec

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000051936b72932bd221f1338cb725ae7756721b895f
Arg [1] : 0000000000000000000000005f3a51f3650cf43d43543aa5b408b73a2ebb75ec


Deployed Bytecode Sourcemap

4474:11114:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6650:83;;;;;;;;;;-1:-1:-1;6720:5:0;;;;;;;;;;;;-1:-1:-1;;;6720:5:0;;;;6650:83;;;;;;;:::i;:::-;;;;;;;;7502:161;;;;;;;;;;-1:-1:-1;7502:161:0;;;;;:::i;:::-;;:::i;:::-;;;4285:14:1;;4278:22;4260:41;;4248:2;4233:18;7502:161:0;4120:187:1;5748:32:0;;;;;;;;;;;;;;;;;;;9374:25:1;;;9362:2;9347:18;5748:32:0;9228:177:1;5320:32:0;;;;;;;;;;-1:-1:-1;5320:32:0;;;;-1:-1:-1;;;;;5320:32:0;;;;;;-1:-1:-1;;;;;3852:32:1;;;3834:51;;3822:2;3807:18;5320:32:0;3688:203:1;6927:95:0;;;;;;;;;;-1:-1:-1;4928:14:0;6927:95;;7671:313;;;;;;;;;;-1:-1:-1;7671:313:0;;;;;:::i;:::-;;:::i;11992:90::-;;;;;;;;;;-1:-1:-1;11992:90:0;;;;;:::i;:::-;;:::i;:::-;;6836:83;;;;;;;;;;-1:-1:-1;6836:83:0;;5552:1;10537:36:1;;10525:2;10510:18;6836:83:0;10395:184:1;11414:110:0;;;;;;;;;;-1:-1:-1;11414:110:0;;;;;:::i;:::-;;:::i;11004:219::-;;;;;;;;;;-1:-1:-1;11004:219:0;;;;;:::i;:::-;;:::i;4742:50::-;;;;;;;;;;-1:-1:-1;4742:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11855:125;;;;;;;;;;-1:-1:-1;11855:125:0;;;;;:::i;:::-;;:::i;5712:23::-;;;;;;;;;;-1:-1:-1;5712:23:0;;;;-1:-1:-1;;;5712:23:0;;;;;;7030:138;;;;;;;;;;-1:-1:-1;7030:138:0;;;;;:::i;:::-;;:::i;3083:94::-;;;;;;;;;;;;;:::i;13419:249::-;;;;;;;;;;;;;:::i;5787:41::-;;;;;;;;;;;;;;;;2432:87;;;;;;;;;;-1:-1:-1;2478:7:0;2505:6;-1:-1:-1;;;;;2505:6:0;2432:87;;6741;;;;;;;;;;-1:-1:-1;6813:7:0;;;;;;;;;;;;-1:-1:-1;;;6813:7:0;;;;6741:87;;12190:115;;;;;;;;;;-1:-1:-1;12190:115:0;;;;;:::i;:::-;;:::i;7176:167::-;;;;;;;;;;-1:-1:-1;7176:167:0;;;;;:::i;:::-;;:::i;5174:31::-;;;;;;;;;;;;;;;;5131;;;;;;;;;;;;;;;;11657:164;;;;;;;;;;-1:-1:-1;11657:164:0;;;;;:::i;:::-;;:::i;5088:31::-;;;;;;;;;;;;;;;;12090:92;;;;;;;;;;-1:-1:-1;12090:92:0;;;;;:::i;:::-;;:::i;7351:143::-;;;;;;;;;;-1:-1:-1;7351:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7459:18:0;;;7432:7;7459:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7351:143;5364:32;;;;;;;;;;-1:-1:-1;5364:32:0;;;;-1:-1:-1;;;;;5364:32:0;;;11536:109;;;;;;;;;;-1:-1:-1;11536:109:0;;;;;:::i;:::-;;:::i;3332:192::-;;;;;;;;;;-1:-1:-1;3332:192:0;;;;;:::i;:::-;;:::i;5679:26::-;;;;;;;;;;-1:-1:-1;5679:26:0;;;;-1:-1:-1;;;5679:26:0;;;;;;11231:175;;;;;;;;;;-1:-1:-1;11231:175:0;;;;;:::i;:::-;;:::i;7502:161::-;7577:4;7594:39;182:10;7617:7;7626:6;7594:8;:39::i;:::-;-1:-1:-1;7651:4:0;7502:161;;;;;:::o;7671:313::-;7769:4;7786:36;7796:6;7804:9;7815:6;7786:9;:36::i;:::-;7833:121;7842:6;182:10;7864:89;7902:6;7864:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7864:19:0;;;;;;:11;:19;;;;;;;;182:10;7864:33;;;;;;;;;;:37;:89::i;:::-;7833:8;:121::i;:::-;-1:-1:-1;7972:4:0;7671:313;;;;;:::o;11992:90::-;2478:7;2505:6;-1:-1:-1;;;;;2505:6:0;182:10;2652:23;2644:68;;;;-1:-1:-1;;;2644:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;12054:12:0::1;12069:5;12054:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;12054:20:0::1;::::0;;11992:90::o;11414:110::-;2478:7;2505:6;-1:-1:-1;;;;;2505:6:0;182:10;2652:23;2644:68;;;;-1:-1:-1;;;2644:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11483:26:0::1;;::::0;;;:17:::1;:26;::::0;;;;:33;;-1:-1:-1;;11483:33:0::1;11512:4;11483:33;::::0;;11414:110::o;11004:219::-;2478:7;2505:6;-1:-1:-1;;;;;2505:6:0;182:10;2652:23;2644:68;;;;-1:-1:-1;;;2644:68:0;;;;;;;:::i;:::-;11096:12:::1;:28:::0;;;11135:12:::1;:28:::0;;;11188:27:::1;11150:13:::0;11111;11188:27:::1;:::i;:::-;11174:11;:41:::0;-1:-1:-1;;11004:219:0:o;11855:125::-;2478:7;2505:6;-1:-1:-1;;;;;2505:6:0;182:10;2652:23;2644:68;;;;-1:-1:-1;;;2644:68:0;;;;;;;:::i;:::-;11969:3:::1;11944:21;11954:11:::0;4928:14:::1;11944:21;:::i;:::-;11943:29;;;;:::i;:::-;11929:11;:43:::0;-1:-1:-1;11855:125:0:o;7030:138::-;-1:-1:-1;;;;;7143:16:0;;7096:7;7143:16;;;:7;:16;;;;;;7123:37;;:19;:37::i;3083:94::-;2478:7;2505:6;-1:-1:-1;;;;;2505:6:0;182:10;2652:23;2644:68;;;;-1:-1:-1;;;2644:68:0;;;;;;;:::i;:::-;3148:21:::1;3166:1;3148:9;:21::i;:::-;3083:94::o:0;13419:249::-;13493:9;;-1:-1:-1;;;;;13493:9:0;182:10;-1:-1:-1;;;;;13477:25:0;;:54;;;-1:-1:-1;13522:9:0;;-1:-1:-1;;;;;13522:9:0;182:10;-1:-1:-1;;;;;13506:25:0;;13477:54;13469:63;;;;;;13543:23;13569:24;13587:4;13569:9;:24::i;:::-;13543:50;;13604:33;13621:15;13604:16;:33::i;:::-;13648:12;:10;:12::i;:::-;13458:210;13419:249::o;12190:115::-;2478:7;2505:6;-1:-1:-1;;;;;2505:6:0;182:10;2652:23;2644:68;;;;-1:-1:-1;;;2644:68:0;;;;;;;:::i;:::-;12266:13:::1;:30:::0;;-1:-1:-1;;;;;;12266:30:0::1;-1:-1:-1::0;;;;;12266:30:0;;;::::1;::::0;;;::::1;::::0;;12190:115::o;7176:167::-;7254:4;7271:42;182:10;7295:9;7306:6;7271:9;:42::i;11657:164::-;2478:7;2505:6;-1:-1:-1;;;;;2505:6:0;182:10;2652:23;2644:68;;;;-1:-1:-1;;;2644:68:0;;;;;;;:::i;:::-;11731:6:::1;11726:88;11747:5;:12;11743:1;:16;11726:88;;;11798:4;11781;:14;11786:5;11792:1;11786:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11781:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11781:14:0;:21;;-1:-1:-1;;11781:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11761:3;::::1;::::0;::::1;:::i;:::-;;;;11726:88;;;;11657:164:::0;:::o;12090:92::-;2478:7;2505:6;-1:-1:-1;;;;;2505:6:0;182:10;2652:23;2644:68;;;;-1:-1:-1;;;2644:68:0;;;;;;;:::i;:::-;12152:11:::1;:21:::0;;;::::1;;-1:-1:-1::0;;;12152:21:0::1;-1:-1:-1::0;;;;12152:21:0;;::::1;::::0;;;::::1;::::0;;12090:92::o;11536:109::-;2478:7;2505:6;-1:-1:-1;;;;;2505:6:0;182:10;2652:23;2644:68;;;;-1:-1:-1;;;2644:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11603:26:0::1;11632:5;11603:26:::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;11603:34:0::1;::::0;;11536:109::o;3332:192::-;2478:7;2505:6;-1:-1:-1;;;;;2505:6:0;182:10;2652:23;2644:68;;;;-1:-1:-1;;;2644:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3421:22:0;::::1;3413:73;;;::::0;-1:-1:-1;;;3413:73:0;;6280:2:1;3413:73:0::1;::::0;::::1;6262:21:1::0;6319:2;6299:18;;;6292:30;6358:34;6338:18;;;6331:62;-1:-1:-1;;;6409:18:1;;;6402:36;6455:19;;3413:73:0::1;6078:402:1::0;3413:73:0::1;3497:19;3507:8;3497:9;:19::i;11231:175::-:0;2478:7;2505:6;-1:-1:-1;;;;;2505:6:0;182:10;2652:23;2644:68;;;;-1:-1:-1;;;2644:68:0;;;;;;;:::i;:::-;11325:9:::1;:31:::0;;-1:-1:-1;;;;;11325:31:0;;::::1;-1:-1:-1::0;;;;;;11325:31:0;;::::1;;::::0;;;11367:9:::1;:31:::0;;;;;::::1;::::0;::::1;;::::0;;11231:175::o;8254:457::-;-1:-1:-1;;;;;8347:19:0;;8339:68;;;;-1:-1:-1;;;8339:68:0;;9025:2:1;8339:68:0;;;9007:21:1;9064:2;9044:18;;;9037:30;9103:34;9083:18;;;9076:62;-1:-1:-1;;;9154:18:1;;;9147:34;9198:19;;8339:68:0;8823:400:1;8339:68:0;-1:-1:-1;;;;;8426:21:0;;8418:68;;;;-1:-1:-1;;;8418:68:0;;6687:2:1;8418:68:0;;;6669:21:1;6726:2;6706:18;;;6699:30;6765:34;6745:18;;;6738:62;-1:-1:-1;;;6816:18:1;;;6809:32;6858:19;;8418:68:0;6485:398:1;8418:68:0;2478:7;2505:6;-1:-1:-1;;;;;8506:24:0;;;2505:6;;8506:24;;:77;;-1:-1:-1;8553:17:0;;:30;;8573:10;8553:30;:::i;:::-;8535:15;:48;8506:77;8497:111;;;;-1:-1:-1;;;8497:111:0;;5520:2:1;8497:111:0;;;5502:21:1;5559:2;5539:18;;;5532:30;-1:-1:-1;;;5578:18:1;;;5571:50;5638:18;;8497:111:0;5318:344:1;8497:111:0;-1:-1:-1;;;;;8619:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8671:32;;9374:25:1;;;8671:32:0;;9347:18:1;8671:32:0;;;;;;;8254:457;;;:::o;8719:1276::-;-1:-1:-1;;;;;8807:18:0;;8799:68;;;;-1:-1:-1;;;8799:68:0;;8619:2:1;8799:68:0;;;8601:21:1;8658:2;8638:18;;;8631:30;8697:34;8677:18;;;8670:62;-1:-1:-1;;;8748:18:1;;;8741:35;8793:19;;8799:68:0;8417:401:1;8799:68:0;-1:-1:-1;;;;;8886:16:0;;8878:64;;;;-1:-1:-1;;;8878:64:0;;5116:2:1;8878:64:0;;;5098:21:1;5155:2;5135:18;;;5128:30;5194:34;5174:18;;;5167:62;-1:-1:-1;;;5245:18:1;;;5238:33;5288:19;;8878:64:0;4914:399:1;8878:64:0;8970:1;8961:6;:10;8953:64;;;;-1:-1:-1;;;8953:64:0;;8209:2:1;8953:64:0;;;8191:21:1;8248:2;8228:18;;;8221:30;8287:34;8267:18;;;8260:62;-1:-1:-1;;;8338:18:1;;;8331:39;8387:19;;8953:64:0;8007:405:1;8953:64:0;2478:7;2505:6;-1:-1:-1;;;;;9042:15:0;;;2505:6;;9042:15;;;;:32;;-1:-1:-1;2478:7:0;2505:6;-1:-1:-1;;;;;9061:13:0;;;2505:6;;9061:13;;9042:32;9038:577;;;-1:-1:-1;;;;;9100:10:0;;;;;;:4;:10;;;;;;;;9099:11;:24;;;;-1:-1:-1;;;;;;9115:8:0;;;;;;:4;:8;;;;;;;;9114:9;9099:24;9091:33;;;;;;9157:11;;9147:6;:21;;9139:30;;;;;;9186:28;9217:24;9235:4;9217:9;:24::i;:::-;9261:6;;9186:55;;-1:-1:-1;;;;9261:6:0;;;;9260:7;:35;;;;;9294:1;9271:20;:24;9260:35;:60;;;;-1:-1:-1;9307:13:0;;-1:-1:-1;;;;;9299:21:0;;;9307:13;;9299:21;;9260:60;:75;;;;-1:-1:-1;9324:11:0;;-1:-1:-1;;;9324:11:0;;;;9260:75;9256:348;;;9356:38;9373:20;9356:16;:38::i;:::-;9442:21;9485:22;;9482:107;;9532:37;9550:18;9532:17;:37::i;:::-;9337:267;9256:348;9076:539;9038:577;-1:-1:-1;;;;;9745:23:0;;9627:12;9745:23;;;:17;:23;;;;;;9642:4;;9745:23;;;:48;;-1:-1:-1;;;;;;9772:21:0;;;;;;:17;:21;;;;;;;;9745:48;9742:94;;;-1:-1:-1;9819:5:0;9742:94;9852:7;9848:40;;9874:14;:12;:14::i;:::-;9903:30;9918:4;9923:2;9926:6;9903:14;:30::i;:::-;9950:7;9946:41;;9972:15;10223;;10209:11;:29;10165:81;9972:15;8788:1207;8719:1276;;;:::o;1239:190::-;1325:7;1361:12;1353:6;;;;1345:29;;;;-1:-1:-1;;;1345:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1385:9:0;1397:5;1401:1;1397;:5;:::i;:::-;1385:17;1239:190;-1:-1:-1;;;;;1239:190:0:o;7992:254::-;8059:7;8098;;8087;:18;;8079:73;;;;-1:-1:-1;;;8079:73:0;;5869:2:1;8079:73:0;;;5851:21:1;5908:2;5888:18;;;5881:30;5947:34;5927:18;;;5920:62;-1:-1:-1;;;5998:18:1;;;5991:40;6048:19;;8079:73:0;5667:406:1;8079:73:0;8163:19;8186:10;:8;:10::i;:::-;8163:33;-1:-1:-1;8214:24:0;:7;8163:33;8214:11;:24::i;:::-;8207:31;7992:254;-1:-1:-1;;;7992:254:0:o;3532:173::-;3588:16;3607:6;;-1:-1:-1;;;;;3624:17:0;;;-1:-1:-1;;;;;;3624:17:0;;;;;;3657:40;;3607:6;;;;;;;3657:40;;3588:16;3657:40;3577:128;3532:173;:::o;10254:483::-;5940:6;:13;;-1:-1:-1;;;;5940:13:0;-1:-1:-1;;;5940:13:0;;;10356:16:::1;::::0;;10370:1:::1;10356:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10356:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10356:16:0::1;10332:40;;10401:4;10383;10388:1;10383:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10383:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10427:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10427:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10383:7;;10427:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10417:4;10422:1;10417:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10417:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10492:15:::1;::::0;10460:62:::1;::::0;10477:4:::1;::::0;10492:15:::1;10510:11:::0;10460:8:::1;:62::i;:::-;10533:15;::::0;:196:::1;::::0;-1:-1:-1;;;10533:196:0;;-1:-1:-1;;;;;10533:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10614:11;;10533:15:::1;::::0;10656:4;;10683::::1;::::0;10703:15:::1;::::0;10533:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5976:6:0;:14;;-1:-1:-1;;;;5976:14:0;;;-1:-1:-1;;;;10254:483:0:o;13680:148::-;13751:21;13783:37;13751:21;10753:243;10815:9;;10873:11;;10846:12;;-1:-1:-1;;;;;10815:9:0;;;;:81;;10834:61;;10891:3;;10835:50;;;;10891:3;;10835:24;;:6;;:10;:24::i;:::-;:28;;:33::i;:::-;:37;;:50::i;10834:61::-;10815:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10907:9:0;;10965:11;;10938:12;;-1:-1:-1;;;;;10907:9:0;;;;:81;;10926:61;;10983:3;;10927:50;;;;10983:3;;10927:24;;:6;;:10;:24::i;10926:61::-;10907:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10003:154;10049:11;;10046:28;;10003:154::o;10046:28::-;10112:11;;;10094:15;:29;-1:-1:-1;10134:15:0;;10003:154::o;12321:146::-;12415:44;12433:6;12441:9;12452:6;12415:17;:44::i;:::-;12321:146;;;:::o;15152:163::-;15193:7;15214:15;15231;15250:19;:17;:19::i;:::-;15213:56;;-1:-1:-1;15213:56:0;-1:-1:-1;15287:20:0;15213:56;;15287:11;:20::i;:::-;15280:27;;;;15152:163;:::o;1691:132::-;1749:7;1776:39;1780:1;1783;1776:39;;;;;;;;;;;;;;;;;:3;:39::i;1437:246::-;1495:7;1519:6;1515:47;;-1:-1:-1;1549:1:0;1542:8;;1515:47;1572:9;1584:5;1588:1;1584;:5;:::i;:::-;1572:17;-1:-1:-1;1617:1:0;1608:5;1612:1;1572:17;1608:5;:::i;:::-;:10;1600:56;;;;-1:-1:-1;;;1600:56:0;;7446:2:1;1600:56:0;;;7428:21:1;7485:2;7465:18;;;7458:30;7524:34;7504:18;;;7497:62;-1:-1:-1;;;7575:18:1;;;7568:31;7616:19;;1600:56:0;7244:397:1;12475:500:0;12574:15;12591:23;12616:12;12630:23;12655:12;12669:17;12690:19;12701:7;12690:10;:19::i;:::-;-1:-1:-1;;;;;12738:15:0;;;;;;:7;:15;;;;;;12573:136;;-1:-1:-1;12573:136:0;;-1:-1:-1;12573:136:0;;-1:-1:-1;12573:136:0;-1:-1:-1;12573:136:0;-1:-1:-1;12573:136:0;-1:-1:-1;12738:28:0;;12573:136;12738:19;:28::i;:::-;-1:-1:-1;;;;;12720:15:0;;;;;;;:7;:15;;;;;;:46;;;;12798:18;;;;;;;:39;;12821:15;12798:22;:39::i;:::-;-1:-1:-1;;;;;12777:18:0;;;;;;:7;:18;;;;;:60;12849:24;12863:9;12849:13;:24::i;:::-;12884:23;12896:4;12902;12884:11;:23::i;:::-;12940:9;-1:-1:-1;;;;;12923:44:0;12932:6;-1:-1:-1;;;;;12923:44:0;;12951:15;12923:44;;;;9374:25:1;;9362:2;9347:18;;9228:177;12923:44:0;;;;;;;;12562:413;;;;;;12475:500;;;:::o;15323:262::-;15420:7;;15373;;;;4928:14;15494:20;15420:7;4928:14;15494:11;:20::i;:::-;15484:7;:30;15480:61;;;-1:-1:-1;;15524:7:0;;;4928:14;;-1:-1:-1;15323:262:0;-1:-1:-1;15323:262:0:o;15480:61::-;15560:7;;15569;;-1:-1:-1;15323:262:0;-1:-1:-1;15323:262:0:o;1831:189::-;1917:7;1952:12;1945:5;1937:28;;;;-1:-1:-1;;;1937:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1976:9:0;1988:5;1992:1;1988;:5;:::i;13836:483::-;13895:7;13904;13913;13922;13931;13940;13961:23;13986:12;14000:17;14021:42;14033:7;14042;;14051:11;;14021;:42::i;:::-;13960:103;;;;;;14074:19;14097:10;:8;:10::i;:::-;14074:33;;14119:15;14136:23;14161:12;14177:50;14189:7;14198:4;14204:9;14215:11;14177;:50::i;:::-;14118:109;;-1:-1:-1;14118:109:0;-1:-1:-1;14118:109:0;-1:-1:-1;14278:15:0;;-1:-1:-1;14295:4:0;;-1:-1:-1;14301:9:0;;-1:-1:-1;;;;;13836:483:0;;;;;;;:::o;1095:136::-;1153:7;1180:43;1184:1;1187;1180:43;;;;;;;;;;;;;;;;;:3;:43::i;908:179::-;966:7;;998:5;1002:1;998;:5;:::i;:::-;986:17;;1027:1;1022;:6;;1014:46;;;;-1:-1:-1;;;1014:46:0;;7090:2:1;1014:46:0;;;7072:21:1;7129:2;7109:18;;;7102:30;7168:29;7148:18;;;7141:57;7215:18;;1014:46:0;6888:351:1;12983:232:0;13044:19;13067:10;:8;:10::i;:::-;13044:33;-1:-1:-1;13088:17:0;13108:26;:9;13044:33;13108:13;:26::i;:::-;13186:4;13170:22;;;;:7;:22;;;;;;13088:46;;-1:-1:-1;13170:37:0;;13088:46;13170:26;:37::i;:::-;13161:4;13145:22;;;;:7;:22;;;;;:62;-1:-1:-1;;;12983:232:0:o;13223:147::-;13301:7;;:17;;13313:4;13301:11;:17::i;:::-;13291:7;:27;13342:10;;:20;;13357:4;13342:14;:20::i;:::-;13329:10;:33;-1:-1:-1;;13223:147:0:o;14327:377::-;14426:7;;;;14479:29;14504:3;14479:20;:8;14492:6;14479:12;:20::i;:29::-;14464:44;-1:-1:-1;14519:17:0;14539:35;14570:3;14539:26;:8;14552:12;14539;:26::i;:35::-;14519:55;-1:-1:-1;14585:23:0;14611:33;14519:55;14611:18;:8;14624:4;14611:12;:18::i;:::-;:22;;:33::i;:::-;14585:59;14680:4;;-1:-1:-1;14686:9:0;;-1:-1:-1;14327:377:0;;-1:-1:-1;;;;;14327:377:0:o;14712:435::-;14830:7;;;;14886:26;:8;14899:12;14886;:26::i;:::-;14868:44;-1:-1:-1;14923:12:0;14938:23;:5;14948:12;14938:9;:23::i;:::-;14923:38;-1:-1:-1;14972:17:0;14992:28;:10;15007:12;14992:14;:28::i;:::-;14972:48;-1:-1:-1;15031:23:0;15057:32;14972:48;15057:17;:7;15069:4;15057:11;:17::i;:32::-;15108:7;;;;-1:-1:-1;15134:4:0;;-1:-1:-1;14712:435:0;;-1:-1:-1;;;;;;;14712:435:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;661:388;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:52;;;1216:1;1213;1206:12;1168:52;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1054:456;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1054:456::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:1:o;1835:1132::-;1919:6;1950:2;1993;1981:9;1972:7;1968:23;1964:32;1961:52;;;2009:1;2006;1999:12;1961:52;2049:9;2036:23;2078:18;2119:2;2111:6;2108:14;2105:34;;;2135:1;2132;2125:12;2105:34;2173:6;2162:9;2158:22;2148:32;;2218:7;2211:4;2207:2;2203:13;2199:27;2189:55;;2240:1;2237;2230:12;2189:55;2276:2;2263:16;2298:2;2294;2291:10;2288:36;;;2304:18;;:::i;:::-;2350:2;2347:1;2343:10;2382:2;2376:9;2445:2;2441:7;2436:2;2432;2428:11;2424:25;2416:6;2412:38;2500:6;2488:10;2485:22;2480:2;2468:10;2465:18;2462:46;2459:72;;;2511:18;;:::i;:::-;2547:2;2540:22;2597:18;;;2631:15;;;;-1:-1:-1;2666:11:1;;;2696;;;2692:20;;2689:33;-1:-1:-1;2686:53:1;;;2735:1;2732;2725:12;2686:53;2757:1;2748:10;;2767:169;2781:2;2778:1;2775:9;2767:169;;;2838:23;2857:3;2838:23;:::i;:::-;2826:36;;2799:1;2792:9;;;;;2882:12;;;;2914;;2767:169;;;-1:-1:-1;2955:6:1;1835:1132;-1:-1:-1;;;;;;;;1835:1132:1:o;2972:273::-;3028:6;3081:2;3069:9;3060:7;3056:23;3052:32;3049:52;;;3097:1;3094;3087:12;3049:52;3136:9;3123:23;3189:5;3182:13;3175:21;3168:5;3165:32;3155:60;;3211:1;3208;3201:12;3250:180;3309:6;3362:2;3350:9;3341:7;3337:23;3333:32;3330:52;;;3378:1;3375;3368:12;3330:52;-1:-1:-1;3401:23:1;;3250:180;-1:-1:-1;3250:180:1:o;3435:248::-;3503:6;3511;3564:2;3552:9;3543:7;3539:23;3535:32;3532:52;;;3580:1;3577;3570:12;3532:52;-1:-1:-1;;3603:23:1;;;3673:2;3658:18;;;3645:32;;-1:-1:-1;3435:248:1:o;4312:597::-;4424:4;4453:2;4482;4471:9;4464:21;4514:6;4508:13;4557:6;4552:2;4541:9;4537:18;4530:34;4582:1;4592:140;4606:6;4603:1;4600:13;4592:140;;;4701:14;;;4697:23;;4691:30;4667:17;;;4686:2;4663:26;4656:66;4621:10;;4592:140;;;4750:6;4747:1;4744:13;4741:91;;;4820:1;4815:2;4806:6;4795:9;4791:22;4787:31;4780:42;4741:91;-1:-1:-1;4893:2:1;4872:15;-1:-1:-1;;4868:29:1;4853:45;;;;4900:2;4849:54;;4312:597;-1:-1:-1;;;4312:597:1:o;7646:356::-;7848:2;7830:21;;;7867:18;;;7860:30;7926:34;7921:2;7906:18;;7899:62;7993:2;7978:18;;7646:356::o;9410:980::-;9672:4;9720:3;9709:9;9705:19;9751:6;9740:9;9733:25;9777:2;9815:6;9810:2;9799:9;9795:18;9788:34;9858:3;9853:2;9842:9;9838:18;9831:31;9882:6;9917;9911:13;9948:6;9940;9933:22;9986:3;9975:9;9971:19;9964:26;;10025:2;10017:6;10013:15;9999:29;;10046:1;10056:195;10070:6;10067:1;10064:13;10056:195;;;10135:13;;-1:-1:-1;;;;;10131:39:1;10119:52;;10226:15;;;;10191:12;;;;10167:1;10085:9;10056:195;;;-1:-1:-1;;;;;;;10307:32:1;;;;10302:2;10287:18;;10280:60;-1:-1:-1;;;10371:3:1;10356:19;10349:35;10268:3;9410:980;-1:-1:-1;;;9410:980:1:o;10584:128::-;10624:3;10655:1;10651:6;10648:1;10645:13;10642:39;;;10661:18;;:::i;:::-;-1:-1:-1;10697:9:1;;10584:128::o;10717:217::-;10757:1;10783;10773:132;;10827:10;10822:3;10818:20;10815:1;10808:31;10862:4;10859:1;10852:15;10890:4;10887:1;10880:15;10773:132;-1:-1:-1;10919:9:1;;10717:217::o;10939:168::-;10979:7;11045:1;11041;11037:6;11033:14;11030:1;11027:21;11022:1;11015:9;11008:17;11004:45;11001:71;;;11052:18;;:::i;:::-;-1:-1:-1;11092:9:1;;10939:168::o;11112:125::-;11152:4;11180:1;11177;11174:8;11171:34;;;11185:18;;:::i;:::-;-1:-1:-1;11222:9:1;;11112:125::o;11242:135::-;11281:3;-1:-1:-1;;11302:17:1;;11299:43;;;11322:18;;:::i;:::-;-1:-1:-1;11369:1:1;11358:13;;11242:135::o;11382:127::-;11443:10;11438:3;11434:20;11431:1;11424:31;11474:4;11471:1;11464:15;11498:4;11495:1;11488:15;11514:127;11575:10;11570:3;11566:20;11563:1;11556:31;11606:4;11603:1;11596:15;11630:4;11627:1;11620:15;11646:127;11707:10;11702:3;11698:20;11695:1;11688:31;11738:4;11735:1;11728:15;11762:4;11759:1;11752:15;11778:131;-1:-1:-1;;;;;11853:31:1;;11843:42;;11833:70;;11899:1;11896;11889:12

Swarm Source

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