ETH Price: $3,411.40 (-7.22%)
 

Overview

Max Total Supply

20,240,000,000 TrumpPepeMuskDogeSaylorBTC

Holders

30

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000023 TrumpPepeMuskDogeSaylorBTC

Value
$0.00
0x2D4A2aD8180828815D4eD601686c40c762011380
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:
bitcoin2024

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
 * SPDX-License-Identifier: MIT
 * 
 *  _     _ _            _         _____  _____  _____   ___ 
 * | |   (_) |          (_)       / __  \|  _  |/ __  \ /   |
 * | |__  _| |_ ___ ___  _ _ __   `' / /'| |/' |`' / /'/ /| |
 * | '_ \| | __/ __/ _ \| | '_ \    / /  |  /| |  / / / /_| |
 * | |_) | | || (_| (_) | | | | | ./ /___\ |_/ /./ /__\___  |
 * |_.__/|_|\__\___\___/|_|_| |_| \_____/ \___/ \_____/   |_/
 *                                                        
 *
 * For more information, visit:
 * - https://bitcoin2024.fun
 * - https://x.com/TrumpMuskSaylor
 * - https://t.me/bitcoin_2024_verification
 */                                                                         
pragma solidity ^0.8.23;
 
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;
    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);
    }
 
    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 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;
    }
}
 
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
 
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
 
    function factory() external pure returns (address);
 
    function WETH() external pure returns (address);
 
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
 
contract bitcoin2024 is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "bitcoin2024";
    string private constant _symbol = "TrumpPepeMuskDogeSaylorBTC";
    uint8 private constant _decimals = 9;
 
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 20_240_000_000 * 10 ** _decimals;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _taxFeeOnBuy = 25;
    uint256 private _taxFeeOnSell = 35;
 
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previoustaxFee = _taxFee;
 
    address payable private _devAddress;
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = _tTotal.div(100);
    uint256 public _maxWalletSize = _tTotal.div(100);
    uint256 public _swapTokensAtAmount = 1000 * 10**_decimals;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor(address routerAddress, address devAddress) {
 
        _tOwned[_msgSender()] = _rTotal;
 
        _devAddress = payable(devAddress);

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(routerAddress);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_devAddress] = true;
 
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }
 
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
 
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
 
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
 
    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromRef(_tOwned[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,
                "the transfer amount exceeds allowance"
            )
        );
        return true;
    }
 
    function tokenFromRef(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount has to be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
 
    function remAllFee() private {
        if (_taxFee == 0) return;
        _previoustaxFee = _taxFee;
        _taxFee = 0;
    }
 
    function resAllFee() private {
        _taxFee = _previoustaxFee;
    }
 
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "Can't approve from zero address");
        require(spender != address(0), "Can't approve to zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(to != address(0), "Cant transfer to address zero");
        require(amount > 0, "Amount should be above zero");
 
        if (from != owner() && to != owner()) {
 
            if (!tradingOpen) {
                require(from == owner(), "Only owner can trade before trading activation");
            }
 
            require(amount <= _maxTxAmount, "Exceeded max transaction limit");
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds max wallet balance");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
 
        bool takeFee = true;
 
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
 
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnBuy;
            }
 
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
    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 {
        _devAddress.transfer(amount);
    }
 
    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }
 
    function manualSwap() external {
        require(_msgSender() == _devAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manualSend() external {
        require(_msgSender() == _devAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) remAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) resAllFee();
    }
 
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 tTransferAmount,
            uint256 tCom
        ) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(rTransferAmount);
        _takeCom(tCom);
        emit Transfer(sender, recipient, tTransferAmount);
    }
 
    function _takeCom(uint256 tCom) private {
        uint256 currentRate = _getRate();
        uint256 rCom = tCom.mul(currentRate);
        _tOwned[address(this)] = _tOwned[address(this)].add(rCom);
    }
 
    receive() external payable {}
 
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount,  uint256 tTeam) =
            _getTValues(tAmount, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount) =
            _getRValues(tAmount, tTeam, currentRate);
        return (rAmount, rTransferAmount, tTransferAmount, tTeam);
    }
 
    function _getTValues(
        uint256 tAmount,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256
        )
    {
        uint256 tTeam = tAmount.mul(taxFee).div(100); 
        uint256 tTransferAmount = tAmount.sub(tTeam); 
        return (tTransferAmount, tTeam);
    }
 
    function _getRValues(
        uint256 tAmount,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rTeam);
        return (rAmount, rTransferAmount);
    }
 
    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);
    }
 
    function setFee(uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 95, "Buy tax must be between 0% and 95%");
        require(taxFeeOnSell >= 0 && taxFeeOnSell <= 95, "Sell tax must be between 0% and 95%");

        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;

    }

    function setMinSwapTokens(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    function enabledSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
           _maxTxAmount = maxTxAmount;
    }
 
    function setMaxWalletAmount(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
 
    function excludeAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function changeDevelopmentAddress(address newDevAddress) public onlyOwner {
        require(newDevAddress != address(0), "New development address cannot be zero address");
        _isExcludedFromFee[_devAddress] = false;
        _devAddress = payable(newDevAddress);
        _isExcludedFromFee[_devAddress] = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"},{"internalType":"address","name":"devAddress","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":[],"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":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDevAddress","type":"address"}],"name":"changeDevelopmentAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"enabledSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","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"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526100106009600a6104e4565b61001f906404b665e4006104f2565b61002a905f1961051d565b610035905f19610530565b6005556019600755602360088190556009818155600a918255600d805461ffff60a81b1916600160b01b17905561008791606491610072916104e4565b610081906404b665e4006104f2565b9061035f565b600e5561009b60646100726009600a6104e4565b600f556100aa6009600a6104e4565b6100b6906103e86104f2565b6010553480156100c4575f80fd5b506040516121543803806121548339810160408190526100e39161055e565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600554335f9081526002602090815260409182902092909255600b80546001600160a01b038581166001600160a01b031992831617909255600c80549287169290911682179055815163c45a015560e01b815291518593919263c45a01559260048083019391928290030181865afa1580156101a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c5919061058f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610210573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610234919061058f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561027e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a2919061058f565b600d80546001600160a01b0319166001600160a01b039283161790555f80548216815260046020526040808220805460ff1990811660019081179092553084528284208054821683179055600b54909416835291208054909216179055336001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6103376009600a6104e4565b610346906404b665e4006104f2565b60405190815260200160405180910390a35050506105f0565b5f6103a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506103af60201b60201c565b90505b92915050565b5f81836103d85760405162461bcd60e51b81526004016103cf91906105a8565b60405180910390fd5b505f6103e484866105dd565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561043c57808504811115610420576104206103ed565b600184161561042e57908102905b60019390931c928002610405565b935093915050565b5f82610452575060016103a9565b8161045e57505f6103a9565b8160018114610474576002811461047e5761049a565b60019150506103a9565b60ff84111561048f5761048f6103ed565b50506001821b6103a9565b5060208310610133831016604e8410600b84101617156104bd575081810a6103a9565b6104c95f198484610401565b805f19048211156104dc576104dc6103ed565b029392505050565b5f6103a660ff841683610444565b80820281158282048414176103a9576103a96103ed565b634e487b7160e01b5f52601260045260245ffd5b5f8261052b5761052b610509565b500690565b818103818111156103a9576103a96103ed565b80516001600160a01b0381168114610559575f80fd5b919050565b5f806040838503121561056f575f80fd5b61057883610543565b915061058660208401610543565b90509250929050565b5f6020828403121561059f575f80fd5b6103a682610543565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f826105eb576105eb610509565b500490565b611b57806105fd5f395ff3fe608060405260043610610198575f3560e01c8063715018a6116100e757806395d89b4111610087578063dd88800511610062578063dd888005146104cf578063f2fde38b146104ee578063f42938901461050d578063fb0c264314610521575f80fd5b806395d89b4114610427578063a9059cbb1461046c578063dd62ed3e1461048b575f80fd5b80638da5cb5b116100c25780638da5cb5b146103b85780638f70ccf7146103d45780638f9a55c0146103f357806390d2c93a14610408575f80fd5b8063715018a61461037057806374010ece146103845780637d1db4a5146103a3575f80fd5b80632fd689e31161015257806351bc3c851161012d57806351bc3c85146102ff57806352f7c9881461031357806365db9cbb1461033257806370a0823114610351575f80fd5b80632fd689e3146102b0578063313ce567146102c557806349bd5a5e146102e0575f80fd5b806306fdde03146101a3578063095ea7b3146101e85780631694505e1461021757806318160ddd1461024e57806323b872dd1461027057806327a14fc21461028f575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b5060408051808201909152600b81526a189a5d18dbda5b8c8c0c8d60aa1b60208201525b6040516101df91906116e9565b60405180910390f35b3480156101f3575f80fd5b50610207610202366004611732565b610540565b60405190151581526020016101df565b348015610222575f80fd5b50600c54610236906001600160a01b031681565b6040516001600160a01b0390911681526020016101df565b348015610259575f80fd5b50610262610556565b6040519081526020016101df565b34801561027b575f80fd5b5061020761028a36600461175c565b610577565b34801561029a575f80fd5b506102ae6102a936600461179a565b6105de565b005b3480156102bb575f80fd5b5061026260105481565b3480156102d0575f80fd5b50604051600981526020016101df565b3480156102eb575f80fd5b50600d54610236906001600160a01b031681565b34801561030a575f80fd5b506102ae610615565b34801561031e575f80fd5b506102ae61032d3660046117b1565b61064c565b34801561033d575f80fd5b506102ae61034c3660046117e5565b610739565b34801561035c575f80fd5b5061026261036b3660046117fe565b610780565b34801561037b575f80fd5b506102ae6107a1565b34801561038f575f80fd5b506102ae61039e36600461179a565b610812565b3480156103ae575f80fd5b50610262600e5481565b3480156103c3575f80fd5b505f546001600160a01b0316610236565b3480156103df575f80fd5b506102ae6103ee3660046117e5565b610840565b3480156103fe575f80fd5b50610262600f5481565b348015610413575f80fd5b506102ae610422366004611819565b610887565b348015610432575f80fd5b5060408051808201909152601a81527f5472756d70506570654d75736b446f67655361796c6f7242544300000000000060208201526101d2565b348015610477575f80fd5b50610207610486366004611732565b61091a565b348015610496575f80fd5b506102626104a5366004611898565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b3480156104da575f80fd5b506102ae6104e936600461179a565b610926565b3480156104f9575f80fd5b506102ae6105083660046117fe565b610954565b348015610518575f80fd5b506102ae610a3b565b34801561052c575f80fd5b506102ae61053b3660046117fe565b610a64565b5f61054c338484610b49565b5060015b92915050565b5f6105636009600a6119be565b610572906404b665e4006119cc565b905090565b5f610583848484610c55565b6105d484336105cf85604051806060016040528060258152602001611afd602591396001600160a01b038a165f9081526003602090815260408083203384529091529020549190611045565b610b49565b5060019392505050565b5f546001600160a01b031633146106105760405162461bcd60e51b8152600401610607906119e3565b60405180910390fd5b600f55565b600b546001600160a01b0316336001600160a01b031614610634575f80fd5b5f61063e30610780565b90506106498161107d565b50565b5f546001600160a01b031633146106755760405162461bcd60e51b8152600401610607906119e3565b605f8211156106d15760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642039604482015261352560f01b6064820152608401610607565b605f81111561072e5760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526239352560e81b6064820152608401610607565b600791909155600855565b5f546001600160a01b031633146107625760405162461bcd60e51b8152600401610607906119e3565b600d8054911515600160b01b0260ff60b01b19909216919091179055565b6001600160a01b0381165f90815260026020526040812054610550906111ed565b5f546001600160a01b031633146107ca5760405162461bcd60e51b8152600401610607906119e3565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461083b5760405162461bcd60e51b8152600401610607906119e3565b600e55565b5f546001600160a01b031633146108695760405162461bcd60e51b8152600401610607906119e3565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b031633146108b05760405162461bcd60e51b8152600401610607906119e3565b5f5b82811015610914578160045f8686858181106108d0576108d0611a18565b90506020020160208101906108e591906117fe565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016108b2565b50505050565b5f61054c338484610c55565b5f546001600160a01b0316331461094f5760405162461bcd60e51b8152600401610607906119e3565b601055565b5f546001600160a01b0316331461097d5760405162461bcd60e51b8152600401610607906119e3565b6001600160a01b0381166109e25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610607565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b600b546001600160a01b0316336001600160a01b031614610a5a575f80fd5b4761064981611271565b5f546001600160a01b03163314610a8d5760405162461bcd60e51b8152600401610607906119e3565b6001600160a01b038116610afa5760405162461bcd60e51b815260206004820152602e60248201527f4e657720646576656c6f706d656e7420616464726573732063616e6e6f74206260448201526d65207a65726f206164647265737360901b6064820152608401610607565b600b80546001600160a01b039081165f90815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6001600160a01b038316610b9f5760405162461bcd60e51b815260206004820152601f60248201527f43616e277420617070726f76652066726f6d207a65726f2061646472657373006044820152606401610607565b6001600160a01b038216610bf55760405162461bcd60e51b815260206004820152601d60248201527f43616e277420617070726f766520746f207a65726f20616464726573730000006044820152606401610607565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216610cab5760405162461bcd60e51b815260206004820152601d60248201527f43616e74207472616e7366657220746f2061646472657373207a65726f0000006044820152606401610607565b5f8111610cfa5760405162461bcd60e51b815260206004820152601b60248201527f416d6f756e742073686f756c642062652061626f7665207a65726f00000000006044820152606401610607565b5f546001600160a01b03848116911614801590610d2457505f546001600160a01b03838116911614155b15610f4d57600d54600160a01b900460ff16610dad575f546001600160a01b03848116911614610dad5760405162461bcd60e51b815260206004820152602e60248201527f4f6e6c79206f776e65722063616e207472616465206265666f7265207472616460448201526d34b7339030b1ba34bb30ba34b7b760911b6064820152608401610607565b600e54811115610dff5760405162461bcd60e51b815260206004820152601e60248201527f4578636565646564206d6178207472616e73616374696f6e206c696d697400006044820152606401610607565b600d546001600160a01b03838116911614610e7957600f5481610e2184610780565b610e2b9190611a2c565b1115610e795760405162461bcd60e51b815260206004820152601a60248201527f45786365656473206d61782077616c6c65742062616c616e63650000000000006044820152606401610607565b5f610e8330610780565b601054600e54919250821015908210610e9c57600e5491505b808015610eb35750600d54600160a81b900460ff16155b8015610ecd5750600d546001600160a01b03868116911614155b8015610ee25750600d54600160b01b900460ff165b8015610f0657506001600160a01b0385165f9081526004602052604090205460ff16155b8015610f2a57506001600160a01b0384165f9081526004602052604090205460ff16155b15610f4a57610f388261107d565b478015610f4857610f4847611271565b505b50505b6001600160a01b0383165f9081526004602052604090205460019060ff1680610f8d57506001600160a01b0383165f9081526004602052604090205460ff165b80610fbf5750600d546001600160a01b03858116911614801590610fbf5750600d546001600160a01b03848116911614155b15610fcb57505f611039565b600d546001600160a01b038581169116148015610ff65750600c546001600160a01b03848116911614155b15611002576007546009555b600d546001600160a01b03848116911614801561102d5750600c546001600160a01b03858116911614155b15611039576008546009555b610914848484846112ac565b5f81848411156110685760405162461bcd60e51b815260040161060791906116e9565b505f6110748486611a3f565b95945050505050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110c3576110c3611a18565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561111a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061113e9190611a52565b8160018151811061115157611151611a18565b6001600160a01b039283166020918202929092010152600c546111779130911684610b49565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111af9085905f90869030904290600401611a6d565b5f604051808303815f87803b1580156111c6575f80fd5b505af11580156111d8573d5f803e3d5ffd5b5050600d805460ff60a81b1916905550505050565b5f6005548211156112555760405162461bcd60e51b815260206004820152602c60248201527f416d6f756e742068617320746f206265206c657373207468616e20746f74616c60448201526b207265666c656374696f6e7360a01b6064820152608401610607565b5f61125e6112d4565b905061126a83826112f5565b9392505050565b600b546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156112a8573d5f803e3d5ffd5b5050565b806112b9576112b9611336565b6112c484848461134d565b8061091457610914600a54600955565b5f805f6112df61142b565b90925090506112ee82826112f5565b9250505090565b5f61126a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114af565b6009545f0361134157565b60098054600a555f9055565b5f805f8061135a856114db565b6001600160a01b038b165f9081526002602052604090205493975091955093509150611386908561151d565b6001600160a01b038089165f9081526002602052604080822093909355908816815220546113b4908461155e565b6001600160a01b0387165f908152600260205260409020556113d5816115bc565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161141a91815260200190565b60405180910390a350505050505050565b6005545f9081908161143f6009600a6119be565b61144e906404b665e4006119cc565b905061147761145f6009600a6119be565b61146e906404b665e4006119cc565b600554906112f5565b8210156114a65760055461148d6009600a6119be565b61149c906404b665e4006119cc565b9350935050509091565b90939092509050565b5f81836114cf5760405162461bcd60e51b815260040161060791906116e9565b505f6110748486611add565b5f805f805f806114ed87600954611602565b915091505f6114fa6112d4565b90505f806115098a8585611633565b909b909a5094985092965092945050505050565b5f61126a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611045565b5f8061156a8385611a2c565b90508381101561126a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610607565b5f6115c56112d4565b90505f6115d2838361166b565b305f908152600260205260409020549091506115ee908261155e565b305f90815260026020526040902055505050565b5f808061161a6064611614878761166b565b906112f5565b90505f611627868361151d565b96919550909350505050565b5f8080611640868561166b565b90505f61164d868661166b565b90505f61165a838361151d565b92945091925050505b935093915050565b5f825f0361167a57505f610550565b5f61168583856119cc565b9050826116928583611add565b1461126a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610607565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610649575f80fd5b5f8060408385031215611743575f80fd5b823561174e8161171e565b946020939093013593505050565b5f805f6060848603121561176e575f80fd5b83356117798161171e565b925060208401356117898161171e565b929592945050506040919091013590565b5f602082840312156117aa575f80fd5b5035919050565b5f80604083850312156117c2575f80fd5b50508035926020909101359150565b803580151581146117e0575f80fd5b919050565b5f602082840312156117f5575f80fd5b61126a826117d1565b5f6020828403121561180e575f80fd5b813561126a8161171e565b5f805f6040848603121561182b575f80fd5b833567ffffffffffffffff811115611841575f80fd5b8401601f81018613611851575f80fd5b803567ffffffffffffffff811115611867575f80fd5b8660208260051b840101111561187b575f80fd5b60209182019450925061188f9085016117d1565b90509250925092565b5f80604083850312156118a9575f80fd5b82356118b48161171e565b915060208301356118c48161171e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561166357808504811115611902576119026118cf565b600184161561191057908102905b60019390931c9280026118e7565b5f8261192c57506001610550565b8161193857505f610550565b816001811461194e576002811461195857611974565b6001915050610550565b60ff841115611969576119696118cf565b50506001821b610550565b5060208310610133831016604e8410600b8410161715611997575081810a610550565b6119a35f1984846118e3565b805f19048211156119b6576119b66118cf565b029392505050565b5f61126a60ff84168361191e565b8082028115828204841417610550576105506118cf565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b80820180821115610550576105506118cf565b81810381811115610550576105506118cf565b5f60208284031215611a62575f80fd5b815161126a8161171e565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611abd5783516001600160a01b0316835260209384019390920191600101611a96565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611af757634e487b7160e01b5f52601260045260245ffd5b50049056fe746865207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ca4ddd1d297a276e9ab442ffbf2329f2e2383e50b033ef68f28fdb0b2678bc0264736f6c634300081a00330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000003ee3842814240dcdf0437fdc125af3f894d7ebaf

Deployed Bytecode

0x608060405260043610610198575f3560e01c8063715018a6116100e757806395d89b4111610087578063dd88800511610062578063dd888005146104cf578063f2fde38b146104ee578063f42938901461050d578063fb0c264314610521575f80fd5b806395d89b4114610427578063a9059cbb1461046c578063dd62ed3e1461048b575f80fd5b80638da5cb5b116100c25780638da5cb5b146103b85780638f70ccf7146103d45780638f9a55c0146103f357806390d2c93a14610408575f80fd5b8063715018a61461037057806374010ece146103845780637d1db4a5146103a3575f80fd5b80632fd689e31161015257806351bc3c851161012d57806351bc3c85146102ff57806352f7c9881461031357806365db9cbb1461033257806370a0823114610351575f80fd5b80632fd689e3146102b0578063313ce567146102c557806349bd5a5e146102e0575f80fd5b806306fdde03146101a3578063095ea7b3146101e85780631694505e1461021757806318160ddd1461024e57806323b872dd1461027057806327a14fc21461028f575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b5060408051808201909152600b81526a189a5d18dbda5b8c8c0c8d60aa1b60208201525b6040516101df91906116e9565b60405180910390f35b3480156101f3575f80fd5b50610207610202366004611732565b610540565b60405190151581526020016101df565b348015610222575f80fd5b50600c54610236906001600160a01b031681565b6040516001600160a01b0390911681526020016101df565b348015610259575f80fd5b50610262610556565b6040519081526020016101df565b34801561027b575f80fd5b5061020761028a36600461175c565b610577565b34801561029a575f80fd5b506102ae6102a936600461179a565b6105de565b005b3480156102bb575f80fd5b5061026260105481565b3480156102d0575f80fd5b50604051600981526020016101df565b3480156102eb575f80fd5b50600d54610236906001600160a01b031681565b34801561030a575f80fd5b506102ae610615565b34801561031e575f80fd5b506102ae61032d3660046117b1565b61064c565b34801561033d575f80fd5b506102ae61034c3660046117e5565b610739565b34801561035c575f80fd5b5061026261036b3660046117fe565b610780565b34801561037b575f80fd5b506102ae6107a1565b34801561038f575f80fd5b506102ae61039e36600461179a565b610812565b3480156103ae575f80fd5b50610262600e5481565b3480156103c3575f80fd5b505f546001600160a01b0316610236565b3480156103df575f80fd5b506102ae6103ee3660046117e5565b610840565b3480156103fe575f80fd5b50610262600f5481565b348015610413575f80fd5b506102ae610422366004611819565b610887565b348015610432575f80fd5b5060408051808201909152601a81527f5472756d70506570654d75736b446f67655361796c6f7242544300000000000060208201526101d2565b348015610477575f80fd5b50610207610486366004611732565b61091a565b348015610496575f80fd5b506102626104a5366004611898565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b3480156104da575f80fd5b506102ae6104e936600461179a565b610926565b3480156104f9575f80fd5b506102ae6105083660046117fe565b610954565b348015610518575f80fd5b506102ae610a3b565b34801561052c575f80fd5b506102ae61053b3660046117fe565b610a64565b5f61054c338484610b49565b5060015b92915050565b5f6105636009600a6119be565b610572906404b665e4006119cc565b905090565b5f610583848484610c55565b6105d484336105cf85604051806060016040528060258152602001611afd602591396001600160a01b038a165f9081526003602090815260408083203384529091529020549190611045565b610b49565b5060019392505050565b5f546001600160a01b031633146106105760405162461bcd60e51b8152600401610607906119e3565b60405180910390fd5b600f55565b600b546001600160a01b0316336001600160a01b031614610634575f80fd5b5f61063e30610780565b90506106498161107d565b50565b5f546001600160a01b031633146106755760405162461bcd60e51b8152600401610607906119e3565b605f8211156106d15760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642039604482015261352560f01b6064820152608401610607565b605f81111561072e5760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526239352560e81b6064820152608401610607565b600791909155600855565b5f546001600160a01b031633146107625760405162461bcd60e51b8152600401610607906119e3565b600d8054911515600160b01b0260ff60b01b19909216919091179055565b6001600160a01b0381165f90815260026020526040812054610550906111ed565b5f546001600160a01b031633146107ca5760405162461bcd60e51b8152600401610607906119e3565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461083b5760405162461bcd60e51b8152600401610607906119e3565b600e55565b5f546001600160a01b031633146108695760405162461bcd60e51b8152600401610607906119e3565b600d8054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b031633146108b05760405162461bcd60e51b8152600401610607906119e3565b5f5b82811015610914578160045f8686858181106108d0576108d0611a18565b90506020020160208101906108e591906117fe565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016108b2565b50505050565b5f61054c338484610c55565b5f546001600160a01b0316331461094f5760405162461bcd60e51b8152600401610607906119e3565b601055565b5f546001600160a01b0316331461097d5760405162461bcd60e51b8152600401610607906119e3565b6001600160a01b0381166109e25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610607565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b600b546001600160a01b0316336001600160a01b031614610a5a575f80fd5b4761064981611271565b5f546001600160a01b03163314610a8d5760405162461bcd60e51b8152600401610607906119e3565b6001600160a01b038116610afa5760405162461bcd60e51b815260206004820152602e60248201527f4e657720646576656c6f706d656e7420616464726573732063616e6e6f74206260448201526d65207a65726f206164647265737360901b6064820152608401610607565b600b80546001600160a01b039081165f90815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6001600160a01b038316610b9f5760405162461bcd60e51b815260206004820152601f60248201527f43616e277420617070726f76652066726f6d207a65726f2061646472657373006044820152606401610607565b6001600160a01b038216610bf55760405162461bcd60e51b815260206004820152601d60248201527f43616e277420617070726f766520746f207a65726f20616464726573730000006044820152606401610607565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216610cab5760405162461bcd60e51b815260206004820152601d60248201527f43616e74207472616e7366657220746f2061646472657373207a65726f0000006044820152606401610607565b5f8111610cfa5760405162461bcd60e51b815260206004820152601b60248201527f416d6f756e742073686f756c642062652061626f7665207a65726f00000000006044820152606401610607565b5f546001600160a01b03848116911614801590610d2457505f546001600160a01b03838116911614155b15610f4d57600d54600160a01b900460ff16610dad575f546001600160a01b03848116911614610dad5760405162461bcd60e51b815260206004820152602e60248201527f4f6e6c79206f776e65722063616e207472616465206265666f7265207472616460448201526d34b7339030b1ba34bb30ba34b7b760911b6064820152608401610607565b600e54811115610dff5760405162461bcd60e51b815260206004820152601e60248201527f4578636565646564206d6178207472616e73616374696f6e206c696d697400006044820152606401610607565b600d546001600160a01b03838116911614610e7957600f5481610e2184610780565b610e2b9190611a2c565b1115610e795760405162461bcd60e51b815260206004820152601a60248201527f45786365656473206d61782077616c6c65742062616c616e63650000000000006044820152606401610607565b5f610e8330610780565b601054600e54919250821015908210610e9c57600e5491505b808015610eb35750600d54600160a81b900460ff16155b8015610ecd5750600d546001600160a01b03868116911614155b8015610ee25750600d54600160b01b900460ff165b8015610f0657506001600160a01b0385165f9081526004602052604090205460ff16155b8015610f2a57506001600160a01b0384165f9081526004602052604090205460ff16155b15610f4a57610f388261107d565b478015610f4857610f4847611271565b505b50505b6001600160a01b0383165f9081526004602052604090205460019060ff1680610f8d57506001600160a01b0383165f9081526004602052604090205460ff165b80610fbf5750600d546001600160a01b03858116911614801590610fbf5750600d546001600160a01b03848116911614155b15610fcb57505f611039565b600d546001600160a01b038581169116148015610ff65750600c546001600160a01b03848116911614155b15611002576007546009555b600d546001600160a01b03848116911614801561102d5750600c546001600160a01b03858116911614155b15611039576008546009555b610914848484846112ac565b5f81848411156110685760405162461bcd60e51b815260040161060791906116e9565b505f6110748486611a3f565b95945050505050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110c3576110c3611a18565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561111a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061113e9190611a52565b8160018151811061115157611151611a18565b6001600160a01b039283166020918202929092010152600c546111779130911684610b49565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111af9085905f90869030904290600401611a6d565b5f604051808303815f87803b1580156111c6575f80fd5b505af11580156111d8573d5f803e3d5ffd5b5050600d805460ff60a81b1916905550505050565b5f6005548211156112555760405162461bcd60e51b815260206004820152602c60248201527f416d6f756e742068617320746f206265206c657373207468616e20746f74616c60448201526b207265666c656374696f6e7360a01b6064820152608401610607565b5f61125e6112d4565b905061126a83826112f5565b9392505050565b600b546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156112a8573d5f803e3d5ffd5b5050565b806112b9576112b9611336565b6112c484848461134d565b8061091457610914600a54600955565b5f805f6112df61142b565b90925090506112ee82826112f5565b9250505090565b5f61126a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114af565b6009545f0361134157565b60098054600a555f9055565b5f805f8061135a856114db565b6001600160a01b038b165f9081526002602052604090205493975091955093509150611386908561151d565b6001600160a01b038089165f9081526002602052604080822093909355908816815220546113b4908461155e565b6001600160a01b0387165f908152600260205260409020556113d5816115bc565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161141a91815260200190565b60405180910390a350505050505050565b6005545f9081908161143f6009600a6119be565b61144e906404b665e4006119cc565b905061147761145f6009600a6119be565b61146e906404b665e4006119cc565b600554906112f5565b8210156114a65760055461148d6009600a6119be565b61149c906404b665e4006119cc565b9350935050509091565b90939092509050565b5f81836114cf5760405162461bcd60e51b815260040161060791906116e9565b505f6110748486611add565b5f805f805f806114ed87600954611602565b915091505f6114fa6112d4565b90505f806115098a8585611633565b909b909a5094985092965092945050505050565b5f61126a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611045565b5f8061156a8385611a2c565b90508381101561126a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610607565b5f6115c56112d4565b90505f6115d2838361166b565b305f908152600260205260409020549091506115ee908261155e565b305f90815260026020526040902055505050565b5f808061161a6064611614878761166b565b906112f5565b90505f611627868361151d565b96919550909350505050565b5f8080611640868561166b565b90505f61164d868661166b565b90505f61165a838361151d565b92945091925050505b935093915050565b5f825f0361167a57505f610550565b5f61168583856119cc565b9050826116928583611add565b1461126a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610607565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610649575f80fd5b5f8060408385031215611743575f80fd5b823561174e8161171e565b946020939093013593505050565b5f805f6060848603121561176e575f80fd5b83356117798161171e565b925060208401356117898161171e565b929592945050506040919091013590565b5f602082840312156117aa575f80fd5b5035919050565b5f80604083850312156117c2575f80fd5b50508035926020909101359150565b803580151581146117e0575f80fd5b919050565b5f602082840312156117f5575f80fd5b61126a826117d1565b5f6020828403121561180e575f80fd5b813561126a8161171e565b5f805f6040848603121561182b575f80fd5b833567ffffffffffffffff811115611841575f80fd5b8401601f81018613611851575f80fd5b803567ffffffffffffffff811115611867575f80fd5b8660208260051b840101111561187b575f80fd5b60209182019450925061188f9085016117d1565b90509250925092565b5f80604083850312156118a9575f80fd5b82356118b48161171e565b915060208301356118c48161171e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561166357808504811115611902576119026118cf565b600184161561191057908102905b60019390931c9280026118e7565b5f8261192c57506001610550565b8161193857505f610550565b816001811461194e576002811461195857611974565b6001915050610550565b60ff841115611969576119696118cf565b50506001821b610550565b5060208310610133831016604e8410600b8410161715611997575081810a610550565b6119a35f1984846118e3565b805f19048211156119b6576119b66118cf565b029392505050565b5f61126a60ff84168361191e565b8082028115828204841417610550576105506118cf565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b80820180821115610550576105506118cf565b81810381811115610550576105506118cf565b5f60208284031215611a62575f80fd5b815161126a8161171e565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611abd5783516001600160a01b0316835260209384019390920191600101611a96565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611af757634e487b7160e01b5f52601260045260245ffd5b50049056fe746865207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ca4ddd1d297a276e9ab442ffbf2329f2e2383e50b033ef68f28fdb0b2678bc0264736f6c634300081a0033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000003ee3842814240dcdf0437fdc125af3f894d7ebaf

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : devAddress (address): 0x3Ee3842814240dCdF0437FDC125aF3F894D7EbAF

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 0000000000000000000000003ee3842814240dcdf0437fdc125af3f894d7ebaf


Deployed Bytecode Sourcemap

4763:11759:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6752:83;;;;;;;;;;-1:-1:-1;6822:5:0;;;;;;;;;;;;-1:-1:-1;;;6822:5:0;;;;6752:83;;;;;;;:::i;:::-;;;;;;;;7677:193;;;;;;;;;;-1:-1:-1;7677:193:0;;;;;:::i;:::-;;:::i;:::-;;;1110:14:1;;1103:22;1085:41;;1073:2;1058:18;7677:193:0;945:187:1;5648:41:0;;;;;;;;;;-1:-1:-1;5648:41:0;;;;-1:-1:-1;;;;;5648:41:0;;;;;;-1:-1:-1;;;;;1327:32:1;;;1309:51;;1297:2;1282:18;5648:41:0;1137:229:1;7032:95:0;;;;;;;;;;;;;:::i;:::-;;;1517:25:1;;;1505:2;1490:18;7032:95:0;1371:177:1;7879:443:0;;;;;;;;;;-1:-1:-1;7879:443:0;;;;;:::i;:::-;;:::i;15834:117::-;;;;;;;;;;-1:-1:-1;15834:117:0;;;;;:::i;:::-;;:::i;:::-;;5948:57;;;;;;;;;;;;;;;;6940:83;;;;;;;;;;-1:-1:-1;6940:83:0;;5014:1;2439:36:1;;2427:2;2412:18;6940:83:0;2297:184:1;5696:28:0;;;;;;;;;;-1:-1:-1;5696:28:0;;;;-1:-1:-1;;;;;5696:28:0;;;11880:191;;;;;;;;;;;;;:::i;15101:357::-;;;;;;;;;;-1:-1:-1;15101:357:0;;;;;:::i;:::-;;:::i;15604:102::-;;;;;;;;;;-1:-1:-1;15604:102:0;;;;;:::i;:::-;;:::i;7136:131::-;;;;;;;;;;-1:-1:-1;7136:131:0;;;;;:::i;:::-;;:::i;2236:148::-;;;;;;;;;;;;;:::i;15714:111::-;;;;;;;;;;-1:-1:-1;15714:111:0;;;;;:::i;:::-;;:::i;5840:46::-;;;;;;;;;;;;;;;;2020:79;;;;;;;;;;-1:-1:-1;2058:7:0;2085:6;-1:-1:-1;;;;;2085:6:0;2020:79;;11770:101;;;;;;;;;;-1:-1:-1;11770:101:0;;;;;:::i;:::-;;:::i;5893:48::-;;;;;;;;;;;;;;;;15960:226;;;;;;;;;;-1:-1:-1;15960:226:0;;;;;:::i;:::-;;:::i;6844:87::-;;;;;;;;;;-1:-1:-1;6916:7:0;;;;;;;;;;;;;;;;;6844:87;;7276:199;;;;;;;;;;-1:-1:-1;7276:199:0;;;;;:::i;:::-;;:::i;7484:184::-;;;;;;;;;;-1:-1:-1;7484:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7633:18:0;;;7601:7;7633:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7484:184;15466:130;;;;;;;;;;-1:-1:-1;15466:130:0;;;;;:::i;:::-;;:::i;2393:244::-;;;;;;;;;;-1:-1:-1;2393:244:0;;;;;:::i;:::-;;:::i;12080:190::-;;;;;;;;;;;;;:::i;16194:325::-;;;;;;;;;;-1:-1:-1;16194:325:0;;;;;:::i;:::-;;:::i;7677:193::-;7779:4;7801:39;849:10;7824:7;7833:6;7801:8;:39::i;:::-;-1:-1:-1;7858:4:0;7677:193;;;;;:::o;7032:95::-;7085:7;5308:15;5014:1;5308:2;:15;:::i;:::-;5291:32;;:14;:32;:::i;:::-;7105:14;;7032:95;:::o;7879:443::-;8011:4;8028:36;8038:6;8046:9;8057:6;8028:9;:36::i;:::-;8075:217;8098:6;849:10;8146:135;8202:6;8146:135;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8146:19:0;;;;;;:11;:19;;;;;;;;849:10;8146:33;;;;;;;;;;:37;:135::i;:::-;8075:8;:217::i;:::-;-1:-1:-1;8310:4:0;7879:443;;;;;:::o;15834:117::-;2148:6;;-1:-1:-1;;;;;2148:6:0;849:10;2148:22;2140:67;;;;-1:-1:-1;;;2140:67:0;;;;;;;:::i;:::-;;;;;;;;;15913:14:::1;:30:::0;15834:117::o;11880:191::-;11946:11;;-1:-1:-1;;;;;11946:11:0;849:10;-1:-1:-1;;;;;11930:27:0;;11922:36;;;;;;11969:23;11995:24;12013:4;11995:9;:24::i;:::-;11969:50;;12030:33;12047:15;12030:16;:33::i;:::-;11911:160;11880:191::o;15101:357::-;2148:6;;-1:-1:-1;;;;;2148:6:0;849:10;2148:22;2140:67;;;;-1:-1:-1;;;2140:67:0;;;;;;;:::i;:::-;15231:2:::1;15216:11;:17;;15188:84;;;::::0;-1:-1:-1;;;15188:84:0;;7029:2:1;15188:84:0::1;::::0;::::1;7011:21:1::0;7068:2;7048:18;;;7041:30;7107:34;7087:18;;;7080:62;-1:-1:-1;;;7158:18:1;;;7151:32;7200:19;;15188:84:0::1;6827:398:1::0;15188:84:0::1;15328:2;15312:12;:18;;15283:87;;;::::0;-1:-1:-1;;;15283:87:0;;7432:2:1;15283:87:0::1;::::0;::::1;7414:21:1::0;7471:2;7451:18;;;7444:30;7510:34;7490:18;;;7483:62;-1:-1:-1;;;7561:18:1;;;7554:33;7604:19;;15283:87:0::1;7230:399:1::0;15283:87:0::1;15383:12;:26:::0;;;;15420:13:::1;:28:::0;15101:357::o;15604:102::-;2148:6;;-1:-1:-1;;;;;2148:6:0;849:10;2148:22;2140:67;;;;-1:-1:-1;;;2140:67:0;;;;;;;:::i;:::-;15672:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;15672:26:0::1;-1:-1:-1::0;;;;15672:26:0;;::::1;::::0;;;::::1;::::0;;15604:102::o;7136:131::-;-1:-1:-1;;;;;7242:16:0;;7202:7;7242:16;;;:7;:16;;;;;;7229:30;;:12;:30::i;2236:148::-;2148:6;;-1:-1:-1;;;;;2148:6:0;849:10;2148:22;2140:67;;;;-1:-1:-1;;;2140:67:0;;;;;;;:::i;:::-;2343:1:::1;2327:6:::0;;2306:40:::1;::::0;-1:-1:-1;;;;;2327:6:0;;::::1;::::0;2306:40:::1;::::0;2343:1;;2306:40:::1;2374:1;2357:19:::0;;-1:-1:-1;;;;;;2357:19:0::1;::::0;;2236:148::o;15714:111::-;2148:6;;-1:-1:-1;;;;;2148:6:0;849:10;2148:22;2140:67;;;;-1:-1:-1;;;2140:67:0;;;;;;;:::i;:::-;15791:12:::1;:26:::0;15714:111::o;11770:101::-;2148:6;;-1:-1:-1;;;;;2148:6:0;849:10;2148:22;2140:67;;;;-1:-1:-1;;;2140:67:0;;;;;;;:::i;:::-;11837:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;11837:26:0::1;-1:-1:-1::0;;;;11837:26:0;;::::1;::::0;;;::::1;::::0;;11770:101::o;15960:226::-;2148:6;;-1:-1:-1;;;;;2148:6:0;849:10;2148:22;2140:67;;;;-1:-1:-1;;;2140:67:0;;;;;;;:::i;:::-;16069:9:::1;16065:114;16084:19:::0;;::::1;16065:114;;;16159:8;16125:18;:31;16144:8;;16153:1;16144:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16125:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;16125:31:0;:42;;-1:-1:-1;;16125:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;16105:3:0::1;16065:114;;;;15960:226:::0;;;:::o;7276:199::-;7381:4;7403:42;849:10;7427:9;7438:6;7403:9;:42::i;15466:130::-;2148:6;;-1:-1:-1;;;;;2148:6:0;849:10;2148:22;2140:67;;;;-1:-1:-1;;;2140:67:0;;;;;;;:::i;:::-;15548:19:::1;:40:::0;15466:130::o;2393:244::-;2148:6;;-1:-1:-1;;;;;2148:6:0;849:10;2148:22;2140:67;;;;-1:-1:-1;;;2140:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2482:22:0;::::1;2474:73;;;::::0;-1:-1:-1;;;2474:73:0;;7968:2:1;2474:73:0::1;::::0;::::1;7950:21:1::0;8007:2;7987:18;;;7980:30;8046:34;8026:18;;;8019:62;-1:-1:-1;;;8097:18:1;;;8090:36;8143:19;;2474:73:0::1;7766:402:1::0;2474:73:0::1;2584:6;::::0;;2563:38:::1;::::0;-1:-1:-1;;;;;2563:38:0;;::::1;::::0;2584:6;::::1;::::0;2563:38:::1;::::0;::::1;2612:6;:17:::0;;-1:-1:-1;;;;;;2612:17:0::1;-1:-1:-1::0;;;;;2612:17:0;;;::::1;::::0;;;::::1;::::0;;2393:244::o;12080:190::-;12146:11;;-1:-1:-1;;;;;12146:11:0;849:10;-1:-1:-1;;;;;12130:27:0;;12122:36;;;;;;12198:21;12230:32;12198:21;12230:12;:32::i;16194:325::-;2148:6;;-1:-1:-1;;;;;2148:6:0;849:10;2148:22;2140:67;;;;-1:-1:-1;;;2140:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16287:27:0;::::1;16279:86;;;::::0;-1:-1:-1;;;16279:86:0;;8375:2:1;16279:86:0::1;::::0;::::1;8357:21:1::0;8414:2;8394:18;;;8387:30;8453:34;8433:18;;;8426:62;-1:-1:-1;;;8504:18:1;;;8497:44;8558:19;;16279:86:0::1;8173:410:1::0;16279:86:0::1;16395:11;::::0;;-1:-1:-1;;;;;16395:11:0;;::::1;16410:5;16376:31:::0;;;:18:::1;:31;::::0;;;;;:39;;-1:-1:-1;;16376:39:0;;::::1;::::0;;;16426:36;;-1:-1:-1;;;;;;16426:36:0::1;::::0;;;::::1;::::0;;::::1;::::0;;;16473:31;;;;;:38;;;;::::1;-1:-1:-1::0;16473:38:0::1;::::0;;16194:325::o;8879:361::-;-1:-1:-1;;;;;9006:19:0;;8998:63;;;;-1:-1:-1;;;8998:63:0;;8790:2:1;8998:63:0;;;8772:21:1;8829:2;8809:18;;;8802:30;8868:33;8848:18;;;8841:61;8919:18;;8998:63:0;8588:355:1;8998:63:0;-1:-1:-1;;;;;9080:21:0;;9072:63;;;;-1:-1:-1;;;9072:63:0;;9150:2:1;9072:63:0;;;9132:21:1;9189:2;9169:18;;;9162:30;9228:31;9208:18;;;9201:59;9277:18;;9072:63:0;8948:353:1;9072:63:0;-1:-1:-1;;;;;9148:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9200:32;;1517:25:1;;;9200:32:0;;1490:18:1;9200:32:0;;;;;;;8879:361;;;:::o;9249:1918::-;-1:-1:-1;;;;;9371:16:0;;9363:58;;;;-1:-1:-1;;;9363:58:0;;9508:2:1;9363:58:0;;;9490:21:1;9547:2;9527:18;;;9520:30;9586:31;9566:18;;;9559:59;9635:18;;9363:58:0;9306:353:1;9363:58:0;9449:1;9440:6;:10;9432:50;;;;-1:-1:-1;;;9432:50:0;;9866:2:1;9432:50:0;;;9848:21:1;9905:2;9885:18;;;9878:30;9944:29;9924:18;;;9917:57;9991:18;;9432:50:0;9664:351:1;9432:50:0;2058:7;2085:6;-1:-1:-1;;;;;9500:15:0;;;2085:6;;9500:15;;;;:32;;-1:-1:-1;2058:7:0;2085:6;-1:-1:-1;;;;;9519:13:0;;;2085:6;;9519:13;;9500:32;9496:1122;;;9557:11;;-1:-1:-1;;;9557:11:0;;;;9552:127;;2058:7;2085:6;-1:-1:-1;;;;;9597:15:0;;;2085:6;;9597:15;9589:74;;;;-1:-1:-1;;;9589:74:0;;10222:2:1;9589:74:0;;;10204:21:1;10261:2;10241:18;;;10234:30;10300:34;10280:18;;;10273:62;-1:-1:-1;;;10351:18:1;;;10344:44;10405:19;;9589:74:0;10020:410:1;9589:74:0;9714:12;;9704:6;:22;;9696:65;;;;-1:-1:-1;;;9696:65:0;;10637:2:1;9696:65:0;;;10619:21:1;10676:2;10656:18;;;10649:30;10715:32;10695:18;;;10688:60;10765:18;;9696:65:0;10435:354:1;9696:65:0;9788:13;;-1:-1:-1;;;;;9782:19:0;;;9788:13;;9782:19;9779:138;;9856:14;;9846:6;9830:13;9840:2;9830:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9822:79;;;;-1:-1:-1;;;9822:79:0;;11126:2:1;9822:79:0;;;11108:21:1;11165:2;11145:18;;;11138:30;11204:28;11184:18;;;11177:56;11250:18;;9822:79:0;10924:350:1;9822:79:0;9934:28;9965:24;9983:4;9965:9;:24::i;:::-;10043:19;;10107:12;;9934:55;;-1:-1:-1;10019:43:0;;;;10083:36;;10080:124;;10176:12;;10153:35;;10080:124;10225:7;:18;;;;-1:-1:-1;10237:6:0;;-1:-1:-1;;;10237:6:0;;;;10236:7;10225:18;:43;;;;-1:-1:-1;10255:13:0;;-1:-1:-1;;;;;10247:21:0;;;10255:13;;10247:21;;10225:43;:58;;;;-1:-1:-1;10272:11:0;;-1:-1:-1;;;10272:11:0;;;;10225:58;:87;;;;-1:-1:-1;;;;;;10288:24:0;;;;;;:18;:24;;;;;;;;10287:25;10225:87;:114;;;;-1:-1:-1;;;;;;10317:22:0;;;;;;:18;:22;;;;;;;;10316:23;10225:114;10221:386;;;10360:38;10377:20;10360:16;:38::i;:::-;10446:21;10490:22;;10486:106;;10537:35;10550:21;10537:12;:35::i;:::-;10341:266;10221:386;9534:1084;;9496:1122;-1:-1:-1;;;;;10669:24:0;;10631:12;10669:24;;;:18;:24;;;;;;10646:4;;10669:24;;;:50;;-1:-1:-1;;;;;;10697:22:0;;;;;;:18;:22;;;;;;;;10669:50;10668:102;;;-1:-1:-1;10733:13:0;;-1:-1:-1;;;;;10725:21:0;;;10733:13;;10725:21;;;;:44;;-1:-1:-1;10756:13:0;;-1:-1:-1;;;;;10750:19:0;;;10756:13;;10750:19;;10725:44;10664:441;;;-1:-1:-1;10797:5:0;10664:441;;;10849:13;;-1:-1:-1;;;;;10841:21:0;;;10849:13;;10841:21;:55;;;;-1:-1:-1;10880:15:0;;-1:-1:-1;;;;;10866:30:0;;;10880:15;;10866:30;;10841:55;10838:117;;;10927:12;;10917:7;:22;10838:117;10982:13;;-1:-1:-1;;;;;10976:19:0;;;10982:13;;10976:19;:55;;;;-1:-1:-1;11015:15:0;;-1:-1:-1;;;;;10999:32:0;;;11015:15;;10999:32;;10976:55;10972:119;;;11062:13;;11052:7;:23;10972:119;11118:41;11133:4;11139:2;11143:6;11151:7;11118:14;:41::i;3005:224::-;3125:7;3161:12;3153:6;;;;3145:29;;;;-1:-1:-1;;;3145:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3185:9:0;3197:5;3201:1;3197;:5;:::i;:::-;3185:17;3005:224;-1:-1:-1;;;;;3005:224:0:o;11176:483::-;6046:6;:13;;-1:-1:-1;;;;6046:13:0;-1:-1:-1;;;6046: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;:::-;-1:-1:-1::0;;;;;11305:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11349:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11349:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11305:7;;11349:22;;;;;:15;:22:::1;;;;;;;;;::::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;;6082:6:0;:14;;-1:-1:-1;;;;6082:14:0;;;-1:-1:-1;;;;11176:483:0:o;8331:318::-;8419:7;8477;;8466;:18;;8444:112;;;;-1:-1:-1;;;8444:112:0;;12966:2:1;8444:112:0;;;12948:21:1;13005:2;12985:18;;;12978:30;13044:34;13024:18;;;13017:62;-1:-1:-1;;;13095:18:1;;;13088:42;13147:19;;8444:112:0;12764:408:1;8444:112:0;8567:19;8589:10;:8;:10::i;:::-;8567:32;-1:-1:-1;8617:24:0;:7;8567:32;8617:11;:24::i;:::-;8610:31;8331:318;-1:-1:-1;;;8331:318:0:o;11668:93::-;11725:11;;:28;;-1:-1:-1;;;;;11725:11:0;;;;:28;;;;;11746:6;;11725:11;:28;:11;:28;11746:6;11725:11;:28;;;;;;;;;;;;;;;;;;;;;11668:93;:::o;12279:275::-;12435:7;12430:25;;12444:11;:9;:11::i;:::-;12466:44;12484:6;12492:9;12503:6;12466:17;:44::i;:::-;12526:7;12521:25;;12535:11;8847:15;;8837:7;:25;8797:73;14662:164;14704:7;14725:15;14742;14761:19;:17;:19::i;:::-;14724:56;;-1:-1:-1;14724:56:0;-1:-1:-1;14798:20:0;14724:56;;14798:11;:20::i;:::-;14791:27;;;;14662:164;:::o;3493:132::-;3551:7;3578:39;3582:1;3585;3578:39;;;;;;;;;;;;;;;;;:3;:39::i;8658:130::-;8702:7;;8713:1;8702:12;8698:25;;8658:130::o;8698:25::-;8751:7;;;8733:15;:25;-1:-1:-1;8769:11:0;;8658:130::o;12563:519::-;12710:15;12740:23;12778;12816:12;12842:19;12853:7;12842:10;:19::i;:::-;-1:-1:-1;;;;;12890:15:0;;;;;;:7;:15;;;;;;12695:166;;-1:-1:-1;12695:166:0;;-1:-1:-1;12695:166:0;-1:-1:-1;12695:166:0;-1:-1:-1;12890:28:0;;12695:166;12890:19;:28::i;:::-;-1:-1:-1;;;;;12872:15:0;;;;;;;:7;:15;;;;;;:46;;;;12950:18;;;;;;;:39;;12973:15;12950:22;:39::i;:::-;-1:-1:-1;;;;;12929:18:0;;;;;;:7;:18;;;;;:60;13000:14;13009:4;13000:8;:14::i;:::-;13047:9;-1:-1:-1;;;;;13030:44:0;13039:6;-1:-1:-1;;;;;13030:44:0;;13058:15;13030:44;;;;1517:25:1;;1505:2;1490:18;;1371:177;13030:44:0;;;;;;;;12684:398;;;;12563:519;;;:::o;14835:257::-;14933:7;;14886;;;;;5308:15;5014:1;5308:2;:15;:::i;:::-;5291:32;;:14;:32;:::i;:::-;14951:25;-1:-1:-1;15001:20:0;5308:15;5014:1;5308:2;:15;:::i;:::-;5291:32;;:14;:32;:::i;:::-;15001:7;;;:11;:20::i;:::-;14991:7;:30;14987:61;;;15031:7;;5308:15;5014:1;5308:2;:15;:::i;:::-;5291:32;;:14;:32;:::i;:::-;15023:25;;;;;;14835:257;;:::o;14987:61::-;15067:7;;15076;;-1:-1:-1;14835:257:0;-1:-1:-1;14835:257:0:o;3634:223::-;3754:7;3789:12;3782:5;3774:28;;;;-1:-1:-1;;;3774:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3813:9:0;3825:5;3829:1;3825;:5;:::i;13344:515::-;13444:7;13466;13488;13510;13546:23;13572:13;13602:29;13614:7;13623;;13602:11;:29::i;:::-;13545:86;;;;13642:19;13664:10;:8;:10::i;:::-;13642:32;;13686:15;13703:23;13743:40;13755:7;13764:5;13771:11;13743;:40::i;:::-;13685:98;;;;-1:-1:-1;13828:15:0;;-1:-1:-1;13845:5:0;;-1:-1:-1;13344:515:0;;-1:-1:-1;;;;;13344:515:0:o;2860:136::-;2918:7;2945:43;2949:1;2952;2945:43;;;;;;;;;;;;;;;;;:3;:43::i;2672:179::-;2730:7;;2762:5;2766:1;2762;:5;:::i;:::-;2750:17;;2791:1;2786;:6;;2778:46;;;;-1:-1:-1;;;2778:46:0;;13601:2:1;2778:46:0;;;13583:21:1;13640:2;13620:18;;;13613:30;13679:29;13659:18;;;13652:57;13726:18;;2778:46:0;13399:351:1;13091:206:0;13142:19;13164:10;:8;:10::i;:::-;13142:32;-1:-1:-1;13185:12:0;13200:21;:4;13142:32;13200:8;:21::i;:::-;13273:4;13257:22;;;;:7;:22;;;;;;13185:36;;-1:-1:-1;13257:32:0;;13185:36;13257:26;:32::i;:::-;13248:4;13232:22;;;;:7;:22;;;;;:57;-1:-1:-1;;;13091:206:0:o;13868:350::-;14010:7;;;14083:28;14107:3;14083:19;:7;14095:6;14083:11;:19::i;:::-;:23;;:28::i;:::-;14067:44;-1:-1:-1;14123:23:0;14149:18;:7;14067:44;14149:11;:18::i;:::-;14123:44;14204:5;;-1:-1:-1;13868:350:0;;-1:-1:-1;;;;13868:350:0:o;14227:426::-;14398:7;;;14473:24;:7;14485:11;14473;:24::i;:::-;14455:42;-1:-1:-1;14508:13:0;14524:22;:5;14534:11;14524:9;:22::i;:::-;14508:38;-1:-1:-1;14557:23:0;14583:18;:7;14508:38;14583:11;:18::i;:::-;14620:7;;-1:-1:-1;14557:44:0;;-1:-1:-1;;;14227:426:0;;;;;;;:::o;3238:246::-;3296:7;3320:1;3325;3320:6;3316:47;;-1:-1:-1;3350:1:0;3343:8;;3316:47;3373:9;3385:5;3389:1;3385;:5;:::i;:::-;3373:17;-1:-1:-1;3418:1:0;3409:5;3413:1;3373:17;3409:5;:::i;:::-;:10;3401:56;;;;-1:-1:-1;;;3401:56:0;;13957:2:1;3401:56:0;;;13939:21:1;13996:2;13976:18;;;13969:30;14035:34;14015:18;;;14008:62;-1:-1:-1;;;14086:18:1;;;14079:31;14127:19;;3401:56:0;13755:397:1;14:418;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:367;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;904:2;889:18;;;;876:32;;-1:-1:-1;;;573:367:1:o;1553:508::-;1630:6;1638;1646;1699:2;1687:9;1678:7;1674:23;1670:32;1667:52;;;1715:1;1712;1705:12;1667:52;1754:9;1741:23;1773:31;1798:5;1773:31;:::i;:::-;1823:5;-1:-1:-1;1880:2:1;1865:18;;1852:32;1893:33;1852:32;1893:33;:::i;:::-;1553:508;;1945:7;;-1:-1:-1;;;2025:2:1;2010:18;;;;1997:32;;1553:508::o;2066:226::-;2125:6;2178:2;2166:9;2157:7;2153:23;2149:32;2146:52;;;2194:1;2191;2184:12;2146:52;-1:-1:-1;2239:23:1;;2066:226;-1:-1:-1;2066:226:1:o;2694:346::-;2762:6;2770;2823:2;2811:9;2802:7;2798:23;2794:32;2791:52;;;2839:1;2836;2829:12;2791:52;-1:-1:-1;;2884:23:1;;;3004:2;2989:18;;;2976:32;;-1:-1:-1;2694:346:1:o;3045:160::-;3110:20;;3166:13;;3159:21;3149:32;;3139:60;;3195:1;3192;3185:12;3139:60;3045:160;;;:::o;3210:180::-;3266:6;3319:2;3307:9;3298:7;3294:23;3290:32;3287:52;;;3335:1;3332;3325:12;3287:52;3358:26;3374:9;3358:26;:::i;3395:247::-;3454:6;3507:2;3495:9;3486:7;3482:23;3478:32;3475:52;;;3523:1;3520;3513:12;3475:52;3562:9;3549:23;3581:31;3606:5;3581:31;:::i;3647:684::-;3739:6;3747;3755;3808:2;3796:9;3787:7;3783:23;3779:32;3776:52;;;3824:1;3821;3814:12;3776:52;3864:9;3851:23;3897:18;3889:6;3886:30;3883:50;;;3929:1;3926;3919:12;3883:50;3952:22;;4005:4;3997:13;;3993:27;-1:-1:-1;3983:55:1;;4034:1;4031;4024:12;3983:55;4074:2;4061:16;4100:18;4092:6;4089:30;4086:50;;;4132:1;4129;4122:12;4086:50;4187:7;4180:4;4170:6;4167:1;4163:14;4159:2;4155:23;4151:34;4148:47;4145:67;;;4208:1;4205;4198:12;4145:67;4239:4;4231:13;;;;-1:-1:-1;4263:6:1;-1:-1:-1;4288:37:1;;4304:20;;4288:37;:::i;:::-;4278:47;;3647:684;;;;;:::o;4336:388::-;4404:6;4412;4465:2;4453:9;4444:7;4440:23;4436:32;4433:52;;;4481:1;4478;4471:12;4433:52;4520:9;4507:23;4539:31;4564:5;4539:31;:::i;:::-;4589:5;-1:-1:-1;4646:2:1;4631:18;;4618:32;4659:33;4618:32;4659:33;:::i;:::-;4711:7;4701:17;;;4336:388;;;;;:::o;4729:127::-;4790:10;4785:3;4781:20;4778:1;4771:31;4821:4;4818:1;4811:15;4845:4;4842:1;4835:15;4861:375;4949:1;4967:5;4981:249;5002:1;4992:8;4989:15;4981:249;;;5052:4;5047:3;5043:14;5037:4;5034:24;5031:50;;;5061:18;;:::i;:::-;5111:1;5101:8;5097:16;5094:49;;;5125:16;;;;5094:49;5208:1;5204:16;;;;;5164:15;;4981:249;;5241:902;5290:5;5320:8;5310:80;;-1:-1:-1;5361:1:1;5375:5;;5310:80;5409:4;5399:76;;-1:-1:-1;5446:1:1;5460:5;;5399:76;5491:4;5509:1;5504:59;;;;5577:1;5572:174;;;;5484:262;;5504:59;5534:1;5525:10;;5548:5;;;5572:174;5609:3;5599:8;5596:17;5593:43;;;5616:18;;:::i;:::-;-1:-1:-1;;5672:1:1;5658:16;;5731:5;;5484:262;;5830:2;5820:8;5817:16;5811:3;5805:4;5802:13;5798:36;5792:2;5782:8;5779:16;5774:2;5768:4;5765:12;5761:35;5758:77;5755:203;;;-1:-1:-1;5867:19:1;;;5943:5;;5755:203;5990:42;-1:-1:-1;;6015:8:1;6009:4;5990:42;:::i;:::-;6068:6;6064:1;6060:6;6056:19;6047:7;6044:32;6041:58;;;6079:18;;:::i;:::-;6117:20;;5241:902;-1:-1:-1;;;5241:902:1:o;6148:140::-;6206:5;6235:47;6276:4;6266:8;6262:19;6256:4;6235:47;:::i;6293:168::-;6366:9;;;6397;;6414:15;;;6408:22;;6394:37;6384:71;;6435:18;;:::i;6466:356::-;6668:2;6650:21;;;6687:18;;;6680:30;6746:34;6741:2;6726:18;;6719:62;6813:2;6798:18;;6466:356::o;7634:127::-;7695:10;7690:3;7686:20;7683:1;7676:31;7726:4;7723:1;7716:15;7750:4;7747:1;7740:15;10794:125;10859:9;;;10880:10;;;10877:36;;;10893:18;;:::i;11279:128::-;11346:9;;;11367:11;;;11364:37;;;11381:18;;:::i;11544:251::-;11614:6;11667:2;11655:9;11646:7;11642:23;11638:32;11635:52;;;11683:1;11680;11673:12;11635:52;11715:9;11709:16;11734:31;11759:5;11734:31;:::i;11800:959::-;12062:4;12110:3;12099:9;12095:19;12141:6;12130:9;12123:25;12184:6;12179:2;12168:9;12164:18;12157:34;12227:3;12222:2;12211:9;12207:18;12200:31;12251:6;12286;12280:13;12317:6;12309;12302:22;12355:3;12344:9;12340:19;12333:26;;12394:2;12386:6;12382:15;12368:29;;12415:1;12425:195;12439:6;12436:1;12433:13;12425:195;;;12504:13;;-1:-1:-1;;;;;12500:39:1;12488:52;;12569:2;12595:15;;;;12560:12;;;;12536:1;12454:9;12425:195;;;-1:-1:-1;;;;;;;12676:32:1;;;;12671:2;12656:18;;12649:60;-1:-1:-1;;12740:3:1;12725:19;12718:35;12637:3;11800:959;-1:-1:-1;;;11800:959:1:o;13177:217::-;13217:1;13243;13233:132;;13287:10;13282:3;13278:20;13275:1;13268:31;13322:4;13319:1;13312:15;13350:4;13347:1;13340:15;13233:132;-1:-1:-1;13379:9:1;;13177:217::o

Swarm Source

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