ETH Price: $3,585.80 (+0.62%)
Gas: 5 Gwei

Token

Advantis Token (ADVT)
 

Overview

Max Total Supply

1,000,000,000,000 ADVT

Holders

4,295 (0.00%)

Total Transfers

-

Market

Price

$0.00 @ 0.000000 ETH (+3.44%)

Onchain Market Cap

$882,625.00

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Advantis AI empowers crypto enthusiasts with cutting-edge AI technology. We focus on safety, education, and simplifying blockchain. Our solutions include Advantis AI Outlook, Scanner, and University. Join us to revolutionize crypto and unlock decentralized finance's full potential.

Market

Volume (24H):$2,481.95
Market Capitalization:$0.00
Circulating Supply:0.00 ADVT
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ADVT

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-10
*/

// SPDX-License-Identifier: NOLICENSE
pragma solidity ^0.8.7;
 
////////////////////////////////////////////////////////
//  ___    _                  _    _                  //
// | . | _| | _ _  ___ ._ _ _| |_ <_> ___             //
// |   |/ . || | |<_> || ' | | |  | |<_-<             // 
// |_|_|\___||__/ <___||_|_| |_|  |_|/__/             //
//                                                    //
// Advantis AI Token Analysis Tool www.advantis.ai    // 
// Advantis Token www.advantistoken.com               //
//                                                    // 
////////////////////////////////////////////////////////
 
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);
}
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
 
    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}
 
abstract contract Ownable is Context {
    address private _owner;
 
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
    constructor() {
        _setOwner(_msgSender());
    }
 
    function owner() public view virtual returns (address) {
        return _owner;
    }
 
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }
 
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }
 
    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
 
interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
}
 
interface IRouter {
    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);
 
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}
 
contract ADVT is Context, IERC20, Ownable {
 
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    mapping (address => bool) private _isBot;
 
    address[] private _excluded;
 
    bool public swapEnabled;
    bool private swapping;
 
    IRouter public router;
    address public pair;
 
    uint8 private constant _decimals = 9;
    uint256 private constant MAX = ~uint256(0);
 
    uint256 private _tTotal = 1e12 * 10**_decimals;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
 
 
    uint256 public swapTokensAtAmount = 200_000 * 10**_decimals;
    uint256 public maxTxAmount = 1e9 * 10**_decimals;
 
    // Anti Dump //
    mapping (address => uint256) public _lastTrade;
    bool public coolDownEnabled = true;
    uint256 public coolDownTime = 40 seconds;
 
    address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public devAddress = 0x266423eba1a324305c62578483AE7413E5eba5FA;
 
    string private constant _name = "Advantis Token";
    string private constant _symbol = "ADVT";
 
 
    struct Taxes {
      uint256 rfi;
      uint256 dev;
      uint256 liquidity;
      uint256 burn;
    }
 
    Taxes public taxes = Taxes(1,1,1,1);
    struct TotFeesPaidStruct{
        uint256 rfi;
        uint256 dev;
        uint256 liquidity;
        uint256 burn;
    }
    TotFeesPaidStruct public totFeesPaid;
 
    struct valuesFromGetValues{
      uint256 rAmount;
      uint256 rTransferAmount;
      uint256 rRfi;
      uint256 rDev;
      uint256 rLiquidity;
      uint256 rBurn;
      uint256 tTransferAmount;
      uint256 tRfi;
      uint256 tDev;
      uint256 tLiquidity;
      uint256 tBurn;
    }
 
    event FeesChanged();
    event UpdatedRouter(address oldRouter, address newRouter);
 
    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }
 
    constructor (address routerAddress) {
        IRouter _router = IRouter(routerAddress);
        address _pair = IFactory(_router.factory())
            .createPair(address(this), _router.WETH());
 
        router = _router;
        pair = _pair;
 
        excludeFromReward(pair);
        excludeFromReward(deadAddress);
 
        _rOwned[owner()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[devAddress]=true;
        _isExcludedFromFee[deadAddress] = true;
 
        emit Transfer(address(0), owner(), _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 view override returns (uint256) {
        return _tTotal;
    }
 
    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        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 virtual override returns (bool) {
        _transfer(sender, recipient, amount);
 
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);
 
        return true;
    }
 
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
 
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
 
        return true;
    }
 
    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }
 
    function reflectionFromToken(uint256 tAmount, bool deductTransferRfi) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferRfi) {
            valuesFromGetValues memory s = _getValues(tAmount, true);
            return s.rAmount;
        } else {
            valuesFromGetValues memory s = _getValues(tAmount, true);
            return s.rTransferAmount;
        }
    }
 
    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount/currentRate;
    }
 
    function excludeFromReward(address account) public onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }
 
    function includeInReward(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is not excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }
 
 
    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
 
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
 
 
    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }
 
    function setTaxes(uint256 _rfi, uint256 _dev, uint256 _liquidity, uint256 _burn) public onlyOwner {
        require( _rfi + _dev + _liquidity + _burn <= 6, "Max Fee reached");
        taxes = Taxes(_rfi, _dev, _liquidity, _burn);
        emit FeesChanged();
    }
 
 
    function _reflectRfi(uint256 rRfi, uint256 tRfi) private {
        _rTotal -=rRfi;
        totFeesPaid.rfi +=tRfi;
    }
 
    function _takeLiquidity(uint256 rLiquidity, uint256 tLiquidity) private {
        totFeesPaid.liquidity +=tLiquidity;
 
        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tLiquidity;
        }
        _rOwned[address(this)] +=rLiquidity;
    }
 
    function _takeDev(uint256 rDev, uint256 tDev) private {
        totFeesPaid.dev +=tDev;
 
        if(_isExcluded[address(this)])
        {
            _tOwned[address(this)]+=tDev;
        }
        _rOwned[address(this)] +=rDev;
    }
 
    function _takeBurn(uint256 rBurn, uint256 tBurn) private{
        totFeesPaid.burn +=tBurn;
 
        if(_isExcluded[deadAddress])
        {
            _tOwned[deadAddress]+=tBurn;
        }
        _rOwned[deadAddress] +=rBurn;
    }
 
    function _getValues(uint256 tAmount, bool takeFee) private view returns (valuesFromGetValues memory to_return) {
        to_return = _getTValues(tAmount, takeFee);
        (to_return.rAmount, to_return.rTransferAmount, to_return.rRfi, to_return.rDev, to_return.rLiquidity, to_return.rBurn) = _getRValues(to_return, tAmount, takeFee, _getRate());
        return to_return;
    }
 
    function _getTValues(uint256 tAmount, bool takeFee) private view returns (valuesFromGetValues memory s) {
 
        if(!takeFee) {
          s.tTransferAmount = tAmount;
          return s;
        }
 
        s.tRfi = tAmount*taxes.rfi/100;
        s.tDev = tAmount*taxes.dev/100;
        s.tLiquidity = tAmount*taxes.liquidity/100;
        s.tBurn = tAmount*taxes.burn/100;
        s.tTransferAmount = tAmount-s.tRfi-s.tDev-s.tLiquidity-s.tBurn;
        return s;
    }
 
    function _getRValues(valuesFromGetValues memory s, uint256 tAmount, bool takeFee, uint256 currentRate) private pure returns (uint256 rAmount, uint256 rTransferAmount, uint256 rRfi,uint256 rDev, uint256 rLiquidity, uint256 rBurn) {
        rAmount = tAmount*currentRate;
 
        if(!takeFee) {
          return(rAmount, rAmount, 0,0,0,0);
        }
 
        rRfi = s.tRfi*currentRate;
        rDev = s.tDev*currentRate;
        rLiquidity = s.tLiquidity*currentRate;
        rBurn = s.rBurn*currentRate;
        rTransferAmount =  rAmount-rRfi-rDev-rLiquidity-rBurn;
        return (rAmount, rTransferAmount, rRfi,rDev,rLiquidity, rBurn);
    }
 
    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply/tSupply;
    }
 
    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply-_rOwned[_excluded[i]];
            tSupply = tSupply-_tOwned[_excluded[i]];
        }
        if (rSupply < _rTotal/_tTotal) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
 
    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(amount <= balanceOf(from),"You are trying to transfer more than your balance");
        require(!_isBot[from] && !_isBot[to], "You are a bot");
 
 
        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to] && !swapping){
            require(amount <= maxTxAmount ,"Amount is exceeding maxTxAmount");
 
            if(from != pair && coolDownEnabled){
                uint256 timePassed = block.timestamp - _lastTrade[from];
                require(timePassed > coolDownTime, "You must wait coolDownTime");
                _lastTrade[from] = block.timestamp;
            }
            if(to != pair && coolDownEnabled){
                uint256 timePassed2 = block.timestamp - _lastTrade[to];
                require(timePassed2 > coolDownTime, "You must wait coolDownTime");
                _lastTrade[to] = block.timestamp;
            }
        }
 
        bool canSwap = balanceOf(address(this)) >= swapTokensAtAmount;
        if(!swapping && swapEnabled && canSwap && from != pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            swapAndLiquify(swapTokensAtAmount);
        }
 
        bool takeFee = true;
 
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || swapping || (from != pair && to != pair) ){
            takeFee = false;
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
 
    //this method is responsible for taking all fee, if takeFee is true
    function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee) private {
 
        valuesFromGetValues memory s = _getValues(tAmount, takeFee);
 
        if (_isExcluded[sender] ) {  //from excluded
                _tOwned[sender] = _tOwned[sender]-tAmount;
        }
        if (_isExcluded[recipient]) { //to excluded
                _tOwned[recipient] = _tOwned[recipient]+s.tTransferAmount;
        }
 
        _rOwned[sender] = _rOwned[sender]-s.rAmount;
        _rOwned[recipient] = _rOwned[recipient]+s.rTransferAmount;
 
        if(s.rRfi > 0 || s.tRfi > 0) _reflectRfi(s.rRfi, s.tRfi);
        if(s.rLiquidity > 0 || s.tLiquidity > 0) {
            _takeLiquidity(s.rLiquidity,s.tLiquidity);
        }
        if(s.rDev > 0 || s.tDev > 0){
            _takeDev(s.rDev, s.tDev);
        }
        if(s.rBurn > 0 || s.tBurn > 0){
            _takeBurn(s.rBurn, s.tBurn);
            emit Transfer(sender, deadAddress, s.tBurn);
        }
 
        emit Transfer(sender, recipient, s.tTransferAmount);
        emit Transfer(sender, address(this), s.tLiquidity + s.tDev);
 
    }
 
    function swapAndLiquify(uint256 tokens) private lockTheSwap{
       // Split the contract balance into halves
        uint256 denominator = (taxes.liquidity + taxes.dev ) * 2;
        uint256 tokensToAddLiquidityWith = tokens * taxes.liquidity / denominator;
        uint256 toSwap = tokens - tokensToAddLiquidityWith;
 
        uint256 initialBalance = address(this).balance;
 
        swapTokensForETH(toSwap);
 
        uint256 deltaBalance = address(this).balance - initialBalance;
        uint256 unitBalance= deltaBalance / (denominator - taxes.liquidity);
        uint256 ethToAddLiquidityWith = unitBalance * taxes.liquidity;
 
        if(ethToAddLiquidityWith > 0){
            // Add liquidity to Uniswap
            addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith);
        }
 
        uint256 devAmt = unitBalance * 2 * taxes.dev;
        if(devAmt > 0){
            payable(devAddress).transfer(devAmt);
        }
 
    }
 
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(router), tokenAmount);
 
        // add the liquidity
        router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }
 
    function swapTokensForETH(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
 
        _approve(address(this), address(router), tokenAmount);
 
        // make the swap
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }
 
    function updatedevWallet(address newWallet) external onlyOwner{
        require(devAddress != newWallet ,'Wallet already set');
        devAddress = newWallet;
        _isExcludedFromFee[devAddress];
    }
 
    function updatMaxTxAmt(uint256 amount) external onlyOwner{
        maxTxAmount = amount * 10**_decimals;
    }
 
    function updateSwapTokensAtAmount(uint256 amount) external onlyOwner{
        swapTokensAtAmount = amount * 10**_decimals;
    }
 
    function updateSwapEnabled(bool _enabled) external onlyOwner{
        swapEnabled = _enabled;
    }
 
    function updateCoolDownSettings(bool _enabled, uint256 _timeInSeconds) external onlyOwner{
        coolDownEnabled = _enabled;
        coolDownTime = _timeInSeconds * 1 seconds;
    }
 
    function setAntibot(address account, bool state) external onlyOwner{
        require(_isBot[account] != state, 'Value already set');
        _isBot[account] = state;
    }
 
    function bulkAntiBot(address[] memory accounts, bool state) external onlyOwner{
        for(uint256 i = 0; i < accounts.length; i++){
            _isBot[accounts[i]] = state;
        }
    }
 
    function updateRouterAndPair(address newRouter, address newPair) external onlyOwner{
        router = IRouter(newRouter);
        pair = newPair;
    }
 
    function isBot(address account) public view returns(bool){
        return _isBot[account];
    }
 
 
    //Use this in case  ETH are sent to the contract by mistake
    function rescueETH(uint256 weiAmount) external onlyOwner{
        require(address(this).balance >= weiAmount, "insufficient ETH balance");
        payable(msg.sender).transfer(weiAmount);
    }
 
    // Function to allow admin to claim *other* ERC20 tokens sent to this contract (by mistake)
    // Owner cannot transfer out catecoin from this smart contract
    function rescueAnyERC20Tokens(address _tokenAddr, address _to, uint _amount) public onlyOwner {
        IERC20(_tokenAddr).transfer(_to, _amount);
    }
 
    receive() external payable{
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"routerAddress","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":[],"name":"FeesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldRouter","type":"address"},{"indexed":false,"internalType":"address","name":"newRouter","type":"address"}],"name":"UpdatedRouter","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_lastTrade","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":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkAntiBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"coolDownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"coolDownTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferRfi","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueAnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"setAntibot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rfi","type":"uint256"},{"internalType":"uint256","name":"_dev","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totFeesPaid","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updatMaxTxAmt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_timeInSeconds","type":"uint256"}],"name":"updateCoolDownSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"},{"internalType":"address","name":"newPair","type":"address"}],"name":"updateRouterAndPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updatedevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a6200091a565b620000239064e8d4a51000620009db565b600a819055620000369060001962000a35565b6200004490600019620009fd565b600b55620000556009600a6200091a565b620000649062030d40620009db565b600c55620000756009600a6200091a565b6200008590633b9aca00620009db565b600d55600f805460ff191660019081179091556028601055601180546001600160a01b03191673266423eba1a324305c62578483ae7413e5eba5fa17905560408051608081018252828152602081018390529081018290526060018190526012819055601381905560148190556015553480156200010257600080fd5b5060405162003a2038038062003a2083398101604081905262000125916200088f565b620001303362000456565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505afa15801562000186573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ac91906200088f565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f557600080fd5b505afa1580156200020a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023091906200088f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200027957600080fd5b505af11580156200028e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b491906200088f565b600880546001600160a01b03808616620100000262010000600160b01b031990921691909117909155600980549183166001600160a01b0319909216821790559091506200030290620004a6565b6200030f61dead620004a6565b600b5460016000620003296000546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160046000620003636200063460201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260049093528183208054851660019081179091556011549091168352908220805484168217905561dead9091527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd8054909216179055620003fd6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200044591815260200190565b60405180910390a350505062000a8e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b03163314620005065760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03811660009081526005602052604090205460ff1615620005715760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401620004fd565b6001600160a01b03811660009081526001602052604090205415620005ce576001600160a01b038116600090815260016020526040902054620005b49062000643565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556007805491820181559091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319169091179055565b6000546001600160a01b031690565b6000600b54821115620006ac5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401620004fd565b6000620006b8620006cd565b9050620006c68184620008ba565b9392505050565b60008080620006db620006f3565b9092509050620006ec8183620008ba565b9250505090565b600b54600a546000918291825b6007548110156200085b5782600160006007848154811062000726576200072662000a78565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806200079557508160026000600784815481106200076e576200076e62000a78565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15620007ac57600b54600a54945094505050509091565b6001600060078381548110620007c657620007c662000a78565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620007f79084620009fd565b9250600260006007838154811062000813576200081362000a78565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620008449083620009fd565b915080620008528162000a17565b91505062000700565b50600a54600b546200086e9190620008ba565b8210156200088657600b54600a549350935050509091565b90939092509050565b600060208284031215620008a257600080fd5b81516001600160a01b0381168114620006c657600080fd5b600082620008cc57620008cc62000a62565b500490565b600181815b8085111562000912578160001904821115620008f657620008f662000a4c565b808516156200090457918102915b93841c9390800290620008d6565b509250929050565b6000620006c660ff8416836000826200093657506001620009d5565b816200094557506000620009d5565b81600181146200095e5760028114620009695762000989565b6001915050620009d5565b60ff8411156200097d576200097d62000a4c565b50506001821b620009d5565b5060208310610133831016604e8410600b8410161715620009ae575081810a620009d5565b620009ba8383620008d1565b8060001904821115620009d157620009d162000a4c565b0290505b92915050565b6000816000190483118215151615620009f857620009f862000a4c565b500290565b60008282101562000a125762000a1262000a4c565b500390565b600060001982141562000a2e5762000a2e62000a4c565b5060010190565b60008262000a475762000a4762000a62565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b612f828062000a9e6000396000f3fe6080604052600436106102815760003560e01c80638c0b5e221161014f578063b31470a4116100c1578063ea2f0b371161007a578063ea2f0b3714610851578063ee36e35914610871578063f2fde38b1461088b578063f887ea40146108ab578063f965aa1d146108d1578063fc170441146108f157600080fd5b8063b31470a41461077f578063d257b34f1461079f578063d2ce0db2146107bf578063dd62ed3e146107d5578063e11655451461081b578063e2f456051461083b57600080fd5b80639e252f00116101135780639e252f00146106b2578063a12a7d61146106d2578063a457c2d7146106f2578063a87859f614610712578063a8aa1b311461073f578063a9059cbb1461075f57600080fd5b80638c0b5e221461060e5780638da5cb5b14610624578063924de9b71461064257806395d89b41146106625780639ba5e4d51461068f57600080fd5b80633bbac579116101f35780636ddd1713116101ac5780636ddd17131461052357806370a082311461053d578063715018a61461055d578063728f8eea1461057257806388f82020146105b55780638c0ae3df146105ee57600080fd5b80633bbac5791461043157806340b28c2f1461046a578063437823ec1461048a5780634549b039146104aa57806352390c02146104ca5780635342acb4146104ea57600080fd5b806327c8f8351161024557806327c8f835146103675780632d83811914610395578063313ce567146103b55780633685d419146103d157806339509351146103f15780633ad10ef61461041157600080fd5b806306fdde031461028d578063095ea7b3146102d65780630d65df9b1461030657806318160ddd1461032857806323b872dd1461034757600080fd5b3661028857005b600080fd5b34801561029957600080fd5b5060408051808201909152600e81526d20b23b30b73a34b9902a37b5b2b760911b60208201525b6040516102cd9190612c5d565b60405180910390f35b3480156102e257600080fd5b506102f66102f1366004612a5d565b610911565b60405190151581526020016102cd565b34801561031257600080fd5b506103266103213660046129ee565b610928565b005b34801561033457600080fd5b50600a545b6040519081526020016102cd565b34801561035357600080fd5b506102f66103623660046129ee565b6109e3565b34801561037357600080fd5b5061037d61dead81565b6040516001600160a01b0390911681526020016102cd565b3480156103a157600080fd5b506103396103b0366004612bbf565b610a94565b3480156103c157600080fd5b50604051600981526020016102cd565b3480156103dd57600080fd5b506103266103ec36600461297b565b610b18565b3480156103fd57600080fd5b506102f661040c366004612a5d565b610ccf565b34801561041d57600080fd5b5060115461037d906001600160a01b031681565b34801561043d57600080fd5b506102f661044c36600461297b565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561047657600080fd5b506103266104853660046129b5565b610d06565b34801561049657600080fd5b506103266104a536600461297b565b610d6a565b3480156104b657600080fd5b506103396104c5366004612bd8565b610db8565b3480156104d657600080fd5b506103266104e536600461297b565b610e42565b3480156104f657600080fd5b506102f661050536600461297b565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561052f57600080fd5b506008546102f69060ff1681565b34801561054957600080fd5b5061033961055836600461297b565b610f95565b34801561056957600080fd5b50610326610ff4565b34801561057e57600080fd5b506012546013546014546015546105959392919084565b6040805194855260208501939093529183015260608201526080016102cd565b3480156105c157600080fd5b506102f66105d036600461297b565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105fa57600080fd5b50610326610609366004612ba1565b61102a565b34801561061a57600080fd5b50610339600d5481565b34801561063057600080fd5b506000546001600160a01b031661037d565b34801561064e57600080fd5b5061032661065d366004612b67565b611074565b34801561066e57600080fd5b506040805180820190915260048152631051159560e21b60208201526102c0565b34801561069b57600080fd5b506016546017546018546019546105959392919084565b3480156106be57600080fd5b506103266106cd366004612bbf565b6110b1565b3480156106de57600080fd5b506103266106ed366004612c2b565b611158565b3480156106fe57600080fd5b506102f661070d366004612a5d565b611245565b34801561071e57600080fd5b5061033961072d36600461297b565b600e6020526000908152604090205481565b34801561074b57600080fd5b5060095461037d906001600160a01b031681565b34801561076b57600080fd5b506102f661077a366004612a5d565b6112e0565b34801561078b57600080fd5b5061032661079a366004612a89565b6112ed565b3480156107ab57600080fd5b506103266107ba366004612bbf565b611383565b3480156107cb57600080fd5b5061033960105481565b3480156107e157600080fd5b506103396107f03660046129b5565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561082757600080fd5b50610326610836366004612a2f565b6113c9565b34801561084757600080fd5b50610339600c5481565b34801561085d57600080fd5b5061032661086c36600461297b565b611481565b34801561087d57600080fd5b50600f546102f69060ff1681565b34801561089757600080fd5b506103266108a636600461297b565b6114cc565b3480156108b757600080fd5b5060085461037d906201000090046001600160a01b031681565b3480156108dd57600080fd5b506103266108ec366004612bbf565b611567565b3480156108fd57600080fd5b5061032661090c36600461297b565b6115ad565b600061091e338484611653565b5060015b92915050565b6000546001600160a01b0316331461095b5760405162461bcd60e51b815260040161095290612cb2565b60405180910390fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b1580156109a557600080fd5b505af11580156109b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dd9190612b84565b50505050565b60006109f0848484611777565b6001600160a01b038416600090815260036020908152604080832033845290915290205482811015610a755760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610952565b610a898533610a848685612e9f565b611653565b506001949350505050565b6000600b54821115610afb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610952565b6000610b05611cf8565b9050610b118184612d70565b9392505050565b6000546001600160a01b03163314610b425760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03811660009081526005602052604090205460ff16610baa5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610952565b60005b600754811015610ccb57816001600160a01b031660078281548110610bd457610bd4612efd565b6000918252602090912001546001600160a01b03161415610cb95760078054610bff90600190612e9f565b81548110610c0f57610c0f612efd565b600091825260209091200154600780546001600160a01b039092169183908110610c3b57610c3b612efd565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556007805480610c9357610c93612ee7565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610cc381612eb6565b915050610bad565b5050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161091e918590610a84908690612d58565b6000546001600160a01b03163314610d305760405162461bcd60e51b815260040161095290612cb2565b6008805462010000600160b01b031916620100006001600160a01b0394851602179055600980546001600160a01b03191691909216179055565b6000546001600160a01b03163314610d945760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000600a54831115610e0c5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610952565b81610e28576000610e1e846001611d1b565b5191506109229050565b6000610e35846001611d1b565b6020015191506109229050565b6000546001600160a01b03163314610e6c5760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03811660009081526005602052604090205460ff1615610ed55760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610952565b6001600160a01b03811660009081526001602052604090205415610f2f576001600160a01b038116600090815260016020526040902054610f1590610a94565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556007805491820181559091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319169091179055565b6001600160a01b03811660009081526005602052604081205460ff1615610fd257506001600160a01b031660009081526002602052604090205490565b6001600160a01b03821660009081526001602052604090205461092290610a94565b6000546001600160a01b0316331461101e5760405162461bcd60e51b815260040161095290612cb2565b6110286000611d63565b565b6000546001600160a01b031633146110545760405162461bcd60e51b815260040161095290612cb2565b600f805460ff191683151517905561106d816001612e80565b6010555050565b6000546001600160a01b0316331461109e5760405162461bcd60e51b815260040161095290612cb2565b6008805460ff1916911515919091179055565b6000546001600160a01b031633146110db5760405162461bcd60e51b815260040161095290612cb2565b8047101561112b5760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e74204554482062616c616e636500000000000000006044820152606401610952565b604051339082156108fc029083906000818181858888f19350505050158015610ccb573d6000803e3d6000fd5b6000546001600160a01b031633146111825760405162461bcd60e51b815260040161095290612cb2565b600681836111908688612d58565b61119a9190612d58565b6111a49190612d58565b11156111e45760405162461bcd60e51b815260206004820152600f60248201526e13585e08119959481c995858da1959608a1b6044820152606401610952565b60408051608081018252858152602081018590528082018490526060018290526012859055601384905560148390556015829055517f846206d6c3449ac0b05841dfb88bf28b55aef00f96152490c69c96238048de1590600090a150505050565b3360009081526003602090815260408083206001600160a01b0386168452909152812054828110156112c75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610952565b6112d63385610a848685612e9f565b5060019392505050565b600061091e338484611777565b6000546001600160a01b031633146113175760405162461bcd60e51b815260040161095290612cb2565b60005b825181101561137e57816006600085848151811061133a5761133a612efd565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061137681612eb6565b91505061131a565b505050565b6000546001600160a01b031633146113ad5760405162461bcd60e51b815260040161095290612cb2565b6113b96009600a612dd5565b6113c39082612e80565b600c5550565b6000546001600160a01b031633146113f35760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03821660009081526006602052604090205460ff16151581151514156114565760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b6044820152606401610952565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146114ab5760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146114f65760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03811661155b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610952565b61156481611d63565b50565b6000546001600160a01b031633146115915760405162461bcd60e51b815260040161095290612cb2565b61159d6009600a612dd5565b6115a79082612e80565b600d5550565b6000546001600160a01b031633146115d75760405162461bcd60e51b815260040161095290612cb2565b6011546001600160a01b038281169116141561162a5760405162461bcd60e51b815260206004820152601260248201527115d85b1b195d08185b1c9958591e481cd95d60721b6044820152606401610952565b601180546001600160a01b039092166001600160a01b0319909216821790556000526004602052565b6001600160a01b0383166116b55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610952565b6001600160a01b0382166117165760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610952565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166117db5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610952565b6001600160a01b03821661183d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610952565b6000811161189f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610952565b6118a883610f95565b8111156119115760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610952565b6001600160a01b03831660009081526006602052604090205460ff1615801561195357506001600160a01b03821660009081526006602052604090205460ff16155b61198f5760405162461bcd60e51b815260206004820152600d60248201526c165bdd48185c99481848189bdd609a1b6044820152606401610952565b6001600160a01b03831660009081526004602052604090205460ff161580156119d157506001600160a01b03821660009081526004602052604090205460ff16155b80156119e55750600854610100900460ff16155b15611bac57600d54811115611a3c5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e7420697320657863656564696e67206d61785478416d6f756e74006044820152606401610952565b6009546001600160a01b03848116911614801590611a5c5750600f5460ff165b15611af4576001600160a01b0383166000908152600e6020526040812054611a849042612e9f565b90506010548111611ad75760405162461bcd60e51b815260206004820152601a60248201527f596f75206d757374207761697420636f6f6c446f776e54696d650000000000006044820152606401610952565b506001600160a01b0383166000908152600e602052604090204290555b6009546001600160a01b03838116911614801590611b145750600f5460ff165b15611bac576001600160a01b0382166000908152600e6020526040812054611b3c9042612e9f565b90506010548111611b8f5760405162461bcd60e51b815260206004820152601a60248201527f596f75206d757374207761697420636f6f6c446f776e54696d650000000000006044820152606401610952565b506001600160a01b0382166000908152600e602052604090204290555b6000600c54611bba30610f95565b6008549111159150610100900460ff16158015611bd9575060085460ff165b8015611be25750805b8015611bfc57506009546001600160a01b03858116911614155b8015611c2157506001600160a01b03841660009081526004602052604090205460ff16155b8015611c4657506001600160a01b03831660009081526004602052604090205460ff16155b15611c5657611c56600c54611db3565b6001600160a01b03841660009081526004602052604090205460019060ff1680611c9857506001600160a01b03841660009081526004602052604090205460ff165b80611caa5750600854610100900460ff165b80611cdc57506009546001600160a01b03868116911614801590611cdc57506009546001600160a01b03858116911614155b15611ce5575060005b611cf185858584611edc565b5050505050565b6000806000611d056121eb565b9092509050611d148183612d70565b9250505090565b611d23612906565b611d2d838361236e565b9050611d42818484611d3d611cf8565b61244c565b60a08701526080860152606085015260408401526020830152815292915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6008805461ff001916610100179055601354601454600091611dd491612d58565b611ddf906002612e80565b905060008160126002015484611df59190612e80565b611dff9190612d70565b90506000611e0d8285612e9f565b905047611e19826124fd565b6000611e258247612e9f565b601454909150600090611e389087612e9f565b611e429083612d70565b601454909150600090611e559083612e80565b90508015611e6757611e67868261268b565b601354600090611e78846002612e80565b611e829190612e80565b90508015611ec6576011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611ec4573d6000803e3d6000fd5b505b50506008805461ff001916905550505050505050565b6000611ee88383611d1b565b6001600160a01b03861660009081526005602052604090205490915060ff1615611f4a576001600160a01b038516600090815260026020526040902054611f30908490612e9f565b6001600160a01b0386166000908152600260205260409020555b6001600160a01b03841660009081526005602052604090205460ff1615611fad5760c08101516001600160a01b038516600090815260026020526040902054611f939190612d58565b6001600160a01b0385166000908152600260205260409020555b80516001600160a01b038616600090815260016020526040902054611fd29190612e9f565b6001600160a01b03808716600090815260016020908152604080832094909455840151918716815291909120546120099190612d58565b6001600160a01b038516600090815260016020526040908190209190915581015115158061203b575060008160e00151115b156120525761205281604001518260e00151612775565b60008160800151118061206a57506000816101200151115b156120825761208281608001518261012001516127aa565b60008160600151118061209a57506000816101000151115b156120b2576120b28160600151826101000151612820565b60008160a0015111806120ca57506000816101400151115b15612137576120e28160a00151826101400151612835565b61dead6001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83610140015160405161212e91815260200190565b60405180910390a35b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360c0015160405161218091815260200190565b60405180910390a3306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361010001518461012001516121d39190612d58565b60405190815260200160405180910390a35050505050565b600b54600a546000918291825b60075481101561233d5782600160006007848154811061221a5761221a612efd565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180612285575081600260006007848154811061225e5761225e612efd565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561229b57600b54600a54945094505050509091565b60016000600783815481106122b2576122b2612efd565b60009182526020808320909101546001600160a01b031683528201929092526040019020546122e19084612e9f565b925060026000600783815481106122fa576122fa612efd565b60009182526020808320909101546001600160a01b031683528201929092526040019020546123299083612e9f565b91508061233581612eb6565b9150506121f8565b50600a54600b5461234e9190612d70565b82101561236557600b54600a549350935050509091565b90939092509050565b612376612906565b816123875760c08101839052610922565b6012546064906123979085612e80565b6123a19190612d70565b60e08201526013546064906123b69085612e80565b6123c09190612d70565b6101008201526014546064906123d69085612e80565b6123e09190612d70565b6101208201526015546064906123f69085612e80565b6124009190612d70565b610140820181905261012082015161010083015160e08401516124239087612e9f565b61242d9190612e9f565b6124379190612e9f565b6124419190612e9f565b60c082015292915050565b6000808080808061245d878a612e80565b955087612478575084935060009250829150819050806124f0565b868a60e001516124889190612e80565b9350868a610100015161249b9190612e80565b9250868a61012001516124ae9190612e80565b9150868a60a001516124c09190612e80565b90508082846124cf878a612e9f565b6124d99190612e9f565b6124e39190612e9f565b6124ed9190612e9f565b94505b9499939850945094509450565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061253257612532612efd565b60200260200101906001600160a01b031690816001600160a01b031681525050600860029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156125a057600080fd5b505afa1580156125b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125d89190612998565b816001815181106125eb576125eb612efd565b6001600160a01b0392831660209182029290920101526008546126179130916201000090041684611653565b60085460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790612655908590600090869030904290600401612ce7565b600060405180830381600087803b15801561266f57600080fd5b505af1158015612683573d6000803e3d6000fd5b505050505050565b6008546126a99030906201000090046001600160a01b031684611653565b6008546001600160a01b03620100009091041663f305d7198230856000806126d96000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561273c57600080fd5b505af1158015612750573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cf19190612bfd565b81600b60008282546127879190612e9f565b9091555050601680548291906000906127a1908490612d58565b90915550505050565b80601660020160008282546127bf9190612d58565b90915550503060009081526005602052604090205460ff16156128015730600090815260026020526040812080548392906127fb908490612d58565b90915550505b30600090815260016020526040812080548492906127a1908490612d58565b80601660010160008282546127bf9190612d58565b806016600301600082825461284a9190612d58565b909155505061dead60005260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460ff16156128c85761dead600090815260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc80548392906128c2908490612d58565b90915550505b61dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d80548492906127a1908490612d58565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803561296b81612f29565b919050565b803561296b81612f3e565b60006020828403121561298d57600080fd5b8135610b1181612f29565b6000602082840312156129aa57600080fd5b8151610b1181612f29565b600080604083850312156129c857600080fd5b82356129d381612f29565b915060208301356129e381612f29565b809150509250929050565b600080600060608486031215612a0357600080fd5b8335612a0e81612f29565b92506020840135612a1e81612f29565b929592945050506040919091013590565b60008060408385031215612a4257600080fd5b8235612a4d81612f29565b915060208301356129e381612f3e565b60008060408385031215612a7057600080fd5b8235612a7b81612f29565b946020939093013593505050565b60008060408385031215612a9c57600080fd5b823567ffffffffffffffff80821115612ab457600080fd5b818501915085601f830112612ac857600080fd5b8135602082821115612adc57612adc612f13565b8160051b604051601f19603f83011681018181108682111715612b0157612b01612f13565b604052838152828101945085830182870184018b1015612b2057600080fd5b600096505b84871015612b4a57612b3681612960565b865260019690960195948301948301612b25565b509650612b5a9050878201612970565b9450505050509250929050565b600060208284031215612b7957600080fd5b8135610b1181612f3e565b600060208284031215612b9657600080fd5b8151610b1181612f3e565b60008060408385031215612bb457600080fd5b8235612a7b81612f3e565b600060208284031215612bd157600080fd5b5035919050565b60008060408385031215612beb57600080fd5b8235915060208301356129e381612f3e565b600080600060608486031215612c1257600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215612c4157600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015612c8a57858101830151858201604001528201612c6e565b81811115612c9c576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612d375784516001600160a01b031683529383019391830191600101612d12565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612d6b57612d6b612ed1565b500190565b600082612d8d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115612dcd578160001904821115612db357612db3612ed1565b80851615612dc057918102915b93841c9390800290612d97565b509250929050565b6000610b1160ff841683600082612dee57506001610922565b81612dfb57506000610922565b8160018114612e115760028114612e1b57612e37565b6001915050610922565b60ff841115612e2c57612e2c612ed1565b50506001821b610922565b5060208310610133831016604e8410600b8410161715612e5a575081810a610922565b612e648383612d92565b8060001904821115612e7857612e78612ed1565b029392505050565b6000816000190483118215151615612e9a57612e9a612ed1565b500290565b600082821015612eb157612eb1612ed1565b500390565b6000600019821415612eca57612eca612ed1565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461156457600080fd5b801515811461156457600080fdfea26469706673582212202b0c2601643a6c8fbf5b05386f235b3485bb5a37c11308c46fc548746d2f003c64736f6c634300080700330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

Deployed Bytecode

0x6080604052600436106102815760003560e01c80638c0b5e221161014f578063b31470a4116100c1578063ea2f0b371161007a578063ea2f0b3714610851578063ee36e35914610871578063f2fde38b1461088b578063f887ea40146108ab578063f965aa1d146108d1578063fc170441146108f157600080fd5b8063b31470a41461077f578063d257b34f1461079f578063d2ce0db2146107bf578063dd62ed3e146107d5578063e11655451461081b578063e2f456051461083b57600080fd5b80639e252f00116101135780639e252f00146106b2578063a12a7d61146106d2578063a457c2d7146106f2578063a87859f614610712578063a8aa1b311461073f578063a9059cbb1461075f57600080fd5b80638c0b5e221461060e5780638da5cb5b14610624578063924de9b71461064257806395d89b41146106625780639ba5e4d51461068f57600080fd5b80633bbac579116101f35780636ddd1713116101ac5780636ddd17131461052357806370a082311461053d578063715018a61461055d578063728f8eea1461057257806388f82020146105b55780638c0ae3df146105ee57600080fd5b80633bbac5791461043157806340b28c2f1461046a578063437823ec1461048a5780634549b039146104aa57806352390c02146104ca5780635342acb4146104ea57600080fd5b806327c8f8351161024557806327c8f835146103675780632d83811914610395578063313ce567146103b55780633685d419146103d157806339509351146103f15780633ad10ef61461041157600080fd5b806306fdde031461028d578063095ea7b3146102d65780630d65df9b1461030657806318160ddd1461032857806323b872dd1461034757600080fd5b3661028857005b600080fd5b34801561029957600080fd5b5060408051808201909152600e81526d20b23b30b73a34b9902a37b5b2b760911b60208201525b6040516102cd9190612c5d565b60405180910390f35b3480156102e257600080fd5b506102f66102f1366004612a5d565b610911565b60405190151581526020016102cd565b34801561031257600080fd5b506103266103213660046129ee565b610928565b005b34801561033457600080fd5b50600a545b6040519081526020016102cd565b34801561035357600080fd5b506102f66103623660046129ee565b6109e3565b34801561037357600080fd5b5061037d61dead81565b6040516001600160a01b0390911681526020016102cd565b3480156103a157600080fd5b506103396103b0366004612bbf565b610a94565b3480156103c157600080fd5b50604051600981526020016102cd565b3480156103dd57600080fd5b506103266103ec36600461297b565b610b18565b3480156103fd57600080fd5b506102f661040c366004612a5d565b610ccf565b34801561041d57600080fd5b5060115461037d906001600160a01b031681565b34801561043d57600080fd5b506102f661044c36600461297b565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561047657600080fd5b506103266104853660046129b5565b610d06565b34801561049657600080fd5b506103266104a536600461297b565b610d6a565b3480156104b657600080fd5b506103396104c5366004612bd8565b610db8565b3480156104d657600080fd5b506103266104e536600461297b565b610e42565b3480156104f657600080fd5b506102f661050536600461297b565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561052f57600080fd5b506008546102f69060ff1681565b34801561054957600080fd5b5061033961055836600461297b565b610f95565b34801561056957600080fd5b50610326610ff4565b34801561057e57600080fd5b506012546013546014546015546105959392919084565b6040805194855260208501939093529183015260608201526080016102cd565b3480156105c157600080fd5b506102f66105d036600461297b565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156105fa57600080fd5b50610326610609366004612ba1565b61102a565b34801561061a57600080fd5b50610339600d5481565b34801561063057600080fd5b506000546001600160a01b031661037d565b34801561064e57600080fd5b5061032661065d366004612b67565b611074565b34801561066e57600080fd5b506040805180820190915260048152631051159560e21b60208201526102c0565b34801561069b57600080fd5b506016546017546018546019546105959392919084565b3480156106be57600080fd5b506103266106cd366004612bbf565b6110b1565b3480156106de57600080fd5b506103266106ed366004612c2b565b611158565b3480156106fe57600080fd5b506102f661070d366004612a5d565b611245565b34801561071e57600080fd5b5061033961072d36600461297b565b600e6020526000908152604090205481565b34801561074b57600080fd5b5060095461037d906001600160a01b031681565b34801561076b57600080fd5b506102f661077a366004612a5d565b6112e0565b34801561078b57600080fd5b5061032661079a366004612a89565b6112ed565b3480156107ab57600080fd5b506103266107ba366004612bbf565b611383565b3480156107cb57600080fd5b5061033960105481565b3480156107e157600080fd5b506103396107f03660046129b5565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561082757600080fd5b50610326610836366004612a2f565b6113c9565b34801561084757600080fd5b50610339600c5481565b34801561085d57600080fd5b5061032661086c36600461297b565b611481565b34801561087d57600080fd5b50600f546102f69060ff1681565b34801561089757600080fd5b506103266108a636600461297b565b6114cc565b3480156108b757600080fd5b5060085461037d906201000090046001600160a01b031681565b3480156108dd57600080fd5b506103266108ec366004612bbf565b611567565b3480156108fd57600080fd5b5061032661090c36600461297b565b6115ad565b600061091e338484611653565b5060015b92915050565b6000546001600160a01b0316331461095b5760405162461bcd60e51b815260040161095290612cb2565b60405180910390fd5b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b1580156109a557600080fd5b505af11580156109b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dd9190612b84565b50505050565b60006109f0848484611777565b6001600160a01b038416600090815260036020908152604080832033845290915290205482811015610a755760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610952565b610a898533610a848685612e9f565b611653565b506001949350505050565b6000600b54821115610afb5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610952565b6000610b05611cf8565b9050610b118184612d70565b9392505050565b6000546001600160a01b03163314610b425760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03811660009081526005602052604090205460ff16610baa5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610952565b60005b600754811015610ccb57816001600160a01b031660078281548110610bd457610bd4612efd565b6000918252602090912001546001600160a01b03161415610cb95760078054610bff90600190612e9f565b81548110610c0f57610c0f612efd565b600091825260209091200154600780546001600160a01b039092169183908110610c3b57610c3b612efd565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff191690556007805480610c9357610c93612ee7565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610cc381612eb6565b915050610bad565b5050565b3360008181526003602090815260408083206001600160a01b0387168452909152812054909161091e918590610a84908690612d58565b6000546001600160a01b03163314610d305760405162461bcd60e51b815260040161095290612cb2565b6008805462010000600160b01b031916620100006001600160a01b0394851602179055600980546001600160a01b03191691909216179055565b6000546001600160a01b03163314610d945760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000600a54831115610e0c5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610952565b81610e28576000610e1e846001611d1b565b5191506109229050565b6000610e35846001611d1b565b6020015191506109229050565b6000546001600160a01b03163314610e6c5760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03811660009081526005602052604090205460ff1615610ed55760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610952565b6001600160a01b03811660009081526001602052604090205415610f2f576001600160a01b038116600090815260016020526040902054610f1590610a94565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556007805491820181559091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b0319169091179055565b6001600160a01b03811660009081526005602052604081205460ff1615610fd257506001600160a01b031660009081526002602052604090205490565b6001600160a01b03821660009081526001602052604090205461092290610a94565b6000546001600160a01b0316331461101e5760405162461bcd60e51b815260040161095290612cb2565b6110286000611d63565b565b6000546001600160a01b031633146110545760405162461bcd60e51b815260040161095290612cb2565b600f805460ff191683151517905561106d816001612e80565b6010555050565b6000546001600160a01b0316331461109e5760405162461bcd60e51b815260040161095290612cb2565b6008805460ff1916911515919091179055565b6000546001600160a01b031633146110db5760405162461bcd60e51b815260040161095290612cb2565b8047101561112b5760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e74204554482062616c616e636500000000000000006044820152606401610952565b604051339082156108fc029083906000818181858888f19350505050158015610ccb573d6000803e3d6000fd5b6000546001600160a01b031633146111825760405162461bcd60e51b815260040161095290612cb2565b600681836111908688612d58565b61119a9190612d58565b6111a49190612d58565b11156111e45760405162461bcd60e51b815260206004820152600f60248201526e13585e08119959481c995858da1959608a1b6044820152606401610952565b60408051608081018252858152602081018590528082018490526060018290526012859055601384905560148390556015829055517f846206d6c3449ac0b05841dfb88bf28b55aef00f96152490c69c96238048de1590600090a150505050565b3360009081526003602090815260408083206001600160a01b0386168452909152812054828110156112c75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610952565b6112d63385610a848685612e9f565b5060019392505050565b600061091e338484611777565b6000546001600160a01b031633146113175760405162461bcd60e51b815260040161095290612cb2565b60005b825181101561137e57816006600085848151811061133a5761133a612efd565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061137681612eb6565b91505061131a565b505050565b6000546001600160a01b031633146113ad5760405162461bcd60e51b815260040161095290612cb2565b6113b96009600a612dd5565b6113c39082612e80565b600c5550565b6000546001600160a01b031633146113f35760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03821660009081526006602052604090205460ff16151581151514156114565760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b6044820152606401610952565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146114ab5760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b031633146114f65760405162461bcd60e51b815260040161095290612cb2565b6001600160a01b03811661155b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610952565b61156481611d63565b50565b6000546001600160a01b031633146115915760405162461bcd60e51b815260040161095290612cb2565b61159d6009600a612dd5565b6115a79082612e80565b600d5550565b6000546001600160a01b031633146115d75760405162461bcd60e51b815260040161095290612cb2565b6011546001600160a01b038281169116141561162a5760405162461bcd60e51b815260206004820152601260248201527115d85b1b195d08185b1c9958591e481cd95d60721b6044820152606401610952565b601180546001600160a01b039092166001600160a01b0319909216821790556000526004602052565b6001600160a01b0383166116b55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610952565b6001600160a01b0382166117165760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610952565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166117db5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610952565b6001600160a01b03821661183d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610952565b6000811161189f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610952565b6118a883610f95565b8111156119115760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610952565b6001600160a01b03831660009081526006602052604090205460ff1615801561195357506001600160a01b03821660009081526006602052604090205460ff16155b61198f5760405162461bcd60e51b815260206004820152600d60248201526c165bdd48185c99481848189bdd609a1b6044820152606401610952565b6001600160a01b03831660009081526004602052604090205460ff161580156119d157506001600160a01b03821660009081526004602052604090205460ff16155b80156119e55750600854610100900460ff16155b15611bac57600d54811115611a3c5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e7420697320657863656564696e67206d61785478416d6f756e74006044820152606401610952565b6009546001600160a01b03848116911614801590611a5c5750600f5460ff165b15611af4576001600160a01b0383166000908152600e6020526040812054611a849042612e9f565b90506010548111611ad75760405162461bcd60e51b815260206004820152601a60248201527f596f75206d757374207761697420636f6f6c446f776e54696d650000000000006044820152606401610952565b506001600160a01b0383166000908152600e602052604090204290555b6009546001600160a01b03838116911614801590611b145750600f5460ff165b15611bac576001600160a01b0382166000908152600e6020526040812054611b3c9042612e9f565b90506010548111611b8f5760405162461bcd60e51b815260206004820152601a60248201527f596f75206d757374207761697420636f6f6c446f776e54696d650000000000006044820152606401610952565b506001600160a01b0382166000908152600e602052604090204290555b6000600c54611bba30610f95565b6008549111159150610100900460ff16158015611bd9575060085460ff165b8015611be25750805b8015611bfc57506009546001600160a01b03858116911614155b8015611c2157506001600160a01b03841660009081526004602052604090205460ff16155b8015611c4657506001600160a01b03831660009081526004602052604090205460ff16155b15611c5657611c56600c54611db3565b6001600160a01b03841660009081526004602052604090205460019060ff1680611c9857506001600160a01b03841660009081526004602052604090205460ff165b80611caa5750600854610100900460ff165b80611cdc57506009546001600160a01b03868116911614801590611cdc57506009546001600160a01b03858116911614155b15611ce5575060005b611cf185858584611edc565b5050505050565b6000806000611d056121eb565b9092509050611d148183612d70565b9250505090565b611d23612906565b611d2d838361236e565b9050611d42818484611d3d611cf8565b61244c565b60a08701526080860152606085015260408401526020830152815292915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6008805461ff001916610100179055601354601454600091611dd491612d58565b611ddf906002612e80565b905060008160126002015484611df59190612e80565b611dff9190612d70565b90506000611e0d8285612e9f565b905047611e19826124fd565b6000611e258247612e9f565b601454909150600090611e389087612e9f565b611e429083612d70565b601454909150600090611e559083612e80565b90508015611e6757611e67868261268b565b601354600090611e78846002612e80565b611e829190612e80565b90508015611ec6576011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611ec4573d6000803e3d6000fd5b505b50506008805461ff001916905550505050505050565b6000611ee88383611d1b565b6001600160a01b03861660009081526005602052604090205490915060ff1615611f4a576001600160a01b038516600090815260026020526040902054611f30908490612e9f565b6001600160a01b0386166000908152600260205260409020555b6001600160a01b03841660009081526005602052604090205460ff1615611fad5760c08101516001600160a01b038516600090815260026020526040902054611f939190612d58565b6001600160a01b0385166000908152600260205260409020555b80516001600160a01b038616600090815260016020526040902054611fd29190612e9f565b6001600160a01b03808716600090815260016020908152604080832094909455840151918716815291909120546120099190612d58565b6001600160a01b038516600090815260016020526040908190209190915581015115158061203b575060008160e00151115b156120525761205281604001518260e00151612775565b60008160800151118061206a57506000816101200151115b156120825761208281608001518261012001516127aa565b60008160600151118061209a57506000816101000151115b156120b2576120b28160600151826101000151612820565b60008160a0015111806120ca57506000816101400151115b15612137576120e28160a00151826101400151612835565b61dead6001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83610140015160405161212e91815260200190565b60405180910390a35b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360c0015160405161218091815260200190565b60405180910390a3306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361010001518461012001516121d39190612d58565b60405190815260200160405180910390a35050505050565b600b54600a546000918291825b60075481101561233d5782600160006007848154811061221a5761221a612efd565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180612285575081600260006007848154811061225e5761225e612efd565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561229b57600b54600a54945094505050509091565b60016000600783815481106122b2576122b2612efd565b60009182526020808320909101546001600160a01b031683528201929092526040019020546122e19084612e9f565b925060026000600783815481106122fa576122fa612efd565b60009182526020808320909101546001600160a01b031683528201929092526040019020546123299083612e9f565b91508061233581612eb6565b9150506121f8565b50600a54600b5461234e9190612d70565b82101561236557600b54600a549350935050509091565b90939092509050565b612376612906565b816123875760c08101839052610922565b6012546064906123979085612e80565b6123a19190612d70565b60e08201526013546064906123b69085612e80565b6123c09190612d70565b6101008201526014546064906123d69085612e80565b6123e09190612d70565b6101208201526015546064906123f69085612e80565b6124009190612d70565b610140820181905261012082015161010083015160e08401516124239087612e9f565b61242d9190612e9f565b6124379190612e9f565b6124419190612e9f565b60c082015292915050565b6000808080808061245d878a612e80565b955087612478575084935060009250829150819050806124f0565b868a60e001516124889190612e80565b9350868a610100015161249b9190612e80565b9250868a61012001516124ae9190612e80565b9150868a60a001516124c09190612e80565b90508082846124cf878a612e9f565b6124d99190612e9f565b6124e39190612e9f565b6124ed9190612e9f565b94505b9499939850945094509450565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061253257612532612efd565b60200260200101906001600160a01b031690816001600160a01b031681525050600860029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156125a057600080fd5b505afa1580156125b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125d89190612998565b816001815181106125eb576125eb612efd565b6001600160a01b0392831660209182029290920101526008546126179130916201000090041684611653565b60085460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790612655908590600090869030904290600401612ce7565b600060405180830381600087803b15801561266f57600080fd5b505af1158015612683573d6000803e3d6000fd5b505050505050565b6008546126a99030906201000090046001600160a01b031684611653565b6008546001600160a01b03620100009091041663f305d7198230856000806126d96000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561273c57600080fd5b505af1158015612750573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cf19190612bfd565b81600b60008282546127879190612e9f565b9091555050601680548291906000906127a1908490612d58565b90915550505050565b80601660020160008282546127bf9190612d58565b90915550503060009081526005602052604090205460ff16156128015730600090815260026020526040812080548392906127fb908490612d58565b90915550505b30600090815260016020526040812080548492906127a1908490612d58565b80601660010160008282546127bf9190612d58565b806016600301600082825461284a9190612d58565b909155505061dead60005260056020527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba5460ff16156128c85761dead600090815260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc80548392906128c2908490612d58565b90915550505b61dead600090815260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d80548492906127a1908490612d58565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803561296b81612f29565b919050565b803561296b81612f3e565b60006020828403121561298d57600080fd5b8135610b1181612f29565b6000602082840312156129aa57600080fd5b8151610b1181612f29565b600080604083850312156129c857600080fd5b82356129d381612f29565b915060208301356129e381612f29565b809150509250929050565b600080600060608486031215612a0357600080fd5b8335612a0e81612f29565b92506020840135612a1e81612f29565b929592945050506040919091013590565b60008060408385031215612a4257600080fd5b8235612a4d81612f29565b915060208301356129e381612f3e565b60008060408385031215612a7057600080fd5b8235612a7b81612f29565b946020939093013593505050565b60008060408385031215612a9c57600080fd5b823567ffffffffffffffff80821115612ab457600080fd5b818501915085601f830112612ac857600080fd5b8135602082821115612adc57612adc612f13565b8160051b604051601f19603f83011681018181108682111715612b0157612b01612f13565b604052838152828101945085830182870184018b1015612b2057600080fd5b600096505b84871015612b4a57612b3681612960565b865260019690960195948301948301612b25565b509650612b5a9050878201612970565b9450505050509250929050565b600060208284031215612b7957600080fd5b8135610b1181612f3e565b600060208284031215612b9657600080fd5b8151610b1181612f3e565b60008060408385031215612bb457600080fd5b8235612a7b81612f3e565b600060208284031215612bd157600080fd5b5035919050565b60008060408385031215612beb57600080fd5b8235915060208301356129e381612f3e565b600080600060608486031215612c1257600080fd5b8351925060208401519150604084015190509250925092565b60008060008060808587031215612c4157600080fd5b5050823594602084013594506040840135936060013592509050565b600060208083528351808285015260005b81811015612c8a57858101830151858201604001528201612c6e565b81811115612c9c576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612d375784516001600160a01b031683529383019391830191600101612d12565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612d6b57612d6b612ed1565b500190565b600082612d8d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115612dcd578160001904821115612db357612db3612ed1565b80851615612dc057918102915b93841c9390800290612d97565b509250929050565b6000610b1160ff841683600082612dee57506001610922565b81612dfb57506000610922565b8160018114612e115760028114612e1b57612e37565b6001915050610922565b60ff841115612e2c57612e2c612ed1565b50506001821b610922565b5060208310610133831016604e8410600b8410161715612e5a575081810a610922565b612e648383612d92565b8060001904821115612e7857612e78612ed1565b029392505050565b6000816000190483118215151615612e9a57612e9a612ed1565b500290565b600082821015612eb157612eb1612ed1565b500390565b6000600019821415612eca57612eca612ed1565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461156457600080fd5b801515811461156457600080fdfea26469706673582212202b0c2601643a6c8fbf5b05386f235b3485bb5a37c11308c46fc548746d2f003c64736f6c63430008070033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

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


Deployed Bytecode Sourcemap

3457:17866:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6257:83;;;;;;;;;;-1:-1:-1;6327:5:0;;;;;;;;;;;;-1:-1:-1;;;6327:5:0;;;;6257:83;;;;;;;:::i;:::-;;;;;;;;7170:161;;;;;;;;;;-1:-1:-1;7170:161:0;;;;;:::i;:::-;;:::i;:::-;;;6836:14:1;;6829:22;6811:41;;6799:2;6784:18;7170:161:0;6671:187:1;21123:154:0;;;;;;;;;;-1:-1:-1;21123:154:0;;;;;:::i;:::-;;:::i;:::-;;6531:95;;;;;;;;;;-1:-1:-1;6611:7:0;;6531:95;;;15789:25:1;;;15777:2;15762:18;6531:95:0;15643:177:1;7340:424:0;;;;;;;;;;-1:-1:-1;7340:424:0;;;;;:::i;:::-;;:::i;4502:80::-;;;;;;;;;;;;4540:42;4502:80;;;;;-1:-1:-1;;;;;5736:32:1;;;5718:51;;5706:2;5691:18;4502:80:0;5572:203:1;8978:248:0;;;;;;;;;;-1:-1:-1;8978:248:0;;;;;:::i;:::-;;:::i;6439:83::-;;;;;;;;;;-1:-1:-1;6439:83:0;;4038:1;17348:36:1;;17336:2;17321:18;6439:83:0;17206:184:1;9577:475:0;;;;;;;;;;-1:-1:-1;9577:475:0;;;;;:::i;:::-;;:::i;7773:215::-;;;;;;;;;;-1:-1:-1;7773:215:0;;;;;:::i;:::-;;:::i;4589:70::-;;;;;;;;;;-1:-1:-1;4589:70:0;;;;-1:-1:-1;;;;;4589:70:0;;;20578:98;;;;;;;;;;-1:-1:-1;20578:98:0;;;;;:::i;:::-;-1:-1:-1;;;;;20653:15:0;20630:4;20653:15;;;:6;:15;;;;;;;;;20578:98;20415:154;;;;;;;;;;-1:-1:-1;20415:154:0;;;;;:::i;:::-;;:::i;10064:111::-;;;;;;;;;;-1:-1:-1;10064:111:0;;;;;:::i;:::-;;:::i;8513:456::-;;;;;;;;;;-1:-1:-1;8513:456:0;;;;;:::i;:::-;;:::i;9235:333::-;;;;;;;;;;-1:-1:-1;9235:333:0;;;;;:::i;:::-;;:::i;10306:123::-;;;;;;;;;;-1:-1:-1;10306:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10394:27:0;10370:4;10394:27;;;:18;:27;;;;;;;;;10306:123;3885:23;;;;;;;;;;-1:-1:-1;3885:23:0;;;;;;;;6635:198;;;;;;;;;;-1:-1:-1;6635:198:0;;;;;:::i;:::-;;:::i;2228:94::-;;;;;;;;;;;;;:::i;4894:35::-;;;;;;;;;;-1:-1:-1;4894:35:0;;;;;;;;;;;;;;;;;;;17041:25:1;;;17097:2;17082:18;;17075:34;;;;17125:18;;;17118:34;17183:2;17168:18;;17161:34;17028:3;17013:19;4894:35:0;16810:391:1;8384:120:0;;;;;;;;;;-1:-1:-1;8384:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;8476:20:0;8452:4;8476:20;;;:11;:20;;;;;;;;;8384:120;19834:186;;;;;;;;;;-1:-1:-1;19834:186:0;;;;;:::i;:::-;;:::i;4279:48::-;;;;;;;;;;;;;;;;2003:87;;;;;;;;;;-1:-1:-1;2049:7:0;2076:6;-1:-1:-1;;;;;2076:6:0;2003:87;;19724:101;;;;;;;;;;-1:-1:-1;19724:101:0;;;;;:::i;:::-;;:::i;6346:87::-;;;;;;;;;;-1:-1:-1;6418:7:0;;;;;;;;;;;;-1:-1:-1;;;6418:7:0;;;;6346:87;;5069:36;;;;;;;;;;-1:-1:-1;5069:36:0;;;;;;;;;;;;;;;20753:196;;;;;;;;;;-1:-1:-1;20753:196:0;;;;;:::i;:::-;;:::i;10438:267::-;;;;;;;;;;-1:-1:-1;10438:267:0;;;;;:::i;:::-;;:::i;7997:378::-;;;;;;;;;;-1:-1:-1;7997:378:0;;;;;:::i;:::-;;:::i;4358:46::-;;;;;;;;;;-1:-1:-1;4358:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;3974:19;;;;;;;;;;-1:-1:-1;3974:19:0;;;;-1:-1:-1;;;;;3974:19:0;;;6842:167;;;;;;;;;;-1:-1:-1;6842:167:0;;;;;:::i;:::-;;:::i;20212:194::-;;;;;;;;;;-1:-1:-1;20212:194:0;;;;;:::i;:::-;;:::i;19585:130::-;;;;;;;;;;-1:-1:-1;19585:130:0;;;;;:::i;:::-;;:::i;4452:40::-;;;;;;;;;;;;;;;;7018:143;;;;;;;;;;-1:-1:-1;7018:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7126:18:0;;;7099:7;7126:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7018:143;20029:174;;;;;;;;;;-1:-1:-1;20029:174:0;;;;;:::i;:::-;;:::i;4213:59::-;;;;;;;;;;;;;;;;10184:110;;;;;;;;;;-1:-1:-1;10184:110:0;;;;;:::i;:::-;;:::i;4411:34::-;;;;;;;;;;-1:-1:-1;4411:34:0;;;;;;;;2331:192;;;;;;;;;;-1:-1:-1;2331:192:0;;;;;:::i;:::-;;:::i;3946:21::-;;;;;;;;;;-1:-1:-1;3946:21:0;;;;;;;-1:-1:-1;;;;;3946:21:0;;;19464:112;;;;;;;;;;-1:-1:-1;19464:112:0;;;;;:::i;:::-;;:::i;19246:209::-;;;;;;;;;;-1:-1:-1;19246:209:0;;;;;:::i;:::-;;:::i;7170:161::-;7245:4;7262:39;1499:10;7285:7;7294:6;7262:8;:39::i;:::-;-1:-1:-1;7319:4:0;7170:161;;;;;:::o;21123:154::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;;;;;;;;;21228:41:::1;::::0;-1:-1:-1;;;21228:41:0;;-1:-1:-1;;;;;5972:32:1;;;21228:41:0::1;::::0;::::1;5954:51:1::0;6021:18;;;6014:34;;;21228:27:0;::::1;::::0;::::1;::::0;5927:18:1;;21228:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;21123:154:::0;;;:::o;7340:424::-;7446:4;7463:36;7473:6;7481:9;7492:6;7463:9;:36::i;:::-;-1:-1:-1;;;;;7540:19:0;;7513:24;7540:19;;;:11;:19;;;;;;;;1499:10;7540:33;;;;;;;;7592:26;;;;7584:79;;;;-1:-1:-1;;;7584:79:0;;12062:2:1;7584:79:0;;;12044:21:1;12101:2;12081:18;;;12074:30;12140:34;12120:18;;;12113:62;-1:-1:-1;;;12191:18:1;;;12184:38;12239:19;;7584:79:0;11860:404:1;7584:79:0;7674:57;7683:6;1499:10;7705:25;7724:6;7705:16;:25;:::i;:::-;7674:8;:57::i;:::-;-1:-1:-1;7752:4:0;;7340:424;-1:-1:-1;;;;7340:424:0:o;8978:248::-;9044:7;9083;;9072;:18;;9064:73;;;;-1:-1:-1;;;9064:73:0;;9058:2:1;9064:73:0;;;9040:21:1;9097:2;9077:18;;;9070:30;9136:34;9116:18;;;9109:62;-1:-1:-1;;;9187:18:1;;;9180:40;9237:19;;9064:73:0;8856:406:1;9064:73:0;9148:19;9171:10;:8;:10::i;:::-;9148:33;-1:-1:-1;9199:19:0;9148:33;9199:7;:19;:::i;:::-;9192:26;8978:248;-1:-1:-1;;;8978:248:0:o;9577:475::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9659:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;9651:56;;;::::0;-1:-1:-1;;;9651:56:0;;10995:2:1;9651:56:0::1;::::0;::::1;10977:21:1::0;11034:2;11014:18;;;11007:30;11073:25;11053:18;;;11046:53;11116:18;;9651:56:0::1;10793:347:1::0;9651:56:0::1;9723:9;9718:327;9742:9;:16:::0;9738:20;::::1;9718:327;;;9800:7;-1:-1:-1::0;;;;;9784:23:0::1;:9;9794:1;9784:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;9784:12:0::1;:23;9780:254;;;9843:9;9853:16:::0;;:20:::1;::::0;9872:1:::1;::::0;9853:20:::1;:::i;:::-;9843:31;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;9828:9:::1;:12:::0;;-1:-1:-1;;;;;9843:31:0;;::::1;::::0;9838:1;;9828:12;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;9828:46:0::1;-1:-1:-1::0;;;;;9828:46:0;;::::1;;::::0;;9893:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;9932:11:::1;:20:::0;;;;:28;;-1:-1:-1;;9932:28:0::1;::::0;;9979:9:::1;:15:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;9979:15:0;;;;;-1:-1:-1;;;;;;9979:15:0::1;::::0;;;;;9718:327:::1;9577:475:::0;:::o;9780:254::-:1;9760:3:::0;::::1;::::0;::::1;:::i;:::-;;;;9718:327;;;;9577:475:::0;:::o;7773:215::-;1499:10;7861:4;7910:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7910:34:0;;;;;;;;;;7861:4;;7878:80;;7901:7;;7910:47;;7947:10;;7910:47;:::i;20415:154::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;20509:6:::1;:27:::0;;-1:-1:-1;;;;;;20509:27:0::1;::::0;-1:-1:-1;;;;;20509:27:0;;::::1;;;::::0;;20547:4:::1;:14:::0;;-1:-1:-1;;;;;;20547:14:0::1;::::0;;;::::1;;::::0;;20415:154::o;10064:111::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10133:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;10133:34:0::1;10163:4;10133:34;::::0;;10064:111::o;8513:456::-;8603:7;8642;;8631;:18;;8623:62;;;;-1:-1:-1;;;8623:62:0;;11347:2:1;8623:62:0;;;11329:21:1;11386:2;11366:18;;;11359:30;11425:33;11405:18;;;11398:61;11476:18;;8623:62:0;11145:355:1;8623:62:0;8701:17;8696:266;;8735:28;8766:25;8777:7;8786:4;8766:10;:25::i;:::-;8813:9;;-1:-1:-1;8806:16:0;;-1:-1:-1;8806:16:0;8696:266;8855:28;8886:25;8897:7;8906:4;8886:10;:25::i;:::-;8933:17;;;;-1:-1:-1;8926:24:0;;-1:-1:-1;8926:24:0;9235:333;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9318:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;9317:21;9309:61;;;::::0;-1:-1:-1;;;9309:61:0;;10279:2:1;9309:61:0::1;::::0;::::1;10261:21:1::0;10318:2;10298:18;;;10291:30;10357:29;10337:18;;;10330:57;10404:18;;9309:61:0::1;10077:351:1::0;9309:61:0::1;-1:-1:-1::0;;;;;9384:16:0;::::1;9403:1;9384:16:::0;;;:7:::1;:16;::::0;;;;;:20;9381:108:::1;;-1:-1:-1::0;;;;;9460:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;9440:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;9421:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;9381:108:::1;-1:-1:-1::0;;;;;9499:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;9499:27:0::1;9522:4;9499:27:::0;;::::1;::::0;;;9537:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;9537:23:0::1;::::0;;::::1;::::0;;9235:333::o;6635:198::-;-1:-1:-1;;;;;6725:20:0;;6701:7;6725:20;;;:11;:20;;;;;;;;6721:49;;;-1:-1:-1;;;;;;6754:16:0;;;;;:7;:16;;;;;;;6635:198::o;6721:49::-;-1:-1:-1;;;;;6808:16:0;;;;;;:7;:16;;;;;;6788:37;;:19;:37::i;2228:94::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;2293:21:::1;2311:1;2293:9;:21::i;:::-;2228:94::o:0;19834:186::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;19934:15:::1;:26:::0;;-1:-1:-1;;19934:26:0::1;::::0;::::1;;;::::0;;19986::::1;:14:::0;-1:-1:-1;19986:26:0::1;:::i;:::-;19971:12;:41:::0;-1:-1:-1;;19834:186:0:o;19724:101::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;19795:11:::1;:22:::0;;-1:-1:-1;;19795:22:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19724:101::o;20753:196::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;20853:9:::1;20828:21;:34;;20820:71;;;::::0;-1:-1:-1;;;20820:71:0;;12832:2:1;20820:71:0::1;::::0;::::1;12814:21:1::0;12871:2;12851:18;;;12844:30;12910:26;12890:18;;;12883:54;12954:18;;20820:71:0::1;12630:348:1::0;20820:71:0::1;20902:39;::::0;20910:10:::1;::::0;20902:39;::::1;;;::::0;20931:9;;20902:39:::1;::::0;;;20931:9;20910:10;20902:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;10438:267:::0;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;10592:1:::1;10583:5:::0;10570:10;10556:11:::1;10563:4:::0;10556;:11:::1;:::i;:::-;:24;;;;:::i;:::-;:32;;;;:::i;:::-;:37;;10547:66;;;::::0;-1:-1:-1;;;10547:66:0;;13942:2:1;10547:66:0::1;::::0;::::1;13924:21:1::0;13981:2;13961:18;;;13954:30;-1:-1:-1;;;14000:18:1;;;13993:45;14055:18;;10547:66:0::1;13740:339:1::0;10547:66:0::1;10632:36;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;10624:5:::1;:44:::0;;;;;;;;;;;;;;;10684:13;::::1;::::0;-1:-1:-1;;10684:13:0::1;10438:267:::0;;;;:::o;7997:378::-;1499:10;8090:4;8134:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8134:34:0;;;;;;;;;;8187:35;;;;8179:85;;;;-1:-1:-1;;;8179:85:0;;15439:2:1;8179:85:0;;;15421:21:1;15478:2;15458:18;;;15451:30;15517:34;15497:18;;;15490:62;-1:-1:-1;;;15568:18:1;;;15561:35;15613:19;;8179:85:0;15237:401:1;8179:85:0;8275:67;1499:10;8298:7;8307:34;8326:15;8307:16;:34;:::i;8275:67::-;-1:-1:-1;8363:4:0;;7997:378;-1:-1:-1;;;7997:378:0:o;6842:167::-;6920:4;6937:42;1499:10;6961:9;6972:6;6937:9;:42::i;20212:194::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;20305:9:::1;20301:98;20324:8;:15;20320:1;:19;20301:98;;;20382:5;20360:6;:19;20367:8;20376:1;20367:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;20360:19:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;20360:19:0;:27;;-1:-1:-1;;20360:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20341:3;::::1;::::0;::::1;:::i;:::-;;;;20301:98;;;;20212:194:::0;;:::o;19585:130::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;19694:13:::1;4038:1;19694:2;:13;:::i;:::-;19685:22;::::0;:6;:22:::1;:::i;:::-;19664:18;:43:::0;-1:-1:-1;19585:130:0:o;20029:174::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20115:15:0;::::1;;::::0;;;:6:::1;:15;::::0;;;;;::::1;;:24;;::::0;::::1;;;;20107:54;;;::::0;-1:-1:-1;;;20107:54:0;;8294:2:1;20107:54:0::1;::::0;::::1;8276:21:1::0;8333:2;8313:18;;;8306:30;-1:-1:-1;;;8352:18:1;;;8345:47;8409:18;;20107:54:0::1;8092:341:1::0;20107:54:0::1;-1:-1:-1::0;;;;;20172:15:0;;;::::1;;::::0;;;:6:::1;:15;::::0;;;;:23;;-1:-1:-1;;20172:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20029:174::o;10184:110::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10251:27:0::1;10281:5;10251:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;10251:35:0::1;::::0;;10184:110::o;2331:192::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2420:22:0;::::1;2412:73;;;::::0;-1:-1:-1;;;2412:73:0;;9469:2:1;2412:73:0::1;::::0;::::1;9451:21:1::0;9508:2;9488:18;;;9481:30;9547:34;9527:18;;;9520:62;-1:-1:-1;;;9598:18:1;;;9591:36;9644:19;;2412:73:0::1;9267:402:1::0;2412:73:0::1;2496:19;2506:8;2496:9;:19::i;:::-;2331:192:::0;:::o;19464:112::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;19555:13:::1;4038:1;19555:2;:13;:::i;:::-;19546:22;::::0;:6;:22:::1;:::i;:::-;19532:11;:36:::0;-1:-1:-1;19464:112:0:o;19246:209::-;2049:7;2076:6;-1:-1:-1;;;;;2076:6:0;1499:10;2139:23;2131:68;;;;-1:-1:-1;;;2131:68:0;;;;;;;:::i;:::-;19327:10:::1;::::0;-1:-1:-1;;;;;19327:23:0;;::::1;:10:::0;::::1;:23;;19319:54;;;::::0;-1:-1:-1;;;19319:54:0;;13595:2:1;19319:54:0::1;::::0;::::1;13577:21:1::0;13634:2;13614:18;;;13607:30;-1:-1:-1;;;13653:18:1;;;13646:48;13711:18;;19319:54:0::1;13393:342:1::0;19319:54:0::1;19384:10;:22:::0;;-1:-1:-1;;;;;19384:22:0;;::::1;-1:-1:-1::0;;;;;;19384:22:0;;::::1;::::0;::::1;::::0;;:10:::1;19417:30:::0;:18:::1;:30;::::0;19246:209::o;13914:335::-;-1:-1:-1;;;;;14007:19:0;;13999:68;;;;-1:-1:-1;;;13999:68:0;;14692:2:1;13999:68:0;;;14674:21:1;14731:2;14711:18;;;14704:30;14770:34;14750:18;;;14743:62;-1:-1:-1;;;14821:18:1;;;14814:34;14865:19;;13999:68:0;14490:400:1;13999:68:0;-1:-1:-1;;;;;14086:21:0;;14078:68;;;;-1:-1:-1;;;14078:68:0;;9876:2:1;14078:68:0;;;9858:21:1;9915:2;9895:18;;;9888:30;9954:34;9934:18;;;9927:62;-1:-1:-1;;;10005:18:1;;;9998:32;10047:19;;14078:68:0;9674:398:1;14078:68:0;-1:-1:-1;;;;;14157:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14209:32;;15789:25:1;;;14209:32:0;;15762:18:1;14209:32:0;;;;;;;13914:335;;;:::o;14261:1693::-;-1:-1:-1;;;;;14349:18:0;;14341:68;;;;-1:-1:-1;;;14341:68:0;;14286:2:1;14341:68:0;;;14268:21:1;14325:2;14305:18;;;14298:30;14364:34;14344:18;;;14337:62;-1:-1:-1;;;14415:18:1;;;14408:35;14460:19;;14341:68:0;14084:401:1;14341:68:0;-1:-1:-1;;;;;14428:16:0;;14420:64;;;;-1:-1:-1;;;14420:64:0;;7890:2:1;14420:64:0;;;7872:21:1;7929:2;7909:18;;;7902:30;7968:34;7948:18;;;7941:62;-1:-1:-1;;;8019:18:1;;;8012:33;8062:19;;14420:64:0;7688:399:1;14420:64:0;14512:1;14503:6;:10;14495:64;;;;-1:-1:-1;;;14495:64:0;;13185:2:1;14495:64:0;;;13167:21:1;13224:2;13204:18;;;13197:30;13263:34;13243:18;;;13236:62;-1:-1:-1;;;13314:18:1;;;13307:39;13363:19;;14495:64:0;12983:405:1;14495:64:0;14588:15;14598:4;14588:9;:15::i;:::-;14578:6;:25;;14570:86;;;;-1:-1:-1;;;14570:86:0;;8640:2:1;14570:86:0;;;8622:21:1;8679:2;8659:18;;;8652:30;8718:34;8698:18;;;8691:62;-1:-1:-1;;;8769:18:1;;;8762:47;8826:19;;14570:86:0;8438:413:1;14570:86:0;-1:-1:-1;;;;;14676:12:0;;;;;;:6;:12;;;;;;;;14675:13;:28;;;;-1:-1:-1;;;;;;14693:10:0;;;;;;:6;:10;;;;;;;;14692:11;14675:28;14667:54;;;;-1:-1:-1;;;14667:54:0;;15097:2:1;14667:54:0;;;15079:21:1;15136:2;15116:18;;;15109:30;-1:-1:-1;;;15155:18:1;;;15148:43;15208:18;;14667:54:0;14895:337:1;14667:54:0;-1:-1:-1;;;;;14742:24:0;;;;;;:18;:24;;;;;;;;14741:25;:52;;;;-1:-1:-1;;;;;;14771:22:0;;;;;;:18;:22;;;;;;;;14770:23;14741:52;:65;;;;-1:-1:-1;14798:8:0;;;;;;;14797:9;14741:65;14738:710;;;14840:11;;14830:6;:21;;14822:65;;;;-1:-1:-1;;;14822:65:0;;10635:2:1;14822:65:0;;;10617:21:1;10674:2;10654:18;;;10647:30;10713:33;10693:18;;;10686:61;10764:18;;14822:65:0;10433:355:1;14822:65:0;14916:4;;-1:-1:-1;;;;;14908:12:0;;;14916:4;;14908:12;;;;:31;;-1:-1:-1;14924:15:0;;;;14908:31;14905:261;;;-1:-1:-1;;;;;14998:16:0;;14959:18;14998:16;;;:10;:16;;;;;;14980:34;;:15;:34;:::i;:::-;14959:55;;15054:12;;15041:10;:25;15033:64;;;;-1:-1:-1;;;15033:64:0;;11707:2:1;15033:64:0;;;11689:21:1;11746:2;11726:18;;;11719:30;11785:28;11765:18;;;11758:56;11831:18;;15033:64:0;11505:350:1;15033:64:0;-1:-1:-1;;;;;;15116:16:0;;;;;;:10;:16;;;;;15135:15;15116:34;;14905:261;15189:4;;-1:-1:-1;;;;;15183:10:0;;;15189:4;;15183:10;;;;:29;;-1:-1:-1;15197:15:0;;;;15183:29;15180:257;;;-1:-1:-1;;;;;15272:14:0;;15232:19;15272:14;;;:10;:14;;;;;;15254:32;;:15;:32;:::i;:::-;15232:54;;15327:12;;15313:11;:26;15305:65;;;;-1:-1:-1;;;15305:65:0;;11707:2:1;15305:65:0;;;11689:21:1;11746:2;11726:18;;;11719:30;11785:28;11765:18;;;11758:56;11831:18;;15305:65:0;11505:350:1;15305:65:0;-1:-1:-1;;;;;;15389:14:0;;;;;;:10;:14;;;;;15406:15;15389:32;;15180:257;15461:12;15504:18;;15476:24;15494:4;15476:9;:24::i;:::-;15537:8;;-1:-1:-1;;15476:46:0;;-1:-1:-1;15537:8:0;;;;;15536:9;:24;;;;-1:-1:-1;15549:11:0;;;;15536:24;:35;;;;;15564:7;15536:35;:51;;;;-1:-1:-1;15583:4:0;;-1:-1:-1;;;;;15575:12:0;;;15583:4;;15575:12;;15536:51;:80;;;;-1:-1:-1;;;;;;15592:24:0;;;;;;:18;:24;;;;;;;;15591:25;15536:80;:107;;;;-1:-1:-1;;;;;;15621:22:0;;;;;;:18;:22;;;;;;;;15620:23;15536:107;15533:172;;;15659:34;15674:18;;15659:14;:34::i;:::-;-1:-1:-1;;;;;15754:24:0;;15718:12;15754:24;;;:18;:24;;;;;;15733:4;;15754:24;;;:50;;-1:-1:-1;;;;;;15782:22:0;;;;;;:18;:22;;;;;;;;15754:50;:62;;;-1:-1:-1;15808:8:0;;;;;;;15754:62;:94;;;-1:-1:-1;15829:4:0;;-1:-1:-1;;;;;15821:12:0;;;15829:4;;15821:12;;;;:26;;-1:-1:-1;15843:4:0;;-1:-1:-1;;;;;15837:10:0;;;15843:4;;15837:10;;15821:26;15751:141;;;-1:-1:-1;15875:5:0;15751:141;15905:41;15920:4;15926:2;15930:6;15938:7;15905:14;:41::i;:::-;14330:1624;;14261:1693;;;:::o;13198:158::-;13239:7;13260:15;13277;13296:19;:17;:19::i;:::-;13259:56;;-1:-1:-1;13259:56:0;-1:-1:-1;13333:15:0;13259:56;;13333:15;:::i;:::-;13326:22;;;;13198:158;:::o;11647:381::-;11720:36;;:::i;:::-;11781:29;11793:7;11802;11781:11;:29::i;:::-;11769:41;;11941:52;11953:9;11964:7;11973;11982:10;:8;:10::i;:::-;11941:11;:52::i;:::-;11922:15;;;11821:172;11900:20;;;11821:172;11884:14;;;11821:172;11868:14;;;11821:172;11841:25;;;11821:172;;;11647:381;;;;:::o;2532:173::-;2588:16;2607:6;;-1:-1:-1;;;;;2624:17:0;;;-1:-1:-1;;;;;;2624:17:0;;;;;;2657:40;;2607:6;;;;;;;2657:40;;2588:16;2657:40;2577:128;2532:173;:::o;17188:971::-;5553:8;:15;;-1:-1:-1;;5553:15:0;;;;;17349:9;;17331:15;;5553;;17331:27:::1;::::0;::::1;:::i;:::-;17330:34;::::0;17363:1:::1;17330:34;:::i;:::-;17308:56;;17375:32;17437:11;17419:5;:15;;;17410:6;:24;;;;:::i;:::-;:38;;;;:::i;:::-;17375:73:::0;-1:-1:-1;17459:14:0::1;17476:33;17375:73:::0;17476:6;:33:::1;:::i;:::-;17459:50:::0;-1:-1:-1;17548:21:0::1;17583:24;17459:50:::0;17583:16:::1;:24::i;:::-;17621:20;17644:38;17668:14:::0;17644:21:::1;:38;:::i;:::-;17744:15:::0;;17621:61;;-1:-1:-1;17693:19:0::1;::::0;17730:29:::1;::::0;:11;:29:::1;:::i;:::-;17714:46;::::0;:12;:46:::1;:::i;:::-;17817:15:::0;;17693:67;;-1:-1:-1;17771:29:0::1;::::0;17803::::1;::::0;17693:67;17803:29:::1;:::i;:::-;17771:61:::0;-1:-1:-1;17849:25:0;;17846:158:::1;;17931:61;17944:24;17970:21;17931:12;:61::i;:::-;18052:9:::0;;18017:14:::1;::::0;18034:15:::1;:11:::0;18048:1:::1;18034:15;:::i;:::-;:27;;;;:::i;:::-;18017:44:::0;-1:-1:-1;18075:10:0;;18072:77:::1;;18109:10;::::0;18101:36:::1;::::0;-1:-1:-1;;;;;18109:10:0;;::::1;::::0;18101:36;::::1;;;::::0;18130:6;;18109:10:::1;18101:36:::0;18109:10;18101:36;18130:6;18109:10;18101:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;18072:77;-1:-1:-1::0;;5591:8:0;:16;;-1:-1:-1;;5591:16:0;;;-1:-1:-1;;;;;;;17188:971:0:o;16039:1140::-;16151:28;16182;16193:7;16202;16182:10;:28::i;:::-;-1:-1:-1;;;;;16228:19:0;;;;;;:11;:19;;;;;;16151:59;;-1:-1:-1;16228:19:0;;16224:115;;;-1:-1:-1;;;;;16304:15:0;;;;;;:7;:15;;;;;;:23;;16320:7;;16304:23;:::i;:::-;-1:-1:-1;;;;;16286:15:0;;;;;;:7;:15;;;;;:41;16224:115;-1:-1:-1;;;;;16353:22:0;;;;;;:11;:22;;;;;;;;16349:130;;;16450:17;;;;-1:-1:-1;;;;;16431:18:0;;;;;;:7;:18;;;;;;:36;;16450:17;16431:36;:::i;:::-;-1:-1:-1;;;;;16410:18:0;;;;;;:7;:18;;;;;:57;16349:130;16526:9;;-1:-1:-1;;;;;16510:15:0;;16526:9;16510:15;;;:7;:15;;;;;;:25;;16526:9;16510:25;:::i;:::-;-1:-1:-1;;;;;16492:15:0;;;;;;;:7;:15;;;;;;;;:43;;;;16586:17;;;16567:18;;;;;;;;;;:36;;16586:17;16567:36;:::i;:::-;-1:-1:-1;;;;;16546:18:0;;;;;;:7;:18;;;;;;;:57;;;;16620:6;;;:10;;;:24;;;16643:1;16634;:6;;;:10;16620:24;16617:56;;;16646:27;16658:1;:6;;;16666:1;:6;;;16646:11;:27::i;:::-;16702:1;16687;:12;;;:16;:36;;;;16722:1;16707;:12;;;:16;16687:36;16684:109;;;16740:41;16755:1;:12;;;16768:1;:12;;;16740:14;:41::i;:::-;16815:1;16806;:6;;;:10;:24;;;;16829:1;16820;:6;;;:10;16806:24;16803:79;;;16846:24;16855:1;:6;;;16863:1;:6;;;16846:8;:24::i;:::-;16905:1;16895;:7;;;:11;:26;;;;16920:1;16910;:7;;;:11;16895:26;16892:142;;;16937:27;16947:1;:7;;;16956:1;:7;;;16937:9;:27::i;:::-;4540:42;-1:-1:-1;;;;;16984:38:0;16993:6;-1:-1:-1;;;;;16984:38:0;;17014:1;:7;;;16984:38;;;;15789:25:1;;15777:2;15762:18;;15643:177;16984:38:0;;;;;;;;16892:142;17069:9;-1:-1:-1;;;;;17052:46:0;17061:6;-1:-1:-1;;;;;17052:46:0;;17080:1;:17;;;17052:46;;;;15789:25:1;;15777:2;15762:18;;15643:177;17052:46:0;;;;;;;;17139:4;-1:-1:-1;;;;;17114:54:0;17123:6;-1:-1:-1;;;;;17114:54:0;;17161:1;:6;;;17146:1;:12;;;:21;;;;:::i;:::-;17114:54;;15789:25:1;;;15777:2;15762:18;17114:54:0;;;;;;;16137:1042;16039:1140;;;;:::o;13365:540::-;13462:7;;13498;;13415;;;;;13516:279;13540:9;:16;13536:20;;13516:279;;;13606:7;13582;:21;13590:9;13600:1;13590:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13590:12:0;13582:21;;;;;;;;;;;;;:31;;:66;;;13641:7;13617;:21;13625:9;13635:1;13625:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13625:12:0;13617:21;;;;;;;;;;;;;:31;13582:66;13578:97;;;13658:7;;13667;;13650:25;;;;;;;13365:540;;:::o;13578:97::-;13708:7;:21;13716:9;13726:1;13716:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13716:12:0;13708:21;;;;;;;;;;;;;13700:29;;:7;:29;:::i;:::-;13690:39;;13762:7;:21;13770:9;13780:1;13770:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;13770:12:0;13762:21;;;;;;;;;;;;;13754:29;;:7;:29;:::i;:::-;13744:39;-1:-1:-1;13558:3:0;;;;:::i;:::-;;;;13516:279;;;;13827:7;;13819;;:15;;;;:::i;:::-;13809:7;:25;13805:56;;;13844:7;;13853;;13836:25;;;;;;13365:540;;:::o;13805:56::-;13880:7;;13889;;-1:-1:-1;13365:540:0;-1:-1:-1;13365:540:0:o;12037:484::-;12111:28;;:::i;:::-;12159:7;12155:86;;12181:17;;;:27;;;12221:8;;12155:86;12271:5;:9;12281:3;;12263:17;;:7;:17;:::i;:::-;:21;;;;:::i;:::-;12254:6;;;:30;12312:9;;12322:3;;12304:17;;:7;:17;:::i;:::-;:21;;;;:::i;:::-;12295:6;;;:30;12359:15;;12375:3;;12351:23;;:7;:23;:::i;:::-;:27;;;;:::i;:::-;12336:12;;;:42;12407:10;;12418:3;;12399:18;;:7;:18;:::i;:::-;:22;;;;:::i;:::-;12389:7;;;:32;;;12474:12;;;;12467:6;;;;12460;;;;12452:14;;:7;:14;:::i;:::-;:21;;;;:::i;:::-;:34;;;;:::i;:::-;:42;;;;:::i;:::-;12432:17;;;:62;12037:484;;;;:::o;12530:659::-;12655:15;;;;;;12780:19;12788:11;12780:7;:19;:::i;:::-;12770:29;;12817:7;12813:71;;-1:-1:-1;12846:7:0;;-1:-1:-1;12864:1:0;;-1:-1:-1;12864:1:0;;-1:-1:-1;12864:1:0;;-1:-1:-1;12864:1:0;12839:33;;12813:71;12911:11;12904:1;:6;;;:18;;;;:::i;:::-;12897:25;;12947:11;12940:1;:6;;;:18;;;;:::i;:::-;12933:25;;12995:11;12982:1;:12;;;:24;;;;:::i;:::-;12969:37;;13033:11;13025:1;:7;;;:19;;;;:::i;:::-;13017:27;-1:-1:-1;13017:27:0;13092:10;13087:4;13074:12;13082:4;13074:7;:12;:::i;:::-;:17;;;;:::i;:::-;:28;;;;:::i;:::-;:34;;;;:::i;:::-;13055:53;;12530:659;;;;;;;;;;;;:::o;18673:564::-;18823:16;;;18837:1;18823:16;;;;;;;;18799:21;;18823:16;;;;;;;;;;-1:-1:-1;18823:16:0;18799:40;;18868:4;18850;18855:1;18850:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;18850:23:0;;;-1:-1:-1;;;;;18850:23:0;;;;;18894:6;;;;;;;;;-1:-1:-1;;;;;18894:6:0;-1:-1:-1;;;;;18894:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18884:4;18889:1;18884:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;18884:23:0;;;:7;;;;;;;;;:23;18953:6;;18921:53;;18938:4;;18953:6;;;;18962:11;18921:8;:53::i;:::-;19014:6;;:215;;-1:-1:-1;;;19014:215:0;;:6;;;;-1:-1:-1;;;;;19014:6:0;;:57;;:215;;19086:11;;19112:1;;19156:4;;19183;;19203:15;;19014:215;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18728:509;18673:564;:::o;18168:496::-;18348:6;;18316:53;;18333:4;;18348:6;;;-1:-1:-1;;;;;18348:6:0;18357:11;18316:8;:53::i;:::-;18413:6;;-1:-1:-1;;;;;18413:6:0;;;;;:22;18443:9;18476:4;18496:11;18522:1;;18608:7;2049;2076:6;-1:-1:-1;;;;;2076:6:0;;2003:87;18608:7;18413:243;;;;;;-1:-1:-1;;;;;;18413:243:0;;;-1:-1:-1;;;;;6418:15:1;;;18413:243:0;;;6400:34:1;6450:18;;;6443:34;;;;6493:18;;;6486:34;;;;6536:18;;;6529:34;6600:15;;;6579:19;;;6572:44;18630:15:0;6632:19:1;;;6625:35;6334:19;;18413:243:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10717:123::-;10795:4;10785:7;;:14;;;;;;;:::i;:::-;;;;-1:-1:-1;;10810:11:0;:22;;10828:4;;10810:11;:15;;:22;;10828:4;;10810:22;:::i;:::-;;;;-1:-1:-1;;;;10717:123:0:o;10849:285::-;10956:10;10932:11;:21;;;:34;;;;;;;:::i;:::-;;;;-1:-1:-1;;11003:4:0;10983:26;;;;:11;:26;;;;;;;;10980:101;;;11051:4;11035:22;;;;:7;:22;;;;;:34;;11059:10;;11035:22;:34;;11059:10;;11035:34;:::i;:::-;;;;-1:-1:-1;;10980:101:0;11107:4;11091:22;;;;:7;:22;;;;;:35;;11116:10;;11091:22;:35;;11116:10;;11091:35;:::i;11143:243::-;11226:4;11208:11;:15;;;:22;;;;;;;:::i;11395:243::-;11481:5;11462:11;:16;;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;;4540:42:0;11503:24;;:11;:24;;;;;;11500:92;;;4540:42;11553:20;;;;:7;:20;;;:27;;11575:5;;11553:20;:27;;11575:5;;11553:27;:::i;:::-;;;;-1:-1:-1;;11500:92:0;4540:42;11602:20;;;;:7;:20;;;:28;;11625:5;;11602:20;:28;;11625:5;;11602:28;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:128::-;218:20;;247:28;218:20;247:28;:::i;286:247::-;345:6;398:2;386:9;377:7;373:23;369:32;366:52;;;414:1;411;404:12;366:52;453:9;440:23;472:31;497:5;472:31;:::i;538:251::-;608:6;661:2;649:9;640:7;636:23;632:32;629:52;;;677:1;674;667:12;629:52;709:9;703:16;728:31;753:5;728:31;:::i;794:388::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;978:9;965:23;997:31;1022:5;997:31;:::i;:::-;1047:5;-1:-1:-1;1104:2:1;1089:18;;1076:32;1117:33;1076:32;1117:33;:::i;:::-;1169:7;1159:17;;;794:388;;;;;:::o;1187:456::-;1264:6;1272;1280;1333:2;1321:9;1312:7;1308:23;1304:32;1301:52;;;1349:1;1346;1339:12;1301:52;1388:9;1375:23;1407:31;1432:5;1407:31;:::i;:::-;1457:5;-1:-1:-1;1514:2:1;1499:18;;1486:32;1527:33;1486:32;1527:33;:::i;:::-;1187:456;;1579:7;;-1:-1:-1;;;1633:2:1;1618:18;;;;1605:32;;1187:456::o;1648:382::-;1713:6;1721;1774:2;1762:9;1753:7;1749:23;1745:32;1742:52;;;1790:1;1787;1780:12;1742:52;1829:9;1816:23;1848:31;1873:5;1848:31;:::i;:::-;1898:5;-1:-1:-1;1955:2:1;1940:18;;1927:32;1968:30;1927:32;1968:30;:::i;2035:315::-;2103:6;2111;2164:2;2152:9;2143:7;2139:23;2135:32;2132:52;;;2180:1;2177;2170:12;2132:52;2219:9;2206:23;2238:31;2263:5;2238:31;:::i;:::-;2288:5;2340:2;2325:18;;;;2312:32;;-1:-1:-1;;;2035:315:1:o;2355:1202::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2562:9;2549:23;2591:18;2632:2;2624:6;2621:14;2618:34;;;2648:1;2645;2638:12;2618:34;2686:6;2675:9;2671:22;2661:32;;2731:7;2724:4;2720:2;2716:13;2712:27;2702:55;;2753:1;2750;2743:12;2702:55;2789:2;2776:16;2811:4;2834:2;2830;2827:10;2824:36;;;2840:18;;:::i;:::-;2886:2;2883:1;2879:10;2918:2;2912:9;2981:2;2977:7;2972:2;2968;2964:11;2960:25;2952:6;2948:38;3036:6;3024:10;3021:22;3016:2;3004:10;3001:18;2998:46;2995:72;;;3047:18;;:::i;:::-;3083:2;3076:22;3133:18;;;3167:15;;;;-1:-1:-1;3202:11:1;;;3232;;;3228:20;;3225:33;-1:-1:-1;3222:53:1;;;3271:1;3268;3261:12;3222:53;3293:1;3284:10;;3303:169;3317:2;3314:1;3311:9;3303:169;;;3374:23;3393:3;3374:23;:::i;:::-;3362:36;;3335:1;3328:9;;;;;3418:12;;;;3450;;3303:169;;;-1:-1:-1;3491:6:1;-1:-1:-1;3516:35:1;;-1:-1:-1;3532:18:1;;;3516:35;:::i;:::-;3506:45;;;;;;2355:1202;;;;;:::o;3562:241::-;3618:6;3671:2;3659:9;3650:7;3646:23;3642:32;3639:52;;;3687:1;3684;3677:12;3639:52;3726:9;3713:23;3745:28;3767:5;3745:28;:::i;3808:245::-;3875:6;3928:2;3916:9;3907:7;3903:23;3899:32;3896:52;;;3944:1;3941;3934:12;3896:52;3976:9;3970:16;3995:28;4017:5;3995:28;:::i;4058:309::-;4123:6;4131;4184:2;4172:9;4163:7;4159:23;4155:32;4152:52;;;4200:1;4197;4190:12;4152:52;4239:9;4226:23;4258:28;4280:5;4258:28;:::i;4372:180::-;4431:6;4484:2;4472:9;4463:7;4459:23;4455:32;4452:52;;;4500:1;4497;4490:12;4452:52;-1:-1:-1;4523:23:1;;4372:180;-1:-1:-1;4372:180:1:o;4557:309::-;4622:6;4630;4683:2;4671:9;4662:7;4658:23;4654:32;4651:52;;;4699:1;4696;4689:12;4651:52;4735:9;4722:23;4712:33;;4795:2;4784:9;4780:18;4767:32;4808:28;4830:5;4808:28;:::i;4871:306::-;4959:6;4967;4975;5028:2;5016:9;5007:7;5003:23;4999:32;4996:52;;;5044:1;5041;5034:12;4996:52;5073:9;5067:16;5057:26;;5123:2;5112:9;5108:18;5102:25;5092:35;;5167:2;5156:9;5152:18;5146:25;5136:35;;4871:306;;;;;:::o;5182:385::-;5268:6;5276;5284;5292;5345:3;5333:9;5324:7;5320:23;5316:33;5313:53;;;5362:1;5359;5352:12;5313:53;-1:-1:-1;;5385:23:1;;;5455:2;5440:18;;5427:32;;-1:-1:-1;5506:2:1;5491:18;;5478:32;;5557:2;5542:18;5529:32;;-1:-1:-1;5182:385:1;-1:-1:-1;5182:385:1:o;7086:597::-;7198:4;7227:2;7256;7245:9;7238:21;7288:6;7282:13;7331:6;7326:2;7315:9;7311:18;7304:34;7356:1;7366:140;7380:6;7377:1;7374:13;7366:140;;;7475:14;;;7471:23;;7465:30;7441:17;;;7460:2;7437:26;7430:66;7395:10;;7366:140;;;7524:6;7521:1;7518:13;7515:91;;;7594:1;7589:2;7580:6;7569:9;7565:22;7561:31;7554:42;7515:91;-1:-1:-1;7667:2:1;7646:15;-1:-1:-1;;7642:29:1;7627:45;;;;7674:2;7623:54;;7086:597;-1:-1:-1;;;7086:597:1:o;12269:356::-;12471:2;12453:21;;;12490:18;;;12483:30;12549:34;12544:2;12529:18;;12522:62;12616:2;12601:18;;12269:356::o;15825:980::-;16087:4;16135:3;16124:9;16120:19;16166:6;16155:9;16148:25;16192:2;16230:6;16225:2;16214:9;16210:18;16203:34;16273:3;16268:2;16257:9;16253:18;16246:31;16297:6;16332;16326:13;16363:6;16355;16348:22;16401:3;16390:9;16386:19;16379:26;;16440:2;16432:6;16428:15;16414:29;;16461:1;16471:195;16485:6;16482:1;16479:13;16471:195;;;16550:13;;-1:-1:-1;;;;;16546:39:1;16534:52;;16641:15;;;;16606:12;;;;16582:1;16500:9;16471:195;;;-1:-1:-1;;;;;;;16722:32:1;;;;16717:2;16702:18;;16695:60;-1:-1:-1;;;16786:3:1;16771:19;16764:35;16683:3;15825:980;-1:-1:-1;;;15825:980:1:o;17395:128::-;17435:3;17466:1;17462:6;17459:1;17456:13;17453:39;;;17472:18;;:::i;:::-;-1:-1:-1;17508:9:1;;17395:128::o;17528:217::-;17568:1;17594;17584:132;;17638:10;17633:3;17629:20;17626:1;17619:31;17673:4;17670:1;17663:15;17701:4;17698:1;17691:15;17584:132;-1:-1:-1;17730:9:1;;17528:217::o;17750:422::-;17839:1;17882:5;17839:1;17896:270;17917:7;17907:8;17904:21;17896:270;;;17976:4;17972:1;17968:6;17964:17;17958:4;17955:27;17952:53;;;17985:18;;:::i;:::-;18035:7;18025:8;18021:22;18018:55;;;18055:16;;;;18018:55;18134:22;;;;18094:15;;;;17896:270;;;17900:3;17750:422;;;;;:::o;18177:140::-;18235:5;18264:47;18305:4;18295:8;18291:19;18285:4;18371:5;18401:8;18391:80;;-1:-1:-1;18442:1:1;18456:5;;18391:80;18490:4;18480:76;;-1:-1:-1;18527:1:1;18541:5;;18480:76;18572:4;18590:1;18585:59;;;;18658:1;18653:130;;;;18565:218;;18585:59;18615:1;18606:10;;18629:5;;;18653:130;18690:3;18680:8;18677:17;18674:43;;;18697:18;;:::i;:::-;-1:-1:-1;;18753:1:1;18739:16;;18768:5;;18565:218;;18867:2;18857:8;18854:16;18848:3;18842:4;18839:13;18835:36;18829:2;18819:8;18816:16;18811:2;18805:4;18802:12;18798:35;18795:77;18792:159;;;-1:-1:-1;18904:19:1;;;18936:5;;18792:159;18983:34;19008:8;19002:4;18983:34;:::i;:::-;19053:6;19049:1;19045:6;19041:19;19032:7;19029:32;19026:58;;;19064:18;;:::i;:::-;19102:20;;18322:806;-1:-1:-1;;;18322:806:1:o;19133:168::-;19173:7;19239:1;19235;19231:6;19227:14;19224:1;19221:21;19216:1;19209:9;19202:17;19198:45;19195:71;;;19246:18;;:::i;:::-;-1:-1:-1;19286:9:1;;19133:168::o;19306:125::-;19346:4;19374:1;19371;19368:8;19365:34;;;19379:18;;:::i;:::-;-1:-1:-1;19416:9:1;;19306:125::o;19436:135::-;19475:3;-1:-1:-1;;19496:17:1;;19493:43;;;19516:18;;:::i;:::-;-1:-1:-1;19563:1:1;19552:13;;19436:135::o;19576:127::-;19637:10;19632:3;19628:20;19625:1;19618:31;19668:4;19665:1;19658:15;19692:4;19689:1;19682:15;19708:127;19769:10;19764:3;19760:20;19757:1;19750:31;19800:4;19797:1;19790:15;19824:4;19821:1;19814:15;19840:127;19901:10;19896:3;19892:20;19889:1;19882:31;19932:4;19929:1;19922:15;19956:4;19953:1;19946:15;19972:127;20033:10;20028:3;20024:20;20021:1;20014:31;20064:4;20061:1;20054:15;20088:4;20085:1;20078:15;20104:131;-1:-1:-1;;;;;20179:31:1;;20169:42;;20159:70;;20225:1;20222;20215:12;20240:118;20326:5;20319:13;20312:21;20305:5;20302:32;20292:60;;20348:1;20345;20338:12

Swarm Source

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