ETH Price: $3,673.67 (+1.32%)

Token

ERC-20: Liquid Finance (LiqFin)
 

Overview

Max Total Supply

10,000,000,000 LiqFin

Holders

67

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
45,000,000 LiqFin

Value
$0.00
0x91a4838243a32c4983f2ec6f3bd53b2a8a3f7da2
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:
LIQFIN

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-23
*/

//SPDX-License-Identifier: UNLICENSED
//Launching in 5 mins
//Telegram: https://t.me/liquidfinance


pragma solidity ^0.8.10;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract LIQFIN is Context, IERC20, Ownable {
    mapping (address => uint) private _owned;
    mapping (address => mapping (address => uint)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isBot;
    mapping (address => User) private cooldown;
    uint private constant _totalSupply = 1e10 * 10**9;

    string public constant name = unicode"Liquid Finance";
    string public constant symbol = unicode"LiqFin";
    uint8 public constant decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;

    address payable public _TaxAdd;
    address public uniswapV2Pair;
    uint public _buyFee = 10;
    uint public _sellFee = 15;
    uint private _feeRate = 15;
    uint public _maxBuyAmount;
    uint public _maxHeldTokens;
    uint public _launchedAt;
    bool private _tradingOpen;
    bool private _inSwap = false;
    bool public _useImpactFeeSetter = false;

    struct User {
        uint buy;
        bool exists;
    }

    event FeeMultiplierUpdated(uint _multiplier);
    event ImpactFeeSetterUpdated(bool _usefeesetter);
    event FeeRateUpdated(uint _rate);
    event FeesUpdated(uint _buy, uint _sell);
    event TaxAddUpdated(address _taxwallet);
    
    modifier lockTheSwap {
        _inSwap = true;
        _;
        _inSwap = false;
    }
    constructor (address payable TaxAdd) {
        _TaxAdd = TaxAdd;
        _owned[_msgSender()] = _totalSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[TaxAdd] = true;
        _isExcludedFromFee[address(0xdead)] = true;

        emit Transfer(address(0),_msgSender(), _totalSupply);
    }

    function balanceOf(address account) public view override returns (uint) {
        return _owned[account];
    }
    function transfer(address recipient, uint amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    function totalSupply() public pure override returns (uint) {
        return _totalSupply;
    }

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

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

    function transferFrom(address sender, address recipient, uint amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        uint allowedAmount = _allowances[sender][_msgSender()] - amount;
        _approve(sender, _msgSender(), allowedAmount);
        return true;
    }

    function _approve(address owner, address spender, uint 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, uint amount) private {
        require(!_isBot[from] && !_isBot[to] && !_isBot[msg.sender]);
        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");
        bool isBuy = false;
        if(from != owner() && to != owner()) {
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(_tradingOpen, "Trading not yet enabled.");
                if (block.timestamp == _launchedAt) _isBot[to] = true;
                require(amount <= _maxBuyAmount);
                require((amount + balanceOf(address(to))) <= _maxHeldTokens); 

                if(!cooldown[to].exists) {
                    cooldown[to] = User(0,true);
                }

                cooldown[to].buy = block.timestamp;
                isBuy = true;
            }
            if(!_inSwap && _tradingOpen && from != uniswapV2Pair) {
                require(cooldown[from].buy < block.timestamp + (21 seconds));
                uint contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > 0) {
                    if(_useImpactFeeSetter) {
                        if(contractTokenBalance > (balanceOf(uniswapV2Pair) * _feeRate) / 100) {
                            contractTokenBalance = (balanceOf(uniswapV2Pair) * _feeRate) / 100;
                        }
                    }
                    swapTokensForEth(contractTokenBalance);
                }
                uint contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                isBuy = false;
            }
        }
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
        _tokenTransfer(from,to,amount,takeFee,isBuy);
    }



    function swapTokensForEth(uint 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(uint amount) private {
        _TaxAdd.transfer(amount);
    }
    
    function _tokenTransfer(address sender, address recipient, uint amount, bool takefee, bool buy) private {
        (uint fee) = _getFee(takefee, buy);
        _transferStandard(sender, recipient, amount, fee);
    }

    function _getFee(bool takefee, bool buy) private view returns (uint) {
        uint fee = 0;
        if(takefee) {
            if(buy) {
                fee = _buyFee;
            } else {
                fee = _sellFee;
            }
        }
        return fee;
    }

    function _transferStandard(address sender, address recipient, uint amount, uint fee) private {
        (uint transferAmount, uint team) = _getValues(amount, fee);
        _owned[sender] = _owned[sender] - amount;
        _owned[recipient] = _owned[recipient] + transferAmount; 
        _takeTeam(team);
        emit Transfer(sender, recipient, transferAmount);
    }

    function _getValues(uint amount, uint teamFee) private pure returns (uint, uint) {
        uint team = (amount * teamFee) / 100;
        uint transferAmount = amount - team;
        return (transferAmount, team);
    }

    function _takeTeam(uint team) private {
        _owned[address(this)] = _owned[address(this)] + team;
    }

    receive() external payable {}
    
    function addLiquidity() external onlyOwner() {
        require(!_tradingOpen);
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
    }

    function openTrading() external onlyOwner() {
        require(!_tradingOpen);
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        _tradingOpen = true;
        _launchedAt = block.timestamp;
        _maxBuyAmount = 50000000 * 10**9; 
        _maxHeldTokens = 100000000 * 10**9; 
    }

    function setMaxTxn(uint maxbuy, uint maxheld) external {
        require(_msgSender() == _TaxAdd);
        require(maxbuy > 50000000 * 10**9);
        require(maxheld > 100000000 * 10**9);

        _maxBuyAmount = maxbuy;
        _maxHeldTokens  = maxheld;

    }

    function manualswap() external {
        require(_msgSender() == _TaxAdd);
        uint contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _TaxAdd);
        uint contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setFeeRate(uint rate) external {
        require(_msgSender() == _TaxAdd);
        require(rate > 0);
        _feeRate = rate;
        emit FeeRateUpdated(_feeRate);
    }

    function setFees(uint buy, uint sell) external  {
        require(_msgSender() == _TaxAdd);
        require(buy < _buyFee && sell < _sellFee);
        _buyFee = buy;
        _sellFee = sell;
        emit FeesUpdated(_buyFee, _sellFee);
    }

    function toggleImpactFee(bool onoff) external {
        require(_msgSender() == _TaxAdd);
        _useImpactFeeSetter = onoff;
        emit ImpactFeeSetterUpdated(_useImpactFeeSetter);
    }

    function updateTaxAdd(address newAddress) external {
        require(_msgSender() == _TaxAdd);
        _TaxAdd = payable(newAddress);
        emit TaxAddUpdated(_TaxAdd);
    }

    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }

    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }


    function setBots(address[] memory bots_) external onlyOwner() {
        for (uint i = 0; i < bots_.length; i++) {
            if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) {
                _isBot[bots_[i]] = true;
            }
        }
    }
    function delBots(address[] memory bots_) external {
        require(_msgSender() == _TaxAdd);
        for (uint i = 0; i < bots_.length; i++) {
            _isBot[bots_[i]] = false;
        }
    }

    function isBot(address ad) public view returns (bool) {
        return _isBot[ad];
    }
    

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"TaxAdd","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":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"FeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_usefeesetter","type":"bool"}],"name":"ImpactFeeSetterUpdated","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":false,"internalType":"address","name":"_taxwallet","type":"address"}],"name":"TaxAddUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_TaxAdd","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHeldTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_useImpactFeeSetter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","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":[],"name":"amountInPool","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":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"view","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":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxbuy","type":"uint256"},{"internalType":"uint256","name":"maxheld","type":"uint256"}],"name":"setMaxTxn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"toggleImpactFee","outputs":[],"stateMutability":"nonpayable","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateTaxAdd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600a8055600f600b819055600c556010805462ffff00191690553480156200002b57600080fd5b5060405162001efd38038062001efd8339810160408190526200004e91620001f1565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600880546001600160a01b0319166001600160a01b038316179055678ac7230489e8000060026000620000bf3390565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160046000620000f9620001e260201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260049093528183208054851660019081179091559085168352908220805484168217905561dead9091527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd8054909216179055620001853390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef678ac7230489e80000604051620001d391815260200190565b60405180910390a35062000223565b6000546001600160a01b031690565b6000602082840312156200020457600080fd5b81516001600160a01b03811681146200021c57600080fd5b9392505050565b611cca80620002336000396000f3fe6080604052600436106101f25760003560e01c8063590f897e1161010d578063a3f4782f116100a0578063c9567bf91161006f578063c9567bf9146105af578063db92dbb6146105c4578063dcb0e0ad146105d9578063dd62ed3e146105f9578063e8078d941461063f57600080fd5b8063a3f4782f1461053a578063a9059cbb1461055a578063b515566a1461057a578063c3c8cd801461059a57600080fd5b806373f54a11116100dc57806373f54a11146104aa5780638da5cb5b146104ca57806394b8d8f2146104e857806395d89b411461050857600080fd5b8063590f897e1461044a5780636fc3eaec1461046057806370a0823114610475578063715018a61461049557600080fd5b806327f3a72a116101855780633bbac579116101545780633bbac579146103bb57806340b9a54b146103f457806345596e2e1461040a57806349bd5a5e1461042a57600080fd5b806327f3a72a14610349578063313ce5671461035e57806331c2d8471461038557806332d873d8146103a557600080fd5b8063104ce66d116101c1578063104ce66d146102c057806318160ddd146102f85780631940d0201461031357806323b872dd1461032957600080fd5b80630492f055146101fe57806306fdde0314610227578063095ea7b31461026e5780630b78f9c01461029e57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214600d5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b506102616040518060400160405280600e81526020016d4c69717569642046696e616e636560901b81525081565b60405161021e9190611851565b34801561027a57600080fd5b5061028e6102893660046118cb565b610654565b604051901515815260200161021e565b3480156102aa57600080fd5b506102be6102b93660046118f7565b61066a565b005b3480156102cc57600080fd5b506008546102e0906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b34801561030457600080fd5b50678ac7230489e80000610214565b34801561031f57600080fd5b50610214600e5481565b34801561033557600080fd5b5061028e610344366004611919565b6106ec565b34801561035557600080fd5b50610214610740565b34801561036a57600080fd5b50610373600981565b60405160ff909116815260200161021e565b34801561039157600080fd5b506102be6103a0366004611970565b610750565b3480156103b157600080fd5b50610214600f5481565b3480156103c757600080fd5b5061028e6103d6366004611a35565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561040057600080fd5b50610214600a5481565b34801561041657600080fd5b506102be610425366004611a52565b6107dc565b34801561043657600080fd5b506009546102e0906001600160a01b031681565b34801561045657600080fd5b50610214600b5481565b34801561046c57600080fd5b506102be610845565b34801561048157600080fd5b50610214610490366004611a35565b610872565b3480156104a157600080fd5b506102be61088d565b3480156104b657600080fd5b506102be6104c5366004611a35565b61090a565b3480156104d657600080fd5b506000546001600160a01b03166102e0565b3480156104f457600080fd5b5060105461028e9062010000900460ff1681565b34801561051457600080fd5b50610261604051806040016040528060068152602001652634b8a334b760d11b81525081565b34801561054657600080fd5b506102be6105553660046118f7565b610978565b34801561056657600080fd5b5061028e6105753660046118cb565b6109ca565b34801561058657600080fd5b506102be610595366004611970565b6109d7565b3480156105a657600080fd5b506102be610af0565b3480156105bb57600080fd5b506102be610b26565b3480156105d057600080fd5b50610214610ce6565b3480156105e557600080fd5b506102be6105f4366004611a79565b610cfe565b34801561060557600080fd5b50610214610614366004611a96565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561064b57600080fd5b506102be610d71565b6000610661338484610f39565b50600192915050565b6008546001600160a01b0316336001600160a01b03161461068a57600080fd5b600a548210801561069c5750600b5481105b6106a557600080fd5b600a829055600b81905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b60006106f984848461105d565b6001600160a01b0384166000908152600360209081526040808320338452909152812054610728908490611ae5565b9050610735853383610f39565b506001949350505050565b600061074b30610872565b905090565b6008546001600160a01b0316336001600160a01b03161461077057600080fd5b60005b81518110156107d85760006005600084848151811061079457610794611afc565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107d081611b12565b915050610773565b5050565b6008546001600160a01b0316336001600160a01b0316146107fc57600080fd5b6000811161080957600080fd5b600c8190556040518181527f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8906020015b60405180910390a150565b6008546001600160a01b0316336001600160a01b03161461086557600080fd5b4761086f8161151e565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b031633146108c05760405162461bcd60e51b81526004016108b790611b2d565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6008546001600160a01b0316336001600160a01b03161461092a57600080fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040519081527f5a9bcd8aea0cbf27de081c73815e420f65287b49bcf7a17ff691c61a2dd2d2d69060200161083a565b6008546001600160a01b0316336001600160a01b03161461099857600080fd5b66b1a2bc2ec5000082116109ab57600080fd5b67016345785d8a000081116109bf57600080fd5b600d91909155600e55565b600061066133848461105d565b6000546001600160a01b03163314610a015760405162461bcd60e51b81526004016108b790611b2d565b60005b81518110156107d85760095482516001600160a01b0390911690839083908110610a3057610a30611afc565b60200260200101516001600160a01b031614158015610a81575060075482516001600160a01b0390911690839083908110610a6d57610a6d611afc565b60200260200101516001600160a01b031614155b15610ade57600160056000848481518110610a9e57610a9e611afc565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610ae881611b12565b915050610a04565b6008546001600160a01b0316336001600160a01b031614610b1057600080fd5b6000610b1b30610872565b905061086f81611558565b6000546001600160a01b03163314610b505760405162461bcd60e51b81526004016108b790611b2d565b60105460ff1615610b6057600080fd5b600754610b809030906001600160a01b0316678ac7230489e80000610f39565b6007546001600160a01b031663f305d7194730610b9c81610872565b600080610bb16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c19573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c3e9190611b62565b505060095460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb9190611b90565b506010805460ff1916600117905542600f5566b1a2bc2ec50000600d5567016345785d8a0000600e55565b60095460009061074b906001600160a01b0316610872565b6008546001600160a01b0316336001600160a01b031614610d1e57600080fd5b6010805462ff00001916620100008315158102919091179182905560405160ff9190920416151581527ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb9060200161083a565b6000546001600160a01b03163314610d9b5760405162461bcd60e51b81526004016108b790611b2d565b60105460ff1615610dab57600080fd5b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015610e10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e349190611bad565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea59190611bad565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610ef2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f169190611bad565b600980546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b038316610f9b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108b7565b6001600160a01b038216610ffc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108b7565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460ff1615801561109f57506001600160a01b03821660009081526005602052604090205460ff16155b80156110bb57503360009081526005602052604090205460ff16155b6110c457600080fd5b6001600160a01b0383166111285760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108b7565b6001600160a01b03821661118a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108b7565b600081116111ec5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108b7565b600080546001600160a01b0385811691161480159061121957506000546001600160a01b03848116911614155b156114bf576009546001600160a01b03858116911614801561124957506007546001600160a01b03848116911614155b801561126e57506001600160a01b03831660009081526004602052604090205460ff16155b156113aa5760105460ff166112c55760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016108b7565b600f544214156112f3576001600160a01b0383166000908152600560205260409020805460ff191660011790555b600d5482111561130257600080fd5b600e5461130e84610872565b6113189084611bca565b111561132357600080fd5b6001600160a01b03831660009081526006602052604090206001015460ff1661138b576040805180820182526000808252600160208084018281526001600160a01b03891684526006909152939091209151825591519101805460ff19169115159190911790555b506001600160a01b038216600090815260066020526040902042905560015b601054610100900460ff161580156113c4575060105460ff165b80156113de57506009546001600160a01b03858116911614155b156114bf576113ee426015611bca565b6001600160a01b0385166000908152600660205260409020541061141157600080fd5b600061141c30610872565b905080156114a85760105462010000900460ff161561149f57600c5460095460649190611451906001600160a01b0316610872565b61145b9190611be2565b6114659190611c01565b81111561149f57600c5460095460649190611488906001600160a01b0316610872565b6114929190611be2565b61149c9190611c01565b90505b6114a881611558565b4780156114b8576114b84761151e565b6000925050505b6001600160a01b03841660009081526004602052604090205460019060ff168061150157506001600160a01b03841660009081526004602052604090205460ff165b1561150a575060005b61151785858584866116cc565b5050505050565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107d8573d6000803e3d6000fd5b6010805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061159c5761159c611afc565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116199190611bad565b8160018151811061162c5761162c611afc565b6001600160a01b0392831660209182029290920101526007546116529130911684610f39565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac9479061168b908590600090869030904290600401611c23565b600060405180830381600087803b1580156116a557600080fd5b505af11580156116b9573d6000803e3d6000fd5b50506010805461ff001916905550505050565b60006116d883836116ee565b90506116e686868684611712565b505050505050565b600080831561170b5782156117065750600a5461170b565b50600b545b9392505050565b60008061171f84846117ef565b6001600160a01b0388166000908152600260205260409020549193509150611748908590611ae5565b6001600160a01b038088166000908152600260205260408082209390935590871681522054611778908390611bca565b6001600160a01b03861660009081526002602052604090205561179a81611823565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117df91815260200190565b60405180910390a3505050505050565b6000808060646117ff8587611be2565b6118099190611c01565b905060006118178287611ae5565b96919550909350505050565b3060009081526002602052604090205461183e908290611bca565b3060009081526002602052604090205550565b600060208083528351808285015260005b8181101561187e57858101830151858201604001528201611862565b81811115611890576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461086f57600080fd5b80356118c6816118a6565b919050565b600080604083850312156118de57600080fd5b82356118e9816118a6565b946020939093013593505050565b6000806040838503121561190a57600080fd5b50508035926020909101359150565b60008060006060848603121561192e57600080fd5b8335611939816118a6565b92506020840135611949816118a6565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561198357600080fd5b823567ffffffffffffffff8082111561199b57600080fd5b818501915085601f8301126119af57600080fd5b8135818111156119c1576119c161195a565b8060051b604051601f19603f830116810181811085821117156119e6576119e661195a565b604052918252848201925083810185019188831115611a0457600080fd5b938501935b82851015611a2957611a1a856118bb565b84529385019392850192611a09565b98975050505050505050565b600060208284031215611a4757600080fd5b813561170b816118a6565b600060208284031215611a6457600080fd5b5035919050565b801515811461086f57600080fd5b600060208284031215611a8b57600080fd5b813561170b81611a6b565b60008060408385031215611aa957600080fd5b8235611ab4816118a6565b91506020830135611ac4816118a6565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611af757611af7611acf565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611b2657611b26611acf565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080600060608486031215611b7757600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611ba257600080fd5b815161170b81611a6b565b600060208284031215611bbf57600080fd5b815161170b816118a6565b60008219821115611bdd57611bdd611acf565b500190565b6000816000190483118215151615611bfc57611bfc611acf565b500290565b600082611c1e57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c735784516001600160a01b031683529383019391830191600101611c4e565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a5b805d4c18a1f67e9935f7b1c471a190f0c2af7b18682973126bc4452fb43ce64736f6c634300080c003300000000000000000000000081b4a3d209e91b7ba62a9bcec130f37389786058

Deployed Bytecode

0x6080604052600436106101f25760003560e01c8063590f897e1161010d578063a3f4782f116100a0578063c9567bf91161006f578063c9567bf9146105af578063db92dbb6146105c4578063dcb0e0ad146105d9578063dd62ed3e146105f9578063e8078d941461063f57600080fd5b8063a3f4782f1461053a578063a9059cbb1461055a578063b515566a1461057a578063c3c8cd801461059a57600080fd5b806373f54a11116100dc57806373f54a11146104aa5780638da5cb5b146104ca57806394b8d8f2146104e857806395d89b411461050857600080fd5b8063590f897e1461044a5780636fc3eaec1461046057806370a0823114610475578063715018a61461049557600080fd5b806327f3a72a116101855780633bbac579116101545780633bbac579146103bb57806340b9a54b146103f457806345596e2e1461040a57806349bd5a5e1461042a57600080fd5b806327f3a72a14610349578063313ce5671461035e57806331c2d8471461038557806332d873d8146103a557600080fd5b8063104ce66d116101c1578063104ce66d146102c057806318160ddd146102f85780631940d0201461031357806323b872dd1461032957600080fd5b80630492f055146101fe57806306fdde0314610227578063095ea7b31461026e5780630b78f9c01461029e57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214600d5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b506102616040518060400160405280600e81526020016d4c69717569642046696e616e636560901b81525081565b60405161021e9190611851565b34801561027a57600080fd5b5061028e6102893660046118cb565b610654565b604051901515815260200161021e565b3480156102aa57600080fd5b506102be6102b93660046118f7565b61066a565b005b3480156102cc57600080fd5b506008546102e0906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b34801561030457600080fd5b50678ac7230489e80000610214565b34801561031f57600080fd5b50610214600e5481565b34801561033557600080fd5b5061028e610344366004611919565b6106ec565b34801561035557600080fd5b50610214610740565b34801561036a57600080fd5b50610373600981565b60405160ff909116815260200161021e565b34801561039157600080fd5b506102be6103a0366004611970565b610750565b3480156103b157600080fd5b50610214600f5481565b3480156103c757600080fd5b5061028e6103d6366004611a35565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561040057600080fd5b50610214600a5481565b34801561041657600080fd5b506102be610425366004611a52565b6107dc565b34801561043657600080fd5b506009546102e0906001600160a01b031681565b34801561045657600080fd5b50610214600b5481565b34801561046c57600080fd5b506102be610845565b34801561048157600080fd5b50610214610490366004611a35565b610872565b3480156104a157600080fd5b506102be61088d565b3480156104b657600080fd5b506102be6104c5366004611a35565b61090a565b3480156104d657600080fd5b506000546001600160a01b03166102e0565b3480156104f457600080fd5b5060105461028e9062010000900460ff1681565b34801561051457600080fd5b50610261604051806040016040528060068152602001652634b8a334b760d11b81525081565b34801561054657600080fd5b506102be6105553660046118f7565b610978565b34801561056657600080fd5b5061028e6105753660046118cb565b6109ca565b34801561058657600080fd5b506102be610595366004611970565b6109d7565b3480156105a657600080fd5b506102be610af0565b3480156105bb57600080fd5b506102be610b26565b3480156105d057600080fd5b50610214610ce6565b3480156105e557600080fd5b506102be6105f4366004611a79565b610cfe565b34801561060557600080fd5b50610214610614366004611a96565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561064b57600080fd5b506102be610d71565b6000610661338484610f39565b50600192915050565b6008546001600160a01b0316336001600160a01b03161461068a57600080fd5b600a548210801561069c5750600b5481105b6106a557600080fd5b600a829055600b81905560408051838152602081018390527f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1910160405180910390a15050565b60006106f984848461105d565b6001600160a01b0384166000908152600360209081526040808320338452909152812054610728908490611ae5565b9050610735853383610f39565b506001949350505050565b600061074b30610872565b905090565b6008546001600160a01b0316336001600160a01b03161461077057600080fd5b60005b81518110156107d85760006005600084848151811061079457610794611afc565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107d081611b12565b915050610773565b5050565b6008546001600160a01b0316336001600160a01b0316146107fc57600080fd5b6000811161080957600080fd5b600c8190556040518181527f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8906020015b60405180910390a150565b6008546001600160a01b0316336001600160a01b03161461086557600080fd5b4761086f8161151e565b50565b6001600160a01b031660009081526002602052604090205490565b6000546001600160a01b031633146108c05760405162461bcd60e51b81526004016108b790611b2d565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6008546001600160a01b0316336001600160a01b03161461092a57600080fd5b600880546001600160a01b0319166001600160a01b0383169081179091556040519081527f5a9bcd8aea0cbf27de081c73815e420f65287b49bcf7a17ff691c61a2dd2d2d69060200161083a565b6008546001600160a01b0316336001600160a01b03161461099857600080fd5b66b1a2bc2ec5000082116109ab57600080fd5b67016345785d8a000081116109bf57600080fd5b600d91909155600e55565b600061066133848461105d565b6000546001600160a01b03163314610a015760405162461bcd60e51b81526004016108b790611b2d565b60005b81518110156107d85760095482516001600160a01b0390911690839083908110610a3057610a30611afc565b60200260200101516001600160a01b031614158015610a81575060075482516001600160a01b0390911690839083908110610a6d57610a6d611afc565b60200260200101516001600160a01b031614155b15610ade57600160056000848481518110610a9e57610a9e611afc565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80610ae881611b12565b915050610a04565b6008546001600160a01b0316336001600160a01b031614610b1057600080fd5b6000610b1b30610872565b905061086f81611558565b6000546001600160a01b03163314610b505760405162461bcd60e51b81526004016108b790611b2d565b60105460ff1615610b6057600080fd5b600754610b809030906001600160a01b0316678ac7230489e80000610f39565b6007546001600160a01b031663f305d7194730610b9c81610872565b600080610bb16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c19573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c3e9190611b62565b505060095460075460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb9190611b90565b506010805460ff1916600117905542600f5566b1a2bc2ec50000600d5567016345785d8a0000600e55565b60095460009061074b906001600160a01b0316610872565b6008546001600160a01b0316336001600160a01b031614610d1e57600080fd5b6010805462ff00001916620100008315158102919091179182905560405160ff9190920416151581527ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb9060200161083a565b6000546001600160a01b03163314610d9b5760405162461bcd60e51b81526004016108b790611b2d565b60105460ff1615610dab57600080fd5b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015610e10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e349190611bad565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea59190611bad565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610ef2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f169190611bad565b600980546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b038316610f9b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108b7565b6001600160a01b038216610ffc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108b7565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460ff1615801561109f57506001600160a01b03821660009081526005602052604090205460ff16155b80156110bb57503360009081526005602052604090205460ff16155b6110c457600080fd5b6001600160a01b0383166111285760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108b7565b6001600160a01b03821661118a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108b7565b600081116111ec5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108b7565b600080546001600160a01b0385811691161480159061121957506000546001600160a01b03848116911614155b156114bf576009546001600160a01b03858116911614801561124957506007546001600160a01b03848116911614155b801561126e57506001600160a01b03831660009081526004602052604090205460ff16155b156113aa5760105460ff166112c55760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016108b7565b600f544214156112f3576001600160a01b0383166000908152600560205260409020805460ff191660011790555b600d5482111561130257600080fd5b600e5461130e84610872565b6113189084611bca565b111561132357600080fd5b6001600160a01b03831660009081526006602052604090206001015460ff1661138b576040805180820182526000808252600160208084018281526001600160a01b03891684526006909152939091209151825591519101805460ff19169115159190911790555b506001600160a01b038216600090815260066020526040902042905560015b601054610100900460ff161580156113c4575060105460ff165b80156113de57506009546001600160a01b03858116911614155b156114bf576113ee426015611bca565b6001600160a01b0385166000908152600660205260409020541061141157600080fd5b600061141c30610872565b905080156114a85760105462010000900460ff161561149f57600c5460095460649190611451906001600160a01b0316610872565b61145b9190611be2565b6114659190611c01565b81111561149f57600c5460095460649190611488906001600160a01b0316610872565b6114929190611be2565b61149c9190611c01565b90505b6114a881611558565b4780156114b8576114b84761151e565b6000925050505b6001600160a01b03841660009081526004602052604090205460019060ff168061150157506001600160a01b03841660009081526004602052604090205460ff165b1561150a575060005b61151785858584866116cc565b5050505050565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107d8573d6000803e3d6000fd5b6010805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061159c5761159c611afc565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116199190611bad565b8160018151811061162c5761162c611afc565b6001600160a01b0392831660209182029290920101526007546116529130911684610f39565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac9479061168b908590600090869030904290600401611c23565b600060405180830381600087803b1580156116a557600080fd5b505af11580156116b9573d6000803e3d6000fd5b50506010805461ff001916905550505050565b60006116d883836116ee565b90506116e686868684611712565b505050505050565b600080831561170b5782156117065750600a5461170b565b50600b545b9392505050565b60008061171f84846117ef565b6001600160a01b0388166000908152600260205260409020549193509150611748908590611ae5565b6001600160a01b038088166000908152600260205260408082209390935590871681522054611778908390611bca565b6001600160a01b03861660009081526002602052604090205561179a81611823565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117df91815260200190565b60405180910390a3505050505050565b6000808060646117ff8587611be2565b6118099190611c01565b905060006118178287611ae5565b96919550909350505050565b3060009081526002602052604090205461183e908290611bca565b3060009081526002602052604090205550565b600060208083528351808285015260005b8181101561187e57858101830151858201604001528201611862565b81811115611890576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461086f57600080fd5b80356118c6816118a6565b919050565b600080604083850312156118de57600080fd5b82356118e9816118a6565b946020939093013593505050565b6000806040838503121561190a57600080fd5b50508035926020909101359150565b60008060006060848603121561192e57600080fd5b8335611939816118a6565b92506020840135611949816118a6565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561198357600080fd5b823567ffffffffffffffff8082111561199b57600080fd5b818501915085601f8301126119af57600080fd5b8135818111156119c1576119c161195a565b8060051b604051601f19603f830116810181811085821117156119e6576119e661195a565b604052918252848201925083810185019188831115611a0457600080fd5b938501935b82851015611a2957611a1a856118bb565b84529385019392850192611a09565b98975050505050505050565b600060208284031215611a4757600080fd5b813561170b816118a6565b600060208284031215611a6457600080fd5b5035919050565b801515811461086f57600080fd5b600060208284031215611a8b57600080fd5b813561170b81611a6b565b60008060408385031215611aa957600080fd5b8235611ab4816118a6565b91506020830135611ac4816118a6565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015611af757611af7611acf565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611b2657611b26611acf565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080600060608486031215611b7757600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611ba257600080fd5b815161170b81611a6b565b600060208284031215611bbf57600080fd5b815161170b816118a6565b60008219821115611bdd57611bdd611acf565b500190565b6000816000190483118215151615611bfc57611bfc611acf565b500290565b600082611c1e57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c735784516001600160a01b031683529383019391830191600101611c4e565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220a5b805d4c18a1f67e9935f7b1c471a190f0c2af7b18682973126bc4452fb43ce64736f6c634300080c0033

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

00000000000000000000000081b4a3d209e91b7ba62a9bcec130f37389786058

-----Decoded View---------------
Arg [0] : TaxAdd (address): 0x81B4a3D209e91b7bA62A9BceC130F37389786058

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


Deployed Bytecode Sourcemap

2437:10376:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3197:25;;;;;;;;;;;;;;;;;;;160::1;;;148:2;133:18;3197:25:0;;;;;;;;2821:53;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2821:53:0;;;;;;;;;;;;:::i;4750:158::-;;;;;;;;;;-1:-1:-1;4750:158:0;;;;;:::i;:::-;;:::i;:::-;;;1558:14:1;;1551:22;1533:41;;1521:2;1506:18;4750:158:0;1393:187:1;11357:247:0;;;;;;;;;;-1:-1:-1;11357:247:0;;;;;:::i;:::-;;:::i;:::-;;3029:30;;;;;;;;;;-1:-1:-1;3029:30:0;;;;-1:-1:-1;;;;;3029:30:0;;;;;;-1:-1:-1;;;;;2018:32:1;;;2000:51;;1988:2;1973:18;3029:30:0;1838:219:1;4497:97:0;;;;;;;;;;-1:-1:-1;2800:12:0;4497:97;;3229:26;;;;;;;;;;;;;;;;4916:308;;;;;;;;;;-1:-1:-1;4916:308:0;;;;;:::i;:::-;;:::i;12002:100::-;;;;;;;;;;;;;:::i;2935:34::-;;;;;;;;;;;;2968:1;2935:34;;;;;2695:4:1;2683:17;;;2665:36;;2653:2;2638:18;2935:34:0;2523:184:1;12502:202:0;;;;;;;;;;-1:-1:-1;12502:202:0;;;;;:::i;:::-;;:::i;3262:23::-;;;;;;;;;;;;;;;;12712:90;;;;;;;;;;-1:-1:-1;12712:90:0;;;;;:::i;:::-;-1:-1:-1;;;;;12784:10:0;12760:4;12784:10;;;:6;:10;;;;;;;;;12712:90;3101:24;;;;;;;;;;;;;;;;11164:185;;;;;;;;;;-1:-1:-1;11164:185:0;;;;;:::i;:::-;;:::i;3066:28::-;;;;;;;;;;-1:-1:-1;3066:28:0;;;;-1:-1:-1;;;;;3066:28:0;;;3132:25;;;;;;;;;;;;;;;;10973:183;;;;;;;;;;;;;:::i;4202:113::-;;;;;;;;;;-1:-1:-1;4202:113:0;;;;;:::i;:::-;;:::i;1518:148::-;;;;;;;;;;;;;:::i;11814:180::-;;;;;;;;;;-1:-1:-1;11814:180:0;;;;;:::i;:::-;;:::i;1304:79::-;;;;;;;;;;-1:-1:-1;1342:7:0;1369:6;-1:-1:-1;;;;;1369:6:0;1304:79;;3359:39;;;;;;;;;;-1:-1:-1;3359:39:0;;;;;;;;;;;2881:47;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2881:47:0;;;;;10498:271;;;;;;;;;;-1:-1:-1;10498:271:0;;;;;:::i;:::-;;:::i;4321:164::-;;;;;;;;;;-1:-1:-1;4321:164:0;;;;;:::i;:::-;;:::i;12221:275::-;;;;;;;;;;-1:-1:-1;12221:275:0;;;;;:::i;:::-;;:::i;10777:184::-;;;;;;;;;;;;;:::i;9949:541::-;;;;;;;;;;;;;:::i;12110:101::-;;;;;;;;;;;;;:::i;11612:194::-;;;;;;;;;;-1:-1:-1;11612:194:0;;;;;:::i;:::-;;:::i;4602:140::-;;;;;;;;;;-1:-1:-1;4602:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;4707:18:0;;;4683:4;4707:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4602:140;9576:365;;;;;;;;;;;;;:::i;4750:158::-;4822:4;4839:39;247:10;4862:7;4871:6;4839:8;:39::i;:::-;-1:-1:-1;4896:4:0;4750:158;;;;:::o;11357:247::-;11440:7;;-1:-1:-1;;;;;11440:7:0;247:10;-1:-1:-1;;;;;11424:23:0;;11416:32;;;;;;11473:7;;11467:3;:13;:32;;;;;11491:8;;11484:4;:15;11467:32;11459:41;;;;;;11511:7;:13;;;11535:8;:15;;;11566:30;;;5551:25:1;;;5607:2;5592:18;;5585:34;;;11566:30:0;;5524:18:1;11566:30:0;;;;;;;11357:247;;:::o;4916:308::-;5011:4;5028:36;5038:6;5046:9;5057:6;5028:9;:36::i;:::-;-1:-1:-1;;;;;5096:19:0;;5075:18;5096:19;;;:11;:19;;;;;;;;247:10;5096:33;;;;;;;;:42;;5132:6;;5096:42;:::i;:::-;5075:63;-1:-1:-1;5149:45:0;5158:6;247:10;5180:13;5149:8;:45::i;:::-;-1:-1:-1;5212:4:0;;4916:308;-1:-1:-1;;;;4916:308:0:o;12002:100::-;12046:4;12070:24;12088:4;12070:9;:24::i;:::-;12063:31;;12002:100;:::o;12502:202::-;12587:7;;-1:-1:-1;;;;;12587:7:0;247:10;-1:-1:-1;;;;;12571:23:0;;12563:32;;;;;;12611:6;12606:91;12627:5;:12;12623:1;:16;12606:91;;;12680:5;12661:6;:16;12668:5;12674:1;12668:8;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;12661:16:0;;;;;;;;;;;-1:-1:-1;12661:16:0;:24;;-1:-1:-1;;12661:24:0;;;;;;;;;;12641:3;;;;:::i;:::-;;;;12606:91;;;;12502:202;:::o;11164:185::-;11239:7;;-1:-1:-1;;;;;11239:7:0;247:10;-1:-1:-1;;;;;11223:23:0;;11215:32;;;;;;11273:1;11266:4;:8;11258:17;;;;;;11286:8;:15;;;11317:24;;160:25:1;;;11317:24:0;;148:2:1;133:18;11317:24:0;;;;;;;;11164:185;:::o;10973:183::-;11039:7;;-1:-1:-1;;;;;11039:7:0;247:10;-1:-1:-1;;;;;11023:23:0;;11015:32;;;;;;11084:21;11116:32;11084:21;11116:12;:32::i;:::-;11004:152;10973:183::o;4202:113::-;-1:-1:-1;;;;;4292:15:0;4268:4;4292:15;;;:6;:15;;;;;;;4202:113::o;1518:148::-;1431:6;;-1:-1:-1;;;;;1431:6:0;247:10;1431:22;1423:67;;;;-1:-1:-1;;;1423:67:0;;;;;;;:::i;:::-;;;;;;;;;1625:1:::1;1609:6:::0;;1588:40:::1;::::0;-1:-1:-1;;;;;1609:6:0;;::::1;::::0;1588:40:::1;::::0;1625:1;;1588:40:::1;1656:1;1639:19:::0;;-1:-1:-1;;;;;;1639:19:0::1;::::0;;1518:148::o;11814:180::-;11900:7;;-1:-1:-1;;;;;11900:7:0;247:10;-1:-1:-1;;;;;11884:23:0;;11876:32;;;;;;11919:7;:29;;-1:-1:-1;;;;;;11919:29:0;-1:-1:-1;;;;;11919:29:0;;;;;;;;11964:22;;2000:51:1;;;11964:22:0;;1988:2:1;1973:18;11964:22:0;1838:219:1;10498:271:0;10588:7;;-1:-1:-1;;;;;10588:7:0;247:10;-1:-1:-1;;;;;10572:23:0;;10564:32;;;;;;10624:16;10615:6;:25;10607:34;;;;;;10670:17;10660:7;:27;10652:36;;;;;;10701:13;:22;;;;10734:14;:25;10498:271::o;4321:164::-;4396:4;4413:42;247:10;4437:9;4448:6;4413:9;:42::i;12221:275::-;1431:6;;-1:-1:-1;;;;;1431:6:0;247:10;1431:22;1423:67;;;;-1:-1:-1;;;1423:67:0;;;;;;;:::i;:::-;12299:6:::1;12294:195;12315:5;:12;12311:1;:16;12294:195;;;12365:13;::::0;12353:8;;-1:-1:-1;;;;;12365:13:0;;::::1;::::0;12353:5;;12359:1;;12353:8;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12353:25:0::1;;;:65;;;;-1:-1:-1::0;12402:15:0::1;::::0;12382:8;;-1:-1:-1;;;;;12402:15:0;;::::1;::::0;12382:5;;12388:1;;12382:8;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12382:36:0::1;;;12353:65;12349:129;;;12458:4;12439:6;:16;12446:5;12452:1;12446:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12439:16:0::1;-1:-1:-1::0;;;;;12439:16:0::1;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;12349:129;12329:3:::0;::::1;::::0;::::1;:::i;:::-;;;;12294:195;;10777:184:::0;10843:7;;-1:-1:-1;;;;;10843:7:0;247:10;-1:-1:-1;;;;;10827:23:0;;10819:32;;;;;;10862:20;10885:24;10903:4;10885:9;:24::i;:::-;10862:47;;10920:33;10937:15;10920:16;:33::i;9949:541::-;1431:6;;-1:-1:-1;;;;;1431:6:0;247:10;1431:22;1423:67;;;;-1:-1:-1;;;1423:67:0;;;;;;;:::i;:::-;10013:12:::1;::::0;::::1;;10012:13;10004:22;;;::::0;::::1;;10069:15;::::0;10037:63:::1;::::0;10054:4:::1;::::0;-1:-1:-1;;;;;10069:15:0::1;2800:12;10037:8;:63::i;:::-;10111:15;::::0;-1:-1:-1;;;;;10111:15:0::1;:31;10150:21;10181:4;10187:24;10181:4:::0;10187:9:::1;:24::i;:::-;10212:1;10214::::0;10216:7:::1;1342::::0;1369:6;-1:-1:-1;;;;;1369:6:0;;1304:79;10216:7:::1;10111:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10111:129:0;;;-1:-1:-1;;;;;7100:15:1;;;10111:129:0::1;::::0;::::1;7082:34:1::0;7132:18;;;7125:34;;;;7175:18;;;7168:34;;;;7218:18;;;7211:34;7282:15;;;7261:19;;;7254:44;10224:15:0::1;7314:19:1::0;;;7307:35;7016:19;;10111:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10258:13:0::1;::::0;10289:15:::1;::::0;10251:71:::1;::::0;-1:-1:-1;;;10251:71:0;;-1:-1:-1;;;;;10289:15:0;;::::1;10251:71;::::0;::::1;7838:51:1::0;-1:-1:-1;;7905:18:1;;;7898:34;10258:13:0;::::1;::::0;-1:-1:-1;10251:29:0::1;::::0;7811:18:1;;10251:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10333:12:0::1;:19:::0;;-1:-1:-1;;10333:19:0::1;10348:4;10333:19;::::0;;10377:15:::1;10363:11;:29:::0;10419:16:::1;10403:13;:32:::0;10464:17:::1;10447:14;:34:::0;9949:541::o;12110:101::-;12189:13;;12155:4;;12179:24;;-1:-1:-1;;;;;12189:13:0;12179:9;:24::i;11612:194::-;11693:7;;-1:-1:-1;;;;;11693:7:0;247:10;-1:-1:-1;;;;;11677:23:0;;11669:32;;;;;;11712:19;:27;;-1:-1:-1;;11712:27:0;;;;;;;;;;;;;;;11755:43;;11712:27;11778:19;;;;;1558:14:1;1551:22;1533:41;;11755:43:0;;1521:2:1;1506:18;11755:43:0;1393:187:1;9576:365:0;1431:6;;-1:-1:-1;;;;;1431:6:0;247:10;1431:22;1423:67;;;;-1:-1:-1;;;1423:67:0;;;;;;;:::i;:::-;9641:12:::1;::::0;::::1;;9640:13;9632:22;;;::::0;::::1;;9776:15;:34:::0;;-1:-1:-1;;;;;;9776:34:0::1;9722:42;9776:34:::0;;::::1;::::0;;;9855:26:::1;::::0;;-1:-1:-1;;;9855:26:0;;;;9722:42;;9855:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;9722:42;9855:26:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9837:56:0::1;;9902:4;9909:16;-1:-1:-1::0;;;;;9909:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9837:96;::::0;-1:-1:-1;;;;;;9837:96:0::1;::::0;;;;;;-1:-1:-1;;;;;8679:15:1;;;9837:96:0::1;::::0;::::1;8661:34:1::0;8731:15;;8711:18;;;8704:43;8596:18;;9837:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9821:13;:112:::0;;-1:-1:-1;;;;;;9821:112:0::1;-1:-1:-1::0;;;;;9821:112:0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;9576:365:0:o;5232:332::-;-1:-1:-1;;;;;5322:19:0;;5314:68;;;;-1:-1:-1;;;5314:68:0;;8960:2:1;5314:68:0;;;8942:21:1;8999:2;8979:18;;;8972:30;9038:34;9018:18;;;9011:62;-1:-1:-1;;;9089:18:1;;;9082:34;9133:19;;5314:68:0;8758:400:1;5314:68:0;-1:-1:-1;;;;;5401:21:0;;5393:68;;;;-1:-1:-1;;;5393:68:0;;9365:2:1;5393:68:0;;;9347:21:1;9404:2;9384:18;;;9377:30;9443:34;9423:18;;;9416:62;-1:-1:-1;;;9494:18:1;;;9487:32;9536:19;;5393:68:0;9163:398:1;5393:68:0;-1:-1:-1;;;;;5472:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;5524:32;;160:25:1;;;5524:32:0;;133:18:1;5524:32:0;;;;;;;5232:332;;;:::o;5572:2117::-;-1:-1:-1;;;;;5658:12:0;;;;;;:6;:12;;;;;;;;5657:13;:28;;;;-1:-1:-1;;;;;;5675:10:0;;;;;;:6;:10;;;;;;;;5674:11;5657:28;:51;;;;-1:-1:-1;5697:10:0;5690:18;;;;:6;:18;;;;;;;;5689:19;5657:51;5649:60;;;;;;-1:-1:-1;;;;;5728:18:0;;5720:68;;;;-1:-1:-1;;;5720:68:0;;9768:2:1;5720:68:0;;;9750:21:1;9807:2;9787:18;;;9780:30;9846:34;9826:18;;;9819:62;-1:-1:-1;;;9897:18:1;;;9890:35;9942:19;;5720:68:0;9566:401:1;5720:68:0;-1:-1:-1;;;;;5807:16:0;;5799:64;;;;-1:-1:-1;;;5799:64:0;;10174:2:1;5799:64:0;;;10156:21:1;10213:2;10193:18;;;10186:30;10252:34;10232:18;;;10225:62;-1:-1:-1;;;10303:18:1;;;10296:33;10346:19;;5799:64:0;9972:399:1;5799:64:0;5891:1;5882:6;:10;5874:64;;;;-1:-1:-1;;;5874:64:0;;10578:2:1;5874:64:0;;;10560:21:1;10617:2;10597:18;;;10590:30;10656:34;10636:18;;;10629:62;-1:-1:-1;;;10707:18:1;;;10700:39;10756:19;;5874:64:0;10376:405:1;5874:64:0;5949:10;1369:6;;-1:-1:-1;;;;;5981:15:0;;;1369:6;;5981:15;;;;:32;;-1:-1:-1;1342:7:0;1369:6;-1:-1:-1;;;;;6000:13:0;;;1369:6;;6000:13;;5981:32;5978:1513;;;6041:13;;-1:-1:-1;;;;;6033:21:0;;;6041:13;;6033:21;:55;;;;-1:-1:-1;6072:15:0;;-1:-1:-1;;;;;6058:30:0;;;6072:15;;6058:30;;6033:55;:82;;;;-1:-1:-1;;;;;;6093:22:0;;;;;;:18;:22;;;;;;;;6092:23;6033:82;6030:575;;;6144:12;;;;6136:49;;;;-1:-1:-1;;;6136:49:0;;10988:2:1;6136:49:0;;;10970:21:1;11027:2;11007:18;;;11000:30;11066:26;11046:18;;;11039:54;11110:18;;6136:49:0;10786:348:1;6136:49:0;6227:11;;6208:15;:30;6204:53;;;-1:-1:-1;;;;;6240:10:0;;;;;;:6;:10;;;;;:17;;-1:-1:-1;;6240:17:0;6253:4;6240:17;;;6204:53;6294:13;;6284:6;:23;;6276:32;;;;;;6372:14;;6345:22;6363:2;6345:9;:22::i;:::-;6336:31;;:6;:31;:::i;:::-;6335:51;;6327:60;;;;;;-1:-1:-1;;;;;6413:12:0;;;;;;:8;:12;;;;;:19;;;;;6409:95;;6472:12;;;;;;;;-1:-1:-1;6472:12:0;;;6479:4;6472:12;;;;;;;-1:-1:-1;;;;;6457:12:0;;;;:8;:12;;;;;;;:27;;;;;;;;;;-1:-1:-1;;6457:27:0;;;;;;;;;;6409:95;-1:-1:-1;;;;;;6524:12:0;;;;;;:8;:12;;;;;6543:15;6524:34;;6585:4;6030:575;6623:7;;;;;;;6622:8;:24;;;;-1:-1:-1;6634:12:0;;;;6622:24;:49;;;;-1:-1:-1;6658:13:0;;-1:-1:-1;;;;;6650:21:0;;;6658:13;;6650:21;;6622:49;6619:861;;;6721:30;:15;6740:10;6721:30;:::i;:::-;-1:-1:-1;;;;;6700:14:0;;;;;;:8;:14;;;;;:18;:51;6692:60;;;;;;6771:25;6799:24;6817:4;6799:9;:24::i;:::-;6771:52;-1:-1:-1;6845:24:0;;6842:402;;6897:19;;;;;;;6894:270;;;6999:8;;6982:13;;7011:3;;6999:8;6972:24;;-1:-1:-1;;;;;6982:13:0;6972:9;:24::i;:::-;:35;;;;:::i;:::-;6971:43;;;;:::i;:::-;6948:20;:66;6945:196;;;7098:8;;7081:13;;7110:3;;7098:8;7071:24;;-1:-1:-1;;;;;7081:13:0;7071:9;:24::i;:::-;:35;;;;:::i;:::-;7070:43;;;;:::i;:::-;7047:66;;6945:196;7186:38;7203:20;7186:16;:38::i;:::-;7288:21;7331:22;;7328:105;;7378:35;7391:21;7378:12;:35::i;:::-;7459:5;7451:13;;6673:807;;6619:861;-1:-1:-1;;;;;7534:24:0;;7501:12;7534:24;;;:18;:24;;;;;;7516:4;;7534:24;;;:50;;-1:-1:-1;;;;;;7562:22:0;;;;;;:18;:22;;;;;;;;7534:50;7531:96;;;-1:-1:-1;7610:5:0;7531:96;7637:44;7652:4;7657:2;7660:6;7667:7;7675:5;7637:14;:44::i;:::-;5638:2051;;5572:2117;;;:::o;8197:86::-;8251:7;;:24;;-1:-1:-1;;;;;8251:7:0;;;;:24;;;;;8268:6;;8251:7;:24;:7;:24;8268:6;8251:7;:24;;;;;;;;;;;;;;;;;;;7701:480;3752:7;:14;;-1:-1:-1;;3752:14:0;;;;;7800:16:::1;::::0;;7814:1:::1;7800:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7800:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7800:16:0::1;7776:40;;7845:4;7827;7832:1;7827:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7827:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7871:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;7871:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;7827:7;;7871:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7861:4;7866:1;7861:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7861:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;7936:15:::1;::::0;7904:62:::1;::::0;7921:4:::1;::::0;7936:15:::1;7954:11:::0;7904:8:::1;:62::i;:::-;7977:15;::::0;:196:::1;::::0;-1:-1:-1;;;7977:196:0;;-1:-1:-1;;;;;7977:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;8058:11;;7977:15:::1;::::0;8100:4;;8127::::1;::::0;8147:15:::1;::::0;7977:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3789:7:0;:15;;-1:-1:-1;;3789:15:0;;;-1:-1:-1;;;;7701:480:0:o;8295:217::-;8411:8;8423:21;8431:7;8440:3;8423:7;:21::i;:::-;8410:34;;8455:49;8473:6;8481:9;8492:6;8500:3;8455:17;:49::i;:::-;8399:113;8295:217;;;;;:::o;8520:280::-;8583:4;;8623:149;;;;8653:3;8650:111;;;-1:-1:-1;8683:7:0;;8650:111;;;-1:-1:-1;8737:8:0;;8650:111;8789:3;8520:280;-1:-1:-1;;;8520:280:0:o;8808:372::-;8913:19;8934:9;8947:23;8958:6;8966:3;8947:10;:23::i;:::-;-1:-1:-1;;;;;8998:14:0;;;;;;:6;:14;;;;;;8912:58;;-1:-1:-1;8912:58:0;-1:-1:-1;8998:23:0;;9015:6;;8998:23;:::i;:::-;-1:-1:-1;;;;;8981:14:0;;;;;;;:6;:14;;;;;;:40;;;;9052:17;;;;;;;:34;;9072:14;;9052:34;:::i;:::-;-1:-1:-1;;;;;9032:17:0;;;;;;:6;:17;;;;;:54;9098:15;9108:4;9098:9;:15::i;:::-;9146:9;-1:-1:-1;;;;;9129:43:0;9138:6;-1:-1:-1;;;;;9129:43:0;;9157:14;9129:43;;;;160:25:1;;148:2;133:18;;14:177;9129:43:0;;;;;;;;8901:279;;8808:372;;;;:::o;9188:222::-;9257:4;;;9313:3;9293:16;9302:7;9293:6;:16;:::i;:::-;9292:24;;;;:::i;:::-;9280:36;-1:-1:-1;9327:19:0;9349:13;9280:36;9349:6;:13;:::i;:::-;9327:35;9397:4;;-1:-1:-1;9188:222:0;;-1:-1:-1;;;;9188:222:0:o;9418:109::-;9506:4;9491:21;;;;:6;:21;;;;;;:28;;9515:4;;9491:28;:::i;:::-;9482:4;9467:21;;;;:6;:21;;;;;:52;-1:-1:-1;9418:109:0:o;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;934:134;1002:20;;1031:31;1002:20;1031:31;:::i;:::-;934:134;;;:::o;1073:315::-;1141:6;1149;1202:2;1190:9;1181:7;1177:23;1173:32;1170:52;;;1218:1;1215;1208:12;1170:52;1257:9;1244:23;1276:31;1301:5;1276:31;:::i;:::-;1326:5;1378:2;1363:18;;;;1350:32;;-1:-1:-1;;;1073:315:1:o;1585:248::-;1653:6;1661;1714:2;1702:9;1693:7;1689:23;1685:32;1682:52;;;1730:1;1727;1720:12;1682:52;-1:-1:-1;;1753:23:1;;;1823:2;1808:18;;;1795:32;;-1:-1:-1;1585:248:1:o;2062:456::-;2139:6;2147;2155;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;:::-;2332:5;-1:-1:-1;2389:2:1;2374:18;;2361:32;2402:33;2361:32;2402:33;:::i;:::-;2062:456;;2454:7;;-1:-1:-1;;;2508:2:1;2493:18;;;;2480:32;;2062:456::o;2712:127::-;2773:10;2768:3;2764:20;2761:1;2754:31;2804:4;2801:1;2794:15;2828:4;2825:1;2818:15;2844:1121;2928:6;2959:2;3002;2990:9;2981:7;2977:23;2973:32;2970:52;;;3018:1;3015;3008:12;2970:52;3058:9;3045:23;3087:18;3128:2;3120:6;3117:14;3114:34;;;3144:1;3141;3134:12;3114:34;3182:6;3171:9;3167:22;3157:32;;3227:7;3220:4;3216:2;3212:13;3208:27;3198:55;;3249:1;3246;3239:12;3198:55;3285:2;3272:16;3307:2;3303;3300:10;3297:36;;;3313:18;;:::i;:::-;3359:2;3356:1;3352:10;3391:2;3385:9;3454:2;3450:7;3445:2;3441;3437:11;3433:25;3425:6;3421:38;3509:6;3497:10;3494:22;3489:2;3477:10;3474:18;3471:46;3468:72;;;3520:18;;:::i;:::-;3556:2;3549:22;3606:18;;;3640:15;;;;-1:-1:-1;3682:11:1;;;3678:20;;;3710:19;;;3707:39;;;3742:1;3739;3732:12;3707:39;3766:11;;;;3786:148;3802:6;3797:3;3794:15;3786:148;;;3868:23;3887:3;3868:23;:::i;:::-;3856:36;;3819:12;;;;3912;;;;3786:148;;;3953:6;2844:1121;-1:-1:-1;;;;;;;;2844:1121:1:o;3970:247::-;4029:6;4082:2;4070:9;4061:7;4057:23;4053:32;4050:52;;;4098:1;4095;4088:12;4050:52;4137:9;4124:23;4156:31;4181:5;4156:31;:::i;4222:180::-;4281:6;4334:2;4322:9;4313:7;4309:23;4305:32;4302:52;;;4350:1;4347;4340:12;4302:52;-1:-1:-1;4373:23:1;;4222:180;-1:-1:-1;4222:180:1:o;4615:118::-;4701:5;4694:13;4687:21;4680:5;4677:32;4667:60;;4723:1;4720;4713:12;4738:241;4794:6;4847:2;4835:9;4826:7;4822:23;4818:32;4815:52;;;4863:1;4860;4853:12;4815:52;4902:9;4889:23;4921:28;4943:5;4921:28;:::i;4984:388::-;5052:6;5060;5113:2;5101:9;5092:7;5088:23;5084:32;5081:52;;;5129:1;5126;5119:12;5081:52;5168:9;5155:23;5187:31;5212:5;5187:31;:::i;:::-;5237:5;-1:-1:-1;5294:2:1;5279:18;;5266:32;5307:33;5266:32;5307:33;:::i;:::-;5359:7;5349:17;;;4984:388;;;;;:::o;5630:127::-;5691:10;5686:3;5682:20;5679:1;5672:31;5722:4;5719:1;5712:15;5746:4;5743:1;5736:15;5762:125;5802:4;5830:1;5827;5824:8;5821:34;;;5835:18;;:::i;:::-;-1:-1:-1;5872:9:1;;5762:125::o;5892:127::-;5953:10;5948:3;5944:20;5941:1;5934:31;5984:4;5981:1;5974:15;6008:4;6005:1;5998:15;6024:135;6063:3;-1:-1:-1;;6084:17:1;;6081:43;;;6104:18;;:::i;:::-;-1:-1:-1;6151:1:1;6140:13;;6024:135::o;6164:356::-;6366:2;6348:21;;;6385:18;;;6378:30;6444:34;6439:2;6424:18;;6417:62;6511:2;6496:18;;6164:356::o;7353:306::-;7441:6;7449;7457;7510:2;7498:9;7489:7;7485:23;7481:32;7478:52;;;7526:1;7523;7516:12;7478:52;7555:9;7549:16;7539:26;;7605:2;7594:9;7590:18;7584:25;7574:35;;7649:2;7638:9;7634:18;7628:25;7618:35;;7353:306;;;;;:::o;7943:245::-;8010:6;8063:2;8051:9;8042:7;8038:23;8034:32;8031:52;;;8079:1;8076;8069:12;8031:52;8111:9;8105:16;8130:28;8152:5;8130:28;:::i;8193:251::-;8263:6;8316:2;8304:9;8295:7;8291:23;8287:32;8284:52;;;8332:1;8329;8322:12;8284:52;8364:9;8358:16;8383:31;8408:5;8383:31;:::i;11139:128::-;11179:3;11210:1;11206:6;11203:1;11200:13;11197:39;;;11216:18;;:::i;:::-;-1:-1:-1;11252:9:1;;11139:128::o;11272:168::-;11312:7;11378:1;11374;11370:6;11366:14;11363:1;11360:21;11355:1;11348:9;11341:17;11337:45;11334:71;;;11385:18;;:::i;:::-;-1:-1:-1;11425:9:1;;11272:168::o;11445:217::-;11485:1;11511;11501:132;;11555:10;11550:3;11546:20;11543:1;11536:31;11590:4;11587:1;11580:15;11618:4;11615:1;11608:15;11501:132;-1:-1:-1;11647:9:1;;11445:217::o;11667:980::-;11929:4;11977:3;11966:9;11962:19;12008:6;11997:9;11990:25;12034:2;12072:6;12067:2;12056:9;12052:18;12045:34;12115:3;12110:2;12099:9;12095:18;12088:31;12139:6;12174;12168:13;12205:6;12197;12190:22;12243:3;12232:9;12228:19;12221:26;;12282:2;12274:6;12270:15;12256:29;;12303:1;12313:195;12327:6;12324:1;12321:13;12313:195;;;12392:13;;-1:-1:-1;;;;;12388:39:1;12376:52;;12483:15;;;;12448:12;;;;12424:1;12342:9;12313:195;;;-1:-1:-1;;;;;;;12564:32:1;;;;12559:2;12544:18;;12537:60;-1:-1:-1;;;12628:3:1;12613:19;12606:35;12525:3;11667:980;-1:-1:-1;;;11667:980:1:o

Swarm Source

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