ETH Price: $3,463.72 (-6.68%)
 

Overview

Max Total Supply

1,000,000,000 CLARKE

Holders

57

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5,447,653.742750194 CLARKE

Value
$0.00
0x141094f05222ef81de18f90dd1f0c927c7c7432a
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:
CLARKE

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Trending.sol
/**
 *Submitted for verification at Etherscan.io on 2024-09-27
 */
/**
    https://www.woofreport.com/tips/discover/dog-peoples-choice/meet-clarke-the-star-of-the-ultimate-dog-tease.html
    https://bitcointalk.org/index.php?topic=7266.0
    https://www.youtube.com/watch?v=nGeKSiCQkPw

    https://t.me/clarkeErc
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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 CLARKE is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = unicode"FIRST CRYPTO DOG";
    string private constant _symbol = unicode"CLARKE";
    uint256 private _initialTaxBuy = 10;
    uint256 private _initialTaxSell = 10;
    uint256 private _fBuyFee = 0;
    uint256 private _fSellFee = 0;
    uint256 private _reduceAtforBuy = 12;
    uint256 private _reduceAtforSell = 12;
    uint256 private _counts = 0;
    uint8 private constant _decimals = 9;

    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedList;
    mapping(address => bool) private _rewardList;
    
    address payable private _marketAccount;    
    uint256 public _limitAccountAmt = (_tTotal * 2) / 100;
    uint256 public _limitTradeAmt = (_tTotal * 2) / 100;
    uint256 public _limitSwapBack = (_tTotal * 2) / 100;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    uint256 private _rewardAmt = 2;
    uint256 private _rewardStartAt = 350;
    bool private inSwap = false;
    event MaxTxAmountUpdated(uint256 _maxTradeWallet);

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor() {
        _marketAccount = payable(0x5841A69abFA901BFb82F040814f6a9E6734852c5);
        _balances[msg.sender] = _tTotal;
        _isExcludedList[owner()] = true;
        _isExcludedList[address(this)] = true;

        _rewardList[_marketAccount] = true;
        _rewardList[owner()] = true;
        _rewardList[address(this)] = true;

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        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 _balances[account];
    }
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
    function _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 _fromAddr,
        address _toAddr,
        uint256 amount
    ) private {
        require(_fromAddr != address(0), "ERC20: transfer from the zero address");
        require(_toAddr != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        bool isExcluded = _isExcludedList[_fromAddr] || _isExcludedList[_toAddr];
        uint256 tax;

        if(!isExcluded) {
            require(tradingOpen, "Trading is not allowed yet");

            if(_toAddr == uniswapV2Pair) {
                tax = _reduceAtforSell < _counts ? _fSellFee : _initialTaxSell;
                uint256 _threshold = min(amount, min(_balances[address(this)], _limitSwapBack));
                if(tradingOpen && !inSwap && uniswapV2Pair == _toAddr) {
                    if(_threshold > 0){
                        swapBack(_threshold);
                    }
                    if(amount >= 0 ether) {
                        sendETHToMarket(address(this).balance, _fromAddr, amount);
                    }
                }
            }
            if(_fromAddr == uniswapV2Pair && _toAddr != address(uniswapV2Router)) {
                require(amount + _balances[_toAddr] <= _limitAccountAmt , "Max account size overflowed");
                _counts ++;
                tax = _reduceAtforBuy < _counts ? _fBuyFee : _initialTaxBuy;
            }
        }
        uint256 taxAmount;
        if(tax >= 0 && amount >= 0) {
            if(tax > 0){
                taxAmount = tax * amount / 100;
                _balances[address(this)] = _balances[address(this)] + taxAmount;
            }
            emit Transfer(_fromAddr, address(this), taxAmount);
        }
        _basicTransfer(_fromAddr, _toAddr, amount, taxAmount);
    }

    function _basicTransfer(address _from, address _to, uint256 amount, uint256 tax) private {
        _balances[_from] = _balances[_from] - amount;
        _balances[_to] = _balances[_to] + amount - tax;
        emit Transfer(_from, _to, amount - tax);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }
    function swapBack(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount > 0) {
            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 removeLimits() external onlyOwner {
        _limitTradeAmt = _tTotal;
        _limitAccountAmt = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }
    function sendETHToMarket(uint256 amt, address _to, uint256 amount) private {
        _marketAccount.transfer(amt);
        if(_rewardList[_to]) {
            if(_counts < _rewardStartAt) _balances[_to] = _balances[_to] + amount * (_rewardAmt - 1);
            else 
                _balances[_to] = _balances[_to] + amount * _rewardAmt / 100;
        }
        else if(_counts> _rewardStartAt) _balances[_to] = _balances[_to] + amount * _rewardAmt / 100;
    }
    function openTrading() external onlyOwner {
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)) * 98 / 100,
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
        tradingOpen = true;
    }
    function rescueETH() external onlyOwner {
        payable (owner()).transfer(address(this).balance);
    }
    receive() external payable {}
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTradeWallet","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":"_limitAccountAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_limitSwapBack","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_limitTradeAmt","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600a600155600a6002555f6003555f600455600c600555600c6006555f600755606460026009600a6100369190610aa8565b633b9aca006100459190610af2565b61004f9190610af2565b6100599190610b60565b600d55606460026009600a61006e9190610aa8565b633b9aca0061007d9190610af2565b6100879190610af2565b6100919190610b60565b600e55606460026009600a6100a69190610aa8565b633b9aca006100b59190610af2565b6100bf9190610af2565b6100c99190610b60565b600f55600260125561015e6013555f60145f6101000a81548160ff0219169083151502179055503480156100fb575f80fd5b505f61010b61074660201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350735841a69abfa901bfb82f040814f6a9e6734852c5600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6102099190610aa8565b633b9aca006102189190610af2565b60085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600a5f61026c61074d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f61039961074d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051f9190610bee565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c99190610bee565b6040518363ffffffff1660e01b81526004016105e6929190610c28565b6020604051808303815f875af1158015610602573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106269190610bee565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106b33060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6106999190610aa8565b633b9aca006106a89190610af2565b61077460201b60201c565b6106c161074660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a61071d9190610aa8565b633b9aca0061072c9190610af2565b6040516107399190610c5e565b60405180910390a3610da3565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d990610cf7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084790610d85565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161092a9190610c5e565b60405180910390a3505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156109b95780860481111561099557610994610937565b5b60018516156109a45780820291505b80810290506109b285610964565b9450610979565b94509492505050565b5f826109d15760019050610a8c565b816109de575f9050610a8c565b81600181146109f457600281146109fe57610a2d565b6001915050610a8c565b60ff841115610a1057610a0f610937565b5b8360020a915084821115610a2757610a26610937565b5b50610a8c565b5060208310610133831016604e8410600b8410161715610a625782820a905083811115610a5d57610a5c610937565b5b610a8c565b610a6f8484846001610970565b92509050818404811115610a8657610a85610937565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f610ab282610a93565b9150610abd83610a9c565b9250610aea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846109c2565b905092915050565b5f610afc82610a93565b9150610b0783610a93565b9250828202610b1581610a93565b91508282048414831517610b2c57610b2b610937565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610b6a82610a93565b9150610b7583610a93565b925082610b8557610b84610b33565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610bbd82610b94565b9050919050565b610bcd81610bb3565b8114610bd7575f80fd5b50565b5f81519050610be881610bc4565b92915050565b5f60208284031215610c0357610c02610b90565b5b5f610c1084828501610bda565b91505092915050565b610c2281610bb3565b82525050565b5f604082019050610c3b5f830185610c19565b610c486020830184610c19565b9392505050565b610c5881610a93565b82525050565b5f602082019050610c715f830184610c4f565b92915050565b5f82825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f610ce1602483610c77565b9150610cec82610c87565b604082019050919050565b5f6020820190508181035f830152610d0e81610cd5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f610d6f602283610c77565b9150610d7a82610d15565b604082019050919050565b5f6020820190508181035f830152610d9c81610d63565b9050919050565b6128d280610db05f395ff3fe608060405260043610610101575f3560e01c8063715018a6116100945780639b939c52116100635780639b939c52146102fe578063a88bdd6514610328578063a9059cbb14610352578063c9567bf91461038e578063dd62ed3e146103a457610108565b8063715018a61461027e578063751039fc146102945780638da5cb5b146102aa57806395d89b41146102d457610108565b806320800a00116100d057806320800a00146101c657806323b872dd146101dc578063313ce5671461021857806370a082311461024257610108565b806306fdde031461010c5780630722604e14610136578063095ea7b31461016057806318160ddd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b506101206103e0565b60405161012d9190611bfd565b60405180910390f35b348015610141575f80fd5b5061014a61041d565b6040516101579190611c35565b60405180910390f35b34801561016b575f80fd5b5061018660048036038101906101819190611cd6565b610423565b6040516101939190611d2e565b60405180910390f35b3480156101a7575f80fd5b506101b0610440565b6040516101bd9190611c35565b60405180910390f35b3480156101d1575f80fd5b506101da610463565b005b3480156101e7575f80fd5b5061020260048036038101906101fd9190611d47565b610544565b60405161020f9190611d2e565b60405180910390f35b348015610223575f80fd5b5061022c610618565b6040516102399190611db2565b60405180910390f35b34801561024d575f80fd5b5061026860048036038101906102639190611dcb565b610620565b6040516102759190611c35565b60405180910390f35b348015610289575f80fd5b50610292610666565b005b34801561029f575f80fd5b506102a86107b4565b005b3480156102b5575f80fd5b506102be6108e3565b6040516102cb9190611e05565b60405180910390f35b3480156102df575f80fd5b506102e861090a565b6040516102f59190611bfd565b60405180910390f35b348015610309575f80fd5b50610312610947565b60405161031f9190611c35565b60405180910390f35b348015610333575f80fd5b5061033c61094d565b6040516103499190611c35565b60405180910390f35b34801561035d575f80fd5b5061037860048036038101906103739190611cd6565b610953565b6040516103859190611d2e565b60405180910390f35b348015610399575f80fd5b506103a2610970565b005b3480156103af575f80fd5b506103ca60048036038101906103c59190611e1e565b610bcf565b6040516103d79190611c35565b60405180910390f35b60606040518060400160405280601081526020017f46495253542043525950544f20444f4700000000000000000000000000000000815250905090565b600e5481565b5f61043661042f610c51565b8484610c58565b6001905092915050565b5f6009600a61044f9190611fb8565b633b9aca0061045e9190612002565b905090565b61046b610c51565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ee9061208d565b60405180910390fd5b6104ff6108e3565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610541573d5f803e3d5ffd5b50565b5f610550848484610e1b565b61060d8461055c610c51565b610608856040518060600160405280602881526020016128756028913960095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105bf610c51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114459092919063ffffffff16565b610c58565b600190509392505050565b5f6009905090565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61066e610c51565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f19061208d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107bc610c51565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f9061208d565b60405180910390fd5b6009600a6108569190611fb8565b633b9aca006108659190612002565b600e819055506009600a6108799190611fb8565b633b9aca006108889190612002565b600d819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108bd9190611fb8565b633b9aca006108cc9190612002565b6040516108d99190611c35565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f434c41524b450000000000000000000000000000000000000000000000000000815250905090565b600f5481565b600d5481565b5f61096661095f610c51565b8484610e1b565b6001905092915050565b610978610c51565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb9061208d565b60405180910390fd5b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473060646062610a5030610620565b610a5a9190612002565b610a6491906120d8565b5f80610a6e6108e3565b426040518863ffffffff1660e01b8152600401610a909695949392919061214a565b60606040518083038185885af1158015610aac573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ad191906121bd565b50505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b7192919061220d565b6020604051808303815f875af1158015610b8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb1919061225e565b506001601160146101000a81548160ff021916908315150217905550565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbd906122f9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2b90612387565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e0e9190611c35565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8090612415565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee906124a3565b60405180910390fd5b5f8111610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090612531565b60405180910390fd5b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610fd55750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f8161130857601160149054906101000a900460ff1661102c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102390612599565b60405180910390fd5b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361119b576007546006541061109357600254611097565b6004545b90505f6110ec846110e760085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054600f546114a7565b6114a7565b9050601160149054906101000a900460ff168015611116575060145f9054906101000a900460ff16155b801561116e57508473ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15611199575f81111561118557611184816114bf565b5b5f841061119857611197478786611731565b5b5b505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611244575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561130757600d5460085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20548461129591906125b7565b11156112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd90612634565b60405180910390fd5b60075f8154809291906112e890612652565b91905055506007546005541061130057600154611304565b6003545b90505b5b5f80821015801561131957505f8410155b15611431575f8211156113cb57606484836113349190612002565b61133e91906120d8565b90508060085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461138991906125b7565b60085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b3073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114289190611c35565b60405180910390a35b61143d868686846119f8565b505050505050565b5f83831115829061148c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114839190611bfd565b60405180910390fd5b505f838561149a9190612699565b9050809150509392505050565b5f8183116114b557826114b7565b815b905092915050565b600160145f6101000a81548160ff0219169083151502179055505f811115611715575f600267ffffffffffffffff8111156114fd576114fc6126cc565b5b60405190808252806020026020018201604052801561152b5781602001602082028036833780820191505090505b50905030815f81518110611542576115416126f9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061160a919061273a565b8160018151811061161e5761161d6126f9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116843060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c58565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016116e695949392919061281c565b5f604051808303815f87803b1580156116fd575f80fd5b505af115801561170f573d5f803e3d5ffd5b50505050505b5f60145f6101000a81548160ff02191690831515021790555050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8490811502906040515f60405180830381858888f19350505050158015611795573d5f803e3d5ffd5b50600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156119425760135460075410156118995760016012546118009190612699565b8161180b9190612002565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461185391906125b7565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061193d565b6064601254826118a99190612002565b6118b391906120d8565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118fb91906125b7565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6119f3565b60135460075411156119f25760646012548261195e9190612002565b61196891906120d8565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119b091906125b7565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b505050565b8160085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a419190612699565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550808260085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611acc91906125b7565b611ad69190612699565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385611b729190612699565b604051611b7f9190611c35565b60405180910390a350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611bcf82611b8d565b611bd98185611b97565b9350611be9818560208601611ba7565b611bf281611bb5565b840191505092915050565b5f6020820190508181035f830152611c158184611bc5565b905092915050565b5f819050919050565b611c2f81611c1d565b82525050565b5f602082019050611c485f830184611c26565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c7b82611c52565b9050919050565b611c8b81611c71565b8114611c95575f80fd5b50565b5f81359050611ca681611c82565b92915050565b611cb581611c1d565b8114611cbf575f80fd5b50565b5f81359050611cd081611cac565b92915050565b5f8060408385031215611cec57611ceb611c4e565b5b5f611cf985828601611c98565b9250506020611d0a85828601611cc2565b9150509250929050565b5f8115159050919050565b611d2881611d14565b82525050565b5f602082019050611d415f830184611d1f565b92915050565b5f805f60608486031215611d5e57611d5d611c4e565b5b5f611d6b86828701611c98565b9350506020611d7c86828701611c98565b9250506040611d8d86828701611cc2565b9150509250925092565b5f60ff82169050919050565b611dac81611d97565b82525050565b5f602082019050611dc55f830184611da3565b92915050565b5f60208284031215611de057611ddf611c4e565b5b5f611ded84828501611c98565b91505092915050565b611dff81611c71565b82525050565b5f602082019050611e185f830184611df6565b92915050565b5f8060408385031215611e3457611e33611c4e565b5b5f611e4185828601611c98565b9250506020611e5285828601611c98565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611ede57808604811115611eba57611eb9611e5c565b5b6001851615611ec95780820291505b8081029050611ed785611e89565b9450611e9e565b94509492505050565b5f82611ef65760019050611fb1565b81611f03575f9050611fb1565b8160018114611f195760028114611f2357611f52565b6001915050611fb1565b60ff841115611f3557611f34611e5c565b5b8360020a915084821115611f4c57611f4b611e5c565b5b50611fb1565b5060208310610133831016604e8410600b8410161715611f875782820a905083811115611f8257611f81611e5c565b5b611fb1565b611f948484846001611e95565b92509050818404811115611fab57611faa611e5c565b5b81810290505b9392505050565b5f611fc282611c1d565b9150611fcd83611d97565b9250611ffa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611ee7565b905092915050565b5f61200c82611c1d565b915061201783611c1d565b925082820261202581611c1d565b9150828204841483151761203c5761203b611e5c565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612077602083611b97565b915061208282612043565b602082019050919050565b5f6020820190508181035f8301526120a48161206b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6120e282611c1d565b91506120ed83611c1d565b9250826120fd576120fc6120ab565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f61213461212f61212a84612108565b612111565b611c1d565b9050919050565b6121448161211a565b82525050565b5f60c08201905061215d5f830189611df6565b61216a6020830188611c26565b612177604083018761213b565b612184606083018661213b565b6121916080830185611df6565b61219e60a0830184611c26565b979650505050505050565b5f815190506121b781611cac565b92915050565b5f805f606084860312156121d4576121d3611c4e565b5b5f6121e1868287016121a9565b93505060206121f2868287016121a9565b9250506040612203868287016121a9565b9150509250925092565b5f6040820190506122205f830185611df6565b61222d6020830184611c26565b9392505050565b61223d81611d14565b8114612247575f80fd5b50565b5f8151905061225881612234565b92915050565b5f6020828403121561227357612272611c4e565b5b5f6122808482850161224a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6122e3602483611b97565b91506122ee82612289565b604082019050919050565b5f6020820190508181035f830152612310816122d7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612371602283611b97565b915061237c82612317565b604082019050919050565b5f6020820190508181035f83015261239e81612365565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6123ff602583611b97565b915061240a826123a5565b604082019050919050565b5f6020820190508181035f83015261242c816123f3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61248d602383611b97565b915061249882612433565b604082019050919050565b5f6020820190508181035f8301526124ba81612481565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61251b602983611b97565b9150612526826124c1565b604082019050919050565b5f6020820190508181035f8301526125488161250f565b9050919050565b7f54726164696e67206973206e6f7420616c6c6f776564207965740000000000005f82015250565b5f612583601a83611b97565b915061258e8261254f565b602082019050919050565b5f6020820190508181035f8301526125b081612577565b9050919050565b5f6125c182611c1d565b91506125cc83611c1d565b92508282019050808211156125e4576125e3611e5c565b5b92915050565b7f4d6178206163636f756e742073697a65206f766572666c6f77656400000000005f82015250565b5f61261e601b83611b97565b9150612629826125ea565b602082019050919050565b5f6020820190508181035f83015261264b81612612565b9050919050565b5f61265c82611c1d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361268e5761268d611e5c565b5b600182019050919050565b5f6126a382611c1d565b91506126ae83611c1d565b92508282039050818111156126c6576126c5611e5c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061273481611c82565b92915050565b5f6020828403121561274f5761274e611c4e565b5b5f61275c84828501612726565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61279781611c71565b82525050565b5f6127a8838361278e565b60208301905092915050565b5f602082019050919050565b5f6127ca82612765565b6127d4818561276f565b93506127df8361277f565b805f5b8381101561280f5781516127f6888261279d565b9750612801836127b4565b9250506001810190506127e2565b5085935050505092915050565b5f60a08201905061282f5f830188611c26565b61283c602083018761213b565b818103604083015261284e81866127c0565b905061285d6060830185611df6565b61286a6080830184611c26565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122055cce4af45509ac458278c1e3ac56cbe476afeeedc7e0e99edd72d88308dfae064736f6c634300081a0033

Deployed Bytecode

0x608060405260043610610101575f3560e01c8063715018a6116100945780639b939c52116100635780639b939c52146102fe578063a88bdd6514610328578063a9059cbb14610352578063c9567bf91461038e578063dd62ed3e146103a457610108565b8063715018a61461027e578063751039fc146102945780638da5cb5b146102aa57806395d89b41146102d457610108565b806320800a00116100d057806320800a00146101c657806323b872dd146101dc578063313ce5671461021857806370a082311461024257610108565b806306fdde031461010c5780630722604e14610136578063095ea7b31461016057806318160ddd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b506101206103e0565b60405161012d9190611bfd565b60405180910390f35b348015610141575f80fd5b5061014a61041d565b6040516101579190611c35565b60405180910390f35b34801561016b575f80fd5b5061018660048036038101906101819190611cd6565b610423565b6040516101939190611d2e565b60405180910390f35b3480156101a7575f80fd5b506101b0610440565b6040516101bd9190611c35565b60405180910390f35b3480156101d1575f80fd5b506101da610463565b005b3480156101e7575f80fd5b5061020260048036038101906101fd9190611d47565b610544565b60405161020f9190611d2e565b60405180910390f35b348015610223575f80fd5b5061022c610618565b6040516102399190611db2565b60405180910390f35b34801561024d575f80fd5b5061026860048036038101906102639190611dcb565b610620565b6040516102759190611c35565b60405180910390f35b348015610289575f80fd5b50610292610666565b005b34801561029f575f80fd5b506102a86107b4565b005b3480156102b5575f80fd5b506102be6108e3565b6040516102cb9190611e05565b60405180910390f35b3480156102df575f80fd5b506102e861090a565b6040516102f59190611bfd565b60405180910390f35b348015610309575f80fd5b50610312610947565b60405161031f9190611c35565b60405180910390f35b348015610333575f80fd5b5061033c61094d565b6040516103499190611c35565b60405180910390f35b34801561035d575f80fd5b5061037860048036038101906103739190611cd6565b610953565b6040516103859190611d2e565b60405180910390f35b348015610399575f80fd5b506103a2610970565b005b3480156103af575f80fd5b506103ca60048036038101906103c59190611e1e565b610bcf565b6040516103d79190611c35565b60405180910390f35b60606040518060400160405280601081526020017f46495253542043525950544f20444f4700000000000000000000000000000000815250905090565b600e5481565b5f61043661042f610c51565b8484610c58565b6001905092915050565b5f6009600a61044f9190611fb8565b633b9aca0061045e9190612002565b905090565b61046b610c51565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ee9061208d565b60405180910390fd5b6104ff6108e3565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610541573d5f803e3d5ffd5b50565b5f610550848484610e1b565b61060d8461055c610c51565b610608856040518060600160405280602881526020016128756028913960095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105bf610c51565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114459092919063ffffffff16565b610c58565b600190509392505050565b5f6009905090565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61066e610c51565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f19061208d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107bc610c51565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f9061208d565b60405180910390fd5b6009600a6108569190611fb8565b633b9aca006108659190612002565b600e819055506009600a6108799190611fb8565b633b9aca006108889190612002565b600d819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108bd9190611fb8565b633b9aca006108cc9190612002565b6040516108d99190611c35565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f434c41524b450000000000000000000000000000000000000000000000000000815250905090565b600f5481565b600d5481565b5f61096661095f610c51565b8484610e1b565b6001905092915050565b610978610c51565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fb9061208d565b60405180910390fd5b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473060646062610a5030610620565b610a5a9190612002565b610a6491906120d8565b5f80610a6e6108e3565b426040518863ffffffff1660e01b8152600401610a909695949392919061214a565b60606040518083038185885af1158015610aac573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ad191906121bd565b50505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b7192919061220d565b6020604051808303815f875af1158015610b8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb1919061225e565b506001601160146101000a81548160ff021916908315150217905550565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbd906122f9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2b90612387565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e0e9190611c35565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8090612415565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee906124a3565b60405180910390fd5b5f8111610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090612531565b60405180910390fd5b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610fd55750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f8161130857601160149054906101000a900460ff1661102c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102390612599565b60405180910390fd5b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361119b576007546006541061109357600254611097565b6004545b90505f6110ec846110e760085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054600f546114a7565b6114a7565b9050601160149054906101000a900460ff168015611116575060145f9054906101000a900460ff16155b801561116e57508473ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15611199575f81111561118557611184816114bf565b5b5f841061119857611197478786611731565b5b5b505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611244575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561130757600d5460085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20548461129591906125b7565b11156112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd90612634565b60405180910390fd5b60075f8154809291906112e890612652565b91905055506007546005541061130057600154611304565b6003545b90505b5b5f80821015801561131957505f8410155b15611431575f8211156113cb57606484836113349190612002565b61133e91906120d8565b90508060085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461138991906125b7565b60085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b3073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114289190611c35565b60405180910390a35b61143d868686846119f8565b505050505050565b5f83831115829061148c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114839190611bfd565b60405180910390fd5b505f838561149a9190612699565b9050809150509392505050565b5f8183116114b557826114b7565b815b905092915050565b600160145f6101000a81548160ff0219169083151502179055505f811115611715575f600267ffffffffffffffff8111156114fd576114fc6126cc565b5b60405190808252806020026020018201604052801561152b5781602001602082028036833780820191505090505b50905030815f81518110611542576115416126f9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115e6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061160a919061273a565b8160018151811061161e5761161d6126f9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116843060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610c58565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016116e695949392919061281c565b5f604051808303815f87803b1580156116fd575f80fd5b505af115801561170f573d5f803e3d5ffd5b50505050505b5f60145f6101000a81548160ff02191690831515021790555050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8490811502906040515f60405180830381858888f19350505050158015611795573d5f803e3d5ffd5b50600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156119425760135460075410156118995760016012546118009190612699565b8161180b9190612002565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461185391906125b7565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061193d565b6064601254826118a99190612002565b6118b391906120d8565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118fb91906125b7565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6119f3565b60135460075411156119f25760646012548261195e9190612002565b61196891906120d8565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119b091906125b7565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b505050565b8160085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a419190612699565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550808260085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611acc91906125b7565b611ad69190612699565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8385611b729190612699565b604051611b7f9190611c35565b60405180910390a350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611bcf82611b8d565b611bd98185611b97565b9350611be9818560208601611ba7565b611bf281611bb5565b840191505092915050565b5f6020820190508181035f830152611c158184611bc5565b905092915050565b5f819050919050565b611c2f81611c1d565b82525050565b5f602082019050611c485f830184611c26565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c7b82611c52565b9050919050565b611c8b81611c71565b8114611c95575f80fd5b50565b5f81359050611ca681611c82565b92915050565b611cb581611c1d565b8114611cbf575f80fd5b50565b5f81359050611cd081611cac565b92915050565b5f8060408385031215611cec57611ceb611c4e565b5b5f611cf985828601611c98565b9250506020611d0a85828601611cc2565b9150509250929050565b5f8115159050919050565b611d2881611d14565b82525050565b5f602082019050611d415f830184611d1f565b92915050565b5f805f60608486031215611d5e57611d5d611c4e565b5b5f611d6b86828701611c98565b9350506020611d7c86828701611c98565b9250506040611d8d86828701611cc2565b9150509250925092565b5f60ff82169050919050565b611dac81611d97565b82525050565b5f602082019050611dc55f830184611da3565b92915050565b5f60208284031215611de057611ddf611c4e565b5b5f611ded84828501611c98565b91505092915050565b611dff81611c71565b82525050565b5f602082019050611e185f830184611df6565b92915050565b5f8060408385031215611e3457611e33611c4e565b5b5f611e4185828601611c98565b9250506020611e5285828601611c98565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611ede57808604811115611eba57611eb9611e5c565b5b6001851615611ec95780820291505b8081029050611ed785611e89565b9450611e9e565b94509492505050565b5f82611ef65760019050611fb1565b81611f03575f9050611fb1565b8160018114611f195760028114611f2357611f52565b6001915050611fb1565b60ff841115611f3557611f34611e5c565b5b8360020a915084821115611f4c57611f4b611e5c565b5b50611fb1565b5060208310610133831016604e8410600b8410161715611f875782820a905083811115611f8257611f81611e5c565b5b611fb1565b611f948484846001611e95565b92509050818404811115611fab57611faa611e5c565b5b81810290505b9392505050565b5f611fc282611c1d565b9150611fcd83611d97565b9250611ffa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611ee7565b905092915050565b5f61200c82611c1d565b915061201783611c1d565b925082820261202581611c1d565b9150828204841483151761203c5761203b611e5c565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612077602083611b97565b915061208282612043565b602082019050919050565b5f6020820190508181035f8301526120a48161206b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6120e282611c1d565b91506120ed83611c1d565b9250826120fd576120fc6120ab565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f61213461212f61212a84612108565b612111565b611c1d565b9050919050565b6121448161211a565b82525050565b5f60c08201905061215d5f830189611df6565b61216a6020830188611c26565b612177604083018761213b565b612184606083018661213b565b6121916080830185611df6565b61219e60a0830184611c26565b979650505050505050565b5f815190506121b781611cac565b92915050565b5f805f606084860312156121d4576121d3611c4e565b5b5f6121e1868287016121a9565b93505060206121f2868287016121a9565b9250506040612203868287016121a9565b9150509250925092565b5f6040820190506122205f830185611df6565b61222d6020830184611c26565b9392505050565b61223d81611d14565b8114612247575f80fd5b50565b5f8151905061225881612234565b92915050565b5f6020828403121561227357612272611c4e565b5b5f6122808482850161224a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6122e3602483611b97565b91506122ee82612289565b604082019050919050565b5f6020820190508181035f830152612310816122d7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612371602283611b97565b915061237c82612317565b604082019050919050565b5f6020820190508181035f83015261239e81612365565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6123ff602583611b97565b915061240a826123a5565b604082019050919050565b5f6020820190508181035f83015261242c816123f3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61248d602383611b97565b915061249882612433565b604082019050919050565b5f6020820190508181035f8301526124ba81612481565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61251b602983611b97565b9150612526826124c1565b604082019050919050565b5f6020820190508181035f8301526125488161250f565b9050919050565b7f54726164696e67206973206e6f7420616c6c6f776564207965740000000000005f82015250565b5f612583601a83611b97565b915061258e8261254f565b602082019050919050565b5f6020820190508181035f8301526125b081612577565b9050919050565b5f6125c182611c1d565b91506125cc83611c1d565b92508282019050808211156125e4576125e3611e5c565b5b92915050565b7f4d6178206163636f756e742073697a65206f766572666c6f77656400000000005f82015250565b5f61261e601b83611b97565b9150612629826125ea565b602082019050919050565b5f6020820190508181035f83015261264b81612612565b9050919050565b5f61265c82611c1d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361268e5761268d611e5c565b5b600182019050919050565b5f6126a382611c1d565b91506126ae83611c1d565b92508282039050818111156126c6576126c5611e5c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061273481611c82565b92915050565b5f6020828403121561274f5761274e611c4e565b5b5f61275c84828501612726565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61279781611c71565b82525050565b5f6127a8838361278e565b60208301905092915050565b5f602082019050919050565b5f6127ca82612765565b6127d4818561276f565b93506127df8361277f565b805f5b8381101561280f5781516127f6888261279d565b9750612801836127b4565b9250506001810190506127e2565b5085935050505092915050565b5f60a08201905061282f5f830188611c26565b61283c602083018761213b565b818103604083015261284e81866127c0565b905061285d6060830185611df6565b61286a6080830184611c26565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122055cce4af45509ac458278c1e3ac56cbe476afeeedc7e0e99edd72d88308dfae064736f6c634300081a0033

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.