ETH Price: $3,166.27 (+2.76%)

Token

Earthy scent (PETRICHOR)
 

Overview

Max Total Supply

10,000,000,000 PETRICHOR

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
versian.eth
Balance
16,035,847.582848983 PETRICHOR

Value
$0.00
0xa5f6d896e8b4d29ac6e5d8c4b26f8d2073ac90ae
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PETRICHOR

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-11-26
*/

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

// SPDX-License-Identifier: Unlicensed

/*
;chor
*/

pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}  

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

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

contract PETRICHOR is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant _tTotal = 1e10 * 10**9;
    
    uint256 private _buyProjectFee = 30;
    uint256 private _previousBuyProjectFee = _buyProjectFee;
    
    uint256 private _sellProjectFee = 30;
    uint256 private _previousSellProjectFee = _sellProjectFee;
       
    address payable private _projectWallet;
    
    string private constant _name = "Earthy scent";
    string private constant _symbol = "PETRICHOR";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    bool private swapping;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private tradingActiveBlock = 0; // 0 means trading is not active
    uint256 private blocksToBlacklist = 0;
    uint256 private _maxBuyAmount = _tTotal;
    uint256 private _maxSellAmount = _tTotal;
    uint256 private _maxWalletAmount = _tTotal;
    uint256 private swapTokensAtAmount = 0;
    
    event MaxBuyAmountUpdated(uint _maxBuyAmount);
    event MaxSellAmountUpdated(uint _maxSellAmount);
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address _uniswapV2Router, address projectWallet) {
        uniswapV2Router = IUniswapV2Router02(_uniswapV2Router);

        _projectWallet = payable(projectWallet);
        _rOwned[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_projectWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

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

    function setSwapEnabled(bool onoff) external onlyOwner(){
        swapEnabled = onoff;
    }

    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");
        bool takeFee = false;
        bool shouldSwap = false;
        if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {
            require(!bots[from] && !bots[to]);

            takeFee = true;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled) {
                require(amount <= _maxBuyAmount, "Transfer amount exceeds the maxBuyAmount.");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Exceeds maximum wallet token amount.");
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && !_isExcludedFromFee[from] && cooldownEnabled) {
                require(amount <= _maxSellAmount, "Transfer amount exceeds the maxSellAmount.");
                shouldSwap = true;
            }
        }

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = (contractTokenBalance > swapTokensAtAmount) && shouldSwap;

        if (canSwap && swapEnabled && !swapping && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            swapping = true;
            swapBack();
            swapping = false;
        }

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

    function swapBack() private {
        uint256 tokensForProject = balanceOf(address(this));
        
        bool success;
        
        if(tokensForProject == 0) {return;}

        if(tokensForProject > swapTokensAtAmount * 10) {
            tokensForProject = swapTokensAtAmount * 10;
        }
                
        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(tokensForProject); 
                              
        (success,) = address(_projectWallet).call{value: address(this).balance - initialETHBalance}("");
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
       
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");        
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxBuyAmount = 5e7 * 10**9;
        _maxSellAmount = 5e7 * 10**9;
        _maxWalletAmount = 1e8 * 10**9;
        swapTokensAtAmount = 5e6 * 10**9;
        tradingOpen = true;
        tradingActiveBlock = block.number;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function setMaxBuyAmount(uint256 maxBuy) public onlyOwner {
        _maxBuyAmount = maxBuy;
    }

    function setMaxSellAmount(uint256 maxSell) public onlyOwner {
        _maxSellAmount = maxSell;
    }
    
    function setMaxWalletAmount(uint256 maxToken) public onlyOwner {
        _maxWalletAmount = maxToken;
    }
    
    function setSwapTokensAtAmount(uint256 newAmount) public onlyOwner {
        require(newAmount >= 1e3 * 10**9, "Swap amount cannot be lower than 0.001% total supply.");
        require(newAmount <= 5e6 * 10**9, "Swap amount cannot be higher than 0.5% total supply.");
        swapTokensAtAmount = newAmount;
    }

    function setProjectWallet(address projectWallet) public onlyOwner() {
        require(projectWallet != address(0), "projectWallet address cannot be 0");
        _isExcludedFromFee[_projectWallet] = false;
        _projectWallet = payable(projectWallet);
        _isExcludedFromFee[_projectWallet] = true;
    }

    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
    
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }

    function setBuyFee(uint256 buyProjectFee) external onlyOwner {
        require(buyProjectFee <= 30, "Buy tax is hard coded to remain under 30%");
        _buyProjectFee = buyProjectFee;
    }

    function setSellFee(uint256 sellProjectFee) external onlyOwner {
        require(sellProjectFee <= 30, "You safe friends.");
        _sellProjectFee = sellProjectFee;
        
    }

    function setBlocksToBlacklist(uint256 blocks) public onlyOwner {
        blocksToBlacklist = blocks;
    }

    function removeAllFee() private {
        if(_buyProjectFee == 0 && _sellProjectFee == 0) return;
        
        _previousBuyProjectFee = _buyProjectFee;
        _previousSellProjectFee = _sellProjectFee;
                
        _buyProjectFee = 0;
        _sellProjectFee = 0;        
    }
    
    function restoreAllFee() private {
        _buyProjectFee = _previousBuyProjectFee;
        _sellProjectFee = _previousSellProjectFee;
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee, bool isSell) private {
        if(!takeFee) {
            removeAllFee();
        } else {
            amount = _takeFees(sender, amount, isSell);
        }

        _transferStandard(sender, recipient, amount);
        
        if(!takeFee) {
            restoreAllFee();
        }
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        _rOwned[sender] = _rOwned[sender].sub(tAmount);
        _rOwned[recipient] = _rOwned[recipient].add(tAmount);
        emit Transfer(sender, recipient, tAmount);
    }

    function _takeFees(address sender, uint256 amount, bool isSell) private returns (uint256) {
        uint256 pjctFee;
        if(tradingActiveBlock + blocksToBlacklist >= block.number){
            pjctFee = 30;            
        } else {
            if (isSell) {
                pjctFee = _sellProjectFee;                
            } else {
                pjctFee = _buyProjectFee;                
            }
        }
                
        uint256 tokensForProject = amount.mul(pjctFee).div(100);
        if(tokensForProject > 0) {
            _transferStandard(sender, address(this), tokensForProject);
        }
            
        return amount -= tokensForProject;
    }

    receive() external payable {}

    function manualswap() public onlyOwner() {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    
    function withdrawStuckETH() external onlyOwner {
        bool success;
        (success,) = address(msg.sender).call{value: address(this).balance}("");
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_uniswapV2Router","type":"address"},{"internalType":"address","name":"projectWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxSellAmount","type":"uint256"}],"name":"MaxSellAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blocks","type":"uint256"}],"name":"setBlocksToBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyProjectFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"}],"name":"setMaxBuyAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxSell","type":"uint256"}],"name":"setMaxSellAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxToken","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"projectWallet","type":"address"}],"name":"setProjectWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellProjectFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601e600781905560088190556009819055600a55600d805462ffffff60b01b191690556000600e819055600f819055678ac7230489e80000601081905560118190556012556013553480156200005957600080fd5b50604051620024de380380620024de8339810160408190526200007c9162000225565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b038085166001600160a01b031992831617909255600b805492841692909116919091179055678ac7230489e8000060026000620001023390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600460006200013c620001f960201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155600b549091168352912080549092161790556200019b3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef678ac7230489e80000604051620001e991815260200190565b60405180910390a350506200025c565b6000546001600160a01b031690565b80516001600160a01b03811681146200022057600080fd5b919050565b6000806040838503121562000238578182fd5b620002438362000208565b9150620002536020840162000208565b90509250929050565b612272806200026c6000396000f3fe6080604052600436106101d15760003560e01c80638b4cee08116100f7578063c9567bf911610095578063e99c9d0911610064578063e99c9d091461059a578063ea2f0b37146105ba578063f34eb0b8146105da578063f5648a4f146105fa57600080fd5b8063c9567bf9146104ff578063dd62ed3e14610514578063e01af92c1461055a578063e6f7ef4d1461057a57600080fd5b8063a9059cbb116100d1578063a9059cbb1461048a578063afa4f3b2146104aa578063b515566a146104ca578063c3c8cd80146104ea57600080fd5b80638b4cee081461041a5780638da5cb5b1461043a57806395d89b411461045857600080fd5b806327a14fc21161016f5780635932ead11161013e5780635932ead11461038f57806370a08231146103af578063715018a6146103e55780638a780447146103fa57600080fd5b806327a14fc214610313578063313ce56714610333578063437823ec1461034f57806349bd5a5e1461036f57600080fd5b80631694505e116101ab5780631694505e1461027657806318160ddd146102ae57806323b872dd146102d3578063273123b7146102f357600080fd5b806306fdde03146101dd578063095ea7b3146102245780630cc835a31461025457600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152600c81526b11585c9d1a1e481cd8d95b9d60a21b60208201525b60405161021b9190612044565b60405180910390f35b34801561023057600080fd5b5061024461023f366004611ed5565b61060f565b604051901515815260200161021b565b34801561026057600080fd5b5061027461026f366004611fff565b610626565b005b34801561028257600080fd5b50600c54610296906001600160a01b031681565b6040516001600160a01b03909116815260200161021b565b3480156102ba57600080fd5b50678ac7230489e800005b60405190815260200161021b565b3480156102df57600080fd5b506102446102ee366004611e95565b6106c1565b3480156102ff57600080fd5b5061027461030e366004611e25565b61072a565b34801561031f57600080fd5b5061027461032e366004611fff565b610775565b34801561033f57600080fd5b506040516009815260200161021b565b34801561035b57600080fd5b5061027461036a366004611e25565b6107a4565b34801561037b57600080fd5b50600d54610296906001600160a01b031681565b34801561039b57600080fd5b506102746103aa366004611fc7565b6107f2565b3480156103bb57600080fd5b506102c56103ca366004611e25565b6001600160a01b031660009081526002602052604090205490565b3480156103f157600080fd5b5061027461083a565b34801561040657600080fd5b50610274610415366004611e25565b6108ae565b34801561042657600080fd5b50610274610435366004611fff565b610988565b34801561044657600080fd5b506000546001600160a01b0316610296565b34801561046457600080fd5b506040805180820190915260098152682822aa2924a1a427a960b91b602082015261020e565b34801561049657600080fd5b506102446104a5366004611ed5565b6109fc565b3480156104b657600080fd5b506102746104c5366004611fff565b610a09565b3480156104d657600080fd5b506102746104e5366004611f00565b610b1f565b3480156104f657600080fd5b50610274610bc3565b34801561050b57600080fd5b50610274610c09565b34801561052057600080fd5b506102c561052f366004611e5d565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561056657600080fd5b50610274610575366004611fc7565b611012565b34801561058657600080fd5b50610274610595366004611fff565b61105a565b3480156105a657600080fd5b506102746105b5366004611fff565b611089565b3480156105c657600080fd5b506102746105d5366004611e25565b6110b8565b3480156105e657600080fd5b506102746105f5366004611fff565b611103565b34801561060657600080fd5b50610274611132565b600061061c3384846111a9565b5060015b92915050565b6000546001600160a01b031633146106595760405162461bcd60e51b815260040161065090612097565b60405180910390fd5b601e8111156106bc5760405162461bcd60e51b815260206004820152602960248201527f42757920746178206973206861726420636f64656420746f2072656d61696e20604482015268756e6465722033302560b81b6064820152608401610650565b600755565b60006106ce8484846112ce565b610720843361071b85604051806060016040528060288152602001612215602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611867565b6111a9565b5060019392505050565b6000546001600160a01b031633146107545760405162461bcd60e51b815260040161065090612097565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b0316331461079f5760405162461bcd60e51b815260040161065090612097565b601255565b6000546001600160a01b031633146107ce5760405162461bcd60e51b815260040161065090612097565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b0316331461081c5760405162461bcd60e51b815260040161065090612097565b600d8054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146108645760405162461bcd60e51b815260040161065090612097565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108d85760405162461bcd60e51b815260040161065090612097565b6001600160a01b0381166109385760405162461bcd60e51b815260206004820152602160248201527f70726f6a65637457616c6c657420616464726573732063616e6e6f74206265206044820152600360fc1b6064820152608401610650565b600b80546001600160a01b03908116600090815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b031633146109b25760405162461bcd60e51b815260040161065090612097565b601e8111156109f75760405162461bcd60e51b81526020600482015260116024820152702cb7ba9039b0b33290333934b2b732399760791b6044820152606401610650565b600955565b600061061c3384846112ce565b6000546001600160a01b03163314610a335760405162461bcd60e51b815260040161065090612097565b64e8d4a51000811015610aa65760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610650565b6611c37937e08000811115610b1a5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610650565b601355565b6000546001600160a01b03163314610b495760405162461bcd60e51b815260040161065090612097565b60005b8151811015610bbf57600160056000848481518110610b7b57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610bb7816121aa565b915050610b4c565b5050565b6000546001600160a01b03163314610bed5760405162461bcd60e51b815260040161065090612097565b30600090815260026020526040902054610c06816118a1565b50565b6000546001600160a01b03163314610c335760405162461bcd60e51b815260040161065090612097565b600d54600160a01b900460ff1615610c8d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610650565b600c54610cad9030906001600160a01b0316678ac7230489e800006111a9565b600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cfb57600080fd5b505afa158015610d0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d339190611e41565b6001600160a01b031663c9c6539630600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9057600080fd5b505afa158015610da4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc89190611e41565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610e1057600080fd5b505af1158015610e24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e489190611e41565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d7194730610e90816001600160a01b031660009081526002602052604090205490565b600080610ea56000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610f0857600080fd5b505af1158015610f1c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f419190612017565b5050600d805466b1a2bc2ec50000601081905560115567016345785d8a00006012556611c37937e0800060135564ffff0000ff60a01b19811664010100000160a01b1790915543600e55600c5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610fda57600080fd5b505af1158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c069190611fe3565b6000546001600160a01b0316331461103c5760405162461bcd60e51b815260040161065090612097565b600d8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146110845760405162461bcd60e51b815260040161065090612097565b600f55565b6000546001600160a01b031633146110b35760405162461bcd60e51b815260040161065090612097565b601155565b6000546001600160a01b031633146110e25760405162461bcd60e51b815260040161065090612097565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b0316331461112d5760405162461bcd60e51b815260040161065090612097565b601055565b6000546001600160a01b0316331461115c5760405162461bcd60e51b815260040161065090612097565b604051600090339047908381818185875af1925050503d806000811461119e576040519150601f19603f3d011682016040523d82523d6000602084013e6111a3565b606091505b50505050565b6001600160a01b03831661120b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610650565b6001600160a01b03821661126c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610650565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166113325760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610650565b6001600160a01b0382166113945760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610650565b600081116113f65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610650565b60008061140b6000546001600160a01b031690565b6001600160a01b0316856001600160a01b03161415801561143a57506000546001600160a01b03858116911614155b801561144e57506001600160a01b03841615155b801561146557506001600160a01b03841661dead14155b801561147b5750600d54600160a81b900460ff16155b15611740576001600160a01b03851660009081526005602052604090205460ff161580156114c257506001600160a01b03841660009081526005602052604090205460ff16155b6114cb57600080fd5b600d54600192506001600160a01b0386811691161480156114fa5750600c546001600160a01b03858116911614155b801561151f57506001600160a01b03841660009081526004602052604090205460ff16155b80156115345750600d54600160c01b900460ff165b1561166d5760105483111561159d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178426044820152683abca0b6b7bab73a1760b91b6064820152608401610650565b601254836115c0866001600160a01b031660009081526002602052604090205490565b6115ca919061213c565b11156116245760405162461bcd60e51b8152602060048201526024808201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152633ab73a1760e11b6064820152608401610650565b6001600160a01b038416600090815260066020526040902054421161164857600080fd5b61165342601e61213c565b6001600160a01b0385166000908152600660205260409020555b600d546001600160a01b0385811691161480156116985750600c546001600160a01b03868116911614155b80156116bd57506001600160a01b03851660009081526004602052604090205460ff16155b80156116d25750600d54600160c01b900460ff165b156117405760115483111561173c5760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785360448201526932b63620b6b7bab73a1760b11b6064820152608401610650565b5060015b6001600160a01b03851660009081526004602052604090205460ff168061177f57506001600160a01b03841660009081526004602052604090205460ff165b1561178957600091505b3060009081526002602052604081205490506000601354821180156117ab5750825b90508080156117c35750600d54600160b81b900460ff165b80156117d95750600d54600160a81b900460ff16155b80156117fe57506001600160a01b03871660009081526004602052604090205460ff16155b801561182357506001600160a01b03861660009081526004602052604090205460ff16155b1561185157600d805460ff60a81b1916600160a81b179055611843611a46565b600d805460ff60a81b191690555b61185e8787878787611aef565b50505050505050565b6000818484111561188b5760405162461bcd60e51b81526004016106509190612044565b5060006118988486612193565b95945050505050565b600d805460ff60b01b1916600160b01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118f757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561194b57600080fd5b505afa15801561195f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119839190611e41565b816001815181106119a457634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600c546119ca91309116846111a9565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a039085906000908690309042906004016120cc565b600060405180830381600087803b158015611a1d57600080fd5b505af1158015611a31573d6000803e3d6000fd5b5050600d805460ff60b01b1916905550505050565b306000908152600260205260408120549081611a60575050565b601354611a6e90600a612174565b821115611a8657601354611a8390600a612174565b91505b47611a90836118a1565b600b546001600160a01b0316611aa68247612193565b604051600081818185875af1925050503d8060008114611ae2576040519150601f19603f3d011682016040523d82523d6000602084013e611ae7565b606091505b505050505050565b81611b0157611afc611b37565b611b0f565b611b0c858483611b65565b92505b611b1a858585611bd8565b81611b3057611b30600854600755600a54600955565b5050505050565b600754158015611b475750600954155b15611b4e57565b6007805460085560098054600a5560009182905555565b60008043600f54600e54611b79919061213c565b10611b865750601e611b9a565b8215611b955750600954611b9a565b506007545b6000611bb16064611bab8785611c7e565b90611d04565b90508015611bc457611bc4863083611bd8565b611bce8186612193565b9695505050505050565b6001600160a01b038316600090815260026020526040902054611bfb9082611d46565b6001600160a01b038085166000908152600260205260408082209390935590841681522054611c2a9082611d88565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112c19085815260200190565b600082611c8d57506000610620565b6000611c998385612174565b905082611ca68583612154565b14611cfd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610650565b9392505050565b6000611cfd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de7565b6000611cfd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611867565b600080611d95838561213c565b905083811015611cfd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610650565b60008183611e085760405162461bcd60e51b81526004016106509190612044565b5060006118988486612154565b8035611e20816121f1565b919050565b600060208284031215611e36578081fd5b8135611cfd816121f1565b600060208284031215611e52578081fd5b8151611cfd816121f1565b60008060408385031215611e6f578081fd5b8235611e7a816121f1565b91506020830135611e8a816121f1565b809150509250929050565b600080600060608486031215611ea9578081fd5b8335611eb4816121f1565b92506020840135611ec4816121f1565b929592945050506040919091013590565b60008060408385031215611ee7578182fd5b8235611ef2816121f1565b946020939093013593505050565b60006020808385031215611f12578182fd5b823567ffffffffffffffff80821115611f29578384fd5b818501915085601f830112611f3c578384fd5b813581811115611f4e57611f4e6121db565b8060051b604051601f19603f83011681018181108582111715611f7357611f736121db565b604052828152858101935084860182860187018a1015611f91578788fd5b8795505b83861015611fba57611fa681611e15565b855260019590950194938601938601611f95565b5098975050505050505050565b600060208284031215611fd8578081fd5b8135611cfd81612206565b600060208284031215611ff4578081fd5b8151611cfd81612206565b600060208284031215612010578081fd5b5035919050565b60008060006060848603121561202b578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561207057858101830151858201604001528201612054565b818111156120815783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561211b5784516001600160a01b0316835293830193918301916001016120f6565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561214f5761214f6121c5565b500190565b60008261216f57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561218e5761218e6121c5565b500290565b6000828210156121a5576121a56121c5565b500390565b60006000198214156121be576121be6121c5565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610c0657600080fd5b8015158114610c0657600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d99f40933a79817c89bbf7b1b591214e405e26e78ed2f704ee1e7b4e3be71a0c64736f6c634300080400330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000037f11d92231bf9f2adc15f5f58539f453409a771

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80638b4cee08116100f7578063c9567bf911610095578063e99c9d0911610064578063e99c9d091461059a578063ea2f0b37146105ba578063f34eb0b8146105da578063f5648a4f146105fa57600080fd5b8063c9567bf9146104ff578063dd62ed3e14610514578063e01af92c1461055a578063e6f7ef4d1461057a57600080fd5b8063a9059cbb116100d1578063a9059cbb1461048a578063afa4f3b2146104aa578063b515566a146104ca578063c3c8cd80146104ea57600080fd5b80638b4cee081461041a5780638da5cb5b1461043a57806395d89b411461045857600080fd5b806327a14fc21161016f5780635932ead11161013e5780635932ead11461038f57806370a08231146103af578063715018a6146103e55780638a780447146103fa57600080fd5b806327a14fc214610313578063313ce56714610333578063437823ec1461034f57806349bd5a5e1461036f57600080fd5b80631694505e116101ab5780631694505e1461027657806318160ddd146102ae57806323b872dd146102d3578063273123b7146102f357600080fd5b806306fdde03146101dd578063095ea7b3146102245780630cc835a31461025457600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152600c81526b11585c9d1a1e481cd8d95b9d60a21b60208201525b60405161021b9190612044565b60405180910390f35b34801561023057600080fd5b5061024461023f366004611ed5565b61060f565b604051901515815260200161021b565b34801561026057600080fd5b5061027461026f366004611fff565b610626565b005b34801561028257600080fd5b50600c54610296906001600160a01b031681565b6040516001600160a01b03909116815260200161021b565b3480156102ba57600080fd5b50678ac7230489e800005b60405190815260200161021b565b3480156102df57600080fd5b506102446102ee366004611e95565b6106c1565b3480156102ff57600080fd5b5061027461030e366004611e25565b61072a565b34801561031f57600080fd5b5061027461032e366004611fff565b610775565b34801561033f57600080fd5b506040516009815260200161021b565b34801561035b57600080fd5b5061027461036a366004611e25565b6107a4565b34801561037b57600080fd5b50600d54610296906001600160a01b031681565b34801561039b57600080fd5b506102746103aa366004611fc7565b6107f2565b3480156103bb57600080fd5b506102c56103ca366004611e25565b6001600160a01b031660009081526002602052604090205490565b3480156103f157600080fd5b5061027461083a565b34801561040657600080fd5b50610274610415366004611e25565b6108ae565b34801561042657600080fd5b50610274610435366004611fff565b610988565b34801561044657600080fd5b506000546001600160a01b0316610296565b34801561046457600080fd5b506040805180820190915260098152682822aa2924a1a427a960b91b602082015261020e565b34801561049657600080fd5b506102446104a5366004611ed5565b6109fc565b3480156104b657600080fd5b506102746104c5366004611fff565b610a09565b3480156104d657600080fd5b506102746104e5366004611f00565b610b1f565b3480156104f657600080fd5b50610274610bc3565b34801561050b57600080fd5b50610274610c09565b34801561052057600080fd5b506102c561052f366004611e5d565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561056657600080fd5b50610274610575366004611fc7565b611012565b34801561058657600080fd5b50610274610595366004611fff565b61105a565b3480156105a657600080fd5b506102746105b5366004611fff565b611089565b3480156105c657600080fd5b506102746105d5366004611e25565b6110b8565b3480156105e657600080fd5b506102746105f5366004611fff565b611103565b34801561060657600080fd5b50610274611132565b600061061c3384846111a9565b5060015b92915050565b6000546001600160a01b031633146106595760405162461bcd60e51b815260040161065090612097565b60405180910390fd5b601e8111156106bc5760405162461bcd60e51b815260206004820152602960248201527f42757920746178206973206861726420636f64656420746f2072656d61696e20604482015268756e6465722033302560b81b6064820152608401610650565b600755565b60006106ce8484846112ce565b610720843361071b85604051806060016040528060288152602001612215602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611867565b6111a9565b5060019392505050565b6000546001600160a01b031633146107545760405162461bcd60e51b815260040161065090612097565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6000546001600160a01b0316331461079f5760405162461bcd60e51b815260040161065090612097565b601255565b6000546001600160a01b031633146107ce5760405162461bcd60e51b815260040161065090612097565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b0316331461081c5760405162461bcd60e51b815260040161065090612097565b600d8054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146108645760405162461bcd60e51b815260040161065090612097565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108d85760405162461bcd60e51b815260040161065090612097565b6001600160a01b0381166109385760405162461bcd60e51b815260206004820152602160248201527f70726f6a65637457616c6c657420616464726573732063616e6e6f74206265206044820152600360fc1b6064820152608401610650565b600b80546001600160a01b03908116600090815260046020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000546001600160a01b031633146109b25760405162461bcd60e51b815260040161065090612097565b601e8111156109f75760405162461bcd60e51b81526020600482015260116024820152702cb7ba9039b0b33290333934b2b732399760791b6044820152606401610650565b600955565b600061061c3384846112ce565b6000546001600160a01b03163314610a335760405162461bcd60e51b815260040161065090612097565b64e8d4a51000811015610aa65760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610650565b6611c37937e08000811115610b1a5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610650565b601355565b6000546001600160a01b03163314610b495760405162461bcd60e51b815260040161065090612097565b60005b8151811015610bbf57600160056000848481518110610b7b57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610bb7816121aa565b915050610b4c565b5050565b6000546001600160a01b03163314610bed5760405162461bcd60e51b815260040161065090612097565b30600090815260026020526040902054610c06816118a1565b50565b6000546001600160a01b03163314610c335760405162461bcd60e51b815260040161065090612097565b600d54600160a01b900460ff1615610c8d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610650565b600c54610cad9030906001600160a01b0316678ac7230489e800006111a9565b600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cfb57600080fd5b505afa158015610d0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d339190611e41565b6001600160a01b031663c9c6539630600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9057600080fd5b505afa158015610da4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc89190611e41565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610e1057600080fd5b505af1158015610e24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e489190611e41565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d7194730610e90816001600160a01b031660009081526002602052604090205490565b600080610ea56000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610f0857600080fd5b505af1158015610f1c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f419190612017565b5050600d805466b1a2bc2ec50000601081905560115567016345785d8a00006012556611c37937e0800060135564ffff0000ff60a01b19811664010100000160a01b1790915543600e55600c5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b158015610fda57600080fd5b505af1158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c069190611fe3565b6000546001600160a01b0316331461103c5760405162461bcd60e51b815260040161065090612097565b600d8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b031633146110845760405162461bcd60e51b815260040161065090612097565b600f55565b6000546001600160a01b031633146110b35760405162461bcd60e51b815260040161065090612097565b601155565b6000546001600160a01b031633146110e25760405162461bcd60e51b815260040161065090612097565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b0316331461112d5760405162461bcd60e51b815260040161065090612097565b601055565b6000546001600160a01b0316331461115c5760405162461bcd60e51b815260040161065090612097565b604051600090339047908381818185875af1925050503d806000811461119e576040519150601f19603f3d011682016040523d82523d6000602084013e6111a3565b606091505b50505050565b6001600160a01b03831661120b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610650565b6001600160a01b03821661126c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610650565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166113325760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610650565b6001600160a01b0382166113945760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610650565b600081116113f65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610650565b60008061140b6000546001600160a01b031690565b6001600160a01b0316856001600160a01b03161415801561143a57506000546001600160a01b03858116911614155b801561144e57506001600160a01b03841615155b801561146557506001600160a01b03841661dead14155b801561147b5750600d54600160a81b900460ff16155b15611740576001600160a01b03851660009081526005602052604090205460ff161580156114c257506001600160a01b03841660009081526005602052604090205460ff16155b6114cb57600080fd5b600d54600192506001600160a01b0386811691161480156114fa5750600c546001600160a01b03858116911614155b801561151f57506001600160a01b03841660009081526004602052604090205460ff16155b80156115345750600d54600160c01b900460ff165b1561166d5760105483111561159d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178426044820152683abca0b6b7bab73a1760b91b6064820152608401610650565b601254836115c0866001600160a01b031660009081526002602052604090205490565b6115ca919061213c565b11156116245760405162461bcd60e51b8152602060048201526024808201527f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f6044820152633ab73a1760e11b6064820152608401610650565b6001600160a01b038416600090815260066020526040902054421161164857600080fd5b61165342601e61213c565b6001600160a01b0385166000908152600660205260409020555b600d546001600160a01b0385811691161480156116985750600c546001600160a01b03868116911614155b80156116bd57506001600160a01b03851660009081526004602052604090205460ff16155b80156116d25750600d54600160c01b900460ff165b156117405760115483111561173c5760405162461bcd60e51b815260206004820152602a60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785360448201526932b63620b6b7bab73a1760b11b6064820152608401610650565b5060015b6001600160a01b03851660009081526004602052604090205460ff168061177f57506001600160a01b03841660009081526004602052604090205460ff165b1561178957600091505b3060009081526002602052604081205490506000601354821180156117ab5750825b90508080156117c35750600d54600160b81b900460ff165b80156117d95750600d54600160a81b900460ff16155b80156117fe57506001600160a01b03871660009081526004602052604090205460ff16155b801561182357506001600160a01b03861660009081526004602052604090205460ff16155b1561185157600d805460ff60a81b1916600160a81b179055611843611a46565b600d805460ff60a81b191690555b61185e8787878787611aef565b50505050505050565b6000818484111561188b5760405162461bcd60e51b81526004016106509190612044565b5060006118988486612193565b95945050505050565b600d805460ff60b01b1916600160b01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106118f757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561194b57600080fd5b505afa15801561195f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119839190611e41565b816001815181106119a457634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600c546119ca91309116846111a9565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a039085906000908690309042906004016120cc565b600060405180830381600087803b158015611a1d57600080fd5b505af1158015611a31573d6000803e3d6000fd5b5050600d805460ff60b01b1916905550505050565b306000908152600260205260408120549081611a60575050565b601354611a6e90600a612174565b821115611a8657601354611a8390600a612174565b91505b47611a90836118a1565b600b546001600160a01b0316611aa68247612193565b604051600081818185875af1925050503d8060008114611ae2576040519150601f19603f3d011682016040523d82523d6000602084013e611ae7565b606091505b505050505050565b81611b0157611afc611b37565b611b0f565b611b0c858483611b65565b92505b611b1a858585611bd8565b81611b3057611b30600854600755600a54600955565b5050505050565b600754158015611b475750600954155b15611b4e57565b6007805460085560098054600a5560009182905555565b60008043600f54600e54611b79919061213c565b10611b865750601e611b9a565b8215611b955750600954611b9a565b506007545b6000611bb16064611bab8785611c7e565b90611d04565b90508015611bc457611bc4863083611bd8565b611bce8186612193565b9695505050505050565b6001600160a01b038316600090815260026020526040902054611bfb9082611d46565b6001600160a01b038085166000908152600260205260408082209390935590841681522054611c2a9082611d88565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112c19085815260200190565b600082611c8d57506000610620565b6000611c998385612174565b905082611ca68583612154565b14611cfd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610650565b9392505050565b6000611cfd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de7565b6000611cfd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611867565b600080611d95838561213c565b905083811015611cfd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610650565b60008183611e085760405162461bcd60e51b81526004016106509190612044565b5060006118988486612154565b8035611e20816121f1565b919050565b600060208284031215611e36578081fd5b8135611cfd816121f1565b600060208284031215611e52578081fd5b8151611cfd816121f1565b60008060408385031215611e6f578081fd5b8235611e7a816121f1565b91506020830135611e8a816121f1565b809150509250929050565b600080600060608486031215611ea9578081fd5b8335611eb4816121f1565b92506020840135611ec4816121f1565b929592945050506040919091013590565b60008060408385031215611ee7578182fd5b8235611ef2816121f1565b946020939093013593505050565b60006020808385031215611f12578182fd5b823567ffffffffffffffff80821115611f29578384fd5b818501915085601f830112611f3c578384fd5b813581811115611f4e57611f4e6121db565b8060051b604051601f19603f83011681018181108582111715611f7357611f736121db565b604052828152858101935084860182860187018a1015611f91578788fd5b8795505b83861015611fba57611fa681611e15565b855260019590950194938601938601611f95565b5098975050505050505050565b600060208284031215611fd8578081fd5b8135611cfd81612206565b600060208284031215611ff4578081fd5b8151611cfd81612206565b600060208284031215612010578081fd5b5035919050565b60008060006060848603121561202b578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561207057858101830151858201604001528201612054565b818111156120815783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561211b5784516001600160a01b0316835293830193918301916001016120f6565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561214f5761214f6121c5565b500190565b60008261216f57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561218e5761218e6121c5565b500290565b6000828210156121a5576121a56121c5565b500390565b60006000198214156121be576121be6121c5565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610c0657600080fd5b8015158114610c0657600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d99f40933a79817c89bbf7b1b591214e405e26e78ed2f704ee1e7b4e3be71a0c64736f6c63430008040033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000037f11d92231bf9f2adc15f5f58539f453409a771

-----Decoded View---------------
Arg [0] : _uniswapV2Router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : projectWallet (address): 0x37F11D92231bF9F2ADc15F5f58539f453409A771

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


Deployed Bytecode Sourcemap

3607:11986:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5690:83;;;;;;;;;;-1:-1:-1;5760:5:0;;;;;;;;;;;;-1:-1:-1;;;5760:5:0;;;;5690:83;;;;;;;:::i;:::-;;;;;;;;6521:161;;;;;;;;;;-1:-1:-1;6521:161:0;;;;;:::i;:::-;;:::i;:::-;;;5882:14:1;;5875:22;5857:41;;5845:2;5830:18;6521:161:0;5812:92:1;12751:194:0;;;;;;;;;;-1:-1:-1;12751:194:0;;;;;:::i;:::-;;:::i;:::-;;4465:41;;;;;;;;;;-1:-1:-1;4465:41:0;;;;-1:-1:-1;;;;;4465:41:0;;;;;;-1:-1:-1;;;;;4473:32:1;;;4455:51;;4443:2;4428:18;4465:41:0;4410:102:1;5967:95:0;;;;;;;;;;-1:-1:-1;4009:12:0;5967:95;;;13623:25:1;;;13611:2;13596:18;5967:95:0;13578:76:1;6690:313:0;;;;;;;;;;-1:-1:-1;6690:313:0;;;;;:::i;:::-;;:::i;13731:88::-;;;;;;;;;;-1:-1:-1;13731:88:0;;;;;:::i;:::-;;:::i;11741:109::-;;;;;;;;;;-1:-1:-1;11741:109:0;;;;;:::i;:::-;;:::i;5876:83::-;;;;;;;;;;-1:-1:-1;5876:83:0;;4451:1;14789:36:1;;14777:2;14762:18;5876:83:0;14744:87:1;12510:111:0;;;;;;;;;;-1:-1:-1;12510:111:0;;;;;:::i;:::-;;:::i;4513:28::-;;;;;;;;;;-1:-1:-1;4513:28:0;;;;-1:-1:-1;;;;;4513:28:0;;;7011:103;;;;;;;;;;-1:-1:-1;7011:103:0;;;;;:::i;:::-;;:::i;6070:117::-;;;;;;;;;;-1:-1:-1;6070:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6163:16:0;6136:7;6163:16;;;:7;:16;;;;;;;6070:117;2686:148;;;;;;;;;;;;;:::i;12187:315::-;;;;;;;;;;-1:-1:-1;12187:315:0;;;;;:::i;:::-;;:::i;12953:185::-;;;;;;;;;;-1:-1:-1;12953:185:0;;;;;:::i;:::-;;:::i;2472:79::-;;;;;;;;;;-1:-1:-1;2510:7:0;2537:6;-1:-1:-1;;;;;2537:6:0;2472:79;;5781:87;;;;;;;;;;-1:-1:-1;5853:7:0;;;;;;;;;;;;-1:-1:-1;;;5853:7:0;;;;5781:87;;6195:167;;;;;;;;;;-1:-1:-1;6195:167:0;;;;;:::i;:::-;;:::i;11862:317::-;;;;;;;;;;-1:-1:-1;11862:317:0;;;;;:::i;:::-;;:::i;11347:164::-;;;;;;;;;;-1:-1:-1;11347:164:0;;;;;:::i;:::-;;:::i;15258:154::-;;;;;;;;;;;;;:::i;10509:826::-;;;;;;;;;;;;;:::i;6370:143::-;;;;;;;;;;-1:-1:-1;6370:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6478:18:0;;;6451:7;6478:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6370:143;7122:94;;;;;;;;;;-1:-1:-1;7122:94:0;;;;;:::i;:::-;;:::i;13146:108::-;;;;;;;;;;-1:-1:-1;13146:108:0;;;;;:::i;:::-;;:::i;11626:103::-;;;;;;;;;;-1:-1:-1;11626:103:0;;;;;:::i;:::-;;:::i;12633:110::-;;;;;;;;;;-1:-1:-1;12633:110:0;;;;;:::i;:::-;;:::i;11519:99::-;;;;;;;;;;-1:-1:-1;11519:99:0;;;;;:::i;:::-;;:::i;15430:160::-;;;;;;;;;;;;;:::i;6521:161::-;6596:4;6613:39;270:10;6636:7;6645:6;6613:8;:39::i;:::-;-1:-1:-1;6670:4:0;6521:161;;;;;:::o;12751:194::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;;;;;;;;;12848:2:::1;12831:13;:19;;12823:73;;;::::0;-1:-1:-1;;;12823:73:0;;12858:2:1;12823:73:0::1;::::0;::::1;12840:21:1::0;12897:2;12877:18;;;12870:30;12936:34;12916:18;;;12909:62;-1:-1:-1;;;12987:18:1;;;12980:39;13036:19;;12823:73:0::1;12830:231:1::0;12823:73:0::1;12907:14;:30:::0;12751:194::o;6690:313::-;6788:4;6805:36;6815:6;6823:9;6834:6;6805:9;:36::i;:::-;6852:121;6861:6;270:10;6883:89;6921:6;6883:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6883:19:0;;;;;;:11;:19;;;;;;;;270:10;6883:33;;;;;;;;;;:37;:89::i;:::-;6852:8;:121::i;:::-;-1:-1:-1;6991:4:0;6690:313;;;;;:::o;13731:88::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13791:12:0::1;13806:5;13791:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13791:20:0::1;::::0;;13731:88::o;11741:109::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;11815:16:::1;:27:::0;11741:109::o;12510:111::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12579:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;12579:34:0::1;12609:4;12579:34;::::0;;12510:111::o;7011:103::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;7083:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;7083:23:0::1;-1:-1:-1::0;;;;7083:23:0;;::::1;::::0;;;::::1;::::0;;7011:103::o;2686:148::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;2793:1:::1;2777:6:::0;;2756:40:::1;::::0;-1:-1:-1;;;;;2777:6:0;;::::1;::::0;2756:40:::1;::::0;2793:1;;2756:40:::1;2824:1;2807:19:::0;;-1:-1:-1;;;;;;2807:19:0::1;::::0;;2686:148::o;12187:315::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12274:27:0;::::1;12266:73;;;::::0;-1:-1:-1;;;12266:73:0;;8462:2:1;12266:73:0::1;::::0;::::1;8444:21:1::0;8501:2;8481:18;;;8474:30;8540:34;8520:18;;;8513:62;-1:-1:-1;;;8591:18:1;;;8584:31;8632:19;;12266:73:0::1;8434:223:1::0;12266:73:0::1;12369:14;::::0;;-1:-1:-1;;;;;12369:14:0;;::::1;12387:5;12350:34:::0;;;:18:::1;:34;::::0;;;;;:42;;-1:-1:-1;;12350:42:0;;::::1;::::0;;;12403:39;;-1:-1:-1;;;;;;12403:39:0::1;::::0;;;::::1;::::0;;::::1;::::0;;;12453:34;;;;;:41;;;;::::1;-1:-1:-1::0;12453:41:0::1;::::0;;12187:315::o;12953:185::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;13053:2:::1;13035:14;:20;;13027:50;;;::::0;-1:-1:-1;;;13027:50:0;;8116:2:1;13027:50:0::1;::::0;::::1;8098:21:1::0;8155:2;8135:18;;;8128:30;-1:-1:-1;;;8174:18:1;;;8167:47;8231:18;;13027:50:0::1;8088:167:1::0;13027:50:0::1;13088:15;:32:::0;12953:185::o;6195:167::-;6273:4;6290:42;270:10;6314:9;6325:6;6290:9;:42::i;11862:317::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;11961:11:::1;11948:9;:24;;11940:90;;;::::0;-1:-1:-1;;;11940:90:0;;8864:2:1;11940:90:0::1;::::0;::::1;8846:21:1::0;8903:2;8883:18;;;8876:30;8942:34;8922:18;;;8915:62;-1:-1:-1;;;8993:18:1;;;8986:51;9054:19;;11940:90:0::1;8836:243:1::0;11940:90:0::1;12062:11;12049:9;:24;;12041:89;;;::::0;-1:-1:-1;;;12041:89:0;;9286:2:1;12041:89:0::1;::::0;::::1;9268:21:1::0;9325:2;9305:18;;;9298:30;9364:34;9344:18;;;9337:62;-1:-1:-1;;;9415:18:1;;;9408:50;9475:19;;12041:89:0::1;9258:242:1::0;12041:89:0::1;12141:18;:30:::0;11862:317::o;11347:164::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;11421:6:::1;11416:88;11437:5;:12;11433:1;:16;11416:88;;;11488:4;11471;:14;11476:5;11482:1;11476:8;;;;;;-1:-1:-1::0;;;11476:8:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11471:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11471:14:0;:21;;-1:-1:-1;;11471:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11451:3;::::1;::::0;::::1;:::i;:::-;;;;11416:88;;;;11347:164:::0;:::o;15258:154::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;15354:4:::1;15310:23;6163:16:::0;;;:7;:16;;;;;;15371:33:::1;6163:16:::0;15371::::1;:33::i;:::-;2669:1;15258:154::o:0;10509:826::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;10573:11:::1;::::0;-1:-1:-1;;;10573:11:0;::::1;;;10572:12;10564:47;;;::::0;-1:-1:-1;;;10564:47:0;;12506:2:1;10564:47:0::1;::::0;::::1;12488:21:1::0;12545:2;12525:18;;;12518:30;12584:25;12564:18;;;12557:53;12627:18;;10564:47:0::1;12478:173:1::0;10564:47:0::1;10662:15;::::0;10630:58:::1;::::0;10647:4:::1;::::0;-1:-1:-1;;;;;10662:15:0::1;4009:12;10630:8;:58::i;:::-;10733:15;;;;;;;;;-1:-1:-1::0;;;;;10733:15:0::1;-1:-1:-1::0;;;;;10733:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10715:55:0::1;;10779:4;10786:15;;;;;;;;;-1:-1:-1::0;;;;;10786:15:0::1;-1:-1:-1::0;;;;;10786:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10715:94;::::0;-1:-1:-1;;;;;;10715:94:0::1;::::0;;;;;;-1:-1:-1;;;;;4747:15:1;;;10715:94:0::1;::::0;::::1;4729:34:1::0;4799:15;;4779:18;;;4772:43;4664:18;;10715:94:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10699:13;:110:::0;;-1:-1:-1;;;;;10699:110:0;;::::1;-1:-1:-1::0;;;;;;10699:110:0;;::::1;;::::0;;10820:15:::1;::::0;::::1;:31;10859:21;10890:4;10896:24;10890:4:::0;-1:-1:-1;;;;;6163:16:0;6136:7;6163:16;;;:7;:16;;;;;;;6070:117;10896:24:::1;10921:1;10923::::0;10925:7:::1;2510::::0;2537:6;-1:-1:-1;;;;;2537:6:0;;2472:79;10925:7:::1;10820:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10820:129:0;;;-1:-1:-1;;;;;5464:15:1;;;10820:129:0::1;::::0;::::1;5446:34:1::0;5496:18;;;5489:34;;;;5539:18;;;5532:34;;;;5582:18;;;5575:34;5646:15;;;5625:19;;;5618:44;10933:15:0::1;5678:19:1::0;;;5671:35;5380:19;;10820:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10960:11:0::1;:18:::0;;11038:11:::1;11022:13;:27:::0;;;11060:14:::1;:28:::0;11118:11:::1;11099:16;:30:::0;11161:11:::1;11140:18;:32:::0;-1:-1:-1;;;;11183:18:0;;-1:-1:-1;;;11183:18:0;;;;11233:12:::1;11212:18;:33:::0;11294:15:::1;::::0;11256:71:::1;::::0;-1:-1:-1;;;11256:71:0;;-1:-1:-1;;;;;11294:15:0;;::::1;-1:-1:-1::0;11256:71:0;::::1;5000:51:1::0;-1:-1:-1;;5067:18:1;;;5060:34;11263:13:0;;;-1:-1:-1;11256:29:0::1;::::0;4973:18:1;;11256:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7122:94::-:0;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;7189:11:::1;:19:::0;;;::::1;;-1:-1:-1::0;;;7189:19:0::1;-1:-1:-1::0;;;;7189:19:0;;::::1;::::0;;;::::1;::::0;;7122:94::o;13146:108::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;13220:17:::1;:26:::0;13146:108::o;11626:103::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;11697:14:::1;:24:::0;11626:103::o;12633:110::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12700:27:0::1;12730:5;12700:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;12700:35:0::1;::::0;;12633:110::o;11519:99::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;11588:13:::1;:22:::0;11519:99::o;15430:160::-;2599:6;;-1:-1:-1;;;;;2599:6:0;270:10;2599:22;2591:67;;;;-1:-1:-1;;;2591:67:0;;;;;;;:::i;:::-;15524:58:::1;::::0;15488:12:::1;::::0;15532:10:::1;::::0;15556:21:::1;::::0;15488:12;15524:58;15488:12;15524:58;15556:21;15532:10;15524:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;15430:160:0:o;7224:335::-;-1:-1:-1;;;;;7317:19:0;;7309:68;;;;-1:-1:-1;;;7309:68:0;;12101:2:1;7309:68:0;;;12083:21:1;12140:2;12120:18;;;12113:30;12179:34;12159:18;;;12152:62;-1:-1:-1;;;12230:18:1;;;12223:34;12274:19;;7309:68:0;12073:226:1;7309:68:0;-1:-1:-1;;;;;7396:21:0;;7388:68;;;;-1:-1:-1;;;7388:68:0;;7357:2:1;7388:68:0;;;7339:21:1;7396:2;7376:18;;;7369:30;7435:34;7415:18;;;7408:62;-1:-1:-1;;;7486:18:1;;;7479:32;7528:19;;7388:68:0;7329:224:1;7388:68:0;-1:-1:-1;;;;;7467:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7519:32;;13623:25:1;;;7519:32:0;;13596:18:1;7519:32:0;;;;;;;;7224:335;;;:::o;7567:1850::-;-1:-1:-1;;;;;7655:18:0;;7647:68;;;;-1:-1:-1;;;7647:68:0;;11695:2:1;7647:68:0;;;11677:21:1;11734:2;11714:18;;;11707:30;11773:34;11753:18;;;11746:62;-1:-1:-1;;;11824:18:1;;;11817:35;11869:19;;7647:68:0;11667:227:1;7647:68:0;-1:-1:-1;;;;;7734:16:0;;7726:64;;;;-1:-1:-1;;;7726:64:0;;6953:2:1;7726:64:0;;;6935:21:1;6992:2;6972:18;;;6965:30;7031:34;7011:18;;;7004:62;-1:-1:-1;;;7082:18:1;;;7075:33;7125:19;;7726:64:0;6925:225:1;7726:64:0;7818:1;7809:6;:10;7801:64;;;;-1:-1:-1;;;7801:64:0;;11285:2:1;7801:64:0;;;11267:21:1;11324:2;11304:18;;;11297:30;11363:34;11343:18;;;11336:62;-1:-1:-1;;;11414:18:1;;;11407:39;11463:19;;7801:64:0;11257:231:1;7801:64:0;7876:12;7907:15;7953:7;2510;2537:6;-1:-1:-1;;;;;2537:6:0;;2472:79;7953:7;-1:-1:-1;;;;;7945:15:0;:4;-1:-1:-1;;;;;7945:15:0;;;:32;;;;-1:-1:-1;2510:7:0;2537:6;-1:-1:-1;;;;;7964:13:0;;;2537:6;;7964:13;;7945:32;:52;;;;-1:-1:-1;;;;;;7981:16:0;;;;7945:52;:77;;;;-1:-1:-1;;;;;;8001:21:0;;8015:6;8001:21;;7945:77;:90;;;;-1:-1:-1;8027:8:0;;-1:-1:-1;;;8027:8:0;;;;8026:9;7945:90;7941:939;;;-1:-1:-1;;;;;8061:10:0;;;;;;:4;:10;;;;;;;;8060:11;:24;;;;-1:-1:-1;;;;;;8076:8:0;;;;;;:4;:8;;;;;;;;8075:9;8060:24;8052:33;;;;;;8143:13;;8112:4;;-1:-1:-1;;;;;;8135:21:0;;;8143:13;;8135:21;:55;;;;-1:-1:-1;8174:15:0;;-1:-1:-1;;;;;8160:30:0;;;8174:15;;8160:30;;8135:55;:82;;;;-1:-1:-1;;;;;;8195:22:0;;;;;;:18;:22;;;;;;;;8194:23;8135:82;:101;;;;-1:-1:-1;8221:15:0;;-1:-1:-1;;;8221:15:0;;;;8135:101;8131:451;;;8275:13;;8265:6;:23;;8257:77;;;;-1:-1:-1;;;8257:77:0;;10112:2:1;8257:77:0;;;10094:21:1;10151:2;10131:18;;;10124:30;10190:34;10170:18;;;10163:62;-1:-1:-1;;;10241:18:1;;;10234:39;10290:19;;8257:77:0;10084:231:1;8257:77:0;8387:16;;8377:6;8361:13;8371:2;-1:-1:-1;;;;;6163:16:0;6136:7;6163:16;;;:7;:16;;;;;;;6070:117;8361:13;:22;;;;:::i;:::-;:42;;8353:91;;;;-1:-1:-1;;;8353:91:0;;9707:2:1;8353:91:0;;;9689:21:1;9746:2;9726:18;;;9719:30;9785:34;9765:18;;;9758:62;-1:-1:-1;;;9836:18:1;;;9829:34;9880:19;;8353:91:0;9679:226:1;8353:91:0;-1:-1:-1;;;;;8471:12:0;;;;;;:8;:12;;;;;;8486:15;-1:-1:-1;8463:39:0;;;;;;8536:30;:15;8555:10;8536:30;:::i;:::-;-1:-1:-1;;;;;8521:12:0;;;;;;:8;:12;;;;;:45;8131:451;8620:13;;-1:-1:-1;;;;;8614:19:0;;;8620:13;;8614:19;:55;;;;-1:-1:-1;8653:15:0;;-1:-1:-1;;;;;8637:32:0;;;8653:15;;8637:32;;8614:55;:84;;;;-1:-1:-1;;;;;;8674:24:0;;;;;;:18;:24;;;;;;;;8673:25;8614:84;:103;;;;-1:-1:-1;8702:15:0;;-1:-1:-1;;;8702:15:0;;;;8614:103;8610:259;;;8756:14;;8746:6;:24;;8738:79;;;;-1:-1:-1;;;8738:79:0;;13268:2:1;8738:79:0;;;13250:21:1;13307:2;13287:18;;;13280:30;13346:34;13326:18;;;13319:62;-1:-1:-1;;;13397:18:1;;;13390:40;13447:19;;8738:79:0;13240:232:1;8738:79:0;-1:-1:-1;8849:4:0;8610:259;-1:-1:-1;;;;;8895:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;8923:22:0;;;;;;:18;:22;;;;;;;;8895:50;8892:97;;;8972:5;8962:15;;8892:97;9050:4;9001:28;6163:16;;;:7;:16;;;;;;9001:55;;9067:12;9106:18;;9083:20;:41;9082:57;;;;;9129:10;9082:57;9067:72;;9156:7;:22;;;;-1:-1:-1;9167:11:0;;-1:-1:-1;;;9167:11:0;;;;9156:22;:35;;;;-1:-1:-1;9183:8:0;;-1:-1:-1;;;9183:8:0;;;;9182:9;9156:35;:64;;;;-1:-1:-1;;;;;;9196:24:0;;;;;;:18;:24;;;;;;;;9195:25;9156:64;:91;;;;-1:-1:-1;;;;;;9225:22:0;;;;;;:18;:22;;;;;;;;9224:23;9156:91;9152:195;;;9264:8;:15;;-1:-1:-1;;;;9264:15:0;-1:-1:-1;;;9264:15:0;;;9294:10;:8;:10::i;:::-;9319:8;:16;;-1:-1:-1;;;;9319:16:0;;;9152:195;9359:50;9374:4;9379:2;9382:6;9389:7;9398:10;9359:14;:50::i;:::-;7567:1850;;;;;;;:::o;1327:190::-;1413:7;1449:12;1441:6;;;;1433:29;;;;-1:-1:-1;;;1433:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1473:9:0;1485:5;1489:1;1485;:5;:::i;:::-;1473:17;1327:190;-1:-1:-1;;;;;1327:190:0:o;10011:483::-;5182:6;:13;;-1:-1:-1;;;;5182:13:0;-1:-1:-1;;;5182:13:0;;;10113:16:::1;::::0;;10127:1:::1;10113:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10113:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10113:16:0::1;10089:40;;10158:4;10140;10145:1;10140:7;;;;;;-1:-1:-1::0;;;10140:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10140:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10184:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10184:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10140:7;;10184:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10174:4;10179:1;10174:7;;;;;;-1:-1:-1::0;;;10174:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10174:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10249:15:::1;::::0;10217:62:::1;::::0;10234:4:::1;::::0;10249:15:::1;10267:11:::0;10217:8:::1;:62::i;:::-;10290:15;::::0;:196:::1;::::0;-1:-1:-1;;;10290:196:0;;-1:-1:-1;;;;;10290:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10371:11;;10290:15:::1;::::0;10413:4;;10440::::1;::::0;10460:15:::1;::::0;10290:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5218:6:0;:14;;-1:-1:-1;;;;5218:14:0;;;-1:-1:-1;;;;10011:483:0:o;9425:578::-;9509:4;9464:24;6163:16;;;:7;:16;;;;;;;;9569:35;;9596:7;;9425:578::o;9569:35::-;9638:18;;:23;;9659:2;9638:23;:::i;:::-;9619:16;:42;9616:116;;;9697:18;;:23;;9718:2;9697:23;:::i;:::-;9678:42;;9616:116;9788:21;9822:34;9839:16;9822;:34::i;:::-;9921:14;;-1:-1:-1;;;;;9921:14:0;9949:41;9973:17;9949:21;:41;:::i;:::-;9913:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9425:578:0:o;13835:389::-;13960:7;13956:129;;13984:14;:12;:14::i;:::-;13956:129;;;14040:33;14050:6;14058;14066;14040:9;:33::i;:::-;14031:42;;13956:129;14097:44;14115:6;14123:9;14134:6;14097:17;:44::i;:::-;14166:7;14162:55;;14190:15;13637:22;;13620:14;:39;13688:23;;13670:15;:41;13576:143;14190:15;13835:389;;;;;:::o;13262:302::-;13308:14;;:19;:43;;;;-1:-1:-1;13331:15:0;;:20;13308:43;13305:55;;;13262:302::o;13305:55::-;13405:14;;;13380:22;:39;13456:15;;;13430:23;:41;-1:-1:-1;13500:18:0;;;;13529:19;13262:302::o;14507:706::-;14588:7;14608:15;14679:12;14658:17;;14637:18;;:38;;;;:::i;:::-;:54;14634:310;;-1:-1:-1;14717:2:0;14634:310;;;14768:6;14764:169;;;-1:-1:-1;14805:15:0;;14764:169;;;-1:-1:-1;14887:14:0;;14764:169;14972:24;14999:28;15023:3;14999:19;:6;15010:7;14999:10;:19::i;:::-;:23;;:28::i;:::-;14972:55;-1:-1:-1;15041:20:0;;15038:110;;15078:58;15096:6;15112:4;15119:16;15078:17;:58::i;:::-;15179:26;15189:16;15179:26;;:::i;:::-;;14507:706;-1:-1:-1;;;;;;14507:706:0:o;14232:267::-;-1:-1:-1;;;;;14348:15:0;;;;;;:7;:15;;;;;;:28;;14368:7;14348:19;:28::i;:::-;-1:-1:-1;;;;;14330:15:0;;;;;;;:7;:15;;;;;;:46;;;;14408:18;;;;;;;:31;;14431:7;14408:22;:31::i;:::-;-1:-1:-1;;;;;14387:18:0;;;;;;;:7;:18;;;;;;;:52;;;;14455:36;;;;;;;;;;14483:7;13623:25:1;;13611:2;13596:18;;13578:76;1525:246:0;1583:7;1607:6;1603:47;;-1:-1:-1;1637:1:0;1630:8;;1603:47;1660:9;1672:5;1676:1;1672;:5;:::i;:::-;1660:17;-1:-1:-1;1705:1:0;1696:5;1700:1;1660:17;1696:5;:::i;:::-;:10;1688:56;;;;-1:-1:-1;;;1688:56:0;;10522:2:1;1688:56:0;;;10504:21:1;10561:2;10541:18;;;10534:30;10600:34;10580:18;;;10573:62;-1:-1:-1;;;10651:18:1;;;10644:31;10692:19;;1688:56:0;10494:223:1;1688:56:0;1762:1;1525:246;-1:-1:-1;;;1525:246:0:o;1779:132::-;1837:7;1864:39;1868:1;1871;1864:39;;;;;;;;;;;;;;;;;:3;:39::i;1183:136::-;1241:7;1268:43;1272:1;1275;1268:43;;;;;;;;;;;;;;;;;:3;:43::i;996:179::-;1054:7;;1086:5;1090:1;1086;:5;:::i;:::-;1074:17;;1115:1;1110;:6;;1102:46;;;;-1:-1:-1;;;1102:46:0;;7760:2:1;1102:46:0;;;7742:21:1;7799:2;7779:18;;;7772:30;7838:29;7818:18;;;7811:57;7885:18;;1102:46:0;7732:177:1;1919:189:0;2005:7;2040:12;2033:5;2025:28;;;;-1:-1:-1;;;2025:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2064:9:0;2076:5;2080:1;2076;:5;:::i;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:257::-;212:6;265:2;253:9;244:7;240:23;236:32;233:2;;;286:6;278;271:22;233:2;330:9;317:23;349:31;374:5;349:31;:::i;415:261::-;485:6;538:2;526:9;517:7;513:23;509:32;506:2;;;559:6;551;544:22;506:2;596:9;590:16;615:31;640:5;615:31;:::i;681:398::-;749:6;757;810:2;798:9;789:7;785:23;781:32;778:2;;;831:6;823;816:22;778:2;875:9;862:23;894:31;919:5;894:31;:::i;:::-;944:5;-1:-1:-1;1001:2:1;986:18;;973:32;1014:33;973:32;1014:33;:::i;:::-;1066:7;1056:17;;;768:311;;;;;:::o;1084:466::-;1161:6;1169;1177;1230:2;1218:9;1209:7;1205:23;1201:32;1198:2;;;1251:6;1243;1236:22;1198:2;1295:9;1282:23;1314:31;1339:5;1314:31;:::i;:::-;1364:5;-1:-1:-1;1421:2:1;1406:18;;1393:32;1434:33;1393:32;1434:33;:::i;:::-;1188:362;;1486:7;;-1:-1:-1;;;1540:2:1;1525:18;;;;1512:32;;1188:362::o;1555:325::-;1623:6;1631;1684:2;1672:9;1663:7;1659:23;1655:32;1652:2;;;1705:6;1697;1690:22;1652:2;1749:9;1736:23;1768:31;1793:5;1768:31;:::i;:::-;1818:5;1870:2;1855:18;;;;1842:32;;-1:-1:-1;;;1642:238:1:o;1885:1177::-;1969:6;2000:2;2043;2031:9;2022:7;2018:23;2014:32;2011:2;;;2064:6;2056;2049:22;2011:2;2109:9;2096:23;2138:18;2179:2;2171:6;2168:14;2165:2;;;2200:6;2192;2185:22;2165:2;2243:6;2232:9;2228:22;2218:32;;2288:7;2281:4;2277:2;2273:13;2269:27;2259:2;;2315:6;2307;2300:22;2259:2;2356;2343:16;2378:2;2374;2371:10;2368:2;;;2384:18;;:::i;:::-;2430:2;2427:1;2423:10;2462:2;2456:9;2525:2;2521:7;2516:2;2512;2508:11;2504:25;2496:6;2492:38;2580:6;2568:10;2565:22;2560:2;2548:10;2545:18;2542:46;2539:2;;;2591:18;;:::i;:::-;2627:2;2620:22;2677:18;;;2711:15;;;;-1:-1:-1;2746:11:1;;;2776;;;2772:20;;2769:33;-1:-1:-1;2766:2:1;;;2820:6;2812;2805:22;2766:2;2847:6;2838:15;;2862:169;2876:2;2873:1;2870:9;2862:169;;;2933:23;2952:3;2933:23;:::i;:::-;2921:36;;2894:1;2887:9;;;;;2977:12;;;;3009;;2862:169;;;-1:-1:-1;3050:6:1;1980:1082;-1:-1:-1;;;;;;;;1980:1082:1:o;3067:251::-;3123:6;3176:2;3164:9;3155:7;3151:23;3147:32;3144:2;;;3197:6;3189;3182:22;3144:2;3241:9;3228:23;3260:28;3282:5;3260:28;:::i;3323:255::-;3390:6;3443:2;3431:9;3422:7;3418:23;3414:32;3411:2;;;3464:6;3456;3449:22;3411:2;3501:9;3495:16;3520:28;3542:5;3520:28;:::i;3583:190::-;3642:6;3695:2;3683:9;3674:7;3670:23;3666:32;3663:2;;;3716:6;3708;3701:22;3663:2;-1:-1:-1;3744:23:1;;3653:120;-1:-1:-1;3653:120:1:o;3778:316::-;3866:6;3874;3882;3935:2;3923:9;3914:7;3910:23;3906:32;3903:2;;;3956:6;3948;3941:22;3903:2;3990:9;3984:16;3974:26;;4040:2;4029:9;4025:18;4019:25;4009:35;;4084:2;4073:9;4069:18;4063:25;4053:35;;3893:201;;;;;:::o;6143:603::-;6255:4;6284:2;6313;6302:9;6295:21;6345:6;6339:13;6388:6;6383:2;6372:9;6368:18;6361:34;6413:4;6426:140;6440:6;6437:1;6434:13;6426:140;;;6535:14;;;6531:23;;6525:30;6501:17;;;6520:2;6497:26;6490:66;6455:10;;6426:140;;;6584:6;6581:1;6578:13;6575:2;;;6654:4;6649:2;6640:6;6629:9;6625:22;6621:31;6614:45;6575:2;-1:-1:-1;6730:2:1;6709:15;-1:-1:-1;;6705:29:1;6690:45;;;;6737:2;6686:54;;6264:482;-1:-1:-1;;;6264:482:1:o;10722:356::-;10924:2;10906:21;;;10943:18;;;10936:30;11002:34;10997:2;10982:18;;10975:62;11069:2;11054:18;;10896:182::o;13659:983::-;13921:4;13969:3;13958:9;13954:19;14000:6;13989:9;13982:25;14026:2;14064:6;14059:2;14048:9;14044:18;14037:34;14107:3;14102:2;14091:9;14087:18;14080:31;14131:6;14166;14160:13;14197:6;14189;14182:22;14235:3;14224:9;14220:19;14213:26;;14274:2;14266:6;14262:15;14248:29;;14295:4;14308:195;14322:6;14319:1;14316:13;14308:195;;;14387:13;;-1:-1:-1;;;;;14383:39:1;14371:52;;14478:15;;;;14443:12;;;;14419:1;14337:9;14308:195;;;-1:-1:-1;;;;;;;14559:32:1;;;;14554:2;14539:18;;14532:60;-1:-1:-1;;;14623:3:1;14608:19;14601:35;14520:3;13930:712;-1:-1:-1;;;13930:712:1:o;14836:128::-;14876:3;14907:1;14903:6;14900:1;14897:13;14894:2;;;14913:18;;:::i;:::-;-1:-1:-1;14949:9:1;;14884:80::o;14969:217::-;15009:1;15035;15025:2;;-1:-1:-1;;;15060:31:1;;15114:4;15111:1;15104:15;15142:4;15067:1;15132:15;15025:2;-1:-1:-1;15171:9:1;;15015:171::o;15191:168::-;15231:7;15297:1;15293;15289:6;15285:14;15282:1;15279:21;15274:1;15267:9;15260:17;15256:45;15253:2;;;15304:18;;:::i;:::-;-1:-1:-1;15344:9:1;;15243:116::o;15364:125::-;15404:4;15432:1;15429;15426:8;15423:2;;;15437:18;;:::i;:::-;-1:-1:-1;15474:9:1;;15413:76::o;15494:135::-;15533:3;-1:-1:-1;;15554:17:1;;15551:2;;;15574:18;;:::i;:::-;-1:-1:-1;15621:1:1;15610:13;;15541:88::o;15634:127::-;15695:10;15690:3;15686:20;15683:1;15676:31;15726:4;15723:1;15716:15;15750:4;15747:1;15740:15;15766:127;15827:10;15822:3;15818:20;15815:1;15808:31;15858:4;15855:1;15848:15;15882:4;15879:1;15872:15;15898:131;-1:-1:-1;;;;;15973:31:1;;15963:42;;15953:2;;16019:1;16016;16009:12;16034:118;16120:5;16113:13;16106:21;16099:5;16096:32;16086:2;;16142:1;16139;16132:12

Swarm Source

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