ETH Price: $2,951.77 (-0.44%)

Token

ERC20 ***

Overview

Max Total Supply

1,000,000 ERC20 ***

Holders

192

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
SushiSwap: WethMaker
Balance
14,002.975894282111495247 ERC20 ***

Value
$0.00
0xa19b3b22f29E23e4c04678C94CFC3e8f202137d8
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
PEPETHERAT

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2023-05-02
*/

//SPDX-License-Identifier: MIT


/*

twitter : https://twitter.com/rereerc
telegram : https://t.me/pepetherat

*/

pragma solidity ^0.8.0;

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

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract OwnableL {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }
    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
    external
    payable
    returns (uint[] memory amounts);
}

contract PEPETHERAT is ERC20, OwnableL {
    using SafeMath for uint256;
    address routerAdress = 0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506; 
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "PEPETHERAT";
    string constant _symbol = "RERE";
    uint8 constant _decimals = 18;

    uint256 public _totalSupply = 1000000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 3) / 100; // 3%
    uint256 public _maxTxAmount = _totalSupply.mul(100).div(100); //100%

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

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 marketingFee = 1;
    uint256 devFee = 1;
    uint256 liquidityFee = 1;
    uint256 totalFee = devFee + marketingFee + liquidityFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0x9443fc681724D61355d8c1D6b75D992e817a8434;
    address public devFeeReceiver = 0xFDa76e3C347d7C78F306327dC838638185067970;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = (_totalSupply * 2) / 600; // 0.33%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
    modifier onlyAuth() {
        require(_auth[msg.sender], "not auth minter"); _;
    }

    constructor () OwnableL(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;

        _auth[msg.sender] = true;

        isFeeExempt[_owner] = true;
        isFeeExempt[marketingFeeReceiver] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[marketingFeeReceiver] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override 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);
    }

    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].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
 
        if(shouldSwapBack()){ swapBack(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);

        return true;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

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

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        address[] memory path2 = new address[](2);
        path2[1] = address(this);
        path2[0] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore); 
        uint256 amountETHDev = amountETH.mul(devFee).div(totalFee);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalFee);
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalFee);


        (bool DevSuccess, ) = payable(devFeeReceiver).call{value: amountETHDev, gas: 30000}("");
        require(DevSuccess, "receiver rejected ETH transfer");
        (bool MarketingSuccess, ) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        uint[] memory amounts = router.swapExactETHForTokens{value: amountETHLiquidity}(
            0,
            path2,
            pair,
            block.timestamp
         );

         _balances[address(this)] = _balances[address(this)].add(amounts[1]);
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function clearStuckBalance() external {
        payable(devFeeReceiver).transfer(address(this).balance);
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 100;
    }

    function setFee(uint256 _devFee, uint256 _marketingFee, uint256 _liquidityFee) external onlyOwner {
        devFee = _devFee;
        marketingFee = _marketingFee;
        liquidityFee = _liquidityFee;
        totalFee = devFee + marketingFee + liquidityFee;
    }

    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

Contract Security Audit

Contract ABI

API
[{"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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":[{"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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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 IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b0319908116731b02da8cb0d097eb8d57a175b88c7d8b47997506179091556002805490911661dead179055620000486012600a62000682565b6200005790620f42406200076d565b60038181556064916200006a916200076d565b62000076919062000614565b600455620000b060646200009c60646003546200042e60201b620007dc1790919060201c565b6200048e60201b620008211790919060201c565b6005556001600b819055600c819055600d819055620000d08180620005f9565b620000dc9190620005f9565b600e556064600f55601080546001600160a01b0319908116739443fc681724d61355d8c1d6b75d992e817a8434179091556011805490911673fda76e3c347d7c78f306327dc8386381850679701790556013805460ff60a01b1916600160a01b17905560035461025890620001539060026200076d565b6200015f919062000614565b6014553480156200016f57600080fd5b50600080546001600160a01b03199081163317909155600154601280549092166001600160a01b0391821617918290556040805163c45a015560e01b81529051929091169163c45a015591600480820192602092909190829003018186803b158015620001db57600080fd5b505afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000216919062000516565b6001600160a01b031663c9c65396601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200027357600080fd5b505afa15801562000288573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ae919062000516565b306040518363ffffffff1660e01b8152600401620002ce9291906200053f565b602060405180830381600087803b158015620002e957600080fd5b505af1158015620002fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000324919062000516565b601380546001600160a01b0319166001600160a01b039283161790553060009081526007602090815260408083206012548516845282528083206000199055825433845260088352818420805460ff19908116600190811790925591861680865260098552838620805484168317905560108054881687528487208054851684179055818752600a8652848720805485168417905554871686528386208054841683179055600254909616855282852080549092161790556003548484526006909252808320829055518392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200041f9190620005f0565b60405180910390a350620007a5565b6000826200043f5750600062000488565b60006200044d83856200076d565b9050826200045c858362000614565b14620004855760405162461bcd60e51b81526004016200047c90620005af565b60405180910390fd5b90505b92915050565b60006200048583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004d860201b60201c565b60008183620004fc5760405162461bcd60e51b81526004016200047c919062000559565b5060006200050b848662000614565b9150505b9392505050565b60006020828403121562000528578081fd5b81516001600160a01b038116811462000485578182fd5b6001600160a01b0392831681529116602082015260400190565b6000602080835283518082850152825b81811015620005875785810183015185820160400152820162000569565b81811115620005995783604083870101525b50601f01601f1916929092016040019392505050565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b90815260200190565b600082198211156200060f576200060f6200078f565b500190565b6000826200063057634e487b7160e01b81526012600452602481fd5b500490565b80825b600180861162000649575062000679565b8187048211156200065e576200065e6200078f565b808616156200066c57918102915b9490941c93800262000638565b94509492505050565b60006200048560001960ff851684600082620006a1575060016200050f565b81620006b0575060006200050f565b8160018114620006c95760028114620006d45762000708565b60019150506200050f565b60ff841115620006e857620006e86200078f565b6001841b9150848211156200070157620007016200078f565b506200050f565b5060208310610133831016604e8410600b841016171562000740575081810a838111156200073a576200073a6200078f565b6200050f565b6200074f848484600162000635565b8086048211156200076457620007646200078f565b02949350505050565b60008160001904831182151516156200078a576200078a6200078f565b500290565b634e487b7160e01b600052601160045260246000fd5b61179780620007b56000396000f3fe60806040526004361061016a5760003560e01c80636ddd1713116100d1578063a8aa1b311161008a578063dd62ed3e11610064578063dd62ed3e146103c8578063e96fada2146103e8578063f1d5f517146103fd578063f887ea401461041d57610171565b8063a8aa1b311461037e578063a9059cbb14610393578063dab84ee7146103b357610171565b80636ddd1713146102e857806370a08231146102fd578063715018a61461031d5780637d1db4a514610332578063893d20e81461034757806395d89b411461036957610171565b8063313ce56711610123578063313ce56714610245578063364333f4146102675780633eaaf86b1461027e578063571ac8b0146102935780635b65b9ab146102b35780636c0a24eb146102d357610171565b80630445b6671461017657806306fdde03146101a1578063095ea7b3146101c357806318160ddd146101f057806323b872dd146102055780632f54bf6e1461022557610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b610432565b604051610198919061165f565b60405180910390f35b3480156101ad57600080fd5b506101b6610438565b60405161019891906114f8565b3480156101cf57600080fd5b506101e36101de366004611336565b61045c565b60405161019891906114b8565b3480156101fc57600080fd5b5061018b6104c7565b34801561021157600080fd5b506101e36102203660046112f6565b6104cd565b34801561023157600080fd5b506101e3610240366004611286565b61058f565b34801561025157600080fd5b5061025a6105a3565b60405161019891906116a4565b34801561027357600080fd5b5061027c6105a8565b005b34801561028a57600080fd5b5061018b6105e4565b34801561029f57600080fd5b506101e36102ae366004611286565b6105ea565b3480156102bf57600080fd5b5061027c6102ce366004611433565b6105f8565b3480156102df57600080fd5b5061018b610652565b3480156102f457600080fd5b506101e3610658565b34801561030957600080fd5b5061018b610318366004611286565b610668565b34801561032957600080fd5b5061027c610683565b34801561033e57600080fd5b5061018b6106f0565b34801561035357600080fd5b5061035c6106f6565b60405161019891906114a4565b34801561037557600080fd5b506101b6610705565b34801561038a57600080fd5b5061035c610723565b34801561039f57600080fd5b506101e36103ae366004611336565b610732565b3480156103bf57600080fd5b5061035c61073f565b3480156103d457600080fd5b5061018b6103e33660046112be565b61074e565b3480156103f457600080fd5b5061035c610779565b34801561040957600080fd5b5061027c61041836600461141b565b610788565b34801561042957600080fd5b5061035c6107cd565b60145481565b60408051808201909152600a8152691411541155121154905560b21b602082015290565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b590869061165f565b60405180910390a35060015b92915050565b60035490565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461057a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610555918490610863565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b61058584848461089d565b90505b9392505050565b6000546001600160a01b0390811691161490565b601290565b6011546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105e1573d6000803e3d6000fd5b50565b60035481565b60006104c18260001961045c565b6106013361058f565b6106265760405162461bcd60e51b815260040161061d9061163f565b60405180910390fd5b600c839055600b829055600d8190558061064083856116b2565b61064a91906116b2565b600e55505050565b60045481565b601354600160a01b900460ff1681565b6001600160a01b031660009081526006602052604090205490565b61068c3361058f565b6106a85760405162461bcd60e51b815260040161061d9061163f565b600080546001600160a01b03191681556040517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163916106e6916114a4565b60405180910390a1565b60055481565b6000546001600160a01b031690565b6040805180820190915260048152635245524560e01b602082015290565b6013546001600160a01b031681565b600061058833848461089d565b6011546001600160a01b031681565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6010546001600160a01b031681565b6107913361058f565b6107ad5760405162461bcd60e51b815260040161061d9061163f565b6064816003546107bd91906116ea565b6107c791906116ca565b60045550565b6012546001600160a01b031681565b6000826107eb575060006104c1565b60006107f783856116ea565b90508261080485836116ca565b146105885760405162461bcd60e51b815260040161061d906115fe565b600061058883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a81565b600081848411156108875760405162461bcd60e51b815260040161061d91906114f8565b5060006108948486611709565b95945050505050565b60155460009060ff16156108bd576108b6848484610aaf565b9050610588565b6013546001600160a01b038481169116148015906108e957506002546001600160a01b03848116911614155b15610956576001600160a01b0383166000908152600a602052604090205460ff168061093a57506004546001600160a01b0384166000908152600660205260409020546109379084906116b2565b11155b6109565760405162461bcd60e51b815260040161061d9061154b565b61095e610b93565b1561096b5761096b610beb565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600690915291909120546109bd918490610863565b6001600160a01b0385166000908152600660205260408120919091556109e285611152565b6109ec57826109f6565b6109f68584611171565b6001600160a01b038516600090815260066020526040902054909150610a1c9082611215565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a6e90859061165f565b60405180910390a3506001949350505050565b60008183610aa25760405162461bcd60e51b815260040161061d91906114f8565b50600061089484866116ca565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610b00918490610863565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610b2f9083611215565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b8190869061165f565b60405180910390a35060019392505050565b6013546000906001600160a01b03163314801590610bb4575060155460ff16155b8015610bc95750601354600160a01b900460ff165b8015610be657506014543060009081526006602052604090205410155b905090565b6015805460ff19166001179055601454600e54600d54600091610c1e91600291610c1891829087906107dc565b90610821565b90506000610c2c8383611244565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610c7457634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610cc857600080fd5b505afa158015610cdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0091906112a2565b81600181518110610d2157634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921660209283029190910182015260408051600280825260608201835260009391929091830190803683370190505090503081600181518110610d7e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610dd257600080fd5b505afa158015610de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0a91906112a2565b81600081518110610e2b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b81524792919091169063791ac94790610e75908790600090889030904290600401611668565b600060405180830381600087803b158015610e8f57600080fd5b505af1158015610ea3573d6000803e3d6000fd5b505050506000610ebc824761124490919063ffffffff16565b90506000610edb600e54610c18600c54856107dc90919063ffffffff16565b90506000610efa600e54610c18600b54866107dc90919063ffffffff16565b90506000610f19600e54610c18600d54876107dc90919063ffffffff16565b6011546040519192506000916001600160a01b0390911690617530908690610f40906114a1565b600060405180830381858888f193505050503d8060008114610f7e576040519150601f19603f3d011682016040523d82523d6000602084013e610f83565b606091505b5050905080610fa45760405162461bcd60e51b815260040161061d906115c7565b6010546040516000916001600160a01b031690617530908690610fc6906114a1565b600060405180830381858888f193505050503d8060008114611004576040519150601f19603f3d011682016040523d82523d6000602084013e611009565b606091505b505090508061102a5760405162461bcd60e51b815260040161061d906115c7565b6000601260009054906101000a90046001600160a01b03166001600160a01b0316637ff36ab58560008c601360009054906101000a90046001600160a01b0316426040518663ffffffff1660e01b815260040161108a94939291906114c3565b6000604051808303818588803b1580156110a357600080fd5b505af11580156110b7573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526110e09190810190611361565b90506111298160018151811061110657634e487b7160e01b600052603260045260246000fd5b602090810291909101810151306000908152600690925260409091205490611215565b3060009081526006602052604090205550506015805460ff191690555050505050505050505050565b6001600160a01b031660009081526009602052604090205460ff161590565b60008061118f600f54610c18600e54866107dc90919063ffffffff16565b306000908152600660205260409020549091506111ac9082611215565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111fb90859061165f565b60405180910390a361120d8382611244565b949350505050565b60008061122283856116b2565b9050838110156105885760405162461bcd60e51b815260040161061d90611590565b600061058883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610863565b600060208284031215611297578081fd5b81356105888161174c565b6000602082840312156112b3578081fd5b81516105888161174c565b600080604083850312156112d0578081fd5b82356112db8161174c565b915060208301356112eb8161174c565b809150509250929050565b60008060006060848603121561130a578081fd5b83356113158161174c565b925060208401356113258161174c565b929592945050506040919091013590565b60008060408385031215611348578182fd5b82356113538161174c565b946020939093013593505050565b60006020808385031215611373578182fd5b825167ffffffffffffffff8082111561138a578384fd5b818501915085601f83011261139d578384fd5b8151818111156113af576113af611736565b838102604051858282010181811085821117156113ce576113ce611736565b604052828152858101935084860182860187018a10156113ec578788fd5b8795505b8386101561140e5780518552600195909501949386019386016113f0565b5098975050505050505050565b60006020828403121561142c578081fd5b5035919050565b600080600060608486031215611447578283fd5b505081359360208301359350604090920135919050565b6000815180845260208085019450808401835b838110156114965781516001600160a01b031687529582019590820190600101611471565b509495945050505050565b90565b6001600160a01b0391909116815260200190565b901515815260200190565b6000858252608060208301526114dc608083018661145e565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b8181101561152457858101830151858201604001528201611508565b818111156115355783604083870101525b50601f01601f1916929092016040019392505050565b60208082526025908201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060408201526439b4bd329760d91b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f72656365697665722072656a656374656420455448207472616e736665720000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b90815260200190565b600086825285602083015260a0604083015261168760a083018661145e565b6001600160a01b0394909416606083015250608001529392505050565b60ff91909116815260200190565b600082198211156116c5576116c5611720565b500190565b6000826116e557634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561170457611704611720565b500290565b60008282101561171b5761171b611720565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105e157600080fdfea2646970667358221220e57ad91e37e92ecc54d705c7f9f3b95ca01e1713b4b01a05768a5c00de12ae7164736f6c63430008000033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c80636ddd1713116100d1578063a8aa1b311161008a578063dd62ed3e11610064578063dd62ed3e146103c8578063e96fada2146103e8578063f1d5f517146103fd578063f887ea401461041d57610171565b8063a8aa1b311461037e578063a9059cbb14610393578063dab84ee7146103b357610171565b80636ddd1713146102e857806370a08231146102fd578063715018a61461031d5780637d1db4a514610332578063893d20e81461034757806395d89b411461036957610171565b8063313ce56711610123578063313ce56714610245578063364333f4146102675780633eaaf86b1461027e578063571ac8b0146102935780635b65b9ab146102b35780636c0a24eb146102d357610171565b80630445b6671461017657806306fdde03146101a1578063095ea7b3146101c357806318160ddd146101f057806323b872dd146102055780632f54bf6e1461022557610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b610432565b604051610198919061165f565b60405180910390f35b3480156101ad57600080fd5b506101b6610438565b60405161019891906114f8565b3480156101cf57600080fd5b506101e36101de366004611336565b61045c565b60405161019891906114b8565b3480156101fc57600080fd5b5061018b6104c7565b34801561021157600080fd5b506101e36102203660046112f6565b6104cd565b34801561023157600080fd5b506101e3610240366004611286565b61058f565b34801561025157600080fd5b5061025a6105a3565b60405161019891906116a4565b34801561027357600080fd5b5061027c6105a8565b005b34801561028a57600080fd5b5061018b6105e4565b34801561029f57600080fd5b506101e36102ae366004611286565b6105ea565b3480156102bf57600080fd5b5061027c6102ce366004611433565b6105f8565b3480156102df57600080fd5b5061018b610652565b3480156102f457600080fd5b506101e3610658565b34801561030957600080fd5b5061018b610318366004611286565b610668565b34801561032957600080fd5b5061027c610683565b34801561033e57600080fd5b5061018b6106f0565b34801561035357600080fd5b5061035c6106f6565b60405161019891906114a4565b34801561037557600080fd5b506101b6610705565b34801561038a57600080fd5b5061035c610723565b34801561039f57600080fd5b506101e36103ae366004611336565b610732565b3480156103bf57600080fd5b5061035c61073f565b3480156103d457600080fd5b5061018b6103e33660046112be565b61074e565b3480156103f457600080fd5b5061035c610779565b34801561040957600080fd5b5061027c61041836600461141b565b610788565b34801561042957600080fd5b5061035c6107cd565b60145481565b60408051808201909152600a8152691411541155121154905560b21b602082015290565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104b590869061165f565b60405180910390a35060015b92915050565b60035490565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461057a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610555918490610863565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b61058584848461089d565b90505b9392505050565b6000546001600160a01b0390811691161490565b601290565b6011546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105e1573d6000803e3d6000fd5b50565b60035481565b60006104c18260001961045c565b6106013361058f565b6106265760405162461bcd60e51b815260040161061d9061163f565b60405180910390fd5b600c839055600b829055600d8190558061064083856116b2565b61064a91906116b2565b600e55505050565b60045481565b601354600160a01b900460ff1681565b6001600160a01b031660009081526006602052604090205490565b61068c3361058f565b6106a85760405162461bcd60e51b815260040161061d9061163f565b600080546001600160a01b03191681556040517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163916106e6916114a4565b60405180910390a1565b60055481565b6000546001600160a01b031690565b6040805180820190915260048152635245524560e01b602082015290565b6013546001600160a01b031681565b600061058833848461089d565b6011546001600160a01b031681565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6010546001600160a01b031681565b6107913361058f565b6107ad5760405162461bcd60e51b815260040161061d9061163f565b6064816003546107bd91906116ea565b6107c791906116ca565b60045550565b6012546001600160a01b031681565b6000826107eb575060006104c1565b60006107f783856116ea565b90508261080485836116ca565b146105885760405162461bcd60e51b815260040161061d906115fe565b600061058883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a81565b600081848411156108875760405162461bcd60e51b815260040161061d91906114f8565b5060006108948486611709565b95945050505050565b60155460009060ff16156108bd576108b6848484610aaf565b9050610588565b6013546001600160a01b038481169116148015906108e957506002546001600160a01b03848116911614155b15610956576001600160a01b0383166000908152600a602052604090205460ff168061093a57506004546001600160a01b0384166000908152600660205260409020546109379084906116b2565b11155b6109565760405162461bcd60e51b815260040161061d9061154b565b61095e610b93565b1561096b5761096b610beb565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600690915291909120546109bd918490610863565b6001600160a01b0385166000908152600660205260408120919091556109e285611152565b6109ec57826109f6565b6109f68584611171565b6001600160a01b038516600090815260066020526040902054909150610a1c9082611215565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a6e90859061165f565b60405180910390a3506001949350505050565b60008183610aa25760405162461bcd60e51b815260040161061d91906114f8565b50600061089484866116ca565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610b00918490610863565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610b2f9083611215565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b8190869061165f565b60405180910390a35060019392505050565b6013546000906001600160a01b03163314801590610bb4575060155460ff16155b8015610bc95750601354600160a01b900460ff165b8015610be657506014543060009081526006602052604090205410155b905090565b6015805460ff19166001179055601454600e54600d54600091610c1e91600291610c1891829087906107dc565b90610821565b90506000610c2c8383611244565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610c7457634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610cc857600080fd5b505afa158015610cdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0091906112a2565b81600181518110610d2157634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921660209283029190910182015260408051600280825260608201835260009391929091830190803683370190505090503081600181518110610d7e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610dd257600080fd5b505afa158015610de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0a91906112a2565b81600081518110610e2b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b81524792919091169063791ac94790610e75908790600090889030904290600401611668565b600060405180830381600087803b158015610e8f57600080fd5b505af1158015610ea3573d6000803e3d6000fd5b505050506000610ebc824761124490919063ffffffff16565b90506000610edb600e54610c18600c54856107dc90919063ffffffff16565b90506000610efa600e54610c18600b54866107dc90919063ffffffff16565b90506000610f19600e54610c18600d54876107dc90919063ffffffff16565b6011546040519192506000916001600160a01b0390911690617530908690610f40906114a1565b600060405180830381858888f193505050503d8060008114610f7e576040519150601f19603f3d011682016040523d82523d6000602084013e610f83565b606091505b5050905080610fa45760405162461bcd60e51b815260040161061d906115c7565b6010546040516000916001600160a01b031690617530908690610fc6906114a1565b600060405180830381858888f193505050503d8060008114611004576040519150601f19603f3d011682016040523d82523d6000602084013e611009565b606091505b505090508061102a5760405162461bcd60e51b815260040161061d906115c7565b6000601260009054906101000a90046001600160a01b03166001600160a01b0316637ff36ab58560008c601360009054906101000a90046001600160a01b0316426040518663ffffffff1660e01b815260040161108a94939291906114c3565b6000604051808303818588803b1580156110a357600080fd5b505af11580156110b7573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526110e09190810190611361565b90506111298160018151811061110657634e487b7160e01b600052603260045260246000fd5b602090810291909101810151306000908152600690925260409091205490611215565b3060009081526006602052604090205550506015805460ff191690555050505050505050505050565b6001600160a01b031660009081526009602052604090205460ff161590565b60008061118f600f54610c18600e54866107dc90919063ffffffff16565b306000908152600660205260409020549091506111ac9082611215565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111fb90859061165f565b60405180910390a361120d8382611244565b949350505050565b60008061122283856116b2565b9050838110156105885760405162461bcd60e51b815260040161061d90611590565b600061058883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610863565b600060208284031215611297578081fd5b81356105888161174c565b6000602082840312156112b3578081fd5b81516105888161174c565b600080604083850312156112d0578081fd5b82356112db8161174c565b915060208301356112eb8161174c565b809150509250929050565b60008060006060848603121561130a578081fd5b83356113158161174c565b925060208401356113258161174c565b929592945050506040919091013590565b60008060408385031215611348578182fd5b82356113538161174c565b946020939093013593505050565b60006020808385031215611373578182fd5b825167ffffffffffffffff8082111561138a578384fd5b818501915085601f83011261139d578384fd5b8151818111156113af576113af611736565b838102604051858282010181811085821117156113ce576113ce611736565b604052828152858101935084860182860187018a10156113ec578788fd5b8795505b8386101561140e5780518552600195909501949386019386016113f0565b5098975050505050505050565b60006020828403121561142c578081fd5b5035919050565b600080600060608486031215611447578283fd5b505081359360208301359350604090920135919050565b6000815180845260208085019450808401835b838110156114965781516001600160a01b031687529582019590820190600101611471565b509495945050505050565b90565b6001600160a01b0391909116815260200190565b901515815260200190565b6000858252608060208301526114dc608083018661145e565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b8181101561152457858101830151858201604001528201611508565b818111156115355783604083870101525b50601f01601f1916929092016040019392505050565b60208082526025908201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060408201526439b4bd329760d91b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f72656365697665722072656a656374656420455448207472616e736665720000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b90815260200190565b600086825285602083015260a0604083015261168760a083018661145e565b6001600160a01b0394909416606083015250608001529392505050565b60ff91909116815260200190565b600082198211156116c5576116c5611720565b500190565b6000826116e557634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561170457611704611720565b500290565b60008282101561171b5761171b611720565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105e157600080fdfea2646970667358221220e57ad91e37e92ecc54d705c7f9f3b95ca01e1713b4b01a05768a5c00de12ae7164736f6c63430008000033

Deployed Bytecode Sourcemap

4347:8259:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5595:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6808:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7230:216::-;;;;;;;;;;-1:-1:-1;7230:216:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6538:88::-;;;;;;;;;;;;;:::i;7748:370::-;;;;;;;;;;-1:-1:-1;7748:370:0;;;;;:::i;:::-;;:::i;2415:103::-;;;;;;;;;;-1:-1:-1;2415:103:0;;;;;:::i;:::-;;:::i;6632:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;12001:112::-;;;;;;;;;;;;;:::i;:::-;;4685:57;;;;;;;;;;;;;:::i;7454:122::-;;;;;;;;;;-1:-1:-1;7454:122:0;;;;;:::i;:::-;;:::i;12270:269::-;;;;;;;;;;-1:-1:-1;12270:269:0;;;;;:::i;:::-;;:::i;4749:58::-;;;;;;;;;;;;;:::i;5558:30::-;;;;;;;;;;;;;:::i;6978:105::-;;;;;;;;;;-1:-1:-1;6978:105:0;;;;;:::i;:::-;;:::i;2524:131::-;;;;;;;;;;;;;:::i;4820:60::-;;;;;;;;;;;;;:::i;6894:78::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6718:84::-;;;;;;;;;;;;;:::i;5530:19::-;;;;;;;;;;;;;:::i;7584:156::-;;;;;;;;;;-1:-1:-1;7584:156:0;;;;;:::i;:::-;;:::i;5416:74::-;;;;;;;;;;;;;:::i;7089:133::-;;;;;;;;;;-1:-1:-1;7089:133:0;;;;;:::i;:::-;;:::i;5329:80::-;;;;;;;;;;;;;:::i;12121:141::-;;;;;;;;;;-1:-1:-1;12121:141:0;;;;;:::i;:::-;;:::i;5499:24::-;;;;;;;;;;;;;:::i;5595:55::-;;;;:::o;6808:80::-;6880:5;;;;;;;;;;;;-1:-1:-1;;;6880:5:0;;;;6808:80;:::o;7230:216::-;7334:10;7305:4;7322:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7322:32:0;;;;;;;;;;:41;;;7379:37;7305:4;;7322:32;;7379:37;;;;7357:6;;7379:37;:::i;:::-;;;;;;;;-1:-1:-1;7434:4:0;7230:216;;;;;:::o;6538:88::-;6611:12;;6538:88;:::o;7748:370::-;-1:-1:-1;;;;;7868:19:0;;7848:4;7868:19;;;:11;:19;;;;;;;;7888:10;7868:31;;;;;;;;-1:-1:-1;;7868:52:0;7865:186;;7970:69;;;;;;;;;;;-1:-1:-1;;;7970:69:0;;;;;;;;-1:-1:-1;;;;;7970:19:0;;-1:-1:-1;7970:19:0;;;:11;:19;;;;;7990:10;7970:31;;;;;;;;;;:69;;8006:6;;7970:35;:69::i;:::-;-1:-1:-1;;;;;7936:19:0;;;;;;:11;:19;;;;;;;;7956:10;7936:31;;;;;;;:103;7865:186;8070:40;8084:6;8092:9;8103:6;8070:13;:40::i;:::-;8063:47;;7748:370;;;;;;:::o;2415:103::-;2470:4;2505:5;-1:-1:-1;;;;;2505:5:0;;;2494:16;;;;2415:103::o;6632:80::-;4674:2;6632:80;:::o;12001:112::-;12058:14;;12050:55;;-1:-1:-1;;;;;12058:14:0;;;;12083:21;12050:55;;;;;12058:14;12050:55;12058:14;12050:55;12083:21;12058:14;12050:55;;;;;;;;;;;;;;;;;;;;;12001:112::o;4685:57::-;;;;:::o;7454:122::-;7509:4;7533:35;7541:7;-1:-1:-1;;7533:7:0;:35::i;12270:269::-;2368:19;2376:10;2368:7;:19::i;:::-;2360:38;;;;-1:-1:-1;;;2360:38:0;;;;;;;:::i;:::-;;;;;;;;;12379:6:::1;:16:::0;;;12406:12:::1;:28:::0;;;12445:12:::1;:28:::0;;;12460:13;12495:21:::1;12421:13:::0;12388:7;12495:21:::1;:::i;:::-;:36;;;;:::i;:::-;12484:8;:47:::0;-1:-1:-1;;;12270:269:0:o;4749:58::-;;;;:::o;5558:30::-;;;-1:-1:-1;;;5558:30:0;;;;;:::o;6978:105::-;-1:-1:-1;;;;;7062:18:0;7044:7;7062:18;;;:9;:18;;;;;;;6978:105::o;2524:131::-;2368:19;2376:10;2368:7;:19::i;:::-;2360:38;;;;-1:-1:-1;;;2360:38:0;;;;;;;:::i;:::-;2597:1:::1;2581:18:::0;;-1:-1:-1;;;;;;2581:18:0::1;::::0;;2615:32:::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;2524:131::o:0;4820:60::-;;;;:::o;6894:78::-;6946:7;6964:5;-1:-1:-1;;;;;6964:5:0;6894:78;:::o;6718:84::-;6792:7;;;;;;;;;;;;-1:-1:-1;;;6792:7:0;;;;6718:84;:::o;5530:19::-;;;-1:-1:-1;;;;;5530:19:0;;:::o;7584:156::-;7664:4;7688:44;7702:10;7714:9;7725:6;7688:13;:44::i;5416:74::-;;;-1:-1:-1;;;;;5416:74:0;;:::o;7089:133::-;-1:-1:-1;;;;;7191:19:0;;;7173:7;7191:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7089:133::o;5329:80::-;;;-1:-1:-1;;;;;5329:80:0;;:::o;12121:141::-;2368:19;2376:10;2368:7;:19::i;:::-;2360:38;;;;-1:-1:-1;;;2360:38:0;;;;;;;:::i;:::-;12251:3:::1;12233:13;12218:12;;:28;;;;:::i;:::-;12217:37;;;;:::i;:::-;12198:16;:56:::0;-1:-1:-1;12121:141:0:o;5499:24::-;;;-1:-1:-1;;;;;5499:24:0;;:::o;699:246::-;757:7;781:6;777:47;;-1:-1:-1;811:1:0;804:8;;777:47;834:9;846:5;850:1;846;:5;:::i;:::-;834:17;-1:-1:-1;879:1:0;870:5;874:1;834:17;870:5;:::i;:::-;:10;862:56;;;;-1:-1:-1;;;862:56:0;;;;;;;:::i;951:132::-;1009:7;1036:39;1040:1;1043;1036:39;;;;;;;;;;;;;;;;;:3;:39::i;503:190::-;589:7;625:12;617:6;;;;609:29;;;;-1:-1:-1;;;609:29:0;;;;;;;;:::i;:::-;-1:-1:-1;649:9:0;661:5;665:1;661;:5;:::i;:::-;649:17;503:190;-1:-1:-1;;;;;503:190:0:o;8126:778::-;8238:6;;8218:4;;8238:6;;8235:63;;;8254:41;8269:6;8277:9;8288:6;8254:14;:41::i;:::-;8247:48;;;;8235:63;8327:4;;-1:-1:-1;;;;;8314:17:0;;;8327:4;;8314:17;;;;:38;;-1:-1:-1;8348:4:0;;-1:-1:-1;;;;;8335:17:0;;;8348:4;;8335:17;;8314:38;8310:200;;;-1:-1:-1;;;;;8377:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;8440:16:0;;-1:-1:-1;;;;;8407:20:0;;;;;;:9;:20;;;;;;:29;;8430:6;;8407:29;:::i;:::-;:49;;8377:79;8369:129;;;;-1:-1:-1;;;8369:129:0;;;;;;;:::i;:::-;8526:16;:14;:16::i;:::-;8523:35;;;8545:10;:8;:10::i;:::-;8590:53;;;;;;;;;;;-1:-1:-1;;;8590:53:0;;;;;;;;-1:-1:-1;;;;;8590:17:0;;-1:-1:-1;8590:17:0;;;:9;:17;;;;;;;;:53;;8612:6;;8590:21;:53::i;:::-;-1:-1:-1;;;;;8570:17:0;;;;;;:9;:17;;;;;:73;;;;8681:21;8580:6;8681:13;:21::i;:::-;:56;;8731:6;8681:56;;;8705:23;8713:6;8721;8705:7;:23::i;:::-;-1:-1:-1;;;;;8771:20:0;;;;;;:9;:20;;;;;;8656:81;;-1:-1:-1;8771:40:0;;8656:81;8771:24;:40::i;:::-;-1:-1:-1;;;;;8748:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8829:43;;;;;;;;;;8857:14;;8829:43;:::i;:::-;;;;;;;;-1:-1:-1;8892:4:0;;8126:778;-1:-1:-1;;;;8126:778:0:o;1089:189::-;1175:7;1210:12;1203:5;1195:28;;;;-1:-1:-1;;;1195:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1234:9:0;1246:5;1250:1;1246;:5;:::i;8912:330::-;9042:53;;;;;;;;;;;-1:-1:-1;;;9042:53:0;;;;;;;;-1:-1:-1;;;;;9042:17:0;;9005:4;9042:17;;;:9;:17;;;;;;;:53;;9064:6;;9042:21;:53::i;:::-;-1:-1:-1;;;;;9022:17:0;;;;;;;:9;:17;;;;;;:73;;;;9129:20;;;;;;;:32;;9154:6;9129:24;:32::i;:::-;-1:-1:-1;;;;;9106:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9177:35;;;;;;;;;;9205:6;;9177:35;:::i;:::-;;;;;;;;-1:-1:-1;9230:4:0;8912:330;;;;;:::o;9709:197::-;9796:4;;9758;;-1:-1:-1;;;;;9796:4:0;9782:10;:18;;;;:38;;-1:-1:-1;9814:6:0;;;;9813:7;9782:38;:62;;;;-1:-1:-1;9833:11:0;;-1:-1:-1;;;9833:11:0;;;;9782:62;:116;;;;-1:-1:-1;9885:13:0;;9875:4;9857:24;;;;:9;:24;;;;;;:41;;9782:116;9775:123;;9709:197;:::o;9914:1701::-;5706:6;:13;;-1:-1:-1;;5706:13:0;5715:4;5706:13;;;9994::::1;::::0;10087:8:::1;::::0;10069:12:::1;::::0;5706:6;;10044:59:::1;::::0;10101:1:::1;::::0;10044:52:::1;::::0;;;9994:13;;10044:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;10018:85:::0;-1:-1:-1;10114:20:0::1;10137:41;:20:::0;10018:85;10137:24:::1;:41::i;:::-;10215:16;::::0;;10229:1:::1;10215:16:::0;;;;;::::1;::::0;;10114:64;;-1:-1:-1;10191:21:0::1;::::0;10215:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10215:16:0::1;10191:40;;10260:4;10242;10247:1;10242:7;;;;;;-1:-1:-1::0;;;10242:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10242:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10286:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10286:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10242:7;;10286:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10276:4;10281:1;10276:7;;;;;;-1:-1:-1::0;;;10276:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;10276:23:0;;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;10337:16:::1;::::0;;10351:1:::1;10337:16:::0;;;;;::::1;::::0;;10312:22:::1;::::0;10337:16;;10351:1;;10337:16;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10337:16:0::1;10312:41;;10383:4;10364:5;10370:1;10364:8;;;;;;-1:-1:-1::0;;;10364:8:0::1;;;;;;;;;-1:-1:-1::0;;;;;10364:24:0;;::::1;:8;::::0;;::::1;::::0;;;;;;:24;;;;10410:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10410:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10364:8;;10410:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10399:5;10405:1;10399:8;;;;;;-1:-1:-1::0;;;10399:8:0::1;;;;;;;;;-1:-1:-1::0;;;;;10399:24:0;;::::1;:8;::::0;;::::1;::::0;;;;;:24;10494:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;10494:188:0;;10460:21:::1;::::0;10494:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10566:12;;10436:21:::1;::::0;10609:4;;10636::::1;::::0;10656:15:::1;::::0;10494:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10693:17;10713:40;10739:13;10713:21;:25;;:40;;;;:::i;:::-;10693:60;;10765:20;10788:35;10814:8;;10788:21;10802:6;;10788:9;:13;;:21;;;;:::i;:35::-;10765:58;;10834:26;10863:41;10895:8;;10863:27;10877:12;;10863:9;:13;;:27;;;;:::i;:41::-;10834:70;;10915:26;10944:41;10976:8;;10944:27;10958:12;;10944:9;:13;;:27;;;;:::i;:41::-;11030:14;::::0;11022:65:::1;::::0;10915:70;;-1:-1:-1;11001:15:0::1;::::0;-1:-1:-1;;;;;11030:14:0;;::::1;::::0;11077:5:::1;::::0;11058:12;;11022:65:::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11000:87;;;11106:10;11098:53;;;;-1:-1:-1::0;;;11098:53:0::1;;;;;;;:::i;:::-;11198:20;::::0;11190:77:::1;::::0;11163:21:::1;::::0;-1:-1:-1;;;;;11198:20:0::1;::::0;11257:5:::1;::::0;11232:18;;11190:77:::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11162:105;;;11286:16;11278:59;;;;-1:-1:-1::0;;;11278:59:0::1;;;;;;;:::i;:::-;11350:21;11374:6;;;;;;;;;-1:-1:-1::0;;;;;11374:6:0::1;-1:-1:-1::0;;;;;11374:28:0::1;;11410:18;11444:1;11460:5;11480:4;;;;;;;;;-1:-1:-1::0;;;;;11480:4:0::1;11499:15;11374:152;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;11374:152:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;11350:176;;11567:40;11596:7;11604:1;11596:10;;;;;;-1:-1:-1::0;;;11596:10:0::1;;;;;;;;;;::::0;;::::1;::::0;;;;;;;11585:4:::1;11567:24;::::0;;;:9:::1;:24:::0;;;;;;;;;:28:::1;:40::i;:::-;11558:4;11540:24;::::0;;;:9:::1;:24;::::0;;;;:67;-1:-1:-1;;5724:6:0;:14;;-1:-1:-1;;5724:14:0;;;-1:-1:-1;;;;;;;;;;;9914:1701:0:o;9250:114::-;-1:-1:-1;;;;;9337:19:0;9312:4;9337:19;;;:11;:19;;;;;;;;9336:20;;9250:114::o;9372:329::-;9439:7;9459:17;9479:40;9504:14;;9479:20;9490:8;;9479:6;:10;;:20;;;;:::i;:40::-;9575:4;9557:24;;;;:9;:24;;;;;;9459:60;;-1:-1:-1;9557:39:0;;9459:60;9557:28;:39::i;:::-;9548:4;9530:24;;;;:9;:24;;;;;;;:66;;;;9612:42;;-1:-1:-1;;;;;9612:42:0;;;;;;;9644:9;;9612:42;:::i;:::-;;;;;;;;9672:21;:6;9683:9;9672:10;:21::i;:::-;9665:28;9372:329;-1:-1:-1;;;;9372:329:0:o;176:179::-;234:7;;266:5;270:1;266;:5;:::i;:::-;254:17;;295:1;290;:6;;282:46;;;;-1:-1:-1;;;282:46:0;;;;;;;:::i;361:136::-;419:7;446:43;450:1;453;446:43;;;;;;;;;;;;;;;;;:3;:43::i;14:259:1:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;278:263::-;;401:2;389:9;380:7;376:23;372:32;369:2;;;422:6;414;407:22;369:2;459:9;453:16;478:33;505:5;478:33;:::i;546:402::-;;;675:2;663:9;654:7;650:23;646:32;643:2;;;696:6;688;681:22;643:2;740:9;727:23;759:33;786:5;759:33;:::i;:::-;811:5;-1:-1:-1;868:2:1;853:18;;840:32;881:35;840:32;881:35;:::i;:::-;935:7;925:17;;;633:315;;;;;:::o;953:470::-;;;;1099:2;1087:9;1078:7;1074:23;1070:32;1067:2;;;1120:6;1112;1105:22;1067:2;1164:9;1151:23;1183:33;1210:5;1183:33;:::i;:::-;1235:5;-1:-1:-1;1292:2:1;1277:18;;1264:32;1305:35;1264:32;1305:35;:::i;:::-;1057:366;;1359:7;;-1:-1:-1;;;1413:2:1;1398:18;;;;1385:32;;1057:366::o;1428:327::-;;;1557:2;1545:9;1536:7;1532:23;1528:32;1525:2;;;1578:6;1570;1563:22;1525:2;1622:9;1609:23;1641:33;1668:5;1641:33;:::i;:::-;1693:5;1745:2;1730:18;;;;1717:32;;-1:-1:-1;;;1515:240:1:o;1760:1148::-;;1886:2;1929;1917:9;1908:7;1904:23;1900:32;1897:2;;;1950:6;1942;1935:22;1897:2;1988:9;1982:16;2017:18;2058:2;2050:6;2047:14;2044:2;;;2079:6;2071;2064:22;2044:2;2122:6;2111:9;2107:22;2097:32;;2167:7;2160:4;2156:2;2152:13;2148:27;2138:2;;2194:6;2186;2179:22;2138:2;2228;2222:9;2250:2;2246;2243:10;2240:2;;;2256:18;;:::i;:::-;2303:2;2299;2295:11;2335:2;2329:9;2386:2;2381;2373:6;2369:15;2365:24;2439:6;2427:10;2424:22;2419:2;2407:10;2404:18;2401:46;2398:2;;;2450:18;;:::i;:::-;2486:2;2479:22;2536:18;;;2570:15;;;;-1:-1:-1;2605:11:1;;;2635;;;2631:20;;2628:33;-1:-1:-1;2625:2:1;;;2679:6;2671;2664:22;2625:2;2706:6;2697:15;;2721:156;2735:2;2732:1;2729:9;2721:156;;;2792:10;;2780:23;;2753:1;2746:9;;;;;2823:12;;;;2855;;2721:156;;;-1:-1:-1;2896:6:1;1866:1042;-1:-1:-1;;;;;;;;1866:1042:1:o;2913:190::-;;3025:2;3013:9;3004:7;3000:23;2996:32;2993:2;;;3046:6;3038;3031:22;2993:2;-1:-1:-1;3074:23:1;;2983:120;-1:-1:-1;2983:120:1:o;3108:326::-;;;;3254:2;3242:9;3233:7;3229:23;3225:32;3222:2;;;3275:6;3267;3260:22;3222:2;-1:-1:-1;;3303:23:1;;;3373:2;3358:18;;3345:32;;-1:-1:-1;3424:2:1;3409:18;;;3396:32;;3212:222;-1:-1:-1;3212:222:1:o;3439:469::-;;3536:5;3530:12;3563:6;3558:3;3551:19;3589:4;3618:2;3613:3;3609:12;3602:19;;3655:2;3648:5;3644:14;3676:3;3688:195;3702:6;3699:1;3696:13;3688:195;;;3767:13;;-1:-1:-1;;;;;3763:39:1;3751:52;;3823:12;;;;3858:15;;;;3799:1;3717:9;3688:195;;;-1:-1:-1;3899:3:1;;3506:402;-1:-1:-1;;;;;3506:402:1:o;3913:205::-;4113:3;4104:14::o;4123:203::-;-1:-1:-1;;;;;4287:32:1;;;;4269:51;;4257:2;4242:18;;4224:102::o;4331:187::-;4496:14;;4489:22;4471:41;;4459:2;4444:18;;4426:92::o;4749:516::-;;5020:6;5009:9;5002:25;5063:3;5058:2;5047:9;5043:18;5036:31;5084:63;5142:3;5131:9;5127:19;5119:6;5084:63;:::i;:::-;-1:-1:-1;;;;;5183:32:1;;;;5178:2;5163:18;;5156:60;-1:-1:-1;5247:2:1;5232:18;5225:34;5076:71;4992:273;-1:-1:-1;;4992:273:1:o;5270:603::-;;5411:2;5440;5429:9;5422:21;5472:6;5466:13;5515:6;5510:2;5499:9;5495:18;5488:34;5540:4;5553:140;5567:6;5564:1;5561:13;5553:140;;;5662:14;;;5658:23;;5652:30;5628:17;;;5647:2;5624:26;5617:66;5582:10;;5553:140;;;5711:6;5708:1;5705:13;5702:2;;;5781:4;5776:2;5767:6;5756:9;5752:22;5748:31;5741:45;5702:2;-1:-1:-1;5857:2:1;5836:15;-1:-1:-1;;5832:29:1;5817:45;;;;5864:2;5813:54;;5391:482;-1:-1:-1;;;5391:482:1:o;5878:401::-;6080:2;6062:21;;;6119:2;6099:18;;;6092:30;6158:34;6153:2;6138:18;;6131:62;-1:-1:-1;;;6224:2:1;6209:18;;6202:35;6269:3;6254:19;;6052:227::o;6284:351::-;6486:2;6468:21;;;6525:2;6505:18;;;6498:30;6564:29;6559:2;6544:18;;6537:57;6626:2;6611:18;;6458:177::o;6640:354::-;6842:2;6824:21;;;6881:2;6861:18;;;6854:30;6920:32;6915:2;6900:18;;6893:60;6985:2;6970:18;;6814:180::o;6999:397::-;7201:2;7183:21;;;7240:2;7220:18;;;7213:30;7279:34;7274:2;7259:18;;7252:62;-1:-1:-1;;;7345:2:1;7330:18;;7323:31;7386:3;7371:19;;7173:223::o;7401:329::-;7603:2;7585:21;;;7642:1;7622:18;;;7615:29;-1:-1:-1;;;7675:2:1;7660:18;;7653:36;7721:2;7706:18;;7575:155::o;7735:177::-;7881:25;;;7869:2;7854:18;;7836:76::o;7917:588::-;;8216:6;8205:9;8198:25;8259:6;8254:2;8243:9;8239:18;8232:34;8302:3;8297:2;8286:9;8282:18;8275:31;8323:63;8381:3;8370:9;8366:19;8358:6;8323:63;:::i;:::-;-1:-1:-1;;;;;8422:32:1;;;;8417:2;8402:18;;8395:60;-1:-1:-1;8486:3:1;8471:19;8464:35;8315:71;8188:317;-1:-1:-1;;;8188:317:1:o;8510:184::-;8682:4;8670:17;;;;8652:36;;8640:2;8625:18;;8607:87::o;8699:128::-;;8770:1;8766:6;8763:1;8760:13;8757:2;;;8776:18;;:::i;:::-;-1:-1:-1;8812:9:1;;8747:80::o;8832:217::-;;8898:1;8888:2;;-1:-1:-1;;;8923:31:1;;8977:4;8974:1;8967:15;9005:4;8930:1;8995:15;8888:2;-1:-1:-1;9034:9:1;;8878:171::o;9054:168::-;;9160:1;9156;9152:6;9148:14;9145:1;9142:21;9137:1;9130:9;9123:17;9119:45;9116:2;;;9167:18;;:::i;:::-;-1:-1:-1;9207:9:1;;9106:116::o;9227:125::-;;9295:1;9292;9289:8;9286:2;;;9300:18;;:::i;:::-;-1:-1:-1;9337:9:1;;9276:76::o;9357:127::-;9418:10;9413:3;9409:20;9406:1;9399:31;9449:4;9446:1;9439:15;9473:4;9470:1;9463:15;9489:127;9550:10;9545:3;9541:20;9538:1;9531:31;9581:4;9578:1;9571:15;9605:4;9602:1;9595:15;9621:133;-1:-1:-1;;;;;9698:31:1;;9688:42;;9678:2;;9744:1;9741;9734:12

Swarm Source

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