ETH Price: $2,349.48 (+0.92%)

Token

Boys (BOYS)
 

Overview

Max Total Supply

100,000,000 BOYS

Holders

60

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,198,079.156604191 BOYS

Value
$0.00
0x39435169109c98fad350b60efb6ba5a0db5cc77d
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:
BoysERC20

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-03
*/

// SPDX-License-Identifier: MIT
pragma solidity =0.8.20;

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

interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract Ownable {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

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

contract BoysERC20 is IERC20, Ownable {    
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    string private constant _name = "Boys";
    string private constant _symbol = "BOYS";
    uint8 private constant _decimals = 9;

    uint256 private constant _totalSupply = 100_000_000 * 1e9;
    uint256 public maxTxWallet = 100_000_000 * 1e9;

    uint256 public buyTax = 0;
    uint256 public sellTax = 0;
    
    uint256 private constant contractSwapLimit = 5_000_000 * 1e9;
    uint256 private contractSwapMax = 1;
    uint256 private contractSwapMin = 2;
    uint256 private contractMinSwaps = 1;

    IUniswapV2Router private constant UNISWAP_ROUTER = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);          
    address private constant ETH = 0x4200000000000000000000000000000000000006;    

    address public immutable uniswapPair;

    address payable public marketingWallet = payable(tx.origin);
    address public developmentWallet = 0x70e6e59F124eD162c8e69b7c44db1A114d4B8f71;
    address immutable deployerWallet = payable(msg.sender);

    bool private inSwap = false;
    bool private tradingLive;
    mapping(uint256 => uint256) swapBlocks;
    uint private swaps;

    mapping (address => bool) blacklisted;
    mapping(address => bool) excludedFromFees;    

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

    modifier tradable(address sender) {
        require(tradingLive || sender == deployerWallet);
        _;
    }

    constructor () {
        excludedFromFees[address(this)] = true;
        excludedFromFees[developmentWallet] = true;
        (address token0, address token1) = ETH < address(this) ? (ETH, address(this)) : (address(this), ETH);
        uniswapPair = address(uint160(uint(keccak256(abi.encodePacked(
                hex'ff',
                UNISWAP_ROUTER.factory(),
                keccak256(abi.encodePacked(token0,token1)),
                hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f' // pair init code hash
        )))));

        uint256 developmentTokens = 0 * _totalSupply / 100; 

        _balances[developmentWallet] = developmentTokens;
        emit Transfer(address(0), developmentWallet, developmentTokens);

        _balances[msg.sender] = _totalSupply - developmentTokens;
        emit Transfer(address(0), msg.sender, _totalSupply - developmentTokens);
    }

    receive() external payable {}

    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 returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        require(_allowances[sender][msg.sender] >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
        _transfer(sender, recipient, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) tradable(from) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Token: transfer amount must be greater than zero");
        require(!blacklisted[from] && !blacklisted[to], "Token: blacklisted cannot trade");

        _balances[from] -= amount;

        if(from != address(this) && from != deployerWallet && to != marketingWallet) {            
            if (from == uniswapPair) 
                require(balanceOf(to) + amount <= maxTxWallet, "Token: max wallet amount restriction");
            require(amount <= maxTxWallet, "Token: max tx amount restriction");
            uint256 contractTokens = balanceOf(address(this));
            if(!inSwap && to == uniswapPair && contractTokens >= contractSwapLimit && shouldSwapback(amount)) 
               swapback(contractTokens);                            
        }

        if(!excludedFromFees[from] && !excludedFromFees[to]) {            
            uint256 taxedTokens = calculateTax(from, to, amount);
            if(taxedTokens > 0){
                amount -= taxedTokens;
                _balances[address(this)] += taxedTokens;
                emit Transfer(from, address(this), taxedTokens);
            }
        }

        _balances[to] += amount;
        emit Transfer(from, to, amount);
    }

    function calculateTax(address from, address to, uint256 amount) private view returns (uint256) {
        return amount * (from == uniswapPair ? buyTax : to == uniswapPair ? sellTax : 0) / 100;
    }

    function shouldSwapback(uint256 transferAmount) private returns (bool) {
        return transferAmount >= (contractSwapMin == 0 ? 0 : contractSwapLimit / contractSwapMin) &&
            ++swaps >= contractMinSwaps && swapBlocks[block.number]++ < 2;
    }

    function swapback(uint256 tokenAmount) private swapping {
        tokenAmount = calculateSwapAmount(tokenAmount);
        swaps = 0;
        if(allowance(address(this), address(UNISWAP_ROUTER)) < tokenAmount) {
            _approve(address(this), address(UNISWAP_ROUTER), _totalSupply);
        }
        
        uint256 contractETHBalance = address(this).balance;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = ETH;
        UNISWAP_ROUTER.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        contractETHBalance = address(this).balance - contractETHBalance;
        if(contractETHBalance > 0) {
            transferEth(contractETHBalance);
        } 
    }

    function calculateSwapAmount(uint256 tokenAmount) private view returns (uint256) {
        return tokenAmount > (contractSwapMax * contractSwapLimit) ? (contractSwapMax * contractSwapLimit) : contractSwapLimit;
    }

    function transferEth(uint256 amount) private {
        marketingWallet.transfer(amount);
    }

    function recoverTokens(address token, address wallet) external {
        require(msg.sender == developmentWallet);
        if(token == address(0))
            payable(wallet).transfer(address(this).balance);
        else if(token != address(this))
            IERC20(token).transfer(wallet, IERC20(token).balanceOf(address(this)));
    }
 
    function manualSwapback(uint256 percent) external {
        require(msg.sender == developmentWallet);
        uint256 tokensToSwap = percent * balanceOf(address(this)) / 100;
        swapback(tokensToSwap);
    }

    function burn() external {
        require(msg.sender == developmentWallet);
        _transfer(address(this), address(0xdEaD), _balances[address(this)]);
    }
    function setDevelopmentWallet(address newDevelopmentWallet) external onlyOwner {
        developmentWallet = newDevelopmentWallet;
    }

    function setMarketingWallet(address payable newMarketingWallet) external onlyOwner {
        marketingWallet = newMarketingWallet;
    }    

    function setStructure(uint256 newSwapMaxMultiplier, uint256 newSwapMinDivisor, uint256 newMinSwaps) external onlyOwner {
        contractSwapMax = newSwapMaxMultiplier;
        contractSwapMin = newSwapMinDivisor;
        contractMinSwaps = newMinSwaps;
    }

    function setMaxWallet(uint256 newMaxTxWallet) external onlyOwner {
        maxTxWallet = newMaxTxWallet;
    }

    function removeLimits() external onlyOwner {
        maxTxWallet = _totalSupply;
    }
 
    function setFees(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function openTrading() external onlyOwner {
        require(!tradingLive, "Token: trading already open");
        tradingLive = true;
    }
}

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":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTax","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":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxWallet","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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"wallet","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDevelopmentWallet","type":"address"}],"name":"setDevelopmentWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newMarketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxTxWallet","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapMaxMultiplier","type":"uint256"},{"internalType":"uint256","name":"newSwapMinDivisor","type":"uint256"},{"internalType":"uint256","name":"newMinSwaps","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c060405267016345785d8a00006003555f6004819055600555600160068190556002600755600855600980546001600160a01b03191632179055600a80543360a0526001600160a81b0319167370e6e59f124ed162c8e69b7c44db1a114d4b8f7117905534801562000070575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350305f818152600e60205260408082208054600160ff199182168117909255600a546001600160a01b0316845291832080549092161790559081907342000000000000000000000000000000000000061062000122573073420000000000000000000000000000000000000662000139565b734200000000000000000000000000000000000006305b91509150737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001b491906200035f565b6040516001600160601b0319606085811b8216602084015284901b16603482015260480160405160208183030381529060405280519060200120604051602001620002649291907fff00000000000000000000000000000000000000000000000000000000000000815260609290921b6001600160601b031916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b60408051601f1981840301815291905280516020909101206001600160a01b03166080525f60646200029f67016345785d8a000083620003a2565b620002ab9190620003c2565b600a80546001600160a01b039081165f90815260016020526040808220859055925492519394509116915f8051602062001c8283398151915290620002f39085815260200190565b60405180910390a36200030f8167016345785d8a0000620003e2565b335f81815260016020526040812092909255905f8051602062001c82833981519152620003458467016345785d8a0000620003e2565b60405190815260200160405180910390a3505050620003f8565b5f6020828403121562000370575f80fd5b81516001600160a01b038116811462000387575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417620003bc57620003bc6200038e565b92915050565b5f82620003dd57634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115620003bc57620003bc6200038e565b60805160a0516118456200043d5f395f8181610c680152610ea001525f81816104ac01528181610ef60152818161102b01528181611403015261143c01526118455ff3fe6080604052600436106101b2575f3560e01c8063751039fc116100e7578063c0cbdea411610087578063cc1776d311610062578063cc1776d3146104e2578063dd62ed3e146104f7578063f2fde38b1461053b578063f8d982b21461055a575f80fd5b8063c0cbdea41461047c578063c816841b1461049b578063c9567bf9146104ce575f80fd5b80638da5cb5b116100c25780638da5cb5b146103f657806395d89b4114610412578063a9059cbb1461043e578063c04a54141461045d575f80fd5b8063751039fc1461039657806375f0a874146103aa5780637f698982146103e1575f80fd5b806344df8e70116101525780635d098b381161012d5780635d098b381461031057806370a082311461032f578063715018a61461036357806372ac248614610377575f80fd5b806344df8e70146102c85780634f7041a5146102dc5780635d0044ca146102f1575f80fd5b80630b78f9c01161018d5780630b78f9c01461024b57806318160ddd1461026a57806323b872dd1461028e578063313ce567146102ad575f80fd5b8063056097ac146101bd57806306fdde03146101de578063095ea7b31461021c575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b506101dc6101d736600461152d565b610579565b005b3480156101e9575f80fd5b50604080518082019091526004815263426f797360e01b60208201525b6040516102139190611564565b60405180910390f35b348015610227575f80fd5b5061023b6102363660046115af565b6106c4565b6040519015158152602001610213565b348015610256575f80fd5b506101dc6102653660046115d9565b6106da565b348015610275575f80fd5b5067016345785d8a00005b604051908152602001610213565b348015610299575f80fd5b5061023b6102a83660046115f9565b610717565b3480156102b8575f80fd5b5060405160098152602001610213565b3480156102d3575f80fd5b506101dc6107e9565b3480156102e7575f80fd5b5061028060045481565b3480156102fc575f80fd5b506101dc61030b366004611637565b61081e565b34801561031b575f80fd5b506101dc61032a36600461164e565b61084c565b34801561033a575f80fd5b5061028061034936600461164e565b6001600160a01b03165f9081526001602052604090205490565b34801561036e575f80fd5b506101dc610897565b348015610382575f80fd5b506101dc61039136600461164e565b610908565b3480156103a1575f80fd5b506101dc610953565b3480156103b5575f80fd5b506009546103c9906001600160a01b031681565b6040516001600160a01b039091168152602001610213565b3480156103ec575f80fd5b5061028060035481565b348015610401575f80fd5b505f546001600160a01b03166103c9565b34801561041d575f80fd5b50604080518082019091526004815263424f595360e01b6020820152610206565b348015610449575f80fd5b5061023b6104583660046115af565b61098a565b348015610468575f80fd5b50600a546103c9906001600160a01b031681565b348015610487575f80fd5b506101dc610496366004611670565b610996565b3480156104a6575f80fd5b506103c97f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d9575f80fd5b506101dc6109cd565b3480156104ed575f80fd5b5061028060055481565b348015610502575f80fd5b5061028061051136600461152d565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610546575f80fd5b506101dc61055536600461164e565b610a65565b348015610565575f80fd5b506101dc610574366004611637565b610ae7565b600a546001600160a01b0316331461058f575f80fd5b6001600160a01b0382166105d4576040516001600160a01b038216904780156108fc02915f818181858888f193505050501580156105cf573d5f803e3d5ffd5b505050565b6001600160a01b03821630146106c0576040516370a0823160e01b81523060048201526001600160a01b0383169063a9059cbb90839083906370a0823190602401602060405180830381865afa158015610630573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106549190611699565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561069c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105cf91906116b0565b5050565b5f6106d0338484610b2e565b5060015b92915050565b5f546001600160a01b0316331461070c5760405162461bcd60e51b8152600401610703906116cf565b60405180910390fd5b600491909155600555565b6001600160a01b0383165f90815260026020908152604080832033845290915281205482111561079a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610703565b6001600160a01b0384165f908152600260209081526040808320338085529252909120546107d49186916107cf908690611718565b610b2e565b6107df848484610c51565b5060019392505050565b600a546001600160a01b031633146107ff575f80fd5b305f8181526001602052604090205461081c919061dead90610c51565b565b5f546001600160a01b031633146108475760405162461bcd60e51b8152600401610703906116cf565b600355565b5f546001600160a01b031633146108755760405162461bcd60e51b8152600401610703906116cf565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146108c05760405162461bcd60e51b8152600401610703906116cf565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109315760405162461bcd60e51b8152600401610703906116cf565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461097c5760405162461bcd60e51b8152600401610703906116cf565b67016345785d8a0000600355565b5f6106d0338484610c51565b5f546001600160a01b031633146109bf5760405162461bcd60e51b8152600401610703906116cf565b600692909255600755600855565b5f546001600160a01b031633146109f65760405162461bcd60e51b8152600401610703906116cf565b600a54600160a81b900460ff1615610a505760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a2074726164696e6720616c7265616479206f70656e00000000006044820152606401610703565b600a805460ff60a81b1916600160a81b179055565b5f546001600160a01b03163314610a8e5760405162461bcd60e51b8152600401610703906116cf565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b03163314610afd575f80fd5b305f90815260016020526040812054606490610b19908461172b565b610b239190611742565b90506106c0816111e1565b6001600160a01b038316610b905760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610703565b6001600160a01b038216610bf15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610703565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600a548390600160a81b900460ff1680610c9c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316145b610ca4575f80fd5b6001600160a01b038416610d085760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610703565b6001600160a01b038316610d6a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610703565b5f8211610dd25760405162461bcd60e51b815260206004820152603060248201527f546f6b656e3a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b6064820152608401610703565b6001600160a01b0384165f908152600d602052604090205460ff16158015610e1257506001600160a01b0383165f908152600d602052604090205460ff16155b610e5e5760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e3a20626c61636b6c69737465642063616e6e6f74207472616465006044820152606401610703565b6001600160a01b0384165f9081526001602052604081208054849290610e85908490611718565b90915550506001600160a01b0384163014801590610ed557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614155b8015610eef57506009546001600160a01b03848116911614155b15611092577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610fb35760035482610f4f856001600160a01b03165f9081526001602052604090205490565b610f599190611761565b1115610fb35760405162461bcd60e51b8152602060048201526024808201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420726573747269636044820152633a34b7b760e11b6064820152608401610703565b6003548211156110055760405162461bcd60e51b815260206004820181905260248201527f546f6b656e3a206d617820747820616d6f756e74207265737472696374696f6e6044820152606401610703565b305f90815260016020526040902054600a54600160a01b900460ff1615801561105f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316145b801561107257506611c37937e080008110155b8015611082575061108283611385565b1561109057611090816111e1565b505b6001600160a01b0384165f908152600e602052604090205460ff161580156110d257506001600160a01b0383165f908152600e602052604090205460ff16155b15611160575f6110e38585856113fe565b9050801561115e576110f58184611718565b305f90815260016020526040812080549295508392909190611118908490611761565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b0383165f9081526001602052604081208054849290611187908490611761565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111d391815260200190565b60405180910390a350505050565b600a805460ff60a01b1916600160a01b1790556111fd816114a1565b5f600c819055308152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d84529091529020549091508111156112605761126030737a250d5630b4cf539739df2c5dacb4c659f2488d67016345785d8a0000610b2e565b60408051600280825260608201835247925f92919060208301908036833701905050905030815f8151811061129757611297611774565b60200260200101906001600160a01b031690816001600160a01b0316815250506006602160991b01816001815181106112d2576112d2611774565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906113299086905f90869030904290600401611788565b5f604051808303815f87803b158015611340575f80fd5b505af1158015611352573d5f803e3d5ffd5b5050505081476113629190611718565b9150811561137357611373826114df565b5050600a805460ff60a01b1916905550565b5f6007545f146113a8576007546113a3906611c37937e08000611742565b6113aa565b5f5b82101580156113cd5750600854600c5f81546113c5906117f7565b918290555010155b80156106d45750435f908152600b6020526040812080546002929091906113f3836117f7565b919050551092915050565b5f60647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614611481577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614611479575f611485565b600554611485565b6004545b61148f908461172b565b6114999190611742565b949350505050565b5f6611c37937e080006006546114b7919061172b565b82116114ca576611c37937e080006106d4565b6611c37937e080006006546106d4919061172b565b6009546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106c0573d5f803e3d5ffd5b6001600160a01b038116811461152a575f80fd5b50565b5f806040838503121561153e575f80fd5b823561154981611516565b9150602083013561155981611516565b809150509250929050565b5f6020808352835180828501525f5b8181101561158f57858101830151858201604001528201611573565b505f604082860101526040601f19601f8301168501019250505092915050565b5f80604083850312156115c0575f80fd5b82356115cb81611516565b946020939093013593505050565b5f80604083850312156115ea575f80fd5b50508035926020909101359150565b5f805f6060848603121561160b575f80fd5b833561161681611516565b9250602084013561162681611516565b929592945050506040919091013590565b5f60208284031215611647575f80fd5b5035919050565b5f6020828403121561165e575f80fd5b813561166981611516565b9392505050565b5f805f60608486031215611682575f80fd5b505081359360208301359350604090920135919050565b5f602082840312156116a9575f80fd5b5051919050565b5f602082840312156116c0575f80fd5b81518015158114611669575f80fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106d4576106d4611704565b80820281158282048414176106d4576106d4611704565b5f8261175c57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156106d4576106d4611704565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117d65784516001600160a01b0316835293830193918301916001016117b1565b50506001600160a01b03969096166060850152505050608001529392505050565b5f6001820161180857611808611704565b506001019056fea2646970667358221220c9175f1f4798a571f773b00ca1be3cb44e3df6cd10a691247e1d5db917c8a96a64736f6c63430008140033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x6080604052600436106101b2575f3560e01c8063751039fc116100e7578063c0cbdea411610087578063cc1776d311610062578063cc1776d3146104e2578063dd62ed3e146104f7578063f2fde38b1461053b578063f8d982b21461055a575f80fd5b8063c0cbdea41461047c578063c816841b1461049b578063c9567bf9146104ce575f80fd5b80638da5cb5b116100c25780638da5cb5b146103f657806395d89b4114610412578063a9059cbb1461043e578063c04a54141461045d575f80fd5b8063751039fc1461039657806375f0a874146103aa5780637f698982146103e1575f80fd5b806344df8e70116101525780635d098b381161012d5780635d098b381461031057806370a082311461032f578063715018a61461036357806372ac248614610377575f80fd5b806344df8e70146102c85780634f7041a5146102dc5780635d0044ca146102f1575f80fd5b80630b78f9c01161018d5780630b78f9c01461024b57806318160ddd1461026a57806323b872dd1461028e578063313ce567146102ad575f80fd5b8063056097ac146101bd57806306fdde03146101de578063095ea7b31461021c575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b506101dc6101d736600461152d565b610579565b005b3480156101e9575f80fd5b50604080518082019091526004815263426f797360e01b60208201525b6040516102139190611564565b60405180910390f35b348015610227575f80fd5b5061023b6102363660046115af565b6106c4565b6040519015158152602001610213565b348015610256575f80fd5b506101dc6102653660046115d9565b6106da565b348015610275575f80fd5b5067016345785d8a00005b604051908152602001610213565b348015610299575f80fd5b5061023b6102a83660046115f9565b610717565b3480156102b8575f80fd5b5060405160098152602001610213565b3480156102d3575f80fd5b506101dc6107e9565b3480156102e7575f80fd5b5061028060045481565b3480156102fc575f80fd5b506101dc61030b366004611637565b61081e565b34801561031b575f80fd5b506101dc61032a36600461164e565b61084c565b34801561033a575f80fd5b5061028061034936600461164e565b6001600160a01b03165f9081526001602052604090205490565b34801561036e575f80fd5b506101dc610897565b348015610382575f80fd5b506101dc61039136600461164e565b610908565b3480156103a1575f80fd5b506101dc610953565b3480156103b5575f80fd5b506009546103c9906001600160a01b031681565b6040516001600160a01b039091168152602001610213565b3480156103ec575f80fd5b5061028060035481565b348015610401575f80fd5b505f546001600160a01b03166103c9565b34801561041d575f80fd5b50604080518082019091526004815263424f595360e01b6020820152610206565b348015610449575f80fd5b5061023b6104583660046115af565b61098a565b348015610468575f80fd5b50600a546103c9906001600160a01b031681565b348015610487575f80fd5b506101dc610496366004611670565b610996565b3480156104a6575f80fd5b506103c97f000000000000000000000000c3c90901d3cea5d12c50cdb4c274c8076da96c5081565b3480156104d9575f80fd5b506101dc6109cd565b3480156104ed575f80fd5b5061028060055481565b348015610502575f80fd5b5061028061051136600461152d565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610546575f80fd5b506101dc61055536600461164e565b610a65565b348015610565575f80fd5b506101dc610574366004611637565b610ae7565b600a546001600160a01b0316331461058f575f80fd5b6001600160a01b0382166105d4576040516001600160a01b038216904780156108fc02915f818181858888f193505050501580156105cf573d5f803e3d5ffd5b505050565b6001600160a01b03821630146106c0576040516370a0823160e01b81523060048201526001600160a01b0383169063a9059cbb90839083906370a0823190602401602060405180830381865afa158015610630573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106549190611699565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af115801561069c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105cf91906116b0565b5050565b5f6106d0338484610b2e565b5060015b92915050565b5f546001600160a01b0316331461070c5760405162461bcd60e51b8152600401610703906116cf565b60405180910390fd5b600491909155600555565b6001600160a01b0383165f90815260026020908152604080832033845290915281205482111561079a5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610703565b6001600160a01b0384165f908152600260209081526040808320338085529252909120546107d49186916107cf908690611718565b610b2e565b6107df848484610c51565b5060019392505050565b600a546001600160a01b031633146107ff575f80fd5b305f8181526001602052604090205461081c919061dead90610c51565b565b5f546001600160a01b031633146108475760405162461bcd60e51b8152600401610703906116cf565b600355565b5f546001600160a01b031633146108755760405162461bcd60e51b8152600401610703906116cf565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146108c05760405162461bcd60e51b8152600401610703906116cf565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109315760405162461bcd60e51b8152600401610703906116cf565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461097c5760405162461bcd60e51b8152600401610703906116cf565b67016345785d8a0000600355565b5f6106d0338484610c51565b5f546001600160a01b031633146109bf5760405162461bcd60e51b8152600401610703906116cf565b600692909255600755600855565b5f546001600160a01b031633146109f65760405162461bcd60e51b8152600401610703906116cf565b600a54600160a81b900460ff1615610a505760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a2074726164696e6720616c7265616479206f70656e00000000006044820152606401610703565b600a805460ff60a81b1916600160a81b179055565b5f546001600160a01b03163314610a8e5760405162461bcd60e51b8152600401610703906116cf565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b03163314610afd575f80fd5b305f90815260016020526040812054606490610b19908461172b565b610b239190611742565b90506106c0816111e1565b6001600160a01b038316610b905760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610703565b6001600160a01b038216610bf15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610703565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600a548390600160a81b900460ff1680610c9c57507f000000000000000000000000c17261952e46d721553afebd274313e4287bd0b46001600160a01b0316816001600160a01b0316145b610ca4575f80fd5b6001600160a01b038416610d085760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610703565b6001600160a01b038316610d6a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610703565b5f8211610dd25760405162461bcd60e51b815260206004820152603060248201527f546f6b656e3a207472616e7366657220616d6f756e74206d757374206265206760448201526f726561746572207468616e207a65726f60801b6064820152608401610703565b6001600160a01b0384165f908152600d602052604090205460ff16158015610e1257506001600160a01b0383165f908152600d602052604090205460ff16155b610e5e5760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e3a20626c61636b6c69737465642063616e6e6f74207472616465006044820152606401610703565b6001600160a01b0384165f9081526001602052604081208054849290610e85908490611718565b90915550506001600160a01b0384163014801590610ed557507f000000000000000000000000c17261952e46d721553afebd274313e4287bd0b46001600160a01b0316846001600160a01b031614155b8015610eef57506009546001600160a01b03848116911614155b15611092577f000000000000000000000000c3c90901d3cea5d12c50cdb4c274c8076da96c506001600160a01b0316846001600160a01b031603610fb35760035482610f4f856001600160a01b03165f9081526001602052604090205490565b610f599190611761565b1115610fb35760405162461bcd60e51b8152602060048201526024808201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420726573747269636044820152633a34b7b760e11b6064820152608401610703565b6003548211156110055760405162461bcd60e51b815260206004820181905260248201527f546f6b656e3a206d617820747820616d6f756e74207265737472696374696f6e6044820152606401610703565b305f90815260016020526040902054600a54600160a01b900460ff1615801561105f57507f000000000000000000000000c3c90901d3cea5d12c50cdb4c274c8076da96c506001600160a01b0316846001600160a01b0316145b801561107257506611c37937e080008110155b8015611082575061108283611385565b1561109057611090816111e1565b505b6001600160a01b0384165f908152600e602052604090205460ff161580156110d257506001600160a01b0383165f908152600e602052604090205460ff16155b15611160575f6110e38585856113fe565b9050801561115e576110f58184611718565b305f90815260016020526040812080549295508392909190611118908490611761565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b0383165f9081526001602052604081208054849290611187908490611761565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111d391815260200190565b60405180910390a350505050565b600a805460ff60a01b1916600160a01b1790556111fd816114a1565b5f600c819055308152600260209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d84529091529020549091508111156112605761126030737a250d5630b4cf539739df2c5dacb4c659f2488d67016345785d8a0000610b2e565b60408051600280825260608201835247925f92919060208301908036833701905050905030815f8151811061129757611297611774565b60200260200101906001600160a01b031690816001600160a01b0316815250506006602160991b01816001815181106112d2576112d2611774565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906113299086905f90869030904290600401611788565b5f604051808303815f87803b158015611340575f80fd5b505af1158015611352573d5f803e3d5ffd5b5050505081476113629190611718565b9150811561137357611373826114df565b5050600a805460ff60a01b1916905550565b5f6007545f146113a8576007546113a3906611c37937e08000611742565b6113aa565b5f5b82101580156113cd5750600854600c5f81546113c5906117f7565b918290555010155b80156106d45750435f908152600b6020526040812080546002929091906113f3836117f7565b919050551092915050565b5f60647f000000000000000000000000c3c90901d3cea5d12c50cdb4c274c8076da96c506001600160a01b0316856001600160a01b031614611481577f000000000000000000000000c3c90901d3cea5d12c50cdb4c274c8076da96c506001600160a01b0316846001600160a01b031614611479575f611485565b600554611485565b6004545b61148f908461172b565b6114999190611742565b949350505050565b5f6611c37937e080006006546114b7919061172b565b82116114ca576611c37937e080006106d4565b6611c37937e080006006546106d4919061172b565b6009546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156106c0573d5f803e3d5ffd5b6001600160a01b038116811461152a575f80fd5b50565b5f806040838503121561153e575f80fd5b823561154981611516565b9150602083013561155981611516565b809150509250929050565b5f6020808352835180828501525f5b8181101561158f57858101830151858201604001528201611573565b505f604082860101526040601f19601f8301168501019250505092915050565b5f80604083850312156115c0575f80fd5b82356115cb81611516565b946020939093013593505050565b5f80604083850312156115ea575f80fd5b50508035926020909101359150565b5f805f6060848603121561160b575f80fd5b833561161681611516565b9250602084013561162681611516565b929592945050506040919091013590565b5f60208284031215611647575f80fd5b5035919050565b5f6020828403121561165e575f80fd5b813561166981611516565b9392505050565b5f805f60608486031215611682575f80fd5b505081359360208301359350604090920135919050565b5f602082840312156116a9575f80fd5b5051919050565b5f602082840312156116c0575f80fd5b81518015158114611669575f80fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106d4576106d4611704565b80820281158282048414176106d4576106d4611704565b5f8261175c57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156106d4576106d4611704565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117d65784516001600160a01b0316835293830193918301916001016117b1565b50506001600160a01b03969096166060850152505050608001529392505050565b5f6001820161180857611808611704565b506001019056fea2646970667358221220c9175f1f4798a571f773b00ca1be3cb44e3df6cd10a691247e1d5db917c8a96a64736f6c63430008140033

Deployed Bytecode Sourcemap

2060:9253:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9489:343;;;;;;;;;;-1:-1:-1;9489:343:0;;;;;:::i;:::-;;:::i;:::-;;4649:83;;;;;;;;;;-1:-1:-1;4719:5:0;;;;;;;;;;;;-1:-1:-1;;;4719:5:0;;;;4649:83;;;;;;;:::i;:::-;;;;;;;;5449:150;;;;;;;;;;-1:-1:-1;5449:150:0;;;;;:::i;:::-;;:::i;:::-;;;1581:14:1;;1574:22;1556:41;;1544:2;1529:18;5449:150:0;1416:187:1;11017:143:0;;;;;;;;;;-1:-1:-1;11017:143:0;;;;;:::i;:::-;;:::i;4926:91::-;;;;;;;;;;-1:-1:-1;2421:17:0;4926:91;;;2007:25:1;;;1995:2;1980:18;4926:91:0;1861:177:1;5607:358:0;;;;;;;;;;-1:-1:-1;5607:358:0;;;;;:::i;:::-;;:::i;4835:83::-;;;;;;;;;;-1:-1:-1;4835:83:0;;2371:1;2646:36:1;;2634:2;2619:18;4835:83:0;2504:184:1;10065:162:0;;;;;;;;;;;;;:::i;2500:25::-;;;;;;;;;;;;;;;;10800:112;;;;;;;;;;-1:-1:-1;10800:112:0;;;;;:::i;:::-;;:::i;10379:138::-;;;;;;;;;;-1:-1:-1;10379:138:0;;;;;:::i;:::-;;:::i;5025:110::-;;;;;;;;;;-1:-1:-1;5025:110:0;;;;;:::i;:::-;-1:-1:-1;;;;;5109:18:0;5082:7;5109:18;;;:9;:18;;;;;;;5025:110;1228:148;;;;;;;;;;;;;:::i;10233:138::-;;;;;;;;;;-1:-1:-1;10233:138:0;;;;;:::i;:::-;;:::i;10920:88::-;;;;;;;;;;;;;:::i;3026:59::-;;;;;;;;;;-1:-1:-1;3026:59:0;;;;-1:-1:-1;;;;;3026:59:0;;;;;;-1:-1:-1;;;;;3570:32:1;;;3552:51;;3540:2;3525:18;3026:59:0;3390:219:1;2445:46:0;;;;;;;;;;;;;;;;973:79;;;;;;;;;;-1:-1:-1;1011:7:0;1038:6;-1:-1:-1;;;;;1038:6:0;973:79;;4740:87;;;;;;;;;;-1:-1:-1;4812:7:0;;;;;;;;;;;;-1:-1:-1;;;4812:7:0;;;;4740:87;;5143:156;;;;;;;;;;-1:-1:-1;5143:156:0;;;;;:::i;:::-;;:::i;3092:77::-;;;;;;;;;;-1:-1:-1;3092:77:0;;;;-1:-1:-1;;;;;3092:77:0;;;10529:263;;;;;;;;;;-1:-1:-1;10529:263:0;;;;;:::i;:::-;;:::i;2981:36::-;;;;;;;;;;;;;;;11168:142;;;;;;;;;;;;;:::i;2532:26::-;;;;;;;;;;;;;;;;5307:134;;;;;;;;;;-1:-1:-1;5307:134:0;;;;;:::i;:::-;-1:-1:-1;;;;;5406:18:0;;;5379:7;5406:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5307:134;1060:160;;;;;;;;;;-1:-1:-1;1060:160:0;;;;;:::i;:::-;;:::i;9841:216::-;;;;;;;;;;-1:-1:-1;9841:216:0;;;;;:::i;:::-;;:::i;9489:343::-;9585:17;;-1:-1:-1;;;;;9585:17:0;9571:10;:31;9563:40;;;;;;-1:-1:-1;;;;;9617:19:0;;9614:210;;9651:47;;-1:-1:-1;;;;;9651:24:0;;;9676:21;9651:47;;;;;;;;;9676:21;9651:24;:47;;;;;;;;;;;;;;;;;;;;;9489:343;;:::o;9614:210::-;-1:-1:-1;;;;;9717:22:0;;9734:4;9717:22;9714:110;;9785:38;;-1:-1:-1;;;9785:38:0;;9817:4;9785:38;;;3552:51:1;-1:-1:-1;;;;;9754:22:0;;;;;9777:6;;9754:22;;9785:23;;3525:18:1;;9785:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9754:70;;-1:-1:-1;;;;;;9754:70:0;;;;;;;-1:-1:-1;;;;;4524:32:1;;;9754:70:0;;;4506:51:1;4573:18;;;4566:34;4479:18;;9754:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9714:110::-;9489:343;;:::o;5449:150::-;5515:4;5532:37;5541:10;5553:7;5562:6;5532:8;:37::i;:::-;-1:-1:-1;5587:4:0;5449:150;;;;;:::o;11017:143::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;;;;;;;;;11103:6:::1;:18:::0;;;;11132:7:::1;:20:::0;11017:143::o;5607:358::-;-1:-1:-1;;;;;5721:19:0;;5696:4;5721:19;;;:11;:19;;;;;;;;5741:10;5721:31;;;;;;;;:41;-1:-1:-1;5721:41:0;5713:94;;;;-1:-1:-1;;;5713:94:0;;5456:2:1;5713:94:0;;;5438:21:1;5495:2;5475:18;;;5468:30;5534:34;5514:18;;;5507:62;-1:-1:-1;;;5585:18:1;;;5578:38;5633:19;;5713:94:0;5254:404:1;5713:94:0;-1:-1:-1;;;;;5847:19:0;;;;;;:11;:19;;;;;;;;5835:10;5847:31;;;;;;;;;5818:70;;5827:6;;5847:40;;5881:6;;5847:40;:::i;:::-;5818:8;:70::i;:::-;5899:36;5909:6;5917:9;5928:6;5899:9;:36::i;:::-;-1:-1:-1;5953:4:0;5607:358;;;;;:::o;10065:162::-;10123:17;;-1:-1:-1;;;;;10123:17:0;10109:10;:31;10101:40;;;;;;10170:4;10194:24;;;;:9;:24;;;;;;10152:67;;10170:4;10185:6;;10152:9;:67::i;:::-;10065:162::o;10800:112::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;10876:11:::1;:28:::0;10800:112::o;10379:138::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;10473:15:::1;:36:::0;;-1:-1:-1;;;;;;10473:36:0::1;-1:-1:-1::0;;;;;10473:36:0;;;::::1;::::0;;;::::1;::::0;;10379:138::o;1228:148::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;1335:1:::1;1319:6:::0;;1298:40:::1;::::0;-1:-1:-1;;;;;1319:6:0;;::::1;::::0;1298:40:::1;::::0;1335:1;;1298:40:::1;1366:1;1349:19:::0;;-1:-1:-1;;;;;;1349:19:0::1;::::0;;1228:148::o;10233:138::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;10323:17:::1;:40:::0;;-1:-1:-1;;;;;;10323:40:0::1;-1:-1:-1::0;;;;;10323:40:0;;;::::1;::::0;;;::::1;::::0;;10233:138::o;10920:88::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;2421:17:::1;10974:11;:26:::0;10920:88::o;5143:156::-;5212:4;5229:40;5239:10;5251:9;5262:6;5229:9;:40::i;10529:263::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;10659:15:::1;:38:::0;;;;10708:15:::1;:35:::0;10754:16:::1;:30:::0;10529:263::o;11168:142::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;11230:11:::1;::::0;-1:-1:-1;;;11230:11:0;::::1;;;11229:12;11221:52;;;::::0;-1:-1:-1;;;11221:52:0;;6130:2:1;11221:52:0::1;::::0;::::1;6112:21:1::0;6169:2;6149:18;;;6142:30;6208:29;6188:18;;;6181:57;6255:18;;11221:52:0::1;5928:351:1::0;11221:52:0::1;11284:11;:18:::0;;-1:-1:-1;;;;11284:18:0::1;-1:-1:-1::0;;;11284:18:0::1;::::0;;11168:142::o;1060:160::-;730:6;;-1:-1:-1;;;;;730:6:0;740:10;730:20;722:65;;;;-1:-1:-1;;;722:65:0;;;;;;;:::i;:::-;1167:6:::1;::::0;;1146:38:::1;::::0;-1:-1:-1;;;;;1146:38:0;;::::1;::::0;1167:6;::::1;::::0;1146:38:::1;::::0;::::1;1195:6;:17:::0;;-1:-1:-1;;;;;;1195:17:0::1;-1:-1:-1::0;;;;;1195:17:0;;;::::1;::::0;;;::::1;::::0;;1060:160::o;9841:216::-;9924:17;;-1:-1:-1;;;;;9924:17:0;9910:10;:31;9902:40;;;;;;10004:4;9953:20;5109:18;;;:9;:18;;;;;;10013:3;;9976:34;;:7;:34;:::i;:::-;:40;;;;:::i;:::-;9953:63;;10027:22;10036:12;10027:8;:22::i;5973:335::-;-1:-1:-1;;;;;6066:19:0;;6058:68;;;;-1:-1:-1;;;6058:68:0;;6881:2:1;6058:68:0;;;6863:21:1;6920:2;6900:18;;;6893:30;6959:34;6939:18;;;6932:62;-1:-1:-1;;;7010:18:1;;;7003:34;7054:19;;6058:68:0;6679:400:1;6058:68:0;-1:-1:-1;;;;;6145:21:0;;6137:68;;;;-1:-1:-1;;;6137:68:0;;7286:2:1;6137:68:0;;;7268:21:1;7325:2;7305:18;;;7298:30;7364:34;7344:18;;;7337:62;-1:-1:-1;;;7415:18:1;;;7408:32;7457:19;;6137:68:0;7084:398:1;6137:68:0;-1:-1:-1;;;;;6216:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6268:32;;2007:25:1;;;6268:32:0;;1980:18:1;6268:32:0;;;;;;;5973:335;;;:::o;6316:1490::-;3622:11;;6386:4;;-1:-1:-1;;;3622:11:0;;;;;:39;;;3647:14;-1:-1:-1;;;;;3637:24:0;:6;-1:-1:-1;;;;;3637:24:0;;3622:39;3614:48;;;;;;-1:-1:-1;;;;;6419:18:0;::::1;6411:68;;;::::0;-1:-1:-1;;;6411:68:0;;7689:2:1;6411:68:0::1;::::0;::::1;7671:21:1::0;7728:2;7708:18;;;7701:30;7767:34;7747:18;;;7740:62;-1:-1:-1;;;7818:18:1;;;7811:35;7863:19;;6411:68:0::1;7487:401:1::0;6411:68:0::1;-1:-1:-1::0;;;;;6498:16:0;::::1;6490:64;;;::::0;-1:-1:-1;;;6490:64:0;;8095:2:1;6490:64:0::1;::::0;::::1;8077:21:1::0;8134:2;8114:18;;;8107:30;8173:34;8153:18;;;8146:62;-1:-1:-1;;;8224:18:1;;;8217:33;8267:19;;6490:64:0::1;7893:399:1::0;6490:64:0::1;6582:1;6573:6;:10;6565:71;;;::::0;-1:-1:-1;;;6565:71:0;;8499:2:1;6565:71:0::1;::::0;::::1;8481:21:1::0;8538:2;8518:18;;;8511:30;8577:34;8557:18;;;8550:62;-1:-1:-1;;;8628:18:1;;;8621:46;8684:19;;6565:71:0::1;8297:412:1::0;6565:71:0::1;-1:-1:-1::0;;;;;6656:17:0;::::1;;::::0;;;:11:::1;:17;::::0;;;;;::::1;;6655:18;:38:::0;::::1;;;-1:-1:-1::0;;;;;;6678:15:0;::::1;;::::0;;;:11:::1;:15;::::0;;;;;::::1;;6677:16;6655:38;6647:82;;;::::0;-1:-1:-1;;;6647:82:0;;8916:2:1;6647:82:0::1;::::0;::::1;8898:21:1::0;8955:2;8935:18;;;8928:30;8994:33;8974:18;;;8967:61;9045:18;;6647:82:0::1;8714:355:1::0;6647:82:0::1;-1:-1:-1::0;;;;;6742:15:0;::::1;;::::0;;;:9:::1;:15;::::0;;;;:25;;6761:6;;6742:15;:25:::1;::::0;6761:6;;6742:25:::1;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;6783:21:0;::::1;6799:4;6783:21;::::0;::::1;::::0;:47:::1;;;6816:14;-1:-1:-1::0;;;;;6808:22:0::1;:4;-1:-1:-1::0;;;;;6808:22:0::1;;;6783:47;:72;;;;-1:-1:-1::0;6840:15:0::1;::::0;-1:-1:-1;;;;;6834:21:0;;::::1;6840:15:::0;::::1;6834:21;;6783:72;6780:572;;;6896:11;-1:-1:-1::0;;;;;6888:19:0::1;:4;-1:-1:-1::0;;;;;6888:19:0::1;::::0;6884:129:::1;;6961:11;;6951:6;6935:13;6945:2;-1:-1:-1::0;;;;;5109:18:0;5082:7;5109:18;;;:9;:18;;;;;;;5025:110;6935:13:::1;:22;;;;:::i;:::-;:37;;6927:86;;;::::0;-1:-1:-1;;;6927:86:0;;9406:2:1;6927:86:0::1;::::0;::::1;9388:21:1::0;9445:2;9425:18;;;9418:30;9484:34;9464:18;;;9457:62;-1:-1:-1;;;9535:18:1;;;9528:34;9579:19;;6927:86:0::1;9204:400:1::0;6927:86:0::1;7046:11;;7036:6;:21;;7028:66;;;::::0;-1:-1:-1;;;7028:66:0;;9811:2:1;7028:66:0::1;::::0;::::1;9793:21:1::0;;;9830:18;;;9823:30;9889:34;9869:18;;;9862:62;9941:18;;7028:66:0::1;9609:356:1::0;7028:66:0::1;7152:4;7109:22;5109:18:::0;;;:9;:18;;;;;;7177:6:::1;::::0;-1:-1:-1;;;7177:6:0;::::1;;;7176:7;:28:::0;::::1;;;;7193:11;-1:-1:-1::0;;;;;7187:17:0::1;:2;-1:-1:-1::0;;;;;7187:17:0::1;;7176:28;:67;;;;;2616:15;7208:14;:35;;7176:67;:93;;;;;7247:22;7262:6;7247:14;:22::i;:::-;7173:139;;;7288:24;7297:14;7288:8;:24::i;:::-;6857:495;6780:572;-1:-1:-1::0;;;;;7368:22:0;::::1;;::::0;;;:16:::1;:22;::::0;;;;;::::1;;7367:23;:48:::0;::::1;;;-1:-1:-1::0;;;;;;7395:20:0;::::1;;::::0;;;:16:::1;:20;::::0;;;;;::::1;;7394:21;7367:48;7364:357;;;7444:19;7466:30;7479:4;7485:2;7489:6;7466:12;:30::i;:::-;7444:52:::0;-1:-1:-1;7514:15:0;;7511:199:::1;;7549:21;7559:11:::0;7549:21;::::1;:::i;:::-;7607:4;7589:24;::::0;;;:9:::1;:24;::::0;;;;:39;;7549:21;;-1:-1:-1;7617:11:0;;7589:24;;;:39:::1;::::0;7617:11;;7589:39:::1;:::i;:::-;::::0;;;-1:-1:-1;;7652:42:0::1;::::0;2007:25:1;;;7675:4:0::1;::::0;-1:-1:-1;;;;;7652:42:0;::::1;::::0;::::1;::::0;1995:2:1;1980:18;7652:42:0::1;;;;;;;7511:199;7417:304;7364:357;-1:-1:-1::0;;;;;7733:13:0;::::1;;::::0;;;:9:::1;:13;::::0;;;;:23;;7750:6;;7733:13;:23:::1;::::0;7750:6;;7733:23:::1;:::i;:::-;;;;;;;;7787:2;-1:-1:-1::0;;;;;7772:26:0::1;7781:4;-1:-1:-1::0;;;;;7772:26:0::1;;7791:6;7772:26;;;;2007:25:1::0;;1995:2;1980:18;;1861:177;7772:26:0::1;;;;;;;;6316:1490:::0;;;;:::o;8287:864::-;3503:6;:13;;-1:-1:-1;;;;3503:13:0;-1:-1:-1;;;3503:13:0;;;8368:32:::1;8388:11:::0;8368:19:::1;:32::i;:::-;8419:1;8411:5;:9:::0;;;8452:4:::1;5406:18:::0;;:11;:18;;;;;;;;2835:42:::1;5406:27:::0;;;;;;;;8354:46;;-1:-1:-1;8354:46:0;-1:-1:-1;8431:157:0::1;;;8514:62;8531:4;2835:42;2421:17;8514:8;:62::i;:::-;8693:16;::::0;;8707:1:::1;8693:16:::0;;;;;::::1;::::0;;8637:21:::1;::::0;8608:26:::1;::::0;8693:16;8707:1;8693:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8693:16:0::1;8669:40;;8738:4;8720;8725:1;8720:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;8720:23:0::1;;;-1:-1:-1::0;;;;;8720:23:0::1;;;::::0;::::1;-1:-1:-1::0;;;;;8754:4:0::1;8759:1;8754:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8754:13:0;;::::1;:7;::::0;;::::1;::::0;;;;;;;:13;8778:195:::1;::::0;-1:-1:-1;;;8778:195:0;;2835:42:::1;::::0;8778:65:::1;::::0;:195:::1;::::0;8858:11;;8884:1:::1;::::0;8900:4;;8927::::1;::::0;8947:15:::1;::::0;8778:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9029:18;9005:21;:42;;;;:::i;:::-;8984:63:::0;-1:-1:-1;9061:22:0;;9058:85:::1;;9100:31;9112:18;9100:11;:31::i;:::-;-1:-1:-1::0;;3539:6:0;:14;;-1:-1:-1;;;;3539:14:0;;;-1:-1:-1;8287:864:0:o;8022:257::-;8087:4;8130:15;;8149:1;8130:20;:62;;8177:15;;8157:35;;2616:15;8157:35;:::i;:::-;8130:62;;;8153:1;8130:62;8111:14;:82;;:126;;;;;8221:16;;8212:5;;8210:7;;;;;:::i;:::-;;;;;-1:-1:-1;8210:27:0;;8111:126;:160;;;;-1:-1:-1;8252:12:0;8241:24;;;;:10;:24;;;;;:26;;8270:1;;8241:26;;:24;:26;;;:::i;:::-;;;;;:30;8104:167;8022:257;-1:-1:-1;;8022:257:0:o;7814:200::-;7900:7;8003:3;7945:11;-1:-1:-1;;;;;7937:19:0;:4;-1:-1:-1;;;;;7937:19:0;;:62;;7974:11;-1:-1:-1;;;;;7968:17:0;:2;-1:-1:-1;;;;;7968:17:0;;:31;;7998:1;7937:62;;7968:31;7988:7;;7937:62;;;7959:6;;7937:62;7927:73;;:6;:73;:::i;:::-;:79;;;;:::i;:::-;7920:86;7814:200;-1:-1:-1;;;;7814:200:0:o;9159:218::-;9231:7;2616:15;9273;;:35;;;;:::i;:::-;9258:11;:51;:111;;2616:15;9258:111;;;2616:15;9313;;:35;;;;:::i;9385:96::-;9441:15;;:32;;-1:-1:-1;;;;;9441:15:0;;;;:32;;;;;9466:6;;9441:15;:32;:15;:32;9466:6;9441:15;:32;;;;;;;;;;;;;;;;;;;14:131:1;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:388::-;218:6;226;279:2;267:9;258:7;254:23;250:32;247:52;;;295:1;292;285:12;247:52;334:9;321:23;353:31;378:5;353:31;:::i;:::-;403:5;-1:-1:-1;460:2:1;445:18;;432:32;473:33;432:32;473:33;:::i;:::-;525:7;515:17;;;150:388;;;;;:::o;543:548::-;655:4;684:2;713;702:9;695:21;745:6;739:13;788:6;783:2;772:9;768:18;761:34;813:1;823:140;837:6;834:1;831:13;823:140;;;932:14;;;928:23;;922:30;898:17;;;917:2;894:26;887:66;852:10;;823:140;;;827:3;1012:1;1007:2;998:6;987:9;983:22;979:31;972:42;1082:2;1075;1071:7;1066:2;1058:6;1054:15;1050:29;1039:9;1035:45;1031:54;1023:62;;;;543:548;;;;:::o;1096:315::-;1164:6;1172;1225:2;1213:9;1204:7;1200:23;1196:32;1193:52;;;1241:1;1238;1231:12;1193:52;1280:9;1267:23;1299:31;1324:5;1299:31;:::i;:::-;1349:5;1401:2;1386:18;;;;1373:32;;-1:-1:-1;;;1096:315:1:o;1608:248::-;1676:6;1684;1737:2;1725:9;1716:7;1712:23;1708:32;1705:52;;;1753:1;1750;1743:12;1705:52;-1:-1:-1;;1776:23:1;;;1846:2;1831:18;;;1818:32;;-1:-1:-1;1608:248:1:o;2043:456::-;2120:6;2128;2136;2189:2;2177:9;2168:7;2164:23;2160:32;2157:52;;;2205:1;2202;2195:12;2157:52;2244:9;2231:23;2263:31;2288:5;2263:31;:::i;:::-;2313:5;-1:-1:-1;2370:2:1;2355:18;;2342:32;2383:33;2342:32;2383:33;:::i;:::-;2043:456;;2435:7;;-1:-1:-1;;;2489:2:1;2474:18;;;;2461:32;;2043:456::o;2693:180::-;2752:6;2805:2;2793:9;2784:7;2780:23;2776:32;2773:52;;;2821:1;2818;2811:12;2773:52;-1:-1:-1;2844:23:1;;2693:180;-1:-1:-1;2693:180:1:o;2878:255::-;2945:6;2998:2;2986:9;2977:7;2973:23;2969:32;2966:52;;;3014:1;3011;3004:12;2966:52;3053:9;3040:23;3072:31;3097:5;3072:31;:::i;:::-;3122:5;2878:255;-1:-1:-1;;;2878:255:1:o;3822:316::-;3899:6;3907;3915;3968:2;3956:9;3947:7;3943:23;3939:32;3936:52;;;3984:1;3981;3974:12;3936:52;-1:-1:-1;;4007:23:1;;;4077:2;4062:18;;4049:32;;-1:-1:-1;4128:2:1;4113:18;;;4100:32;;3822:316;-1:-1:-1;3822:316:1:o;4143:184::-;4213:6;4266:2;4254:9;4245:7;4241:23;4237:32;4234:52;;;4282:1;4279;4272:12;4234:52;-1:-1:-1;4305:16:1;;4143:184;-1:-1:-1;4143:184:1:o;4611:277::-;4678:6;4731:2;4719:9;4710:7;4706:23;4702:32;4699:52;;;4747:1;4744;4737:12;4699:52;4779:9;4773:16;4832:5;4825:13;4818:21;4811:5;4808:32;4798:60;;4854:1;4851;4844:12;4893:356;5095:2;5077:21;;;5114:18;;;5107:30;5173:34;5168:2;5153:18;;5146:62;5240:2;5225:18;;4893:356::o;5663:127::-;5724:10;5719:3;5715:20;5712:1;5705:31;5755:4;5752:1;5745:15;5779:4;5776:1;5769:15;5795:128;5862:9;;;5883:11;;;5880:37;;;5897:18;;:::i;6284:168::-;6357:9;;;6388;;6405:15;;;6399:22;;6385:37;6375:71;;6426:18;;:::i;6457:217::-;6497:1;6523;6513:132;;6567:10;6562:3;6558:20;6555:1;6548:31;6602:4;6599:1;6592:15;6630:4;6627:1;6620:15;6513:132;-1:-1:-1;6659:9:1;;6457:217::o;9074:125::-;9139:9;;;9160:10;;;9157:36;;;9173:18;;:::i;10102:127::-;10163:10;10158:3;10154:20;10151:1;10144:31;10194:4;10191:1;10184:15;10218:4;10215:1;10208:15;10234:980;10496:4;10544:3;10533:9;10529:19;10575:6;10564:9;10557:25;10601:2;10639:6;10634:2;10623:9;10619:18;10612:34;10682:3;10677:2;10666:9;10662:18;10655:31;10706:6;10741;10735:13;10772:6;10764;10757:22;10810:3;10799:9;10795:19;10788:26;;10849:2;10841:6;10837:15;10823:29;;10870:1;10880:195;10894:6;10891:1;10888:13;10880:195;;;10959:13;;-1:-1:-1;;;;;10955:39:1;10943:52;;11050:15;;;;11015:12;;;;10991:1;10909:9;10880:195;;;-1:-1:-1;;;;;;;11131:32:1;;;;11126:2;11111:18;;11104:60;-1:-1:-1;;;11195:3:1;11180:19;11173:35;11092:3;10234:980;-1:-1:-1;;;10234:980:1:o;11219:135::-;11258:3;11279:17;;;11276:43;;11299:18;;:::i;:::-;-1:-1:-1;11346:1:1;11335:13;;11219:135::o

Swarm Source

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