ETH Price: $2,501.00 (-0.62%)

Token

Crypto Investigation Agency (CIA)
 

Overview

Max Total Supply

1,000,000 CIA

Holders

72

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2,528.05424361957 CIA

Value
$0.00
0x5793C281e50266d1Cc25FfE051440C4CCd01A8A9
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:
CIAToken

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 555 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
//
// Telegram: https://t.me/ciaerc20
// Twitter:  https://twitter.com/ciaerccoin
// Web:      https://ciaeth.com/
//
// CIA Token, symbolizing "Crypto Investigation Agency," is dedicated to revolutionizing the cryptocurrency landscape
// by championing transparency and integrity.
//
//   ______   ______   ______  
//  /      \ /      | /      \ 
// /$$$$$$  |$$$$$$/ /$$$$$$  |
// $$ |  $$/   $$ |  $$ |__$$ |
// $$ |        $$ |  $$    $$ |
// $$ |   __   $$ |  $$$$$$$$ |
// $$ \__/  | _$$ |_ $$ |  $$ |
// $$    $$/ / $$   |$$ |  $$ |
//  $$$$$$/  $$$$$$/ $$/   $$/ 

pragma solidity 0.8.21;

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;
    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 CIAToken is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "Crypto Investigation Agency";
    string private constant _symbol = "CIA";

    address public marketingWallet;
    address public devWallet;

    bool public tradingEnabled;
    bool private inSwap;
    bool private swapEnabled;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;

    uint256 public maxWallet = _tTotal * 2 / 100;
    uint256 public maxTx = _tTotal * 2 / 100;
    uint256 public minTokensBeforeSwap = _tTotal / 250;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;

    // At launch
    uint256 public buyTotal = 10;
    uint256 public sellTotal = 10;

    // After launch, forever
    uint256 normalBuyFees = 5;
    uint256 normalSellFees = 5;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isExcludedFromFees;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        marketingWallet = payable(msg.sender);
        devWallet = payable(msg.sender);
        _balances[_msgSender()] = _tTotal;
        isExcludedFromFees[owner()] = true;
        isExcludedFromFees[address(this)] = true;
        isExcludedFromFees[address(uniswapV2Router)] = 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 _balances[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 _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount;
        if (!isExcludedFromFees[from] && !isExcludedFromFees[to]) {
            require(tradingEnabled, "Trade is not open");
            require(amount <= maxTx, "Amount over max tx amount");

            if(to == uniswapV2Pair){
                taxAmount = amount * sellTotal / 100;
            }

            if (from == uniswapV2Pair) {
                taxAmount = amount * buyTotal / 100;
                require(balanceOf(to) + amount <= maxWallet, "Wallet amount over maxwallet");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > minTokensBeforeSwap) {
                swapBack(minTokensBeforeSwap);
            }
        }

        if(taxAmount > 0){
          _balances[address(this)] += taxAmount;
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from] -= amount;
        _balances[to] += amount - taxAmount;
        emit Transfer(from, to, amount - taxAmount);
    }

    function removeLimits() external onlyOwner{
        maxWallet =_tTotal;
        maxTx = _tTotal;
        buyTotal = normalBuyFees;
        sellTotal = normalSellFees;
    }

    function setMarketingWallet(address payable wallet) external onlyOwner {
        require(wallet != address(0), "Can't set 0 address");
        marketingWallet = wallet;
    }

    function setDevWallet(address payable wallet) external onlyOwner {
        require(wallet != address(0), "Can't set 0 address");
        devWallet = wallet;
    }

    function swapBack(uint256 amount) private {        
        bool success;
        swapTokensForEth(amount);
        (success, ) = address(marketingWallet).call{value: address(this).balance}("");
    }

    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 setSwapTokensAtAmount(uint amount) external onlyOwner {
        minTokensBeforeSwap = amount * 10 ** decimals();
    }

    function excludeFromFees(address account) external onlyOwner {
        isExcludedFromFees[account] = true;
    }

    function includeInFees(address account) external onlyOwner {
        isExcludedFromFees[account] = false;
    }

    function enableTrading() external onlyOwner() {
        tradingEnabled = true;
        swapEnabled = true;
    }

    receive() external payable {}
}

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":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":"buyTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minTokensBeforeSwap","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"wallet","type":"address"}],"name":"setDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"wallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526064620000146012600a620004a0565b6200002390620f4240620004b7565b62000030906002620004b7565b6200003c9190620004d1565b60035560646200004f6012600a620004a0565b6200005e90620f4240620004b7565b6200006b906002620004b7565b620000779190620004d1565b60045560fa6200008a6012600a620004a0565b6200009990620f4240620004b7565b620000a59190620004d1565b600555600a600855600a6009556005600a556005600b55348015620000c8575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200016c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001929190620004f1565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002189190620004f1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000263573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002899190620004f1565b600780546001600160a01b03929092166001600160a01b03199283161790556001805482163390811790915560028054909216179055620002cd6012600a620004a0565b620002dc90620f4240620004b7565b335f818152600c602090815260408083209490945581546001600160a01b039081168352600e9091528382208054600160ff199182168117909255308452858420805482168317905560065490921683529382208054909116909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200036b6012600a620004a0565b6200037a90620f4240620004b7565b60405190815260200160405180910390a362000519565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003e557815f1904821115620003c957620003c962000391565b80851615620003d757918102915b93841c9390800290620003aa565b509250929050565b5f82620003fd575060016200049a565b816200040b57505f6200049a565b81600181146200042457600281146200042f576200044f565b60019150506200049a565b60ff84111562000443576200044362000391565b50506001821b6200049a565b5060208310610133831016604e8410600b841016171562000474575081810a6200049a565b620004808383620003a5565b805f190482111562000496576200049662000391565b0290505b92915050565b5f620004b060ff841683620003ed565b9392505050565b80820281158282048414176200049a576200049a62000391565b5f82620004ec57634e487b7160e01b5f52601260045260245ffd5b500490565b5f6020828403121562000502575f80fd5b81516001600160a01b0381168114620004b0575f80fd5b61141480620005275f395ff3fe6080604052600436106101b2575f3560e01c8063751039fc116100e7578063afa4f3b211610087578063e57f14e111610062578063e57f14e114610524578063e5cc3f9214610543578063e5d41c6b14610558578063f8b45b051461056d575f80fd5b8063afa4f3b2146104ac578063dabfd6ef146104cb578063dd62ed3e146104e0575f80fd5b80638da5cb5b116100c25780638da5cb5b146104275780638ea5220f1461044357806395d89b4114610462578063a9059cbb1461048d575f80fd5b8063751039fc146103e057806375f0a874146103f45780638a8c523c14610413575f80fd5b806349bd5a5e116101525780635d098b381161012d5780635d098b381461036457806370a0823114610383578063715018a6146103b75780637437681e146103cb575f80fd5b806349bd5a5e146102df5780634ada218b146103165780634fbee19314610336575f80fd5b806318160ddd1161018d57806318160ddd146102645780631f53ac021461028657806323b872dd146102a5578063313ce567146102c4575f80fd5b806306fdde03146101bd578063095ea7b31461021457806316a2f82a14610243575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b5060408051808201909152601b81527f43727970746f20496e7665737469676174696f6e204167656e6379000000000060208201525b60405161020b9190611060565b60405180910390f35b34801561021f575f80fd5b5061023361022e3660046110c2565b610582565b604051901515815260200161020b565b34801561024e575f80fd5b5061026261025d3660046110ec565b610598565b005b34801561026f575f80fd5b50610278610603565b60405190815260200161020b565b348015610291575f80fd5b506102626102a03660046110ec565b610622565b3480156102b0575f80fd5b506102336102bf36600461110e565b6106d6565b3480156102cf575f80fd5b506040516012815260200161020b565b3480156102ea575f80fd5b506007546102fe906001600160a01b031681565b6040516001600160a01b03909116815260200161020b565b348015610321575f80fd5b5060025461023390600160a01b900460ff1681565b348015610341575f80fd5b506102336103503660046110ec565b600e6020525f908152604090205460ff1681565b34801561036f575f80fd5b5061026261037e3660046110ec565b61073d565b34801561038e575f80fd5b5061027861039d3660046110ec565b6001600160a01b03165f908152600c602052604090205490565b3480156103c2575f80fd5b506102626107f1565b3480156103d6575f80fd5b5061027860045481565b3480156103eb575f80fd5b5061026261087f565b3480156103ff575f80fd5b506001546102fe906001600160a01b031681565b34801561041e575f80fd5b5061026261090b565b348015610432575f80fd5b505f546001600160a01b03166102fe565b34801561044e575f80fd5b506002546102fe906001600160a01b031681565b34801561046d575f80fd5b5060408051808201909152600381526243494160e81b60208201526101fe565b348015610498575f80fd5b506102336104a73660046110c2565b61096a565b3480156104b7575f80fd5b506102626104c636600461114c565b610976565b3480156104d6575f80fd5b5061027860095481565b3480156104eb575f80fd5b506102786104fa366004611163565b6001600160a01b039182165f908152600d6020908152604080832093909416825291909152205490565b34801561052f575f80fd5b5061026261053e3660046110ec565b6109d8565b34801561054e575f80fd5b5061027860085481565b348015610563575f80fd5b5061027860055481565b348015610578575f80fd5b5061027860035481565b5f61058e338484610a41565b5060015b92915050565b5f546001600160a01b031633146105e35760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064015b60405180910390fd5b6001600160a01b03165f908152600e60205260409020805460ff19169055565b5f6106106012600a61128e565b61061d90620f424061129c565b905090565b5f546001600160a01b031633146106685760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6001600160a01b0381166106b45760405162461bcd60e51b815260206004820152601360248201527243616e2774207365742030206164647265737360681b60448201526064016105da565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f6106e2848484610aa1565b610733843361072e85604051806060016040528060288152602001611397602891396001600160a01b038a165f908152600d602090815260408083203384529091529020549190610e58565b610a41565b5060019392505050565b5f546001600160a01b031633146107835760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6001600160a01b0381166107cf5760405162461bcd60e51b815260206004820152601360248201527243616e2774207365742030206164647265737360681b60448201526064016105da565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146108375760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108c55760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6108d16012600a61128e565b6108de90620f424061129c565b6003556108ed6012600a61128e565b6108fa90620f424061129c565b600455600a54600855600b54600955565b5f546001600160a01b031633146109515760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6002805462ff00ff60a01b19166201000160a01b179055565b5f61058e338484610aa1565b5f546001600160a01b031633146109bc5760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6109c86012600a61128e565b6109d2908261129c565b60055550565b5f546001600160a01b03163314610a1e5760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6001600160a01b03165f908152600e60205260409020805460ff19166001179055565b6001600160a01b038381165f818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8111610b025760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105da565b6001600160a01b0383165f908152600e602052604081205460ff16158015610b4257506001600160a01b0383165f908152600e602052604090205460ff16155b15610d3b57600254600160a01b900460ff16610ba05760405162461bcd60e51b815260206004820152601160248201527f5472616465206973206e6f74206f70656e00000000000000000000000000000060448201526064016105da565b600454821115610bf25760405162461bcd60e51b815260206004820152601960248201527f416d6f756e74206f766572206d617820747820616d6f756e740000000000000060448201526064016105da565b6007546001600160a01b0390811690841603610c2557606460095483610c18919061129c565b610c2291906112b3565b90505b6007546001600160a01b0390811690851603610cd157606460085483610c4b919061129c565b610c5591906112b3565b905060035482610c79856001600160a01b03165f908152600c602052604090205490565b610c8391906112d2565b1115610cd15760405162461bcd60e51b815260206004820152601c60248201527f57616c6c657420616d6f756e74206f766572206d617877616c6c65740000000060448201526064016105da565b305f908152600c6020526040902054600254600160a81b900460ff16158015610d0757506007546001600160a01b038581169116145b8015610d1c5750600254600160b01b900460ff165b8015610d29575060055481115b15610d3957610d39600554610e90565b505b8015610da557305f908152600c602052604081208054839290610d5f9084906112d2565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b0384165f908152600c602052604081208054849290610dcc9084906112e5565b90915550610ddc905081836112e5565b6001600160a01b0384165f908152600c602052604081208054909190610e039084906112d2565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e4184866112e5565b60405190815260200160405180910390a350505050565b5f8184841115610e7b5760405162461bcd60e51b81526004016105da9190611060565b505f610e8784866112e5565b95945050505050565b5f610e9a82610ef0565b6001546040516001600160a01b039091169047905f81818185875af1925050503d805f8114610ee4576040519150601f19603f3d011682016040523d82523d5f602084013e610ee9565b606091505b5050505050565b6002805460ff60a81b1916600160a81b178155604080518281526060810182525f92909160208301908036833701905050905030815f81518110610f3657610f366112f8565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb1919061130c565b81600181518110610fc457610fc46112f8565b6001600160a01b039283166020918202929092010152600654610fea9130911684610a41565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906110229085905f90869030904290600401611327565b5f604051808303815f87803b158015611039575f80fd5b505af115801561104b573d5f803e3d5ffd5b50506002805460ff60a81b1916905550505050565b5f6020808352835180828501525f5b8181101561108b5785810183015185820160400152820161106f565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146110bf575f80fd5b50565b5f80604083850312156110d3575f80fd5b82356110de816110ab565b946020939093013593505050565b5f602082840312156110fc575f80fd5b8135611107816110ab565b9392505050565b5f805f60608486031215611120575f80fd5b833561112b816110ab565b9250602084013561113b816110ab565b929592945050506040919091013590565b5f6020828403121561115c575f80fd5b5035919050565b5f8060408385031215611174575f80fd5b823561117f816110ab565b9150602083013561118f816110ab565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156111e857815f19048211156111ce576111ce61119a565b808516156111db57918102915b93841c93908002906111b3565b509250929050565b5f826111fe57506001610592565b8161120a57505f610592565b8160018114611220576002811461122a57611246565b6001915050610592565b60ff84111561123b5761123b61119a565b50506001821b610592565b5060208310610133831016604e8410600b8410161715611269575081810a610592565b61127383836111ae565b805f19048211156112865761128661119a565b029392505050565b5f61110760ff8416836111f0565b80820281158282048414176105925761059261119a565b5f826112cd57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156105925761059261119a565b818103818111156105925761059261119a565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561131c575f80fd5b8151611107816110ab565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156113755784516001600160a01b031683529383019391830191600101611350565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212201436964e5f94828593c2dfda0a8ddfa1058490dba7896f05d88b2989bf7440f164736f6c63430008150033

Deployed Bytecode

0x6080604052600436106101b2575f3560e01c8063751039fc116100e7578063afa4f3b211610087578063e57f14e111610062578063e57f14e114610524578063e5cc3f9214610543578063e5d41c6b14610558578063f8b45b051461056d575f80fd5b8063afa4f3b2146104ac578063dabfd6ef146104cb578063dd62ed3e146104e0575f80fd5b80638da5cb5b116100c25780638da5cb5b146104275780638ea5220f1461044357806395d89b4114610462578063a9059cbb1461048d575f80fd5b8063751039fc146103e057806375f0a874146103f45780638a8c523c14610413575f80fd5b806349bd5a5e116101525780635d098b381161012d5780635d098b381461036457806370a0823114610383578063715018a6146103b75780637437681e146103cb575f80fd5b806349bd5a5e146102df5780634ada218b146103165780634fbee19314610336575f80fd5b806318160ddd1161018d57806318160ddd146102645780631f53ac021461028657806323b872dd146102a5578063313ce567146102c4575f80fd5b806306fdde03146101bd578063095ea7b31461021457806316a2f82a14610243575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b5060408051808201909152601b81527f43727970746f20496e7665737469676174696f6e204167656e6379000000000060208201525b60405161020b9190611060565b60405180910390f35b34801561021f575f80fd5b5061023361022e3660046110c2565b610582565b604051901515815260200161020b565b34801561024e575f80fd5b5061026261025d3660046110ec565b610598565b005b34801561026f575f80fd5b50610278610603565b60405190815260200161020b565b348015610291575f80fd5b506102626102a03660046110ec565b610622565b3480156102b0575f80fd5b506102336102bf36600461110e565b6106d6565b3480156102cf575f80fd5b506040516012815260200161020b565b3480156102ea575f80fd5b506007546102fe906001600160a01b031681565b6040516001600160a01b03909116815260200161020b565b348015610321575f80fd5b5060025461023390600160a01b900460ff1681565b348015610341575f80fd5b506102336103503660046110ec565b600e6020525f908152604090205460ff1681565b34801561036f575f80fd5b5061026261037e3660046110ec565b61073d565b34801561038e575f80fd5b5061027861039d3660046110ec565b6001600160a01b03165f908152600c602052604090205490565b3480156103c2575f80fd5b506102626107f1565b3480156103d6575f80fd5b5061027860045481565b3480156103eb575f80fd5b5061026261087f565b3480156103ff575f80fd5b506001546102fe906001600160a01b031681565b34801561041e575f80fd5b5061026261090b565b348015610432575f80fd5b505f546001600160a01b03166102fe565b34801561044e575f80fd5b506002546102fe906001600160a01b031681565b34801561046d575f80fd5b5060408051808201909152600381526243494160e81b60208201526101fe565b348015610498575f80fd5b506102336104a73660046110c2565b61096a565b3480156104b7575f80fd5b506102626104c636600461114c565b610976565b3480156104d6575f80fd5b5061027860095481565b3480156104eb575f80fd5b506102786104fa366004611163565b6001600160a01b039182165f908152600d6020908152604080832093909416825291909152205490565b34801561052f575f80fd5b5061026261053e3660046110ec565b6109d8565b34801561054e575f80fd5b5061027860085481565b348015610563575f80fd5b5061027860055481565b348015610578575f80fd5b5061027860035481565b5f61058e338484610a41565b5060015b92915050565b5f546001600160a01b031633146105e35760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064015b60405180910390fd5b6001600160a01b03165f908152600e60205260409020805460ff19169055565b5f6106106012600a61128e565b61061d90620f424061129c565b905090565b5f546001600160a01b031633146106685760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6001600160a01b0381166106b45760405162461bcd60e51b815260206004820152601360248201527243616e2774207365742030206164647265737360681b60448201526064016105da565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f6106e2848484610aa1565b610733843361072e85604051806060016040528060288152602001611397602891396001600160a01b038a165f908152600d602090815260408083203384529091529020549190610e58565b610a41565b5060019392505050565b5f546001600160a01b031633146107835760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6001600160a01b0381166107cf5760405162461bcd60e51b815260206004820152601360248201527243616e2774207365742030206164647265737360681b60448201526064016105da565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146108375760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108c55760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6108d16012600a61128e565b6108de90620f424061129c565b6003556108ed6012600a61128e565b6108fa90620f424061129c565b600455600a54600855600b54600955565b5f546001600160a01b031633146109515760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6002805462ff00ff60a01b19166201000160a01b179055565b5f61058e338484610aa1565b5f546001600160a01b031633146109bc5760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6109c86012600a61128e565b6109d2908261129c565b60055550565b5f546001600160a01b03163314610a1e5760405162461bcd60e51b815260206004820181905260248201525f805160206113bf83398151915260448201526064016105da565b6001600160a01b03165f908152600e60205260409020805460ff19166001179055565b6001600160a01b038381165f818152600d602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8111610b025760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105da565b6001600160a01b0383165f908152600e602052604081205460ff16158015610b4257506001600160a01b0383165f908152600e602052604090205460ff16155b15610d3b57600254600160a01b900460ff16610ba05760405162461bcd60e51b815260206004820152601160248201527f5472616465206973206e6f74206f70656e00000000000000000000000000000060448201526064016105da565b600454821115610bf25760405162461bcd60e51b815260206004820152601960248201527f416d6f756e74206f766572206d617820747820616d6f756e740000000000000060448201526064016105da565b6007546001600160a01b0390811690841603610c2557606460095483610c18919061129c565b610c2291906112b3565b90505b6007546001600160a01b0390811690851603610cd157606460085483610c4b919061129c565b610c5591906112b3565b905060035482610c79856001600160a01b03165f908152600c602052604090205490565b610c8391906112d2565b1115610cd15760405162461bcd60e51b815260206004820152601c60248201527f57616c6c657420616d6f756e74206f766572206d617877616c6c65740000000060448201526064016105da565b305f908152600c6020526040902054600254600160a81b900460ff16158015610d0757506007546001600160a01b038581169116145b8015610d1c5750600254600160b01b900460ff165b8015610d29575060055481115b15610d3957610d39600554610e90565b505b8015610da557305f908152600c602052604081208054839290610d5f9084906112d2565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6001600160a01b0384165f908152600c602052604081208054849290610dcc9084906112e5565b90915550610ddc905081836112e5565b6001600160a01b0384165f908152600c602052604081208054909190610e039084906112d2565b90915550506001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610e4184866112e5565b60405190815260200160405180910390a350505050565b5f8184841115610e7b5760405162461bcd60e51b81526004016105da9190611060565b505f610e8784866112e5565b95945050505050565b5f610e9a82610ef0565b6001546040516001600160a01b039091169047905f81818185875af1925050503d805f8114610ee4576040519150601f19603f3d011682016040523d82523d5f602084013e610ee9565b606091505b5050505050565b6002805460ff60a81b1916600160a81b178155604080518281526060810182525f92909160208301908036833701905050905030815f81518110610f3657610f366112f8565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb1919061130c565b81600181518110610fc457610fc46112f8565b6001600160a01b039283166020918202929092010152600654610fea9130911684610a41565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906110229085905f90869030904290600401611327565b5f604051808303815f87803b158015611039575f80fd5b505af115801561104b573d5f803e3d5ffd5b50506002805460ff60a81b1916905550505050565b5f6020808352835180828501525f5b8181101561108b5785810183015185820160400152820161106f565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146110bf575f80fd5b50565b5f80604083850312156110d3575f80fd5b82356110de816110ab565b946020939093013593505050565b5f602082840312156110fc575f80fd5b8135611107816110ab565b9392505050565b5f805f60608486031215611120575f80fd5b833561112b816110ab565b9250602084013561113b816110ab565b929592945050506040919091013590565b5f6020828403121561115c575f80fd5b5035919050565b5f8060408385031215611174575f80fd5b823561117f816110ab565b9150602083013561118f816110ab565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156111e857815f19048211156111ce576111ce61119a565b808516156111db57918102915b93841c93908002906111b3565b509250929050565b5f826111fe57506001610592565b8161120a57505f610592565b8160018114611220576002811461122a57611246565b6001915050610592565b60ff84111561123b5761123b61119a565b50506001821b610592565b5060208310610133831016604e8410600b8410161715611269575081810a610592565b61127383836111ae565b805f19048211156112865761128661119a565b029392505050565b5f61110760ff8416836111f0565b80820281158282048414176105925761059261119a565b5f826112cd57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156105925761059261119a565b818103818111156105925761059261119a565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561131c575f80fd5b8151611107816110ab565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156113755784516001600160a01b031683529383019391830191600101611350565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212201436964e5f94828593c2dfda0a8ddfa1058490dba7896f05d88b2989bf7440f164736f6c63430008150033

Deployed Bytecode Sourcemap

4064:6320:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5851:83;;;;;;;;;;-1:-1:-1;5921:5:0;;;;;;;;;;;;;;;;;5851:83;;;;;;;:::i;:::-;;;;;;;;6684:161;;;;;;;;;;-1:-1:-1;6684:161:0;;;;;:::i;:::-;;:::i;:::-;;;1211:14:1;;1204:22;1186:41;;1174:2;1159:18;6684:161:0;1046:187:1;10108:113:0;;;;;;;;;;-1:-1:-1;10108:113:0;;;;;:::i;:::-;;:::i;:::-;;6128:95;;;;;;;;;;;;;:::i;:::-;;;1636:25:1;;;1624:2;1609:18;6128:95:0;1490:177:1;8973:165:0;;;;;;;;;;-1:-1:-1;8973:165:0;;;;;:::i;:::-;;:::i;6853:313::-;;;;;;;;;;-1:-1:-1;6853:313:0;;;;;:::i;:::-;;:::i;6037:83::-;;;;;;;;;;-1:-1:-1;6037:83:0;;4463:2;2535:36:1;;2523:2;2508:18;6037:83:0;2393:184:1;4745:28:0;;;;;;;;;;-1:-1:-1;4745:28:0;;;;-1:-1:-1;;;;;4745:28:0;;;;;;-1:-1:-1;;;;;2746:55:1;;;2728:74;;2716:2;2701:18;4745:28:0;2582:226:1;4336:26:0;;;;;;;;;;-1:-1:-1;4336:26:0;;;;-1:-1:-1;;;4336:26:0;;;;;;5099:51;;;;;;;;;;-1:-1:-1;5099:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8788:177;;;;;;;;;;-1:-1:-1;8788:177:0;;;;;:::i;:::-;;:::i;6231:119::-;;;;;;;;;;-1:-1:-1;6231:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6324:18:0;6297:7;6324:18;;;:9;:18;;;;;;;6231:119;3145:148;;;;;;;;;;;;;:::i;4590:40::-;;;;;;;;;;;;;;;;8603:177;;;;;;;;;;;;;:::i;4266:30::-;;;;;;;;;;-1:-1:-1;4266:30:0;;;;-1:-1:-1;;;;;4266:30:0;;;10229:115;;;;;;;;;;;;;:::i;2931:79::-;;;;;;;;;;-1:-1:-1;2969:7:0;2996:6;-1:-1:-1;;;;;2996:6:0;2931:79;;4303:24;;;;;;;;;;-1:-1:-1;4303:24:0;;;;-1:-1:-1;;;;;4303:24:0;;;5942:87;;;;;;;;;;-1:-1:-1;6014:7:0;;;;;;;;;;;;-1:-1:-1;;;6014:7:0;;;;5942:87;;6358:167;;;;;;;;;;-1:-1:-1;6358:167:0;;;;;:::i;:::-;;:::i;9849:129::-;;;;;;;;;;-1:-1:-1;9849:129:0;;;;;:::i;:::-;;:::i;4835:29::-;;;;;;;;;;;;;;;;6533:143;;;;;;;;;;-1:-1:-1;6533:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6641:18:0;;;6614:7;6641:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6533:143;9986:114;;;;;;;;;;-1:-1:-1;9986:114:0;;;;;:::i;:::-;;:::i;4800:28::-;;;;;;;;;;;;;;;;4637:50;;;;;;;;;;;;;;;;4539:44;;;;;;;;;;;;;;;;6684:161;6759:4;6776:39;765:10;6799:7;6808:6;6776:8;:39::i;:::-;-1:-1:-1;6833:4:0;6684:161;;;;;:::o;10108:113::-;3058:6;;-1:-1:-1;;;;;3058:6:0;765:10;3058:22;3050:67;;;;-1:-1:-1;;;3050:67:0;;3593:2:1;3050:67:0;;;3575:21:1;;;3612:18;;;3605:30;-1:-1:-1;;;;;;;;;;;3651:18:1;;;3644:62;3723:18;;3050:67:0;;;;;;;;;-1:-1:-1;;;;;10178:27:0::1;10208:5;10178:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;10178:35:0::1;::::0;;10108:113::o;6128:95::-;6181:7;4517:13;4463:2;4517;:13;:::i;:::-;4507:23;;:7;:23;:::i;:::-;6201:14;;6128:95;:::o;8973:165::-;3058:6;;-1:-1:-1;;;;;3058:6:0;765:10;3058:22;3050:67;;;;-1:-1:-1;;;3050:67:0;;3593:2:1;3050:67:0;;;3575:21:1;;;3612:18;;;3605:30;-1:-1:-1;;;;;;;;;;;3651:18:1;;;3644:62;3723:18;;3050:67:0;3391:356:1;3050:67:0;-1:-1:-1;;;;;9057:20:0;::::1;9049:52;;;::::0;-1:-1:-1;;;9049:52:0;;5642:2:1;9049:52:0::1;::::0;::::1;5624:21:1::0;5681:2;5661:18;;;5654:30;-1:-1:-1;;;5700:18:1;;;5693:49;5759:18;;9049:52:0::1;5440:343:1::0;9049:52:0::1;9112:9;:18:::0;;-1:-1:-1;;;;;;9112:18:0::1;-1:-1:-1::0;;;;;9112:18:0;;;::::1;::::0;;;::::1;::::0;;8973:165::o;6853:313::-;6951:4;6968:36;6978:6;6986:9;6997:6;6968:9;:36::i;:::-;7015:121;7024:6;765:10;7046:89;7084:6;7046:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7046:19:0;;;;;;:11;:19;;;;;;;;765:10;7046:33;;;;;;;;;;:37;:89::i;:::-;7015:8;:121::i;:::-;-1:-1:-1;7154:4:0;6853:313;;;;;:::o;8788:177::-;3058:6;;-1:-1:-1;;;;;3058:6:0;765:10;3058:22;3050:67;;;;-1:-1:-1;;;3050:67:0;;3593:2:1;3050:67:0;;;3575:21:1;;;3612:18;;;3605:30;-1:-1:-1;;;;;;;;;;;3651:18:1;;;3644:62;3723:18;;3050:67:0;3391:356:1;3050:67:0;-1:-1:-1;;;;;8878:20:0;::::1;8870:52;;;::::0;-1:-1:-1;;;8870:52:0;;5642:2:1;8870:52:0::1;::::0;::::1;5624:21:1::0;5681:2;5661:18;;;5654:30;-1:-1:-1;;;5700:18:1;;;5693:49;5759:18;;8870:52:0::1;5440:343:1::0;8870:52:0::1;8933:15;:24:::0;;-1:-1:-1;;;;;;8933:24:0::1;-1:-1:-1::0;;;;;8933:24:0;;;::::1;::::0;;;::::1;::::0;;8788:177::o;3145:148::-;3058:6;;-1:-1:-1;;;;;3058:6:0;765:10;3058:22;3050:67;;;;-1:-1:-1;;;3050:67:0;;3593:2:1;3050:67:0;;;3575:21:1;;;3612:18;;;3605:30;-1:-1:-1;;;;;;;;;;;3651:18:1;;;3644:62;3723:18;;3050:67:0;3391:356:1;3050:67:0;3252:1:::1;3236:6:::0;;3215:40:::1;::::0;-1:-1:-1;;;;;3236:6:0;;::::1;::::0;3215:40:::1;::::0;3252:1;;3215:40:::1;3283:1;3266:19:::0;;-1:-1:-1;;;;;;3266:19:0::1;::::0;;3145:148::o;8603:177::-;3058:6;;-1:-1:-1;;;;;3058:6:0;765:10;3058:22;3050:67;;;;-1:-1:-1;;;3050:67:0;;3593:2:1;3050:67:0;;;3575:21:1;;;3612:18;;;3605:30;-1:-1:-1;;;;;;;;;;;3651:18:1;;;3644:62;3723:18;;3050:67:0;3391:356:1;3050:67:0;4517:13:::1;4463:2;4517;:13;:::i;:::-;4507:23;::::0;:7:::1;:23;:::i;:::-;8656:9;:18:::0;4517:13:::1;4463:2;4517;:13;:::i;:::-;4507:23;::::0;:7:::1;:23;:::i;:::-;8685:5;:15:::0;8722:13:::1;::::0;8711:8:::1;:24:::0;8758:14:::1;::::0;8746:9:::1;:26:::0;8603:177::o;10229:115::-;3058:6;;-1:-1:-1;;;;;3058:6:0;765:10;3058:22;3050:67;;;;-1:-1:-1;;;3050:67:0;;3593:2:1;3050:67:0;;;3575:21:1;;;3612:18;;;3605:30;-1:-1:-1;;;;;;;;;;;3651:18:1;;;3644:62;3723:18;;3050:67:0;3391:356:1;3050:67:0;10286:14:::1;:21:::0;;-1:-1:-1;;;;10318:18:0;-1:-1:-1;;;10318:18:0;;;10229:115::o;6358:167::-;6436:4;6453:42;765:10;6477:9;6488:6;6453:9;:42::i;9849:129::-;3058:6;;-1:-1:-1;;;;;3058:6:0;765:10;3058:22;3050:67;;;;-1:-1:-1;;;3050:67:0;;3593:2:1;3050:67:0;;;3575:21:1;;;3612:18;;;3605:30;-1:-1:-1;;;;;;;;;;;3651:18:1;;;3644:62;3723:18;;3050:67:0;3391:356:1;3050:67:0;9954:16:::1;4463:2:::0;9954::::1;:16;:::i;:::-;9945:25;::::0;:6;:25:::1;:::i;:::-;9923:19;:47:::0;-1:-1:-1;9849:129:0:o;9986:114::-;3058:6;;-1:-1:-1;;;;;3058:6:0;765:10;3058:22;3050:67;;;;-1:-1:-1;;;3050:67:0;;3593:2:1;3050:67:0;;;3575:21:1;;;3612:18;;;3605:30;-1:-1:-1;;;;;;;;;;;3651:18:1;;;3644:62;3723:18;;3050:67:0;3391:356:1;3050:67:0;-1:-1:-1;;;;;10058:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;10058:34:0::1;10088:4;10058:34;::::0;;9986:114::o;7174:177::-;-1:-1:-1;;;;;7259:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7311:32;;1636:25:1;;;7311:32:0;;1609:18:1;7311:32:0;;;;;;;7174:177;;;:::o;7359:1236::-;7456:1;7447:6;:10;7439:64;;;;-1:-1:-1;;;7439:64:0;;5990:2:1;7439:64:0;;;5972:21:1;6029:2;6009:18;;;6002:30;6068:34;6048:18;;;6041:62;-1:-1:-1;;;6119:18:1;;;6112:39;6168:19;;7439:64:0;5788:405:1;7439:64:0;-1:-1:-1;;;;;7547:24:0;;7514:17;7547:24;;;:18;:24;;;;;;;;7546:25;:52;;;;-1:-1:-1;;;;;;7576:22:0;;;;;;:18;:22;;;;;;;;7575:23;7546:52;7542:762;;;7623:14;;-1:-1:-1;;;7623:14:0;;;;7615:44;;;;-1:-1:-1;;;7615:44:0;;6400:2:1;7615:44:0;;;6382:21:1;6439:2;6419:18;;;6412:30;6478:19;6458:18;;;6451:47;6515:18;;7615:44:0;6198:341:1;7615:44:0;7692:5;;7682:6;:15;;7674:53;;;;-1:-1:-1;;;7674:53:0;;6746:2:1;7674:53:0;;;6728:21:1;6785:2;6765:18;;;6758:30;6824:27;6804:18;;;6797:55;6869:18;;7674:53:0;6544:349:1;7674:53:0;7753:13;;-1:-1:-1;;;;;7753:13:0;;;7747:19;;;;7744:94;;7819:3;7807:9;;7798:6;:18;;;;:::i;:::-;:24;;;;:::i;:::-;7786:36;;7744:94;7866:13;;-1:-1:-1;;;;;7866:13:0;;;7858:21;;;;7854:192;;7932:3;7921:8;;7912:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;7900:35;;7988:9;;7978:6;7962:13;7972:2;-1:-1:-1;;;;;6324:18:0;6297:7;6324:18;;;:9;:18;;;;;;;6231:119;7962:13;:22;;;;:::i;:::-;:35;;7954:76;;;;-1:-1:-1;;;7954:76:0;;7452:2:1;7954:76:0;;;7434:21:1;7491:2;7471:18;;;7464:30;7530;7510:18;;;7503:58;7578:18;;7954:76:0;7250:352:1;7954:76:0;8111:4;8062:28;6324:18;;;:9;:18;;;;;;8137:6;;-1:-1:-1;;;8137:6:0;;;;8136:7;:30;;;;-1:-1:-1;8153:13:0;;-1:-1:-1;;;;;8147:19:0;;;8153:13;;8147:19;8136:30;:45;;;;-1:-1:-1;8170:11:0;;-1:-1:-1;;;8170:11:0;;;;8136:45;:91;;;;;8208:19;;8185:20;:42;8136:91;8132:161;;;8248:29;8257:19;;8248:8;:29::i;:::-;7600:704;7542:762;8319:13;;8316:136;;8364:4;8346:24;;;;:9;:24;;;;;:37;;8374:9;;8346:24;:37;;8374:9;;8346:37;:::i;:::-;;;;-1:-1:-1;;8401:39:0;;1636:25:1;;;8424:4:0;;-1:-1:-1;;;;;8401:39:0;;;;;1624:2:1;1609:18;8401:39:0;;;;;;;8316:136;-1:-1:-1;;;;;8462:15:0;;;;;;:9;:15;;;;;:25;;8481:6;;8462:15;:25;;8481:6;;8462:25;:::i;:::-;;;;-1:-1:-1;8515:18:0;;-1:-1:-1;8524:9:0;8515:6;:18;:::i;:::-;-1:-1:-1;;;;;8498:13:0;;;;;;:9;:13;;;;;:35;;:13;;;:35;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8549:38:0;;;;;;;8568:18;8577:9;8568:6;:18;:::i;:::-;8549:38;;1636:25:1;;;1624:2;1609:18;8549:38:0;;;;;;;7428:1167;7359:1236;;;:::o;1823:190::-;1909:7;1945:12;1937:6;;;;1929:29;;;;-1:-1:-1;;;1929:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1969:9:0;1981:5;1985:1;1981;:5;:::i;:::-;1969:17;1823:190;-1:-1:-1;;;;;1823:190:0:o;9146:204::-;9207:12;9230:24;9247:6;9230:16;:24::i;:::-;9287:15;;9279:63;;-1:-1:-1;;;;;9287:15:0;;;;9316:21;;9279:63;;;;9316:21;9287:15;9279:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9146:204:0:o;9358:483::-;5191:6;:13;;-1:-1:-1;;;;5191:13:0;-1:-1:-1;;;5191:13:0;;;9460:16:::1;::::0;;;;;;;::::1;::::0;;-1:-1:-1;;9460:16:0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9460:16:0::1;9436:40;;9505:4;9487;9492:1;9487:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9487:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9531:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9531:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9487:7;;9531:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9521:4;9526:1;9521:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9521:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9596:15:::1;::::0;9564:62:::1;::::0;9581:4:::1;::::0;9596:15:::1;9614:11:::0;9564:8:::1;:62::i;:::-;9637:15;::::0;:196:::1;::::0;-1:-1:-1;;;9637:196:0;;-1:-1:-1;;;;;9637:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9718:11;;9637:15:::1;::::0;9760:4;;9787::::1;::::0;9807:15:::1;::::0;9637:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5227:6:0;:14;;-1:-1:-1;;;;5227:14:0;;;-1:-1:-1;;;;9358:483:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:154::-;-1:-1:-1;;;;;646:5:1;642:54;635:5;632:65;622:93;;711:1;708;701:12;622:93;567:154;:::o;726:315::-;794:6;802;855:2;843:9;834:7;830:23;826:32;823:52;;;871:1;868;861:12;823:52;910:9;897:23;929:31;954:5;929:31;:::i;:::-;979:5;1031:2;1016:18;;;;1003:32;;-1:-1:-1;;;726:315:1:o;1238:247::-;1297:6;1350:2;1338:9;1329:7;1325:23;1321:32;1318:52;;;1366:1;1363;1356:12;1318:52;1405:9;1392:23;1424:31;1449:5;1424:31;:::i;:::-;1474:5;1238:247;-1:-1:-1;;;1238:247:1:o;1932:456::-;2009:6;2017;2025;2078:2;2066:9;2057:7;2053:23;2049:32;2046:52;;;2094:1;2091;2084:12;2046:52;2133:9;2120:23;2152:31;2177:5;2152:31;:::i;:::-;2202:5;-1:-1:-1;2259:2:1;2244:18;;2231:32;2272:33;2231:32;2272:33;:::i;:::-;1932:456;;2324:7;;-1:-1:-1;;;2378:2:1;2363:18;;;;2350:32;;1932:456::o;2813:180::-;2872:6;2925:2;2913:9;2904:7;2900:23;2896:32;2893:52;;;2941:1;2938;2931:12;2893:52;-1:-1:-1;2964:23:1;;2813:180;-1:-1:-1;2813:180:1:o;2998:388::-;3066:6;3074;3127:2;3115:9;3106:7;3102:23;3098:32;3095:52;;;3143:1;3140;3133:12;3095:52;3182:9;3169:23;3201:31;3226:5;3201:31;:::i;:::-;3251:5;-1:-1:-1;3308:2:1;3293:18;;3280:32;3321:33;3280:32;3321:33;:::i;:::-;3373:7;3363:17;;;2998:388;;;;;:::o;3752:127::-;3813:10;3808:3;3804:20;3801:1;3794:31;3844:4;3841:1;3834:15;3868:4;3865:1;3858:15;3884:422;3973:1;4016:5;3973:1;4030:270;4051:7;4041:8;4038:21;4030:270;;;4110:4;4106:1;4102:6;4098:17;4092:4;4089:27;4086:53;;;4119:18;;:::i;:::-;4169:7;4159:8;4155:22;4152:55;;;4189:16;;;;4152:55;4268:22;;;;4228:15;;;;4030:270;;;4034:3;3884:422;;;;;:::o;4311:806::-;4360:5;4390:8;4380:80;;-1:-1:-1;4431:1:1;4445:5;;4380:80;4479:4;4469:76;;-1:-1:-1;4516:1:1;4530:5;;4469:76;4561:4;4579:1;4574:59;;;;4647:1;4642:130;;;;4554:218;;4574:59;4604:1;4595:10;;4618:5;;;4642:130;4679:3;4669:8;4666:17;4663:43;;;4686:18;;:::i;:::-;-1:-1:-1;;4742:1:1;4728:16;;4757:5;;4554:218;;4856:2;4846:8;4843:16;4837:3;4831:4;4828:13;4824:36;4818:2;4808:8;4805:16;4800:2;4794:4;4791:12;4787:35;4784:77;4781:159;;;-1:-1:-1;4893:19:1;;;4925:5;;4781:159;4972:34;4997:8;4991:4;4972:34;:::i;:::-;5042:6;5038:1;5034:6;5030:19;5021:7;5018:32;5015:58;;;5053:18;;:::i;:::-;5091:20;;4311:806;-1:-1:-1;;;4311:806:1:o;5122:140::-;5180:5;5209:47;5250:4;5240:8;5236:19;5230:4;5209:47;:::i;5267:168::-;5340:9;;;5371;;5388:15;;;5382:22;;5368:37;5358:71;;5409:18;;:::i;6898:217::-;6938:1;6964;6954:132;;7008:10;7003:3;6999:20;6996:1;6989:31;7043:4;7040:1;7033:15;7071:4;7068:1;7061:15;6954:132;-1:-1:-1;7100:9:1;;6898:217::o;7120:125::-;7185:9;;;7206:10;;;7203:36;;;7219:18;;:::i;7607:128::-;7674:9;;;7695:11;;;7692:37;;;7709:18;;:::i;8082:127::-;8143:10;8138:3;8134:20;8131:1;8124:31;8174:4;8171:1;8164:15;8198:4;8195:1;8188:15;8214:251;8284:6;8337:2;8325:9;8316:7;8312:23;8308:32;8305:52;;;8353:1;8350;8343:12;8305:52;8385:9;8379:16;8404:31;8429:5;8404:31;:::i;8470:1026::-;8732:4;8780:3;8769:9;8765:19;8811:6;8800:9;8793:25;8837:2;8875:6;8870:2;8859:9;8855:18;8848:34;8918:3;8913:2;8902:9;8898:18;8891:31;8942:6;8977;8971:13;9008:6;9000;8993:22;9046:3;9035:9;9031:19;9024:26;;9085:2;9077:6;9073:15;9059:29;;9106:1;9116:218;9130:6;9127:1;9124:13;9116:218;;;9195:13;;-1:-1:-1;;;;;9191:62:1;9179:75;;9309:15;;;;9274:12;;;;9152:1;9145:9;9116:218;;;-1:-1:-1;;;;;;;9390:55:1;;;;9385:2;9370:18;;9363:83;-1:-1:-1;;;9477:3:1;9462:19;9455:35;9351:3;8470:1026;-1:-1:-1;;;8470:1026:1:o

Swarm Source

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