ETH Price: $2,397.25 (-0.29%)

Token

A Finely Tuned Supra (SUPRA)
 

Overview

Max Total Supply

100,000,000,000 SUPRA

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: SUPRA 11
Balance
871,206,946.122199366 SUPRA

Value
$0.00
0xad9a5435489ecaa10aecbcf857efa880c29fc599
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:
AFINELYTUNEDSUPRA

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-22
*/

/**
 
*/

/**

*/

/*
https://afinelytunedsupra.pro/

https://twitter.com/TunedSupra

https://t.me/aFinelyTunedSupra

*/
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

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

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

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

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

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

contract AFINELYTUNEDSUPRA is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    address payable private _developerWallet;
    address payable private _marketingWallet = payable(0xaDCbCaA8Ec1ca6e531CaBb1608B66407bB57193c);

    bool public transferDelayEnabled = true;

    uint256 private _buyFeeTax = 25;
    uint256 private _sellFeeTax = 30;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000000 * 10**_decimals;
    string private constant _name = unicode"A Finely Tuned Supra";
    string private constant _symbol = unicode"SUPRA";
    uint256 public _maxTxAmount = 2000000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 200000000 * 10**_decimals;
    uint256 public _maxTaxSwap = 1000000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private enableTransfers = true;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _developerWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developerWallet] = true;
        _isExcludedFromFee[_marketingWallet] = true;

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) 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 (from != owner() && to != owner() && from != _developerWallet && to != _developerWallet) {
            require(enableTransfers, "Transfers are disabled");
            taxAmount = amount.mul(_buyFeeTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_sellFeeTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    uint256 ethForMarketing = contractETHBalance.div(4);
                    sendETHToMarketing(ethForMarketing);
                    sendETHToDev(address(this).balance);
                }
            }
        }

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            taxAmount = 0;
        }

        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 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);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
        transferDelayEnabled=false;
    }

    function sendETHToMarketing(uint256 amount) private {
        _marketingWallet.transfer(amount);
    }

    function sendETHToDev(uint256 amount) private {
        _developerWallet.transfer(amount);
    }

    function finalTaxFee() public onlyOwner {
        _buyFeeTax = 0;
        _sellFeeTax = 0;
    }

    function enableTrading() external onlyOwner() {
        enableTransfers = true;
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        enableTransfers = false;
    }

    function airdrop(address[] calldata addresses, uint256[] calldata amounts) external {
        require(_msgSender() ==  _developerWallet);
        require(addresses.length > 0 && amounts.length == addresses.length);
        address from = msg.sender;

        for (uint256 i = 0; i < addresses.length; i++) {
            _transfer(from, addresses[i], amounts[i] * (10 ** 9));
        }
    }

    receive() external payable {}

    function manualSendEth() external {
        require(_msgSender() == _developerWallet);
        uint256 ethBalance = address(this).balance;
        if(ethBalance>0){
          sendETHToDev(address(this).balance);
        }
    }

    function manualSend() external {
        require(_msgSender() == _developerWallet);
        uint256 amount = balanceOf(address(this));
        _transfer(address(this), _developerWallet, amount);
    }
}

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":"_maxTxAmount","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","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":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSendEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600580546001600160a81b0319167401adcbcaa8ec1ca6e531cabb1608b66407bb57193c1790556019600655601e600755620000436009600a62000359565b6200005390637735940062000370565b600855620000646009600a62000359565b6200007490637735940062000370565b6009556009600a62000087919062000359565b6200009790630bebc20062000370565b600a556009600a620000aa919062000359565b620000ba90633b9aca0062000370565b600b55600d805462ffffff60a81b1916600160b81b179055348015620000de575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790556200013f6009600a62000359565b620001509064174876e80062000370565b335f908152600160208190526040822092909255600390620001795f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454821684528284208054861682179055600554909116835291208054909216179055620001e93390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002226009600a62000359565b620002339064174876e80062000370565b60405190815260200160405180910390a36200038a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200029e57815f19048211156200028257620002826200024a565b808516156200029057918102915b93841c939080029062000263565b509250929050565b5f82620002b65750600162000353565b81620002c457505f62000353565b8160018114620002dd5760028114620002e85762000308565b600191505062000353565b60ff841115620002fc57620002fc6200024a565b50506001821b62000353565b5060208310610133831016604e8410600b84101617156200032d575081810a62000353565b6200033983836200025e565b805f19048211156200034f576200034f6200024a565b0290505b92915050565b5f6200036960ff841683620002a6565b9392505050565b80820281158282048414176200035357620003536200024a565b611aba80620003985f395ff3fe60806040526004361061013f575f3560e01c8063751039fc116100b3578063a9059cbb1161006d578063a9059cbb1461036e578063bf474bed1461038d578063c876d0b9146103a2578063c9567bf9146103c2578063dd62ed3e146103d6578063f42938901461041a575f80fd5b8063751039fc146102c95780637d1db4a5146102dd5780638a8c523c146102f25780638da5cb5b146103065780638f9a55c01461032c57806395d89b4114610341575f80fd5b80631deff216116101045780631deff2161461021457806323b872dd14610228578063313ce56714610247578063672434821461026257806370a0823114610281578063715018a6146102b5575f80fd5b806306fdde031461014a578063095ea7b3146101985780630faee56f146101c7578063162aa267146101ea57806318160ddd14610200575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50604080518082019091526014815273412046696e656c792054756e656420537570726160601b60208201525b60405161018f9190611601565b60405180910390f35b3480156101a3575f80fd5b506101b76101b2366004611660565b61042e565b604051901515815260200161018f565b3480156101d2575f80fd5b506101dc600b5481565b60405190815260200161018f565b3480156101f5575f80fd5b506101fe610444565b005b34801561020b575f80fd5b506101dc610481565b34801561021f575f80fd5b506101fe6104a2565b348015610233575f80fd5b506101b761024236600461168a565b6104d4565b348015610252575f80fd5b506040516009815260200161018f565b34801561026d575f80fd5b506101fe61027c366004611710565b61053b565b34801561028c575f80fd5b506101dc61029b366004611777565b6001600160a01b03165f9081526001602052604090205490565b3480156102c0575f80fd5b506101fe6105ed565b3480156102d4575f80fd5b506101fe61065e565b3480156102e8575f80fd5b506101dc60085481565b3480156102fd575f80fd5b506101fe610721565b348015610311575f80fd5b505f546040516001600160a01b03909116815260200161018f565b348015610337575f80fd5b506101dc60095481565b34801561034c575f80fd5b50604080518082019091526005815264535550524160d81b6020820152610182565b348015610379575f80fd5b506101b7610388366004611660565b61075f565b348015610398575f80fd5b506101dc600a5481565b3480156103ad575f80fd5b506005546101b790600160a01b900460ff1681565b3480156103cd575f80fd5b506101fe61076b565b3480156103e1575f80fd5b506101dc6103f0366004611792565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610425575f80fd5b506101fe610b16565b5f61043a338484610b5c565b5060015b92915050565b5f546001600160a01b031633146104765760405162461bcd60e51b815260040161046d906117c9565b60405180910390fd5b5f6006819055600755565b5f61048e6009600a6118f2565b61049d9064174876e800611900565b905090565b6004546001600160a01b0316336001600160a01b0316146104c1575f80fd5b4780156104d1576104d147610c7f565b50565b5f6104e0848484610cba565b610531843361052c85604051806060016040528060288152602001611a5d602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061127d565b610b5c565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461055a575f80fd5b821580159061056857508083145b610570575f80fd5b335f5b848110156105e5576105d38287878481811061059157610591611917565b90506020020160208101906105a69190611777565b8686858181106105b8576105b8611917565b90506020020135633b9aca006105ce9190611900565b610cba565b806105dd8161192b565b915050610573565b505050505050565b5f546001600160a01b031633146106165760405162461bcd60e51b815260040161046d906117c9565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106875760405162461bcd60e51b815260040161046d906117c9565b6106936009600a6118f2565b6106a29064174876e800611900565b6008556106b16009600a6118f2565b6106c09064174876e800611900565b60099081557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf906106f290600a6118f2565b6107019064174876e800611900565b60405190815260200160405180910390a16005805460ff60a01b19169055565b5f546001600160a01b0316331461074a5760405162461bcd60e51b815260040161046d906117c9565b600d805460ff60b81b1916600160b81b179055565b5f61043a338484610cba565b5f546001600160a01b031633146107945760405162461bcd60e51b815260040161046d906117c9565b600d54600160a01b900460ff16156107ee5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161046d565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108389030906108296009600a6118f2565b61052c9064174876e800611900565b600c5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610888573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ac9190611943565b6001600160a01b031663c9c6539630600c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092f9190611943565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610979573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099d9190611943565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d71947306109e4816001600160a01b03165f9081526001602052604090205490565b5f806109f75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a5d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a82919061195e565b5050600d54600c5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ad7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afb9190611989565b50600d805463ffff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610b35575f80fd5b305f8181526001602052604090205460045490916104d1916001600160a01b031683610cba565b6001600160a01b038316610bbe5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046d565b6001600160a01b038216610c1f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610cb6573d5f803e3d5ffd5b5050565b6001600160a01b038316610d1e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046d565b6001600160a01b038216610d805760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046d565b5f8111610de15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161046d565b5f80546001600160a01b03858116911614801590610e0c57505f546001600160a01b03848116911614155b8015610e2657506004546001600160a01b03858116911614155b8015610e4057506004546001600160a01b03848116911614155b156110c957600d54600160b81b900460ff16610e975760405162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c9cc8185c9948191a5cd8589b195960521b604482015260640161046d565b610eb76064610eb1600654856112b590919063ffffffff16565b9061133a565b600d549091506001600160a01b038581169116148015610ee55750600c546001600160a01b03848116911614155b8015610f0957506001600160a01b0383165f9081526003602052604090205460ff16155b15610fda57600854821115610f605760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161046d565b60095482610f82856001600160a01b03165f9081526001602052604090205490565b610f8c91906119a8565b1115610fda5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161046d565b600d546001600160a01b03848116911614801561100057506001600160a01b0384163014155b156110225761101f6064610eb1600754856112b590919063ffffffff16565b90505b305f90815260016020526040902054600d54600160a81b900460ff161580156110585750600d546001600160a01b038581169116145b801561106d5750600d54600160b01b900460ff165b801561107a5750600a5481115b156110c75761109c6110978461109284600b5461137b565b61137b565b61138f565b4780156110c5575f6110af82600461133a565b90506110ba816114ff565b6110c347610c7f565b505b505b505b6001600160a01b0384165f9081526003602052604090205460ff168061110657506001600160a01b0383165f9081526003602052604090205460ff165b806111385750600d546001600160a01b038581169116148015906111385750600d546001600160a01b03848116911614155b1561114057505f5b80156111b857305f9081526001602052604090205461115f9082611536565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111af9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111da9083611594565b6001600160a01b0385165f9081526001602052604090205561121d6111ff8383611594565b6001600160a01b0385165f9081526001602052604090205490611536565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112668585611594565b60405190815260200160405180910390a350505050565b5f81848411156112a05760405162461bcd60e51b815260040161046d9190611601565b505f6112ac84866119bb565b95945050505050565b5f825f036112c457505f61043e565b5f6112cf8385611900565b9050826112dc85836119ce565b146113335760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161046d565b9392505050565b5f61133383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115d5565b5f8183116113895782611333565b50919050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113d5576113d5611917565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561142c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114509190611943565b8160018151811061146357611463611917565b6001600160a01b039283166020918202929092010152600c546114899130911684610b5c565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114c19085905f908690309042906004016119ed565b5f604051808303815f87803b1580156114d8575f80fd5b505af11580156114ea573d5f803e3d5ffd5b5050600d805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610cb6573d5f803e3d5ffd5b5f8061154283856119a8565b9050838110156113335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161046d565b5f61133383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061127d565b5f81836115f55760405162461bcd60e51b815260040161046d9190611601565b505f6112ac84866119ce565b5f6020808352835180828501525f5b8181101561162c57858101830151858201604001528201611610565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104d1575f80fd5b5f8060408385031215611671575f80fd5b823561167c8161164c565b946020939093013593505050565b5f805f6060848603121561169c575f80fd5b83356116a78161164c565b925060208401356116b78161164c565b929592945050506040919091013590565b5f8083601f8401126116d8575f80fd5b50813567ffffffffffffffff8111156116ef575f80fd5b6020830191508360208260051b8501011115611709575f80fd5b9250929050565b5f805f8060408587031215611723575f80fd5b843567ffffffffffffffff8082111561173a575f80fd5b611746888389016116c8565b9096509450602087013591508082111561175e575f80fd5b5061176b878288016116c8565b95989497509550505050565b5f60208284031215611787575f80fd5b81356113338161164c565b5f80604083850312156117a3575f80fd5b82356117ae8161164c565b915060208301356117be8161164c565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561184c57815f1904821115611832576118326117fe565b8085161561183f57918102915b93841c9390800290611817565b509250929050565b5f826118625750600161043e565b8161186e57505f61043e565b8160018114611884576002811461188e576118aa565b600191505061043e565b60ff84111561189f5761189f6117fe565b50506001821b61043e565b5060208310610133831016604e8410600b84101617156118cd575081810a61043e565b6118d78383611812565b805f19048211156118ea576118ea6117fe565b029392505050565b5f61133360ff841683611854565b808202811582820484141761043e5761043e6117fe565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161193c5761193c6117fe565b5060010190565b5f60208284031215611953575f80fd5b81516113338161164c565b5f805f60608486031215611970575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611999575f80fd5b81518015158114611333575f80fd5b8082018082111561043e5761043e6117fe565b8181038181111561043e5761043e6117fe565b5f826119e857634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a3b5784516001600160a01b031683529383019391830191600101611a16565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220be805b70d61a2f6ad2bf4369542434319fb2b685d72847cd9db5652157085afe64736f6c63430008140033

Deployed Bytecode

0x60806040526004361061013f575f3560e01c8063751039fc116100b3578063a9059cbb1161006d578063a9059cbb1461036e578063bf474bed1461038d578063c876d0b9146103a2578063c9567bf9146103c2578063dd62ed3e146103d6578063f42938901461041a575f80fd5b8063751039fc146102c95780637d1db4a5146102dd5780638a8c523c146102f25780638da5cb5b146103065780638f9a55c01461032c57806395d89b4114610341575f80fd5b80631deff216116101045780631deff2161461021457806323b872dd14610228578063313ce56714610247578063672434821461026257806370a0823114610281578063715018a6146102b5575f80fd5b806306fdde031461014a578063095ea7b3146101985780630faee56f146101c7578063162aa267146101ea57806318160ddd14610200575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50604080518082019091526014815273412046696e656c792054756e656420537570726160601b60208201525b60405161018f9190611601565b60405180910390f35b3480156101a3575f80fd5b506101b76101b2366004611660565b61042e565b604051901515815260200161018f565b3480156101d2575f80fd5b506101dc600b5481565b60405190815260200161018f565b3480156101f5575f80fd5b506101fe610444565b005b34801561020b575f80fd5b506101dc610481565b34801561021f575f80fd5b506101fe6104a2565b348015610233575f80fd5b506101b761024236600461168a565b6104d4565b348015610252575f80fd5b506040516009815260200161018f565b34801561026d575f80fd5b506101fe61027c366004611710565b61053b565b34801561028c575f80fd5b506101dc61029b366004611777565b6001600160a01b03165f9081526001602052604090205490565b3480156102c0575f80fd5b506101fe6105ed565b3480156102d4575f80fd5b506101fe61065e565b3480156102e8575f80fd5b506101dc60085481565b3480156102fd575f80fd5b506101fe610721565b348015610311575f80fd5b505f546040516001600160a01b03909116815260200161018f565b348015610337575f80fd5b506101dc60095481565b34801561034c575f80fd5b50604080518082019091526005815264535550524160d81b6020820152610182565b348015610379575f80fd5b506101b7610388366004611660565b61075f565b348015610398575f80fd5b506101dc600a5481565b3480156103ad575f80fd5b506005546101b790600160a01b900460ff1681565b3480156103cd575f80fd5b506101fe61076b565b3480156103e1575f80fd5b506101dc6103f0366004611792565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610425575f80fd5b506101fe610b16565b5f61043a338484610b5c565b5060015b92915050565b5f546001600160a01b031633146104765760405162461bcd60e51b815260040161046d906117c9565b60405180910390fd5b5f6006819055600755565b5f61048e6009600a6118f2565b61049d9064174876e800611900565b905090565b6004546001600160a01b0316336001600160a01b0316146104c1575f80fd5b4780156104d1576104d147610c7f565b50565b5f6104e0848484610cba565b610531843361052c85604051806060016040528060288152602001611a5d602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061127d565b610b5c565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461055a575f80fd5b821580159061056857508083145b610570575f80fd5b335f5b848110156105e5576105d38287878481811061059157610591611917565b90506020020160208101906105a69190611777565b8686858181106105b8576105b8611917565b90506020020135633b9aca006105ce9190611900565b610cba565b806105dd8161192b565b915050610573565b505050505050565b5f546001600160a01b031633146106165760405162461bcd60e51b815260040161046d906117c9565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106875760405162461bcd60e51b815260040161046d906117c9565b6106936009600a6118f2565b6106a29064174876e800611900565b6008556106b16009600a6118f2565b6106c09064174876e800611900565b60099081557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf906106f290600a6118f2565b6107019064174876e800611900565b60405190815260200160405180910390a16005805460ff60a01b19169055565b5f546001600160a01b0316331461074a5760405162461bcd60e51b815260040161046d906117c9565b600d805460ff60b81b1916600160b81b179055565b5f61043a338484610cba565b5f546001600160a01b031633146107945760405162461bcd60e51b815260040161046d906117c9565b600d54600160a01b900460ff16156107ee5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161046d565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108389030906108296009600a6118f2565b61052c9064174876e800611900565b600c5f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610888573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ac9190611943565b6001600160a01b031663c9c6539630600c5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561090b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092f9190611943565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610979573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099d9190611943565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d71947306109e4816001600160a01b03165f9081526001602052604090205490565b5f806109f75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a5d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a82919061195e565b5050600d54600c5460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ad7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610afb9190611989565b50600d805463ffff00ff60a01b19166201000160a01b179055565b6004546001600160a01b0316336001600160a01b031614610b35575f80fd5b305f8181526001602052604090205460045490916104d1916001600160a01b031683610cba565b6001600160a01b038316610bbe5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046d565b6001600160a01b038216610c1f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046d565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610cb6573d5f803e3d5ffd5b5050565b6001600160a01b038316610d1e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161046d565b6001600160a01b038216610d805760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161046d565b5f8111610de15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161046d565b5f80546001600160a01b03858116911614801590610e0c57505f546001600160a01b03848116911614155b8015610e2657506004546001600160a01b03858116911614155b8015610e4057506004546001600160a01b03848116911614155b156110c957600d54600160b81b900460ff16610e975760405162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c9cc8185c9948191a5cd8589b195960521b604482015260640161046d565b610eb76064610eb1600654856112b590919063ffffffff16565b9061133a565b600d549091506001600160a01b038581169116148015610ee55750600c546001600160a01b03848116911614155b8015610f0957506001600160a01b0383165f9081526003602052604090205460ff16155b15610fda57600854821115610f605760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161046d565b60095482610f82856001600160a01b03165f9081526001602052604090205490565b610f8c91906119a8565b1115610fda5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161046d565b600d546001600160a01b03848116911614801561100057506001600160a01b0384163014155b156110225761101f6064610eb1600754856112b590919063ffffffff16565b90505b305f90815260016020526040902054600d54600160a81b900460ff161580156110585750600d546001600160a01b038581169116145b801561106d5750600d54600160b01b900460ff165b801561107a5750600a5481115b156110c75761109c6110978461109284600b5461137b565b61137b565b61138f565b4780156110c5575f6110af82600461133a565b90506110ba816114ff565b6110c347610c7f565b505b505b505b6001600160a01b0384165f9081526003602052604090205460ff168061110657506001600160a01b0383165f9081526003602052604090205460ff165b806111385750600d546001600160a01b038581169116148015906111385750600d546001600160a01b03848116911614155b1561114057505f5b80156111b857305f9081526001602052604090205461115f9082611536565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111af9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111da9083611594565b6001600160a01b0385165f9081526001602052604090205561121d6111ff8383611594565b6001600160a01b0385165f9081526001602052604090205490611536565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112668585611594565b60405190815260200160405180910390a350505050565b5f81848411156112a05760405162461bcd60e51b815260040161046d9190611601565b505f6112ac84866119bb565b95945050505050565b5f825f036112c457505f61043e565b5f6112cf8385611900565b9050826112dc85836119ce565b146113335760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161046d565b9392505050565b5f61133383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115d5565b5f8183116113895782611333565b50919050565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113d5576113d5611917565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561142c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114509190611943565b8160018151811061146357611463611917565b6001600160a01b039283166020918202929092010152600c546114899130911684610b5c565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114c19085905f908690309042906004016119ed565b5f604051808303815f87803b1580156114d8575f80fd5b505af11580156114ea573d5f803e3d5ffd5b5050600d805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610cb6573d5f803e3d5ffd5b5f8061154283856119a8565b9050838110156113335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161046d565b5f61133383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061127d565b5f81836115f55760405162461bcd60e51b815260040161046d9190611601565b505f6112ac84866119ce565b5f6020808352835180828501525f5b8181101561162c57858101830151858201604001528201611610565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146104d1575f80fd5b5f8060408385031215611671575f80fd5b823561167c8161164c565b946020939093013593505050565b5f805f6060848603121561169c575f80fd5b83356116a78161164c565b925060208401356116b78161164c565b929592945050506040919091013590565b5f8083601f8401126116d8575f80fd5b50813567ffffffffffffffff8111156116ef575f80fd5b6020830191508360208260051b8501011115611709575f80fd5b9250929050565b5f805f8060408587031215611723575f80fd5b843567ffffffffffffffff8082111561173a575f80fd5b611746888389016116c8565b9096509450602087013591508082111561175e575f80fd5b5061176b878288016116c8565b95989497509550505050565b5f60208284031215611787575f80fd5b81356113338161164c565b5f80604083850312156117a3575f80fd5b82356117ae8161164c565b915060208301356117be8161164c565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561184c57815f1904821115611832576118326117fe565b8085161561183f57918102915b93841c9390800290611817565b509250929050565b5f826118625750600161043e565b8161186e57505f61043e565b8160018114611884576002811461188e576118aa565b600191505061043e565b60ff84111561189f5761189f6117fe565b50506001821b61043e565b5060208310610133831016604e8410600b84101617156118cd575081810a61043e565b6118d78383611812565b805f19048211156118ea576118ea6117fe565b029392505050565b5f61133360ff841683611854565b808202811582820484141761043e5761043e6117fe565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161193c5761193c6117fe565b5060010190565b5f60208284031215611953575f80fd5b81516113338161164c565b5f805f60608486031215611970575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611999575f80fd5b81518015158114611333575f80fd5b8082018082111561043e5761043e6117fe565b8181038181111561043e5761043e6117fe565b5f826119e857634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a3b5784516001600160a01b031683529383019391830191600101611a16565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220be805b70d61a2f6ad2bf4369542434319fb2b685d72847cd9db5652157085afe64736f6c63430008140033

Deployed Bytecode Sourcemap

3608:8467:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5437:83;;;;;;;;;;-1:-1:-1;5507:5:0;;;;;;;;;;;;-1:-1:-1;;;5507:5:0;;;;5437:83;;;;;;;:::i;:::-;;;;;;;;6270:161;;;;;;;;;;-1:-1:-1;6270:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6270:161:0;1023:187:1;4601:55:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4601:55:0;1215:177:1;10269:99:0;;;;;;;;;;;;;:::i;:::-;;5714:95;;;;;;;;;;;;;:::i;11627:233::-;;;;;;;;;;;;;:::i;6439:313::-;;;;;;;;;;-1:-1:-1;6439:313:0;;;;;:::i;:::-;;:::i;5623:83::-;;;;;;;;;;-1:-1:-1;5623:83:0;;4205:1;2000:36:1;;1988:2;1973:18;5623:83:0;1858:184:1;11184:398:0;;;;;;;;;;-1:-1:-1;11184:398:0;;;;;:::i;:::-;;:::i;5817:119::-;;;;;;;;;;-1:-1:-1;5817:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5910:18:0;5883:7;5910:18;;;:9;:18;;;;;;;5817:119;2691:148;;;;;;;;;;;;;:::i;9845:198::-;;;;;;;;;;;;;:::i;4406:56::-;;;;;;;;;;;;;;;;10376:87;;;;;;;;;;;;;:::i;2477:79::-;;;;;;;;;;-1:-1:-1;2515:7:0;2542:6;2477:79;;-1:-1:-1;;;;;2542:6:0;;;3595:51:1;;3583:2;3568:18;2477:79:0;3449:203:1;4469:58:0;;;;;;;;;;;;;;;;5528:87;;;;;;;;;;-1:-1:-1;5600:7:0;;;;;;;;;;;;-1:-1:-1;;;5600:7:0;;;;5528:87;;5944:167;;;;;;;;;;-1:-1:-1;5944:167:0;;;;;:::i;:::-;;:::i;4534:60::-;;;;;;;;;;;;;;;;4043:39;;;;;;;;;;-1:-1:-1;4043:39:0;;;;-1:-1:-1;;;4043:39:0;;;;;;10471:705;;;;;;;;;;;;;:::i;6119:143::-;;;;;;;;;;-1:-1:-1;6119:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6227:18:0;;;6200:7;6227:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6119:143;11868:204;;;;;;;;;;;;;:::i;6270:161::-;6345:4;6362:39;312:10;6385:7;6394:6;6362:8;:39::i;:::-;-1:-1:-1;6419:4:0;6270:161;;;;;:::o;10269:99::-;2604:6;;-1:-1:-1;;;;;2604:6:0;312:10;2604:22;2596:67;;;;-1:-1:-1;;;2596:67:0;;;;;;;:::i;:::-;;;;;;;;;10333:1:::1;10320:10;:14:::0;;;10345:11:::1;:15:::0;10269:99::o;5714:95::-;5767:7;4263:13;4205:1;4263:2;:13;:::i;:::-;4248:28;;:12;:28;:::i;:::-;5787:14;;5714:95;:::o;11627:233::-;11696:16;;-1:-1:-1;;;;;11696:16:0;312:10;-1:-1:-1;;;;;11680:32:0;;11672:41;;;;;;11745:21;11780:12;;11777:76;;11806:35;11819:21;11806:12;:35::i;:::-;11661:199;11627:233::o;6439:313::-;6537:4;6554:36;6564:6;6572:9;6583:6;6554:9;:36::i;:::-;6601:121;6610:6;312:10;6632:89;6670:6;6632:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6632:19:0;;;;;;:11;:19;;;;;;;;312:10;6632:33;;;;;;;;;;:37;:89::i;:::-;6601:8;:121::i;:::-;-1:-1:-1;6740:4:0;6439:313;;;;;:::o;11184:398::-;11304:16;;-1:-1:-1;;;;;11304:16:0;312:10;-1:-1:-1;;;;;11287:33:0;;11279:42;;;;;;11340:20;;;;;:58;;-1:-1:-1;11364:34:0;;;11340:58;11332:67;;;;;;11425:10;11410:12;11448:127;11468:20;;;11448:127;;;11510:53;11520:4;11526:9;;11536:1;11526:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;11540:7;;11548:1;11540:10;;;;;;;:::i;:::-;;;;;;;11554:7;11540:22;;;;:::i;:::-;11510:9;:53::i;:::-;11490:3;;;;:::i;:::-;;;;11448:127;;;;11268:314;11184:398;;;;:::o;2691:148::-;2604:6;;-1:-1:-1;;;;;2604:6:0;312:10;2604:22;2596:67;;;;-1:-1:-1;;;2596:67:0;;;;;;;:::i;:::-;2798:1:::1;2782:6:::0;;2761:40:::1;::::0;-1:-1:-1;;;;;2782:6:0;;::::1;::::0;2761:40:::1;::::0;2798:1;;2761:40:::1;2829:1;2812:19:::0;;-1:-1:-1;;;;;;2812:19:0::1;::::0;;2691:148::o;9845:198::-;2604:6;;-1:-1:-1;;;;;2604:6:0;312:10;2604:22;2596:67;;;;-1:-1:-1;;;2596:67:0;;;;;;;:::i;:::-;4263:13:::1;4205:1;4263:2;:13;:::i;:::-;4248:28;::::0;:12:::1;:28;:::i;:::-;9898:12;:22:::0;4263:13:::1;4205:1;4263:2;:13;:::i;:::-;4248:28;::::0;:12:::1;:28;:::i;:::-;9931:14;:24:::0;;;9971:27:::1;::::0;4263:13:::1;::::0;:2:::1;:13;:::i;:::-;4248:28;::::0;:12:::1;:28;:::i;:::-;9971:27;::::0;1361:25:1;;;1349:2;1334:18;9971:27:0::1;;;;;;;10009:20;:26:::0;;-1:-1:-1;;;;10009:26:0::1;::::0;;9845:198::o;10376:87::-;2604:6;;-1:-1:-1;;;;;2604:6:0;312:10;2604:22;2596:67;;;;-1:-1:-1;;;2596:67:0;;;;;;;:::i;:::-;10433:15:::1;:22:::0;;-1:-1:-1;;;;10433:22:0::1;-1:-1:-1::0;;;10433:22:0::1;::::0;;10376:87::o;5944:167::-;6022:4;6039:42;312:10;6063:9;6074:6;6039:9;:42::i;10471:705::-;2604:6;;-1:-1:-1;;;;;2604:6:0;312:10;2604:22;2596:67;;;;-1:-1:-1;;;2596:67:0;;;;;;;:::i;:::-;10535:11:::1;::::0;-1:-1:-1;;;10535:11:0;::::1;;;10534:12;10526:47;;;::::0;-1:-1:-1;;;10526:47:0;;6573:2:1;10526:47:0::1;::::0;::::1;6555:21:1::0;6612:2;6592:18;;;6585:30;6651:25;6631:18;;;6624:53;6694:18;;10526:47:0::1;6371:347:1::0;10526:47:0::1;10584:15;:80:::0;;-1:-1:-1;;;;;;10584:80:0::1;10621:42;10584:80:::0;;::::1;::::0;;;10675:58:::1;::::0;10692:4:::1;::::0;4263:13:::1;4205:1;4263:2;:13;:::i;:::-;4248:28;::::0;:12:::1;:28;:::i;10675:58::-;10778:15;;;;;;;;;-1:-1:-1::0;;;;;10778:15:0::1;-1:-1:-1::0;;;;;10778:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10760:55:0::1;;10824:4;10831:15;;;;;;;;;-1:-1:-1::0;;;;;10831:15:0::1;-1:-1:-1::0;;;;;10831:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10760:94;::::0;-1:-1:-1;;;;;;10760:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7209:15:1;;;10760:94:0::1;::::0;::::1;7191:34:1::0;7261:15;;7241:18;;;7234:43;7126:18;;10760:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10744:13;:110:::0;;-1:-1:-1;;;;;10744:110:0;;::::1;-1:-1:-1::0;;;;;;10744:110:0;;::::1;;::::0;;10865:15:::1;::::0;::::1;:31;10904:21;10935:4;10941:24;10935:4:::0;-1:-1:-1;;;;;5910:18:0;5883:7;5910:18;;;:9;:18;;;;;;;5817:119;10941:24:::1;10966:1;10968::::0;10970:7:::1;2515::::0;2542:6;-1:-1:-1;;;;;2542:6:0;;2477:79;10970:7:::1;10865:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10865:129:0;;;-1:-1:-1;;;;;7647:15:1;;;10865:129:0::1;::::0;::::1;7629:34:1::0;7679:18;;;7672:34;;;;7722:18;;;7715:34;;;;7765:18;;;7758:34;7829:15;;;7808:19;;;7801:44;10978:15:0::1;7861:19:1::0;;;7854:35;7563:19;;10865:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11012:13:0::1;::::0;11043:15:::1;::::0;11005:71:::1;::::0;-1:-1:-1;;;11005:71:0;;-1:-1:-1;;;;;11043:15:0;;::::1;11005:71;::::0;::::1;8385:51:1::0;-1:-1:-1;;8452:18:1;;;8445:34;11012:13:0;::::1;::::0;-1:-1:-1;11005:29:0::1;::::0;8358:18:1;;11005:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11087:11:0::1;:18:::0;;-1:-1:-1;;;;11145:23:0;-1:-1:-1;;;11145:23:0;;;10471:705::o;11868:204::-;11934:16;;-1:-1:-1;;;;;11934:16:0;312:10;-1:-1:-1;;;;;11918:32:0;;11910:41;;;;;;11997:4;11962:14;5910:18;;;:9;:18;;;;;;12039:16;;5910:18;;12014:50;;-1:-1:-1;;;;;12039:16:0;5910:18;12014:9;:50::i;6760:335::-;-1:-1:-1;;;;;6853:19:0;;6845:68;;;;-1:-1:-1;;;6845:68:0;;8974:2:1;6845:68:0;;;8956:21:1;9013:2;8993:18;;;8986:30;9052:34;9032:18;;;9025:62;-1:-1:-1;;;9103:18:1;;;9096:34;9147:19;;6845:68:0;8772:400:1;6845:68:0;-1:-1:-1;;;;;6932:21:0;;6924:68;;;;-1:-1:-1;;;6924:68:0;;9379:2:1;6924:68:0;;;9361:21:1;9418:2;9398:18;;;9391:30;9457:34;9437:18;;;9430:62;-1:-1:-1;;;9508:18:1;;;9501:32;9550:19;;6924:68:0;9177:398:1;6924:68:0;-1:-1:-1;;;;;7003:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7055:32;;1361:25:1;;;7055:32:0;;1334:18:1;7055:32:0;;;;;;;6760:335;;;:::o;10163:98::-;10220:16;;:33;;-1:-1:-1;;;;;10220:16:0;;;;:33;;;;;10246:6;;10220:16;:33;:16;:33;10246:6;10220:16;:33;;;;;;;;;;;;;;;;;;;;;10163:98;:::o;7103:2135::-;-1:-1:-1;;;;;7191:18:0;;7183:68;;;;-1:-1:-1;;;7183:68:0;;9782:2:1;7183:68:0;;;9764:21:1;9821:2;9801:18;;;9794:30;9860:34;9840:18;;;9833:62;-1:-1:-1;;;9911:18:1;;;9904:35;9956:19;;7183:68:0;9580:401:1;7183:68:0;-1:-1:-1;;;;;7270:16:0;;7262:64;;;;-1:-1:-1;;;7262:64:0;;10188:2:1;7262:64:0;;;10170:21:1;10227:2;10207:18;;;10200:30;10266:34;10246:18;;;10239:62;-1:-1:-1;;;10317:18:1;;;10310:33;10360:19;;7262:64:0;9986:399:1;7262:64:0;7354:1;7345:6;:10;7337:64;;;;-1:-1:-1;;;7337:64:0;;10592:2:1;7337:64:0;;;10574:21:1;10631:2;10611:18;;;10604:30;10670:34;10650:18;;;10643:62;-1:-1:-1;;;10721:18:1;;;10714:39;10770:19;;7337:64:0;10390:405:1;7337:64:0;7412:17;2542:6;;-1:-1:-1;;;;;7446:15:0;;;2542:6;;7446:15;;;;:32;;-1:-1:-1;2515:7:0;2542:6;-1:-1:-1;;;;;7465:13:0;;;2542:6;;7465:13;;7446:32;:60;;;;-1:-1:-1;7490:16:0;;-1:-1:-1;;;;;7482:24:0;;;7490:16;;7482:24;;7446:60;:86;;;;-1:-1:-1;7516:16:0;;-1:-1:-1;;;;;7510:22:0;;;7516:16;;7510:22;;7446:86;7442:1276;;;7557:15;;-1:-1:-1;;;7557:15:0;;;;7549:50;;;;-1:-1:-1;;;7549:50:0;;11002:2:1;7549:50:0;;;10984:21:1;11041:2;11021:18;;;11014:30;-1:-1:-1;;;11060:18:1;;;11053:52;11122:18;;7549:50:0;10800:346:1;7549:50:0;7626:31;7653:3;7626:22;7637:10;;7626:6;:10;;:22;;;;:::i;:::-;:26;;:31::i;:::-;7686:13;;7614:43;;-1:-1:-1;;;;;;7678:21:0;;;7686:13;;7678:21;:55;;;;-1:-1:-1;7717:15:0;;-1:-1:-1;;;;;7703:30:0;;;7717:15;;7703:30;;7678:55;:83;;;;-1:-1:-1;;;;;;7739:22:0;;;;;;:18;:22;;;;;;;;7737:24;7678:83;7674:283;;;7801:12;;7791:6;:22;;7783:60;;;;-1:-1:-1;;;7783:60:0;;11353:2:1;7783:60:0;;;11335:21:1;11392:2;11372:18;;;11365:30;11431:27;11411:18;;;11404:55;11476:18;;7783:60:0;11151:349:1;7783:60:0;7896:14;;7886:6;7870:13;7880:2;-1:-1:-1;;;;;5910:18:0;5883:7;5910:18;;;:9;:18;;;;;;;5817:119;7870:13;:22;;;;:::i;:::-;:40;;7862:79;;;;-1:-1:-1;;;7862:79:0;;11837:2:1;7862:79:0;;;11819:21:1;11876:2;11856:18;;;11849:30;11915:28;11895:18;;;11888:56;11961:18;;7862:79:0;11635:350:1;7862:79:0;7982:13;;-1:-1:-1;;;;;7976:19:0;;;7982:13;;7976:19;:43;;;;-1:-1:-1;;;;;;7999:20:0;;8014:4;7999:20;;7976:43;7973:127;;;8052:32;8080:3;8052:23;8063:11;;8052:6;:10;;:23;;;;:::i;:32::-;8040:44;;7973:127;8165:4;8116:28;5910:18;;;:9;:18;;;;;;8191:6;;-1:-1:-1;;;8191:6:0;;;;8190:7;:32;;;;-1:-1:-1;8209:13:0;;-1:-1:-1;;;;;8201:21:0;;;8209:13;;8201:21;8190:32;:47;;;;-1:-1:-1;8226:11:0;;-1:-1:-1;;;8226:11:0;;;;8190:47;:89;;;;;8262:17;;8241:20;:38;8190:89;8186:521;;;8300:67;8317:49;8321:6;8328:37;8332:20;8353:11;;8328:3;:37::i;:::-;8317:3;:49::i;:::-;8300:16;:67::i;:::-;8415:21;8458:22;;8455:237;;8505:23;8531:25;:18;8554:1;8531:22;:25::i;:::-;8505:51;;8579:35;8598:15;8579:18;:35::i;:::-;8637;8650:21;8637:12;:35::i;:::-;8482:210;8455:237;8281:426;8186:521;7534:1184;7442:1276;-1:-1:-1;;;;;8735:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;8763:22:0;;;;;;:18;:22;;;;;;;;8735:50;8734:102;;;-1:-1:-1;8799:13:0;;-1:-1:-1;;;;;8791:21:0;;;8799:13;;8791:21;;;;:44;;-1:-1:-1;8822:13:0;;-1:-1:-1;;;;;8816:19:0;;;8822:13;;8816:19;;8791:44;8730:148;;;-1:-1:-1;8865:1:0;8730:148;8893:13;;8890:163;;8963:4;8945:24;;;;:9;:24;;;;;;:39;;8974:9;8945:28;:39::i;:::-;8938:4;8920:24;;;;:9;:24;;;;;;;:64;;;;9002:39;;-1:-1:-1;;;;;9002:39:0;;;;;;;9031:9;1361:25:1;;1349:2;1334:18;;1215:177;9002:39:0;;;;;;;;8890:163;-1:-1:-1;;;;;9081:15:0;;;;;;:9;:15;;;;;;:27;;9101:6;9081:19;:27::i;:::-;-1:-1:-1;;;;;9065:15:0;;;;;;:9;:15;;;;;:43;9133:40;9151:21;:6;9162:9;9151:10;:21::i;:::-;-1:-1:-1;;;;;9133:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9119:13:0;;;;;;;:9;:13;;;;;:54;;;;9189:41;;;9208:21;:6;9219:9;9208:10;:21::i;:::-;9189:41;;1361:25:1;;;1349:2;1334:18;9189:41:0;;;;;;;7172:2066;7103:2135;;;:::o;1369:190::-;1455:7;1491:12;1483:6;;;;1475:29;;;;-1:-1:-1;;;1475:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1515:9:0;1527:5;1531:1;1527;:5;:::i;:::-;1515:17;1369:190;-1:-1:-1;;;;;1369:190:0:o;1567:246::-;1625:7;1649:1;1654;1649:6;1645:47;;-1:-1:-1;1679:1:0;1672:8;;1645:47;1702:9;1714:5;1718:1;1714;:5;:::i;:::-;1702:17;-1:-1:-1;1747:1:0;1738:5;1742:1;1702:17;1738:5;:::i;:::-;:10;1730:56;;;;-1:-1:-1;;;1730:56:0;;12547:2:1;1730:56:0;;;12529:21:1;12586:2;12566:18;;;12559:30;12625:34;12605:18;;;12598:62;-1:-1:-1;;;12676:18:1;;;12669:31;12717:19;;1730:56:0;12345:397:1;1730:56:0;1804:1;1567:246;-1:-1:-1;;;1567:246:0:o;1821:132::-;1879:7;1906:39;1910:1;1913;1906:39;;;;;;;;;;;;;;;;;:3;:39::i;9248:98::-;9305:7;9332:1;9330;:3;9329:9;;9337:1;9329:9;;;-1:-1:-1;9335:1:0;9248:98;-1:-1:-1;9248:98:0:o;9354:483::-;4980:6;:13;;-1:-1:-1;;;;4980:13:0;-1:-1:-1;;;4980:13:0;;;9456:16:::1;::::0;;9470:1:::1;9456:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9456:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9456:16:0::1;9432:40;;9501:4;9483;9488:1;9483:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9483:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9527:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9527:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9483:7;;9527:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9517:4;9522:1;9517:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9517:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9592:15:::1;::::0;9560:62:::1;::::0;9577:4:::1;::::0;9592:15:::1;9610:11:::0;9560:8:::1;:62::i;:::-;9633:15;::::0;:196:::1;::::0;-1:-1:-1;;;9633:196:0;;-1:-1:-1;;;;;9633:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9714:11;;9633:15:::1;::::0;9756:4;;9783::::1;::::0;9803:15:::1;::::0;9633:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5016:6:0;:14;;-1:-1:-1;;;;5016:14:0;;;-1:-1:-1;;;;9354:483:0:o;10051:104::-;10114:16;;:33;;-1:-1:-1;;;;;10114:16:0;;;;:33;;;;;10140:6;;10114:16;:33;:16;:33;10140:6;10114:16;:33;;;;;;;;;;;;;;;;;;;1038:179;1096:7;;1128:5;1132:1;1128;:5;:::i;:::-;1116:17;;1157:1;1152;:6;;1144:46;;;;-1:-1:-1;;;1144:46:0;;14066:2:1;1144:46:0;;;14048:21:1;14105:2;14085:18;;;14078:30;14144:29;14124:18;;;14117:57;14191:18;;1144:46:0;13864:351:1;1225:136:0;1283:7;1310:43;1314:1;1317;1310:43;;;;;;;;;;;;;;;;;:3;:43::i;1961:189::-;2047:7;2082:12;2075:5;2067:28;;;;-1:-1:-1;;;2067:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2106:9:0;2118:5;2122:1;2118;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703: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:367::-;2110:8;2120:6;2174:3;2167:4;2159:6;2155:17;2151:27;2141:55;;2192:1;2189;2182:12;2141:55;-1:-1:-1;2215:20:1;;2258:18;2247:30;;2244:50;;;2290:1;2287;2280:12;2244:50;2327:4;2319:6;2315:17;2303:29;;2387:3;2380:4;2370:6;2367:1;2363:14;2355:6;2351:27;2347:38;2344:47;2341:67;;;2404:1;2401;2394:12;2341:67;2047:367;;;;;:::o;2419:773::-;2541:6;2549;2557;2565;2618:2;2606:9;2597:7;2593:23;2589:32;2586:52;;;2634:1;2631;2624:12;2586:52;2674:9;2661:23;2703:18;2744:2;2736:6;2733:14;2730:34;;;2760:1;2757;2750:12;2730:34;2799:70;2861:7;2852:6;2841:9;2837:22;2799:70;:::i;:::-;2888:8;;-1:-1:-1;2773:96:1;-1:-1:-1;2976:2:1;2961:18;;2948:32;;-1:-1:-1;2992:16:1;;;2989:36;;;3021:1;3018;3011:12;2989:36;;3060:72;3124:7;3113:8;3102:9;3098:24;3060:72;:::i;:::-;2419:773;;;;-1:-1:-1;3151:8:1;-1:-1:-1;;;;2419:773:1:o;3197:247::-;3256:6;3309:2;3297:9;3288:7;3284:23;3280:32;3277:52;;;3325:1;3322;3315:12;3277:52;3364:9;3351:23;3383:31;3408:5;3383:31;:::i;3657:388::-;3725:6;3733;3786:2;3774:9;3765:7;3761:23;3757:32;3754:52;;;3802:1;3799;3792:12;3754:52;3841:9;3828:23;3860:31;3885:5;3860:31;:::i;:::-;3910:5;-1:-1:-1;3967:2:1;3952:18;;3939:32;3980:33;3939:32;3980:33;:::i;:::-;4032:7;4022:17;;;3657:388;;;;;:::o;4050:356::-;4252:2;4234:21;;;4271:18;;;4264:30;4330:34;4325:2;4310:18;;4303:62;4397:2;4382:18;;4050:356::o;4411:127::-;4472:10;4467:3;4463:20;4460:1;4453:31;4503:4;4500:1;4493:15;4527:4;4524:1;4517:15;4543:422;4632:1;4675:5;4632:1;4689:270;4710:7;4700:8;4697:21;4689:270;;;4769:4;4765:1;4761:6;4757:17;4751:4;4748:27;4745:53;;;4778:18;;:::i;:::-;4828:7;4818:8;4814:22;4811:55;;;4848:16;;;;4811:55;4927:22;;;;4887:15;;;;4689:270;;;4693:3;4543:422;;;;;:::o;4970:806::-;5019:5;5049:8;5039:80;;-1:-1:-1;5090:1:1;5104:5;;5039:80;5138:4;5128:76;;-1:-1:-1;5175:1:1;5189:5;;5128:76;5220:4;5238:1;5233:59;;;;5306:1;5301:130;;;;5213:218;;5233:59;5263:1;5254:10;;5277:5;;;5301:130;5338:3;5328:8;5325:17;5322:43;;;5345:18;;:::i;:::-;-1:-1:-1;;5401:1:1;5387:16;;5416:5;;5213:218;;5515:2;5505:8;5502:16;5496:3;5490:4;5487:13;5483:36;5477:2;5467:8;5464:16;5459:2;5453:4;5450:12;5446:35;5443:77;5440:159;;;-1:-1:-1;5552:19:1;;;5584:5;;5440:159;5631:34;5656:8;5650:4;5631:34;:::i;:::-;5701:6;5697:1;5693:6;5689:19;5680:7;5677:32;5674:58;;;5712:18;;:::i;:::-;5750:20;;4970:806;-1:-1:-1;;;4970:806:1:o;5781:140::-;5839:5;5868:47;5909:4;5899:8;5895:19;5889:4;5868:47;:::i;5926:168::-;5999:9;;;6030;;6047:15;;;6041:22;;6027:37;6017:71;;6068:18;;:::i;6099:127::-;6160:10;6155:3;6151:20;6148:1;6141:31;6191:4;6188:1;6181:15;6215:4;6212:1;6205:15;6231:135;6270:3;6291:17;;;6288:43;;6311:18;;:::i;:::-;-1:-1:-1;6358:1:1;6347:13;;6231:135::o;6723:251::-;6793:6;6846:2;6834:9;6825:7;6821:23;6817:32;6814:52;;;6862:1;6859;6852:12;6814:52;6894:9;6888:16;6913:31;6938:5;6913:31;:::i;7900:306::-;7988:6;7996;8004;8057:2;8045:9;8036:7;8032:23;8028:32;8025:52;;;8073:1;8070;8063:12;8025:52;8102:9;8096:16;8086:26;;8152:2;8141:9;8137:18;8131:25;8121:35;;8196:2;8185:9;8181:18;8175:25;8165:35;;7900:306;;;;;:::o;8490:277::-;8557:6;8610:2;8598:9;8589:7;8585:23;8581:32;8578:52;;;8626:1;8623;8616:12;8578:52;8658:9;8652:16;8711:5;8704:13;8697:21;8690:5;8687:32;8677:60;;8733:1;8730;8723:12;11505:125;11570:9;;;11591:10;;;11588:36;;;11604:18;;:::i;11990:128::-;12057:9;;;12078:11;;;12075:37;;;12092:18;;:::i;12123:217::-;12163:1;12189;12179:132;;12233:10;12228:3;12224:20;12221:1;12214:31;12268:4;12265:1;12258:15;12296:4;12293:1;12286:15;12179:132;-1:-1:-1;12325:9:1;;12123:217::o;12879:980::-;13141:4;13189:3;13178:9;13174:19;13220:6;13209:9;13202:25;13246:2;13284:6;13279:2;13268:9;13264:18;13257:34;13327:3;13322:2;13311:9;13307:18;13300:31;13351:6;13386;13380:13;13417:6;13409;13402:22;13455:3;13444:9;13440:19;13433:26;;13494:2;13486:6;13482:15;13468:29;;13515:1;13525:195;13539:6;13536:1;13533:13;13525:195;;;13604:13;;-1:-1:-1;;;;;13600:39:1;13588:52;;13695:15;;;;13660:12;;;;13636:1;13554:9;13525:195;;;-1:-1:-1;;;;;;;13776:32:1;;;;13771:2;13756:18;;13749:60;-1:-1:-1;;;13840:3:1;13825:19;13818:35;13737:3;12879:980;-1:-1:-1;;;12879:980:1:o

Swarm Source

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