ETH Price: $3,336.32 (+0.23%)
 

Overview

Max Total Supply

100,000,000,000 ANDALE

Holders

6

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
998,926,600.89454066748046875 ANDALE

Value
$0.00
0x141c7b4a7c3beef492c45dbe50aecdf6dbd88350
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:
Andale

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-10
*/

// SPDX-License-Identifier: MIT

/**

➶➶➶➶➶ ₳₦Đ₳ⱠɆ ₳₦Đ₳ⱠɆ, ₳ⱤⱤł฿₳ ₳ⱤⱤł฿₳! ➶➶➶➶➶

telegram: https://t.me/AndalePepe
twitter: https://twitter.com/PepeAndale
website: https://andalepepe.com


*/


pragma solidity ^0.8.19;

library Address {

    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}
abstract contract Context {
    function _msgSender() internal view returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

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);
}

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

interface IUniswapRouter {
    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 Ownable is Context {
    address private _owner;

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

contract Andale is IERC20, Ownable {
    using Address for address;
    
    string constant _name = "Andale";
    string constant _symbol = "ANDALE";
    uint8 constant _decimals = 18;

    uint256 _totalSupply = 10 ** 11 * (10 ** _decimals);

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    IUniswapRouter public router;
    address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    mapping (address => bool) liquidityPools;

    address public pair;
    uint256 public launchedAt;
    uint256 public launchedTime;
    uint256 public deadBlocks;
    uint256 public launchCooldown;

    bool public andale = false;
    bool public enableLimits = true;
    bool public swapEnabled = false;
    uint256 public swapThreshold = _totalSupply / 500;
    uint256 public swapMinimum = _totalSupply / 1000;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
    

    event SwapAndLiquify(uint256 amountToSwap, uint256 marketingETH);

    constructor () {
        router = IUniswapRouter(routerAddress);
        pair = IUniswapFactory(router.factory()).createPair(router.WETH(), address(this));
        liquidityPools[pair] = true;
        _allowances[owner()][routerAddress] = type(uint256).max;
        _allowances[address(this)][routerAddress] = type(uint256).max;

        _balances[owner()] = _totalSupply;

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


    
    function launch(uint256 _deadBlocks, uint256 _launchCooldown ) internal {   
        deadBlocks = _deadBlocks;
        andale = true;
        launchedAt = block.number;
        launchedTime = block.timestamp;
        swapEnabled = true;        
        launchCooldown = _launchCooldown;

    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(sender != address(0), "ERC20: transfer from 0x0");
        require(_balances[sender] >= amount, "Insufficient balance");

        if(inSwap || (sender != pair && recipient != pair ) ){ return _basicTransfer(sender, recipient, amount); }

        if(!andale){ require(sender == owner() || recipient == owner(), "Trading not open yet."); launch(12, 30 minutes ); }


        if(enableLimits && sender != owner() && recipient != owner() ){
            
            require(amount <= (_totalSupply  / 100), "TX Limit Exceeded");
            checkWalletLimit(recipient, amount);

        }

        if(shouldSwapBack(recipient)){ if (amount > 0) swapBack(amount); }
        

        _balances[sender] = _balances[sender] - amount;

        uint256 fee = getTotalFee(liquidityPools[recipient]);
        
        uint256 amountReceived =  (sender != owner() && fee > 0) ? takeFee(sender, amount, fee) : amount;
        
        
        _balances[recipient] = _balances[recipient] + amountReceived;

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }


    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function checkWalletLimit(address recipient, uint256 amount) internal view {
        uint256 walletLimit = _totalSupply  / 50;
        require(_balances[recipient] + amount <= walletLimit, "Max Wallet Exceeded");
    }


    function takeFee(address sender, uint256 amount, uint256 fee) internal returns (uint256) {
        uint256 feeAmount = (amount * fee) / 100;
        
        _balances[address(this)] += feeAmount;
        emit Transfer(sender, address(this), feeAmount);

        return amount - feeAmount;
    }

    function getTotalFee(bool selling) public view returns (uint256) {
        if (block.timestamp - launchedTime  > launchCooldown)
            return 0;
        else if(launchedAt + deadBlocks >= block.number){ 
            return selling ? 99 : 25; 
        }
        else if( block.timestamp - launchedTime  < launchCooldown){
            return selling ? 30 : 25; 
        }
        return 0;
        }


    function shouldSwapBack(address recipient) internal view returns (bool) {
        return !liquidityPools[msg.sender]
        && !inSwap
        && swapEnabled
        && liquidityPools[recipient]
        && _balances[address(this)] >= swapMinimum;
    }

    function swapBack(uint256 amount) internal swapping {
        uint256 amountToSwap = amount < swapThreshold ? amount : swapThreshold;
        if (_balances[address(this)] < amountToSwap) amountToSwap = _balances[address(this)];
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );       
        
        if (address(this).balance > 0)
            payable(owner()).transfer(address(this).balance);
        
        emit SwapAndLiquify(amount, address(this).balance);
    }
    

    function disableLimits(bool enabled) external onlyOwner{
        enableLimits = enabled;
    }

    function setSwapBackSettings(bool _enabled, uint256 _denominator, uint256 _swapMinimum) external onlyOwner {
        require(_denominator > 0);
        swapEnabled = _enabled;
        swapThreshold = _totalSupply / _denominator;
        swapMinimum = _swapMinimum * (10 ** _decimals);
    }


    function sweepETH(uint256 amountPercentage, address receiver) external onlyOwner {
       uint256 amountETH = address(this).balance;
        payable(receiver).transfer((amountETH * amountPercentage) / 100);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure returns (uint8) { return _decimals; }
    function symbol() external pure returns (string memory) { return _symbol; }
    function name() external pure returns (string memory) { return _name; }
    function getOwner() external view returns (address) { return owner(); }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }
        

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountToSwap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"marketingETH","type":"uint256"}],"name":"SwapAndLiquify","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":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"andale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"spender","type":"address"}],"name":"approveMax","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":"deadBlocks","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":"bool","name":"enabled","type":"bool"}],"name":"disableLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchCooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedTime","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"},{"internalType":"uint256","name":"_swapMinimum","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapMinimum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"}],"name":"sweepETH","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":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620004a1565b620000239064174876e800620004b9565b6001819055600580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055600c805462ffffff19166101001790556200006d906101f490620004d3565b600d556103e8600154620000829190620004d3565b600e553480156200009257600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600554600480546001600160a01b0319166001600160a01b0390921691821781556040805163c45a015560e01b8152905163c45a0155928281019260209291908290030181865afa1580156200012e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001549190620004f6565b6001600160a01b031663c9c65396600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001dc9190620004f6565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000229573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024f9190620004f6565b600780546001600160a01b0319166001600160a01b039290921691821790556000908152600660205260408120805460ff1916600117905560001990600390620002a16000546001600160a01b031690565b6001600160a01b039081168252602080830193909352604091820160009081206005805484168352908552838220959095553081526003845282812094549091168152929091528120600019905560015490600290620003096000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055620003366000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001546040516200037e91815260200190565b60405180910390a362000521565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003e3578160001904821115620003c757620003c76200038c565b80851615620003d557918102915b93841c9390800290620003a7565b509250929050565b600082620003fc575060016200049b565b816200040b575060006200049b565b81600181146200042457600281146200042f576200044f565b60019150506200049b565b60ff8411156200044357620004436200038c565b50506001821b6200049b565b5060208310610133831016604e8410600b841016171562000474575081810a6200049b565b620004808383620003a2565b80600019048211156200049757620004976200038c565b0290505b92915050565b6000620004b260ff841683620003eb565b9392505050565b80820281158282048414176200049b576200049b6200038c565b600082620004f157634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200050957600080fd5b81516001600160a01b0381168114620004b257600080fd5b61162d80620005316000396000f3fe6080604052600436106101c65760003560e01c8063893d20e8116100f7578063d088935811610095578063f2fde38b11610064578063f2fde38b14610541578063f8821a6214610561578063f887ea4014610577578063fabb0b4f1461059757600080fd5b8063d08893581461049b578063d2ee125e146104bb578063dd62ed3e146104db578063f1f3bca31461052157600080fd5b8063a8aa1b31116100d1578063a8aa1b311461042b578063a9059cbb1461044b578063aabbdd711461046b578063bf56b3711461048557600080fd5b8063893d20e8146103ac5780638da5cb5b146103de57806395d89b41146103fc57600080fd5b806341af5959116101645780636902ca611161013e5780636902ca61146103225780636ddd17131461034157806370a0823114610361578063715018a61461039757600080fd5b806341af5959146102d6578063571ac8b0146102ec5780635804f1e41461030c57600080fd5b806318160ddd116101a057806318160ddd146102635780631e121fe81461027857806323b872dd1461029a578063313ce567146102ba57600080fd5b80630445b667146101d257806306fdde03146101fb578063095ea7b31461023357600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e8600d5481565b6040519081526020015b60405180910390f35b34801561020757600080fd5b50604080518082019091526006815265416e64616c6560d01b60208201525b6040516101f29190611205565b34801561023f57600080fd5b5061025361024e36600461126b565b6105ad565b60405190151581526020016101f2565b34801561026f57600080fd5b506001546101e8565b34801561028457600080fd5b50610298610293366004611297565b61061a565b005b3480156102a657600080fd5b506102536102b53660046112c7565b61069f565b3480156102c657600080fd5b50604051601281526020016101f2565b3480156102e257600080fd5b506101e8600b5481565b3480156102f857600080fd5b50610253610307366004611308565b610734565b34801561031857600080fd5b506101e860095481565b34801561032e57600080fd5b50600c5461025390610100900460ff1681565b34801561034d57600080fd5b50600c546102539062010000900460ff1681565b34801561036d57600080fd5b506101e861037c366004611308565b6001600160a01b031660009081526002602052604090205490565b3480156103a357600080fd5b50610298610742565b3480156103b857600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101f2565b3480156103ea57600080fd5b506000546001600160a01b03166103c6565b34801561040857600080fd5b50604080518082019091526006815265414e44414c4560d01b6020820152610226565b34801561043757600080fd5b506007546103c6906001600160a01b031681565b34801561045757600080fd5b5061025361046636600461126b565b6107b6565b34801561047757600080fd5b50600c546102539060ff1681565b34801561049157600080fd5b506101e860085481565b3480156104a757600080fd5b506102986104b636600461133a565b6107c3565b3480156104c757600080fd5b506102986104d636600461136d565b61083e565b3480156104e757600080fd5b506101e86104f6366004611388565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561052d57600080fd5b506101e861053c36600461136d565b610882565b34801561054d57600080fd5b5061029861055c366004611308565b610903565b34801561056d57600080fd5b506101e8600e5481565b34801561058357600080fd5b506004546103c6906001600160a01b031681565b3480156105a357600080fd5b506101e8600a5481565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106089086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461064d5760405162461bcd60e51b8152600401610644906113b6565b60405180910390fd5b476001600160a01b0382166108fc60646106678685611401565b6106719190611418565b6040518115909202916000818181858888f19350505050158015610699573d6000803e3d6000fd5b50505050565b6001600160a01b03831660009081526003602090815260408083203384529091528120546000191461071f576001600160a01b03841660009081526003602090815260408083203384529091529020546106fa90839061143a565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b61072a8484846109ed565b90505b9392505050565b6000610614826000196105ad565b6000546001600160a01b0316331461076c5760405162461bcd60e51b8152600401610644906113b6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061072d3384846109ed565b6000546001600160a01b031633146107ed5760405162461bcd60e51b8152600401610644906113b6565b600082116107fa57600080fd5b600c805462ff00001916620100008515150217905560015461081d908390611418565b600d5561082c6012600a611531565b6108369082611401565b600e55505050565b6000546001600160a01b031633146108685760405162461bcd60e51b8152600401610644906113b6565b600c80549115156101000261ff0019909216919091179055565b6000600b5460095442610895919061143a565b11156108a357506000919050565b43600a546008546108b49190611540565b106108d157816108c55760196108c8565b60635b60ff1692915050565b600b546009546108e1904261143a565b10156108fb57816108f35760196108c8565b50601e919050565b506000919050565b6000546001600160a01b0316331461092d5760405162461bcd60e51b8152600401610644906113b6565b6001600160a01b0381166109925760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610644565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b038416610a455760405162461bcd60e51b815260206004820152601860248201527f45524332303a207472616e736665722066726f6d2030783000000000000000006044820152606401610644565b6001600160a01b038416600090815260026020526040902054821115610aa45760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610644565b600f5460ff1680610adc57506007546001600160a01b03858116911614801590610adc57506007546001600160a01b03848116911614155b15610af357610aec848484610d85565b905061072d565b600c5460ff16610b8f576000546001600160a01b0385811691161480610b2657506000546001600160a01b038481169116145b610b6a5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b6044820152606401610644565b600c600a8190558054436008554260095562ff00ff191662010001179055610708600b555b600c54610100900460ff168015610bb457506000546001600160a01b03858116911614155b8015610bce57506000546001600160a01b03848116911614155b15610c2f576064600154610be29190611418565b821115610c255760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610644565b610c2f8383610e3f565b610c3883610ec2565b15610c4c578115610c4c57610c4c82610f3f565b6001600160a01b038416600090815260026020526040902054610c7090839061143a565b6001600160a01b038086166000908152600260209081526040808320949094559186168152600690915290812054610caa9060ff16610882565b90506000610cc06000546001600160a01b031690565b6001600160a01b0316866001600160a01b031614158015610ce15750600082115b610ceb5783610cf6565b610cf6868584611170565b6001600160a01b038616600090815260026020526040902054909150610d1d908290611540565b6001600160a01b0380871660008181526002602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d719085815260200190565b60405180910390a350600195945050505050565b6001600160a01b038316600090815260026020526040812054610da990839061143a565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610dd9908390611540565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e2d9086815260200190565b60405180910390a35060019392505050565b60006032600154610e509190611418565b6001600160a01b0384166000908152600260205260409020549091508190610e79908490611540565b1115610ebd5760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b6044820152606401610644565b505050565b3360009081526006602052604081205460ff16158015610ee55750600f5460ff16155b8015610ef95750600c5462010000900460ff165b8015610f1d57506001600160a01b03821660009081526006602052604090205460ff165b80156106145750600e5430600090815260026020526040902054101592915050565b600f805460ff19166001179055600d546000908210610f6057600d54610f62565b815b30600090815260026020526040902054909150811115610f8e5750306000908152600260205260409020545b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610fc357610fc3611553565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611036573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105a9190611569565b8160018151811061106d5761106d611553565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b815292169163791ac947916110b291869160009187913091429101611586565b600060405180830381600087803b1580156110cc57600080fd5b505af11580156110e0573d6000803e3d6000fd5b50505050600047111561112957600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015611127573d6000803e3d6000fd5b505b604080518481524760208201527f28fc98272ce761178794ad6768050fea1648e07f1e2ffe15afd3a290f8381486910160405180910390a15050600f805460ff1916905550565b600080606461117f8486611401565b6111899190611418565b306000908152600260205260408120805492935083929091906111ad908490611540565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36111fc818561143a565b95945050505050565b600060208083528351808285015260005b8181101561123257858101830151858201604001528201611216565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461126857600080fd5b50565b6000806040838503121561127e57600080fd5b823561128981611253565b946020939093013593505050565b600080604083850312156112aa57600080fd5b8235915060208301356112bc81611253565b809150509250929050565b6000806000606084860312156112dc57600080fd5b83356112e781611253565b925060208401356112f781611253565b929592945050506040919091013590565b60006020828403121561131a57600080fd5b813561072d81611253565b8035801515811461133557600080fd5b919050565b60008060006060848603121561134f57600080fd5b61135884611325565b95602085013595506040909401359392505050565b60006020828403121561137f57600080fd5b61072d82611325565b6000806040838503121561139b57600080fd5b82356113a681611253565b915060208301356112bc81611253565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610614576106146113eb565b60008261143557634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610614576106146113eb565b600181815b8085111561148857816000190482111561146e5761146e6113eb565b8085161561147b57918102915b93841c9390800290611452565b509250929050565b60008261149f57506001610614565b816114ac57506000610614565b81600181146114c257600281146114cc576114e8565b6001915050610614565b60ff8411156114dd576114dd6113eb565b50506001821b610614565b5060208310610133831016604e8410600b841016171561150b575081810a610614565b611515838361144d565b8060001904821115611529576115296113eb565b029392505050565b600061072d60ff841683611490565b80820180821115610614576106146113eb565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561157b57600080fd5b815161072d81611253565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115d65784516001600160a01b0316835293830193918301916001016115b1565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220bedf3827d8943cd0f331fad639ad7f931ab867270c713dbe1f4ec7d8709a2fca64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101c65760003560e01c8063893d20e8116100f7578063d088935811610095578063f2fde38b11610064578063f2fde38b14610541578063f8821a6214610561578063f887ea4014610577578063fabb0b4f1461059757600080fd5b8063d08893581461049b578063d2ee125e146104bb578063dd62ed3e146104db578063f1f3bca31461052157600080fd5b8063a8aa1b31116100d1578063a8aa1b311461042b578063a9059cbb1461044b578063aabbdd711461046b578063bf56b3711461048557600080fd5b8063893d20e8146103ac5780638da5cb5b146103de57806395d89b41146103fc57600080fd5b806341af5959116101645780636902ca611161013e5780636902ca61146103225780636ddd17131461034157806370a0823114610361578063715018a61461039757600080fd5b806341af5959146102d6578063571ac8b0146102ec5780635804f1e41461030c57600080fd5b806318160ddd116101a057806318160ddd146102635780631e121fe81461027857806323b872dd1461029a578063313ce567146102ba57600080fd5b80630445b667146101d257806306fdde03146101fb578063095ea7b31461023357600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e8600d5481565b6040519081526020015b60405180910390f35b34801561020757600080fd5b50604080518082019091526006815265416e64616c6560d01b60208201525b6040516101f29190611205565b34801561023f57600080fd5b5061025361024e36600461126b565b6105ad565b60405190151581526020016101f2565b34801561026f57600080fd5b506001546101e8565b34801561028457600080fd5b50610298610293366004611297565b61061a565b005b3480156102a657600080fd5b506102536102b53660046112c7565b61069f565b3480156102c657600080fd5b50604051601281526020016101f2565b3480156102e257600080fd5b506101e8600b5481565b3480156102f857600080fd5b50610253610307366004611308565b610734565b34801561031857600080fd5b506101e860095481565b34801561032e57600080fd5b50600c5461025390610100900460ff1681565b34801561034d57600080fd5b50600c546102539062010000900460ff1681565b34801561036d57600080fd5b506101e861037c366004611308565b6001600160a01b031660009081526002602052604090205490565b3480156103a357600080fd5b50610298610742565b3480156103b857600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101f2565b3480156103ea57600080fd5b506000546001600160a01b03166103c6565b34801561040857600080fd5b50604080518082019091526006815265414e44414c4560d01b6020820152610226565b34801561043757600080fd5b506007546103c6906001600160a01b031681565b34801561045757600080fd5b5061025361046636600461126b565b6107b6565b34801561047757600080fd5b50600c546102539060ff1681565b34801561049157600080fd5b506101e860085481565b3480156104a757600080fd5b506102986104b636600461133a565b6107c3565b3480156104c757600080fd5b506102986104d636600461136d565b61083e565b3480156104e757600080fd5b506101e86104f6366004611388565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561052d57600080fd5b506101e861053c36600461136d565b610882565b34801561054d57600080fd5b5061029861055c366004611308565b610903565b34801561056d57600080fd5b506101e8600e5481565b34801561058357600080fd5b506004546103c6906001600160a01b031681565b3480156105a357600080fd5b506101e8600a5481565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106089086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b0316331461064d5760405162461bcd60e51b8152600401610644906113b6565b60405180910390fd5b476001600160a01b0382166108fc60646106678685611401565b6106719190611418565b6040518115909202916000818181858888f19350505050158015610699573d6000803e3d6000fd5b50505050565b6001600160a01b03831660009081526003602090815260408083203384529091528120546000191461071f576001600160a01b03841660009081526003602090815260408083203384529091529020546106fa90839061143a565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b61072a8484846109ed565b90505b9392505050565b6000610614826000196105ad565b6000546001600160a01b0316331461076c5760405162461bcd60e51b8152600401610644906113b6565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061072d3384846109ed565b6000546001600160a01b031633146107ed5760405162461bcd60e51b8152600401610644906113b6565b600082116107fa57600080fd5b600c805462ff00001916620100008515150217905560015461081d908390611418565b600d5561082c6012600a611531565b6108369082611401565b600e55505050565b6000546001600160a01b031633146108685760405162461bcd60e51b8152600401610644906113b6565b600c80549115156101000261ff0019909216919091179055565b6000600b5460095442610895919061143a565b11156108a357506000919050565b43600a546008546108b49190611540565b106108d157816108c55760196108c8565b60635b60ff1692915050565b600b546009546108e1904261143a565b10156108fb57816108f35760196108c8565b50601e919050565b506000919050565b6000546001600160a01b0316331461092d5760405162461bcd60e51b8152600401610644906113b6565b6001600160a01b0381166109925760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610644565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b038416610a455760405162461bcd60e51b815260206004820152601860248201527f45524332303a207472616e736665722066726f6d2030783000000000000000006044820152606401610644565b6001600160a01b038416600090815260026020526040902054821115610aa45760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610644565b600f5460ff1680610adc57506007546001600160a01b03858116911614801590610adc57506007546001600160a01b03848116911614155b15610af357610aec848484610d85565b905061072d565b600c5460ff16610b8f576000546001600160a01b0385811691161480610b2657506000546001600160a01b038481169116145b610b6a5760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b6044820152606401610644565b600c600a8190558054436008554260095562ff00ff191662010001179055610708600b555b600c54610100900460ff168015610bb457506000546001600160a01b03858116911614155b8015610bce57506000546001600160a01b03848116911614155b15610c2f576064600154610be29190611418565b821115610c255760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610644565b610c2f8383610e3f565b610c3883610ec2565b15610c4c578115610c4c57610c4c82610f3f565b6001600160a01b038416600090815260026020526040902054610c7090839061143a565b6001600160a01b038086166000908152600260209081526040808320949094559186168152600690915290812054610caa9060ff16610882565b90506000610cc06000546001600160a01b031690565b6001600160a01b0316866001600160a01b031614158015610ce15750600082115b610ceb5783610cf6565b610cf6868584611170565b6001600160a01b038616600090815260026020526040902054909150610d1d908290611540565b6001600160a01b0380871660008181526002602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d719085815260200190565b60405180910390a350600195945050505050565b6001600160a01b038316600090815260026020526040812054610da990839061143a565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610dd9908390611540565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e2d9086815260200190565b60405180910390a35060019392505050565b60006032600154610e509190611418565b6001600160a01b0384166000908152600260205260409020549091508190610e79908490611540565b1115610ebd5760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b6044820152606401610644565b505050565b3360009081526006602052604081205460ff16158015610ee55750600f5460ff16155b8015610ef95750600c5462010000900460ff165b8015610f1d57506001600160a01b03821660009081526006602052604090205460ff165b80156106145750600e5430600090815260026020526040902054101592915050565b600f805460ff19166001179055600d546000908210610f6057600d54610f62565b815b30600090815260026020526040902054909150811115610f8e5750306000908152600260205260409020545b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610fc357610fc3611553565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611036573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105a9190611569565b8160018151811061106d5761106d611553565b6001600160a01b0392831660209182029290920101526004805460405163791ac94760e01b815292169163791ac947916110b291869160009187913091429101611586565b600060405180830381600087803b1580156110cc57600080fd5b505af11580156110e0573d6000803e3d6000fd5b50505050600047111561112957600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015611127573d6000803e3d6000fd5b505b604080518481524760208201527f28fc98272ce761178794ad6768050fea1648e07f1e2ffe15afd3a290f8381486910160405180910390a15050600f805460ff1916905550565b600080606461117f8486611401565b6111899190611418565b306000908152600260205260408120805492935083929091906111ad908490611540565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36111fc818561143a565b95945050505050565b600060208083528351808285015260005b8181101561123257858101830151858201604001528201611216565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461126857600080fd5b50565b6000806040838503121561127e57600080fd5b823561128981611253565b946020939093013593505050565b600080604083850312156112aa57600080fd5b8235915060208301356112bc81611253565b809150509250929050565b6000806000606084860312156112dc57600080fd5b83356112e781611253565b925060208401356112f781611253565b929592945050506040919091013590565b60006020828403121561131a57600080fd5b813561072d81611253565b8035801515811461133557600080fd5b919050565b60008060006060848603121561134f57600080fd5b61135884611325565b95602085013595506040909401359392505050565b60006020828403121561137f57600080fd5b61072d82611325565b6000806040838503121561139b57600080fd5b82356113a681611253565b915060208301356112bc81611253565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610614576106146113eb565b60008261143557634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610614576106146113eb565b600181815b8085111561148857816000190482111561146e5761146e6113eb565b8085161561147b57918102915b93841c9390800290611452565b509250929050565b60008261149f57506001610614565b816114ac57506000610614565b81600181146114c257600281146114cc576114e8565b6001915050610614565b60ff8411156114dd576114dd6113eb565b50506001821b610614565b5060208310610133831016604e8410600b841016171561150b575081810a610614565b611515838361144d565b8060001904821115611529576115296113eb565b029392505050565b600061072d60ff841683611490565b80820180821115610614576106146113eb565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561157b57600080fd5b815161072d81611253565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115d65784516001600160a01b0316835293830193918301916001016115b1565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220bedf3827d8943cd0f331fad639ad7f931ab867270c713dbe1f4ec7d8709a2fca64736f6c63430008130033

Deployed Bytecode Sourcemap

5232:7604:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6033:49;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6033:49:0;;;;;;;;12069:71;;;;;;;;;;-1:-1:-1;12132:5:0;;;;;;;;;;;;-1:-1:-1;;;12132:5:0;;;;12069:71;;;;;;;:::i;12475:216::-;;;;;;;;;;-1:-1:-1;12475:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;12475:216:0;1205:187:1;11817:88:0;;;;;;;;;;-1:-1:-1;11890:12:0;;11817:88;;11556:215;;;;;;;;;;-1:-1:-1;11556:215:0;;;;;:::i;:::-;;:::i;:::-;;7242:341;;;;;;;;;;-1:-1:-1;7242:341:0;;;;;:::i;:::-;;:::i;11911:71::-;;;;;;;;;;-1:-1:-1;11911:71:0;;5419:2;2320:36:1;;2308:2;2293:18;11911:71:0;2178:184:1;5886:29:0;;;;;;;;;;;;;;;;12699:122;;;;;;;;;;-1:-1:-1;12699:122:0;;;;;:::i;:::-;;:::i;5820:27::-;;;;;;;;;;;;;;;;5957:31;;;;;;;;;;-1:-1:-1;5957:31:0;;;;;;;;;;;5995;;;;;;;;;;-1:-1:-1;5995:31:0;;;;;;;;;;;12223:105;;;;;;;;;;-1:-1:-1;12223:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;12307:18:0;12289:7;12307:18;;;:9;:18;;;;;;;12223:105;4827:148;;;;;;;;;;;;;:::i;12146:71::-;;;;;;;;;;-1:-1:-1;12189:7:0;4682:6;-1:-1:-1;;;;;4682:6:0;12146:71;;;-1:-1:-1;;;;;2783:32:1;;;2765:51;;2753:2;2738:18;12146:71:0;2619:203:1;4617:79:0;;;;;;;;;;-1:-1:-1;4655:7:0;4682:6;-1:-1:-1;;;;;4682:6:0;4617:79;;11988:75;;;;;;;;;;-1:-1:-1;12053:7:0;;;;;;;;;;;;-1:-1:-1;;;12053:7:0;;;;11988:75;;5762:19;;;;;;;;;;-1:-1:-1;5762:19:0;;;;-1:-1:-1;;;;;5762:19:0;;;7078:156;;;;;;;;;;-1:-1:-1;7078:156:0;;;;;:::i;:::-;;:::i;5924:26::-;;;;;;;;;;-1:-1:-1;5924:26:0;;;;;;;;5788:25;;;;;;;;;;;;;;;;11251:295;;;;;;;;;;-1:-1:-1;11251:295:0;;;;;:::i;:::-;;:::i;11147:96::-;;;;;;;;;;-1:-1:-1;11147:96:0;;;;;:::i;:::-;;:::i;12334:133::-;;;;;;;;;;-1:-1:-1;12334:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;12436:19:0;;;12418:7;12436:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;12334:133;9678:413;;;;;;;;;;-1:-1:-1;9678:413:0;;;;;:::i;:::-;;:::i;4981:244::-;;;;;;;;;;-1:-1:-1;4981:244:0;;;;;:::i;:::-;;:::i;6089:48::-;;;;;;;;;;;;;;;;5605:28;;;;;;;;;;-1:-1:-1;5605:28:0;;;;-1:-1:-1;;;;;5605:28:0;;;5854:25;;;;;;;;;;;;;;;;12475:216;12579:10;12550:4;12567:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;12567:32:0;;;;;;;;;;:41;;;12624:37;12550:4;;12567:32;;12624:37;;;;12602:6;160:25:1;;148:2;133:18;;14:177;12624:37:0;;;;;;;;-1:-1:-1;12679:4:0;12475:216;;;;;:::o;11556:215::-;4742:6;;-1:-1:-1;;;;;4742:6:0;2724:10;4742:22;4734:67;;;;-1:-1:-1;;;4734:67:0;;;;;;;:::i;:::-;;;;;;;;;11667:21:::1;-1:-1:-1::0;;;;;11699:26:0;::::1;:64;11759:3;11727:28;11739:16:::0;11667:21;11727:28:::1;:::i;:::-;11726:36;;;;:::i;:::-;11699:64;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11637:134;11556:215:::0;;:::o;7242:341::-;-1:-1:-1;;;;;7362:19:0;;7342:4;7362:19;;;:11;:19;;;;;;;;7382:10;7362:31;;;;;;;;-1:-1:-1;;7362:52:0;7359:157;;-1:-1:-1;;;;;7464:19:0;;;;;;:11;:19;;;;;;;;7484:10;7464:31;;;;;;;;:40;;7498:6;;7464:40;:::i;:::-;-1:-1:-1;;;;;7430:19:0;;;;;;:11;:19;;;;;;;;7450:10;7430:31;;;;;;;:74;7359:157;7535:40;7549:6;7557:9;7568:6;7535:13;:40::i;:::-;7528:47;;7242:341;;;;;;:::o;12699:122::-;12754:4;12778:35;12786:7;-1:-1:-1;;12778:7:0;:35::i;4827:148::-;4742:6;;-1:-1:-1;;;;;4742:6:0;2724:10;4742:22;4734:67;;;;-1:-1:-1;;;4734:67:0;;;;;;;:::i;:::-;4934:1:::1;4918:6:::0;;4897:40:::1;::::0;-1:-1:-1;;;;;4918:6:0;;::::1;::::0;4897:40:::1;::::0;4934:1;;4897:40:::1;4965:1;4948:19:::0;;-1:-1:-1;;;;;;4948:19:0::1;::::0;;4827:148::o;7078:156::-;7158:4;7182:44;7196:10;7208:9;7219:6;7182:13;:44::i;11251:295::-;4742:6;;-1:-1:-1;;;;;4742:6:0;2724:10;4742:22;4734:67;;;;-1:-1:-1;;;4734:67:0;;;;;;;:::i;:::-;11392:1:::1;11377:12;:16;11369:25;;;::::0;::::1;;11405:11;:22:::0;;-1:-1:-1;;11405:22:0::1;::::0;;::::1;;;;::::0;;-1:-1:-1;11454:12:0;:27:::1;::::0;11469:12;;11454:27:::1;:::i;:::-;11438:13;:43:::0;11522:15:::1;5419:2;11522;:15;:::i;:::-;11506:32;::::0;:12;:32:::1;:::i;:::-;11492:11;:46:::0;-1:-1:-1;;;11251:295:0:o;11147:96::-;4742:6;;-1:-1:-1;;;;;4742:6:0;2724:10;4742:22;4734:67;;;;-1:-1:-1;;;4734:67:0;;;;;;;:::i;:::-;11213:12:::1;:22:::0;;;::::1;;;;-1:-1:-1::0;;11213:22:0;;::::1;::::0;;;::::1;::::0;;11147:96::o;9678:413::-;9734:7;9792:14;;9776:12;;9758:15;:30;;;;:::i;:::-;:48;9754:307;;;-1:-1:-1;9828:1:0;;9678:413;-1:-1:-1;9678:413:0:o;9754:307::-;9875:12;9861:10;;9848;;:23;;;;:::i;:::-;:39;9845:216;;9911:7;:17;;9926:2;9911:17;;;9921:2;9911:17;9904:24;;;9678:413;-1:-1:-1;;9678:413:0:o;9845:216::-;9994:14;;9978:12;;9960:30;;:15;:30;:::i;:::-;:48;9956:105;;;10031:7;:17;;10046:2;10031:17;;;-1:-1:-1;10041:2:0;;10024:24;-1:-1:-1;9678:413:0:o;9956:105::-;-1:-1:-1;10078:1:0;;9678:413;-1:-1:-1;9678:413:0:o;4981:244::-;4742:6;;-1:-1:-1;;;;;4742:6:0;2724:10;4742:22;4734:67;;;;-1:-1:-1;;;4734:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5070:22:0;::::1;5062:73;;;::::0;-1:-1:-1;;;5062:73:0;;6857:2:1;5062:73:0::1;::::0;::::1;6839:21:1::0;6896:2;6876:18;;;6869:30;6935:34;6915:18;;;6908:62;-1:-1:-1;;;6986:18:1;;;6979:36;7032:19;;5062:73:0::1;6655:402:1::0;5062:73:0::1;5172:6;::::0;;5151:38:::1;::::0;-1:-1:-1;;;;;5151:38:0;;::::1;::::0;5172:6;::::1;::::0;5151:38:::1;::::0;::::1;5200:6;:17:::0;;-1:-1:-1;;;;;;5200:17:0::1;-1:-1:-1::0;;;;;5200:17:0;;;::::1;::::0;;;::::1;::::0;;4981:244::o;7591:1224::-;7683:4;-1:-1:-1;;;;;7708:20:0;;7700:57;;;;-1:-1:-1;;;7700:57:0;;7264:2:1;7700:57:0;;;7246:21:1;7303:2;7283:18;;;7276:30;7342:26;7322:18;;;7315:54;7386:18;;7700:57:0;7062:348:1;7700:57:0;-1:-1:-1;;;;;7776:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;7776:27:0;7768:60;;;;-1:-1:-1;;;7768:60:0;;7617:2:1;7768:60:0;;;7599:21:1;7656:2;7636:18;;;7629:30;-1:-1:-1;;;7675:18:1;;;7668:50;7735:18;;7768:60:0;7415:344:1;7768:60:0;7844:6;;;;;:48;;-1:-1:-1;7865:4:0;;-1:-1:-1;;;;;7855:14:0;;;7865:4;;7855:14;;;;:35;;-1:-1:-1;7886:4:0;;-1:-1:-1;;;;;7873:17:0;;;7886:4;;7873:17;;7855:35;7841:106;;;7903:41;7918:6;7926:9;7937:6;7903:14;:41::i;:::-;7896:48;;;;7841:106;7963:6;;;;7959:116;;4655:7;4682:6;-1:-1:-1;;;;;7980:17:0;;;4682:6;;7980:17;;:41;;-1:-1:-1;4655:7:0;4682:6;-1:-1:-1;;;;;8001:20:0;;;4682:6;;8001:20;7980:41;7972:75;;;;-1:-1:-1;;;7972:75:0;;7966:2:1;7972:75:0;;;7948:21:1;8005:2;7985:18;;;7978:30;-1:-1:-1;;;8024:18:1;;;8017:51;8085:18;;7972:75:0;7764:345:1;7972:75:0;8056:2;6855:10;:24;;;6890:13;;6927:12;6914:10;:25;6965:15;6950:12;:30;-1:-1:-1;;6991:18:0;;;;;8060:10;7028:14;:32;8049:23;8092:12;;;;;;;:33;;;;-1:-1:-1;4655:7:0;4682:6;-1:-1:-1;;;;;8108:17:0;;;4682:6;;8108:17;;8092:33;:57;;;;-1:-1:-1;4655:7:0;4682:6;-1:-1:-1;;;;;8129:20:0;;;4682:6;;8129:20;;8092:57;8089:216;;;8215:3;8199:12;;:19;;;;:::i;:::-;8188:6;:31;;8180:61;;;;-1:-1:-1;;;8180:61:0;;8316:2:1;8180:61:0;;;8298:21:1;8355:2;8335:18;;;8328:30;-1:-1:-1;;;8374:18:1;;;8367:47;8431:18;;8180:61:0;8114:341:1;8180:61:0;8256:35;8273:9;8284:6;8256:16;:35::i;:::-;8320:25;8335:9;8320:14;:25::i;:::-;8317:66;;;8352:10;;8348:32;;8364:16;8373:6;8364:8;:16::i;:::-;-1:-1:-1;;;;;8425:17:0;;;;;;:9;:17;;;;;;:26;;8445:6;;8425:26;:::i;:::-;-1:-1:-1;;;;;8405:17:0;;;;;;;:9;:17;;;;;;;;:46;;;;8490:25;;;;;:14;:25;;;;;;;8478:38;;8490:25;;8478:11;:38::i;:::-;8464:52;;8537:22;8574:7;4655;4682:6;-1:-1:-1;;;;;4682:6:0;;4617:79;8574:7;-1:-1:-1;;;;;8564:17:0;:6;-1:-1:-1;;;;;8564:17:0;;;:28;;;;;8591:1;8585:3;:7;8564:28;8563:70;;8627:6;8563:70;;;8596:28;8604:6;8612;8620:3;8596:7;:28::i;:::-;-1:-1:-1;;;;;8687:20:0;;;;;;:9;:20;;;;;;8537:96;;-1:-1:-1;8687:37:0;;8537:96;;8687:37;:::i;:::-;-1:-1:-1;;;;;8664:20:0;;;;;;;:9;:20;;;;;;;:60;;;;8742:43;;;;;;;;;;8770:14;160:25:1;;148:2;133:18;;14:177;8742:43:0;;;;;;;;-1:-1:-1;8803:4:0;;7591:1224;-1:-1:-1;;;;;7591:1224:0:o;8825:300::-;-1:-1:-1;;;;;8955:17:0;;8918:4;8955:17;;;:9;:17;;;;;;:26;;8975:6;;8955:26;:::i;:::-;-1:-1:-1;;;;;8935:17:0;;;;;;;:9;:17;;;;;;:46;;;;9015:20;;;;;;;:29;;9038:6;;9015:29;:::i;:::-;-1:-1:-1;;;;;8992:20:0;;;;;;;:9;:20;;;;;;;:52;;;;9060:35;;;;;;;;;;9088:6;160:25:1;;148:2;133:18;;14:177;9060:35:0;;;;;;;;-1:-1:-1;9113:4:0;8825:300;;;;;:::o;9137:221::-;9223:19;9261:2;9245:12;;:18;;;;:::i;:::-;-1:-1:-1;;;;;9282:20:0;;;;;;:9;:20;;;;;;9223:40;;-1:-1:-1;9223:40:0;;9282:29;;9305:6;;9282:29;:::i;:::-;:44;;9274:76;;;;-1:-1:-1;;;9274:76:0;;8662:2:1;9274:76:0;;;8644:21:1;8701:2;8681:18;;;8674:30;-1:-1:-1;;;8720:18:1;;;8713:49;8779:18;;9274:76:0;8460:343:1;9274:76:0;9212:146;9137:221;;:::o;10101:259::-;10207:10;10167:4;10192:26;;;:14;:26;;;;;;;;10191:27;:47;;;;-1:-1:-1;10232:6:0;;;;10231:7;10191:47;:71;;;;-1:-1:-1;10251:11:0;;;;;;;10191:71;:109;;;;-1:-1:-1;;;;;;10275:25:0;;;;;;:14;:25;;;;;;;;10191:109;:161;;;;-1:-1:-1;10341:11:0;;10331:4;10313:24;;;;:9;:24;;;;;;:39;;10184:168;10101:259;-1:-1:-1;;10101:259:0:o;10368:765::-;6184:6;:13;;-1:-1:-1;;6184:13:0;6193:4;6184:13;;;10463::::1;::::0;6184:6;;10454:22;::::1;:47;;10488:13;;10454:47;;;10479:6;10454:47;10534:4;10516:24;::::0;;;:9:::1;:24;::::0;;;;;10431:70;;-1:-1:-1;10516:39:0;-1:-1:-1;10512:84:0::1;;;-1:-1:-1::0;10590:4:0::1;10572:24;::::0;;;:9:::1;:24;::::0;;;;;10512:84:::1;10641:16;::::0;;10655:1:::1;10641:16:::0;;;;;::::1;::::0;;10617:21:::1;::::0;10641:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10641:16:0::1;10617:40;;10686:4;10668;10673:1;10668:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10668:23:0::1;;;-1:-1:-1::0;;;;;10668:23:0::1;;;::::0;::::1;10712:6;;;;;;;;;-1:-1:-1::0;;;;;10712:6:0::1;-1:-1:-1::0;;;;;10712:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10702:4;10707:1;10702:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10702:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10746:6:::1;::::0;;:188:::1;::::0;-1:-1:-1;;;10746:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10818:12;;10746:6:::1;::::0;10861:4;;10888::::1;::::0;10908:15:::1;::::0;10746:188:::1;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10990:1;10966:21;:25;10962:92;;;4655:7:::0;4682:6;;11006:48:::1;::::0;-1:-1:-1;;;;;4682:6:0;;;;11032:21:::1;11006:48:::0;::::1;;;::::0;11032:21;;11006:48;4655:7;11006:48;11032:21;4682:6;11006:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10962:92;11080:45;::::0;;10487:25:1;;;11103:21:0::1;10543:2:1::0;10528:18;;10521:34;11080:45:0::1;::::0;10460:18:1;11080:45:0::1;;;;;;;-1:-1:-1::0;;6202:6:0;:14;;-1:-1:-1;;6202:14:0;;;-1:-1:-1;10368:765:0:o;9368:302::-;9448:7;;9505:3;9489:12;9498:3;9489:6;:12;:::i;:::-;9488:20;;;;:::i;:::-;9547:4;9529:24;;;;:9;:24;;;;;:37;;9468:40;;-1:-1:-1;9468:40:0;;9529:24;;;:37;;9468:40;;9529:37;:::i;:::-;;;;-1:-1:-1;;9582:42:0;;160:25:1;;;9607:4:0;;-1:-1:-1;;;;;9582:42:0;;;;;148:2:1;133:18;9582:42:0;;;;;;;9644:18;9653:9;9644:6;:18;:::i;:::-;9637:25;9368:302;-1:-1:-1;;;;;9368:302:0:o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:::-;1465:6;1473;1526:2;1514:9;1505:7;1501:23;1497:32;1494:52;;;1542:1;1539;1532:12;1494:52;1578:9;1565:23;1555:33;;1638:2;1627:9;1623:18;1610:32;1651:31;1676:5;1651:31;:::i;:::-;1701:5;1691:15;;;1397:315;;;;;:::o;1717:456::-;1794:6;1802;1810;1863:2;1851:9;1842:7;1838:23;1834:32;1831:52;;;1879:1;1876;1869:12;1831:52;1918:9;1905:23;1937:31;1962:5;1937:31;:::i;:::-;1987:5;-1:-1:-1;2044:2:1;2029:18;;2016:32;2057:33;2016:32;2057:33;:::i;:::-;1717:456;;2109:7;;-1:-1:-1;;;2163:2:1;2148:18;;;;2135:32;;1717:456::o;2367:247::-;2426:6;2479:2;2467:9;2458:7;2454:23;2450:32;2447:52;;;2495:1;2492;2485:12;2447:52;2534:9;2521:23;2553:31;2578:5;2553:31;:::i;2827:160::-;2892:20;;2948:13;;2941:21;2931:32;;2921:60;;2977:1;2974;2967:12;2921:60;2827:160;;;:::o;2992:316::-;3066:6;3074;3082;3135:2;3123:9;3114:7;3110:23;3106:32;3103:52;;;3151:1;3148;3141:12;3103:52;3174:26;3190:9;3174:26;:::i;:::-;3164:36;3247:2;3232:18;;3219:32;;-1:-1:-1;3298:2:1;3283:18;;;3270:32;;2992:316;-1:-1:-1;;;2992:316:1:o;3313:180::-;3369:6;3422:2;3410:9;3401:7;3397:23;3393:32;3390:52;;;3438:1;3435;3428:12;3390:52;3461:26;3477:9;3461:26;:::i;3498:388::-;3566:6;3574;3627:2;3615:9;3606:7;3602:23;3598:32;3595:52;;;3643:1;3640;3633:12;3595:52;3682:9;3669:23;3701:31;3726:5;3701:31;:::i;:::-;3751:5;-1:-1:-1;3808:2:1;3793:18;;3780:32;3821:33;3780:32;3821:33;:::i;4121:356::-;4323:2;4305:21;;;4342:18;;;4335:30;4401:34;4396:2;4381:18;;4374:62;4468:2;4453:18;;4121:356::o;4482:127::-;4543:10;4538:3;4534:20;4531:1;4524:31;4574:4;4571:1;4564:15;4598:4;4595:1;4588:15;4614:168;4687:9;;;4718;;4735:15;;;4729:22;;4715:37;4705:71;;4756:18;;:::i;4787:217::-;4827:1;4853;4843:132;;4897:10;4892:3;4888:20;4885:1;4878:31;4932:4;4929:1;4922:15;4960:4;4957:1;4950:15;4843:132;-1:-1:-1;4989:9:1;;4787:217::o;5009:128::-;5076:9;;;5097:11;;;5094:37;;;5111:18;;:::i;5142:422::-;5231:1;5274:5;5231:1;5288:270;5309:7;5299:8;5296:21;5288:270;;;5368:4;5364:1;5360:6;5356:17;5350:4;5347:27;5344:53;;;5377:18;;:::i;:::-;5427:7;5417:8;5413:22;5410:55;;;5447:16;;;;5410:55;5526:22;;;;5486:15;;;;5288:270;;;5292:3;5142:422;;;;;:::o;5569:806::-;5618:5;5648:8;5638:80;;-1:-1:-1;5689:1:1;5703:5;;5638:80;5737:4;5727:76;;-1:-1:-1;5774:1:1;5788:5;;5727:76;5819:4;5837:1;5832:59;;;;5905:1;5900:130;;;;5812:218;;5832:59;5862:1;5853:10;;5876:5;;;5900:130;5937:3;5927:8;5924:17;5921:43;;;5944:18;;:::i;:::-;-1:-1:-1;;6000:1:1;5986:16;;6015:5;;5812:218;;6114:2;6104:8;6101:16;6095:3;6089:4;6086:13;6082:36;6076:2;6066:8;6063:16;6058:2;6052:4;6049:12;6045:35;6042:77;6039:159;;;-1:-1:-1;6151:19:1;;;6183:5;;6039:159;6230:34;6255:8;6249:4;6230:34;:::i;:::-;6300:6;6296:1;6292:6;6288:19;6279:7;6276:32;6273:58;;;6311:18;;:::i;:::-;6349:20;;5569:806;-1:-1:-1;;;5569:806:1:o;6380:140::-;6438:5;6467:47;6508:4;6498:8;6494:19;6488:4;6467:47;:::i;6525:125::-;6590:9;;;6611:10;;;6608:36;;;6624:18;;:::i;8940:127::-;9001:10;8996:3;8992:20;8989:1;8982:31;9032:4;9029:1;9022:15;9056:4;9053:1;9046:15;9072:251;9142:6;9195:2;9183:9;9174:7;9170:23;9166:32;9163:52;;;9211:1;9208;9201:12;9163:52;9243:9;9237:16;9262:31;9287:5;9262:31;:::i;9328:980::-;9590:4;9638:3;9627:9;9623:19;9669:6;9658:9;9651:25;9695:2;9733:6;9728:2;9717:9;9713:18;9706:34;9776:3;9771:2;9760:9;9756:18;9749:31;9800:6;9835;9829:13;9866:6;9858;9851:22;9904:3;9893:9;9889:19;9882:26;;9943:2;9935:6;9931:15;9917:29;;9964:1;9974:195;9988:6;9985:1;9982:13;9974:195;;;10053:13;;-1:-1:-1;;;;;10049:39:1;10037:52;;10144:15;;;;10109:12;;;;10085:1;10003:9;9974:195;;;-1:-1:-1;;;;;;;10225:32:1;;;;10220:2;10205:18;;10198:60;-1:-1:-1;;;10289:3:1;10274:19;10267:35;10186:3;9328:980;-1:-1:-1;;;9328:980:1:o

Swarm Source

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