ETH Price: $3,235.51 (-6.06%)
Gas: 11 Gwei

Token

Hitagi Inu (HITAGI)
 

Overview

Max Total Supply

100,000,000,000,000 HITAGI

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
0xlazuli.eth
Balance
134,135,806,034.726956727 HITAGI

Value
$0.00
0xa251cfd2730a91a3351d40c521e0e1b8af148bf8
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:
HITAGI

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/*

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
─██████──██████─██████████─██████████████─██████████████─██████████████─██████████────██████████─██████──────────██████─██████──██████─
─██░░██──██░░██─██░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░░░░░██────██░░░░░░██─██░░██████████──██░░██─██░░██──██░░██─
─██░░██──██░░██─████░░████─██████░░██████─██░░██████░░██─██░░██████████─████░░████────████░░████─██░░░░░░░░░░██──██░░██─██░░██──██░░██─
─██░░██──██░░██───██░░██───────██░░██─────██░░██──██░░██─██░░██───────────██░░██────────██░░██───██░░██████░░██──██░░██─██░░██──██░░██─
─██░░██████░░██───██░░██───────██░░██─────██░░██████░░██─██░░██───────────██░░██────────██░░██───██░░██──██░░██──██░░██─██░░██──██░░██─
─██░░░░░░░░░░██───██░░██───────██░░██─────██░░░░░░░░░░██─██░░██──██████───██░░██────────██░░██───██░░██──██░░██──██░░██─██░░██──██░░██─
─██░░██████░░██───██░░██───────██░░██─────██░░██████░░██─██░░██──██░░██───██░░██────────██░░██───██░░██──██░░██──██░░██─██░░██──██░░██─
─██░░██──██░░██───██░░██───────██░░██─────██░░██──██░░██─██░░██──██░░██───██░░██────────██░░██───██░░██──██░░██████░░██─██░░██──██░░██─
─██░░██──██░░██─████░░████─────██░░██─────██░░██──██░░██─██░░██████░░██─████░░████────████░░████─██░░██──██░░░░░░░░░░██─██░░██████░░██─
─██░░██──██░░██─██░░░░░░██─────██░░██─────██░░██──██░░██─██░░░░░░░░░░██─██░░░░░░██────██░░░░░░██─██░░██──██████████░░██─██░░░░░░░░░░██─
─██████──██████─██████████─────██████─────██████──██████─██████████████─██████████────██████████─██████──────────██████─██████████████─
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────


https://hitagiinu.com/
http://twitter.com/HitagiETH
https://t.me/HitagiInu

*/

//SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.4;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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 HITAGI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private bots;
    mapping(address => uint256) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _maxTxAmount = _tTotal;
    uint256 private openBlock;
    uint256 private _swapTokensAtAmount = 100 * 10**9; // 100 tokens
    uint256 private _maxWalletAmount = _tTotal;
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;

    string private constant _name = "Hitagi Inu";
    string private constant _symbol = "HITAGI";
    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address payable addr1, address payable addr2, address payable addr3, address payable addr4, address payable addr5) {
        _feeAddrWallet1 = addr1;
        _feeAddrWallet2 = addr2;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[addr4] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[addr5] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        _isExcludedFromFee[addr3] = true;
        emit Transfer(
            address(0),
            _msgSender(),
            _tTotal
        );
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function setCooldownEnabled(bool onoff) external onlyOwner {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");


        _feeAddr1 = 1;
        _feeAddr2 = 7;
        if (from != owner() && to != owner() && from != address(this) && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {


            require(!bots[from] && !bots[to]);
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to] &&
                cooldownEnabled
            ) {

                // Not over max tx amount
                require(amount <= _maxTxAmount, "Over max transaction amount.");
                // Cooldown
                require(cooldown[to] < block.timestamp, "Cooldown enforced.");
                // Max wallet
                require(balanceOf(to) + amount <= _maxWalletAmount, "Over max wallet amount.");
                cooldown[to] = block.timestamp + (30 seconds);
            }

            if (
                to == uniswapV2Pair &&
                from != address(uniswapV2Router) &&
                !_isExcludedFromFee[from]
            ) {
                _feeAddr1 = 1;
                _feeAddr2 = 7;
            }

            if (openBlock + 2 >= block.number && from == uniswapV2Pair) {
                _feeAddr1 = 1;
                _feeAddr2 = 99;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled) {

                swapTokensForEth(contractTokenBalance);
              uint256 contractETHBalance = address(this).balance;
               if (contractETHBalance > 0) {
                 sendETHToFee(address(this).balance);
            }
            }
        } else {
            // Only if it's not from or to owner or from contract address.
            _feeAddr1 = 0;
            _feeAddr2 = 0;
        }

        _tokenTransfer(from, to, amount);
    }

    function swapAndLiquifyEnabled(bool enabled) public onlyOwner {
        inSwap = enabled;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }

    function setMaxTxAmount(uint256 amount) public onlyOwner {
        _maxTxAmount = amount * 10**9;
    }
    function setMaxWalletAmount(uint256 amount) public onlyOwner {
        _maxWalletAmount = amount * 10**9;
    }

    function whitelist(address payable adr1) external onlyOwner {
    _isExcludedFromFee[adr1] = true;
  }
  function unwhitelist(address payable adr2) external onlyOwner {
  _isExcludedFromFee[adr2] = false;
}

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        cooldownEnabled = true;
        // .5%
        _maxTxAmount = 2000000000000 * 10**9;
        _maxWalletAmount = 3000000000000 * 10**9;
        tradingOpen = true;
        openBlock = block.number;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function addBot(address theBot) public onlyOwner {
        bots[theBot] = true;
    }

    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function setSwapTokens(uint256 swaptokens) public onlyOwner {
        _swapTokensAtAmount = swaptokens;
    }


    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function manualSwap() external {
          uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualSend() external {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(
            tAmount,
            _feeAddr1,
            _feeAddr2
        );
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(
            tAmount,
            tFee,
            tTeam,
            currentRate
        );
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 taxFee,
        uint256 TeamFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

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


    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"},{"internalType":"address payable","name":"addr3","type":"address"},{"internalType":"address payable","name":"addr4","type":"address"},{"internalType":"address payable","name":"addr5","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"theBot","type":"address"}],"name":"addBot","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":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swaptokens","type":"uint256"}],"name":"setSwapTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"swapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr2","type":"address"}],"name":"unwhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr1","type":"address"}],"name":"whitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001c69152d02c7e14af680000060001962000307565b6200002a90600019620002e1565b60085569152d02c7e14af6800000600a81905564174876e800600c55600d556013805462ffffff60a81b191690553480156200006557600080fd5b506040516200200438038062002004833981016040819052620000889162000271565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b038088166001600160a01b031992831617909255601180549287169290911691909117905560085460026000620001083390565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160056000620001426200024560201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260059093528183208054851660019081179091558682168452828420805486168217905560105482168452828420805486168217905585821684528284208054861682179055601154821684528284208054861682179055908716835291208054909216179055620001e23390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69152d02c7e14af68000006040516200023291815260200190565b60405180910390a350505050506200032a565b6000546001600160a01b031690565b80516001600160a01b03811681146200026c57600080fd5b919050565b600080600080600060a086880312156200028a57600080fd5b620002958662000254565b9450620002a56020870162000254565b9350620002b56040870162000254565b9250620002c56060870162000254565b9150620002d56080870162000254565b90509295509295909350565b6000828210156200030257634e487b7160e01b600052601160045260246000fd5b500390565b6000826200032557634e487b7160e01b600052601260045260246000fd5b500690565b611cca806200033a6000396000f3fe6080604052600436106101445760003560e01c80638da5cb5b116100b6578063c9567bf91161006f578063c9567bf9146103ab578063dd62ed3e146103c0578063e98391ff14610406578063ec28438a14610426578063f429389014610446578063ffecf5161461045b57600080fd5b80638da5cb5b146102d457806395d89b41146102fc5780639a5904271461032b5780639b19251a1461034b578063a9059cbb1461036b578063bf6642e71461038b57600080fd5b806327a14fc21161010857806327a14fc21461022e578063313ce5671461024e57806351bc3c851461026a5780635932ead11461027f57806370a082311461029f578063715018a6146102bf57600080fd5b806306fdde0314610150578063095ea7b31461019557806318160ddd146101c557806323b872dd146101ec578063273123b71461020c57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600a81526948697461676920496e7560b01b60208201525b60405161018c9190611ab2565b60405180910390f35b3480156101a157600080fd5b506101b56101b0366004611a05565b61047b565b604051901515815260200161018c565b3480156101d157600080fd5b5069152d02c7e14af68000005b60405190815260200161018c565b3480156101f857600080fd5b506101b56102073660046119c4565b610492565b34801561021857600080fd5b5061022c610227366004611951565b6104fb565b005b34801561023a57600080fd5b5061022c610249366004611a6b565b61054f565b34801561025a57600080fd5b506040516009815260200161018c565b34801561027657600080fd5b5061022c61058d565b34801561028b57600080fd5b5061022c61029a366004611a31565b6105a6565b3480156102ab57600080fd5b506101de6102ba366004611951565b6105ee565b3480156102cb57600080fd5b5061022c610610565b3480156102e057600080fd5b506000546040516001600160a01b03909116815260200161018c565b34801561030857600080fd5b5060408051808201909152600681526548495441474960d01b602082015261017f565b34801561033757600080fd5b5061022c610346366004611951565b610684565b34801561035757600080fd5b5061022c610366366004611951565b6106cf565b34801561037757600080fd5b506101b5610386366004611a05565b61071d565b34801561039757600080fd5b5061022c6103a6366004611a6b565b61072a565b3480156103b757600080fd5b5061022c610759565b3480156103cc57600080fd5b506101de6103db36600461198b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561041257600080fd5b5061022c610421366004611a31565b610b33565b34801561043257600080fd5b5061022c610441366004611a6b565b610b7b565b34801561045257600080fd5b5061022c610bb9565b34801561046757600080fd5b5061022c610476366004611951565b610bc3565b6000610488338484610c11565b5060015b92915050565b600061049f848484610d35565b6104f184336104ec85604051806060016040528060288152602001611c6d602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061121c565b610c11565b5060019392505050565b6000546001600160a01b0316331461052e5760405162461bcd60e51b815260040161052590611b07565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146105795760405162461bcd60e51b815260040161052590611b07565b61058781633b9aca00611be7565b600d5550565b6000610598306105ee565b90506105a381611256565b50565b6000546001600160a01b031633146105d05760405162461bcd60e51b815260040161052590611b07565b60138054911515600160b81b0260ff60b81b19909216919091179055565b6001600160a01b03811660009081526002602052604081205461048c906113df565b6000546001600160a01b0316331461063a5760405162461bcd60e51b815260040161052590611b07565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106ae5760405162461bcd60e51b815260040161052590611b07565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146106f95760405162461bcd60e51b815260040161052590611b07565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000610488338484610d35565b6000546001600160a01b031633146107545760405162461bcd60e51b815260040161052590611b07565b600c55565b6000546001600160a01b031633146107835760405162461bcd60e51b815260040161052590611b07565b601354600160a01b900460ff16156107dd5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610525565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561081b308269152d02c7e14af6800000610c11565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561085457600080fd5b505afa158015610868573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088c919061196e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108d457600080fd5b505afa1580156108e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090c919061196e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561095457600080fd5b505af1158015610968573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098c919061196e565b601380546001600160a01b0319166001600160a01b039283161790556012541663f305d71947306109bc816105ee565b6000806109d16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610a3457600080fd5b505af1158015610a48573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a6d9190611a84565b505060138054686c6b935b8bbd400000600a5568a2a15d09519be00000600d5563ffff00ff60a01b198116630101000160a01b1790915543600b5560125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610af757600080fd5b505af1158015610b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2f9190611a4e565b5050565b6000546001600160a01b03163314610b5d5760405162461bcd60e51b815260040161052590611b07565b60138054911515600160a81b0260ff60a81b19909216919091179055565b6000546001600160a01b03163314610ba55760405162461bcd60e51b815260040161052590611b07565b610bb381633b9aca00611be7565b600a5550565b476105a381611463565b6000546001600160a01b03163314610bed5760405162461bcd60e51b815260040161052590611b07565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6001600160a01b038316610c735760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610525565b6001600160a01b038216610cd45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610525565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d995760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610525565b6001600160a01b038216610dfb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610525565b60008111610e5d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610525565b6001600e556007600f556000546001600160a01b03848116911614801590610e9357506000546001600160a01b03838116911614155b8015610ea857506001600160a01b0383163014155b8015610ecd57506001600160a01b03831660009081526005602052604090205460ff16155b8015610ef257506001600160a01b03821660009081526005602052604090205460ff16155b15611201576001600160a01b03831660009081526006602052604090205460ff16158015610f3957506001600160a01b03821660009081526006602052604090205460ff16155b610f4257600080fd5b6013546001600160a01b038481169116148015610f6d57506012546001600160a01b03838116911614155b8015610f9257506001600160a01b03821660009081526005602052604090205460ff16155b8015610fa75750601354600160b81b900460ff165b156110e457600a54811115610ffe5760405162461bcd60e51b815260206004820152601c60248201527f4f766572206d6178207472616e73616374696f6e20616d6f756e742e000000006044820152606401610525565b6001600160a01b038216600090815260076020526040902054421161105a5760405162461bcd60e51b815260206004820152601260248201527121b7b7b63237bbb71032b73337b931b2b21760711b6044820152606401610525565b600d5481611067846105ee565b6110719190611bad565b11156110bf5760405162461bcd60e51b815260206004820152601760248201527f4f766572206d61782077616c6c657420616d6f756e742e0000000000000000006044820152606401610525565b6110ca42601e611bad565b6001600160a01b0383166000908152600760205260409020555b6013546001600160a01b03838116911614801561110f57506012546001600160a01b03848116911614155b801561113457506001600160a01b03831660009081526005602052604090205460ff16155b15611144576001600e556007600f555b43600b5460026111549190611bad565b1015801561116f57506013546001600160a01b038481169116145b1561117f576001600e556063600f555b600061118a306105ee565b600c54909150811080159081906111ab5750601354600160a81b900460ff16155b80156111c557506013546001600160a01b03868116911614155b80156111da5750601354600160b01b900460ff165b156111fa576111e882611256565b4780156111f8576111f847611463565b505b505061120c565b6000600e819055600f555b6112178383836114e8565b505050565b600081848411156112405760405162461bcd60e51b81526004016105259190611ab2565b50600061124d8486611c06565b95945050505050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061129e5761129e611c33565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112f257600080fd5b505afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a919061196e565b8160018151811061133d5761133d611c33565b6001600160a01b0392831660209182029290920101526012546113639130911684610c11565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061139c908590600090869030904290600401611b3c565b600060405180830381600087803b1580156113b657600080fd5b505af11580156113ca573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b60006008548211156114465760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610525565b60006114506114f3565b905061145c8382611516565b9392505050565b6010546001600160a01b03166108fc61147d836002611516565b6040518115909202916000818181858888f193505050501580156114a5573d6000803e3d6000fd5b506011546001600160a01b03166108fc6114c0836002611516565b6040518115909202916000818181858888f19350505050158015610b2f573d6000803e3d6000fd5b611217838383611558565b600080600061150061164f565b909250905061150f8282611516565b9250505090565b600061145c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611693565b60008060008060008061156a876116c1565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061159c908761171e565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115cb9086611760565b6001600160a01b0389166000908152600260205260409020556115ed816117bf565b6115f78483611809565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161163c91815260200190565b60405180910390a3505050505050505050565b600854600090819069152d02c7e14af680000061166c8282611516565b82101561168a5750506008549269152d02c7e14af680000092509050565b90939092509050565b600081836116b45760405162461bcd60e51b81526004016105259190611ab2565b50600061124d8486611bc5565b60008060008060008060008060006116de8a600e54600f5461182d565b92509250925060006116ee6114f3565b905060008060006117018e878787611882565b919e509c509a509598509396509194505050505091939550919395565b600061145c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061121c565b60008061176d8385611bad565b90508381101561145c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610525565b60006117c96114f3565b905060006117d783836118d2565b306000908152600260205260409020549091506117f49082611760565b30600090815260026020526040902055505050565b600854611816908361171e565b6008556009546118269082611760565b6009555050565b6000808080611847606461184189896118d2565b90611516565b9050600061185a60646118418a896118d2565b905060006118728261186c8b8661171e565b9061171e565b9992985090965090945050505050565b600080808061189188866118d2565b9050600061189f88876118d2565b905060006118ad88886118d2565b905060006118bf8261186c868661171e565b939b939a50919850919650505050505050565b6000826118e15750600061048c565b60006118ed8385611be7565b9050826118fa8583611bc5565b1461145c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610525565b60006020828403121561196357600080fd5b813561145c81611c49565b60006020828403121561198057600080fd5b815161145c81611c49565b6000806040838503121561199e57600080fd5b82356119a981611c49565b915060208301356119b981611c49565b809150509250929050565b6000806000606084860312156119d957600080fd5b83356119e481611c49565b925060208401356119f481611c49565b929592945050506040919091013590565b60008060408385031215611a1857600080fd5b8235611a2381611c49565b946020939093013593505050565b600060208284031215611a4357600080fd5b813561145c81611c5e565b600060208284031215611a6057600080fd5b815161145c81611c5e565b600060208284031215611a7d57600080fd5b5035919050565b600080600060608486031215611a9957600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611adf57858101830151858201604001528201611ac3565b81811115611af1576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b8c5784516001600160a01b031683529383019391830191600101611b67565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611bc057611bc0611c1d565b500190565b600082611be257634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611c0157611c01611c1d565b500290565b600082821015611c1857611c18611c1d565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105a357600080fd5b80151581146105a357600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209a98075d6bd33479a635828043d651ed12f26df9b2c4e244edbdbc21a156d17864736f6c63430008070033000000000000000000000000aa539d55725e60bb16ae27ca520a524666dd74d6000000000000000000000000b2c09e95102f3e6c8b5bc128c399b1affc5be68c000000000000000000000000cb6c383566976bd1ea171a8cab7595be27c2bebb000000000000000000000000cb6c383566976bd1ea171a8cab7595be27c2bebb000000000000000000000000cb6c383566976bd1ea171a8cab7595be27c2bebb

Deployed Bytecode

0x6080604052600436106101445760003560e01c80638da5cb5b116100b6578063c9567bf91161006f578063c9567bf9146103ab578063dd62ed3e146103c0578063e98391ff14610406578063ec28438a14610426578063f429389014610446578063ffecf5161461045b57600080fd5b80638da5cb5b146102d457806395d89b41146102fc5780639a5904271461032b5780639b19251a1461034b578063a9059cbb1461036b578063bf6642e71461038b57600080fd5b806327a14fc21161010857806327a14fc21461022e578063313ce5671461024e57806351bc3c851461026a5780635932ead11461027f57806370a082311461029f578063715018a6146102bf57600080fd5b806306fdde0314610150578063095ea7b31461019557806318160ddd146101c557806323b872dd146101ec578063273123b71461020c57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600a81526948697461676920496e7560b01b60208201525b60405161018c9190611ab2565b60405180910390f35b3480156101a157600080fd5b506101b56101b0366004611a05565b61047b565b604051901515815260200161018c565b3480156101d157600080fd5b5069152d02c7e14af68000005b60405190815260200161018c565b3480156101f857600080fd5b506101b56102073660046119c4565b610492565b34801561021857600080fd5b5061022c610227366004611951565b6104fb565b005b34801561023a57600080fd5b5061022c610249366004611a6b565b61054f565b34801561025a57600080fd5b506040516009815260200161018c565b34801561027657600080fd5b5061022c61058d565b34801561028b57600080fd5b5061022c61029a366004611a31565b6105a6565b3480156102ab57600080fd5b506101de6102ba366004611951565b6105ee565b3480156102cb57600080fd5b5061022c610610565b3480156102e057600080fd5b506000546040516001600160a01b03909116815260200161018c565b34801561030857600080fd5b5060408051808201909152600681526548495441474960d01b602082015261017f565b34801561033757600080fd5b5061022c610346366004611951565b610684565b34801561035757600080fd5b5061022c610366366004611951565b6106cf565b34801561037757600080fd5b506101b5610386366004611a05565b61071d565b34801561039757600080fd5b5061022c6103a6366004611a6b565b61072a565b3480156103b757600080fd5b5061022c610759565b3480156103cc57600080fd5b506101de6103db36600461198b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561041257600080fd5b5061022c610421366004611a31565b610b33565b34801561043257600080fd5b5061022c610441366004611a6b565b610b7b565b34801561045257600080fd5b5061022c610bb9565b34801561046757600080fd5b5061022c610476366004611951565b610bc3565b6000610488338484610c11565b5060015b92915050565b600061049f848484610d35565b6104f184336104ec85604051806060016040528060288152602001611c6d602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061121c565b610c11565b5060019392505050565b6000546001600160a01b0316331461052e5760405162461bcd60e51b815260040161052590611b07565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146105795760405162461bcd60e51b815260040161052590611b07565b61058781633b9aca00611be7565b600d5550565b6000610598306105ee565b90506105a381611256565b50565b6000546001600160a01b031633146105d05760405162461bcd60e51b815260040161052590611b07565b60138054911515600160b81b0260ff60b81b19909216919091179055565b6001600160a01b03811660009081526002602052604081205461048c906113df565b6000546001600160a01b0316331461063a5760405162461bcd60e51b815260040161052590611b07565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106ae5760405162461bcd60e51b815260040161052590611b07565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b031633146106f95760405162461bcd60e51b815260040161052590611b07565b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000610488338484610d35565b6000546001600160a01b031633146107545760405162461bcd60e51b815260040161052590611b07565b600c55565b6000546001600160a01b031633146107835760405162461bcd60e51b815260040161052590611b07565b601354600160a01b900460ff16156107dd5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610525565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561081b308269152d02c7e14af6800000610c11565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561085457600080fd5b505afa158015610868573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088c919061196e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156108d457600080fd5b505afa1580156108e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090c919061196e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561095457600080fd5b505af1158015610968573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098c919061196e565b601380546001600160a01b0319166001600160a01b039283161790556012541663f305d71947306109bc816105ee565b6000806109d16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610a3457600080fd5b505af1158015610a48573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a6d9190611a84565b505060138054686c6b935b8bbd400000600a5568a2a15d09519be00000600d5563ffff00ff60a01b198116630101000160a01b1790915543600b5560125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610af757600080fd5b505af1158015610b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2f9190611a4e565b5050565b6000546001600160a01b03163314610b5d5760405162461bcd60e51b815260040161052590611b07565b60138054911515600160a81b0260ff60a81b19909216919091179055565b6000546001600160a01b03163314610ba55760405162461bcd60e51b815260040161052590611b07565b610bb381633b9aca00611be7565b600a5550565b476105a381611463565b6000546001600160a01b03163314610bed5760405162461bcd60e51b815260040161052590611b07565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b6001600160a01b038316610c735760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610525565b6001600160a01b038216610cd45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610525565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d995760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610525565b6001600160a01b038216610dfb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610525565b60008111610e5d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610525565b6001600e556007600f556000546001600160a01b03848116911614801590610e9357506000546001600160a01b03838116911614155b8015610ea857506001600160a01b0383163014155b8015610ecd57506001600160a01b03831660009081526005602052604090205460ff16155b8015610ef257506001600160a01b03821660009081526005602052604090205460ff16155b15611201576001600160a01b03831660009081526006602052604090205460ff16158015610f3957506001600160a01b03821660009081526006602052604090205460ff16155b610f4257600080fd5b6013546001600160a01b038481169116148015610f6d57506012546001600160a01b03838116911614155b8015610f9257506001600160a01b03821660009081526005602052604090205460ff16155b8015610fa75750601354600160b81b900460ff165b156110e457600a54811115610ffe5760405162461bcd60e51b815260206004820152601c60248201527f4f766572206d6178207472616e73616374696f6e20616d6f756e742e000000006044820152606401610525565b6001600160a01b038216600090815260076020526040902054421161105a5760405162461bcd60e51b815260206004820152601260248201527121b7b7b63237bbb71032b73337b931b2b21760711b6044820152606401610525565b600d5481611067846105ee565b6110719190611bad565b11156110bf5760405162461bcd60e51b815260206004820152601760248201527f4f766572206d61782077616c6c657420616d6f756e742e0000000000000000006044820152606401610525565b6110ca42601e611bad565b6001600160a01b0383166000908152600760205260409020555b6013546001600160a01b03838116911614801561110f57506012546001600160a01b03848116911614155b801561113457506001600160a01b03831660009081526005602052604090205460ff16155b15611144576001600e556007600f555b43600b5460026111549190611bad565b1015801561116f57506013546001600160a01b038481169116145b1561117f576001600e556063600f555b600061118a306105ee565b600c54909150811080159081906111ab5750601354600160a81b900460ff16155b80156111c557506013546001600160a01b03868116911614155b80156111da5750601354600160b01b900460ff165b156111fa576111e882611256565b4780156111f8576111f847611463565b505b505061120c565b6000600e819055600f555b6112178383836114e8565b505050565b600081848411156112405760405162461bcd60e51b81526004016105259190611ab2565b50600061124d8486611c06565b95945050505050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061129e5761129e611c33565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112f257600080fd5b505afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a919061196e565b8160018151811061133d5761133d611c33565b6001600160a01b0392831660209182029290920101526012546113639130911684610c11565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac9479061139c908590600090869030904290600401611b3c565b600060405180830381600087803b1580156113b657600080fd5b505af11580156113ca573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b60006008548211156114465760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610525565b60006114506114f3565b905061145c8382611516565b9392505050565b6010546001600160a01b03166108fc61147d836002611516565b6040518115909202916000818181858888f193505050501580156114a5573d6000803e3d6000fd5b506011546001600160a01b03166108fc6114c0836002611516565b6040518115909202916000818181858888f19350505050158015610b2f573d6000803e3d6000fd5b611217838383611558565b600080600061150061164f565b909250905061150f8282611516565b9250505090565b600061145c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611693565b60008060008060008061156a876116c1565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061159c908761171e565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546115cb9086611760565b6001600160a01b0389166000908152600260205260409020556115ed816117bf565b6115f78483611809565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161163c91815260200190565b60405180910390a3505050505050505050565b600854600090819069152d02c7e14af680000061166c8282611516565b82101561168a5750506008549269152d02c7e14af680000092509050565b90939092509050565b600081836116b45760405162461bcd60e51b81526004016105259190611ab2565b50600061124d8486611bc5565b60008060008060008060008060006116de8a600e54600f5461182d565b92509250925060006116ee6114f3565b905060008060006117018e878787611882565b919e509c509a509598509396509194505050505091939550919395565b600061145c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061121c565b60008061176d8385611bad565b90508381101561145c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610525565b60006117c96114f3565b905060006117d783836118d2565b306000908152600260205260409020549091506117f49082611760565b30600090815260026020526040902055505050565b600854611816908361171e565b6008556009546118269082611760565b6009555050565b6000808080611847606461184189896118d2565b90611516565b9050600061185a60646118418a896118d2565b905060006118728261186c8b8661171e565b9061171e565b9992985090965090945050505050565b600080808061189188866118d2565b9050600061189f88876118d2565b905060006118ad88886118d2565b905060006118bf8261186c868661171e565b939b939a50919850919650505050505050565b6000826118e15750600061048c565b60006118ed8385611be7565b9050826118fa8583611bc5565b1461145c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610525565b60006020828403121561196357600080fd5b813561145c81611c49565b60006020828403121561198057600080fd5b815161145c81611c49565b6000806040838503121561199e57600080fd5b82356119a981611c49565b915060208301356119b981611c49565b809150509250929050565b6000806000606084860312156119d957600080fd5b83356119e481611c49565b925060208401356119f481611c49565b929592945050506040919091013590565b60008060408385031215611a1857600080fd5b8235611a2381611c49565b946020939093013593505050565b600060208284031215611a4357600080fd5b813561145c81611c5e565b600060208284031215611a6057600080fd5b815161145c81611c5e565b600060208284031215611a7d57600080fd5b5035919050565b600080600060608486031215611a9957600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b81811015611adf57858101830151858201604001528201611ac3565b81811115611af1576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b8c5784516001600160a01b031683529383019391830191600101611b67565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611bc057611bc0611c1d565b500190565b600082611be257634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611c0157611c01611c1d565b500290565b600082821015611c1857611c18611c1d565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146105a357600080fd5b80151581146105a357600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209a98075d6bd33479a635828043d651ed12f26df9b2c4e244edbdbc21a156d17864736f6c63430008070033

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

000000000000000000000000aa539d55725e60bb16ae27ca520a524666dd74d6000000000000000000000000b2c09e95102f3e6c8b5bc128c399b1affc5be68c000000000000000000000000cb6c383566976bd1ea171a8cab7595be27c2bebb000000000000000000000000cb6c383566976bd1ea171a8cab7595be27c2bebb000000000000000000000000cb6c383566976bd1ea171a8cab7595be27c2bebb

-----Decoded View---------------
Arg [0] : addr1 (address): 0xaa539D55725E60BB16aE27CA520a524666dD74d6
Arg [1] : addr2 (address): 0xb2C09E95102F3e6C8B5bc128C399b1AfFC5Be68c
Arg [2] : addr3 (address): 0xcB6c383566976bd1Ea171A8CAb7595be27c2BebB
Arg [3] : addr4 (address): 0xcB6c383566976bd1Ea171A8CAb7595be27c2BebB
Arg [4] : addr5 (address): 0xcB6c383566976bd1Ea171A8CAb7595be27c2BebB

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000aa539d55725e60bb16ae27ca520a524666dd74d6
Arg [1] : 000000000000000000000000b2c09e95102f3e6c8b5bc128c399b1affc5be68c
Arg [2] : 000000000000000000000000cb6c383566976bd1ea171a8cab7595be27c2bebb
Arg [3] : 000000000000000000000000cb6c383566976bd1ea171a8cab7595be27c2bebb
Arg [4] : 000000000000000000000000cb6c383566976bd1ea171a8cab7595be27c2bebb


Deployed Bytecode Sourcemap

9247:13223:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11440:83;;;;;;;;;;-1:-1:-1;11510:5:0;;;;;;;;;;;;-1:-1:-1;;;11510:5:0;;;;11440:83;;;;;;;:::i;:::-;;;;;;;;12365:193;;;;;;;;;;-1:-1:-1;12365:193:0;;;;;:::i;:::-;;:::i;:::-;;;4521:14:1;;4514:22;4496:41;;4484:2;4469:18;12365:193:0;4356:187:1;11717:95:0;;;;;;;;;;-1:-1:-1;9742:23:0;11717:95;;;10262:25:1;;;10250:2;10235:18;11717:95:0;10116:177:1;12566:446:0;;;;;;;;;;-1:-1:-1;12566:446:0;;;;;:::i;:::-;;:::i;18568:88::-;;;;;;;;;;-1:-1:-1;18568:88:0;;;;;:::i;:::-;;:::i;:::-;;17034:113;;;;;;;;;;-1:-1:-1;17034:113:0;;;;;:::i;:::-;;:::i;11626:83::-;;;;;;;;;;-1:-1:-1;11626:83:0;;10350:1;11425:36:1;;11413:2;11398:18;11626:83:0;11283:184:1;20002:146:0;;;;;;;;;;;;;:::i;13020:101::-;;;;;;;;;;-1:-1:-1;13020:101:0;;;;;:::i;:::-;;:::i;11820:138::-;;;;;;;;;;-1:-1:-1;11820:138:0;;;;;:::i;:::-;;:::i;8199:148::-;;;;;;;;;;;;;:::i;7985:79::-;;;;;;;;;;-1:-1:-1;8023:7:0;8050:6;7985:79;;-1:-1:-1;;;;;8050:6:0;;;3094:51:1;;3082:2;3067:18;7985:79:0;2948:203:1;11531:87:0;;;;;;;;;;-1:-1:-1;11603:7:0;;;;;;;;;;;;-1:-1:-1;;;11603:7:0;;;;11531:87;;17263:103;;;;;;;;;;-1:-1:-1;17263:103:0;;;;;:::i;:::-;;:::i;17155:104::-;;;;;;;;;;-1:-1:-1;17155:104:0;;;;;:::i;:::-;;:::i;11966:199::-;;;;;;;;;;-1:-1:-1;11966:199:0;;;;;:::i;:::-;;:::i;18664:111::-;;;;;;;;;;-1:-1:-1;18664:111:0;;;;;:::i;:::-;;:::i;17374:1091::-;;;;;;;;;;;;;:::i;12173:184::-;;;;;;;;;;-1:-1:-1;12173:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;12322:18:0;;;12290:7;12322:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12173:184;16165:97;;;;;;;;;;-1:-1:-1;16165:97:0;;;;;:::i;:::-;;:::i;16923:105::-;;;;;;;;;;-1:-1:-1;16923:105:0;;;;;:::i;:::-;;:::i;20156:143::-;;;;;;;;;;;;;:::i;18473:87::-;;;;;;;;;;-1:-1:-1;18473:87:0;;;;;:::i;:::-;;:::i;12365:193::-;12467:4;12489:39;5568:10;12512:7;12521:6;12489:8;:39::i;:::-;-1:-1:-1;12546:4:0;12365:193;;;;;:::o;12566:446::-;12698:4;12715:36;12725:6;12733:9;12744:6;12715:9;:36::i;:::-;12762:220;12785:6;5568:10;12833:138;12889:6;12833:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12833:19:0;;;;;;:11;:19;;;;;;;;5568:10;12833:33;;;;;;;;;;:37;:138::i;:::-;12762:8;:220::i;:::-;-1:-1:-1;13000:4:0;12566:446;;;;;:::o;18568:88::-;8112:6;;-1:-1:-1;;;;;8112:6:0;5568:10;8112:22;8104:67;;;;-1:-1:-1;;;8104:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;18628:12:0::1;18643:5;18628:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;18628:20:0::1;::::0;;18568:88::o;17034:113::-;8112:6;;-1:-1:-1;;;;;8112:6:0;5568:10;8112:22;8104:67;;;;-1:-1:-1;;;8104:67:0;;;;;;;:::i;:::-;17125:14:::1;:6:::0;17134:5:::1;17125:14;:::i;:::-;17106:16;:33:::0;-1:-1:-1;17034:113:0:o;20002:146::-;20046:23;20072:24;20090:4;20072:9;:24::i;:::-;20046:50;;20107:33;20124:15;20107:16;:33::i;:::-;20033:115;20002:146::o;13020:101::-;8112:6;;-1:-1:-1;;;;;8112:6:0;5568:10;8112:22;8104:67;;;;-1:-1:-1;;;8104:67:0;;;;;;;:::i;:::-;13090:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;13090:23:0::1;-1:-1:-1::0;;;;13090:23:0;;::::1;::::0;;;::::1;::::0;;13020:101::o;11820:138::-;-1:-1:-1;;;;;11933:16:0;;11886:7;11933:16;;;:7;:16;;;;;;11913:37;;:19;:37::i;8199:148::-;8112:6;;-1:-1:-1;;;;;8112:6:0;5568:10;8112:22;8104:67;;;;-1:-1:-1;;;8104:67:0;;;;;;;:::i;:::-;8306:1:::1;8290:6:::0;;8269:40:::1;::::0;-1:-1:-1;;;;;8290:6:0;;::::1;::::0;8269:40:::1;::::0;8306:1;;8269:40:::1;8337:1;8320:19:::0;;-1:-1:-1;;;;;;8320:19:0::1;::::0;;8199:148::o;17263:103::-;8112:6;;-1:-1:-1;;;;;8112:6:0;5568:10;8112:22;8104:67;;;;-1:-1:-1;;;8104:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17330:24:0::1;17357:5;17330:24:::0;;;:18:::1;:24;::::0;;;;:32;;-1:-1:-1;;17330:32:0::1;::::0;;17263:103::o;17155:104::-;8112:6;;-1:-1:-1;;;;;8112:6:0;5568:10;8112:22;8104:67;;;;-1:-1:-1;;;8104:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17222:24:0::1;;::::0;;;:18:::1;:24;::::0;;;;:31;;-1:-1:-1;;17222:31:0::1;17249:4;17222:31;::::0;;17155:104::o;11966:199::-;12071:4;12093:42;5568:10;12117:9;12128:6;12093:9;:42::i;18664:111::-;8112:6;;-1:-1:-1;;;;;8112:6:0;5568:10;8112:22;8104:67;;;;-1:-1:-1;;;8104:67:0;;;;;;;:::i;:::-;18735:19:::1;:32:::0;18664:111::o;17374:1091::-;8112:6;;-1:-1:-1;;;;;8112:6:0;5568:10;8112:22;8104:67;;;;-1:-1:-1;;;8104:67:0;;;;;;;:::i;:::-;17436:11:::1;::::0;-1:-1:-1;;;17436:11:0;::::1;;;17435:12;17427:48;;;::::0;-1:-1:-1;;;17427:48:0;;9262:2:1;17427:48:0::1;::::0;::::1;9244:21:1::0;9301:2;9281:18;;;9274:30;9340:25;9320:18;;;9313:53;9383:18;;17427:48:0::1;9060:347:1::0;17427:48:0::1;17621:15;:34:::0;;-1:-1:-1;;;;;;17621:34:0::1;17557:42;17621:34:::0;;::::1;::::0;;;17666:58:::1;17683:4;17557:42:::0;9742:23:::1;17666:8;:58::i;:::-;17769:16;-1:-1:-1::0;;;;;17769:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17751:70:0::1;;17830:4;17837:16;-1:-1:-1::0;;;;;17837:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17751:110;::::0;-1:-1:-1;;;;;;17751:110:0::1;::::0;;;;;;-1:-1:-1;;;;;3386:15:1;;;17751:110:0::1;::::0;::::1;3368:34:1::0;3438:15;;3418:18;;;3411:43;3303:18;;17751:110:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17735:13;:126:::0;;-1:-1:-1;;;;;;17735:126:0::1;-1:-1:-1::0;;;;;17735:126:0;;::::1;;::::0;;17872:15:::1;::::0;::::1;:31;17911:21;17956:4;17976:24;17956:4:::0;17976:9:::1;:24::i;:::-;18015:1;18031::::0;18047:7:::1;8023::::0;8050:6;-1:-1:-1;;;;;8050:6:0;;7985:79;18047:7:::1;17872:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;17872:223:0;;;-1:-1:-1;;;;;4103:15:1;;;17872:223:0::1;::::0;::::1;4085:34:1::0;4135:18;;;4128:34;;;;4178:18;;;4171:34;;;;4221:18;;;4214:34;4285:15;;;4264:19;;;4257:44;18069:15:0::1;4317:19:1::0;;;4310:35;4019:19;;17872:223:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;18106:11:0::1;:18:::0;;18199:21:::1;18184:12;:36:::0;18250:21:::1;18231:16;:40:::0;-1:-1:-1;;;;18282:18:0;;-1:-1:-1;;;18282:18:0;;;;18323:12:::1;18311:9;:24:::0;18398:15:::1;::::0;18346:111:::1;::::0;-1:-1:-1;;;18346:111:0;;-1:-1:-1;;;;;18398:15:0;;::::1;18346:111;::::0;::::1;3639:51:1::0;-1:-1:-1;;3706:18:1;;;3699:34;18353:13:0;;;-1:-1:-1;18346:29:0::1;::::0;3612:18:1;;18346:111:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17416:1049;17374:1091::o:0;16165:97::-;8112:6;;-1:-1:-1;;;;;8112:6:0;5568:10;8112:22;8104:67;;;;-1:-1:-1;;;8104:67:0;;;;;;;:::i;:::-;16238:6:::1;:16:::0;;;::::1;;-1:-1:-1::0;;;16238:16:0::1;-1:-1:-1::0;;;;16238:16:0;;::::1;::::0;;;::::1;::::0;;16165:97::o;16923:105::-;8112:6;;-1:-1:-1;;;;;8112:6:0;5568:10;8112:22;8104:67;;;;-1:-1:-1;;;8104:67:0;;;;;;;:::i;:::-;17006:14:::1;:6:::0;17015:5:::1;17006:14;:::i;:::-;16991:12;:29:::0;-1:-1:-1;16923:105:0:o;20156:143::-;20227:21;20259:32;20227:21;20259:12;:32::i;18473:87::-;8112:6;;-1:-1:-1;;;;;8112:6:0;5568:10;8112:22;8104:67;;;;-1:-1:-1;;;8104:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18533:12:0::1;;::::0;;;:4:::1;:12;::::0;;;;:19;;-1:-1:-1;;18533:19:0::1;18548:4;18533:19;::::0;;18473:87::o;13460:369::-;-1:-1:-1;;;;;13587:19:0;;13579:68;;;;-1:-1:-1;;;13579:68:0;;8857:2:1;13579:68:0;;;8839:21:1;8896:2;8876:18;;;8869:30;8935:34;8915:18;;;8908:62;-1:-1:-1;;;8986:18:1;;;8979:34;9030:19;;13579:68:0;8655:400:1;13579:68:0;-1:-1:-1;;;;;13666:21:0;;13658:68;;;;-1:-1:-1;;;13658:68:0;;6167:2:1;13658:68:0;;;6149:21:1;6206:2;6186:18;;;6179:30;6245:34;6225:18;;;6218:62;-1:-1:-1;;;6296:18:1;;;6289:32;6338:19;;13658:68:0;5965:398:1;13658:68:0;-1:-1:-1;;;;;13737:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13789:32;;10262:25:1;;;13789:32:0;;10235:18:1;13789:32:0;;;;;;;13460:369;;;:::o;13837:2320::-;-1:-1:-1;;;;;13961:18:0;;13953:68;;;;-1:-1:-1;;;13953:68:0;;8451:2:1;13953:68:0;;;8433:21:1;8490:2;8470:18;;;8463:30;8529:34;8509:18;;;8502:62;-1:-1:-1;;;8580:18:1;;;8573:35;8625:19;;13953:68:0;8249:401:1;13953:68:0;-1:-1:-1;;;;;14040:16:0;;14032:64;;;;-1:-1:-1;;;14032:64:0;;5352:2:1;14032:64:0;;;5334:21:1;5391:2;5371:18;;;5364:30;5430:34;5410:18;;;5403:62;-1:-1:-1;;;5481:18:1;;;5474:33;5524:19;;14032:64:0;5150:399:1;14032:64:0;14124:1;14115:6;:10;14107:64;;;;-1:-1:-1;;;14107:64:0;;7689:2:1;14107:64:0;;;7671:21:1;7728:2;7708:18;;;7701:30;7767:34;7747:18;;;7740:62;-1:-1:-1;;;7818:18:1;;;7811:39;7867:19;;14107:64:0;7487:405:1;14107:64:0;14198:1;14186:9;:13;14222:1;14210:9;:13;-1:-1:-1;8050:6:0;-1:-1:-1;;;;;14238:15:0;;;8050:6;;14238:15;;;;:32;;-1:-1:-1;8023:7:0;8050:6;-1:-1:-1;;;;;14257:13:0;;;8050:6;;14257:13;;14238:32;:57;;;;-1:-1:-1;;;;;;14274:21:0;;14290:4;14274:21;;14238:57;:86;;;;-1:-1:-1;;;;;;14300:24:0;;;;;;:18;:24;;;;;;;;14299:25;14238:86;:113;;;;-1:-1:-1;;;;;;14329:22:0;;;;;;:18;:22;;;;;;;;14328:23;14238:113;14234:1871;;;-1:-1:-1;;;;;14381:10:0;;;;;;:4;:10;;;;;;;;14380:11;:24;;;;-1:-1:-1;;;;;;14396:8:0;;;;;;:4;:8;;;;;;;;14395:9;14380:24;14372:33;;;;;;14450:13;;-1:-1:-1;;;;;14442:21:0;;;14450:13;;14442:21;:72;;;;-1:-1:-1;14498:15:0;;-1:-1:-1;;;;;14484:30:0;;;14498:15;;14484:30;;14442:72;:116;;;;-1:-1:-1;;;;;;14536:22:0;;;;;;:18;:22;;;;;;;;14535:23;14442:116;:152;;;;-1:-1:-1;14579:15:0;;-1:-1:-1;;;14579:15:0;;;;14442:152;14420:634;;;14692:12;;14682:6;:22;;14674:63;;;;-1:-1:-1;;;14674:63:0;;9614:2:1;14674:63:0;;;9596:21:1;9653:2;9633:18;;;9626:30;9692;9672:18;;;9665:58;9740:18;;14674:63:0;9412:352:1;14674:63:0;-1:-1:-1;;;;;14793:12:0;;;;;;:8;:12;;;;;;14808:15;-1:-1:-1;14785:61:0;;;;-1:-1:-1;;;14785:61:0;;9971:2:1;14785:61:0;;;9953:21:1;10010:2;9990:18;;;9983:30;-1:-1:-1;;;10029:18:1;;;10022:48;10087:18;;14785:61:0;9769:342:1;14785:61:0;14930:16;;14920:6;14904:13;14914:2;14904:9;:13::i;:::-;:22;;;;:::i;:::-;:42;;14896:78;;;;-1:-1:-1;;;14896:78:0;;8099:2:1;14896:78:0;;;8081:21:1;8138:2;8118:18;;;8111:30;8177:25;8157:18;;;8150:53;8220:18;;14896:78:0;7897:347:1;14896:78:0;15008:30;:15;15027:10;15008:30;:::i;:::-;-1:-1:-1;;;;;14993:12:0;;;;;;:8;:12;;;;;:45;14420:634;15098:13;;-1:-1:-1;;;;;15092:19:0;;;15098:13;;15092:19;:72;;;;-1:-1:-1;15148:15:0;;-1:-1:-1;;;;;15132:32:0;;;15148:15;;15132:32;;15092:72;:118;;;;-1:-1:-1;;;;;;15186:24:0;;;;;;:18;:24;;;;;;;;15185:25;15092:118;15070:236;;;15257:1;15245:9;:13;15289:1;15277:9;:13;15070:236;15343:12;15326:9;;15338:1;15326:13;;;;:::i;:::-;:29;;:54;;;;-1:-1:-1;15367:13:0;;-1:-1:-1;;;;;15359:21:0;;;15367:13;;15359:21;15326:54;15322:141;;;15413:1;15401:9;:13;15445:2;15433:9;:14;15322:141;15479:28;15510:24;15528:4;15510:9;:24::i;:::-;15588:19;;15479:55;;-1:-1:-1;15564:43:0;;;;;;;15626:18;;-1:-1:-1;15638:6:0;;-1:-1:-1;;;15638:6:0;;;;15637:7;15626:18;:43;;;;-1:-1:-1;15656:13:0;;-1:-1:-1;;;;;15648:21:0;;;15656:13;;15648:21;;15626:43;:58;;;;-1:-1:-1;15673:11:0;;-1:-1:-1;;;15673:11:0;;;;15626:58;15622:322;;;15707:38;15724:20;15707:16;:38::i;:::-;15791:21;15834:22;;15830:99;;15878:35;15891:21;15878:12;:35::i;:::-;15686:258;15622:322;14353:1602;;14234:1871;;;16064:1;16052:9;:13;;;16080:9;:13;14234:1871;16117:32;16132:4;16138:2;16142:6;16117:14;:32::i;:::-;13837:2320;;;:::o;6750:224::-;6870:7;6906:12;6898:6;;;;6890:29;;;;-1:-1:-1;;;6890:29:0;;;;;;;;:::i;:::-;-1:-1:-1;6930:9:0;6942:5;6946:1;6942;:5;:::i;:::-;6930:17;6750:224;-1:-1:-1;;;;;6750:224:0:o;16270:483::-;10681:6;:13;;-1:-1:-1;;;;10681:13:0;-1:-1:-1;;;10681:13:0;;;16372:16:::1;::::0;;16386:1:::1;16372:16:::0;;;;;::::1;::::0;;-1:-1:-1;;16372:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;16372:16:0::1;16348:40;;16417:4;16399;16404:1;16399:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16399:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;16443:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;16443:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;16399:7;;16443:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16433:4;16438:1;16433:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16433:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;16508:15:::1;::::0;16476:62:::1;::::0;16493:4:::1;::::0;16508:15:::1;16526:11:::0;16476:8:::1;:62::i;:::-;16549:15;::::0;:196:::1;::::0;-1:-1:-1;;;16549:196:0;;-1:-1:-1;;;;;16549:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;16630:11;;16549:15:::1;::::0;16672:4;;16699::::1;::::0;16719:15:::1;::::0;16549:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10717:6:0;:14;;-1:-1:-1;;;;10717:14:0;;;-1:-1:-1;;;;16270:483:0:o;13129:323::-;13224:7;13282;;13271;:18;;13249:110;;;;-1:-1:-1;;;13249:110:0;;5756:2:1;13249:110:0;;;5738:21:1;5795:2;5775:18;;;5768:30;5834:34;5814:18;;;5807:62;-1:-1:-1;;;5885:18:1;;;5878:40;5935:19;;13249:110:0;5554:406:1;13249:110:0;13370:19;13392:10;:8;:10::i;:::-;13370:32;-1:-1:-1;13420:24:0;:7;13370:32;13420:11;:24::i;:::-;13413:31;13129:323;-1:-1:-1;;;13129:323:0:o;16761:154::-;16818:15;;-1:-1:-1;;;;;16818:15:0;:39;16843:13;:6;16854:1;16843:10;:13::i;:::-;16818:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16868:15:0;;-1:-1:-1;;;;;16868:15:0;:39;16893:13;:6;16904:1;16893:10;:13::i;:::-;16868:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18785:180;18913:44;18931:6;18939:9;18950:6;18913:17;:44::i;22038:164::-;22080:7;22101:15;22118;22137:19;:17;:19::i;:::-;22100:56;;-1:-1:-1;22100:56:0;-1:-1:-1;22174:20:0;22100:56;;22174:11;:20::i;:::-;22167:27;;;;22038:164;:::o;7236:132::-;7294:7;7321:39;7325:1;7328;7321:39;;;;;;;;;;;;;;;;;:3;:39::i;18973:610::-;19120:15;19150:23;19188:12;19215:23;19253:12;19280:13;19307:19;19318:7;19307:10;:19::i;:::-;-1:-1:-1;;;;;19355:15:0;;;;;;:7;:15;;;;;;19105:221;;-1:-1:-1;19105:221:0;;-1:-1:-1;19105:221:0;;-1:-1:-1;19105:221:0;-1:-1:-1;19105:221:0;-1:-1:-1;19105:221:0;-1:-1:-1;19355:28:0;;19105:221;19355:19;:28::i;:::-;-1:-1:-1;;;;;19337:15:0;;;;;;;:7;:15;;;;;;:46;;;;19415:18;;;;;;;:39;;19438:15;19415:22;:39::i;:::-;-1:-1:-1;;;;;19394:18:0;;;;;;:7;:18;;;;;:60;19465:16;19475:5;19465:9;:16::i;:::-;19492:23;19504:4;19510;19492:11;:23::i;:::-;19548:9;-1:-1:-1;;;;;19531:44:0;19540:6;-1:-1:-1;;;;;19531:44:0;;19559:15;19531:44;;;;10262:25:1;;10250:2;10235:18;;10116:177;19531:44:0;;;;;;;;19094:489;;;;;;18973:610;;;:::o;22210:257::-;22308:7;;22261;;;;9742:23;22376:20;22308:7;9742:23;22376:11;:20::i;:::-;22366:7;:30;22362:61;;;-1:-1:-1;;22406:7:0;;;9742:23;;-1:-1:-1;22210:257:0;-1:-1:-1;22210:257:0:o;22362:61::-;22442:7;;22451;;-1:-1:-1;22210:257:0;-1:-1:-1;22210:257:0:o;7376:223::-;7496:7;7531:12;7524:5;7516:28;;;;-1:-1:-1;;;7516:28:0;;;;;;;;:::i;:::-;-1:-1:-1;7555:9:0;7567:5;7571:1;7567;:5;:::i;20307:704::-;20407:7;20429;20451;20473;20495;20517;20553:23;20578:12;20592:13;20609:92;20635:7;20657:9;;20681;;20609:11;:92::i;:::-;20552:149;;;;;;20712:19;20734:10;:8;:10::i;:::-;20712:32;;20756:15;20773:23;20798:12;20814:109;20840:7;20862:4;20881:5;20901:11;20814;:109::i;:::-;20755:168;;-1:-1:-1;20755:168:0;-1:-1:-1;20755:168:0;-1:-1:-1;20974:15:0;;-1:-1:-1;20991:4:0;;-1:-1:-1;20997:5:0;;-1:-1:-1;;;;;20307:704:0;;;;;;;:::o;6606:136::-;6664:7;6691:43;6695:1;6698;6691:43;;;;;;;;;;;;;;;;;:3;:43::i;6419:179::-;6477:7;;6509:5;6513:1;6509;:5;:::i;:::-;6497:17;;6538:1;6533;:6;;6525:46;;;;-1:-1:-1;;;6525:46:0;;6570:2:1;6525:46:0;;;6552:21:1;6609:2;6589:18;;;6582:30;6648:29;6628:18;;;6621:57;6695:18;;6525:46:0;6368:351:1;19591:211:0;19644:19;19666:10;:8;:10::i;:::-;19644:32;-1:-1:-1;19687:13:0;19703:22;:5;19644:32;19703:9;:22::i;:::-;19777:4;19761:22;;;;:7;:22;;;;;;19687:38;;-1:-1:-1;19761:33:0;;19687:38;19761:26;:33::i;:::-;19752:4;19736:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;19591:211:0:o;19810:147::-;19888:7;;:17;;19900:4;19888:11;:17::i;:::-;19878:7;:27;19929:10;;:20;;19944:4;19929:14;:20::i;:::-;19916:10;:33;-1:-1:-1;;19810:147:0:o;21019:467::-;21187:7;;;;21281:28;21305:3;21281:19;:7;21293:6;21281:11;:19::i;:::-;:23;;:28::i;:::-;21266:43;-1:-1:-1;21320:13:0;21336:29;21361:3;21336:20;:7;21348;21336:11;:20::i;:29::-;21320:45;-1:-1:-1;21376:23:0;21402:28;21320:45;21402:17;:7;21414:4;21402:11;:17::i;:::-;:21;;:28::i;:::-;21376:54;21466:4;;-1:-1:-1;21472:5:0;;-1:-1:-1;21019:467:0;;-1:-1:-1;;;;;21019:467:0:o;21494:534::-;21688:7;;;;21785:24;:7;21797:11;21785;:24::i;:::-;21767:42;-1:-1:-1;21820:12:0;21835:21;:4;21844:11;21835:8;:21::i;:::-;21820:36;-1:-1:-1;21867:13:0;21883:22;:5;21893:11;21883:9;:22::i;:::-;21867:38;-1:-1:-1;21916:23:0;21942:28;21867:38;21942:17;:7;21954:4;21942:11;:17::i;:28::-;21989:7;;;;-1:-1:-1;22015:4:0;;-1:-1:-1;21494:534:0;;-1:-1:-1;;;;;;;21494:534:0:o;6982:246::-;7040:7;7064:6;7060:47;;-1:-1:-1;7094:1:0;7087:8;;7060:47;7117:9;7129:5;7133:1;7129;:5;:::i;:::-;7117:17;-1:-1:-1;7162:1:0;7153:5;7157:1;7117:17;7153:5;:::i;:::-;:10;7145:56;;;;-1:-1:-1;;;7145:56:0;;6926:2:1;7145:56:0;;;6908:21:1;6965:2;6945:18;;;6938:30;7004:34;6984:18;;;6977:62;-1:-1:-1;;;7055:18:1;;;7048:31;7096:19;;7145:56:0;6724:397:1;14:247;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;782:388::-;850:6;858;911:2;899:9;890:7;886:23;882:32;879:52;;;927:1;924;917:12;879:52;966:9;953:23;985:31;1010:5;985:31;:::i;:::-;1035:5;-1:-1:-1;1092:2:1;1077:18;;1064:32;1105:33;1064:32;1105:33;:::i;:::-;1157:7;1147:17;;;782:388;;;;;:::o;1175:456::-;1252:6;1260;1268;1321:2;1309:9;1300:7;1296:23;1292:32;1289:52;;;1337:1;1334;1327:12;1289:52;1376:9;1363:23;1395:31;1420:5;1395:31;:::i;:::-;1445:5;-1:-1:-1;1502:2:1;1487:18;;1474:32;1515:33;1474:32;1515:33;:::i;:::-;1175:456;;1567:7;;-1:-1:-1;;;1621:2:1;1606:18;;;;1593:32;;1175:456::o;1636:315::-;1704:6;1712;1765:2;1753:9;1744:7;1740:23;1736:32;1733:52;;;1781:1;1778;1771:12;1733:52;1820:9;1807:23;1839:31;1864:5;1839:31;:::i;:::-;1889:5;1941:2;1926:18;;;;1913:32;;-1:-1:-1;;;1636:315:1:o;1956:241::-;2012:6;2065:2;2053:9;2044:7;2040:23;2036:32;2033:52;;;2081:1;2078;2071:12;2033:52;2120:9;2107:23;2139:28;2161:5;2139:28;:::i;2202:245::-;2269:6;2322:2;2310:9;2301:7;2297:23;2293:32;2290:52;;;2338:1;2335;2328:12;2290:52;2370:9;2364:16;2389:28;2411:5;2389:28;:::i;2452:180::-;2511:6;2564:2;2552:9;2543:7;2539:23;2535:32;2532:52;;;2580:1;2577;2570:12;2532:52;-1:-1:-1;2603:23:1;;2452:180;-1:-1:-1;2452:180:1:o;2637:306::-;2725:6;2733;2741;2794:2;2782:9;2773:7;2769:23;2765:32;2762:52;;;2810:1;2807;2800:12;2762:52;2839:9;2833:16;2823:26;;2889:2;2878:9;2874:18;2868:25;2858:35;;2933:2;2922:9;2918:18;2912:25;2902:35;;2637:306;;;;;:::o;4548:597::-;4660:4;4689:2;4718;4707:9;4700:21;4750:6;4744:13;4793:6;4788:2;4777:9;4773:18;4766:34;4818:1;4828:140;4842:6;4839:1;4836:13;4828:140;;;4937:14;;;4933:23;;4927:30;4903:17;;;4922:2;4899:26;4892:66;4857:10;;4828:140;;;4986:6;4983:1;4980:13;4977:91;;;5056:1;5051:2;5042:6;5031:9;5027:22;5023:31;5016:42;4977:91;-1:-1:-1;5129:2:1;5108:15;-1:-1:-1;;5104:29:1;5089:45;;;;5136:2;5085:54;;4548:597;-1:-1:-1;;;4548:597:1:o;7126:356::-;7328:2;7310:21;;;7347:18;;;7340:30;7406:34;7401:2;7386:18;;7379:62;7473:2;7458:18;;7126:356::o;10298:980::-;10560:4;10608:3;10597:9;10593:19;10639:6;10628:9;10621:25;10665:2;10703:6;10698:2;10687:9;10683:18;10676:34;10746:3;10741:2;10730:9;10726:18;10719:31;10770:6;10805;10799:13;10836:6;10828;10821:22;10874:3;10863:9;10859:19;10852:26;;10913:2;10905:6;10901:15;10887:29;;10934:1;10944:195;10958:6;10955:1;10952:13;10944:195;;;11023:13;;-1:-1:-1;;;;;11019:39:1;11007:52;;11114:15;;;;11079:12;;;;11055:1;10973:9;10944:195;;;-1:-1:-1;;;;;;;11195:32:1;;;;11190:2;11175:18;;11168:60;-1:-1:-1;;;11259:3:1;11244:19;11237:35;11156:3;10298:980;-1:-1:-1;;;10298:980:1:o;11472:128::-;11512:3;11543:1;11539:6;11536:1;11533:13;11530:39;;;11549:18;;:::i;:::-;-1:-1:-1;11585:9:1;;11472:128::o;11605:217::-;11645:1;11671;11661:132;;11715:10;11710:3;11706:20;11703:1;11696:31;11750:4;11747:1;11740:15;11778:4;11775:1;11768:15;11661:132;-1:-1:-1;11807:9:1;;11605:217::o;11827:168::-;11867:7;11933:1;11929;11925:6;11921:14;11918:1;11915:21;11910:1;11903:9;11896:17;11892:45;11889:71;;;11940:18;;:::i;:::-;-1:-1:-1;11980:9:1;;11827:168::o;12000:125::-;12040:4;12068:1;12065;12062:8;12059:34;;;12073:18;;:::i;:::-;-1:-1:-1;12110:9:1;;12000:125::o;12130:127::-;12191:10;12186:3;12182:20;12179:1;12172:31;12222:4;12219:1;12212:15;12246:4;12243:1;12236:15;12262:127;12323:10;12318:3;12314:20;12311:1;12304:31;12354:4;12351:1;12344:15;12378:4;12375:1;12368:15;12526:131;-1:-1:-1;;;;;12601:31:1;;12591:42;;12581:70;;12647:1;12644;12637:12;12662:118;12748:5;12741:13;12734:21;12727:5;12724:32;12714:60;;12770:1;12767;12760:12

Swarm Source

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