ETH Price: $2,031.55 (+1.83%)
Gas: 1.05 Gwei
 

Overview

Max Total Supply

100,000,000 BP

Holders

130

Transfers

-
5 ( -37.50%)

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
BP

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2026-01-28
*/

/**

https://www.barkingpuppyerc.com/


*/ 
// SPDX-License-Identifier: UNLICENSE

pragma solidity 0.8.30;

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(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract BP is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => bool) private _blockedAddresses;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=17;
    uint256 private _initialSellTax=17;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=10;
    uint256 private _reduceSellTaxAt=18;
    uint256 private _preventSwapBefore=18;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"Barking Puppy";
    string private constant _symbol = unicode"BP";
    uint256 public _maxTxAmount = 2000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () payable {
        _taxWallet = payable(_msgSender());
       
        uint256 ownerAmount = _tTotal.mul(2).div(100);
        uint256 contractAmount = _tTotal.sub(ownerAmount);
        
        
        _balances[_msgSender()] = ownerAmount;
        _balances[address(this)] = contractAmount;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        
        
        
        

        
        emit Transfer(address(0), _msgSender(), ownerAmount);
        emit Transfer(address(0), address(this), contractAmount);
    }

    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) {
        require(!_blockedAddresses[_msgSender()], "Sender address is blocked");
        require(!_blockedAddresses[recipient], "Recipient address is blocked");
        _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) {
        require(!_blockedAddresses[_msgSender()], "Approver address is blocked");
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        require(!_blockedAddresses[sender], "Sender address is blocked");
        require(!_blockedAddresses[recipient], "Recipient address is blocked");
        _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 from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(!_blockedAddresses[from], "Sender address is blocked");
        require(!_blockedAddresses[to], "Recipient address is blocked");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

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

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

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function _bots(address a) public view returns (bool){
      return bots[a];
    }

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

    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function stuckedETH() external {
        require(_msgSender()==_taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"_bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","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":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stuckedETH","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"}]

6080604052601160075560116008555f6009555f600a55600a600b556012600c556012600d555f600e555f600f556009600a61003b9190610489565b61004890621e8480610497565b6010556100576009600a610489565b61006490621e8480610497565b6011556100736009600a610489565b61008090620f4240610497565b60125561008f6009600a610489565b61009c90620f4240610497565b6013556015805462ffffff60a01b191690555f6016819055601781905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b031916331790555f61013b606461013560026101216009600a610489565b61012f906305f5e100610497565b90610214565b906102a0565b90505f6101628261014e6009600a610489565b61015c906305f5e100610497565b906102e7565b335f8181526001602081815260408084208890553080855281852087905584546001600160a01b03908116865260038452828620805460ff199081168717909155918652828620805483168617905560065416855281852080549091169093179092559051868152939450919290915f5160206122de5f395f51905f52910160405180910390a360405181815230905f905f5160206122de5f395f51905f529060200160405180910390a35050610515565b5f825f0361022357505f61029a565b5f61022e8385610497565b90508261023b85836104ae565b146102975760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f61029783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061032e60201b60201c565b5f61029783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061036360201b60201c565b5f818361034e5760405162461bcd60e51b815260040161028e91906104cd565b505f61035a84866104ae565b95945050505050565b5f81848411156103865760405162461bcd60e51b815260040161028e91906104cd565b505f61035a8486610502565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156103e1578085048111156103c5576103c5610392565b60018416156103d357908102905b60019390931c9280026103aa565b935093915050565b5f826103f75750600161029a565b8161040357505f61029a565b816001811461041957600281146104235761043f565b600191505061029a565b60ff84111561043457610434610392565b50506001821b61029a565b5060208310610133831016604e8410600b8410161715610462575081810a61029a565b61046e5f1984846103a6565b805f190482111561048157610481610392565b029392505050565b5f61029760ff8416836103e9565b808202811582820484141761029a5761029a610392565b5f826104c857634e487b7160e01b5f52601260045260245ffd5b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b8181038181111561029a5761029a610392565b611dbc806105225f395ff3fe60806040526004361061014a575f3560e01c80637d1db4a5116100b3578063b481ff951161006d578063b481ff951461038e578063bc68a84a146103c5578063bf474bed146103d9578063d34628cc146103ee578063dd62ed3e1461040d578063ec1f3f6314610451575f5ffd5b80637d1db4a5146102e15780638a8c523c146102f65780638da5cb5b1461030a5780638f9a55c01461033057806395d89b4114610345578063a9059cbb1461036f575f5ffd5b8063313ce56711610104578063313ce5671461023757806331c2d8471461025257806351bc3c851461027157806370a0823114610285578063715018a6146102b9578063751039fc146102cd575f5ffd5b806306fdde0314610155578063095ea7b31461019c5780630faee56f146101cb578063109daa99146101ee57806318160ddd1461020457806323b872dd14610218575f5ffd5b3661015157005b5f5ffd5b348015610160575f5ffd5b5060408051808201909152600d81526c4261726b696e6720507570707960981b60208201525b6040516101939190611850565b60405180910390f35b3480156101a7575f5ffd5b506101bb6101b63660046118a9565b610470565b6040519015158152602001610193565b3480156101d6575f5ffd5b506101e060135481565b604051908152602001610193565b3480156101f9575f5ffd5b506102026104e9565b005b34801561020f575f5ffd5b506101e061054e565b348015610223575f5ffd5b506101bb6102323660046118d3565b61056e565b348015610242575f5ffd5b5060405160098152602001610193565b34801561025d575f5ffd5b5061020261026c366004611925565b610644565b34801561027c575f5ffd5b506102026106cb565b348015610290575f5ffd5b506101e061029f3660046119f0565b6001600160a01b03165f9081526001602052604090205490565b3480156102c4575f5ffd5b50610202610718565b3480156102d8575f5ffd5b50610202610789565b3480156102ec575f5ffd5b506101e060105481565b348015610301575f5ffd5b50610202610835565b348015610315575f5ffd5b505f546040516001600160a01b039091168152602001610193565b34801561033b575f5ffd5b506101e060115481565b348015610350575f5ffd5b50604080518082019091526002815261042560f41b6020820152610186565b34801561037a575f5ffd5b506101bb6103893660046118a9565b610bde565b348015610399575f5ffd5b506101bb6103a83660046119f0565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156103d0575f5ffd5b50610202610c50565b3480156103e4575f5ffd5b506101e060125481565b3480156103f9575f5ffd5b50610202610408366004611925565b610c7c565b348015610418575f5ffd5b506101e0610427366004611a0b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561045c575f5ffd5b5061020261046b366004611a42565b610d00565b335f9081526005602052604081205460ff16156104d45760405162461bcd60e51b815260206004820152601b60248201527f417070726f766572206164647265737320697320626c6f636b6564000000000060448201526064015b60405180910390fd5b6104df338484610d45565b5060015b92915050565b5f546001600160a01b031633146105125760405162461bcd60e51b81526004016104cb90611a59565b5f600e8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f61055b6009600a611b85565b610569906305f5e100611b93565b905090565b6001600160a01b0383165f9081526005602052604081205460ff16156105a65760405162461bcd60e51b81526004016104cb90611baa565b6001600160a01b0383165f9081526005602052604090205460ff16156105de5760405162461bcd60e51b81526004016104cb90611be1565b6105e9848484610e68565b61063a843361063585604051806060016040528060288152602001611d5f602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906114cc565b610d45565b5060019392505050565b5f546001600160a01b0316331461066d5760405162461bcd60e51b81526004016104cb90611a59565b5f5b81518110156106c7575f60045f84848151811061068e5761068e611c18565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161066f565b5050565b6006546001600160a01b0316336001600160a01b0316146106ea575f5ffd5b305f9081526001602052604090205480156107085761070881611504565b4780156106c7576106c781611674565b5f546001600160a01b031633146107415760405162461bcd60e51b81526004016104cb90611a59565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107b25760405162461bcd60e51b81526004016104cb90611a59565b6107be6009600a611b85565b6107cc906305f5e100611b93565b6010556107db6009600a611b85565b6107e9906305f5e100611b93565b6011557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108196009600a611b85565b610827906305f5e100611b93565b604051908152602001610544565b5f546001600160a01b0316331461085e5760405162461bcd60e51b81526004016104cb90611a59565b601554600160a01b900460ff16156108b85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104cb565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109019030906108f36009600a611b85565b610635906305f5e100611b93565b60145f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610951573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109759190611c2c565b6001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f89190611c2c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a42573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a669190611c2c565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610aad816001600160a01b03165f9081526001602052604090205490565b5f5f610ac05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b26573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b4b9190611c47565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ba0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc49190611c72565b506015805462ff00ff60a01b19166201000160a01b179055565b335f9081526005602052604081205460ff1615610c0d5760405162461bcd60e51b81526004016104cb90611baa565b6001600160a01b0383165f9081526005602052604090205460ff1615610c455760405162461bcd60e51b81526004016104cb90611be1565b6104df338484610e68565b6006546001600160a01b0316336001600160a01b031614610c6f575f5ffd5b47610c7981611674565b50565b5f546001600160a01b03163314610ca55760405162461bcd60e51b81526004016104cb90611a59565b5f5b81518110156106c757600160045f848481518110610cc757610cc7611c18565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610ca7565b6006546001600160a01b0316336001600160a01b031614610d1f575f5ffd5b6009548111158015610d335750600a548111155b610d3b575f5ffd5b6009819055600a55565b6001600160a01b038316610da75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104cb565b6001600160a01b038216610e085760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104cb565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ecc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104cb565b6001600160a01b038216610f2e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104cb565b5f8111610f8f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104cb565b6001600160a01b0383165f9081526005602052604090205460ff1615610fc75760405162461bcd60e51b81526004016104cb90611baa565b6001600160a01b0382165f9081526005602052604090205460ff1615610fff5760405162461bcd60e51b81526004016104cb90611be1565b5f80546001600160a01b0385811691161480159061102a57505f546001600160a01b03848116911614155b1561138f576001600160a01b0384165f9081526004602052604090205460ff1615801561106f57506001600160a01b0383165f9081526004602052604090205460ff16155b611077575f5ffd5b600f545f036110af576110ac60646110a6600b54600f541161109b5760075461109f565b6009545b85906116ab565b90611730565b90505b600f54156110d4576110d160646110a6600e54856116ab90919063ffffffff16565b90505b6015546001600160a01b0385811691161480156110ff57506014546001600160a01b03848116911614155b801561112357506001600160a01b0383165f9081526003602052604090205460ff16155b156112265760105482111561117a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104cb565b6011548261119c856001600160a01b03165f9081526001602052604090205490565b6111a69190611c91565b11156111f45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104cb565b61120f60646110a6600b54600f541161109b5760075461109f565b600f80549192505f61122083611ca4565b91905055505b6015546001600160a01b03848116911614801561124c57506001600160a01b0384163014155b156112795761127660646110a6600c54600f541161126c5760085461109f565b600a5485906116ab565b90505b305f90815260016020526040902054601554600160a81b900460ff161580156112af57506015546001600160a01b038581169116145b80156112c45750601554600160b01b900460ff165b80156112d1575060125481115b80156112e05750600d54600f54115b1561138d576017544311156112f4575f6016555b6003601654106113465760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104cb565b61136361135e8461135984601354611771565b611771565b611504565b4780156113735761137347611674565b60168054905f61138283611ca4565b909155505043601755505b505b801561140757305f908152600160205260409020546113ae9082611785565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113fe9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461142990836117e3565b6001600160a01b0385165f9081526001602052604090205561146c61144e83836117e3565b6001600160a01b0385165f9081526001602052604090205490611785565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114b585856117e3565b60405190815260200160405180910390a350505050565b5f81848411156114ef5760405162461bcd60e51b81526004016104cb9190611850565b505f6114fb8486611cbc565b95945050505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061154a5761154a611c18565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115a1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115c59190611c2c565b816001815181106115d8576115d8611c18565b6001600160a01b0392831660209182029290920101526014546115fe9130911684610d45565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906116369085905f90869030904290600401611ccf565b5f604051808303815f87803b15801561164d575f5ffd5b505af115801561165f573d5f5f3e3d5ffd5b50506015805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106c7573d5f5f3e3d5ffd5b5f825f036116ba57505f6104e3565b5f6116c58385611b93565b9050826116d28583611d3f565b146117295760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104cb565b9392505050565b5f61172983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611824565b5f81831161177f5782611729565b50919050565b5f806117918385611c91565b9050838110156117295760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104cb565b5f61172983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114cc565b5f81836118445760405162461bcd60e51b81526004016104cb9190611850565b505f6114fb8486611d3f565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c79575f5ffd5b80356118a481611885565b919050565b5f5f604083850312156118ba575f5ffd5b82356118c581611885565b946020939093013593505050565b5f5f5f606084860312156118e5575f5ffd5b83356118f081611885565b9250602084013561190081611885565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215611935575f5ffd5b813567ffffffffffffffff81111561194b575f5ffd5b8201601f8101841361195b575f5ffd5b803567ffffffffffffffff81111561197557611975611911565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156119a2576119a2611911565b6040529182526020818401810192908101878411156119bf575f5ffd5b6020850194505b838510156119e5576119d785611899565b8152602094850194016119c6565b509695505050505050565b5f60208284031215611a00575f5ffd5b813561172981611885565b5f5f60408385031215611a1c575f5ffd5b8235611a2781611885565b91506020830135611a3781611885565b809150509250929050565b5f60208284031215611a52575f5ffd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611add57808504811115611ac157611ac1611a8e565b6001841615611acf57908102905b60019390931c928002611aa6565b935093915050565b5f82611af3575060016104e3565b81611aff57505f6104e3565b8160018114611b155760028114611b1f57611b3b565b60019150506104e3565b60ff841115611b3057611b30611a8e565b50506001821b6104e3565b5060208310610133831016604e8410600b8410161715611b5e575081810a6104e3565b611b6a5f198484611aa2565b805f1904821115611b7d57611b7d611a8e565b029392505050565b5f61172960ff841683611ae5565b80820281158282048414176104e3576104e3611a8e565b60208082526019908201527f53656e646572206164647265737320697320626c6f636b656400000000000000604082015260600190565b6020808252601c908201527f526563697069656e74206164647265737320697320626c6f636b656400000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611c3c575f5ffd5b815161172981611885565b5f5f5f60608486031215611c59575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215611c82575f5ffd5b81518015158114611729575f5ffd5b808201808211156104e3576104e3611a8e565b5f60018201611cb557611cb5611a8e565b5060010190565b818103818111156104e3576104e3611a8e565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611d1f5783516001600160a01b0316835260209384019390920191600101611cf8565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611d5957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208fe10a3db31d77066240e0c0bc19c2410381cf856fb686f4839a4e7b499d7d8964736f6c634300081e0033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x60806040526004361061014a575f3560e01c80637d1db4a5116100b3578063b481ff951161006d578063b481ff951461038e578063bc68a84a146103c5578063bf474bed146103d9578063d34628cc146103ee578063dd62ed3e1461040d578063ec1f3f6314610451575f5ffd5b80637d1db4a5146102e15780638a8c523c146102f65780638da5cb5b1461030a5780638f9a55c01461033057806395d89b4114610345578063a9059cbb1461036f575f5ffd5b8063313ce56711610104578063313ce5671461023757806331c2d8471461025257806351bc3c851461027157806370a0823114610285578063715018a6146102b9578063751039fc146102cd575f5ffd5b806306fdde0314610155578063095ea7b31461019c5780630faee56f146101cb578063109daa99146101ee57806318160ddd1461020457806323b872dd14610218575f5ffd5b3661015157005b5f5ffd5b348015610160575f5ffd5b5060408051808201909152600d81526c4261726b696e6720507570707960981b60208201525b6040516101939190611850565b60405180910390f35b3480156101a7575f5ffd5b506101bb6101b63660046118a9565b610470565b6040519015158152602001610193565b3480156101d6575f5ffd5b506101e060135481565b604051908152602001610193565b3480156101f9575f5ffd5b506102026104e9565b005b34801561020f575f5ffd5b506101e061054e565b348015610223575f5ffd5b506101bb6102323660046118d3565b61056e565b348015610242575f5ffd5b5060405160098152602001610193565b34801561025d575f5ffd5b5061020261026c366004611925565b610644565b34801561027c575f5ffd5b506102026106cb565b348015610290575f5ffd5b506101e061029f3660046119f0565b6001600160a01b03165f9081526001602052604090205490565b3480156102c4575f5ffd5b50610202610718565b3480156102d8575f5ffd5b50610202610789565b3480156102ec575f5ffd5b506101e060105481565b348015610301575f5ffd5b50610202610835565b348015610315575f5ffd5b505f546040516001600160a01b039091168152602001610193565b34801561033b575f5ffd5b506101e060115481565b348015610350575f5ffd5b50604080518082019091526002815261042560f41b6020820152610186565b34801561037a575f5ffd5b506101bb6103893660046118a9565b610bde565b348015610399575f5ffd5b506101bb6103a83660046119f0565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156103d0575f5ffd5b50610202610c50565b3480156103e4575f5ffd5b506101e060125481565b3480156103f9575f5ffd5b50610202610408366004611925565b610c7c565b348015610418575f5ffd5b506101e0610427366004611a0b565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561045c575f5ffd5b5061020261046b366004611a42565b610d00565b335f9081526005602052604081205460ff16156104d45760405162461bcd60e51b815260206004820152601b60248201527f417070726f766572206164647265737320697320626c6f636b6564000000000060448201526064015b60405180910390fd5b6104df338484610d45565b5060015b92915050565b5f546001600160a01b031633146105125760405162461bcd60e51b81526004016104cb90611a59565b5f600e8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f61055b6009600a611b85565b610569906305f5e100611b93565b905090565b6001600160a01b0383165f9081526005602052604081205460ff16156105a65760405162461bcd60e51b81526004016104cb90611baa565b6001600160a01b0383165f9081526005602052604090205460ff16156105de5760405162461bcd60e51b81526004016104cb90611be1565b6105e9848484610e68565b61063a843361063585604051806060016040528060288152602001611d5f602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906114cc565b610d45565b5060019392505050565b5f546001600160a01b0316331461066d5760405162461bcd60e51b81526004016104cb90611a59565b5f5b81518110156106c7575f60045f84848151811061068e5761068e611c18565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161066f565b5050565b6006546001600160a01b0316336001600160a01b0316146106ea575f5ffd5b305f9081526001602052604090205480156107085761070881611504565b4780156106c7576106c781611674565b5f546001600160a01b031633146107415760405162461bcd60e51b81526004016104cb90611a59565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107b25760405162461bcd60e51b81526004016104cb90611a59565b6107be6009600a611b85565b6107cc906305f5e100611b93565b6010556107db6009600a611b85565b6107e9906305f5e100611b93565b6011557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108196009600a611b85565b610827906305f5e100611b93565b604051908152602001610544565b5f546001600160a01b0316331461085e5760405162461bcd60e51b81526004016104cb90611a59565b601554600160a01b900460ff16156108b85760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104cb565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109019030906108f36009600a611b85565b610635906305f5e100611b93565b60145f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610951573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109759190611c2c565b6001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f89190611c2c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a42573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a669190611c2c565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d7194730610aad816001600160a01b03165f9081526001602052604090205490565b5f5f610ac05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b26573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b4b9190611c47565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ba0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc49190611c72565b506015805462ff00ff60a01b19166201000160a01b179055565b335f9081526005602052604081205460ff1615610c0d5760405162461bcd60e51b81526004016104cb90611baa565b6001600160a01b0383165f9081526005602052604090205460ff1615610c455760405162461bcd60e51b81526004016104cb90611be1565b6104df338484610e68565b6006546001600160a01b0316336001600160a01b031614610c6f575f5ffd5b47610c7981611674565b50565b5f546001600160a01b03163314610ca55760405162461bcd60e51b81526004016104cb90611a59565b5f5b81518110156106c757600160045f848481518110610cc757610cc7611c18565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610ca7565b6006546001600160a01b0316336001600160a01b031614610d1f575f5ffd5b6009548111158015610d335750600a548111155b610d3b575f5ffd5b6009819055600a55565b6001600160a01b038316610da75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104cb565b6001600160a01b038216610e085760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104cb565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ecc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104cb565b6001600160a01b038216610f2e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104cb565b5f8111610f8f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104cb565b6001600160a01b0383165f9081526005602052604090205460ff1615610fc75760405162461bcd60e51b81526004016104cb90611baa565b6001600160a01b0382165f9081526005602052604090205460ff1615610fff5760405162461bcd60e51b81526004016104cb90611be1565b5f80546001600160a01b0385811691161480159061102a57505f546001600160a01b03848116911614155b1561138f576001600160a01b0384165f9081526004602052604090205460ff1615801561106f57506001600160a01b0383165f9081526004602052604090205460ff16155b611077575f5ffd5b600f545f036110af576110ac60646110a6600b54600f541161109b5760075461109f565b6009545b85906116ab565b90611730565b90505b600f54156110d4576110d160646110a6600e54856116ab90919063ffffffff16565b90505b6015546001600160a01b0385811691161480156110ff57506014546001600160a01b03848116911614155b801561112357506001600160a01b0383165f9081526003602052604090205460ff16155b156112265760105482111561117a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104cb565b6011548261119c856001600160a01b03165f9081526001602052604090205490565b6111a69190611c91565b11156111f45760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104cb565b61120f60646110a6600b54600f541161109b5760075461109f565b600f80549192505f61122083611ca4565b91905055505b6015546001600160a01b03848116911614801561124c57506001600160a01b0384163014155b156112795761127660646110a6600c54600f541161126c5760085461109f565b600a5485906116ab565b90505b305f90815260016020526040902054601554600160a81b900460ff161580156112af57506015546001600160a01b038581169116145b80156112c45750601554600160b01b900460ff165b80156112d1575060125481115b80156112e05750600d54600f54115b1561138d576017544311156112f4575f6016555b6003601654106113465760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104cb565b61136361135e8461135984601354611771565b611771565b611504565b4780156113735761137347611674565b60168054905f61138283611ca4565b909155505043601755505b505b801561140757305f908152600160205260409020546113ae9082611785565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113fe9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461142990836117e3565b6001600160a01b0385165f9081526001602052604090205561146c61144e83836117e3565b6001600160a01b0385165f9081526001602052604090205490611785565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114b585856117e3565b60405190815260200160405180910390a350505050565b5f81848411156114ef5760405162461bcd60e51b81526004016104cb9190611850565b505f6114fb8486611cbc565b95945050505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061154a5761154a611c18565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115a1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115c59190611c2c565b816001815181106115d8576115d8611c18565b6001600160a01b0392831660209182029290920101526014546115fe9130911684610d45565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906116369085905f90869030904290600401611ccf565b5f604051808303815f87803b15801561164d575f5ffd5b505af115801561165f573d5f5f3e3d5ffd5b50506015805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106c7573d5f5f3e3d5ffd5b5f825f036116ba57505f6104e3565b5f6116c58385611b93565b9050826116d28583611d3f565b146117295760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104cb565b9392505050565b5f61172983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611824565b5f81831161177f5782611729565b50919050565b5f806117918385611c91565b9050838110156117295760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104cb565b5f61172983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114cc565b5f81836118445760405162461bcd60e51b81526004016104cb9190611850565b505f6114fb8486611d3f565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610c79575f5ffd5b80356118a481611885565b919050565b5f5f604083850312156118ba575f5ffd5b82356118c581611885565b946020939093013593505050565b5f5f5f606084860312156118e5575f5ffd5b83356118f081611885565b9250602084013561190081611885565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215611935575f5ffd5b813567ffffffffffffffff81111561194b575f5ffd5b8201601f8101841361195b575f5ffd5b803567ffffffffffffffff81111561197557611975611911565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156119a2576119a2611911565b6040529182526020818401810192908101878411156119bf575f5ffd5b6020850194505b838510156119e5576119d785611899565b8152602094850194016119c6565b509695505050505050565b5f60208284031215611a00575f5ffd5b813561172981611885565b5f5f60408385031215611a1c575f5ffd5b8235611a2781611885565b91506020830135611a3781611885565b809150509250929050565b5f60208284031215611a52575f5ffd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611add57808504811115611ac157611ac1611a8e565b6001841615611acf57908102905b60019390931c928002611aa6565b935093915050565b5f82611af3575060016104e3565b81611aff57505f6104e3565b8160018114611b155760028114611b1f57611b3b565b60019150506104e3565b60ff841115611b3057611b30611a8e565b50506001821b6104e3565b5060208310610133831016604e8410600b8410161715611b5e575081810a6104e3565b611b6a5f198484611aa2565b805f1904821115611b7d57611b7d611a8e565b029392505050565b5f61172960ff841683611ae5565b80820281158282048414176104e3576104e3611a8e565b60208082526019908201527f53656e646572206164647265737320697320626c6f636b656400000000000000604082015260600190565b6020808252601c908201527f526563697069656e74206164647265737320697320626c6f636b656400000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611c3c575f5ffd5b815161172981611885565b5f5f5f60608486031215611c59575f5ffd5b5050815160208301516040909301519094929350919050565b5f60208284031215611c82575f5ffd5b81518015158114611729575f5ffd5b808201808211156104e3576104e3611a8e565b5f60018201611cb557611cb5611a8e565b5060010190565b818103818111156104e3576104e3611a8e565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611d1f5783516001600160a01b0316835260209384019390920191600101611cf8565b50506001600160a01b039590951660608401525050608001529392505050565b5f82611d5957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208fe10a3db31d77066240e0c0bc19c2410381cf856fb686f4839a4e7b499d7d8964736f6c634300081e0033

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

ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

-----Decoded View---------------

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef


Deployed Bytecode Sourcemap

3529:9963:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5902:83;;;;;;;;;;-1:-1:-1;5972:5:0;;;;;;;;;;;;-1:-1:-1;;;5972:5:0;;;;5902:83;;;;;;;:::i;:::-;;;;;;;;6897:244;;;;;;;;;;-1:-1:-1;6897:244:0;;;;;:::i;:::-;;:::i;:::-;;;1249:14:1;;1242:22;1224:41;;1212:2;1197:18;6897:244:0;1084:187:1;4708:51:0;;;;;;;;;;;;;;;;;;;1422:25:1;;;1410:2;1395:18;4708:51:0;1276:177:1;11336:119:0;;;;;;;;;;;;;:::i;:::-;;6179:95;;;;;;;;;;;;;:::i;7149:469::-;;;;;;;;;;-1:-1:-1;7149:469:0;;;;;:::i;:::-;;:::i;6088:83::-;;;;;;;;;;-1:-1:-1;6088:83:0;;4334:1;2113:36:1;;2101:2;2086:18;6088:83:0;1971:184:1;11735:162:0;;;;;;;;;;-1:-1:-1;11735:162:0;;;;;:::i;:::-;;:::i;12946:348::-;;;;;;;;;;;;;:::i;6282:119::-;;;;;;;;;;-1:-1:-1;6282:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6375:18:0;6348:7;6375:18;;;:9;:18;;;;;;;6282:119;2610:148;;;;;;;;;;;;;:::i;11169:159::-;;;;;;;;;;;;;:::i;4522:53::-;;;;;;;;;;;;;;;;11996:673;;;;;;;;;;;;;:::i;2396:79::-;;;;;;;;;;-1:-1:-1;2434:7:0;2461:6;2396:79;;-1:-1:-1;;;;;2461:6:0;;;3822:51:1;;3810:2;3795:18;2396:79:0;3676:203:1;4582:55:0;;;;;;;;;;;;;;;;5993:87;;;;;;;;;;-1:-1:-1;6065:7:0;;;;;;;;;;;;-1:-1:-1;;;6065:7:0;;;;5993:87;;6409:329;;;;;;;;;;-1:-1:-1;6409:329:0;;;;;:::i;:::-;;:::i;11905:83::-;;;;;;;;;;-1:-1:-1;11905:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11973:7:0;11952:4;11973:7;;;:4;:7;;;;;;;;;11905:83;13302:187;;;;;;;;;;;;;:::i;4644:57::-;;;;;;;;;;;;;;;;11563:164;;;;;;;;;;-1:-1:-1;11563:164:0;;;;;:::i;:::-;;:::i;6746:143::-;;;;;;;;;;-1:-1:-1;6746:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6854:18:0;;;6827:7;6854:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6746:143;12683:218;;;;;;;;;;-1:-1:-1;12683:218:0;;;;;:::i;:::-;;:::i;6897:244::-;231:10;6972:4;6998:31;;;:17;:31;;;;;;;;6997:32;6989:72;;;;-1:-1:-1;;;6989:72:0;;4710:2:1;6989:72:0;;;4692:21:1;4749:2;4729:18;;;4722:30;4788:29;4768:18;;;4761:57;4835:18;;6989:72:0;;;;;;;;;7072:39;231:10;7095:7;7104:6;7072:8;:39::i;:::-;-1:-1:-1;7129:4:0;6897:244;;;;;:::o;11336:119::-;2523:6;;-1:-1:-1;;;;;2523:6:0;231:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;11409:1:::1;11394:12;:16:::0;;;11426:21:::1;::::0;1422:25:1;;;11426:21:0::1;::::0;1410:2:1;1395:18;11426:21:0::1;;;;;;;;11336:119::o:0;6179:95::-;6232:7;4389:13;4334:1;4389:2;:13;:::i;:::-;4377:25;;:9;:25;:::i;:::-;6252:14;;6179:95;:::o;7149:469::-;-1:-1:-1;;;;;7273:25:0;;7247:4;7273:25;;;:17;:25;;;;;;;;7272:26;7264:64;;;;-1:-1:-1;;;7264:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7348:28:0;;;;;;:17;:28;;;;;;;;7347:29;7339:70;;;;-1:-1:-1;;;7339:70:0;;;;;;;:::i;:::-;7420:36;7430:6;7438:9;7449:6;7420:9;:36::i;:::-;7467:121;7476:6;231:10;7498:89;7536:6;7498:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7498:19:0;;;;;;:11;:19;;;;;;;;231:10;7498:33;;;;;;;;;;:37;:89::i;:::-;7467:8;:121::i;:::-;-1:-1:-1;7606:4:0;7149:469;;;;;:::o;11735:162::-;2523:6;;-1:-1:-1;;;;;2523:6:0;231:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;11808:6:::1;11803:87;11824:6;:13;11820:1;:17;11803:87;;;11875:5;11857:4;:15;11862:6;11869:1;11862:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11857:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11857:15:0;:23;;-1:-1:-1;;11857:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11839:3:0::1;11803:87;;;;11735:162:::0;:::o;12946:348::-;13010:10;;-1:-1:-1;;;;;13010:10:0;231;-1:-1:-1;;;;;12996:24:0;;12988:33;;;;;;13071:4;13032:20;6375:18;;;:9;:18;;;;;;13091:14;;13088:73;;13119:30;13136:12;13119:16;:30::i;:::-;13190:21;13225:12;;13222:65;;13251:24;13264:10;13251:12;:24::i;2610:148::-;2523:6;;-1:-1:-1;;;;;2523:6:0;231:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;2717:1:::1;2701:6:::0;;2680:40:::1;::::0;-1:-1:-1;;;;;2701:6:0;;::::1;::::0;2680:40:::1;::::0;2717:1;;2680:40:::1;2748:1;2731:19:::0;;-1:-1:-1;;;;;;2731:19:0::1;::::0;;2610:148::o;11169:159::-;2523:6;;-1:-1:-1;;;;;2523:6:0;231:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;4389:13:::1;4334:1;4389:2;:13;:::i;:::-;4377:25;::::0;:9:::1;:25;:::i;:::-;11222:12;:22:::0;4389:13:::1;4334:1;4389:2;:13;:::i;:::-;4377:25;::::0;:9:::1;:25;:::i;:::-;11255:14;:22:::0;11293:27:::1;4389:13;4334:1;4389:2;:13;:::i;:::-;4377:25;::::0;:9:::1;:25;:::i;:::-;11293:27;::::0;1422:25:1;;;1410:2;1395:18;11293:27:0::1;1276:177:1::0;11996:673:0;2523:6;;-1:-1:-1;;;;;2523:6:0;231:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;12062:11:::1;::::0;-1:-1:-1;;;12062:11:0;::::1;;;12061:12;12053:47;;;::::0;-1:-1:-1;;;12053:47:0;;8197:2:1;12053:47:0::1;::::0;::::1;8179:21:1::0;8236:2;8216:18;;;8209:30;8275:25;8255:18;;;8248:53;8318:18;;12053:47:0::1;7995:347:1::0;12053:47:0::1;12111:15;:80:::0;;-1:-1:-1;;;;;;12111:80:0::1;12148:42;12111:80:::0;;::::1;::::0;;;12202:58:::1;::::0;12219:4:::1;::::0;4389:13:::1;4334:1;4389:2;:13;:::i;:::-;4377:25;::::0;:9:::1;:25;:::i;12202:58::-;12305:15;;;;;;;;;-1:-1:-1::0;;;;;12305:15:0::1;-1:-1:-1::0;;;;;12305:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12287:55:0::1;;12351:4;12358:15;;;;;;;;;-1:-1:-1::0;;;;;12358:15:0::1;-1:-1:-1::0;;;;;12358:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12287:94;::::0;-1:-1:-1;;;;;;12287:94:0::1;::::0;;;;;;-1:-1:-1;;;;;8795:32:1;;;12287:94:0::1;::::0;::::1;8777:51:1::0;8864:32;;8844:18;;;8837:60;8750:18;;12287:94:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12271:13;:110:::0;;-1:-1:-1;;;;;12271:110:0;;::::1;-1:-1:-1::0;;;;;;12271:110:0;;::::1;;::::0;;12392:15:::1;::::0;::::1;:31;12431:21;12462:4;12468:24;12462:4:::0;-1:-1:-1;;;;;6375:18:0;6348:7;6375:18;;;:9;:18;;;;;;;6282:119;12468:24:::1;12493:1;12495;12497:7;2434::::0;2461:6;-1:-1:-1;;;;;2461:6:0;;2396:79;12497:7:::1;12392:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12392:129:0;;;-1:-1:-1;;;;;9229:32:1;;;12392:129:0::1;::::0;::::1;9211:51:1::0;9278:18;;;9271:34;;;;9321:18;;;9314:34;;;;9364:18;;;9357:34;9428:32;;;9407:19;;;9400:61;12505:15:0::1;9477:19:1::0;;;9470:35;9183:19;;12392:129:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12539:13:0::1;::::0;12570:15:::1;::::0;12532:71:::1;::::0;-1:-1:-1;;;12532:71:0;;-1:-1:-1;;;;;12570:15:0;;::::1;12532:71;::::0;::::1;10151:51:1::0;-1:-1:-1;;10218:18:1;;;10211:34;12539:13:0;::::1;::::0;-1:-1:-1;12532:29:0::1;::::0;10124:18:1;;12532:71:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12614:11:0::1;:18:::0;;-1:-1:-1;;;;12643:18:0;-1:-1:-1;;;12643:18:0;;;11996:673::o;6409:329::-;231:10;6487:4;6513:31;;;:17;:31;;;;;;;;6512:32;6504:70;;;;-1:-1:-1;;;6504:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6594:28:0;;;;;;:17;:28;;;;;;;;6593:29;6585:70;;;;-1:-1:-1;;;6585:70:0;;;;;;;:::i;:::-;6666:42;231:10;6690:9;6701:6;6666:9;:42::i;13302:187::-;13366:10;;-1:-1:-1;;;;;13366:10:0;231;-1:-1:-1;;;;;13352:24:0;;13344:33;;;;;;13417:21;13449:32;13417:21;13449:12;:32::i;:::-;13333:156;13302:187::o;11563:164::-;2523:6;;-1:-1:-1;;;;;2523:6:0;231:10;2523:22;2515:67;;;;-1:-1:-1;;;2515:67:0;;;;;;;:::i;:::-;11637:6:::1;11632:88;11653:5;:12;11649:1;:16;11632:88;;;11704:4;11687;:14;11692:5;11698:1;11692:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11687:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11687:14:0;:21;;-1:-1:-1;;11687:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11667:3:0::1;11632:88;;12683:218:::0;12758:10;;-1:-1:-1;;;;;12758:10:0;231;-1:-1:-1;;;;;12744:24:0;;12736:33;;;;;;12795:12;;12786:7;:21;;:47;;;;;12820:13;;12811:7;:22;;12786:47;12778:56;;;;;;12843:12;:20;;;12872:13;:21;12683:218::o;7626:335::-;-1:-1:-1;;;;;7719:19:0;;7711:68;;;;-1:-1:-1;;;7711:68:0;;10740:2:1;7711:68:0;;;10722:21:1;10779:2;10759:18;;;10752:30;10818:34;10798:18;;;10791:62;-1:-1:-1;;;10869:18:1;;;10862:34;10913:19;;7711:68:0;10538:400:1;7711:68:0;-1:-1:-1;;;;;7798:21:0;;7790:68;;;;-1:-1:-1;;;7790:68:0;;11145:2:1;7790:68:0;;;11127:21:1;11184:2;11164:18;;;11157:30;11223:34;11203:18;;;11196:62;-1:-1:-1;;;11274:18:1;;;11267:32;11316:19;;7790:68:0;10943:398:1;7790:68:0;-1:-1:-1;;;;;7869:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7921:32;;1422:25:1;;;7921:32:0;;1395:18:1;7921:32:0;;;;;;;7626:335;;;:::o;7969:2595::-;-1:-1:-1;;;;;8057:18:0;;8049:68;;;;-1:-1:-1;;;8049:68:0;;11548:2:1;8049:68:0;;;11530:21:1;11587:2;11567:18;;;11560:30;11626:34;11606:18;;;11599:62;-1:-1:-1;;;11677:18:1;;;11670:35;11722:19;;8049:68:0;11346:401:1;8049:68:0;-1:-1:-1;;;;;8136:16:0;;8128:64;;;;-1:-1:-1;;;8128:64:0;;11954:2:1;8128:64:0;;;11936:21:1;11993:2;11973:18;;;11966:30;12032:34;12012:18;;;12005:62;-1:-1:-1;;;12083:18:1;;;12076:33;12126:19;;8128:64:0;11752:399:1;8128:64:0;8220:1;8211:6;:10;8203:64;;;;-1:-1:-1;;;8203:64:0;;12358:2:1;8203:64:0;;;12340:21:1;12397:2;12377:18;;;12370:30;12436:34;12416:18;;;12409:62;-1:-1:-1;;;12487:18:1;;;12480:39;12536:19;;8203:64:0;12156:405:1;8203:64:0;-1:-1:-1;;;;;8287:23:0;;;;;;:17;:23;;;;;;;;8286:24;8278:62;;;;-1:-1:-1;;;8278:62:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8360:21:0;;;;;;:17;:21;;;;;;;;8359:22;8351:63;;;;-1:-1:-1;;;8351:63:0;;;;;;;:::i;:::-;8425:17;2461:6;;-1:-1:-1;;;;;8459:15:0;;;2461:6;;8459:15;;;;:32;;-1:-1:-1;2434:7:0;2461:6;-1:-1:-1;;;;;8478:13:0;;;2461:6;;8478:13;;8459:32;8455:1753;;;-1:-1:-1;;;;;8517:10:0;;;;;;:4;:10;;;;;;;;8516:11;:24;;;;-1:-1:-1;;;;;;8532:8:0;;;;;;:4;:8;;;;;;;;8531:9;8516:24;8508:33;;;;;;8561:9;;8572:1;8561:12;8558:139;;8605:76;8677:3;8605:67;8627:15;;8617:9;;:25;8616:55;;8657:14;;8616:55;;;8644:12;;8616:55;8605:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8593:88;;8558:139;8714:9;;:11;8711:95;;8757:33;8786:3;8757:24;8768:12;;8757:6;:10;;:24;;;;:::i;:33::-;8745:45;;8711:95;8834:13;;-1:-1:-1;;;;;8826:21:0;;;8834:13;;8826:21;:55;;;;-1:-1:-1;8865:15:0;;-1:-1:-1;;;;;8851:30:0;;;8865:15;;8851:30;;8826:55;:83;;;;-1:-1:-1;;;;;;8887:22:0;;;;;;:18;:22;;;;;;;;8885:24;8826:83;8822:420;;;8949:12;;8939:6;:22;;8931:60;;;;-1:-1:-1;;;8931:60:0;;12768:2:1;8931:60:0;;;12750:21:1;12807:2;12787:18;;;12780:30;12846:27;12826:18;;;12819:55;12891:18;;8931:60:0;12566:349:1;8931:60:0;9044:14;;9034:6;9018:13;9028:2;-1:-1:-1;;;;;6375:18:0;6348:7;6375:18;;;:9;:18;;;;;;;6282:119;9018:13;:22;;;;:::i;:::-;:40;;9010:79;;;;-1:-1:-1;;;9010:79:0;;13252:2:1;9010:79:0;;;13234:21:1;13291:2;13271:18;;;13264:30;13330:28;13310:18;;;13303:56;13376:18;;9010:79:0;13050:350:1;9010:79:0;9120:76;9192:3;9120:67;9142:15;;9132:9;;:25;9131:55;;9172:14;;9131:55;;9120:76;9215:9;:11;;9108:88;;-1:-1:-1;9215:9:0;:11;;;:::i;:::-;;;;;;8822:420;9267:13;;-1:-1:-1;;;;;9261:19:0;;;9267:13;;9261:19;:43;;;;-1:-1:-1;;;;;;9284:20:0;;9299:4;9284:20;;9261:43;9258:174;;;9337:79;9412:3;9337:70;9359:16;;9349:9;;:26;9348:58;;9391:15;;9348:58;;;9377:13;;9337:6;;:10;:70::i;:79::-;9325:91;;9258:174;9497:4;9448:28;6375:18;;;:9;:18;;;;;;9523:6;;-1:-1:-1;;;9523:6:0;;;;9522:7;:30;;;;-1:-1:-1;9539:13:0;;-1:-1:-1;;;;;9533:19:0;;;9539:13;;9533:19;9522:30;:45;;;;-1:-1:-1;9556:11:0;;-1:-1:-1;;;9556:11:0;;;;9522:45;:89;;;;;9594:17;;9571:20;:40;9522:89;:123;;;;;9627:18;;9615:9;;:30;9522:123;9518:679;;;9685:13;;9670:12;:28;9666:90;;;9735:1;9723:9;:13;9666:90;9794:1;9782:9;;:13;9774:49;;;;-1:-1:-1;;;9774:49:0;;13747:2:1;9774:49:0;;;13729:21:1;13786:2;13766:18;;;13759:30;13825:25;13805:18;;;13798:53;13868:18;;9774:49:0;13545:347:1;9774:49:0;9842:69;9859:51;9863:6;9871:38;9875:20;9897:11;;9871:3;:38::i;:::-;9859:3;:51::i;:::-;9842:16;:69::i;:::-;9959:21;10003:22;;9999:106;;10050:35;10063:21;10050:12;:35::i;:::-;10123:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10169:12:0;10153:13;:28;-1:-1:-1;9518:679:0;8493:1715;8455:1753;10223:11;;10220:161;;10291:4;10273:24;;;;:9;:24;;;;;;:39;;10302:9;10273:28;:39::i;:::-;10266:4;10248:24;;;;:9;:24;;;;;;;:64;;;;10330:39;;-1:-1:-1;;;;;10330:39:0;;;;;;;10359:9;1422:25:1;;1410:2;1395:18;;1276:177;10330:39:0;;;;;;;;10220:161;-1:-1:-1;;;;;10407:15:0;;;;;;:9;:15;;;;;;:27;;10427:6;10407:19;:27::i;:::-;-1:-1:-1;;;;;10391:15:0;;;;;;:9;:15;;;;;:43;10459:40;10477:21;:6;10488:9;10477:10;:21::i;:::-;-1:-1:-1;;;;;10459:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10445:13:0;;;;;;;:9;:13;;;;;:54;;;;10515:41;;;10534:21;:6;10545:9;10534:10;:21::i;:::-;10515:41;;1422:25:1;;;1410:2;1395:18;10515:41:0;;;;;;;8038:2526;7969:2595;;;:::o;1288:190::-;1374:7;1410:12;1402:6;;;;1394:29;;;;-1:-1:-1;;;1394:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1434:9:0;1446:5;1450:1;1446;:5;:::i;:::-;1434:17;1288:190;-1:-1:-1;;;;;1288:190:0:o;10678:483::-;5169:6;:13;;-1:-1:-1;;;;5169:13:0;-1:-1:-1;;;5169:13:0;;;10780:16:::1;::::0;;10794:1:::1;10780:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10780:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10780:16:0::1;10756:40;;10825:4;10807;10812:1;10807:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10807:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10851:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10851:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10807:7;;10851:22;;;;;:15;:22:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10841:4;10846:1;10841:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10841:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10916:15:::1;::::0;10884:62:::1;::::0;10901:4:::1;::::0;10916:15:::1;10934:11:::0;10884:8:::1;:62::i;:::-;10957:15;::::0;:196:::1;::::0;-1:-1:-1;;;10957:196:0;;-1:-1:-1;;;;;10957:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11038:11;;10957:15:::1;::::0;11080:4;;11107::::1;::::0;11127:15:::1;::::0;10957:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;5205:6:0;:14;;-1:-1:-1;;;;5205:14:0;;;-1:-1:-1;;;;10678:483:0:o;11463:92::-;11520:10;;:27;;-1:-1:-1;;;;;11520:10:0;;;;:27;;;;;11540:6;;11520:10;:27;:10;:27;11540:6;11520:10;:27;;;;;;;;;;;;;;;;;;;1486:246;1544:7;1568:1;1573;1568:6;1564:47;;-1:-1:-1;1598:1:0;1591:8;;1564:47;1621:9;1633:5;1637:1;1633;:5;:::i;:::-;1621:17;-1:-1:-1;1666:1:0;1657:5;1661:1;1621:17;1657:5;:::i;:::-;:10;1649:56;;;;-1:-1:-1;;;1649:56:0;;15418:2:1;1649:56:0;;;15400:21:1;15457:2;15437:18;;;15430:30;15496:34;15476:18;;;15469:62;-1:-1:-1;;;15547:18:1;;;15540:31;15588:19;;1649:56:0;15216:397:1;1649:56:0;1723:1;1486:246;-1:-1:-1;;;1486:246:0:o;1740:132::-;1798:7;1825:39;1829:1;1832;1825:39;;;;;;;;;;;;;;;;;:3;:39::i;10572:98::-;10629:7;10656:1;10654;:3;10653:9;;10661:1;10653:9;;;-1:-1:-1;10659:1:0;10572:98;-1:-1:-1;10572:98:0:o;957:179::-;1015:7;;1047:5;1051:1;1047;:5;:::i;:::-;1035:17;;1076:1;1071;:6;;1063:46;;;;-1:-1:-1;;;1063:46:0;;15820:2:1;1063:46:0;;;15802:21:1;15859:2;15839:18;;;15832:30;15898:29;15878:18;;;15871:57;15945:18;;1063:46:0;15618:351:1;1144:136:0;1202:7;1229:43;1233:1;1236;1229:43;;;;;;;;;;;;;;;;;:3;:43::i;1880:189::-;1966:7;2001:12;1994:5;1986:28;;;;-1:-1:-1;;;1986:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2025:9:0;2037:5;2041:1;2037;:5;:::i;14:418:1:-;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:134;641:20;;670:31;641:20;670:31;:::i;:::-;573:134;;;:::o;712:367::-;780:6;788;841:2;829:9;820:7;816:23;812:32;809:52;;;857:1;854;847:12;809:52;896:9;883:23;915:31;940:5;915:31;:::i;:::-;965:5;1043:2;1028:18;;;;1015:32;;-1:-1:-1;;;712:367:1:o;1458:508::-;1535:6;1543;1551;1604:2;1592:9;1583:7;1579:23;1575:32;1572:52;;;1620:1;1617;1610:12;1572:52;1659:9;1646:23;1678:31;1703:5;1678:31;:::i;:::-;1728:5;-1:-1:-1;1785:2:1;1770:18;;1757:32;1798:33;1757:32;1798:33;:::i;:::-;1458:508;;1850:7;;-1:-1:-1;;;1930:2:1;1915:18;;;;1902:32;;1458:508::o;2160:127::-;2221:10;2216:3;2212:20;2209:1;2202:31;2252:4;2249:1;2242:15;2276:4;2273:1;2266:15;2292:1127;2376:6;2429:2;2417:9;2408:7;2404:23;2400:32;2397:52;;;2445:1;2442;2435:12;2397:52;2485:9;2472:23;2518:18;2510:6;2507:30;2504:50;;;2550:1;2547;2540:12;2504:50;2573:22;;2626:4;2618:13;;2614:27;-1:-1:-1;2604:55:1;;2655:1;2652;2645:12;2604:55;2695:2;2682:16;2721:18;2713:6;2710:30;2707:56;;;2743:18;;:::i;:::-;2789:6;2786:1;2782:14;2825:2;2819:9;2888:2;2884:7;2879:2;2875;2871:11;2867:25;2859:6;2855:38;2959:6;2947:10;2944:22;2923:18;2911:10;2908:34;2905:62;2902:88;;;2970:18;;:::i;:::-;3006:2;2999:22;3056;;;3106:2;3136:11;;;3132:20;;;3056:22;3094:15;;3164:19;;;3161:39;;;3196:1;3193;3186:12;3161:39;3228:2;3224;3220:11;3209:22;;3240:148;3256:6;3251:3;3248:15;3240:148;;;3322:23;3341:3;3322:23;:::i;:::-;3310:36;;3375:2;3273:12;;;;3366;3240:148;;;-1:-1:-1;3407:6:1;2292:1127;-1:-1:-1;;;;;;2292:1127:1:o;3424:247::-;3483:6;3536:2;3524:9;3515:7;3511:23;3507:32;3504:52;;;3552:1;3549;3542:12;3504:52;3591:9;3578:23;3610:31;3635:5;3610:31;:::i;3884:388::-;3952:6;3960;4013:2;4001:9;3992:7;3988:23;3984:32;3981:52;;;4029:1;4026;4019:12;3981:52;4068:9;4055:23;4087:31;4112:5;4087:31;:::i;:::-;4137:5;-1:-1:-1;4194:2:1;4179:18;;4166:32;4207:33;4166:32;4207:33;:::i;:::-;4259:7;4249:17;;;3884:388;;;;;:::o;4277:226::-;4336:6;4389:2;4377:9;4368:7;4364:23;4360:32;4357:52;;;4405:1;4402;4395:12;4357:52;-1:-1:-1;4450:23:1;;4277:226;-1:-1:-1;4277:226:1:o;4864:356::-;5066:2;5048:21;;;5085:18;;;5078:30;5144:34;5139:2;5124:18;;5117:62;5211:2;5196:18;;4864:356::o;5415:127::-;5476:10;5471:3;5467:20;5464:1;5457:31;5507:4;5504:1;5497:15;5531:4;5528:1;5521:15;5547:375;5635:1;5653:5;5667:249;5688:1;5678:8;5675:15;5667:249;;;5738:4;5733:3;5729:14;5723:4;5720:24;5717:50;;;5747:18;;:::i;:::-;5797:1;5787:8;5783:16;5780:49;;;5811:16;;;;5780:49;5894:1;5890:16;;;;;5850:15;;5667:249;;;5547:375;;;;;;:::o;5927:902::-;5976:5;6006:8;5996:80;;-1:-1:-1;6047:1:1;6061:5;;5996:80;6095:4;6085:76;;-1:-1:-1;6132:1:1;6146:5;;6085:76;6177:4;6195:1;6190:59;;;;6263:1;6258:174;;;;6170:262;;6190:59;6220:1;6211:10;;6234:5;;;6258:174;6295:3;6285:8;6282:17;6279:43;;;6302:18;;:::i;:::-;-1:-1:-1;;6358:1:1;6344:16;;6417:5;;6170:262;;6516:2;6506:8;6503:16;6497:3;6491:4;6488:13;6484:36;6478:2;6468:8;6465:16;6460:2;6454:4;6451:12;6447:35;6444:77;6441:203;;;-1:-1:-1;6553:19:1;;;6629:5;;6441:203;6676:42;-1:-1:-1;;6701:8:1;6695:4;6676:42;:::i;:::-;6754:6;6750:1;6746:6;6742:19;6733:7;6730:32;6727:58;;;6765:18;;:::i;:::-;6803:20;;5927:902;-1:-1:-1;;;5927:902:1:o;6834:140::-;6892:5;6921:47;6962:4;6952:8;6948:19;6942:4;6921:47;:::i;6979:168::-;7052:9;;;7083;;7100:15;;;7094:22;;7080:37;7070:71;;7121:18;;:::i;7152:349::-;7354:2;7336:21;;;7393:2;7373:18;;;7366:30;7432:27;7427:2;7412:18;;7405:55;7492:2;7477:18;;7152:349::o;7506:352::-;7708:2;7690:21;;;7747:2;7727:18;;;7720:30;7786;7781:2;7766:18;;7759:58;7849:2;7834:18;;7506:352::o;7863:127::-;7924:10;7919:3;7915:20;7912:1;7905:31;7955:4;7952:1;7945:15;7979:4;7976:1;7969:15;8347:251;8417:6;8470:2;8458:9;8449:7;8445:23;8441:32;8438:52;;;8486:1;8483;8476:12;8438:52;8518:9;8512:16;8537:31;8562:5;8537:31;:::i;9516:456::-;9604:6;9612;9620;9673:2;9661:9;9652:7;9648:23;9644:32;9641:52;;;9689:1;9686;9679:12;9641:52;-1:-1:-1;;9734:16:1;;9840:2;9825:18;;9819:25;9936:2;9921:18;;;9915:25;9734:16;;9819:25;;-1:-1:-1;9915:25:1;9516:456;-1:-1:-1;9516:456:1:o;10256:277::-;10323:6;10376:2;10364:9;10355:7;10351:23;10347:32;10344:52;;;10392:1;10389;10382:12;10344:52;10424:9;10418:16;10477:5;10470:13;10463:21;10456:5;10453:32;10443:60;;10499:1;10496;10489:12;12920:125;12985:9;;;13006:10;;;13003:36;;;13019:18;;:::i;13405:135::-;13444:3;13465:17;;;13462:43;;13485:18;;:::i;:::-;-1:-1:-1;13532:1:1;13521:13;;13405:135::o;13897:128::-;13964:9;;;13985:11;;;13982:37;;;13999:18;;:::i;14030:959::-;14292:4;14340:3;14329:9;14325:19;14371:6;14360:9;14353:25;14414:6;14409:2;14398:9;14394:18;14387:34;14457:3;14452:2;14441:9;14437:18;14430:31;14481:6;14516;14510:13;14547:6;14539;14532:22;14585:3;14574:9;14570:19;14563:26;;14624:2;14616:6;14612:15;14598:29;;14645:1;14655:195;14669:6;14666:1;14663:13;14655:195;;;14734:13;;-1:-1:-1;;;;;14730:39:1;14718:52;;14799:2;14825:15;;;;14790:12;;;;14766:1;14684:9;14655:195;;;-1:-1:-1;;;;;;;14906:32:1;;;;14901:2;14886:18;;14879:60;-1:-1:-1;;14970:3:1;14955:19;14948:35;14867:3;14030:959;-1:-1:-1;;;14030:959:1:o;14994:217::-;15034:1;15060;15050:132;;15104:10;15099:3;15095:20;15092:1;15085:31;15139:4;15136:1;15129:15;15167:4;15164:1;15157:15;15050:132;-1:-1:-1;15196:9:1;;14994:217::o

Swarm Source

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