ETH Price: $3,364.74 (-2.32%)
Gas: 1 Gwei

Token

0xSTREAM ($0xSTREAM)
 

Overview

Max Total Supply

1,000,000,000 $0xSTREAM

Holders

157

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
5,454,383.942801418680940381 $0xSTREAM

Value
$0.00
0x0054fa45b9d4153c8df85e932bcc52e296504a19
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:
OxSTREAM

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// Twitter  : https://x.com/0xstream20
// Telegram : https://t.me/zeroxstream
// Website  : https://0xstream.org/
// Docs     : https://docs.0xstream.org/
// Medium   : https://medium.com/@0xStream
// Reddit   : https://www.reddit.com/user/0xstream/


// 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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract OxSTREAM 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 _taxWallet;
    address private uniswapV2Pair;
    IUniswapV2Router02 private uniswapV2Router;

    uint256 private constant _initialBuyTax = 20;
    uint256 private constant _initialSellTax = 25;
    uint256 private constant _reduceBuyTaxAt = 35;
    uint256 private constant _reduceSellTaxAt = 45;
    uint256 private constant _preventSwapBefore = 40;
    uint256 private _finalBuyTax = 5;
    uint256 private _finalSellTax = 5;
    uint256 private _buyCount = 0;
    uint256 private _countTax = 0;

    string private constant _name = unicode"0xSTREAM";
    string private constant _symbol = unicode"$0xSTREAM";
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    uint256 public constant _countTrigger = 200000 * 10**_decimals;
    uint256 public constant _taxSwapThreshold = 2000000 * 10**_decimals;
    uint256 public _maxTaxSwap = 10000000 * 10**_decimals;
    uint256 public _maxTxAmount = 10000000 * 10**_decimals;
    uint256 public _maxWalletSize = 10000000 * 10**_decimals;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event FinalTax(uint256 _valueBuy, uint256 _valueSell, bool _shelid);
    event TradingActive(bool _tradingOpen, bool _swapEnabled);
    event maxAmount(uint256 _value);

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address taxWallet) {
        _taxWallet = payable(taxWallet);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[address(this)] = 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) && spender != address(0),
            "ERC20: approve 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) && to != address(0),
            "ERC20: transfer the zero address"
        );
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;

        if (from != owner() && to != owner()) {
            if (!tradingOpen) {
                require(
                    _isExcludedFromFee[to] || _isExcludedFromFee[from],
                    "trading not yet open"
                );
            }

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

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            } else if (from == uniswapV2Pair && to != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceBuyTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    )
                    .div(100);
            }

            _countTax += taxAmount;
            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore &&
                _countTax > _countTrigger
            ) {
                uint256 getMin = (contractTokenBalance > _maxTaxSwap)
                    ? _maxTaxSwap
                    : contractTokenBalance;
                swapTokensForEth((amount > getMin) ? getMin : amount);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                _countTax = 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 sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    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 createPair() external onlyOwner {
        require(!tradingOpen, "init already called");
        uint256 tokenAmount = balanceOf(address(this)).sub(
            _tTotal.mul(_initialBuyTax).div(100)
        );
        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),
            tokenAmount,
            0,
            0,
            _msgSender(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading already open");
        swapEnabled = true;
        tradingOpen = true;
        emit TradingActive(tradingOpen, swapEnabled);
    }

    function maxLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit maxAmount(_tTotal);
    }

    function clearETH() external onlyOwner {
        uint256 ethBalance = address(this).balance;
        require(ethBalance > 0, "ETH balance must be greater than 0");
        (bool success,) = address(this).call{value: ethBalance}("");
        require(success, "Failed to clear ETH balance");
    }

    function reduceFee(uint256 _valueBuy, uint256 _valueSell) external onlyOwner {
        require( _valueBuy <= 30 && _valueSell <= 30 && tradingOpen,
            "Exceeds value"
        );
        _finalBuyTax = _valueBuy;
        _finalSellTax = _valueSell;
        uint256 clogSheild = _finalSellTax > 5 ? _maxTaxSwap = (5 *_tTotal).div(1000)  : (1 *_tTotal).div(100);
        emit FinalTax(_valueBuy, _valueSell, (clogSheild == (5 *_tTotal).div(1000)));
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"taxWallet","type":"address"}],"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":"_valueBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_valueSell","type":"uint256"},{"indexed":false,"internalType":"bool","name":"_shelid","type":"bool"}],"name":"FinalTax","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":false,"internalType":"bool","name":"_tradingOpen","type":"bool"},{"indexed":false,"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"TradingActive","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"maxAmount","type":"event"},{"inputs":[],"name":"_countTrigger","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":"_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":"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":"clearETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","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":"maxLimits","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"_valueBuy","type":"uint256"},{"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600560075560056008555f6009555f600a556012600a620000269190620005cf565b629896806200003691906200061f565b600b556012600a620000499190620005cf565b629896806200005991906200061f565b600c556012600a6200006c9190620005cf565b629896806200007c91906200061f565b600d555f600e60016101000a81548160ff0219169083151502179055505f600e60026101000a81548160ff021916908315150217905550348015620000bf575f80fd5b5060405162003c5538038062003c558339818101604052810190620000e59190620006ce565b5f620000f66200040f60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620001e29190620005cf565b633b9aca00620001f391906200061f565b60015f620002066200040f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002586200041660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003826200040f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620003e09190620005cf565b633b9aca00620003f191906200061f565b6040516200040091906200070f565b60405180910390a3506200072a565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004c7578086048111156200049f576200049e6200043d565b5b6001851615620004af5780820291505b8081029050620004bf856200046a565b94506200047f565b94509492505050565b5f82620004e15760019050620005b3565b81620004f0575f9050620005b3565b816001811462000509576002811462000514576200054a565b6001915050620005b3565b60ff8411156200052957620005286200043d565b5b8360020a9150848211156200054357620005426200043d565b5b50620005b3565b5060208310610133831016604e8410600b8410161715620005845782820a9050838111156200057e576200057d6200043d565b5b620005b3565b62000593848484600162000476565b92509050818404811115620005ad57620005ac6200043d565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620005db82620005ba565b9150620005e883620005c3565b9250620006177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004d0565b905092915050565b5f6200062b82620005ba565b91506200063883620005ba565b92508282026200064881620005ba565b915082820484148315176200066257620006616200043d565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000698826200066d565b9050919050565b620006aa816200068c565b8114620006b5575f80fd5b50565b5f81519050620006c8816200069f565b92915050565b5f60208284031215620006e657620006e562000669565b5b5f620006f584828501620006b8565b91505092915050565b6200070981620005ba565b82525050565b5f602082019050620007245f830184620006fe565b92915050565b61351d80620007385f395ff3fe60806040526004361061012d575f3560e01c8063715018a6116100aa5780638f9a55c01161006e5780638f9a55c01461039257806395d89b41146103bc5780639e78fb4f146103e6578063a9059cbb146103fc578063bf474bed14610438578063dd62ed3e1461046257610134565b8063715018a6146102ea57806372333356146103005780637d1db4a5146103285780638a8c523c146103525780638da5cb5b1461036857610134565b806323b872dd116100f157806323b872dd1461021c578063313ce567146102585780634019cfa914610282578063616eb6381461029857806370a08231146102ae57610134565b806306fdde0314610138578063095ea7b3146101625780630b7640b81461019e5780630faee56f146101c857806318160ddd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612522565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906125d3565b6104db565b604051610195919061262b565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612653565b60405180910390f35b3480156101d3575f80fd5b506101dc610517565b6040516101e99190612653565b60405180910390f35b3480156101fd575f80fd5b5061020661051d565b6040516102139190612653565b60405180910390f35b348015610227575f80fd5b50610242600480360381019061023d919061266c565b610540565b60405161024f919061262b565b60405180910390f35b348015610263575f80fd5b5061026c610614565b60405161027991906126d7565b60405180910390f35b34801561028d575f80fd5b5061029661061c565b005b3480156102a3575f80fd5b506102ac61074b565b005b3480156102b9575f80fd5b506102d460048036038101906102cf91906126f0565b6108d1565b6040516102e19190612653565b60405180910390f35b3480156102f5575f80fd5b506102fe610917565b005b34801561030b575f80fd5b506103266004803603810190610321919061271b565b610a65565b005b348015610333575f80fd5b5061033c610c7e565b6040516103499190612653565b60405180910390f35b34801561035d575f80fd5b50610366610c84565b005b348015610373575f80fd5b5061037c610df4565b6040516103899190612768565b60405180910390f35b34801561039d575f80fd5b506103a6610e1b565b6040516103b39190612653565b60405180910390f35b3480156103c7575f80fd5b506103d0610e21565b6040516103dd9190612522565b60405180910390f35b3480156103f1575f80fd5b506103fa610e5e565b005b348015610407575f80fd5b50610422600480360381019061041d91906125d3565b6113a2565b60405161042f919061262b565b60405180910390f35b348015610443575f80fd5b5061044c6113bf565b6040516104599190612653565b60405180910390f35b34801561046d575f80fd5b5061048860048036038101906104839190612781565b6113de565b6040516104959190612653565b60405180910390f35b60606040518060400160405280600881526020017f307853545245414d000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e7611460565b8484611467565b6001905092915050565b6012600a610506919061291b565b62030d406105149190612965565b81565b600b5481565b5f6012600a61052c919061291b565b633b9aca0061053b9190612965565b905090565b5f61054c8484846115f5565b61060984610558611460565b610604856040518060600160405280602881526020016134c06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105bb611460565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f9c9092919063ffffffff16565b611467565b600190509392505050565b5f6012905090565b610624611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a7906129f0565b60405180910390fd5b6012600a6106be919061291b565b633b9aca006106cd9190612965565b600c819055506012600a6106e1919061291b565b633b9aca006106f09190612965565b600d819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96012600a610725919061291b565b633b9aca006107349190612965565b6040516107419190612653565b60405180910390a1565b610753611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d6906129f0565b60405180910390fd5b5f4790505f8111610825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081c90612a7e565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168260405161084a90612ac9565b5f6040518083038185875af1925050503d805f8114610884576040519150601f19603f3d011682016040523d82523d5f602084013e610889565b606091505b50509050806108cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c490612b27565b60405180910390fd5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61091f611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a2906129f0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a6d611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af0906129f0565b60405180910390fd5b601e8211158015610b0b5750601e8111155b8015610b225750600e5f9054906101000a900460ff165b610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5890612b8f565b60405180910390fd5b81600781905550806008819055505f600560085411610bbb57610bb660646012600a610b8d919061291b565b633b9aca00610b9c9190612965565b6001610ba89190612965565b611ffe90919063ffffffff16565b610bfe565b610bf86103e86012600a610bcf919061291b565b633b9aca00610bde9190612965565b6005610bea9190612965565b611ffe90919063ffffffff16565b600b8190555b90507f29ddd482d71f6b4ad9a6b3978c21b2aa56a029d1de02646578471e24a465cb458383610c606103e86012600a610c37919061291b565b633b9aca00610c469190612965565b6005610c529190612965565b611ffe90919063ffffffff16565b8414604051610c7193929190612bad565b60405180910390a1505050565b600c5481565b610c8c611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f906129f0565b60405180910390fd5b600e5f9054906101000a900460ff1615610d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5e90612c2c565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600e5f9054906101000a900460ff16600e60029054906101000a900460ff16604051610dea929190612c4a565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600981526020017f24307853545245414d0000000000000000000000000000000000000000000000815250905090565b610e66611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee9906129f0565b60405180910390fd5b600e5f9054906101000a900460ff1615610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3890612cbb565b60405180910390fd5b5f610f9f610f886064610f7a60146012600a610f5d919061291b565b633b9aca00610f6c9190612965565b61204790919063ffffffff16565b611ffe90919063ffffffff16565b610f91306108d1565b6120be90919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061103d3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a611029919061291b565b633b9aca006110389190612965565b611467565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110cb9190612ced565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611151573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111759190612ced565b6040518363ffffffff1660e01b8152600401611192929190612d18565b6020604051808303815f875af11580156111ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d29190612ced565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f8061125b611460565b426040518863ffffffff1660e01b815260040161127d96959493929190612d81565b60606040518083038185885af1158015611299573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112be9190612df4565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161135e929190612e44565b6020604051808303815f875af115801561137a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061139e9190612e95565b5050565b5f6113b56113ae611460565b84846115f5565b6001905092915050565b6012600a6113cd919061291b565b621e84806113db9190612965565b81565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114cf57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150590612f0a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115e89190612653565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561165d57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61169c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169390612f72565b60405180910390fd5b5f81116116de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d590613000565b60405180910390fd5b5f6116e7610df4565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117555750611725610df4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cec57600e5f9054906101000a900460ff166118485760035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611808575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183e90613068565b60405180910390fd5b5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118f1575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611944575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119fe57600c5482111561198e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611985906130d0565b60405180910390fd5b600d548261199b856108d1565b6119a591906130ee565b11156119e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dd9061316b565b60405180910390fd5b60095f8154809291906119f890613189565b91905055505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a8657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611acc57611ac56064611ab7602d60095411611aa4576019611aa8565b6008545b8561204790919063ffffffff16565b611ffe90919063ffffffff16565b9050611b97565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b5457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b9657611b936064611b85602360095411611b72576014611b76565b6007545b8561204790919063ffffffff16565b611ffe90919063ffffffff16565b90505b5b80600a5f828254611ba891906130ee565b925050819055505f611bb9306108d1565b9050600e60019054906101000a900460ff16158015611c24575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c3c5750600e60029054906101000a900460ff165b8015611c6257506012600a611c51919061291b565b621e8480611c5f9190612965565b81115b8015611c7057506028600954115b8015611c9857506012600a611c85919061291b565b62030d40611c939190612965565b600a54115b15611cea575f600b548211611cad5781611cb1565b600b545b9050611cca818511611cc35784611cc5565b815b612107565b5f4790505f811115611ce057611cdf47612372565b5b5f600a8190555050505b505b5f811115611deb57611d448160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123da90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611de29190612653565b60405180910390a35b611e3b8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120be90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ede611e9282846120be90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123da90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f8184866120be90919063ffffffff16565b604051611f8e9190612653565b60405180910390a350505050565b5f838311158290611fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fda9190612522565b60405180910390fd5b505f8385611ff191906131d0565b9050809150509392505050565b5f61203f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612437565b905092915050565b5f808303612057575f90506120b8565b5f82846120649190612965565b90508284826120739190613230565b146120b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120aa906132d0565b60405180910390fd5b809150505b92915050565b5f6120ff83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f9c565b905092915050565b6001600e60016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561213e5761213d6132ee565b5b60405190808252806020026020018201604052801561216c5781602001602082028036833780820191505090505b50905030815f815181106121835761218261331b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612227573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061224b9190612ced565b8160018151811061225f5761225e61331b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122c53060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611467565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016123279594939291906133ff565b5f604051808303815f87803b15801561233e575f80fd5b505af1158015612350573d5f803e3d5ffd5b50505050505f600e60016101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156123d6573d5f803e3d5ffd5b5050565b5f8082846123e891906130ee565b90508381101561242d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612424906134a1565b60405180910390fd5b8091505092915050565b5f808311829061247d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124749190612522565b60405180910390fd5b505f838561248b9190613230565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124cf5780820151818401526020810190506124b4565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6124f482612498565b6124fe81856124a2565b935061250e8185602086016124b2565b612517816124da565b840191505092915050565b5f6020820190508181035f83015261253a81846124ea565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61256f82612546565b9050919050565b61257f81612565565b8114612589575f80fd5b50565b5f8135905061259a81612576565b92915050565b5f819050919050565b6125b2816125a0565b81146125bc575f80fd5b50565b5f813590506125cd816125a9565b92915050565b5f80604083850312156125e9576125e8612542565b5b5f6125f68582860161258c565b9250506020612607858286016125bf565b9150509250929050565b5f8115159050919050565b61262581612611565b82525050565b5f60208201905061263e5f83018461261c565b92915050565b61264d816125a0565b82525050565b5f6020820190506126665f830184612644565b92915050565b5f805f6060848603121561268357612682612542565b5b5f6126908682870161258c565b93505060206126a18682870161258c565b92505060406126b2868287016125bf565b9150509250925092565b5f60ff82169050919050565b6126d1816126bc565b82525050565b5f6020820190506126ea5f8301846126c8565b92915050565b5f6020828403121561270557612704612542565b5b5f6127128482850161258c565b91505092915050565b5f806040838503121561273157612730612542565b5b5f61273e858286016125bf565b925050602061274f858286016125bf565b9150509250929050565b61276281612565565b82525050565b5f60208201905061277b5f830184612759565b92915050565b5f806040838503121561279757612796612542565b5b5f6127a48582860161258c565b92505060206127b58582860161258c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156128415780860481111561281d5761281c6127bf565b5b600185161561282c5780820291505b808102905061283a856127ec565b9450612801565b94509492505050565b5f826128595760019050612914565b81612866575f9050612914565b816001811461287c5760028114612886576128b5565b6001915050612914565b60ff841115612898576128976127bf565b5b8360020a9150848211156128af576128ae6127bf565b5b50612914565b5060208310610133831016604e8410600b84101617156128ea5782820a9050838111156128e5576128e46127bf565b5b612914565b6128f784848460016127f8565b9250905081840481111561290e5761290d6127bf565b5b81810290505b9392505050565b5f612925826125a0565b9150612930836126bc565b925061295d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461284a565b905092915050565b5f61296f826125a0565b915061297a836125a0565b9250828202612988816125a0565b9150828204841483151761299f5761299e6127bf565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129da6020836124a2565b91506129e5826129a6565b602082019050919050565b5f6020820190508181035f830152612a07816129ce565b9050919050565b7f4554482062616c616e6365206d7573742062652067726561746572207468616e5f8201527f2030000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a686022836124a2565b9150612a7382612a0e565b604082019050919050565b5f6020820190508181035f830152612a9581612a5c565b9050919050565b5f81905092915050565b50565b5f612ab45f83612a9c565b9150612abf82612aa6565b5f82019050919050565b5f612ad382612aa9565b9150819050919050565b7f4661696c656420746f20636c656172204554482062616c616e636500000000005f82015250565b5f612b11601b836124a2565b9150612b1c82612add565b602082019050919050565b5f6020820190508181035f830152612b3e81612b05565b9050919050565b7f457863656564732076616c7565000000000000000000000000000000000000005f82015250565b5f612b79600d836124a2565b9150612b8482612b45565b602082019050919050565b5f6020820190508181035f830152612ba681612b6d565b9050919050565b5f606082019050612bc05f830186612644565b612bcd6020830185612644565b612bda604083018461261c565b949350505050565b7f74726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f612c166014836124a2565b9150612c2182612be2565b602082019050919050565b5f6020820190508181035f830152612c4381612c0a565b9050919050565b5f604082019050612c5d5f83018561261c565b612c6a602083018461261c565b9392505050565b7f696e697420616c72656164792063616c6c6564000000000000000000000000005f82015250565b5f612ca56013836124a2565b9150612cb082612c71565b602082019050919050565b5f6020820190508181035f830152612cd281612c99565b9050919050565b5f81519050612ce781612576565b92915050565b5f60208284031215612d0257612d01612542565b5b5f612d0f84828501612cd9565b91505092915050565b5f604082019050612d2b5f830185612759565b612d386020830184612759565b9392505050565b5f819050919050565b5f819050919050565b5f612d6b612d66612d6184612d3f565b612d48565b6125a0565b9050919050565b612d7b81612d51565b82525050565b5f60c082019050612d945f830189612759565b612da16020830188612644565b612dae6040830187612d72565b612dbb6060830186612d72565b612dc86080830185612759565b612dd560a0830184612644565b979650505050505050565b5f81519050612dee816125a9565b92915050565b5f805f60608486031215612e0b57612e0a612542565b5b5f612e1886828701612de0565b9350506020612e2986828701612de0565b9250506040612e3a86828701612de0565b9150509250925092565b5f604082019050612e575f830185612759565b612e646020830184612644565b9392505050565b612e7481612611565b8114612e7e575f80fd5b50565b5f81519050612e8f81612e6b565b92915050565b5f60208284031215612eaa57612ea9612542565b5b5f612eb784828501612e81565b91505092915050565b7f45524332303a20617070726f766520746865207a65726f2061646472657373005f82015250565b5f612ef4601f836124a2565b9150612eff82612ec0565b602082019050919050565b5f6020820190508181035f830152612f2181612ee8565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f20616464726573735f82015250565b5f612f5c6020836124a2565b9150612f6782612f28565b602082019050919050565b5f6020820190508181035f830152612f8981612f50565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612fea6029836124a2565b9150612ff582612f90565b604082019050919050565b5f6020820190508181035f83015261301781612fde565b9050919050565b7f74726164696e67206e6f7420796574206f70656e0000000000000000000000005f82015250565b5f6130526014836124a2565b915061305d8261301e565b602082019050919050565b5f6020820190508181035f83015261307f81613046565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130ba6019836124a2565b91506130c582613086565b602082019050919050565b5f6020820190508181035f8301526130e7816130ae565b9050919050565b5f6130f8826125a0565b9150613103836125a0565b925082820190508082111561311b5761311a6127bf565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613155601a836124a2565b915061316082613121565b602082019050919050565b5f6020820190508181035f83015261318281613149565b9050919050565b5f613193826125a0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131c5576131c46127bf565b5b600182019050919050565b5f6131da826125a0565b91506131e5836125a0565b92508282039050818111156131fd576131fc6127bf565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61323a826125a0565b9150613245836125a0565b92508261325557613254613203565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132ba6021836124a2565b91506132c582613260565b604082019050919050565b5f6020820190508181035f8301526132e7816132ae565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61337a81612565565b82525050565b5f61338b8383613371565b60208301905092915050565b5f602082019050919050565b5f6133ad82613348565b6133b78185613352565b93506133c283613362565b805f5b838110156133f25781516133d98882613380565b97506133e483613397565b9250506001810190506133c5565b5085935050505092915050565b5f60a0820190506134125f830188612644565b61341f6020830187612d72565b818103604083015261343181866133a3565b90506134406060830185612759565b61344d6080830184612644565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61348b601b836124a2565b915061349682613457565b602082019050919050565b5f6020820190508181035f8301526134b88161347f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122078870c90004b0be101614deaa35ffa3e36bc4e75fd991f132271228daacc073b64736f6c6343000814003300000000000000000000000057296950b232a08afa426249957ddc09fec2db63

Deployed Bytecode

0x60806040526004361061012d575f3560e01c8063715018a6116100aa5780638f9a55c01161006e5780638f9a55c01461039257806395d89b41146103bc5780639e78fb4f146103e6578063a9059cbb146103fc578063bf474bed14610438578063dd62ed3e1461046257610134565b8063715018a6146102ea57806372333356146103005780637d1db4a5146103285780638a8c523c146103525780638da5cb5b1461036857610134565b806323b872dd116100f157806323b872dd1461021c578063313ce567146102585780634019cfa914610282578063616eb6381461029857806370a08231146102ae57610134565b806306fdde0314610138578063095ea7b3146101625780630b7640b81461019e5780630faee56f146101c857806318160ddd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612522565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906125d3565b6104db565b604051610195919061262b565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612653565b60405180910390f35b3480156101d3575f80fd5b506101dc610517565b6040516101e99190612653565b60405180910390f35b3480156101fd575f80fd5b5061020661051d565b6040516102139190612653565b60405180910390f35b348015610227575f80fd5b50610242600480360381019061023d919061266c565b610540565b60405161024f919061262b565b60405180910390f35b348015610263575f80fd5b5061026c610614565b60405161027991906126d7565b60405180910390f35b34801561028d575f80fd5b5061029661061c565b005b3480156102a3575f80fd5b506102ac61074b565b005b3480156102b9575f80fd5b506102d460048036038101906102cf91906126f0565b6108d1565b6040516102e19190612653565b60405180910390f35b3480156102f5575f80fd5b506102fe610917565b005b34801561030b575f80fd5b506103266004803603810190610321919061271b565b610a65565b005b348015610333575f80fd5b5061033c610c7e565b6040516103499190612653565b60405180910390f35b34801561035d575f80fd5b50610366610c84565b005b348015610373575f80fd5b5061037c610df4565b6040516103899190612768565b60405180910390f35b34801561039d575f80fd5b506103a6610e1b565b6040516103b39190612653565b60405180910390f35b3480156103c7575f80fd5b506103d0610e21565b6040516103dd9190612522565b60405180910390f35b3480156103f1575f80fd5b506103fa610e5e565b005b348015610407575f80fd5b50610422600480360381019061041d91906125d3565b6113a2565b60405161042f919061262b565b60405180910390f35b348015610443575f80fd5b5061044c6113bf565b6040516104599190612653565b60405180910390f35b34801561046d575f80fd5b5061048860048036038101906104839190612781565b6113de565b6040516104959190612653565b60405180910390f35b60606040518060400160405280600881526020017f307853545245414d000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e7611460565b8484611467565b6001905092915050565b6012600a610506919061291b565b62030d406105149190612965565b81565b600b5481565b5f6012600a61052c919061291b565b633b9aca0061053b9190612965565b905090565b5f61054c8484846115f5565b61060984610558611460565b610604856040518060600160405280602881526020016134c06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105bb611460565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f9c9092919063ffffffff16565b611467565b600190509392505050565b5f6012905090565b610624611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a7906129f0565b60405180910390fd5b6012600a6106be919061291b565b633b9aca006106cd9190612965565b600c819055506012600a6106e1919061291b565b633b9aca006106f09190612965565b600d819055507f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96012600a610725919061291b565b633b9aca006107349190612965565b6040516107419190612653565b60405180910390a1565b610753611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d6906129f0565b60405180910390fd5b5f4790505f8111610825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081c90612a7e565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168260405161084a90612ac9565b5f6040518083038185875af1925050503d805f8114610884576040519150601f19603f3d011682016040523d82523d5f602084013e610889565b606091505b50509050806108cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c490612b27565b60405180910390fd5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61091f611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a2906129f0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a6d611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af0906129f0565b60405180910390fd5b601e8211158015610b0b5750601e8111155b8015610b225750600e5f9054906101000a900460ff165b610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5890612b8f565b60405180910390fd5b81600781905550806008819055505f600560085411610bbb57610bb660646012600a610b8d919061291b565b633b9aca00610b9c9190612965565b6001610ba89190612965565b611ffe90919063ffffffff16565b610bfe565b610bf86103e86012600a610bcf919061291b565b633b9aca00610bde9190612965565b6005610bea9190612965565b611ffe90919063ffffffff16565b600b8190555b90507f29ddd482d71f6b4ad9a6b3978c21b2aa56a029d1de02646578471e24a465cb458383610c606103e86012600a610c37919061291b565b633b9aca00610c469190612965565b6005610c529190612965565b611ffe90919063ffffffff16565b8414604051610c7193929190612bad565b60405180910390a1505050565b600c5481565b610c8c611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f906129f0565b60405180910390fd5b600e5f9054906101000a900460ff1615610d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5e90612c2c565b60405180910390fd5b6001600e60026101000a81548160ff0219169083151502179055506001600e5f6101000a81548160ff0219169083151502179055507f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c600e5f9054906101000a900460ff16600e60029054906101000a900460ff16604051610dea929190612c4a565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600981526020017f24307853545245414d0000000000000000000000000000000000000000000000815250905090565b610e66611460565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee9906129f0565b60405180910390fd5b600e5f9054906101000a900460ff1615610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3890612cbb565b60405180910390fd5b5f610f9f610f886064610f7a60146012600a610f5d919061291b565b633b9aca00610f6c9190612965565b61204790919063ffffffff16565b611ffe90919063ffffffff16565b610f91306108d1565b6120be90919063ffffffff16565b9050737a250d5630b4cf539739df2c5dacb4c659f2488d60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061103d3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a611029919061291b565b633b9aca006110389190612965565b611467565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110cb9190612ced565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611151573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111759190612ced565b6040518363ffffffff1660e01b8152600401611192929190612d18565b6020604051808303815f875af11580156111ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d29190612ced565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730845f8061125b611460565b426040518863ffffffff1660e01b815260040161127d96959493929190612d81565b60606040518083038185885af1158015611299573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112be9190612df4565b50505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161135e929190612e44565b6020604051808303815f875af115801561137a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061139e9190612e95565b5050565b5f6113b56113ae611460565b84846115f5565b6001905092915050565b6012600a6113cd919061291b565b621e84806113db9190612965565b81565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114cf57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150590612f0a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115e89190612653565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561165d57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61169c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169390612f72565b60405180910390fd5b5f81116116de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d590613000565b60405180910390fd5b5f6116e7610df4565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117555750611725610df4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cec57600e5f9054906101000a900460ff166118485760035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611808575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183e90613068565b60405180910390fd5b5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118f1575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611944575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119fe57600c5482111561198e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611985906130d0565b60405180910390fd5b600d548261199b856108d1565b6119a591906130ee565b11156119e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dd9061316b565b60405180910390fd5b60095f8154809291906119f890613189565b91905055505b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a8657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611acc57611ac56064611ab7602d60095411611aa4576019611aa8565b6008545b8561204790919063ffffffff16565b611ffe90919063ffffffff16565b9050611b97565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b5457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b9657611b936064611b85602360095411611b72576014611b76565b6007545b8561204790919063ffffffff16565b611ffe90919063ffffffff16565b90505b5b80600a5f828254611ba891906130ee565b925050819055505f611bb9306108d1565b9050600e60019054906101000a900460ff16158015611c24575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c3c5750600e60029054906101000a900460ff165b8015611c6257506012600a611c51919061291b565b621e8480611c5f9190612965565b81115b8015611c7057506028600954115b8015611c9857506012600a611c85919061291b565b62030d40611c939190612965565b600a54115b15611cea575f600b548211611cad5781611cb1565b600b545b9050611cca818511611cc35784611cc5565b815b612107565b5f4790505f811115611ce057611cdf47612372565b5b5f600a8190555050505b505b5f811115611deb57611d448160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123da90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611de29190612653565b60405180910390a35b611e3b8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120be90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ede611e9282846120be90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123da90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f8184866120be90919063ffffffff16565b604051611f8e9190612653565b60405180910390a350505050565b5f838311158290611fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fda9190612522565b60405180910390fd5b505f8385611ff191906131d0565b9050809150509392505050565b5f61203f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612437565b905092915050565b5f808303612057575f90506120b8565b5f82846120649190612965565b90508284826120739190613230565b146120b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120aa906132d0565b60405180910390fd5b809150505b92915050565b5f6120ff83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f9c565b905092915050565b6001600e60016101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561213e5761213d6132ee565b5b60405190808252806020026020018201604052801561216c5781602001602082028036833780820191505090505b50905030815f815181106121835761218261331b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612227573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061224b9190612ced565b8160018151811061225f5761225e61331b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122c53060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611467565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016123279594939291906133ff565b5f604051808303815f87803b15801561233e575f80fd5b505af1158015612350573d5f803e3d5ffd5b50505050505f600e60016101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156123d6573d5f803e3d5ffd5b5050565b5f8082846123e891906130ee565b90508381101561242d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612424906134a1565b60405180910390fd5b8091505092915050565b5f808311829061247d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124749190612522565b60405180910390fd5b505f838561248b9190613230565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124cf5780820151818401526020810190506124b4565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6124f482612498565b6124fe81856124a2565b935061250e8185602086016124b2565b612517816124da565b840191505092915050565b5f6020820190508181035f83015261253a81846124ea565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61256f82612546565b9050919050565b61257f81612565565b8114612589575f80fd5b50565b5f8135905061259a81612576565b92915050565b5f819050919050565b6125b2816125a0565b81146125bc575f80fd5b50565b5f813590506125cd816125a9565b92915050565b5f80604083850312156125e9576125e8612542565b5b5f6125f68582860161258c565b9250506020612607858286016125bf565b9150509250929050565b5f8115159050919050565b61262581612611565b82525050565b5f60208201905061263e5f83018461261c565b92915050565b61264d816125a0565b82525050565b5f6020820190506126665f830184612644565b92915050565b5f805f6060848603121561268357612682612542565b5b5f6126908682870161258c565b93505060206126a18682870161258c565b92505060406126b2868287016125bf565b9150509250925092565b5f60ff82169050919050565b6126d1816126bc565b82525050565b5f6020820190506126ea5f8301846126c8565b92915050565b5f6020828403121561270557612704612542565b5b5f6127128482850161258c565b91505092915050565b5f806040838503121561273157612730612542565b5b5f61273e858286016125bf565b925050602061274f858286016125bf565b9150509250929050565b61276281612565565b82525050565b5f60208201905061277b5f830184612759565b92915050565b5f806040838503121561279757612796612542565b5b5f6127a48582860161258c565b92505060206127b58582860161258c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156128415780860481111561281d5761281c6127bf565b5b600185161561282c5780820291505b808102905061283a856127ec565b9450612801565b94509492505050565b5f826128595760019050612914565b81612866575f9050612914565b816001811461287c5760028114612886576128b5565b6001915050612914565b60ff841115612898576128976127bf565b5b8360020a9150848211156128af576128ae6127bf565b5b50612914565b5060208310610133831016604e8410600b84101617156128ea5782820a9050838111156128e5576128e46127bf565b5b612914565b6128f784848460016127f8565b9250905081840481111561290e5761290d6127bf565b5b81810290505b9392505050565b5f612925826125a0565b9150612930836126bc565b925061295d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461284a565b905092915050565b5f61296f826125a0565b915061297a836125a0565b9250828202612988816125a0565b9150828204841483151761299f5761299e6127bf565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129da6020836124a2565b91506129e5826129a6565b602082019050919050565b5f6020820190508181035f830152612a07816129ce565b9050919050565b7f4554482062616c616e6365206d7573742062652067726561746572207468616e5f8201527f2030000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a686022836124a2565b9150612a7382612a0e565b604082019050919050565b5f6020820190508181035f830152612a9581612a5c565b9050919050565b5f81905092915050565b50565b5f612ab45f83612a9c565b9150612abf82612aa6565b5f82019050919050565b5f612ad382612aa9565b9150819050919050565b7f4661696c656420746f20636c656172204554482062616c616e636500000000005f82015250565b5f612b11601b836124a2565b9150612b1c82612add565b602082019050919050565b5f6020820190508181035f830152612b3e81612b05565b9050919050565b7f457863656564732076616c7565000000000000000000000000000000000000005f82015250565b5f612b79600d836124a2565b9150612b8482612b45565b602082019050919050565b5f6020820190508181035f830152612ba681612b6d565b9050919050565b5f606082019050612bc05f830186612644565b612bcd6020830185612644565b612bda604083018461261c565b949350505050565b7f74726164696e6720616c7265616479206f70656e0000000000000000000000005f82015250565b5f612c166014836124a2565b9150612c2182612be2565b602082019050919050565b5f6020820190508181035f830152612c4381612c0a565b9050919050565b5f604082019050612c5d5f83018561261c565b612c6a602083018461261c565b9392505050565b7f696e697420616c72656164792063616c6c6564000000000000000000000000005f82015250565b5f612ca56013836124a2565b9150612cb082612c71565b602082019050919050565b5f6020820190508181035f830152612cd281612c99565b9050919050565b5f81519050612ce781612576565b92915050565b5f60208284031215612d0257612d01612542565b5b5f612d0f84828501612cd9565b91505092915050565b5f604082019050612d2b5f830185612759565b612d386020830184612759565b9392505050565b5f819050919050565b5f819050919050565b5f612d6b612d66612d6184612d3f565b612d48565b6125a0565b9050919050565b612d7b81612d51565b82525050565b5f60c082019050612d945f830189612759565b612da16020830188612644565b612dae6040830187612d72565b612dbb6060830186612d72565b612dc86080830185612759565b612dd560a0830184612644565b979650505050505050565b5f81519050612dee816125a9565b92915050565b5f805f60608486031215612e0b57612e0a612542565b5b5f612e1886828701612de0565b9350506020612e2986828701612de0565b9250506040612e3a86828701612de0565b9150509250925092565b5f604082019050612e575f830185612759565b612e646020830184612644565b9392505050565b612e7481612611565b8114612e7e575f80fd5b50565b5f81519050612e8f81612e6b565b92915050565b5f60208284031215612eaa57612ea9612542565b5b5f612eb784828501612e81565b91505092915050565b7f45524332303a20617070726f766520746865207a65726f2061646472657373005f82015250565b5f612ef4601f836124a2565b9150612eff82612ec0565b602082019050919050565b5f6020820190508181035f830152612f2181612ee8565b9050919050565b7f45524332303a207472616e7366657220746865207a65726f20616464726573735f82015250565b5f612f5c6020836124a2565b9150612f6782612f28565b602082019050919050565b5f6020820190508181035f830152612f8981612f50565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612fea6029836124a2565b9150612ff582612f90565b604082019050919050565b5f6020820190508181035f83015261301781612fde565b9050919050565b7f74726164696e67206e6f7420796574206f70656e0000000000000000000000005f82015250565b5f6130526014836124a2565b915061305d8261301e565b602082019050919050565b5f6020820190508181035f83015261307f81613046565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130ba6019836124a2565b91506130c582613086565b602082019050919050565b5f6020820190508181035f8301526130e7816130ae565b9050919050565b5f6130f8826125a0565b9150613103836125a0565b925082820190508082111561311b5761311a6127bf565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613155601a836124a2565b915061316082613121565b602082019050919050565b5f6020820190508181035f83015261318281613149565b9050919050565b5f613193826125a0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131c5576131c46127bf565b5b600182019050919050565b5f6131da826125a0565b91506131e5836125a0565b92508282039050818111156131fd576131fc6127bf565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61323a826125a0565b9150613245836125a0565b92508261325557613254613203565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132ba6021836124a2565b91506132c582613260565b604082019050919050565b5f6020820190508181035f8301526132e7816132ae565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61337a81612565565b82525050565b5f61338b8383613371565b60208301905092915050565b5f602082019050919050565b5f6133ad82613348565b6133b78185613352565b93506133c283613362565b805f5b838110156133f25781516133d98882613380565b97506133e483613397565b9250506001810190506133c5565b5085935050505092915050565b5f60a0820190506134125f830188612644565b61341f6020830187612d72565b818103604083015261343181866133a3565b90506134406060830185612759565b61344d6080830184612644565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61348b601b836124a2565b915061349682613457565b602082019050919050565b5f6020820190508181035f8301526134b88161347f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122078870c90004b0be101614deaa35ffa3e36bc4e75fd991f132271228daacc073b64736f6c63430008140033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000057296950b232a08afa426249957ddc09fec2db63

-----Decoded View---------------
Arg [0] : taxWallet (address): 0x57296950B232A08AFA426249957DdC09feC2DB63

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000057296950b232a08afa426249957ddc09fec2db63


Deployed Bytecode Sourcemap

4075:9722:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6169:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7075:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5118:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5261:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6446:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7276:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6355:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12823:150;;;;;;;;;;;;;:::i;:::-;;12981:300;;;;;;;;;;;;;:::i;:::-;;6549:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3027:148;;;;;;;;;;;;;:::i;:::-;;13289:468;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5321:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12594:221;;;;;;;;;;;;;:::i;:::-;;2813:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5382:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6260:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11669:917;;;;;;;;;;;;;:::i;:::-;;6676:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5187:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6883:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6169:83;6206:13;6239:5;;;;;;;;;;;;;;;;;6232:12;;6169:83;:::o;7075:193::-;7177:4;7199:39;7208:12;:10;:12::i;:::-;7222:7;7231:6;7199:8;:39::i;:::-;7256:4;7249:11;;7075:193;;;;:::o;5118:62::-;5041:2;5167;:13;;;;:::i;:::-;5158:6;:22;;;;:::i;:::-;5118:62;:::o;5261:53::-;;;;:::o;6446:95::-;6499:7;5041:2;5098;:13;;;;:::i;:::-;5085:10;:26;;;;:::i;:::-;6519:14;;6446:95;:::o;7276:446::-;7408:4;7425:36;7435:6;7443:9;7454:6;7425:9;:36::i;:::-;7472:220;7495:6;7516:12;:10;:12::i;:::-;7543:138;7599:6;7543:138;;;;;;;;;;;;;;;;;:11;:19;7555:6;7543:19;;;;;;;;;;;;;;;:33;7563:12;:10;:12::i;:::-;7543:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7472:8;:220::i;:::-;7710:4;7703:11;;7276:446;;;;;:::o;6355:83::-;6396:5;5041:2;6414:16;;6355:83;:::o;12823:150::-;2950:12;:10;:12::i;:::-;2940:22;;:6;;;;;;;;;;:22;;;2932:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5041:2:::1;5098;:13;;;;:::i;:::-;5085:10;:26;;;;:::i;:::-;12874:12;:22;;;;5041:2;5098;:13;;;;:::i;:::-;5085:10;:26;;;;:::i;:::-;12907:14;:24;;;;12947:18;5041:2;5098;:13;;;;:::i;:::-;5085:10;:26;;;;:::i;:::-;12947:18;;;;;;:::i;:::-;;;;;;;;12823:150::o:0;12981:300::-;2950:12;:10;:12::i;:::-;2940:22;;:6;;;;;;;;;;:22;;;2932:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13031:18:::1;13052:21;13031:42;;13105:1;13092:10;:14;13084:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;13157:12;13182:4;13174:18;;13200:10;13174:41;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13156:59;;;13234:7;13226:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13020:261;;12981:300::o:0;6549:119::-;6615:7;6642:9;:18;6652:7;6642:18;;;;;;;;;;;;;;;;6635:25;;6549:119;;;:::o;3027:148::-;2950:12;:10;:12::i;:::-;2940:22;;:6;;;;;;;;;;:22;;;2932:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3134:1:::1;3097:40;;3118:6;::::0;::::1;;;;;;;;3097:40;;;;;;;;;;;;3165:1;3148:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3027:148::o:0;13289:468::-;2950:12;:10;:12::i;:::-;2940:22;;:6;;;;;;;;;;:22;;;2932:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13399:2:::1;13386:9;:15;;:35;;;;;13419:2;13405:10;:16;;13386:35;:50;;;;;13425:11;;;;;;;;;;;13386:50;13377:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;13503:9;13488:12;:24;;;;13539:10;13523:13;:26;;;;13560:18;13597:1;13581:13;;:17;:81;;13641:21;13658:3;5041:2;5098;:13;;;;:::i;:::-;5085:10;:26;;;;:::i;:::-;13642:1;:10;;;;:::i;:::-;13641:16;;:21;;;;:::i;:::-;13581:81;;;13615:22;13632:4;5041:2;5098;:13;;;;:::i;:::-;5085:10;:26;;;;:::i;:::-;13616:1;:10;;;;:::i;:::-;13615:16;;:22;;;;:::i;:::-;13601:11;:36;;;13581:81;13560:102;;13678:71;13687:9;13698:10;13725:22;13742:4;5041:2;5098;:13;;;;:::i;:::-;5085:10;:26;;;;:::i;:::-;13726:1;:10;;;;:::i;:::-;13725:16;;:22;;;;:::i;:::-;13711:10;:36;13678:71;;;;;;;;:::i;:::-;;;;;;;;13366:391;13289:468:::0;;:::o;5321:54::-;;;;:::o;12594:221::-;2950:12;:10;:12::i;:::-;2940:22;;:6;;;;;;;;;;:22;;;2932:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12658:11:::1;;;;;;;;;;;12657:12;12649:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;12719:4;12705:11;;:18;;;;;;;;;;;;;;;;;;12748:4;12734:11;;:18;;;;;;;;;;;;;;;;;;12768:39;12782:11;;;;;;;;;;;12795;;;;;;;;;;;12768:39;;;;;;;:::i;:::-;;;;;;;;12594:221::o:0;2813:79::-;2851:7;2878:6;;;;;;;;;;;2871:13;;2813:79;:::o;5382:56::-;;;;:::o;6260:87::-;6299:13;6332:7;;;;;;;;;;;;;;;;;6325:14;;6260:87;:::o;11669:917::-;2950:12;:10;:12::i;:::-;2940:22;;:6;;;;;;;;;;:22;;;2932:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11730:11:::1;;;;;;;;;;;11729:12;11721:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;11776:19;11798:90;11841:36;11873:3;11841:27;4517:2;5041;5098;:13;;;;:::i;:::-;5085:10;:26;;;;:::i;:::-;11841:11;;:27;;;;:::i;:::-;:31;;:36;;;;:::i;:::-;11798:24;11816:4;11798:9;:24::i;:::-;:28;;:90;;;;:::i;:::-;11776:112;;11950:42;11899:15;;:104;;;;;;;;;;;;;;;;;;12014:58;12031:4;12046:15;;;;;;;;;;;5041:2;5098;:13;;;;:::i;:::-;5085:10;:26;;;;:::i;:::-;12014:8;:58::i;:::-;12117:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12099:55;;;12177:4;12197:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12099:131;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12083:13;;:147;;;;;;;;;;;;;;;;;;12241:15;;;;;;;;;;;:31;;;12280:21;12325:4;12345:11;12371:1;12387::::0;12403:12:::1;:10;:12::i;:::-;12430:15;12241:215;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12474:13;;;;;;;;;;;12467:29;;;12519:15;;;;;;;;;;;12550:17;12467:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11710:876;11669:917::o:0;6676:199::-;6781:4;6803:42;6813:12;:10;:12::i;:::-;6827:9;6838:6;6803:9;:42::i;:::-;6863:4;6856:11;;6676:199;;;;:::o;5187:67::-;5041:2;5241;:13;;;;:::i;:::-;5231:7;:23;;;;:::i;:::-;5187:67;:::o;6883:184::-;7000:7;7032:11;:18;7044:5;7032:18;;;;;;;;;;;;;;;:27;7051:7;7032:27;;;;;;;;;;;;;;;;7025:34;;6883:184;;;;:::o;353:98::-;406:7;433:10;426:17;;353:98;:::o;7730:347::-;7888:1;7871:19;;:5;:19;;;;:44;;;;;7913:1;7894:21;;:7;:21;;;;7871:44;7849:125;;;;;;;;;;;;:::i;:::-;;;;;;;;;8015:6;7985:11;:18;7997:5;7985:18;;;;;;;;;;;;;;;:27;8004:7;7985:27;;;;;;;;;;;;;;;:36;;;;8053:7;8037:32;;8046:5;8037:32;;;8062:6;8037:32;;;;;;:::i;:::-;;;;;;;;7730:347;;;:::o;8085:2985::-;8237:1;8221:18;;:4;:18;;;;:38;;;;;8257:1;8243:16;;:2;:16;;;;8221:38;8199:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;8347:1;8338:6;:10;8330:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8405:17;8451:7;:5;:7::i;:::-;8443:15;;:4;:15;;;;:32;;;;;8468:7;:5;:7::i;:::-;8462:13;;:2;:13;;;;8443:32;8439:2260;;;8497:11;;;;;;;;;;;8492:197;;8559:18;:22;8578:2;8559:22;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8585:18;:24;8604:4;8585:24;;;;;;;;;;;;;;;;;;;;;;;;;8559:50;8529:144;;;;;;;;;;;;:::i;:::-;;;;;;;;;8492:197;8735:13;;;;;;;;;;;8727:21;;:4;:21;;;:72;;;;;8783:15;;;;;;;;;;;8769:30;;:2;:30;;;;8727:72;:116;;;;;8821:18;:22;8840:2;8821:22;;;;;;;;;;;;;;;;;;;;;;;;;8820:23;8727:116;8705:438;;;8896:12;;8886:6;:22;;8878:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9013:14;;9003:6;8987:13;8997:2;8987:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8957:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;9116:9;;:11;;;;;;;;;:::i;:::-;;;;;;8705:438;9169:13;;;;;;;;;;;9163:19;;:2;:19;;;:44;;;;;9202:4;9186:21;;:4;:21;;;;9163:44;9159:667;;;9240:235;9471:3;9240:204;4674:2;9300:9;;:28;9299:122;;4569:2;9299:122;;;9361:13;;9299:122;9240:6;:32;;:204;;;;:::i;:::-;:230;;:235;;;;:::i;:::-;9228:247;;9159:667;;;9509:13;;;;;;;;;;;9501:21;;:4;:21;;;:44;;;;;9540:4;9526:19;;:2;:19;;;;9501:44;9497:329;;;9578:232;9806:3;9578:201;4621:2;9638:9;;:27;9637:119;;4517:2;9637:119;;;9698:12;;9637:119;9578:6;:32;;:201;;;;:::i;:::-;:227;;:232;;;;:::i;:::-;9566:244;;9497:329;9159:667;9855:9;9842;;:22;;;;;;;:::i;:::-;;;;;;;;9879:28;9910:24;9928:4;9910:9;:24::i;:::-;9879:55;;9972:6;;;;;;;;;;;9971:7;:47;;;;;10005:13;;;;;;;;;;;9999:19;;:2;:19;;;9971:47;:79;;;;;10039:11;;;;;;;;;;;9971:79;:140;;;;;5041:2;5241;:13;;;;:::i;:::-;5231:7;:23;;;;:::i;:::-;10071:20;:40;9971:140;:191;;;;;4729:2;10132:9;;:30;9971:191;:237;;;;;5041:2;5167;:13;;;;:::i;:::-;5158:6;:22;;;;:::i;:::-;10183:9;;:25;9971:237;9949:739;;;10243:14;10284:11;;10261:20;:34;10260:115;;10355:20;10260:115;;;10320:11;;10260:115;10243:132;;10394:53;10421:6;10412;:15;10411:35;;10440:6;10411:35;;;10431:6;10411:35;10394:16;:53::i;:::-;10466:26;10495:21;10466:50;;10560:1;10539:18;:22;10535:106;;;10586:35;10599:21;10586:12;:35::i;:::-;10535:106;10671:1;10659:9;:13;;;;10224:464;;9949:739;8477:2222;8439:2260;10727:1;10715:9;:13;10711:172;;;10772:39;10801:9;10772;:24;10790:4;10772:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10745:9;:24;10763:4;10745:24;;;;;;;;;;;;;;;:66;;;;10854:4;10831:40;;10840:4;10831:40;;;10861:9;10831:40;;;;;;:::i;:::-;;;;;;;;10711:172;10911:27;10931:6;10911:9;:15;10921:4;10911:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10893:9;:15;10903:4;10893:15;;;;;;;;;;;;;;;:45;;;;10965:40;10983:21;10994:9;10983:6;:10;;:21;;;;:::i;:::-;10965:9;:13;10975:2;10965:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10949:9;:13;10959:2;10949:13;;;;;;;;;;;;;;;:56;;;;11036:2;11021:41;;11030:4;11021:41;;;11040:21;11051:9;11040:6;:10;;:21;;;;:::i;:::-;11021:41;;;;;;:::i;:::-;;;;;;;;8188:2882;8085:2985;;;:::o;1615:224::-;1735:7;1768:1;1763;:6;;1771:12;1755:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1795:9;1811:1;1807;:5;;;;:::i;:::-;1795:17;;1830:1;1823:8;;;1615:224;;;;;:::o;2101:132::-;2159:7;2186:39;2190:1;2193;2186:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2179:46;;2101:132;;;;:::o;1847:246::-;1905:7;1934:1;1929;:6;1925:47;;1959:1;1952:8;;;;1925:47;1982:9;1998:1;1994;:5;;;;:::i;:::-;1982:17;;2027:1;2022;2018;:5;;;;:::i;:::-;:10;2010:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2084:1;2077:8;;;1847:246;;;;;:::o;1471:136::-;1529:7;1556:43;1560:1;1563;1556:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1549:50;;1471:136;;;;:::o;11178:483::-;5774:4;5765:6;;:13;;;;;;;;;;;;;;;;;;11256:21:::1;11294:1;11280:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11256:40;;11325:4;11307;11312:1;11307:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11351:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11341:4;11346:1;11341:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11384:62;11401:4;11416:15;;;;;;;;;;;11434:11;11384:8;:62::i;:::-;11457:15;;;;;;;;;;;:66;;;11538:11;11564:1;11580:4;11607;11627:15;11457:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11245:416;5810:5:::0;5801:6;;:14;;;;;;;;;;;;;;;;;;11178:483;:::o;11078:92::-;11135:10;;;;;;;;;;;:19;;:27;11155:6;11135:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11078:92;:::o;1284:179::-;1342:7;1362:9;1378:1;1374;:5;;;;:::i;:::-;1362:17;;1403:1;1398;:6;;1390:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1454:1;1447:8;;;1284:179;;;;:::o;2241:223::-;2361:7;2393:1;2389;:5;2396:12;2381:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2420:9;2436:1;2432;:5;;;;:::i;:::-;2420:17;;2455:1;2448:8;;;2241:223;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:180::-;6548:77;6545:1;6538:88;6645:4;6642:1;6635:15;6669:4;6666:1;6659:15;6686:102;6728:8;6775:5;6772:1;6768:13;6747:34;;6686:102;;;:::o;6794:848::-;6855:5;6862:4;6886:6;6877:15;;6910:5;6901:14;;6924:712;6945:1;6935:8;6932:15;6924:712;;;7040:4;7035:3;7031:14;7025:4;7022:24;7019:50;;;7049:18;;:::i;:::-;7019:50;7099:1;7089:8;7085:16;7082:451;;;7514:4;7507:5;7503:16;7494:25;;7082:451;7564:4;7558;7554:15;7546:23;;7594:32;7617:8;7594:32;:::i;:::-;7582:44;;6924:712;;;6794:848;;;;;;;:::o;7648:1073::-;7702:5;7893:8;7883:40;;7914:1;7905:10;;7916:5;;7883:40;7942:4;7932:36;;7959:1;7950:10;;7961:5;;7932:36;8028:4;8076:1;8071:27;;;;8112:1;8107:191;;;;8021:277;;8071:27;8089:1;8080:10;;8091:5;;;8107:191;8152:3;8142:8;8139:17;8136:43;;;8159:18;;:::i;:::-;8136:43;8208:8;8205:1;8201:16;8192:25;;8243:3;8236:5;8233:14;8230:40;;;8250:18;;:::i;:::-;8230:40;8283:5;;;8021:277;;8407:2;8397:8;8394:16;8388:3;8382:4;8379:13;8375:36;8357:2;8347:8;8344:16;8339:2;8333:4;8330:12;8326:35;8310:111;8307:246;;;8463:8;8457:4;8453:19;8444:28;;8498:3;8491:5;8488:14;8485:40;;;8505:18;;:::i;:::-;8485:40;8538:5;;8307:246;8578:42;8616:3;8606:8;8600:4;8597:1;8578:42;:::i;:::-;8563:57;;;;8652:4;8647:3;8643:14;8636:5;8633:25;8630:51;;;8661:18;;:::i;:::-;8630:51;8710:4;8703:5;8699:16;8690:25;;7648:1073;;;;;;:::o;8727:281::-;8785:5;8809:23;8827:4;8809:23;:::i;:::-;8801:31;;8853:25;8869:8;8853:25;:::i;:::-;8841:37;;8897:104;8934:66;8924:8;8918:4;8897:104;:::i;:::-;8888:113;;8727:281;;;;:::o;9014:410::-;9054:7;9077:20;9095:1;9077:20;:::i;:::-;9072:25;;9111:20;9129:1;9111:20;:::i;:::-;9106:25;;9166:1;9163;9159:9;9188:30;9206:11;9188:30;:::i;:::-;9177:41;;9367:1;9358:7;9354:15;9351:1;9348:22;9328:1;9321:9;9301:83;9278:139;;9397:18;;:::i;:::-;9278:139;9062:362;9014:410;;;;:::o;9430:182::-;9570:34;9566:1;9558:6;9554:14;9547:58;9430:182;:::o;9618:366::-;9760:3;9781:67;9845:2;9840:3;9781:67;:::i;:::-;9774:74;;9857:93;9946:3;9857:93;:::i;:::-;9975:2;9970:3;9966:12;9959:19;;9618:366;;;:::o;9990:419::-;10156:4;10194:2;10183:9;10179:18;10171:26;;10243:9;10237:4;10233:20;10229:1;10218:9;10214:17;10207:47;10271:131;10397:4;10271:131;:::i;:::-;10263:139;;9990:419;;;:::o;10415:221::-;10555:34;10551:1;10543:6;10539:14;10532:58;10624:4;10619:2;10611:6;10607:15;10600:29;10415:221;:::o;10642:366::-;10784:3;10805:67;10869:2;10864:3;10805:67;:::i;:::-;10798:74;;10881:93;10970:3;10881:93;:::i;:::-;10999:2;10994:3;10990:12;10983:19;;10642:366;;;:::o;11014:419::-;11180:4;11218:2;11207:9;11203:18;11195:26;;11267:9;11261:4;11257:20;11253:1;11242:9;11238:17;11231:47;11295:131;11421:4;11295:131;:::i;:::-;11287:139;;11014:419;;;:::o;11439:147::-;11540:11;11577:3;11562:18;;11439:147;;;;:::o;11592:114::-;;:::o;11712:398::-;11871:3;11892:83;11973:1;11968:3;11892:83;:::i;:::-;11885:90;;11984:93;12073:3;11984:93;:::i;:::-;12102:1;12097:3;12093:11;12086:18;;11712:398;;;:::o;12116:379::-;12300:3;12322:147;12465:3;12322:147;:::i;:::-;12315:154;;12486:3;12479:10;;12116:379;;;:::o;12501:177::-;12641:29;12637:1;12629:6;12625:14;12618:53;12501:177;:::o;12684:366::-;12826:3;12847:67;12911:2;12906:3;12847:67;:::i;:::-;12840:74;;12923:93;13012:3;12923:93;:::i;:::-;13041:2;13036:3;13032:12;13025:19;;12684:366;;;:::o;13056:419::-;13222:4;13260:2;13249:9;13245:18;13237:26;;13309:9;13303:4;13299:20;13295:1;13284:9;13280:17;13273:47;13337:131;13463:4;13337:131;:::i;:::-;13329:139;;13056:419;;;:::o;13481:163::-;13621:15;13617:1;13609:6;13605:14;13598:39;13481:163;:::o;13650:366::-;13792:3;13813:67;13877:2;13872:3;13813:67;:::i;:::-;13806:74;;13889:93;13978:3;13889:93;:::i;:::-;14007:2;14002:3;13998:12;13991:19;;13650:366;;;:::o;14022:419::-;14188:4;14226:2;14215:9;14211:18;14203:26;;14275:9;14269:4;14265:20;14261:1;14250:9;14246:17;14239:47;14303:131;14429:4;14303:131;:::i;:::-;14295:139;;14022:419;;;:::o;14447:430::-;14590:4;14628:2;14617:9;14613:18;14605:26;;14641:71;14709:1;14698:9;14694:17;14685:6;14641:71;:::i;:::-;14722:72;14790:2;14779:9;14775:18;14766:6;14722:72;:::i;:::-;14804:66;14866:2;14855:9;14851:18;14842:6;14804:66;:::i;:::-;14447:430;;;;;;:::o;14883:170::-;15023:22;15019:1;15011:6;15007:14;15000:46;14883:170;:::o;15059:366::-;15201:3;15222:67;15286:2;15281:3;15222:67;:::i;:::-;15215:74;;15298:93;15387:3;15298:93;:::i;:::-;15416:2;15411:3;15407:12;15400:19;;15059:366;;;:::o;15431:419::-;15597:4;15635:2;15624:9;15620:18;15612:26;;15684:9;15678:4;15674:20;15670:1;15659:9;15655:17;15648:47;15712:131;15838:4;15712:131;:::i;:::-;15704:139;;15431:419;;;:::o;15856:308::-;15965:4;16003:2;15992:9;15988:18;15980:26;;16016:65;16078:1;16067:9;16063:17;16054:6;16016:65;:::i;:::-;16091:66;16153:2;16142:9;16138:18;16129:6;16091:66;:::i;:::-;15856:308;;;;;:::o;16170:169::-;16310:21;16306:1;16298:6;16294:14;16287:45;16170:169;:::o;16345:366::-;16487:3;16508:67;16572:2;16567:3;16508:67;:::i;:::-;16501:74;;16584:93;16673:3;16584:93;:::i;:::-;16702:2;16697:3;16693:12;16686:19;;16345:366;;;:::o;16717:419::-;16883:4;16921:2;16910:9;16906:18;16898:26;;16970:9;16964:4;16960:20;16956:1;16945:9;16941:17;16934:47;16998:131;17124:4;16998:131;:::i;:::-;16990:139;;16717:419;;;:::o;17142:143::-;17199:5;17230:6;17224:13;17215:22;;17246:33;17273:5;17246:33;:::i;:::-;17142:143;;;;:::o;17291:351::-;17361:6;17410:2;17398:9;17389:7;17385:23;17381:32;17378:119;;;17416:79;;:::i;:::-;17378:119;17536:1;17561:64;17617:7;17608:6;17597:9;17593:22;17561:64;:::i;:::-;17551:74;;17507:128;17291:351;;;;:::o;17648:332::-;17769:4;17807:2;17796:9;17792:18;17784:26;;17820:71;17888:1;17877:9;17873:17;17864:6;17820:71;:::i;:::-;17901:72;17969:2;17958:9;17954:18;17945:6;17901:72;:::i;:::-;17648:332;;;;;:::o;17986:85::-;18031:7;18060:5;18049:16;;17986:85;;;:::o;18077:60::-;18105:3;18126:5;18119:12;;18077:60;;;:::o;18143:158::-;18201:9;18234:61;18252:42;18261:32;18287:5;18261:32;:::i;:::-;18252:42;:::i;:::-;18234:61;:::i;:::-;18221:74;;18143:158;;;:::o;18307:147::-;18402:45;18441:5;18402:45;:::i;:::-;18397:3;18390:58;18307:147;;:::o;18460:807::-;18709:4;18747:3;18736:9;18732:19;18724:27;;18761:71;18829:1;18818:9;18814:17;18805:6;18761:71;:::i;:::-;18842:72;18910:2;18899:9;18895:18;18886:6;18842:72;:::i;:::-;18924:80;19000:2;18989:9;18985:18;18976:6;18924:80;:::i;:::-;19014;19090:2;19079:9;19075:18;19066:6;19014:80;:::i;:::-;19104:73;19172:3;19161:9;19157:19;19148:6;19104:73;:::i;:::-;19187;19255:3;19244:9;19240:19;19231:6;19187:73;:::i;:::-;18460:807;;;;;;;;;:::o;19273:143::-;19330:5;19361:6;19355:13;19346:22;;19377:33;19404:5;19377:33;:::i;:::-;19273:143;;;;:::o;19422:663::-;19510:6;19518;19526;19575:2;19563:9;19554:7;19550:23;19546:32;19543:119;;;19581:79;;:::i;:::-;19543:119;19701:1;19726:64;19782:7;19773:6;19762:9;19758:22;19726:64;:::i;:::-;19716:74;;19672:128;19839:2;19865:64;19921:7;19912:6;19901:9;19897:22;19865:64;:::i;:::-;19855:74;;19810:129;19978:2;20004:64;20060:7;20051:6;20040:9;20036:22;20004:64;:::i;:::-;19994:74;;19949:129;19422:663;;;;;:::o;20091:332::-;20212:4;20250:2;20239:9;20235:18;20227:26;;20263:71;20331:1;20320:9;20316:17;20307:6;20263:71;:::i;:::-;20344:72;20412:2;20401:9;20397:18;20388:6;20344:72;:::i;:::-;20091:332;;;;;:::o;20429:116::-;20499:21;20514:5;20499:21;:::i;:::-;20492:5;20489:32;20479:60;;20535:1;20532;20525:12;20479:60;20429:116;:::o;20551:137::-;20605:5;20636:6;20630:13;20621:22;;20652:30;20676:5;20652:30;:::i;:::-;20551:137;;;;:::o;20694:345::-;20761:6;20810:2;20798:9;20789:7;20785:23;20781:32;20778:119;;;20816:79;;:::i;:::-;20778:119;20936:1;20961:61;21014:7;21005:6;20994:9;20990:22;20961:61;:::i;:::-;20951:71;;20907:125;20694:345;;;;:::o;21045:181::-;21185:33;21181:1;21173:6;21169:14;21162:57;21045:181;:::o;21232:366::-;21374:3;21395:67;21459:2;21454:3;21395:67;:::i;:::-;21388:74;;21471:93;21560:3;21471:93;:::i;:::-;21589:2;21584:3;21580:12;21573:19;;21232:366;;;:::o;21604:419::-;21770:4;21808:2;21797:9;21793:18;21785:26;;21857:9;21851:4;21847:20;21843:1;21832:9;21828:17;21821:47;21885:131;22011:4;21885:131;:::i;:::-;21877:139;;21604:419;;;:::o;22029:182::-;22169:34;22165:1;22157:6;22153:14;22146:58;22029:182;:::o;22217:366::-;22359:3;22380:67;22444:2;22439:3;22380:67;:::i;:::-;22373:74;;22456:93;22545:3;22456:93;:::i;:::-;22574:2;22569:3;22565:12;22558:19;;22217:366;;;:::o;22589:419::-;22755:4;22793:2;22782:9;22778:18;22770:26;;22842:9;22836:4;22832:20;22828:1;22817:9;22813:17;22806:47;22870:131;22996:4;22870:131;:::i;:::-;22862:139;;22589:419;;;:::o;23014:228::-;23154:34;23150:1;23142:6;23138:14;23131:58;23223:11;23218:2;23210:6;23206:15;23199:36;23014:228;:::o;23248:366::-;23390:3;23411:67;23475:2;23470:3;23411:67;:::i;:::-;23404:74;;23487:93;23576:3;23487:93;:::i;:::-;23605:2;23600:3;23596:12;23589:19;;23248:366;;;:::o;23620:419::-;23786:4;23824:2;23813:9;23809:18;23801:26;;23873:9;23867:4;23863:20;23859:1;23848:9;23844:17;23837:47;23901:131;24027:4;23901:131;:::i;:::-;23893:139;;23620:419;;;:::o;24045:170::-;24185:22;24181:1;24173:6;24169:14;24162:46;24045:170;:::o;24221:366::-;24363:3;24384:67;24448:2;24443:3;24384:67;:::i;:::-;24377:74;;24460:93;24549:3;24460:93;:::i;:::-;24578:2;24573:3;24569:12;24562:19;;24221:366;;;:::o;24593:419::-;24759:4;24797:2;24786:9;24782:18;24774:26;;24846:9;24840:4;24836:20;24832:1;24821:9;24817:17;24810:47;24874:131;25000:4;24874:131;:::i;:::-;24866:139;;24593:419;;;:::o;25018:175::-;25158:27;25154:1;25146:6;25142:14;25135:51;25018:175;:::o;25199:366::-;25341:3;25362:67;25426:2;25421:3;25362:67;:::i;:::-;25355:74;;25438:93;25527:3;25438:93;:::i;:::-;25556:2;25551:3;25547:12;25540:19;;25199:366;;;:::o;25571:419::-;25737:4;25775:2;25764:9;25760:18;25752:26;;25824:9;25818:4;25814:20;25810:1;25799:9;25795:17;25788:47;25852:131;25978:4;25852:131;:::i;:::-;25844:139;;25571:419;;;:::o;25996:191::-;26036:3;26055:20;26073:1;26055:20;:::i;:::-;26050:25;;26089:20;26107:1;26089:20;:::i;:::-;26084:25;;26132:1;26129;26125:9;26118:16;;26153:3;26150:1;26147:10;26144:36;;;26160:18;;:::i;:::-;26144:36;25996:191;;;;:::o;26193:176::-;26333:28;26329:1;26321:6;26317:14;26310:52;26193:176;:::o;26375:366::-;26517:3;26538:67;26602:2;26597:3;26538:67;:::i;:::-;26531:74;;26614:93;26703:3;26614:93;:::i;:::-;26732:2;26727:3;26723:12;26716:19;;26375:366;;;:::o;26747:419::-;26913:4;26951:2;26940:9;26936:18;26928:26;;27000:9;26994:4;26990:20;26986:1;26975:9;26971:17;26964:47;27028:131;27154:4;27028:131;:::i;:::-;27020:139;;26747:419;;;:::o;27172:233::-;27211:3;27234:24;27252:5;27234:24;:::i;:::-;27225:33;;27280:66;27273:5;27270:77;27267:103;;27350:18;;:::i;:::-;27267:103;27397:1;27390:5;27386:13;27379:20;;27172:233;;;:::o;27411:194::-;27451:4;27471:20;27489:1;27471:20;:::i;:::-;27466:25;;27505:20;27523:1;27505:20;:::i;:::-;27500:25;;27549:1;27546;27542:9;27534:17;;27573:1;27567:4;27564:11;27561:37;;;27578:18;;:::i;:::-;27561:37;27411:194;;;;:::o;27611:180::-;27659:77;27656:1;27649:88;27756:4;27753:1;27746:15;27780:4;27777:1;27770:15;27797:185;27837:1;27854:20;27872:1;27854:20;:::i;:::-;27849:25;;27888:20;27906:1;27888:20;:::i;:::-;27883:25;;27927:1;27917:35;;27932:18;;:::i;:::-;27917:35;27974:1;27971;27967:9;27962:14;;27797:185;;;;:::o;27988:220::-;28128:34;28124:1;28116:6;28112:14;28105:58;28197:3;28192:2;28184:6;28180:15;28173:28;27988:220;:::o;28214:366::-;28356:3;28377:67;28441:2;28436:3;28377:67;:::i;:::-;28370:74;;28453:93;28542:3;28453:93;:::i;:::-;28571:2;28566:3;28562:12;28555:19;;28214:366;;;:::o;28586:419::-;28752:4;28790:2;28779:9;28775:18;28767:26;;28839:9;28833:4;28829:20;28825:1;28814:9;28810:17;28803:47;28867:131;28993:4;28867:131;:::i;:::-;28859:139;;28586:419;;;:::o;29011:180::-;29059:77;29056:1;29049:88;29156:4;29153:1;29146:15;29180:4;29177:1;29170:15;29197:180;29245:77;29242:1;29235:88;29342:4;29339:1;29332:15;29366:4;29363:1;29356:15;29383:114;29450:6;29484:5;29478:12;29468:22;;29383:114;;;:::o;29503:184::-;29602:11;29636:6;29631:3;29624:19;29676:4;29671:3;29667:14;29652:29;;29503:184;;;;:::o;29693:132::-;29760:4;29783:3;29775:11;;29813:4;29808:3;29804:14;29796:22;;29693:132;;;:::o;29831:108::-;29908:24;29926:5;29908:24;:::i;:::-;29903:3;29896:37;29831:108;;:::o;29945:179::-;30014:10;30035:46;30077:3;30069:6;30035:46;:::i;:::-;30113:4;30108:3;30104:14;30090:28;;29945:179;;;;:::o;30130:113::-;30200:4;30232;30227:3;30223:14;30215:22;;30130:113;;;:::o;30279:732::-;30398:3;30427:54;30475:5;30427:54;:::i;:::-;30497:86;30576:6;30571:3;30497:86;:::i;:::-;30490:93;;30607:56;30657:5;30607:56;:::i;:::-;30686:7;30717:1;30702:284;30727:6;30724:1;30721:13;30702:284;;;30803:6;30797:13;30830:63;30889:3;30874:13;30830:63;:::i;:::-;30823:70;;30916:60;30969:6;30916:60;:::i;:::-;30906:70;;30762:224;30749:1;30746;30742:9;30737:14;;30702:284;;;30706:14;31002:3;30995:10;;30403:608;;;30279:732;;;;:::o;31017:831::-;31280:4;31318:3;31307:9;31303:19;31295:27;;31332:71;31400:1;31389:9;31385:17;31376:6;31332:71;:::i;:::-;31413:80;31489:2;31478:9;31474:18;31465:6;31413:80;:::i;:::-;31540:9;31534:4;31530:20;31525:2;31514:9;31510:18;31503:48;31568:108;31671:4;31662:6;31568:108;:::i;:::-;31560:116;;31686:72;31754:2;31743:9;31739:18;31730:6;31686:72;:::i;:::-;31768:73;31836:3;31825:9;31821:19;31812:6;31768:73;:::i;:::-;31017:831;;;;;;;;:::o;31854:177::-;31994:29;31990:1;31982:6;31978:14;31971:53;31854:177;:::o;32037:366::-;32179:3;32200:67;32264:2;32259:3;32200:67;:::i;:::-;32193:74;;32276:93;32365:3;32276:93;:::i;:::-;32394:2;32389:3;32385:12;32378:19;;32037:366;;;:::o;32409:419::-;32575:4;32613:2;32602:9;32598:18;32590:26;;32662:9;32656:4;32652:20;32648:1;32637:9;32633:17;32626:47;32690:131;32816:4;32690:131;:::i;:::-;32682:139;;32409:419;;;:::o

Swarm Source

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