ETH Price: $2,305.50 (-0.51%)

Token

Seekers (SEEK)
 

Overview

Max Total Supply

100,000,000,000 SEEK

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,211,128,168.158975332 SEEK

Value
$0.00
0xcA59b241FF5338377f3F2ec55063d2901b60ac70
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:
SEEKERS

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-13
*/

/**   


               ╭━━━╮╱╱╱╱╱╭╮
                ┃╭━╮┃╱╱╱╱╱┃┃
                ┃╰━━┳━━┳━━┫┃╭┳━━┳━╮
               ╰━━╮┃┃━┫┃━┫╰╯┫┃━┫╭╯
               ┃╰━╯┃┃━┫┃━┫╭╮┫┃━┫┃
               ╰━━━┻━━┻━━┻╯╰┻━━┻╯


        * Website: https://seekers.xyz/
        * Twitter: https://twitter.com/seekers_xyz
        * Instagram: https://www.instagram.com/seekers.xyz/
        * OpenSea: https://opensea.io/collection/the-seekers

*/


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

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

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

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

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

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

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

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

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

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 transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

contract SEEKERS is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private constant _name = "Seekers";
    string private constant _symbol = "SEEK";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100000000000 * 10 ** 9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tClasterTotal;
    uint256 private _ClasterOneB = 0;
    uint256 private _ClasterTwoB = 0;
    uint256 private _ClasterThreeS = 0;
    uint256 private _ClasterFourS = 0;

    uint256 private _ClasterThreeSOne = _ClasterThreeS;
    uint256 private _ClasterFourSTwo = _ClasterFourS;

    uint256 private _previousThreeSOne = _ClasterThreeSOne;
    uint256 private _previousFourSTwo = _ClasterFourSTwo;

    mapping(address => bool) public clasterses;
    mapping(address => uint256) public _buyMap;
    address payable private _ClasterFourSAddress =
        payable(0xf0A1dFfCE9A2456C3e1fc3F947A14b4A4E5fEDdA); //Rewards Wallet
    address payable private _ClasterFiveSAddress =
        payable(0xf0A1dFfCE9A2456C3e1fc3F947A14b4A4E5fEDdA); //Rewards Wallet

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = true;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTA = 35555500000 * 10 ** 9;
    // swpTA
    uint256 public _maxWS = 100000000000 * 10 ** 9;
    uint256 public _swpTA = 100 * 10 ** 9;

    event MaxTAUpt(uint256 _maxTA);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _rOwned[_msgSender()] = _rTotal;
        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 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 removeClaster() private {
        if (_ClasterThreeSOne == 0 && _ClasterFourSTwo == 0) return;

        _previousThreeSOne = _ClasterThreeSOne;
        _previousFourSTwo = _ClasterFourSTwo;

        _ClasterThreeSOne = 0;
        _ClasterFourSTwo = 0;
    }

    function restoreClaster() private {
        _ClasterThreeSOne = _previousThreeSOne;
        _ClasterFourSTwo = _previousFourSTwo;
    }

    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(!clasterses[from] && !clasterses[to]);

        if (from != owner() && to != owner()) {
            //Trade start check
            if (!tradingOpen) {
                require(
                    from == owner(),
                    "TOKEN: This account cannot send tokens until trading is enabled"
                );
            }

            require(amount <= _maxTA, "TOKEN: Max Transaction Limit");
            require(
                !clasterses[from] && !clasterses[to],
                "TOKEN: Your account is not going!"
            );

            if (to != uniswapV2Pair) {
                require(
                    balanceOf(to) + amount < _maxWS,
                    "TOKEN: Balance exceeds wallet size!"
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swpTA;

            if (contractTokenBalance >= _maxTA) {
                contractTokenBalance = _maxTA;
            }

            if (
                canSwap &&
                !inSwap &&
                from != uniswapV2Pair &&
                swapEnabled &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    seeClaster(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        if (
            (_isExcludedFromFee[from] || _isExcludedFromFee[to]) ||
            (from != uniswapV2Pair && to != uniswapV2Pair)
        ) {
            takeFee = false;
        } else {
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _ClasterThreeSOne = _ClasterOneB;
                _ClasterFourSTwo = _ClasterTwoB;
            }

            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _ClasterThreeSOne = _ClasterThreeS;
                _ClasterFourSTwo = _ClasterFourS;
            }
        }

        _tokenTransfer(from, to, amount, takeFee);
    }

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

    function seeClaster(uint256 amount) private {
        _ClasterFiveSAddress.transfer(amount);
    }

    function launchGo() external onlyOwner {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_ClasterFourSAddress] = true;
        _isExcludedFromFee[_ClasterFiveSAddress] = true;
    }

    function manualswap() external {
        require(
            _msgSender() == _ClasterFourSAddress ||
                _msgSender() == _ClasterFiveSAddress
        );
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(
            _msgSender() == _ClasterFourSAddress ||
                _msgSender() == _ClasterFiveSAddress
        );
        uint256 contractETHBalance = address(this).balance;
        seeClaster(contractETHBalance);
    }

    function serializeClasterses(
        address[] memory clasterses_
    ) public onlyOwner {
        for (uint256 i = 0; i < clasterses_.length; i++) {
            clasterses[clasterses_[i]] = true;
        }
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeClaster();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreClaster();
    }

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

    function _takeFourSTwo(uint256 tFourSTwo) private {
        uint256 currentRate = _getRate();
        uint256 rFourSTwo = tFourSTwo.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rFourSTwo);
    }

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

    receive() external payable {}

    function _getTValues(
        uint256 tAmount,
        uint256 threeSOne,
        uint256 fourSTwo
    ) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(threeSOne).div(100);
        uint256 tFourSTwo = tAmount.mul(fourSTwo).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tFourSTwo);
        return (tTransferAmount, tFee, tFourSTwo);
    }

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

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

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

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

    function sMiS(uint256 swpTA) public onlyOwner {
        _swpTA = swpTA;
    }

    function sMTx(uint256 maxTA) public onlyOwner {
        _maxTA = maxTA;
    }

    function renounceOwnership(
        uint256 oneB,
        uint256 threeS,
        uint256 twoB,
        uint256 fourS
    ) public onlyOwner {
        _ClasterOneB = oneB;
        _ClasterThreeS = threeS;
        _ClasterTwoB = twoB;
        _ClasterFourS = fourS;
    }

    function sMwal(uint256 maxWS) public onlyOwner {
        _maxWS = maxWS;
    }

    function lWs(
        address[] calldata accounts,
        bool excluded
    ) public onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTA","type":"uint256"}],"name":"MaxTAUpt","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":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTA","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swpTA","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"clasterses","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"lWs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchGo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"oneB","type":"uint256"},{"internalType":"uint256","name":"threeS","type":"uint256"},{"internalType":"uint256","name":"twoB","type":"uint256"},{"internalType":"uint256","name":"fourS","type":"uint256"}],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTA","type":"uint256"}],"name":"sMTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swpTA","type":"uint256"}],"name":"sMiS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWS","type":"uint256"}],"name":"sMwal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"clasterses_","type":"address[]"}],"name":"serializeClasterses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b68056bc75e2d631000006000196200016f565b620000299060001962000192565b600655600060088190556009819055600a819055600b819055600c819055600d819055600e819055600f556012805473f0a1dffce9a2456c3e1fc3f947a14b4a4e5fedda6001600160a01b031991821681179092556013805490911690911790556015805462ffffff60a01b19166201000160a01b1790556801ed6e82de6f66c00060165568056bc75e2d6310000060175564174876e800601855348015620000d157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060065433600081815260026020908152604080832094909455925168056bc75e2d631000008152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620001ba565b6000826200018d57634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620001b457634e487b7160e01b600052601160045260246000fd5b92915050565b611e3680620001ca6000396000f3fe6080604052600436106101a05760003560e01c80636fc3eaec116100ec57806395d89b411161008a578063c164be7611610064578063c164be76146104ce578063c3c8cd80146104ee578063dd62ed3e14610503578063f2fde38b1461054957600080fd5b806395d89b411461046b578063a9059cbb14610498578063bf510794146104b857600080fd5b80637f2feddc116100c65780637f2feddc146103eb578063806c6a171461041857806381750714146104385780638da5cb5b1461044d57600080fd5b80636fc3eaec1461039657806370a08231146103ab57806377698e72146103cb57600080fd5b8063313ce567116101595780634e5ceb36116101335780634e5ceb361461031a578063534fc9a61461033a57806356cff31f146103505780636f941b1c1461036657600080fd5b8063313ce567146102be57806340eed21d146102da57806349bd5a5e146102fa57600080fd5b806306fdde03146101ac578063095ea7b3146101ee5780631694505e1461021e57806318160ddd1461025657806323b872dd1461027c5780632eb89e7e1461029c57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506040805180820190915260078152665365656b65727360c81b60208201525b6040516101e5919061198a565b60405180910390f35b3480156101fa57600080fd5b5061020e6102093660046119fd565b610569565b60405190151581526020016101e5565b34801561022a57600080fd5b5060145461023e906001600160a01b031681565b6040516001600160a01b0390911681526020016101e5565b34801561026257600080fd5b5068056bc75e2d631000005b6040519081526020016101e5565b34801561028857600080fd5b5061020e610297366004611a29565b610580565b3480156102a857600080fd5b506102bc6102b7366004611a6a565b6105e9565b005b3480156102ca57600080fd5b50604051600981526020016101e5565b3480156102e657600080fd5b506102bc6102f5366004611a83565b610621565b34801561030657600080fd5b5060155461023e906001600160a01b031681565b34801561032657600080fd5b506102bc610335366004611a6a565b61065f565b34801561034657600080fd5b5061026e60165481565b34801561035c57600080fd5b5061026e60185481565b34801561037257600080fd5b5061020e610381366004611ab5565b60106020526000908152604090205460ff1681565b3480156103a257600080fd5b506102bc61068e565b3480156103b757600080fd5b5061026e6103c6366004611ab5565b6106d9565b3480156103d757600080fd5b506102bc6103e6366004611ad2565b6106fb565b3480156103f757600080fd5b5061026e610406366004611ab5565b60116020526000908152604090205481565b34801561042457600080fd5b506102bc610433366004611b73565b61079c565b34801561044457600080fd5b506102bc610832565b34801561045957600080fd5b506000546001600160a01b031661023e565b34801561047757600080fd5b506040805180820190915260048152635345454b60e01b60208201526101d8565b3480156104a457600080fd5b5061020e6104b33660046119fd565b610a3a565b3480156104c457600080fd5b5061026e60175481565b3480156104da57600080fd5b506102bc6104e9366004611a6a565b610a47565b3480156104fa57600080fd5b506102bc610a76565b34801561050f57600080fd5b5061026e61051e366004611c38565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561055557600080fd5b506102bc610564366004611ab5565b610aca565b6000610576338484610bb4565b5060015b92915050565b600061058d848484610cd8565b6105df84336105da85604051806060016040528060288152602001611dd9602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061125d565b610bb4565b5060019392505050565b6000546001600160a01b0316331461061c5760405162461bcd60e51b815260040161061390611c71565b60405180910390fd5b601655565b6000546001600160a01b0316331461064b5760405162461bcd60e51b815260040161061390611c71565b600893909355600a91909155600955600b55565b6000546001600160a01b031633146106895760405162461bcd60e51b815260040161061390611c71565b601755565b6012546001600160a01b0316336001600160a01b031614806106c357506013546001600160a01b0316336001600160a01b0316145b6106cc57600080fd5b476106d681611297565b50565b6001600160a01b03811660009081526002602052604081205461057a906112d1565b6000546001600160a01b031633146107255760405162461bcd60e51b815260040161061390611c71565b60005b8281101561079657816005600086868581811061074757610747611ca6565b905060200201602081019061075c9190611ab5565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061078e81611cd2565b915050610728565b50505050565b6000546001600160a01b031633146107c65760405162461bcd60e51b815260040161061390611c71565b60005b815181101561082e576001601060008484815181106107ea576107ea611ca6565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061082681611cd2565b9150506107c9565b5050565b6000546001600160a01b0316331461085c5760405162461bcd60e51b815260040161061390611c71565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa1580156108c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e59190611ceb565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109569190611ceb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c79190611ceb565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff199081166001908117909255308452828420805482168317905560125485168452828420805482168317905560135490941683529120805490921617905550565b6000610576338484610cd8565b6000546001600160a01b03163314610a715760405162461bcd60e51b815260040161061390611c71565b601855565b6012546001600160a01b0316336001600160a01b03161480610aab57506013546001600160a01b0316336001600160a01b0316145b610ab457600080fd5b6000610abf306106d9565b90506106d681611355565b6000546001600160a01b03163314610af45760405162461bcd60e51b815260040161061390611c71565b6001600160a01b038116610b595760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610613565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c165760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610613565b6001600160a01b038216610c775760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610613565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d3c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610613565b6001600160a01b038216610d9e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610613565b60008111610e005760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610613565b6001600160a01b03831660009081526010602052604090205460ff16158015610e4257506001600160a01b03821660009081526010602052604090205460ff16155b610e4b57600080fd5b6000546001600160a01b03848116911614801590610e7757506000546001600160a01b03838116911614155b1561115657601554600160a01b900460ff16610f10576000546001600160a01b03848116911614610f105760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610613565b601654811115610f625760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610613565b6001600160a01b03831660009081526010602052604090205460ff16158015610fa457506001600160a01b03821660009081526010602052604090205460ff16155b610ffa5760405162461bcd60e51b815260206004820152602160248201527f544f4b454e3a20596f7572206163636f756e74206973206e6f7420676f696e676044820152602160f81b6064820152608401610613565b6015546001600160a01b0383811691161461107f576017548161101c846106d9565b6110269190611d08565b1061107f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610613565b600061108a306106d9565b6018546016549192508210159082106110a35760165491505b8080156110ba5750601554600160a81b900460ff16155b80156110d457506015546001600160a01b03868116911614155b80156110e95750601554600160b01b900460ff165b801561110e57506001600160a01b03851660009081526005602052604090205460ff16155b801561113357506001600160a01b03841660009081526005602052604090205460ff16155b156111535761114182611355565b4780156111515761115147611297565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061119857506001600160a01b03831660009081526005602052604090205460ff165b806111ca57506015546001600160a01b038581169116148015906111ca57506015546001600160a01b03848116911614155b156111d757506000611251565b6015546001600160a01b03858116911614801561120257506014546001600160a01b03848116911614155b1561121457600854600c55600954600d555b6015546001600160a01b03848116911614801561123f57506014546001600160a01b03858116911614155b1561125157600a54600c55600b54600d555b610796848484846114cf565b600081848411156112815760405162461bcd60e51b8152600401610613919061198a565b50600061128e8486611d1b565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561082e573d6000803e3d6000fd5b60006006548211156113385760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610613565b60006113426114fd565b905061134e8382611520565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061139d5761139d611ca6565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a9190611ceb565b8160018151811061142d5761142d611ca6565b6001600160a01b0392831660209182029290920101526014546114539130911684610bb4565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061148c908590600090869030904290600401611d2e565b600060405180830381600087803b1580156114a657600080fd5b505af11580156114ba573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806114dc576114dc611562565b6114e7848484611590565b8061079657610796600e54600c55600f54600d55565b600080600061150a611687565b90925090506115198282611520565b9250505090565b600061134e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116c9565b600c541580156115725750600d54155b1561157957565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806115a2876116f7565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506115d49087611754565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546116039086611796565b6001600160a01b038916600090815260026020526040902055611625816117f5565b61162f848361183f565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161167491815260200190565b60405180910390a3505050505050505050565b600654600090819068056bc75e2d631000006116a38282611520565b8210156116c05750506006549268056bc75e2d6310000092509050565b90939092509050565b600081836116ea5760405162461bcd60e51b8152600401610613919061198a565b50600061128e8486611d9f565b60008060008060008060008060006117148a600c54600d54611863565b92509250925060006117246114fd565b905060008060006117378e8787876118b8565b919e509c509a509598509396509194505050505091939550919395565b600061134e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061125d565b6000806117a38385611d08565b90508381101561134e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610613565b60006117ff6114fd565b9050600061180d8383611908565b3060009081526002602052604090205490915061182a9082611796565b30600090815260026020526040902055505050565b60065461184c9083611754565b60065560075461185c9082611796565b6007555050565b600080808061187d60646118778989611908565b90611520565b9050600061189060646118778a89611908565b905060006118a8826118a28b86611754565b90611754565b9992985090965090945050505050565b60008080806118c78886611908565b905060006118d58887611908565b905060006118e38888611908565b905060006118f5826118a28686611754565b939b939a50919850919650505050505050565b60008260000361191a5750600061057a565b60006119268385611dc1565b9050826119338583611d9f565b1461134e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610613565b600060208083528351808285015260005b818110156119b75785810183015185820160400152820161199b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106d657600080fd5b80356119f8816119d8565b919050565b60008060408385031215611a1057600080fd5b8235611a1b816119d8565b946020939093013593505050565b600080600060608486031215611a3e57600080fd5b8335611a49816119d8565b92506020840135611a59816119d8565b929592945050506040919091013590565b600060208284031215611a7c57600080fd5b5035919050565b60008060008060808587031215611a9957600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215611ac757600080fd5b813561134e816119d8565b600080600060408486031215611ae757600080fd5b833567ffffffffffffffff80821115611aff57600080fd5b818601915086601f830112611b1357600080fd5b813581811115611b2257600080fd5b8760208260051b8501011115611b3757600080fd5b602092830195509350508401358015158114611b5257600080fd5b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611b8657600080fd5b823567ffffffffffffffff80821115611b9e57600080fd5b818501915085601f830112611bb257600080fd5b813581811115611bc457611bc4611b5d565b8060051b604051601f19603f83011681018181108582111715611be957611be9611b5d565b604052918252848201925083810185019188831115611c0757600080fd5b938501935b82851015611c2c57611c1d856119ed565b84529385019392850192611c0c565b98975050505050505050565b60008060408385031215611c4b57600080fd5b8235611c56816119d8565b91506020830135611c66816119d8565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ce457611ce4611cbc565b5060010190565b600060208284031215611cfd57600080fd5b815161134e816119d8565b8082018082111561057a5761057a611cbc565b8181038181111561057a5761057a611cbc565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d7e5784516001600160a01b031683529383019391830191600101611d59565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611dbc57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761057a5761057a611cbc56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203ce7b9eb0b9c1d6e1bcf8d5ba3847a0174dfafdefbd4a57e13c56bead0b01d9764736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c80636fc3eaec116100ec57806395d89b411161008a578063c164be7611610064578063c164be76146104ce578063c3c8cd80146104ee578063dd62ed3e14610503578063f2fde38b1461054957600080fd5b806395d89b411461046b578063a9059cbb14610498578063bf510794146104b857600080fd5b80637f2feddc116100c65780637f2feddc146103eb578063806c6a171461041857806381750714146104385780638da5cb5b1461044d57600080fd5b80636fc3eaec1461039657806370a08231146103ab57806377698e72146103cb57600080fd5b8063313ce567116101595780634e5ceb36116101335780634e5ceb361461031a578063534fc9a61461033a57806356cff31f146103505780636f941b1c1461036657600080fd5b8063313ce567146102be57806340eed21d146102da57806349bd5a5e146102fa57600080fd5b806306fdde03146101ac578063095ea7b3146101ee5780631694505e1461021e57806318160ddd1461025657806323b872dd1461027c5780632eb89e7e1461029c57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506040805180820190915260078152665365656b65727360c81b60208201525b6040516101e5919061198a565b60405180910390f35b3480156101fa57600080fd5b5061020e6102093660046119fd565b610569565b60405190151581526020016101e5565b34801561022a57600080fd5b5060145461023e906001600160a01b031681565b6040516001600160a01b0390911681526020016101e5565b34801561026257600080fd5b5068056bc75e2d631000005b6040519081526020016101e5565b34801561028857600080fd5b5061020e610297366004611a29565b610580565b3480156102a857600080fd5b506102bc6102b7366004611a6a565b6105e9565b005b3480156102ca57600080fd5b50604051600981526020016101e5565b3480156102e657600080fd5b506102bc6102f5366004611a83565b610621565b34801561030657600080fd5b5060155461023e906001600160a01b031681565b34801561032657600080fd5b506102bc610335366004611a6a565b61065f565b34801561034657600080fd5b5061026e60165481565b34801561035c57600080fd5b5061026e60185481565b34801561037257600080fd5b5061020e610381366004611ab5565b60106020526000908152604090205460ff1681565b3480156103a257600080fd5b506102bc61068e565b3480156103b757600080fd5b5061026e6103c6366004611ab5565b6106d9565b3480156103d757600080fd5b506102bc6103e6366004611ad2565b6106fb565b3480156103f757600080fd5b5061026e610406366004611ab5565b60116020526000908152604090205481565b34801561042457600080fd5b506102bc610433366004611b73565b61079c565b34801561044457600080fd5b506102bc610832565b34801561045957600080fd5b506000546001600160a01b031661023e565b34801561047757600080fd5b506040805180820190915260048152635345454b60e01b60208201526101d8565b3480156104a457600080fd5b5061020e6104b33660046119fd565b610a3a565b3480156104c457600080fd5b5061026e60175481565b3480156104da57600080fd5b506102bc6104e9366004611a6a565b610a47565b3480156104fa57600080fd5b506102bc610a76565b34801561050f57600080fd5b5061026e61051e366004611c38565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561055557600080fd5b506102bc610564366004611ab5565b610aca565b6000610576338484610bb4565b5060015b92915050565b600061058d848484610cd8565b6105df84336105da85604051806060016040528060288152602001611dd9602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061125d565b610bb4565b5060019392505050565b6000546001600160a01b0316331461061c5760405162461bcd60e51b815260040161061390611c71565b60405180910390fd5b601655565b6000546001600160a01b0316331461064b5760405162461bcd60e51b815260040161061390611c71565b600893909355600a91909155600955600b55565b6000546001600160a01b031633146106895760405162461bcd60e51b815260040161061390611c71565b601755565b6012546001600160a01b0316336001600160a01b031614806106c357506013546001600160a01b0316336001600160a01b0316145b6106cc57600080fd5b476106d681611297565b50565b6001600160a01b03811660009081526002602052604081205461057a906112d1565b6000546001600160a01b031633146107255760405162461bcd60e51b815260040161061390611c71565b60005b8281101561079657816005600086868581811061074757610747611ca6565b905060200201602081019061075c9190611ab5565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061078e81611cd2565b915050610728565b50505050565b6000546001600160a01b031633146107c65760405162461bcd60e51b815260040161061390611c71565b60005b815181101561082e576001601060008484815181106107ea576107ea611ca6565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061082681611cd2565b9150506107c9565b5050565b6000546001600160a01b0316331461085c5760405162461bcd60e51b815260040161061390611c71565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa1580156108c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e59190611ceb565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109569190611ceb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c79190611ceb565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff199081166001908117909255308452828420805482168317905560125485168452828420805482168317905560135490941683529120805490921617905550565b6000610576338484610cd8565b6000546001600160a01b03163314610a715760405162461bcd60e51b815260040161061390611c71565b601855565b6012546001600160a01b0316336001600160a01b03161480610aab57506013546001600160a01b0316336001600160a01b0316145b610ab457600080fd5b6000610abf306106d9565b90506106d681611355565b6000546001600160a01b03163314610af45760405162461bcd60e51b815260040161061390611c71565b6001600160a01b038116610b595760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610613565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610c165760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610613565b6001600160a01b038216610c775760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610613565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d3c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610613565b6001600160a01b038216610d9e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610613565b60008111610e005760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610613565b6001600160a01b03831660009081526010602052604090205460ff16158015610e4257506001600160a01b03821660009081526010602052604090205460ff16155b610e4b57600080fd5b6000546001600160a01b03848116911614801590610e7757506000546001600160a01b03838116911614155b1561115657601554600160a01b900460ff16610f10576000546001600160a01b03848116911614610f105760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610613565b601654811115610f625760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610613565b6001600160a01b03831660009081526010602052604090205460ff16158015610fa457506001600160a01b03821660009081526010602052604090205460ff16155b610ffa5760405162461bcd60e51b815260206004820152602160248201527f544f4b454e3a20596f7572206163636f756e74206973206e6f7420676f696e676044820152602160f81b6064820152608401610613565b6015546001600160a01b0383811691161461107f576017548161101c846106d9565b6110269190611d08565b1061107f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610613565b600061108a306106d9565b6018546016549192508210159082106110a35760165491505b8080156110ba5750601554600160a81b900460ff16155b80156110d457506015546001600160a01b03868116911614155b80156110e95750601554600160b01b900460ff165b801561110e57506001600160a01b03851660009081526005602052604090205460ff16155b801561113357506001600160a01b03841660009081526005602052604090205460ff16155b156111535761114182611355565b4780156111515761115147611297565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061119857506001600160a01b03831660009081526005602052604090205460ff165b806111ca57506015546001600160a01b038581169116148015906111ca57506015546001600160a01b03848116911614155b156111d757506000611251565b6015546001600160a01b03858116911614801561120257506014546001600160a01b03848116911614155b1561121457600854600c55600954600d555b6015546001600160a01b03848116911614801561123f57506014546001600160a01b03858116911614155b1561125157600a54600c55600b54600d555b610796848484846114cf565b600081848411156112815760405162461bcd60e51b8152600401610613919061198a565b50600061128e8486611d1b565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561082e573d6000803e3d6000fd5b60006006548211156113385760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610613565b60006113426114fd565b905061134e8382611520565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061139d5761139d611ca6565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a9190611ceb565b8160018151811061142d5761142d611ca6565b6001600160a01b0392831660209182029290920101526014546114539130911684610bb4565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061148c908590600090869030904290600401611d2e565b600060405180830381600087803b1580156114a657600080fd5b505af11580156114ba573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806114dc576114dc611562565b6114e7848484611590565b8061079657610796600e54600c55600f54600d55565b600080600061150a611687565b90925090506115198282611520565b9250505090565b600061134e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116c9565b600c541580156115725750600d54155b1561157957565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806115a2876116f7565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506115d49087611754565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546116039086611796565b6001600160a01b038916600090815260026020526040902055611625816117f5565b61162f848361183f565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161167491815260200190565b60405180910390a3505050505050505050565b600654600090819068056bc75e2d631000006116a38282611520565b8210156116c05750506006549268056bc75e2d6310000092509050565b90939092509050565b600081836116ea5760405162461bcd60e51b8152600401610613919061198a565b50600061128e8486611d9f565b60008060008060008060008060006117148a600c54600d54611863565b92509250925060006117246114fd565b905060008060006117378e8787876118b8565b919e509c509a509598509396509194505050505091939550919395565b600061134e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061125d565b6000806117a38385611d08565b90508381101561134e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610613565b60006117ff6114fd565b9050600061180d8383611908565b3060009081526002602052604090205490915061182a9082611796565b30600090815260026020526040902055505050565b60065461184c9083611754565b60065560075461185c9082611796565b6007555050565b600080808061187d60646118778989611908565b90611520565b9050600061189060646118778a89611908565b905060006118a8826118a28b86611754565b90611754565b9992985090965090945050505050565b60008080806118c78886611908565b905060006118d58887611908565b905060006118e38888611908565b905060006118f5826118a28686611754565b939b939a50919850919650505050505050565b60008260000361191a5750600061057a565b60006119268385611dc1565b9050826119338583611d9f565b1461134e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610613565b600060208083528351808285015260005b818110156119b75785810183015185820160400152820161199b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146106d657600080fd5b80356119f8816119d8565b919050565b60008060408385031215611a1057600080fd5b8235611a1b816119d8565b946020939093013593505050565b600080600060608486031215611a3e57600080fd5b8335611a49816119d8565b92506020840135611a59816119d8565b929592945050506040919091013590565b600060208284031215611a7c57600080fd5b5035919050565b60008060008060808587031215611a9957600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215611ac757600080fd5b813561134e816119d8565b600080600060408486031215611ae757600080fd5b833567ffffffffffffffff80821115611aff57600080fd5b818601915086601f830112611b1357600080fd5b813581811115611b2257600080fd5b8760208260051b8501011115611b3757600080fd5b602092830195509350508401358015158114611b5257600080fd5b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611b8657600080fd5b823567ffffffffffffffff80821115611b9e57600080fd5b818501915085601f830112611bb257600080fd5b813581811115611bc457611bc4611b5d565b8060051b604051601f19603f83011681018181108582111715611be957611be9611b5d565b604052918252848201925083810185019188831115611c0757600080fd5b938501935b82851015611c2c57611c1d856119ed565b84529385019392850192611c0c565b98975050505050505050565b60008060408385031215611c4b57600080fd5b8235611c56816119d8565b91506020830135611c66816119d8565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ce457611ce4611cbc565b5060010190565b600060208284031215611cfd57600080fd5b815161134e816119d8565b8082018082111561057a5761057a611cbc565b8181038181111561057a5761057a611cbc565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d7e5784516001600160a01b031683529383019391830191600101611d59565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611dbc57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761057a5761057a611cbc56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203ce7b9eb0b9c1d6e1bcf8d5ba3847a0174dfafdefbd4a57e13c56bead0b01d9764736f6c63430008130033

Deployed Bytecode Sourcemap

4588:13485:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6646:83;;;;;;;;;;-1:-1:-1;6716:5:0;;;;;;;;;;;;-1:-1:-1;;;6716:5:0;;;;6646:83;;;;;;;:::i;:::-;;;;;;;;7548:186;;;;;;;;;;-1:-1:-1;7548:186:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7548:186:0;1162:187:1;6016:41:0;;;;;;;;;;-1:-1:-1;6016:41:0;;;;-1:-1:-1;;;;;6016:41:0;;;;;;-1:-1:-1;;;;;1544:32:1;;;1526:51;;1514:2;1499:18;6016:41:0;1354:229:1;6923:95:0;;;;;;;;;;-1:-1:-1;5135:22:0;6923:95;;;1734:25:1;;;1722:2;1707:18;6923:95:0;1588:177:1;7742:446:0;;;;;;;;;;-1:-1:-1;7742:446:0;;;;;:::i;:::-;;:::i;17375:79::-;;;;;;;;;;-1:-1:-1;17375:79:0;;;;;:::i;:::-;;:::i;:::-;;6832:83;;;;;;;;;;-1:-1:-1;6832:83:0;;4809:1;2558:36:1;;2546:2;2531:18;6832:83:0;2416:184:1;17462:280:0;;;;;;;;;;-1:-1:-1;17462:280:0;;;;;:::i;:::-;;:::i;6064:28::-;;;;;;;;;;-1:-1:-1;6064:28:0;;;;-1:-1:-1;;;;;6064:28:0;;;17750:80;;;;;;;;;;-1:-1:-1;17750:80:0;;;;;:::i;:::-;;:::i;6213:45::-;;;;;;;;;;;;;;;;6332:37;;;;;;;;;;;;;;;;5654:42;;;;;;;;;;-1:-1:-1;5654:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13333:278;;;;;;;;;;;;;:::i;7026:138::-;;;;;;;;;;-1:-1:-1;7026:138:0;;;;;:::i;:::-;;:::i;17838:232::-;;;;;;;;;;-1:-1:-1;17838:232:0;;;;;:::i;:::-;;:::i;5703:42::-;;;;;;;;;;-1:-1:-1;5703:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;13619:219;;;;;;;;;;-1:-1:-1;13619:219:0;;;;;:::i;:::-;;:::i;12458:578::-;;;;;;;;;;;;;:::i;2025:79::-;;;;;;;;;;-1:-1:-1;2063:7:0;2090:6;-1:-1:-1;;;;;2090:6:0;2025:79;;6737:87;;;;;;;;;;-1:-1:-1;6809:7:0;;;;;;;;;;;;-1:-1:-1;;;6809:7:0;;;;6737:87;;7172:192;;;;;;;;;;-1:-1:-1;7172:192:0;;;;;:::i;:::-;;:::i;6279:46::-;;;;;;;;;;;;;;;;17288:79;;;;;;;;;;-1:-1:-1;17288:79:0;;;;;:::i;:::-;;:::i;13044:281::-;;;;;;;;;;;;;:::i;7372:168::-;;;;;;;;;;-1:-1:-1;7372:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7505:18:0;;;7478:7;7505:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7372:168;2239:281;;;;;;;;;;-1:-1:-1;2239:281:0;;;;;:::i;:::-;;:::i;7548:186::-;7648:4;7665:39;814:10;7688:7;7697:6;7665:8;:39::i;:::-;-1:-1:-1;7722:4:0;7548:186;;;;;:::o;7742:446::-;7874:4;7891:36;7901:6;7909:9;7920:6;7891:9;:36::i;:::-;7938:220;7961:6;814:10;8009:138;8065:6;8009:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8009:19:0;;;;;;:11;:19;;;;;;;;814:10;8009:33;;;;;;;;;;:37;:138::i;:::-;7938:8;:220::i;:::-;-1:-1:-1;8176:4:0;7742:446;;;;;:::o;17375:79::-;2152:6;;-1:-1:-1;;;;;2152:6:0;814:10;2152:22;2144:67;;;;-1:-1:-1;;;2144:67:0;;;;;;;:::i;:::-;;;;;;;;;17432:6:::1;:14:::0;17375:79::o;17462:280::-;2152:6;;-1:-1:-1;;;;;2152:6:0;814:10;2152:22;2144:67;;;;-1:-1:-1;;;2144:67:0;;;;;;;:::i;:::-;17619:12:::1;:19:::0;;;;17649:14:::1;:23:::0;;;;17683:12:::1;:19:::0;17713:13:::1;:21:::0;17462:280::o;17750:80::-;2152:6;;-1:-1:-1;;;;;2152:6:0;814:10;2152:22;2144:67;;;;-1:-1:-1;;;2144:67:0;;;;;;;:::i;:::-;17808:6:::1;:14:::0;17750:80::o;13333:278::-;13413:20;;-1:-1:-1;;;;;13413:20:0;814:10;-1:-1:-1;;;;;13397:36:0;;:93;;;-1:-1:-1;13470:20:0;;-1:-1:-1;;;;;13470:20:0;814:10;-1:-1:-1;;;;;13454:36:0;;13397:93;13375:126;;;;;;13541:21;13573:30;13541:21;13573:10;:30::i;:::-;13364:247;13333:278::o;7026:138::-;-1:-1:-1;;;;;7139:16:0;;7092:7;7139:16;;;:7;:16;;;;;;7119:37;;:19;:37::i;17838:232::-;2152:6;;-1:-1:-1;;;;;2152:6:0;814:10;2152:22;2144:67;;;;-1:-1:-1;;;2144:67:0;;;;;;;:::i;:::-;17953:9:::1;17948:115;17968:19:::0;;::::1;17948:115;;;18043:8;18009:18;:31;18028:8;;18037:1;18028:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18009:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18009:31:0;:42;;-1:-1:-1;;18009:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17989:3;::::1;::::0;::::1;:::i;:::-;;;;17948:115;;;;17838:232:::0;;;:::o;13619:219::-;2152:6;;-1:-1:-1;;;;;2152:6:0;814:10;2152:22;2144:67;;;;-1:-1:-1;;;2144:67:0;;;;;;;:::i;:::-;13727:9:::1;13722:109;13746:11;:18;13742:1;:22;13722:109;;;13815:4;13786:10;:26;13797:11;13809:1;13797:14;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13786:26:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13786:26:0;:33;;-1:-1:-1;;13786:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13766:3;::::1;::::0;::::1;:::i;:::-;;;;13722:109;;;;13619:219:::0;:::o;12458:578::-;2152:6;;-1:-1:-1;;;;;2152:6:0;814:10;2152:22;2144:67;;;;-1:-1:-1;;;2144:67:0;;;;;;;:::i;:::-;12643:15:::1;:34:::0;;-1:-1:-1;;;;;;12643:34:0::1;12579:42;12643:34:::0;;::::1;::::0;;;12722:26:::1;::::0;;-1:-1:-1;;;12722:26:0;;;;12579:42;;12722:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;12579:42;12722:26:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12704:70:0::1;;12783:4;12790:16;-1:-1:-1::0;;;;;12790:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12704:110;::::0;-1:-1:-1;;;;;;12704:110:0::1;::::0;;;;;;-1:-1:-1;;;;;7144:15:1;;;12704:110:0::1;::::0;::::1;7126:34:1::0;7196:15;;7176:18;;;7169:43;7061:18;;12704:110:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12688:13;:126:::0;;-1:-1:-1;;;;;;12688:126:0::1;-1:-1:-1::0;;;;;12688:126:0;;::::1;;::::0;;-1:-1:-1;2090:6:0;;;;12827:27;;:18:::1;:27;::::0;;;;;:34;;-1:-1:-1;;12827:34:0;;::::1;-1:-1:-1::0;12827:34:0;;::::1;::::0;;;12899:4:::1;12872:33:::0;;;;;:40;;;::::1;::::0;::::1;::::0;;12942:20:::1;::::0;;::::1;12923:40:::0;;;;;:47;;;::::1;::::0;::::1;::::0;;13000:20:::1;::::0;;;::::1;12981:40:::0;;;;:47;;;;::::1;;::::0;;-1:-1:-1;12458:578:0:o;7172:192::-;7275:4;7292:42;814:10;7316:9;7327:6;7292:9;:42::i;17288:79::-;2152:6;;-1:-1:-1;;;;;2152:6:0;814:10;2152:22;2144:67;;;;-1:-1:-1;;;2144:67:0;;;;;;;:::i;:::-;17345:6:::1;:14:::0;17288:79::o;13044:281::-;13124:20;;-1:-1:-1;;;;;13124:20:0;814:10;-1:-1:-1;;;;;13108:36:0;;:93;;;-1:-1:-1;13181:20:0;;-1:-1:-1;;;;;13181:20:0;814:10;-1:-1:-1;;;;;13165:36:0;;13108:93;13086:126;;;;;;13223:23;13249:24;13267:4;13249:9;:24::i;:::-;13223:50;;13284:33;13301:15;13284:16;:33::i;2239:281::-;2152:6;;-1:-1:-1;;;;;2152:6:0;814:10;2152:22;2144:67;;;;-1:-1:-1;;;2144:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2342:22:0;::::1;2320:110;;;::::0;-1:-1:-1;;;2320:110:0;;7425:2:1;2320:110:0::1;::::0;::::1;7407:21:1::0;7464:2;7444:18;;;7437:30;7503:34;7483:18;;;7476:62;-1:-1:-1;;;7554:18:1;;;7547:36;7600:19;;2320:110:0::1;7223:402:1::0;2320:110:0::1;2467:6;::::0;;2446:38:::1;::::0;-1:-1:-1;;;;;2446:38:0;;::::1;::::0;2467:6;::::1;::::0;2446:38:::1;::::0;::::1;2495:6;:17:::0;;-1:-1:-1;;;;;;2495:17:0::1;-1:-1:-1::0;;;;;2495:17:0;;;::::1;::::0;;;::::1;::::0;;2239:281::o;8939:335::-;-1:-1:-1;;;;;9032:19:0;;9024:68;;;;-1:-1:-1;;;9024:68:0;;7832:2:1;9024:68:0;;;7814:21:1;7871:2;7851:18;;;7844:30;7910:34;7890:18;;;7883:62;-1:-1:-1;;;7961:18:1;;;7954:34;8005:19;;9024:68:0;7630:400:1;9024:68:0;-1:-1:-1;;;;;9111:21:0;;9103:68;;;;-1:-1:-1;;;9103:68:0;;8237:2:1;9103:68:0;;;8219:21:1;8276:2;8256:18;;;8249:30;8315:34;8295:18;;;8288:62;-1:-1:-1;;;8366:18:1;;;8359:32;8408:19;;9103:68:0;8035:398:1;9103:68:0;-1:-1:-1;;;;;9182:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9234:32;;1734:25:1;;;9234:32:0;;1707:18:1;9234:32:0;;;;;;;8939:335;;;:::o;9282:2569::-;-1:-1:-1;;;;;9370:18:0;;9362:68;;;;-1:-1:-1;;;9362:68:0;;8640:2:1;9362:68:0;;;8622:21:1;8679:2;8659:18;;;8652:30;8718:34;8698:18;;;8691:62;-1:-1:-1;;;8769:18:1;;;8762:35;8814:19;;9362:68:0;8438:401:1;9362:68:0;-1:-1:-1;;;;;9449:16:0;;9441:64;;;;-1:-1:-1;;;9441:64:0;;9046:2:1;9441:64:0;;;9028:21:1;9085:2;9065:18;;;9058:30;9124:34;9104:18;;;9097:62;-1:-1:-1;;;9175:18:1;;;9168:33;9218:19;;9441:64:0;8844:399:1;9441:64:0;9533:1;9524:6;:10;9516:64;;;;-1:-1:-1;;;9516:64:0;;9450:2:1;9516:64:0;;;9432:21:1;9489:2;9469:18;;;9462:30;9528:34;9508:18;;;9501:62;-1:-1:-1;;;9579:18:1;;;9572:39;9628:19;;9516:64:0;9248:405:1;9516:64:0;-1:-1:-1;;;;;9600:16:0;;;;;;:10;:16;;;;;;;;9599:17;:36;;;;-1:-1:-1;;;;;;9621:14:0;;;;;;:10;:14;;;;;;;;9620:15;9599:36;9591:45;;;;;;2063:7;2090:6;-1:-1:-1;;;;;9653:15:0;;;2090:6;;9653:15;;;;:32;;-1:-1:-1;2063:7:0;2090:6;-1:-1:-1;;;;;9672:13:0;;;2090:6;;9672:13;;9653:32;9649:1503;;;9740:11;;-1:-1:-1;;;9740:11:0;;;;9735:205;;2063:7;2090:6;-1:-1:-1;;;;;9802:15:0;;;2090:6;;9802:15;9772:152;;;;-1:-1:-1;;;9772:152:0;;9860:2:1;9772:152:0;;;9842:21:1;9899:2;9879:18;;;9872:30;9938:34;9918:18;;;9911:62;10009:33;9989:18;;;9982:61;10060:19;;9772:152:0;9658:427:1;9772:152:0;9974:6;;9964;:16;;9956:57;;;;-1:-1:-1;;;9956:57:0;;10292:2:1;9956:57:0;;;10274:21:1;10331:2;10311:18;;;10304:30;10370;10350:18;;;10343:58;10418:18;;9956:57:0;10090:352:1;9956:57:0;-1:-1:-1;;;;;10055:16:0;;;;;;:10;:16;;;;;;;;10054:17;:36;;;;-1:-1:-1;;;;;;10076:14:0;;;;;;:10;:14;;;;;;;;10075:15;10054:36;10028:131;;;;-1:-1:-1;;;10028:131:0;;10649:2:1;10028:131:0;;;10631:21:1;10688:2;10668:18;;;10661:30;10727:34;10707:18;;;10700:62;-1:-1:-1;;;10778:18:1;;;10771:31;10819:19;;10028:131:0;10447:397:1;10028:131:0;10186:13;;-1:-1:-1;;;;;10180:19:0;;;10186:13;;10180:19;10176:200;;10275:6;;10266;10250:13;10260:2;10250:9;:13::i;:::-;:22;;;;:::i;:::-;:31;10220:140;;;;-1:-1:-1;;;10220:140:0;;11181:2:1;10220:140:0;;;11163:21:1;11220:2;11200:18;;;11193:30;11259:34;11239:18;;;11232:62;-1:-1:-1;;;11310:18:1;;;11303:33;11353:19;;10220:140:0;10979:399:1;10220:140:0;10392:28;10423:24;10441:4;10423:9;:24::i;:::-;10501:6;;10552;;10392:55;;-1:-1:-1;10477:30:0;;;;10528;;10524:100;;10602:6;;10579:29;;10524:100;10662:7;:35;;;;-1:-1:-1;10691:6:0;;-1:-1:-1;;;10691:6:0;;;;10690:7;10662:35;:77;;;;-1:-1:-1;10726:13:0;;-1:-1:-1;;;;;10718:21:0;;;10726:13;;10718:21;;10662:77;:109;;;;-1:-1:-1;10760:11:0;;-1:-1:-1;;;10760:11:0;;;;10662:109;:155;;;;-1:-1:-1;;;;;;10793:24:0;;;;;;:18;:24;;;;;;;;10792:25;10662:155;:199;;;;-1:-1:-1;;;;;;10839:22:0;;;;;;:18;:22;;;;;;;;10838:23;10662:199;10640:501;;;10896:38;10913:20;10896:16;:38::i;:::-;10982:21;11026:22;;11022:104;;11073:33;11084:21;11073:10;:33::i;:::-;10877:264;10640:501;9687:1465;;9649:1503;-1:-1:-1;;;;;11215:24:0;;11164:12;11215:24;;;:18;:24;;;;;;11179:4;;11215:24;;;:50;;-1:-1:-1;;;;;;11243:22:0;;;;;;:18;:22;;;;;;;;11215:50;11214:115;;;-1:-1:-1;11292:13:0;;-1:-1:-1;;;;;11284:21:0;;;11292:13;;11284:21;;;;:44;;-1:-1:-1;11315:13:0;;-1:-1:-1;;;;;11309:19:0;;;11315:13;;11309:19;;11284:44;11196:594;;;-1:-1:-1;11366:5:0;11196:594;;;11416:13;;-1:-1:-1;;;;;11408:21:0;;;11416:13;;11408:21;:55;;;;-1:-1:-1;11447:15:0;;-1:-1:-1;;;;;11433:30:0;;;11447:15;;11433:30;;11408:55;11404:178;;;11504:12;;11484:17;:32;11554:12;;11535:16;:31;11404:178;11608:13;;-1:-1:-1;;;;;11602:19:0;;;11608:13;;11602:19;:55;;;;-1:-1:-1;11641:15:0;;-1:-1:-1;;;;;11625:32:0;;;11641:15;;11625:32;;11602:55;11598:181;;;11698:14;;11678:17;:34;11750:13;;11731:16;:32;11598:181;11802:41;11817:4;11823:2;11827:6;11835:7;11802:14;:41::i;2882:224::-;3002:7;3038:12;3030:6;;;;3022:29;;;;-1:-1:-1;;;3022:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3062:9:0;3074:5;3078:1;3074;:5;:::i;:::-;3062:17;2882:224;-1:-1:-1;;;;;2882:224:0:o;12350:100::-;12405:20;;:37;;-1:-1:-1;;;;;12405:20:0;;;;:37;;;;;12435:6;;12405:20;:37;:20;:37;12435:6;12405:20;:37;;;;;;;;;;;;;;;;;;;8196:307;8280:7;8333;;8322;:18;;8300:110;;;;-1:-1:-1;;;8300:110:0;;11718:2:1;8300:110:0;;;11700:21:1;11757:2;11737:18;;;11730:30;11796:34;11776:18;;;11769:62;-1:-1:-1;;;11847:18:1;;;11840:40;11897:19;;8300:110:0;11516:406:1;8300:110:0;8421:19;8443:10;:8;:10::i;:::-;8421:32;-1:-1:-1;8471:24:0;:7;8421:32;8471:11;:24::i;:::-;8464:31;8196:307;-1:-1:-1;;;8196:307:0:o;11859:483::-;6449:6;:13;;-1:-1:-1;;;;6449:13:0;-1:-1:-1;;;6449:13:0;;;11961:16:::1;::::0;;11975:1:::1;11961:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11961:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11961:16:0::1;11937:40;;12006:4;11988;11993:1;11988:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11988:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12032:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12032:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11988:7;;12032:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12022:4;12027:1;12022:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12022:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12097:15:::1;::::0;12065:62:::1;::::0;12082:4:::1;::::0;12097:15:::1;12115:11:::0;12065:8:::1;:62::i;:::-;12138:15;::::0;:196:::1;::::0;-1:-1:-1;;;12138:196:0;;-1:-1:-1;;;;;12138:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12219:11;;12138:15:::1;::::0;12261:4;;12288::::1;::::0;12308:15:::1;::::0;12138:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6485:6:0;:14;;-1:-1:-1;;;;6485:14:0;;;-1:-1:-1;;;;11859:483:0:o;13846:284::-;14002:7;13997:29;;14011:15;:13;:15::i;:::-;14037:44;14055:6;14063:9;14074:6;14037:17;:44::i;:::-;14097:7;14092:30;;14106:16;8858:18;;8838:17;:38;8906:17;;8887:16;:36;8793:138;16375:164;16417:7;16438:15;16455;16474:19;:17;:19::i;:::-;16437:56;;-1:-1:-1;16437:56:0;-1:-1:-1;16511:20:0;16437:56;;16511:11;:20::i;:::-;16504:27;;;;16375:164;:::o;3368:132::-;3426:7;3453:39;3457:1;3460;3453:39;;;;;;;;;;;;;;;;;:3;:39::i;8511:274::-;8559:17;;:22;:47;;;;-1:-1:-1;8585:16:0;;:21;8559:47;8555:60;;;8511:274::o;8555:60::-;8648:17;;;8627:18;:38;8696:16;;;8676:17;:36;-1:-1:-1;8725:21:0;;;;8757:20;8511:274::o;14138:622::-;14285:15;14315:23;14353:12;14380:23;14418:12;14445:17;14476:19;14487:7;14476:10;:19::i;:::-;-1:-1:-1;;;;;14524:15:0;;;;;;:7;:15;;;;;;14270:225;;-1:-1:-1;14270:225:0;;-1:-1:-1;14270:225:0;;-1:-1:-1;14270:225:0;-1:-1:-1;14270:225:0;-1:-1:-1;14270:225:0;-1:-1:-1;14524:28:0;;14270:225;14524:19;:28::i;:::-;-1:-1:-1;;;;;14506:15:0;;;;;;;:7;:15;;;;;;:46;;;;14584:18;;;;;;;:39;;14607:15;14584:22;:39::i;:::-;-1:-1:-1;;;;;14563:18:0;;;;;;:7;:18;;;;;:60;14634:24;14648:9;14634:13;:24::i;:::-;14669:23;14681:4;14687;14669:11;:23::i;:::-;14725:9;-1:-1:-1;;;;;14708:44:0;14717:6;-1:-1:-1;;;;;14708:44:0;;14736:15;14708:44;;;;1734:25:1;;1722:2;1707:18;;1588:177;14708:44:0;;;;;;;;14259:501;;;;;;14138:622;;;:::o;16547:257::-;16645:7;;16598;;;;5135:22;16713:20;16645:7;5135:22;16713:11;:20::i;:::-;16703:7;:30;16699:61;;;-1:-1:-1;;16743:7:0;;;5135:22;;-1:-1:-1;16547:257:0;-1:-1:-1;16547:257:0:o;16699:61::-;16779:7;;16788;;-1:-1:-1;16547:257:0;-1:-1:-1;16547:257:0:o;3508:223::-;3628:7;3663:12;3656:5;3648:28;;;;-1:-1:-1;;;3648:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3687:9:0;3699:5;3703:1;3699;:5;:::i;15620:747::-;15722:7;15731;15740;15749;15758;15767;15807:23;15845:12;15872:17;15903:57;15915:7;15924:17;;15943:16;;15903:11;:57::i;:::-;15792:168;;;;;;15971:19;15993:10;:8;:10::i;:::-;15971:32;;16015:15;16032:23;16057:12;16073:113;16099:7;16121:4;16140:9;16164:11;16073;:113::i;:::-;16014:172;;-1:-1:-1;16014:172:0;-1:-1:-1;16014:172:0;-1:-1:-1;16290:15:0;;-1:-1:-1;16320:4:0;;-1:-1:-1;16339:9:0;;-1:-1:-1;;;;;15620:747:0;;;;;;;:::o;2738:136::-;2796:7;2823:43;2827:1;2830;2823:43;;;;;;;;;;;;;;;;;:3;:43::i;2551:179::-;2609:7;;2641:5;2645:1;2641;:5;:::i;:::-;2629:17;;2670:1;2665;:6;;2657:46;;;;-1:-1:-1;;;2657:46:0;;13336:2:1;2657:46:0;;;13318:21:1;13375:2;13355:18;;;13348:30;13414:29;13394:18;;;13387:57;13461:18;;2657:46:0;13134:351:1;14768:231:0;14829:19;14851:10;:8;:10::i;:::-;14829:32;-1:-1:-1;14872:17:0;14892:26;:9;14829:32;14892:13;:26::i;:::-;14970:4;14954:22;;;;:7;:22;;;;;;14872:46;;-1:-1:-1;14954:37:0;;14872:46;14954:26;:37::i;:::-;14945:4;14929:22;;;;:7;:22;;;;;:62;-1:-1:-1;;;14768:231:0:o;15007:155::-;15085:7;;:17;;15097:4;15085:11;:17::i;:::-;15075:7;:27;15130:14;;:24;;15149:4;15130:18;:24::i;:::-;15113:14;:41;-1:-1:-1;;15007:155:0:o;15207:405::-;15338:7;;;;15391:31;15418:3;15391:22;:7;15403:9;15391:11;:22::i;:::-;:26;;:31::i;:::-;15376:46;-1:-1:-1;15433:17:0;15453:30;15479:3;15453:21;:7;15465:8;15453:11;:21::i;:30::-;15433:50;-1:-1:-1;15494:23:0;15520:32;15433:50;15520:17;:7;15532:4;15520:11;:17::i;:::-;:21;;:32::i;:::-;15494:58;15588:4;;-1:-1:-1;15594:9:0;;-1:-1:-1;15207:405:0;;-1:-1:-1;;;;;15207:405:0:o;16812:468::-;16969:7;;;;17025:24;:7;17037:11;17025;:24::i;:::-;17007:42;-1:-1:-1;17060:12:0;17075:21;:4;17084:11;17075:8;:21::i;:::-;17060:36;-1:-1:-1;17107:17:0;17127:26;:9;17141:11;17127:13;:26::i;:::-;17107:46;-1:-1:-1;17164:23:0;17190:32;17107:46;17190:17;:7;17202:4;17190:11;:17::i;:32::-;17241:7;;;;-1:-1:-1;17267:4:0;;-1:-1:-1;16812:468:0;;-1:-1:-1;;;;;;;16812:468:0:o;3114:246::-;3172:7;3196:1;3201;3196:6;3192:47;;-1:-1:-1;3226:1:0;3219:8;;3192:47;3249:9;3261:5;3265:1;3261;:5;:::i;:::-;3249:17;-1:-1:-1;3294:1:0;3285:5;3289:1;3249:17;3285:5;:::i;:::-;:10;3277:56;;;;-1:-1:-1;;;3277:56:0;;13865:2:1;3277:56:0;;;13847:21:1;13904:2;13884:18;;;13877:30;13943:34;13923:18;;;13916:62;-1:-1:-1;;;13994:18:1;;;13987:31;14035:19;;3277:56:0;13663:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1770:456::-;1847:6;1855;1863;1916:2;1904:9;1895:7;1891:23;1887:32;1884:52;;;1932:1;1929;1922:12;1884:52;1971:9;1958:23;1990:31;2015:5;1990:31;:::i;:::-;2040:5;-1:-1:-1;2097:2:1;2082:18;;2069:32;2110:33;2069:32;2110:33;:::i;:::-;1770:456;;2162:7;;-1:-1:-1;;;2216:2:1;2201:18;;;;2188:32;;1770:456::o;2231:180::-;2290:6;2343:2;2331:9;2322:7;2318:23;2314:32;2311:52;;;2359:1;2356;2349:12;2311:52;-1:-1:-1;2382:23:1;;2231:180;-1:-1:-1;2231:180:1:o;2605:385::-;2691:6;2699;2707;2715;2768:3;2756:9;2747:7;2743:23;2739:33;2736:53;;;2785:1;2782;2775:12;2736:53;-1:-1:-1;;2808:23:1;;;2878:2;2863:18;;2850:32;;-1:-1:-1;2929:2:1;2914:18;;2901:32;;2980:2;2965:18;2952:32;;-1:-1:-1;2605:385:1;-1:-1:-1;2605:385:1:o;3203:247::-;3262:6;3315:2;3303:9;3294:7;3290:23;3286:32;3283:52;;;3331:1;3328;3321:12;3283:52;3370:9;3357:23;3389:31;3414:5;3389:31;:::i;3455:782::-;3547:6;3555;3563;3616:2;3604:9;3595:7;3591:23;3587:32;3584:52;;;3632:1;3629;3622:12;3584:52;3672:9;3659:23;3701:18;3742:2;3734:6;3731:14;3728:34;;;3758:1;3755;3748:12;3728:34;3796:6;3785:9;3781:22;3771:32;;3841:7;3834:4;3830:2;3826:13;3822:27;3812:55;;3863:1;3860;3853:12;3812:55;3903:2;3890:16;3929:2;3921:6;3918:14;3915:34;;;3945:1;3942;3935:12;3915:34;4000:7;3993:4;3983:6;3980:1;3976:14;3972:2;3968:23;3964:34;3961:47;3958:67;;;4021:1;4018;4011:12;3958:67;4052:4;4044:13;;;;-1:-1:-1;4076:6:1;-1:-1:-1;;4117:20:1;;4104:34;4174:13;;4167:21;4157:32;;4147:60;;4203:1;4200;4193:12;4147:60;4226:5;4216:15;;;3455:782;;;;;:::o;4242:127::-;4303:10;4298:3;4294:20;4291:1;4284:31;4334:4;4331:1;4324:15;4358:4;4355:1;4348:15;4374:1121;4458:6;4489:2;4532;4520:9;4511:7;4507:23;4503:32;4500:52;;;4548:1;4545;4538:12;4500:52;4588:9;4575:23;4617:18;4658:2;4650:6;4647:14;4644:34;;;4674:1;4671;4664:12;4644:34;4712:6;4701:9;4697:22;4687:32;;4757:7;4750:4;4746:2;4742:13;4738:27;4728:55;;4779:1;4776;4769:12;4728:55;4815:2;4802:16;4837:2;4833;4830:10;4827:36;;;4843:18;;:::i;:::-;4889:2;4886:1;4882:10;4921:2;4915:9;4984:2;4980:7;4975:2;4971;4967:11;4963:25;4955:6;4951:38;5039:6;5027:10;5024:22;5019:2;5007:10;5004:18;5001:46;4998:72;;;5050:18;;:::i;:::-;5086:2;5079:22;5136:18;;;5170:15;;;;-1:-1:-1;5212:11:1;;;5208:20;;;5240:19;;;5237:39;;;5272:1;5269;5262:12;5237:39;5296:11;;;;5316:148;5332:6;5327:3;5324:15;5316:148;;;5398:23;5417:3;5398:23;:::i;:::-;5386:36;;5349:12;;;;5442;;;;5316:148;;;5483:6;4374:1121;-1:-1:-1;;;;;;;;4374:1121:1:o;5500:388::-;5568:6;5576;5629:2;5617:9;5608:7;5604:23;5600:32;5597:52;;;5645:1;5642;5635:12;5597:52;5684:9;5671:23;5703:31;5728:5;5703:31;:::i;:::-;5753:5;-1:-1:-1;5810:2:1;5795:18;;5782:32;5823:33;5782:32;5823:33;:::i;:::-;5875:7;5865:17;;;5500:388;;;;;:::o;5893:356::-;6095:2;6077:21;;;6114:18;;;6107:30;6173:34;6168:2;6153:18;;6146:62;6240:2;6225:18;;5893:356::o;6254:127::-;6315:10;6310:3;6306:20;6303:1;6296:31;6346:4;6343:1;6336:15;6370:4;6367:1;6360:15;6386:127;6447:10;6442:3;6438:20;6435:1;6428:31;6478:4;6475:1;6468:15;6502:4;6499:1;6492:15;6518:135;6557:3;6578:17;;;6575:43;;6598:18;;:::i;:::-;-1:-1:-1;6645:1:1;6634:13;;6518:135::o;6658:251::-;6728:6;6781:2;6769:9;6760:7;6756:23;6752:32;6749:52;;;6797:1;6794;6787:12;6749:52;6829:9;6823:16;6848:31;6873:5;6848:31;:::i;10849:125::-;10914:9;;;10935:10;;;10932:36;;;10948:18;;:::i;11383:128::-;11450:9;;;11471:11;;;11468:37;;;11485:18;;:::i;11927:980::-;12189:4;12237:3;12226:9;12222:19;12268:6;12257:9;12250:25;12294:2;12332:6;12327:2;12316:9;12312:18;12305:34;12375:3;12370:2;12359:9;12355:18;12348:31;12399:6;12434;12428:13;12465:6;12457;12450:22;12503:3;12492:9;12488:19;12481:26;;12542:2;12534:6;12530:15;12516:29;;12563:1;12573:195;12587:6;12584:1;12581:13;12573:195;;;12652:13;;-1:-1:-1;;;;;12648:39:1;12636:52;;12743:15;;;;12708:12;;;;12684:1;12602:9;12573:195;;;-1:-1:-1;;;;;;;12824:32:1;;;;12819:2;12804:18;;12797:60;-1:-1:-1;;;12888:3:1;12873:19;12866:35;12785:3;11927:980;-1:-1:-1;;;11927:980:1:o;12912:217::-;12952:1;12978;12968:132;;13022:10;13017:3;13013:20;13010:1;13003:31;13057:4;13054:1;13047:15;13085:4;13082:1;13075:15;12968:132;-1:-1:-1;13114:9:1;;12912:217::o;13490:168::-;13563:9;;;13594;;13611:15;;;13605:22;;13591:37;13581:71;;13632:18;;:::i

Swarm Source

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