ETH Price: $2,519.06 (-0.40%)

Token

Give Directly Inu (GDI)
 

Overview

Max Total Supply

1,000,000,000,000 GDI

Holders

15

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,576,962,795.8953516 GDI

Value
$0.00
0x2433b4d18710f859697cb4d67fd3acdc3f5992aa
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:
GiveDirectlyInu

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-26
*/

/**
 //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 GiveDirectlyInu 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) public isExcludedFromLimit;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1_000_000_000_000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 public swapThreshold = 100_000_000 * 10**9;
    
    uint256 private _reflectionFee = 0;
    uint256 private _teamFee = 4;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "Give Directly Inu";
    string private constant _symbol = "GDI";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap;
    bool private swapEnabled;
    bool private cooldownEnabled;

    uint256 private _maxTxAmount = 30_000_000_000 * 10**9;
    uint256 private _maxWalletAmount = 30_000_000_000 * 10**9;

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

    constructor (address wallet1, address wallet2) {
        _feeAddrWallet1 = payable(wallet1);
        _feeAddrWallet2 = payable(wallet2);
        _rOwned[_msgSender()] = _rTotal;

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[address(this)] = true;
        isExcludedFromFee[_feeAddrWallet1] = true;
        isExcludedFromFee[_feeAddrWallet2] = true;

        isExcludedFromLimit[owner()] = true;
        isExcludedFromLimit[address(this)] = true;
        isExcludedFromLimit[address(0xdead)] = true;
        isExcludedFromLimit[_feeAddrWallet1] = true;
        isExcludedFromLimit[_feeAddrWallet2] = true;

        emit Transfer(address(this), _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(balanceOf(from) >= amount, "ERC20: transfer amount exceeds balance");

        if (from != owner() && to != owner()) {

            require(!bots[from] && !bots[to]);

            if (!isExcludedFromLimit[from] || (from == uniswapV2Pair && !isExcludedFromLimit[to])) {
                require(amount <= _maxTxAmount, "Anti-whale: Transfer amount exceeds max limit");
            }
            if (!isExcludedFromLimit[to]) {
                require(balanceOf(to) + amount <= _maxWalletAmount, "Anti-whale: Wallet amount exceeds max limit");
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (60 seconds);
            }

            uint256 contractTokenBalance = balanceOf(address(this));

            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance >= swapThreshold) {
                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 openTrading() external onlyOwner() {
        require(!tradingOpen, "trading is already open");

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        isExcludedFromLimit[address(uniswapV2Router)] = true;
        isExcludedFromLimit[uniswapV2Pair] = true;

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);

        swapEnabled = true;
        cooldownEnabled = true;
        tradingOpen = true;

        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function changeMaxTxAmount(uint256 amount) public onlyOwner {
        _maxTxAmount = amount;
    }

    function changeMaxWalletAmount(uint256 amount) public onlyOwner {
        _maxWalletAmount = amount;
    }

    function changeSwapThreshold(uint256 amount) public onlyOwner {
        swapThreshold = amount;
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        isExcludedFromFee[account] = excluded;
    }

    function excludeFromLimits(address account, bool excluded) public onlyOwner {
        isExcludedFromLimit[account] = excluded;
    }
        
    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 rReflect, uint256 tTransferAmount, uint256 tReflect, uint256 tTeam) = _getValues(tAmount);
        
        _rOwned[sender] = _rOwned[sender].sub(rAmount);

        if (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) {
            _rOwned[recipient] = _rOwned[recipient].add(rAmount); 

            emit Transfer(sender, recipient, tAmount);
        } else {
            _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
            _takeTeam(tTeam);
            _reflectFee(rReflect, tReflect);

            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 tReflect, uint256 tTeam) = _getTValues(tAmount, _reflectionFee, _teamFee);

        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rReflect) = _getRValues(tAmount, tReflect, tTeam, currentRate);

        return (rAmount, rTransferAmount, rReflect, tTransferAmount, tReflect, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 reflectFee, uint256 teamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tReflect = tAmount.mul(reflectFee).div(100);
        uint256 tTeam = tAmount.mul(teamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tReflect).sub(tTeam);
        return (tTransferAmount, tReflect, tTeam);
    }

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

	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":"wallet1","type":"address"},{"internalType":"address","name":"wallet2","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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changeSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea00000600019620002cf565b6200002990600019620002f2565b60095567016345785d8a0000600b556000600c556004600d556801a055690d9db800006012556801a055690d9db800006013553480156200006957600080fd5b5060405162001fe738038062001fe78339810160408190526200008c9162000337565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b038085166001600160a01b031992831617909255600f805492841692909116919091179055600954600260006200010c3390565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060016005600062000146620002c060201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600e54821684528284208054861682179055600f54909116835290822080549093168117909255600690620001c86000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260069093528183208054851660019081179091557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054861682179055600e54821684528284208054861682179055600f54909116835291208054909216179055620002623390565b6001600160a01b0316306001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620002b091815260200190565b60405180910390a350506200036f565b6000546001600160a01b031690565b600082620002ed57634e487b7160e01b600052601260045260246000fd5b500690565b818103818111156200031457634e487b7160e01b600052601160045260246000fd5b92915050565b80516001600160a01b03811681146200033257600080fd5b919050565b600080604083850312156200034b57600080fd5b62000356836200031a565b915062000366602084016200031a565b90509250929050565b611c68806200037f6000396000f3fe60806040526004361061014f5760003560e01c8063715018a6116100b6578063c02466681161006f578063c0246668146103ed578063c0a904a21461040d578063c9567bf91461042d578063d94160e014610442578063dd62ed3e14610472578063f4293890146104b857600080fd5b8063715018a61461032e57806381bfdcca1461034357806389f425e7146103635780638da5cb5b1461038357806395d89b41146103a1578063a9059cbb146103cd57600080fd5b806349bd5a5e1161010857806349bd5a5e1461024f57806351bc3c85146102875780635342acb41461029e5780635932ead1146102ce578063677daa57146102ee57806370a082311461030e57600080fd5b80630445b6671461015b57806306fdde0314610184578063095ea7b3146101c757806318160ddd146101f757806323b872dd14610213578063313ce5671461023357600080fd5b3661015657005b600080fd5b34801561016757600080fd5b50610171600b5481565b6040519081526020015b60405180910390f35b34801561019057600080fd5b5060408051808201909152601181527047697665204469726563746c7920496e7560781b60208201525b60405161017b91906118d9565b3480156101d357600080fd5b506101e76101e236600461193c565b6104cd565b604051901515815260200161017b565b34801561020357600080fd5b50683635c9adc5dea00000610171565b34801561021f57600080fd5b506101e761022e366004611968565b6104e4565b34801561023f57600080fd5b506040516009815260200161017b565b34801561025b57600080fd5b5060115461026f906001600160a01b031681565b6040516001600160a01b03909116815260200161017b565b34801561029357600080fd5b5061029c61054d565b005b3480156102aa57600080fd5b506101e76102b93660046119a9565b60056020526000908152604090205460ff1681565b3480156102da57600080fd5b5061029c6102e93660046119d4565b610586565b3480156102fa57600080fd5b5061029c6103093660046119f1565b6105d7565b34801561031a57600080fd5b506101716103293660046119a9565b610606565b34801561033a57600080fd5b5061029c610628565b34801561034f57600080fd5b5061029c61035e3660046119f1565b61069c565b34801561036f57600080fd5b5061029c61037e3660046119f1565b6106cb565b34801561038f57600080fd5b506000546001600160a01b031661026f565b3480156103ad57600080fd5b5060408051808201909152600381526247444960e81b60208201526101ba565b3480156103d957600080fd5b506101e76103e836600461193c565b6106fa565b3480156103f957600080fd5b5061029c610408366004611a0a565b610707565b34801561041957600080fd5b5061029c610428366004611a0a565b61075c565b34801561043957600080fd5b5061029c6107b1565b34801561044e57600080fd5b506101e761045d3660046119a9565b60066020526000908152604090205460ff1681565b34801561047e57600080fd5b5061017161048d366004611a43565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104c457600080fd5b5061029c610b55565b60006104da338484610b7f565b5060015b92915050565b60006104f1848484610ca3565b610543843361053e85604051806060016040528060288152602001611c0b602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906110e9565b610b7f565b5060019392505050565b600e546001600160a01b0316336001600160a01b03161461056d57600080fd5b600061057830610606565b905061058381611123565b50565b6000546001600160a01b031633146105b95760405162461bcd60e51b81526004016105b090611a71565b60405180910390fd5b60118054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146106015760405162461bcd60e51b81526004016105b090611a71565b601255565b6001600160a01b0381166000908152600260205260408120546104de9061129d565b6000546001600160a01b031633146106525760405162461bcd60e51b81526004016105b090611a71565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106c65760405162461bcd60e51b81526004016105b090611a71565b601355565b6000546001600160a01b031633146106f55760405162461bcd60e51b81526004016105b090611a71565b600b55565b60006104da338484610ca3565b6000546001600160a01b031633146107315760405162461bcd60e51b81526004016105b090611a71565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107865760405162461bcd60e51b81526004016105b090611a71565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107db5760405162461bcd60e51b81526004016105b090611a71565b601154600160a01b900460ff16156108355760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105b0565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108723082683635c9adc5dea00000610b7f565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d49190611aa6565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610921573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109459190611aa6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610992573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b69190611aa6565b601180546001600160a01b0319166001600160a01b03928316178155601080548316600090815260066020526040808220805460ff1990811660019081179092559454861683529120805490931617909155541663f305d7194730610a1a81610606565b600080610a2f6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a97573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610abc9190611ac3565b50506011805463ffff00ff60a01b198116630101000160a01b1790915560105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b519190611af1565b5050565b600e546001600160a01b0316336001600160a01b031614610b7557600080fd5b4761058381611321565b6001600160a01b038316610be15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b0565b6001600160a01b038216610c425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d075760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b0565b6001600160a01b038216610d695760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b0565b80610d7384610606565b1015610dd05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105b0565b6000546001600160a01b03848116911614801590610dfc57506000546001600160a01b03838116911614155b156110d9576001600160a01b03831660009081526007602052604090205460ff16158015610e4357506001600160a01b03821660009081526007602052604090205460ff16155b610e4c57600080fd5b6001600160a01b03831660009081526006602052604090205460ff161580610ea557506011546001600160a01b038481169116148015610ea557506001600160a01b03821660009081526006602052604090205460ff16155b15610f1257601254811115610f125760405162461bcd60e51b815260206004820152602d60248201527f416e74692d7768616c653a205472616e7366657220616d6f756e74206578636560448201526c19591cc81b585e081b1a5b5a5d609a1b60648201526084016105b0565b6001600160a01b03821660009081526006602052604090205460ff16610fab5760135481610f3f84610606565b610f499190611b24565b1115610fab5760405162461bcd60e51b815260206004820152602b60248201527f416e74692d7768616c653a2057616c6c657420616d6f756e742065786365656460448201526a1cc81b585e081b1a5b5a5d60aa1b60648201526084016105b0565b6011546001600160a01b038481169116148015610fd657506010546001600160a01b03838116911614155b8015610ffb57506001600160a01b03821660009081526005602052604090205460ff16155b80156110105750601154600160b81b900460ff165b1561105e576001600160a01b038216600090815260086020526040902054421161103957600080fd5b61104442603c611b24565b6001600160a01b0383166000908152600860205260409020555b600061106930610606565b601154909150600160a81b900460ff1615801561109457506011546001600160a01b03858116911614155b80156110a95750601154600160b01b900460ff165b80156110b75750600b548110155b156110d7576110c581611123565b4780156110d5576110d547611321565b505b505b6110e48383836113a6565b505050565b6000818484111561110d5760405162461bcd60e51b81526004016105b091906118d9565b50600061111a8486611b37565b95945050505050565b6011805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061116b5761116b611b4a565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e89190611aa6565b816001815181106111fb576111fb611b4a565b6001600160a01b0392831660209182029290920101526010546112219130911684610b7f565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061125a908590600090869030904290600401611b60565b600060405180830381600087803b15801561127457600080fd5b505af1158015611288573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b60006009548211156113045760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105b0565b600061130e6113b1565b905061131a83826113d4565b9392505050565b600e546001600160a01b03166108fc61133b8360026113d4565b6040518115909202916000818181858888f19350505050158015611363573d6000803e3d6000fd5b50600f546001600160a01b03166108fc61137e8360026113d4565b6040518115909202916000818181858888f19350505050158015610b51573d6000803e3d6000fd5b6110e4838383611416565b60008060006113be6115d6565b90925090506113cd82826113d4565b9250505090565b600061131a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611618565b60008060008060008061142887611646565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061145a90876116a3565b6001600160a01b038a1660009081526002602090815260408083209390935560059052205460ff16806114a557506001600160a01b03881660009081526005602052604090205460ff165b1561152e576001600160a01b0388166000908152600260205260409020546114cd90876116e5565b6001600160a01b03808a1660008181526002602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611521908b815260200190565b60405180910390a36115cb565b6001600160a01b03881660009081526002602052604090205461155190866116e5565b6001600160a01b03891660009081526002602052604090205561157381611744565b61157d848361178e565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115c291815260200190565b60405180910390a35b505050505050505050565b6009546000908190683635c9adc5dea000006115f282826113d4565b82101561160f57505060095492683635c9adc5dea0000092509050565b90939092509050565b600081836116395760405162461bcd60e51b81526004016105b091906118d9565b50600061111a8486611bd1565b60008060008060008060008060006116638a600c54600d546117b2565b92509250925060006116736113b1565b905060008060006116868e878787611807565b919e509c509a509598509396509194505050505091939550919395565b600061131a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110e9565b6000806116f28385611b24565b90508381101561131a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b0565b600061174e6113b1565b9050600061175c8383611857565b3060009081526002602052604090205490915061177990826116e5565b30600090815260026020526040902055505050565b60095461179b90836116a3565b600955600a546117ab90826116e5565b600a555050565b60008080806117cc60646117c68989611857565b906113d4565b905060006117df60646117c68a89611857565b905060006117f7826117f18b866116a3565b906116a3565b9992985090965090945050505050565b60008080806118168886611857565b905060006118248887611857565b905060006118328888611857565b90506000611844826117f186866116a3565b939b939a50919850919650505050505050565b600082600003611869575060006104de565b60006118758385611bf3565b9050826118828583611bd1565b1461131a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b0565b600060208083528351808285015260005b81811015611906578581018301518582016040015282016118ea565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461058357600080fd5b6000806040838503121561194f57600080fd5b823561195a81611927565b946020939093013593505050565b60008060006060848603121561197d57600080fd5b833561198881611927565b9250602084013561199881611927565b929592945050506040919091013590565b6000602082840312156119bb57600080fd5b813561131a81611927565b801515811461058357600080fd5b6000602082840312156119e657600080fd5b813561131a816119c6565b600060208284031215611a0357600080fd5b5035919050565b60008060408385031215611a1d57600080fd5b8235611a2881611927565b91506020830135611a38816119c6565b809150509250929050565b60008060408385031215611a5657600080fd5b8235611a6181611927565b91506020830135611a3881611927565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611ab857600080fd5b815161131a81611927565b600080600060608486031215611ad857600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611b0357600080fd5b815161131a816119c6565b634e487b7160e01b600052601160045260246000fd5b808201808211156104de576104de611b0e565b818103818111156104de576104de611b0e565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611bb05784516001600160a01b031683529383019391830191600101611b8b565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611bee57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176104de576104de611b0e56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bdfc12d5f46d62142858ee6d97cc99ddb2f0d404bdc9cbf08d6d1b937416ab1164736f6c63430008110033000000000000000000000000ba104c4f96775e9d62e26e738e62f3180eff01a6000000000000000000000000ba104c4f96775e9d62e26e738e62f3180eff01a6

Deployed Bytecode

0x60806040526004361061014f5760003560e01c8063715018a6116100b6578063c02466681161006f578063c0246668146103ed578063c0a904a21461040d578063c9567bf91461042d578063d94160e014610442578063dd62ed3e14610472578063f4293890146104b857600080fd5b8063715018a61461032e57806381bfdcca1461034357806389f425e7146103635780638da5cb5b1461038357806395d89b41146103a1578063a9059cbb146103cd57600080fd5b806349bd5a5e1161010857806349bd5a5e1461024f57806351bc3c85146102875780635342acb41461029e5780635932ead1146102ce578063677daa57146102ee57806370a082311461030e57600080fd5b80630445b6671461015b57806306fdde0314610184578063095ea7b3146101c757806318160ddd146101f757806323b872dd14610213578063313ce5671461023357600080fd5b3661015657005b600080fd5b34801561016757600080fd5b50610171600b5481565b6040519081526020015b60405180910390f35b34801561019057600080fd5b5060408051808201909152601181527047697665204469726563746c7920496e7560781b60208201525b60405161017b91906118d9565b3480156101d357600080fd5b506101e76101e236600461193c565b6104cd565b604051901515815260200161017b565b34801561020357600080fd5b50683635c9adc5dea00000610171565b34801561021f57600080fd5b506101e761022e366004611968565b6104e4565b34801561023f57600080fd5b506040516009815260200161017b565b34801561025b57600080fd5b5060115461026f906001600160a01b031681565b6040516001600160a01b03909116815260200161017b565b34801561029357600080fd5b5061029c61054d565b005b3480156102aa57600080fd5b506101e76102b93660046119a9565b60056020526000908152604090205460ff1681565b3480156102da57600080fd5b5061029c6102e93660046119d4565b610586565b3480156102fa57600080fd5b5061029c6103093660046119f1565b6105d7565b34801561031a57600080fd5b506101716103293660046119a9565b610606565b34801561033a57600080fd5b5061029c610628565b34801561034f57600080fd5b5061029c61035e3660046119f1565b61069c565b34801561036f57600080fd5b5061029c61037e3660046119f1565b6106cb565b34801561038f57600080fd5b506000546001600160a01b031661026f565b3480156103ad57600080fd5b5060408051808201909152600381526247444960e81b60208201526101ba565b3480156103d957600080fd5b506101e76103e836600461193c565b6106fa565b3480156103f957600080fd5b5061029c610408366004611a0a565b610707565b34801561041957600080fd5b5061029c610428366004611a0a565b61075c565b34801561043957600080fd5b5061029c6107b1565b34801561044e57600080fd5b506101e761045d3660046119a9565b60066020526000908152604090205460ff1681565b34801561047e57600080fd5b5061017161048d366004611a43565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156104c457600080fd5b5061029c610b55565b60006104da338484610b7f565b5060015b92915050565b60006104f1848484610ca3565b610543843361053e85604051806060016040528060288152602001611c0b602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906110e9565b610b7f565b5060019392505050565b600e546001600160a01b0316336001600160a01b03161461056d57600080fd5b600061057830610606565b905061058381611123565b50565b6000546001600160a01b031633146105b95760405162461bcd60e51b81526004016105b090611a71565b60405180910390fd5b60118054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146106015760405162461bcd60e51b81526004016105b090611a71565b601255565b6001600160a01b0381166000908152600260205260408120546104de9061129d565b6000546001600160a01b031633146106525760405162461bcd60e51b81526004016105b090611a71565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106c65760405162461bcd60e51b81526004016105b090611a71565b601355565b6000546001600160a01b031633146106f55760405162461bcd60e51b81526004016105b090611a71565b600b55565b60006104da338484610ca3565b6000546001600160a01b031633146107315760405162461bcd60e51b81526004016105b090611a71565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107865760405162461bcd60e51b81526004016105b090611a71565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107db5760405162461bcd60e51b81526004016105b090611a71565b601154600160a01b900460ff16156108355760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105b0565b601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108723082683635c9adc5dea00000610b7f565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d49190611aa6565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610921573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109459190611aa6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610992573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b69190611aa6565b601180546001600160a01b0319166001600160a01b03928316178155601080548316600090815260066020526040808220805460ff1990811660019081179092559454861683529120805490931617909155541663f305d7194730610a1a81610606565b600080610a2f6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a97573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610abc9190611ac3565b50506011805463ffff00ff60a01b198116630101000160a01b1790915560105460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b519190611af1565b5050565b600e546001600160a01b0316336001600160a01b031614610b7557600080fd5b4761058381611321565b6001600160a01b038316610be15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105b0565b6001600160a01b038216610c425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105b0565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d075760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105b0565b6001600160a01b038216610d695760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105b0565b80610d7384610606565b1015610dd05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105b0565b6000546001600160a01b03848116911614801590610dfc57506000546001600160a01b03838116911614155b156110d9576001600160a01b03831660009081526007602052604090205460ff16158015610e4357506001600160a01b03821660009081526007602052604090205460ff16155b610e4c57600080fd5b6001600160a01b03831660009081526006602052604090205460ff161580610ea557506011546001600160a01b038481169116148015610ea557506001600160a01b03821660009081526006602052604090205460ff16155b15610f1257601254811115610f125760405162461bcd60e51b815260206004820152602d60248201527f416e74692d7768616c653a205472616e7366657220616d6f756e74206578636560448201526c19591cc81b585e081b1a5b5a5d609a1b60648201526084016105b0565b6001600160a01b03821660009081526006602052604090205460ff16610fab5760135481610f3f84610606565b610f499190611b24565b1115610fab5760405162461bcd60e51b815260206004820152602b60248201527f416e74692d7768616c653a2057616c6c657420616d6f756e742065786365656460448201526a1cc81b585e081b1a5b5a5d60aa1b60648201526084016105b0565b6011546001600160a01b038481169116148015610fd657506010546001600160a01b03838116911614155b8015610ffb57506001600160a01b03821660009081526005602052604090205460ff16155b80156110105750601154600160b81b900460ff165b1561105e576001600160a01b038216600090815260086020526040902054421161103957600080fd5b61104442603c611b24565b6001600160a01b0383166000908152600860205260409020555b600061106930610606565b601154909150600160a81b900460ff1615801561109457506011546001600160a01b03858116911614155b80156110a95750601154600160b01b900460ff165b80156110b75750600b548110155b156110d7576110c581611123565b4780156110d5576110d547611321565b505b505b6110e48383836113a6565b505050565b6000818484111561110d5760405162461bcd60e51b81526004016105b091906118d9565b50600061111a8486611b37565b95945050505050565b6011805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061116b5761116b611b4a565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e89190611aa6565b816001815181106111fb576111fb611b4a565b6001600160a01b0392831660209182029290920101526010546112219130911684610b7f565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061125a908590600090869030904290600401611b60565b600060405180830381600087803b15801561127457600080fd5b505af1158015611288573d6000803e3d6000fd5b50506011805460ff60a81b1916905550505050565b60006009548211156113045760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105b0565b600061130e6113b1565b905061131a83826113d4565b9392505050565b600e546001600160a01b03166108fc61133b8360026113d4565b6040518115909202916000818181858888f19350505050158015611363573d6000803e3d6000fd5b50600f546001600160a01b03166108fc61137e8360026113d4565b6040518115909202916000818181858888f19350505050158015610b51573d6000803e3d6000fd5b6110e4838383611416565b60008060006113be6115d6565b90925090506113cd82826113d4565b9250505090565b600061131a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611618565b60008060008060008061142887611646565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061145a90876116a3565b6001600160a01b038a1660009081526002602090815260408083209390935560059052205460ff16806114a557506001600160a01b03881660009081526005602052604090205460ff165b1561152e576001600160a01b0388166000908152600260205260409020546114cd90876116e5565b6001600160a01b03808a1660008181526002602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611521908b815260200190565b60405180910390a36115cb565b6001600160a01b03881660009081526002602052604090205461155190866116e5565b6001600160a01b03891660009081526002602052604090205561157381611744565b61157d848361178e565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115c291815260200190565b60405180910390a35b505050505050505050565b6009546000908190683635c9adc5dea000006115f282826113d4565b82101561160f57505060095492683635c9adc5dea0000092509050565b90939092509050565b600081836116395760405162461bcd60e51b81526004016105b091906118d9565b50600061111a8486611bd1565b60008060008060008060008060006116638a600c54600d546117b2565b92509250925060006116736113b1565b905060008060006116868e878787611807565b919e509c509a509598509396509194505050505091939550919395565b600061131a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110e9565b6000806116f28385611b24565b90508381101561131a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105b0565b600061174e6113b1565b9050600061175c8383611857565b3060009081526002602052604090205490915061177990826116e5565b30600090815260026020526040902055505050565b60095461179b90836116a3565b600955600a546117ab90826116e5565b600a555050565b60008080806117cc60646117c68989611857565b906113d4565b905060006117df60646117c68a89611857565b905060006117f7826117f18b866116a3565b906116a3565b9992985090965090945050505050565b60008080806118168886611857565b905060006118248887611857565b905060006118328888611857565b90506000611844826117f186866116a3565b939b939a50919850919650505050505050565b600082600003611869575060006104de565b60006118758385611bf3565b9050826118828583611bd1565b1461131a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105b0565b600060208083528351808285015260005b81811015611906578581018301518582016040015282016118ea565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461058357600080fd5b6000806040838503121561194f57600080fd5b823561195a81611927565b946020939093013593505050565b60008060006060848603121561197d57600080fd5b833561198881611927565b9250602084013561199881611927565b929592945050506040919091013590565b6000602082840312156119bb57600080fd5b813561131a81611927565b801515811461058357600080fd5b6000602082840312156119e657600080fd5b813561131a816119c6565b600060208284031215611a0357600080fd5b5035919050565b60008060408385031215611a1d57600080fd5b8235611a2881611927565b91506020830135611a38816119c6565b809150509250929050565b60008060408385031215611a5657600080fd5b8235611a6181611927565b91506020830135611a3881611927565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611ab857600080fd5b815161131a81611927565b600080600060608486031215611ad857600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611b0357600080fd5b815161131a816119c6565b634e487b7160e01b600052601160045260246000fd5b808201808211156104de576104de611b0e565b818103818111156104de576104de611b0e565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611bb05784516001600160a01b031683529383019391830191600101611b8b565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611bee57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176104de576104de611b0e56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bdfc12d5f46d62142858ee6d97cc99ddb2f0d404bdc9cbf08d6d1b937416ab1164736f6c63430008110033

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

000000000000000000000000ba104c4f96775e9d62e26e738e62f3180eff01a6000000000000000000000000ba104c4f96775e9d62e26e738e62f3180eff01a6

-----Decoded View---------------
Arg [0] : wallet1 (address): 0xBa104C4f96775e9d62e26e738E62F3180Eff01a6
Arg [1] : wallet2 (address): 0xBa104C4f96775e9d62e26e738E62F3180Eff01a6

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000ba104c4f96775e9d62e26e738e62f3180eff01a6
Arg [1] : 000000000000000000000000ba104c4f96775e9d62e26e738e62f3180eff01a6


Deployed Bytecode Sourcemap

3528:11603:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4216:50;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4216:50:0;;;;;;;;5760:83;;;;;;;;;;-1:-1:-1;5830:5:0;;;;;;;;;;;;-1:-1:-1;;;5830:5:0;;;;5760:83;;;;;;;:::i;6612:161::-;;;;;;;;;;-1:-1:-1;6612:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6612:161:0;1205:187:1;6037:95:0;;;;;;;;;;-1:-1:-1;4093:25:0;6037:95;;6781:313;;;;;;;;;;-1:-1:-1;6781:313:0;;;;;:::i;:::-;;:::i;5946:83::-;;;;;;;;;;-1:-1:-1;5946:83:0;;4592:1;2000:36:1;;1988:2;1973:18;5946:83:0;1858:184:1;4655:28:0;;;;;;;;;;-1:-1:-1;4655:28:0;;;;-1:-1:-1;;;;;4655:28:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;4655:28:0;2047:203:1;12966:195:0;;;;;;;;;;;;;:::i;:::-;;3799:50;;;;;;;;;;-1:-1:-1;3799:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7102:101;;;;;;;;;;-1:-1:-1;7102:101:0;;;;;:::i;:::-;;:::i;11002:100::-;;;;;;;;;;-1:-1:-1;11002:100:0;;;;;:::i;:::-;;:::i;6140:138::-;;;;;;;;;;-1:-1:-1;6140:138:0;;;;;:::i;:::-;;:::i;2607:148::-;;;;;;;;;;;;;:::i;11110:108::-;;;;;;;;;;-1:-1:-1;11110:108:0;;;;;:::i;:::-;;:::i;11226:103::-;;;;;;;;;;-1:-1:-1;11226:103:0;;;;;:::i;:::-;;:::i;2393:79::-;;;;;;;;;;-1:-1:-1;2431:7:0;2458:6;-1:-1:-1;;;;;2458:6:0;2393:79;;5851:87;;;;;;;;;;-1:-1:-1;5923:7:0;;;;;;;;;;;;-1:-1:-1;;;5923:7:0;;;;5851:87;;6286:167;;;;;;;;;;-1:-1:-1;6286:167:0;;;;;:::i;:::-;;:::i;11337:130::-;;;;;;;;;;-1:-1:-1;11337:130:0;;;;;:::i;:::-;;:::i;11475:134::-;;;;;;;;;;-1:-1:-1;11475:134:0;;;;;:::i;:::-;;:::i;10097:897::-;;;;;;;;;;;;;:::i;3856:52::-;;;;;;;;;;-1:-1:-1;3856:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6461:143;;;;;;;;;;-1:-1:-1;6461:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6569:18:0;;;6542:7;6569:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6461:143;13173:194;;;;;;;;;;;;;:::i;6612:161::-;6687:4;6704:39;191:10;6727:7;6736:6;6704:8;:39::i;:::-;-1:-1:-1;6761:4:0;6612:161;;;;;:::o;6781:313::-;6879:4;6896:36;6906:6;6914:9;6925:6;6896:9;:36::i;:::-;6943:121;6952:6;191:10;6974:89;7012:6;6974:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6974:19:0;;;;;;:11;:19;;;;;;;;191:10;6974:33;;;;;;;;;;:37;:89::i;:::-;6943:8;:121::i;:::-;-1:-1:-1;7082:4:0;6781:313;;;;;:::o;12966:195::-;13032:15;;-1:-1:-1;;;;;13032:15:0;191:10;-1:-1:-1;;;;;13016:31:0;;13008:40;;;;;;13059:23;13085:24;13103:4;13085:9;:24::i;:::-;13059:50;;13120:33;13137:15;13120:16;:33::i;:::-;12997:164;12966:195::o;7102:101::-;2520:6;;-1:-1:-1;;;;;2520:6:0;191:10;2520:22;2512:67;;;;-1:-1:-1;;;2512:67:0;;;;;;;:::i;:::-;;;;;;;;;7172:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;7172:23:0::1;-1:-1:-1::0;;;;7172:23:0;;::::1;::::0;;;::::1;::::0;;7102:101::o;11002:100::-;2520:6;;-1:-1:-1;;;;;2520:6:0;191:10;2520:22;2512:67;;;;-1:-1:-1;;;2512:67:0;;;;;;;:::i;:::-;11073:12:::1;:21:::0;11002:100::o;6140:138::-;-1:-1:-1;;;;;6253:16:0;;6206:7;6253:16;;;:7;:16;;;;;;6233:37;;:19;:37::i;2607:148::-;2520:6;;-1:-1:-1;;;;;2520:6:0;191:10;2520:22;2512:67;;;;-1:-1:-1;;;2512:67:0;;;;;;;:::i;:::-;2714:1:::1;2698:6:::0;;2677:40:::1;::::0;-1:-1:-1;;;;;2698:6:0;;::::1;::::0;2677:40:::1;::::0;2714:1;;2677:40:::1;2745:1;2728:19:::0;;-1:-1:-1;;;;;;2728:19:0::1;::::0;;2607:148::o;11110:108::-;2520:6;;-1:-1:-1;;;;;2520:6:0;191:10;2520:22;2512:67;;;;-1:-1:-1;;;2512:67:0;;;;;;;:::i;:::-;11185:16:::1;:25:::0;11110:108::o;11226:103::-;2520:6;;-1:-1:-1;;;;;2520:6:0;191:10;2520:22;2512:67;;;;-1:-1:-1;;;2512:67:0;;;;;;;:::i;:::-;11299:13:::1;:22:::0;11226:103::o;6286:167::-;6364:4;6381:42;191:10;6405:9;6416:6;6381:9;:42::i;11337:130::-;2520:6;;-1:-1:-1;;;;;2520:6:0;191:10;2520:22;2512:67;;;;-1:-1:-1;;;2512:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11422:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;11422:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11337:130::o;11475:134::-;2520:6;;-1:-1:-1;;;;;2520:6:0;191:10;2520:22;2512:67;;;;-1:-1:-1;;;2512:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11562:28:0;;;::::1;;::::0;;;:19:::1;:28;::::0;;;;:39;;-1:-1:-1;;11562:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11475:134::o;10097:897::-;2520:6;;-1:-1:-1;;;;;2520:6:0;191:10;2520:22;2512:67;;;;-1:-1:-1;;;2512:67:0;;;;;;;:::i;:::-;10161:11:::1;::::0;-1:-1:-1;;;10161:11:0;::::1;;;10160:12;10152:48;;;::::0;-1:-1:-1;;;10152:48:0;;4404:2:1;10152:48:0::1;::::0;::::1;4386:21:1::0;4443:2;4423:18;;;4416:30;4482:25;4462:18;;;4455:53;4525:18;;10152:48:0::1;4202:347:1::0;10152:48:0::1;10324:15;:34:::0;;-1:-1:-1;;;;;;10324:34:0::1;10270:42;10324:34:::0;;::::1;::::0;;;10369:58:::1;10386:4;10270:42:::0;4093:25:::1;10369:8;:58::i;:::-;10472:16;-1:-1:-1::0;;;;;10472:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10454:56:0::1;;10519:4;10526:16;-1:-1:-1::0;;;;;10526:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10454:96;::::0;-1:-1:-1;;;;;;10454:96:0::1;::::0;;;;;;-1:-1:-1;;;;;5040:15:1;;;10454:96:0::1;::::0;::::1;5022:34:1::0;5092:15;;5072:18;;;5065:43;4957:18;;10454:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10438:13;:112:::0;;-1:-1:-1;;;;;;10438:112:0::1;-1:-1:-1::0;;;;;10438:112:0;;::::1;;::::0;;10591:15:::1;::::0;;;::::1;-1:-1:-1::0;10563:45:0;;;:19:::1;:45;::::0;;;;;:52;;-1:-1:-1;;10563:52:0;;::::1;-1:-1:-1::0;10563:52:0;;::::1;::::0;;;10646:13;;;::::1;10626:34:::0;;;;:41;;;;::::1;;::::0;;;10680:15;::::1;:31;10719:21;10750:4;10756:24;10750:4:::0;10756:9:::1;:24::i;:::-;10781:1;10783::::0;10785:7:::1;2431::::0;2458:6;-1:-1:-1;;;;;2458:6:0;;2393:79;10785:7:::1;10680:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10680:129:0;;;-1:-1:-1;;;;;5478:15:1;;;10680:129:0::1;::::0;::::1;5460:34:1::0;5510:18;;;5503:34;;;;5553:18;;;5546:34;;;;5596:18;;;5589:34;5660:15;;;5639:19;;;5632:44;10793:15:0::1;5692:19:1::0;;;5685:35;5394:19;;10680:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10822:11:0::1;:18:::0;;-1:-1:-1;;;;10884:18:0;;-1:-1:-1;;;10884:18:0;;;;10953:15:::1;::::0;10915:71:::1;::::0;-1:-1:-1;;;10915:71:0;;-1:-1:-1;;;;;10953:15:0;;::::1;10915:71;::::0;::::1;6216:51:1::0;-1:-1:-1;;6283:18:1;;;6276:34;10922:13:0;;;-1:-1:-1;10915:29:0::1;::::0;6189:18:1;;10915:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10141:853;10097:897::o:0;13173:194::-;13239:15;;-1:-1:-1;;;;;13239:15:0;191:10;-1:-1:-1;;;;;13223:31:0;;13215:40;;;;;;13295:21;13327:32;13295:21;13327:12;:32::i;7473:335::-;-1:-1:-1;;;;;7566:19:0;;7558:68;;;;-1:-1:-1;;;7558:68:0;;6773:2:1;7558:68:0;;;6755:21:1;6812:2;6792:18;;;6785:30;6851:34;6831:18;;;6824:62;-1:-1:-1;;;6902:18:1;;;6895:34;6946:19;;7558:68:0;6571:400:1;7558:68:0;-1:-1:-1;;;;;7645:21:0;;7637:68;;;;-1:-1:-1;;;7637:68:0;;7178:2:1;7637:68:0;;;7160:21:1;7217:2;7197:18;;;7190:30;7256:34;7236:18;;;7229:62;-1:-1:-1;;;7307:18:1;;;7300:32;7349:19;;7637:68:0;6976:398:1;7637:68:0;-1:-1:-1;;;;;7716:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7768:32;;160:25:1;;;7768:32:0;;133:18:1;7768:32:0;;;;;;;7473:335;;;:::o;7816:1608::-;-1:-1:-1;;;;;7904:18:0;;7896:68;;;;-1:-1:-1;;;7896:68:0;;7581:2:1;7896:68:0;;;7563:21:1;7620:2;7600:18;;;7593:30;7659:34;7639:18;;;7632:62;-1:-1:-1;;;7710:18:1;;;7703:35;7755:19;;7896:68:0;7379:401:1;7896:68:0;-1:-1:-1;;;;;7983:16:0;;7975:64;;;;-1:-1:-1;;;7975:64:0;;7987:2:1;7975:64:0;;;7969:21:1;8026:2;8006:18;;;7999:30;8065:34;8045:18;;;8038:62;-1:-1:-1;;;8116:18:1;;;8109:33;8159:19;;7975:64:0;7785:399:1;7975:64:0;8079:6;8060:15;8070:4;8060:9;:15::i;:::-;:25;;8052:76;;;;-1:-1:-1;;;8052:76:0;;8391:2:1;8052:76:0;;;8373:21:1;8430:2;8410:18;;;8403:30;8469:34;8449:18;;;8442:62;-1:-1:-1;;;8520:18:1;;;8513:36;8566:19;;8052:76:0;8189:402:1;8052:76:0;2431:7;2458:6;-1:-1:-1;;;;;8145:15:0;;;2458:6;;8145:15;;;;:32;;-1:-1:-1;2431:7:0;2458:6;-1:-1:-1;;;;;8164:13:0;;;2458:6;;8164:13;;8145:32;8141:1231;;;-1:-1:-1;;;;;8205:10:0;;;;;;:4;:10;;;;;;;;8204:11;:24;;;;-1:-1:-1;;;;;;8220:8:0;;;;;;:4;:8;;;;;;;;8219:9;8204:24;8196:33;;;;;;-1:-1:-1;;;;;8251:25:0;;;;;;:19;:25;;;;;;;;8250:26;;:81;;-1:-1:-1;8289:13:0;;-1:-1:-1;;;;;8281:21:0;;;8289:13;;8281:21;:49;;;;-1:-1:-1;;;;;;8307:23:0;;;;;;:19;:23;;;;;;;;8306:24;8281:49;8246:202;;;8370:12;;8360:6;:22;;8352:80;;;;-1:-1:-1;;;8352:80:0;;8798:2:1;8352:80:0;;;8780:21:1;8837:2;8817:18;;;8810:30;8876:34;8856:18;;;8849:62;-1:-1:-1;;;8927:18:1;;;8920:43;8980:19;;8352:80:0;8596:409:1;8352:80:0;-1:-1:-1;;;;;8467:23:0;;;;;;:19;:23;;;;;;;;8462:163;;8545:16;;8535:6;8519:13;8529:2;8519:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;8511:98;;;;-1:-1:-1;;;8511:98:0;;9474:2:1;8511:98:0;;;9456:21:1;9513:2;9493:18;;;9486:30;9552:34;9532:18;;;9525:62;-1:-1:-1;;;9603:18:1;;;9596:41;9654:19;;8511:98:0;9272:407:1;8511:98:0;8653:13;;-1:-1:-1;;;;;8645:21:0;;;8653:13;;8645:21;:55;;;;-1:-1:-1;8684:15:0;;-1:-1:-1;;;;;8670:30:0;;;8684:15;;8670:30;;8645:55;:81;;;;-1:-1:-1;;;;;;8705:21:0;;;;;;:17;:21;;;;;;;;8704:22;8645:81;:100;;;;-1:-1:-1;8730:15:0;;-1:-1:-1;;;8730:15:0;;;;8645:100;8641:273;;;-1:-1:-1;;;;;8803:12:0;;;;;;:8;:12;;;;;;8818:15;-1:-1:-1;8795:39:0;;;;;;8868:30;:15;8887:10;8868:30;:::i;:::-;-1:-1:-1;;;;;8853:12:0;;;;;;:8;:12;;;;;:45;8641:273;8930:28;8961:24;8979:4;8961:9;:24::i;:::-;9007:6;;8930:55;;-1:-1:-1;;;;9007:6:0;;;;9006:7;:32;;;;-1:-1:-1;9025:13:0;;-1:-1:-1;;;;;9017:21:0;;;9025:13;;9017:21;;9006:32;:47;;;;-1:-1:-1;9042:11:0;;-1:-1:-1;;;9042:11:0;;;;9006:47;:88;;;;;9081:13;;9057:20;:37;;9006:88;9002:359;;;9115:38;9132:20;9115:16;:38::i;:::-;9201:21;9244:22;;9241:105;;9291:35;9304:21;9291:12;:35::i;:::-;9096:265;9002:359;8179:1193;8141:1231;9386:30;9401:4;9406:2;9409:6;9386:14;:30::i;:::-;7816:1608;;;:::o;1248:190::-;1334:7;1370:12;1362:6;;;;1354:29;;;;-1:-1:-1;;;1354:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1394:9:0;1406:5;1410:1;1406;:5;:::i;:::-;1394:17;1248:190;-1:-1:-1;;;;;1248:190:0:o;9432:483::-;4973:6;:13;;-1:-1:-1;;;;4973:13:0;-1:-1:-1;;;4973:13:0;;;9534:16:::1;::::0;;9548:1:::1;9534:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9534:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9534:16:0::1;9510:40;;9579:4;9561;9566:1;9561:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9561:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9605:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9605:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9561:7;;9605:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9595:4;9600:1;9595:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9595:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9670:15:::1;::::0;9638:62:::1;::::0;9655:4:::1;::::0;9670:15:::1;9688:11:::0;9638:8:::1;:62::i;:::-;9711:15;::::0;:196:::1;::::0;-1:-1:-1;;;9711:196:0;;-1:-1:-1;;;;;9711:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9792:11;;9711:15:::1;::::0;9834:4;;9861::::1;::::0;9881:15:::1;::::0;9711:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5009:6:0;:14;;-1:-1:-1;;;;5009:14:0;;;-1:-1:-1;;;;9432:483:0:o;7211:254::-;7278:7;7317;;7306;:18;;7298:73;;;;-1:-1:-1;;;7298:73:0;;11268:2:1;7298:73:0;;;11250:21:1;11307:2;11287:18;;;11280:30;11346:34;11326:18;;;11319:62;-1:-1:-1;;;11397:18:1;;;11390:40;11447:19;;7298:73:0;11066:406:1;7298:73:0;7382:19;7405:10;:8;:10::i;:::-;7382:33;-1:-1:-1;7433:24:0;:7;7382:33;7433:11;:24::i;:::-;7426:31;7211:254;-1:-1:-1;;;7211:254:0:o;9931:154::-;9988:15;;-1:-1:-1;;;;;9988:15:0;:39;10013:13;:6;10024:1;10013:10;:13::i;:::-;9988:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10038:15:0;;-1:-1:-1;;;;;10038:15:0;:39;10063:13;:6;10074:1;10063:10;:13::i;:::-;10038:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11625:146;11719:44;11737:6;11745:9;11756:6;11719:17;:44::i;14695:163::-;14736:7;14757:15;14774;14793:19;:17;:19::i;:::-;14756:56;;-1:-1:-1;14756:56:0;-1:-1:-1;14830:20:0;14756:56;;14830:11;:20::i;:::-;14823:27;;;;14695:163;:::o;1700:132::-;1758:7;1785:39;1789:1;1792;1785:39;;;;;;;;;;;;;;;;;:3;:39::i;11779:763::-;11878:15;11895:23;11920:16;11938:23;11963:16;11981:13;11998:19;12009:7;11998:10;:19::i;:::-;-1:-1:-1;;;;;12056:15:0;;;;;;:7;:15;;;;;;11877:140;;-1:-1:-1;11877:140:0;;-1:-1:-1;11877:140:0;;-1:-1:-1;11877:140:0;-1:-1:-1;11877:140:0;-1:-1:-1;11877:140:0;-1:-1:-1;12056:28:0;;11877:140;12056:19;:28::i;:::-;-1:-1:-1;;;;;12038:15:0;;;;;;:7;:15;;;;;;;;:46;;;;12101:17;:25;;;;;;;:57;;-1:-1:-1;;;;;;12130:28:0;;;;;;:17;:28;;;;;;;;12101:57;12097:438;;;-1:-1:-1;;;;;12196:18:0;;;;;;:7;:18;;;;;;:31;;12219:7;12196:22;:31::i;:::-;-1:-1:-1;;;;;12175:18:0;;;;;;;:7;:18;;;;;;;:52;;;;12250:36;;;;;;;;;;12278:7;160:25:1;;148:2;133:18;;14:177;12250:36:0;;;;;;;;12097:438;;;-1:-1:-1;;;;;12340:18:0;;;;;;:7;:18;;;;;;:39;;12363:15;12340:22;:39::i;:::-;-1:-1:-1;;;;;12319:18:0;;;;;;:7;:18;;;;;:60;12395:16;12405:5;12395:9;:16::i;:::-;12426:31;12438:8;12448;12426:11;:31::i;:::-;12496:9;-1:-1:-1;;;;;12479:44:0;12488:6;-1:-1:-1;;;;;12479:44:0;;12507:15;12479:44;;;;160:25:1;;148:2;133:18;;14:177;12479:44:0;;;;;;;;12097:438;11866:676;;;;;;11779:763;;;:::o;14866:262::-;14963:7;;14916;;;;4093:25;15037:20;14963:7;4093:25;15037:11;:20::i;:::-;15027:7;:30;15023:61;;;-1:-1:-1;;15067:7:0;;;4093:25;;-1:-1:-1;14866:262:0;-1:-1:-1;14866:262:0:o;15023:61::-;15103:7;;15112;;-1:-1:-1;14866:262:0;-1:-1:-1;14866:262:0:o;1840:189::-;1926:7;1961:12;1954:5;1946:28;;;;-1:-1:-1;;;1946:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1985:9:0;1997:5;2001:1;1997;:5;:::i;13375:499::-;13434:7;13443;13452;13461;13470;13479;13500:23;13525:16;13543:13;13560:46;13572:7;13581:14;;13597:8;;13560:11;:46::i;:::-;13499:107;;;;;;13619:19;13642:10;:8;:10::i;:::-;13619:33;;13664:15;13681:23;13706:16;13726:50;13738:7;13747:8;13757:5;13764:11;13726;:50::i;:::-;13663:113;;-1:-1:-1;13663:113:0;-1:-1:-1;13663:113:0;-1:-1:-1;13833:15:0;;-1:-1:-1;13850:8:0;;-1:-1:-1;13860:5:0;;-1:-1:-1;;;;;13375:499:0;;;;;;;:::o;1104:136::-;1162:7;1189:43;1193:1;1196;1189:43;;;;;;;;;;;;;;;;;:3;:43::i;917:179::-;975:7;;1007:5;1011:1;1007;:5;:::i;:::-;995:17;;1036:1;1031;:6;;1023:46;;;;-1:-1:-1;;;1023:46:0;;11901:2:1;1023:46:0;;;11883:21:1;11940:2;11920:18;;;11913:30;11979:29;11959:18;;;11952:57;12026:18;;1023:46:0;11699:351:1;12550:212:0;12603:19;12626:10;:8;:10::i;:::-;12603:33;-1:-1:-1;12647:13:0;12663:22;:5;12603:33;12663:9;:22::i;:::-;12737:4;12721:22;;;;:7;:22;;;;;;12647:38;;-1:-1:-1;12721:33:0;;12647:38;12721:26;:33::i;:::-;12712:4;12696:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12550:212:0:o;12770:147::-;12848:7;;:17;;12860:4;12848:11;:17::i;:::-;12838:7;:27;12889:10;;:20;;12904:4;12889:14;:20::i;:::-;12876:10;:33;-1:-1:-1;;12770:147:0:o;13882:371::-;13979:7;;;;14036:32;14064:3;14036:23;:7;14048:10;14036:11;:23::i;:::-;:27;;:32::i;:::-;14017:51;-1:-1:-1;14079:13:0;14095:29;14120:3;14095:20;:7;14107;14095:11;:20::i;:29::-;14079:45;-1:-1:-1;14135:23:0;14161:32;14079:45;14161:21;:7;14173:8;14161:11;:21::i;:::-;:25;;:32::i;:::-;14135:58;14229:8;;-1:-1:-1;14239:5:0;;-1:-1:-1;13882:371:0;;-1:-1:-1;;;;;13882:371:0:o;14261:429::-;14375:7;;;;14431:24;:7;14443:11;14431;:24::i;:::-;14413:42;-1:-1:-1;14466:16:0;14485:25;:8;14498:11;14485:12;:25::i;:::-;14466:44;-1:-1:-1;14521:13:0;14537:22;:5;14547:11;14537:9;:22::i;:::-;14521:38;-1:-1:-1;14570:23:0;14596:32;14521:38;14596:21;:7;14608:8;14596:11;:21::i;:32::-;14647:7;;;;-1:-1:-1;14673:8:0;;-1:-1:-1;14261:429:0;;-1:-1:-1;;;;;;;14261:429:0:o;1446:246::-;1504:7;1528:1;1533;1528:6;1524:47;;-1:-1:-1;1558:1:0;1551:8;;1524:47;1581:9;1593:5;1597:1;1593;:5;:::i;:::-;1581:17;-1:-1:-1;1626:1:0;1617:5;1621:1;1581:17;1617:5;:::i;:::-;:10;1609:56;;;;-1:-1:-1;;;1609:56:0;;12430:2:1;1609:56:0;;;12412:21:1;12469:2;12449:18;;;12442:30;12508:34;12488:18;;;12481:62;-1:-1:-1;;;12559:18:1;;;12552:31;12600:19;;1609:56:0;12228:397:1;196:548;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:118::-;2593:5;2586:13;2579:21;2572:5;2569:32;2559:60;;2615:1;2612;2605:12;2630:241;2686:6;2739:2;2727:9;2718:7;2714:23;2710:32;2707:52;;;2755:1;2752;2745:12;2707:52;2794:9;2781:23;2813:28;2835:5;2813:28;:::i;2876:180::-;2935:6;2988:2;2976:9;2967:7;2963:23;2959:32;2956:52;;;3004:1;3001;2994:12;2956:52;-1:-1:-1;3027:23:1;;2876:180;-1:-1:-1;2876:180:1:o;3061:382::-;3126:6;3134;3187:2;3175:9;3166:7;3162:23;3158:32;3155:52;;;3203:1;3200;3193:12;3155:52;3242:9;3229:23;3261:31;3286:5;3261:31;:::i;:::-;3311:5;-1:-1:-1;3368:2:1;3353:18;;3340:32;3381:30;3340:32;3381:30;:::i;:::-;3430:7;3420:17;;;3061:382;;;;;:::o;3448:388::-;3516:6;3524;3577:2;3565:9;3556:7;3552:23;3548:32;3545:52;;;3593:1;3590;3583:12;3545:52;3632:9;3619:23;3651:31;3676:5;3651:31;:::i;:::-;3701:5;-1:-1:-1;3758:2:1;3743:18;;3730:32;3771:33;3730:32;3771:33;:::i;3841:356::-;4043:2;4025:21;;;4062:18;;;4055:30;4121:34;4116:2;4101:18;;4094:62;4188:2;4173:18;;3841:356::o;4554:251::-;4624:6;4677:2;4665:9;4656:7;4652:23;4648:32;4645:52;;;4693:1;4690;4683:12;4645:52;4725:9;4719:16;4744:31;4769:5;4744:31;:::i;5731:306::-;5819:6;5827;5835;5888:2;5876:9;5867:7;5863:23;5859:32;5856:52;;;5904:1;5901;5894:12;5856:52;5933:9;5927:16;5917:26;;5983:2;5972:9;5968:18;5962:25;5952:35;;6027:2;6016:9;6012:18;6006:25;5996:35;;5731:306;;;;;:::o;6321:245::-;6388:6;6441:2;6429:9;6420:7;6416:23;6412:32;6409:52;;;6457:1;6454;6447:12;6409:52;6489:9;6483:16;6508:28;6530:5;6508:28;:::i;9010:127::-;9071:10;9066:3;9062:20;9059:1;9052:31;9102:4;9099:1;9092:15;9126:4;9123:1;9116:15;9142:125;9207:9;;;9228:10;;;9225:36;;;9241:18;;:::i;9684:128::-;9751:9;;;9772:11;;;9769:37;;;9786:18;;:::i;9949:127::-;10010:10;10005:3;10001:20;9998:1;9991:31;10041:4;10038:1;10031:15;10065:4;10062:1;10055:15;10081:980;10343:4;10391:3;10380:9;10376:19;10422:6;10411:9;10404:25;10448:2;10486:6;10481:2;10470:9;10466:18;10459:34;10529:3;10524:2;10513:9;10509:18;10502:31;10553:6;10588;10582:13;10619:6;10611;10604:22;10657:3;10646:9;10642:19;10635:26;;10696:2;10688:6;10684:15;10670:29;;10717:1;10727:195;10741:6;10738:1;10735:13;10727:195;;;10806:13;;-1:-1:-1;;;;;10802:39:1;10790:52;;10897:15;;;;10862:12;;;;10838:1;10756:9;10727:195;;;-1:-1:-1;;;;;;;10978:32:1;;;;10973:2;10958:18;;10951:60;-1:-1:-1;;;11042:3:1;11027:19;11020:35;10939:3;10081:980;-1:-1:-1;;;10081:980:1:o;11477:217::-;11517:1;11543;11533:132;;11587:10;11582:3;11578:20;11575:1;11568:31;11622:4;11619:1;11612:15;11650:4;11647:1;11640:15;11533:132;-1:-1:-1;11679:9:1;;11477:217::o;12055:168::-;12128:9;;;12159;;12176:15;;;12170:22;;12156:37;12146:71;;12197:18;;:::i

Swarm Source

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