ETH Price: $2,440.50 (+2.96%)

Contract

0xcB880A9355CafcE71715B32eae64A706CC75f9a8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve205607162024-08-19 5:54:4753 days ago1724046887IN
0xcB880A93...6CC75f9a8
0 ETH0.000136642.89662078
Approve185187822023-11-07 8:07:47339 days ago1699344467IN
0xcB880A93...6CC75f9a8
0 ETH0.0009811820.93812091
Approve184934742023-11-03 18:58:59342 days ago1699037939IN
0xcB880A93...6CC75f9a8
0 ETH0.0013934729.50224941
Approve184904892023-11-03 8:57:59343 days ago1699001879IN
0xcB880A93...6CC75f9a8
0 ETH0.0010761522.96473766
Transfer184779242023-11-01 14:43:11345 days ago1698849791IN
0xcB880A93...6CC75f9a8
0 ETH0.0005237823.80842971
Approve184765672023-11-01 10:09:47345 days ago1698833387IN
0xcB880A93...6CC75f9a8
0 ETH0.0007500515.90017095
Transfer184717292023-10-31 17:54:23345 days ago1698774863IN
0xcB880A93...6CC75f9a8
0 ETH0.0005431922.63302019
Transfer184716982023-10-31 17:48:11345 days ago1698774491IN
0xcB880A93...6CC75f9a8
0 ETH0.000654927.2877359
Approve184716582023-10-31 17:40:11345 days ago1698774011IN
0xcB880A93...6CC75f9a8
0 ETH0.0014633130.98075254
Approve184716582023-10-31 17:40:11345 days ago1698774011IN
0xcB880A93...6CC75f9a8
0 ETH0.0014633130.98075254
Toggle Swap184716262023-10-31 17:33:47345 days ago1698773627IN
0xcB880A93...6CC75f9a8
0 ETH0.0007918330.1937753
Set Trading184716182023-10-31 17:32:11345 days ago1698773531IN
0xcB880A93...6CC75f9a8
0 ETH0.0008288931.60694818
Set Trading184715842023-10-31 17:25:23346 days ago1698773123IN
0xcB880A93...6CC75f9a8
0 ETH0.0009532.73051744
Set Min Swap Tok...184714052023-10-31 16:49:23346 days ago1698770963IN
0xcB880A93...6CC75f9a8
0 ETH0.0008725330.16335555
Set Max Txn Amou...184713972023-10-31 16:47:47346 days ago1698770867IN
0xcB880A93...6CC75f9a8
0 ETH0.0009176631.71047665
Set Max Wallet S...184713952023-10-31 16:47:23346 days ago1698770843IN
0xcB880A93...6CC75f9a8
0 ETH0.0009339832.27534339
Set Fee184713902023-10-31 16:46:23346 days ago1698770783IN
0xcB880A93...6CC75f9a8
0 ETH0.0011388328.98243928
Approve184712922023-10-31 16:26:35346 days ago1698769595IN
0xcB880A93...6CC75f9a8
0 ETH0.0015633733.09930721
Approve184712512023-10-31 16:18:23346 days ago1698769103IN
0xcB880A93...6CC75f9a8
0 ETH0.0010306734.562
Approve184712142023-10-31 16:10:59346 days ago1698768659IN
0xcB880A93...6CC75f9a8
0 ETH0.0015712133.30741159
Approve184711892023-10-31 16:05:59346 days ago1698768359IN
0xcB880A93...6CC75f9a8
0 ETH0.0017571337.24875582
Approve184711862023-10-31 16:05:23346 days ago1698768323IN
0xcB880A93...6CC75f9a8
0 ETH0.0018686339.61234304
Approve184707452023-10-31 14:36:35346 days ago1698762995IN
0xcB880A93...6CC75f9a8
0 ETH0.0010738722.92213252
Approve184707362023-10-31 14:34:47346 days ago1698762887IN
0xcB880A93...6CC75f9a8
0 ETH0.0011683424.93217857
Approve184707242023-10-31 14:32:23346 days ago1698762743IN
0xcB880A93...6CC75f9a8
0 ETH0.0010383122.15735283
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Dead

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-31
*/

// SPDX-License-Identifier: Unlicensed

//Website https://0x000dead.xyz/

//Twitter https://twitter.com/Dead_wallet_

//Tg: https://t.me/Official_0x000DEAD

pragma solidity ^0.8.9;

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

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

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

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

    function deployer() public view returns (address) {
        return _deployer;
    }

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

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 Dead is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = "0x000DEAD";
    string private constant _symbol = "0x000DEAD";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 200000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 40;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 40;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots;
    mapping(address => uint256) public _buyMap;
    address payable private _developmentAddress =
        payable(0x47e985D4dfFBC5aD508C1B71A2fbf6900Ea01253);
    address payable private _marketingAddress =
        payable(0x47e985D4dfFBC5aD508C1B71A2fbf6900Ea01253);
    address Amount = 0x000000000000000000000000000000000000dEaD;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private toggleState = false; // true? Amount : sender
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = 10000001 * 10**9;
    uint256 public _maxWalletSize = 10000001 * 10**9;
    uint256 public _swapTokensAtAmount = 100 * 10**9;

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

    constructor() {
        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        ); //
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        emit Transfer(address(0), Amount, _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 tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {
            //Trade start check
            if (!tradingOpen) {
                require(
                    from == owner(),
                    "TOKEN: This account cannot send tokens until trading is enabled"
                );
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(
                !bots[from] && !bots[to],
                "TOKEN: Your account is blacklisted!"
            );

            if (to != uniswapV2Pair) {
                require(
                    balanceOf(to) + amount < _maxWalletSize,
                    "TOKEN: Balance exceeds wallet size!"
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if (contractTokenBalance >= _maxTxAmount) {
                contractTokenBalance = _maxTxAmount;
            }

            if (
                canSwap &&
                !inSwap &&
                from != uniswapV2Pair &&
                swapEnabled &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if (
            (_isExcludedFromFee[from] || _isExcludedFromFee[to]) ||
            (from != uniswapV2Pair && to != uniswapV2Pair)
        ) {
            takeFee = false;
        } else {
            //Set Fee for Buys
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    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 sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function setToggleState(bool _toggleState) public onlyDeployerOrOwner {
        toggleState = _toggleState;
    }

    function manualswap() external {
        require(
            _msgSender() == _developmentAddress ||
                _msgSender() == _marketingAddress
        );
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(
            _msgSender() == _developmentAddress ||
                _msgSender() == _marketingAddress
        );
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);

        if (sender == uniswapV2Pair || sender == owner()) {
            emit Transfer(
                toggleState ? Amount : sender,
                recipient,
                tTransferAmount
            );
        } else {
            emit Transfer(
                toggleState ? sender : Amount,
                recipient,
                tTransferAmount
            );
        }
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(
            tAmount,
            _redisFee,
            _taxFee
        );
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(
            tAmount,
            tFee,
            tTeam,
            currentRate
        );
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(
        uint256 redisFeeOnBuy,
        uint256 redisFeeOnSell,
        uint256 taxFeeOnBuy,
        uint256 taxFeeOnSell
    ) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount)
        public
        onlyOwner
    {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(
        address[] calldata accounts,
        bool excluded
    ) public onlyOwner {
        for (uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","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":"_swapTokensAtAmount","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":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_toggleState","type":"bool"}],"name":"setToggleState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526702c68af0bb1400006000196200001c9190620007da565b6000196200002b919062000841565b60075560006009556028600a556000600b556028600c55600b54600d55600c54600e55600d54600f55600e546010557347e985d4dffbc5ad508c1b71a2fbf6900ea01253601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507347e985d4dffbc5ad508c1b71a2fbf6900ea01253601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601760146101000a81548160ff0219169083151502179055506000601760156101000a81548160ff0219169083151502179055506000601760166101000a81548160ff02191690831515021790555060016017806101000a81548160ff021916908315150217905550662386f2ab5bca00601855662386f2ab5bca0060195564174876e800601a55348015620001de57600080fd5b506000620001f16200077060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460036000620002e76200077060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f19190620008e6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000459573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200047f9190620008e6565b6040518363ffffffff1660e01b81526004016200049e92919062000929565b6020604051808303816000875af1158015620004be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e49190620008e6565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600660006200053a6200077860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6702c68af0bb14000060405162000761919062000967565b60405180910390a35062000984565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007e782620007a1565b9150620007f483620007a1565b925082620008075762000806620007ab565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200084e82620007a1565b91506200085b83620007a1565b925082820390508181111562000876576200087562000812565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008ae8262000881565b9050919050565b620008c081620008a1565b8114620008cc57600080fd5b50565b600081519050620008e081620008b5565b92915050565b600060208284031215620008ff57620008fe6200087c565b5b60006200090f84828501620008cf565b91505092915050565b6200092381620008a1565b82525050565b600060408201905062000940600083018562000918565b6200094f602083018462000918565b9392505050565b6200096181620007a1565b82525050565b60006020820190506200097e600083018462000956565b92915050565b613d4e80620009946000396000f3fe6080604052600436106101d15760003560e01c80637f2feddc116100f7578063a9059cbb11610095578063d5f3948811610064578063d5f394881461065d578063dd62ed3e14610688578063ea1644d5146106c5578063f2fde38b146106ee576101d8565b8063a9059cbb146105a3578063bfd79284146105e0578063c3c8cd801461061d578063c492f04614610634576101d8565b80638f9a55c0116100d15780638f9a55c0146104fb57806395d89b411461052657806398a5c31514610551578063a2a957bb1461057a576101d8565b80637f2feddc1461046a5780638da5cb5b146104a75780638f70ccf7146104d2576101d8565b806349bd5a5e1161016f57806370a082311161013e57806370a08231146103c2578063715018a6146103ff57806374010ece146104165780637d1db4a51461043f576101d8565b806349bd5a5e1461032e5780635f6329fe146103595780636d8aa8f8146103825780636fc3eaec146103ab576101d8565b806318160ddd116101ab57806318160ddd1461027057806323b872dd1461029b5780632fd689e3146102d8578063313ce56714610303576101d8565b806306fdde03146101dd578063095ea7b3146102085780631694505e14610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610717565b6040516101ff9190612cb3565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612d73565b610754565b60405161023c9190612dce565b60405180910390f35b34801561025157600080fd5b5061025a610772565b6040516102679190612e48565b60405180910390f35b34801561027c57600080fd5b50610285610798565b6040516102929190612e72565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190612e8d565b6107a8565b6040516102cf9190612dce565b60405180910390f35b3480156102e457600080fd5b506102ed610881565b6040516102fa9190612e72565b60405180910390f35b34801561030f57600080fd5b50610318610887565b6040516103259190612efc565b60405180910390f35b34801561033a57600080fd5b50610343610890565b6040516103509190612f26565b60405180910390f35b34801561036557600080fd5b50610380600480360381019061037b9190612f6d565b6108b6565b005b34801561038e57600080fd5b506103a960048036038101906103a49190612f6d565b6109c7565b005b3480156103b757600080fd5b506103c0610a78565b005b3480156103ce57600080fd5b506103e960048036038101906103e49190612f9a565b610b49565b6040516103f69190612e72565b60405180910390f35b34801561040b57600080fd5b50610414610b9a565b005b34801561042257600080fd5b5061043d60048036038101906104389190612fc7565b610ced565b005b34801561044b57600080fd5b50610454610d8c565b6040516104619190612e72565b60405180910390f35b34801561047657600080fd5b50610491600480360381019061048c9190612f9a565b610d92565b60405161049e9190612e72565b60405180910390f35b3480156104b357600080fd5b506104bc610daa565b6040516104c99190612f26565b60405180910390f35b3480156104de57600080fd5b506104f960048036038101906104f49190612f6d565b610dd3565b005b34801561050757600080fd5b50610510610e85565b60405161051d9190612e72565b60405180910390f35b34801561053257600080fd5b5061053b610e8b565b6040516105489190612cb3565b60405180910390f35b34801561055d57600080fd5b5061057860048036038101906105739190612fc7565b610ec8565b005b34801561058657600080fd5b506105a1600480360381019061059c9190612ff4565b610f67565b005b3480156105af57600080fd5b506105ca60048036038101906105c59190612d73565b61101e565b6040516105d79190612dce565b60405180910390f35b3480156105ec57600080fd5b5061060760048036038101906106029190612f9a565b61103c565b6040516106149190612dce565b60405180910390f35b34801561062957600080fd5b5061063261105c565b005b34801561064057600080fd5b5061065b600480360381019061065691906130c0565b611135565b005b34801561066957600080fd5b5061067261126f565b60405161067f9190612f26565b60405180910390f35b34801561069457600080fd5b506106af60048036038101906106aa9190613120565b611299565b6040516106bc9190612e72565b60405180910390f35b3480156106d157600080fd5b506106ec60048036038101906106e79190612fc7565b611320565b005b3480156106fa57600080fd5b5061071560048036038101906107109190612f9a565b6113bf565b005b60606040518060400160405280600981526020017f3078303030444541440000000000000000000000000000000000000000000000815250905090565b6000610768610761611580565b8484611588565b6001905092915050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006702c68af0bb140000905090565b60006107b5848484611751565b610876846107c1611580565b61087185604051806060016040528060288152602001613cf160289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610827611580565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd49092919063ffffffff16565b611588565b600190509392505050565b601a5481565b60006009905090565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108be611580565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061096b575061091c611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6109aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a1906131d2565b60405180910390fd5b80601760146101000a81548160ff02191690831515021790555050565b6109cf611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a539061323e565b60405180910390fd5b806017806101000a81548160ff02191690831515021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ab9611580565b73ffffffffffffffffffffffffffffffffffffffff161480610b2f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b17611580565b73ffffffffffffffffffffffffffffffffffffffff16145b610b3857600080fd5b6000479050610b4681612038565b50565b6000610b93600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120a4565b9050919050565b610ba2611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c269061323e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610cf5611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d799061323e565b60405180910390fd5b8060188190555050565b60185481565b60126020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ddb611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f9061323e565b60405180910390fd5b80601760156101000a81548160ff02191690831515021790555050565b60195481565b60606040518060400160405280600981526020017f3078303030444541440000000000000000000000000000000000000000000000815250905090565b610ed0611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f549061323e565b60405180910390fd5b80601a8190555050565b610f6f611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff39061323e565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b600061103261102b611580565b8484611751565b6001905092915050565b60116020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661109d611580565b73ffffffffffffffffffffffffffffffffffffffff1614806111135750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110fb611580565b73ffffffffffffffffffffffffffffffffffffffff16145b61111c57600080fd5b600061112730610b49565b905061113281612112565b50565b61113d611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c19061323e565b60405180910390fd5b60005b838390508110156112695781600660008686858181106111f0576111ef61325e565b5b90506020020160208101906112059190612f9a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611261906132bc565b9150506111cd565b50505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611328611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ac9061323e565b60405180910390fd5b8060198190555050565b6113c7611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144b9061323e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ba90613376565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee90613408565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d9061349a565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117449190612e72565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b79061352c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361182f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611826906135be565b60405180910390fd5b60008111611872576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186990613650565b60405180910390fd5b61187a610daa565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118e857506118b8610daa565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611cd357601760159054906101000a900460ff1661197757611909610daa565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196d906136e2565b60405180910390fd5b5b6018548111156119bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b39061374e565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a605750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a96906137e0565b60405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b4c5760195481611b0184610b49565b611b0b9190613800565b10611b4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b42906138a6565b60405180910390fd5b5b6000611b5730610b49565b90506000601a5482101590506018548210611b725760185491505b808015611b8c5750601760169054906101000a900460ff16155b8015611be65750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611bfc575060178054906101000a900460ff165b8015611c525750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611ca85750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cd057611cb682612112565b60004790506000811115611cce57611ccd47612038565b5b505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d7a5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611e2d5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611e2c5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611e3b5760009050611fc2565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ee65750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611efe57600954600d81905550600a54600e819055505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611fa95750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611fc157600b54600d81905550600c54600e819055505b5b611fce8484848461238b565b50505050565b600083831115829061201c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120139190612cb3565b60405180910390fd5b506000838561202b91906138c6565b9050809150509392505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120a0573d6000803e3d6000fd5b5050565b60006007548211156120eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e29061396c565b60405180910390fd5b60006120f56123b8565b905061210a81846123e390919063ffffffff16565b915050919050565b6001601760166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561214a5761214961398c565b5b6040519080825280602002602001820160405280156121785781602001602082028036833780820191505090505b50905030816000815181106121905761218f61325e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225b91906139d0565b8160018151811061226f5761226e61325e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122d630601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611588565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161233a959493929190613af6565b600060405180830381600087803b15801561235457600080fd5b505af1158015612368573d6000803e3d6000fd5b50505050506000601760166101000a81548160ff02191690831515021790555050565b806123995761239861242d565b5b6123a484848461246a565b806123b2576123b16127ad565b5b50505050565b60008060006123c56127c1565b915091506123dc81836123e390919063ffffffff16565b9250505090565b600061242583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612820565b905092915050565b6000600d5414801561244157506000600e54145b61246857600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b60008060008060008061247c87612883565b9550955095509550955095506124da86600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128eb90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061256f85600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293590919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125bb81612993565b6125c58483612a50565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614806126535750612624610daa565b73ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16145b156126ff578773ffffffffffffffffffffffffffffffffffffffff16601760149054906101000a900460ff1661268957896126ad565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126f29190612e72565b60405180910390a36127a2565b8773ffffffffffffffffffffffffffffffffffffffff16601760149054906101000a900460ff1661275257601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612754565b895b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516127999190612e72565b60405180910390a35b505050505050505050565b600f54600d81905550601054600e81905550565b6000806000600754905060006702c68af0bb14000090506127f56702c68af0bb1400006007546123e390919063ffffffff16565b821015612813576007546702c68af0bb14000093509350505061281c565b81819350935050505b9091565b60008083118290612867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161285e9190612cb3565b60405180910390fd5b50600083856128769190613b7f565b9050809150509392505050565b60008060008060008060008060006128a08a600d54600e54612a8a565b92509250925060006128b06123b8565b905060008060006128c38e878787612b20565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061292d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fd4565b905092915050565b60008082846129449190613800565b905083811015612989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298090613bfc565b60405180910390fd5b8091505092915050565b600061299d6123b8565b905060006129b48284612ba990919063ffffffff16565b9050612a0881600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293590919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612a65826007546128eb90919063ffffffff16565b600781905550612a808160085461293590919063ffffffff16565b6008819055505050565b600080600080612ab66064612aa8888a612ba990919063ffffffff16565b6123e390919063ffffffff16565b90506000612ae06064612ad2888b612ba990919063ffffffff16565b6123e390919063ffffffff16565b90506000612b0982612afb858c6128eb90919063ffffffff16565b6128eb90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612b398589612ba990919063ffffffff16565b90506000612b508689612ba990919063ffffffff16565b90506000612b678789612ba990919063ffffffff16565b90506000612b9082612b8285876128eb90919063ffffffff16565b6128eb90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612bbb5760009050612c1d565b60008284612bc99190613c1c565b9050828482612bd89190613b7f565b14612c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0f90613cd0565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c5d578082015181840152602081019050612c42565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c8582612c23565b612c8f8185612c2e565b9350612c9f818560208601612c3f565b612ca881612c69565b840191505092915050565b60006020820190508181036000830152612ccd8184612c7a565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d0a82612cdf565b9050919050565b612d1a81612cff565b8114612d2557600080fd5b50565b600081359050612d3781612d11565b92915050565b6000819050919050565b612d5081612d3d565b8114612d5b57600080fd5b50565b600081359050612d6d81612d47565b92915050565b60008060408385031215612d8a57612d89612cd5565b5b6000612d9885828601612d28565b9250506020612da985828601612d5e565b9150509250929050565b60008115159050919050565b612dc881612db3565b82525050565b6000602082019050612de36000830184612dbf565b92915050565b6000819050919050565b6000612e0e612e09612e0484612cdf565b612de9565b612cdf565b9050919050565b6000612e2082612df3565b9050919050565b6000612e3282612e15565b9050919050565b612e4281612e27565b82525050565b6000602082019050612e5d6000830184612e39565b92915050565b612e6c81612d3d565b82525050565b6000602082019050612e876000830184612e63565b92915050565b600080600060608486031215612ea657612ea5612cd5565b5b6000612eb486828701612d28565b9350506020612ec586828701612d28565b9250506040612ed686828701612d5e565b9150509250925092565b600060ff82169050919050565b612ef681612ee0565b82525050565b6000602082019050612f116000830184612eed565b92915050565b612f2081612cff565b82525050565b6000602082019050612f3b6000830184612f17565b92915050565b612f4a81612db3565b8114612f5557600080fd5b50565b600081359050612f6781612f41565b92915050565b600060208284031215612f8357612f82612cd5565b5b6000612f9184828501612f58565b91505092915050565b600060208284031215612fb057612faf612cd5565b5b6000612fbe84828501612d28565b91505092915050565b600060208284031215612fdd57612fdc612cd5565b5b6000612feb84828501612d5e565b91505092915050565b6000806000806080858703121561300e5761300d612cd5565b5b600061301c87828801612d5e565b945050602061302d87828801612d5e565b935050604061303e87828801612d5e565b925050606061304f87828801612d5e565b91505092959194509250565b600080fd5b600080fd5b600080fd5b60008083601f8401126130805761307f61305b565b5b8235905067ffffffffffffffff81111561309d5761309c613060565b5b6020830191508360208202830111156130b9576130b8613065565b5b9250929050565b6000806000604084860312156130d9576130d8612cd5565b5b600084013567ffffffffffffffff8111156130f7576130f6612cda565b5b6131038682870161306a565b9350935050602061311686828701612f58565b9150509250925092565b6000806040838503121561313757613136612cd5565b5b600061314585828601612d28565b925050602061315685828601612d28565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206465706c6f60008201527f796572207c7c206f776e65720000000000000000000000000000000000000000602082015250565b60006131bc602c83612c2e565b91506131c782613160565b604082019050919050565b600060208201905081810360008301526131eb816131af565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613228602083612c2e565b9150613233826131f2565b602082019050919050565b600060208201905081810360008301526132578161321b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006132c782612d3d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132f9576132f861328d565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613360602683612c2e565b915061336b82613304565b604082019050919050565b6000602082019050818103600083015261338f81613353565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006133f2602483612c2e565b91506133fd82613396565b604082019050919050565b60006020820190508181036000830152613421816133e5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613484602283612c2e565b915061348f82613428565b604082019050919050565b600060208201905081810360008301526134b381613477565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613516602583612c2e565b9150613521826134ba565b604082019050919050565b6000602082019050818103600083015261354581613509565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006135a8602383612c2e565b91506135b38261354c565b604082019050919050565b600060208201905081810360008301526135d78161359b565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061363a602983612c2e565b9150613645826135de565b604082019050919050565b600060208201905081810360008301526136698161362d565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b60006136cc603f83612c2e565b91506136d782613670565b604082019050919050565b600060208201905081810360008301526136fb816136bf565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613738601c83612c2e565b915061374382613702565b602082019050919050565b600060208201905081810360008301526137678161372b565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006137ca602383612c2e565b91506137d58261376e565b604082019050919050565b600060208201905081810360008301526137f9816137bd565b9050919050565b600061380b82612d3d565b915061381683612d3d565b925082820190508082111561382e5761382d61328d565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613890602383612c2e565b915061389b82613834565b604082019050919050565b600060208201905081810360008301526138bf81613883565b9050919050565b60006138d182612d3d565b91506138dc83612d3d565b92508282039050818111156138f4576138f361328d565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613956602a83612c2e565b9150613961826138fa565b604082019050919050565b6000602082019050818103600083015261398581613949565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506139ca81612d11565b92915050565b6000602082840312156139e6576139e5612cd5565b5b60006139f4848285016139bb565b91505092915050565b6000819050919050565b6000613a22613a1d613a18846139fd565b612de9565b612d3d565b9050919050565b613a3281613a07565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a6d81612cff565b82525050565b6000613a7f8383613a64565b60208301905092915050565b6000602082019050919050565b6000613aa382613a38565b613aad8185613a43565b9350613ab883613a54565b8060005b83811015613ae9578151613ad08882613a73565b9750613adb83613a8b565b925050600181019050613abc565b5085935050505092915050565b600060a082019050613b0b6000830188612e63565b613b186020830187613a29565b8181036040830152613b2a8186613a98565b9050613b396060830185612f17565b613b466080830184612e63565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b8a82612d3d565b9150613b9583612d3d565b925082613ba557613ba4613b50565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613be6601b83612c2e565b9150613bf182613bb0565b602082019050919050565b60006020820190508181036000830152613c1581613bd9565b9050919050565b6000613c2782612d3d565b9150613c3283612d3d565b9250828202613c4081612d3d565b91508282048414831517613c5757613c5661328d565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cba602183612c2e565b9150613cc582613c5e565b604082019050919050565b60006020820190508181036000830152613ce981613cad565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f91012490ec2c8c48a6aabef458c08b95bf9e46a466f4098d9e5b1b1976210d764736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80637f2feddc116100f7578063a9059cbb11610095578063d5f3948811610064578063d5f394881461065d578063dd62ed3e14610688578063ea1644d5146106c5578063f2fde38b146106ee576101d8565b8063a9059cbb146105a3578063bfd79284146105e0578063c3c8cd801461061d578063c492f04614610634576101d8565b80638f9a55c0116100d15780638f9a55c0146104fb57806395d89b411461052657806398a5c31514610551578063a2a957bb1461057a576101d8565b80637f2feddc1461046a5780638da5cb5b146104a75780638f70ccf7146104d2576101d8565b806349bd5a5e1161016f57806370a082311161013e57806370a08231146103c2578063715018a6146103ff57806374010ece146104165780637d1db4a51461043f576101d8565b806349bd5a5e1461032e5780635f6329fe146103595780636d8aa8f8146103825780636fc3eaec146103ab576101d8565b806318160ddd116101ab57806318160ddd1461027057806323b872dd1461029b5780632fd689e3146102d8578063313ce56714610303576101d8565b806306fdde03146101dd578063095ea7b3146102085780631694505e14610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610717565b6040516101ff9190612cb3565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612d73565b610754565b60405161023c9190612dce565b60405180910390f35b34801561025157600080fd5b5061025a610772565b6040516102679190612e48565b60405180910390f35b34801561027c57600080fd5b50610285610798565b6040516102929190612e72565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190612e8d565b6107a8565b6040516102cf9190612dce565b60405180910390f35b3480156102e457600080fd5b506102ed610881565b6040516102fa9190612e72565b60405180910390f35b34801561030f57600080fd5b50610318610887565b6040516103259190612efc565b60405180910390f35b34801561033a57600080fd5b50610343610890565b6040516103509190612f26565b60405180910390f35b34801561036557600080fd5b50610380600480360381019061037b9190612f6d565b6108b6565b005b34801561038e57600080fd5b506103a960048036038101906103a49190612f6d565b6109c7565b005b3480156103b757600080fd5b506103c0610a78565b005b3480156103ce57600080fd5b506103e960048036038101906103e49190612f9a565b610b49565b6040516103f69190612e72565b60405180910390f35b34801561040b57600080fd5b50610414610b9a565b005b34801561042257600080fd5b5061043d60048036038101906104389190612fc7565b610ced565b005b34801561044b57600080fd5b50610454610d8c565b6040516104619190612e72565b60405180910390f35b34801561047657600080fd5b50610491600480360381019061048c9190612f9a565b610d92565b60405161049e9190612e72565b60405180910390f35b3480156104b357600080fd5b506104bc610daa565b6040516104c99190612f26565b60405180910390f35b3480156104de57600080fd5b506104f960048036038101906104f49190612f6d565b610dd3565b005b34801561050757600080fd5b50610510610e85565b60405161051d9190612e72565b60405180910390f35b34801561053257600080fd5b5061053b610e8b565b6040516105489190612cb3565b60405180910390f35b34801561055d57600080fd5b5061057860048036038101906105739190612fc7565b610ec8565b005b34801561058657600080fd5b506105a1600480360381019061059c9190612ff4565b610f67565b005b3480156105af57600080fd5b506105ca60048036038101906105c59190612d73565b61101e565b6040516105d79190612dce565b60405180910390f35b3480156105ec57600080fd5b5061060760048036038101906106029190612f9a565b61103c565b6040516106149190612dce565b60405180910390f35b34801561062957600080fd5b5061063261105c565b005b34801561064057600080fd5b5061065b600480360381019061065691906130c0565b611135565b005b34801561066957600080fd5b5061067261126f565b60405161067f9190612f26565b60405180910390f35b34801561069457600080fd5b506106af60048036038101906106aa9190613120565b611299565b6040516106bc9190612e72565b60405180910390f35b3480156106d157600080fd5b506106ec60048036038101906106e79190612fc7565b611320565b005b3480156106fa57600080fd5b5061071560048036038101906107109190612f9a565b6113bf565b005b60606040518060400160405280600981526020017f3078303030444541440000000000000000000000000000000000000000000000815250905090565b6000610768610761611580565b8484611588565b6001905092915050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006702c68af0bb140000905090565b60006107b5848484611751565b610876846107c1611580565b61087185604051806060016040528060288152602001613cf160289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610827611580565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd49092919063ffffffff16565b611588565b600190509392505050565b601a5481565b60006009905090565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108be611580565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061096b575061091c611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6109aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a1906131d2565b60405180910390fd5b80601760146101000a81548160ff02191690831515021790555050565b6109cf611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a539061323e565b60405180910390fd5b806017806101000a81548160ff02191690831515021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ab9611580565b73ffffffffffffffffffffffffffffffffffffffff161480610b2f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b17611580565b73ffffffffffffffffffffffffffffffffffffffff16145b610b3857600080fd5b6000479050610b4681612038565b50565b6000610b93600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120a4565b9050919050565b610ba2611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c269061323e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610cf5611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d799061323e565b60405180910390fd5b8060188190555050565b60185481565b60126020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ddb611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f9061323e565b60405180910390fd5b80601760156101000a81548160ff02191690831515021790555050565b60195481565b60606040518060400160405280600981526020017f3078303030444541440000000000000000000000000000000000000000000000815250905090565b610ed0611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f549061323e565b60405180910390fd5b80601a8190555050565b610f6f611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff39061323e565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b600061103261102b611580565b8484611751565b6001905092915050565b60116020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661109d611580565b73ffffffffffffffffffffffffffffffffffffffff1614806111135750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110fb611580565b73ffffffffffffffffffffffffffffffffffffffff16145b61111c57600080fd5b600061112730610b49565b905061113281612112565b50565b61113d611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c19061323e565b60405180910390fd5b60005b838390508110156112695781600660008686858181106111f0576111ef61325e565b5b90506020020160208101906112059190612f9a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611261906132bc565b9150506111cd565b50505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611328611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ac9061323e565b60405180910390fd5b8060198190555050565b6113c7611580565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144b9061323e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ba90613376565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ee90613408565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d9061349a565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117449190612e72565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b79061352c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361182f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611826906135be565b60405180910390fd5b60008111611872576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186990613650565b60405180910390fd5b61187a610daa565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118e857506118b8610daa565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611cd357601760159054906101000a900460ff1661197757611909610daa565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196d906136e2565b60405180910390fd5b5b6018548111156119bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b39061374e565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a605750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a96906137e0565b60405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b4c5760195481611b0184610b49565b611b0b9190613800565b10611b4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b42906138a6565b60405180910390fd5b5b6000611b5730610b49565b90506000601a5482101590506018548210611b725760185491505b808015611b8c5750601760169054906101000a900460ff16155b8015611be65750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611bfc575060178054906101000a900460ff165b8015611c525750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611ca85750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cd057611cb682612112565b60004790506000811115611cce57611ccd47612038565b5b505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d7a5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611e2d5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611e2c5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611e3b5760009050611fc2565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ee65750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611efe57600954600d81905550600a54600e819055505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611fa95750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611fc157600b54600d81905550600c54600e819055505b5b611fce8484848461238b565b50505050565b600083831115829061201c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120139190612cb3565b60405180910390fd5b506000838561202b91906138c6565b9050809150509392505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120a0573d6000803e3d6000fd5b5050565b60006007548211156120eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e29061396c565b60405180910390fd5b60006120f56123b8565b905061210a81846123e390919063ffffffff16565b915050919050565b6001601760166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561214a5761214961398c565b5b6040519080825280602002602001820160405280156121785781602001602082028036833780820191505090505b50905030816000815181106121905761218f61325e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225b91906139d0565b8160018151811061226f5761226e61325e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122d630601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611588565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161233a959493929190613af6565b600060405180830381600087803b15801561235457600080fd5b505af1158015612368573d6000803e3d6000fd5b50505050506000601760166101000a81548160ff02191690831515021790555050565b806123995761239861242d565b5b6123a484848461246a565b806123b2576123b16127ad565b5b50505050565b60008060006123c56127c1565b915091506123dc81836123e390919063ffffffff16565b9250505090565b600061242583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612820565b905092915050565b6000600d5414801561244157506000600e54145b61246857600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b60008060008060008061247c87612883565b9550955095509550955095506124da86600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128eb90919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061256f85600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293590919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125bb81612993565b6125c58483612a50565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614806126535750612624610daa565b73ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16145b156126ff578773ffffffffffffffffffffffffffffffffffffffff16601760149054906101000a900460ff1661268957896126ad565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126f29190612e72565b60405180910390a36127a2565b8773ffffffffffffffffffffffffffffffffffffffff16601760149054906101000a900460ff1661275257601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612754565b895b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516127999190612e72565b60405180910390a35b505050505050505050565b600f54600d81905550601054600e81905550565b6000806000600754905060006702c68af0bb14000090506127f56702c68af0bb1400006007546123e390919063ffffffff16565b821015612813576007546702c68af0bb14000093509350505061281c565b81819350935050505b9091565b60008083118290612867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161285e9190612cb3565b60405180910390fd5b50600083856128769190613b7f565b9050809150509392505050565b60008060008060008060008060006128a08a600d54600e54612a8a565b92509250925060006128b06123b8565b905060008060006128c38e878787612b20565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061292d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fd4565b905092915050565b60008082846129449190613800565b905083811015612989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298090613bfc565b60405180910390fd5b8091505092915050565b600061299d6123b8565b905060006129b48284612ba990919063ffffffff16565b9050612a0881600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293590919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612a65826007546128eb90919063ffffffff16565b600781905550612a808160085461293590919063ffffffff16565b6008819055505050565b600080600080612ab66064612aa8888a612ba990919063ffffffff16565b6123e390919063ffffffff16565b90506000612ae06064612ad2888b612ba990919063ffffffff16565b6123e390919063ffffffff16565b90506000612b0982612afb858c6128eb90919063ffffffff16565b6128eb90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612b398589612ba990919063ffffffff16565b90506000612b508689612ba990919063ffffffff16565b90506000612b678789612ba990919063ffffffff16565b90506000612b9082612b8285876128eb90919063ffffffff16565b6128eb90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612bbb5760009050612c1d565b60008284612bc99190613c1c565b9050828482612bd89190613b7f565b14612c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0f90613cd0565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c5d578082015181840152602081019050612c42565b60008484015250505050565b6000601f19601f8301169050919050565b6000612c8582612c23565b612c8f8185612c2e565b9350612c9f818560208601612c3f565b612ca881612c69565b840191505092915050565b60006020820190508181036000830152612ccd8184612c7a565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612d0a82612cdf565b9050919050565b612d1a81612cff565b8114612d2557600080fd5b50565b600081359050612d3781612d11565b92915050565b6000819050919050565b612d5081612d3d565b8114612d5b57600080fd5b50565b600081359050612d6d81612d47565b92915050565b60008060408385031215612d8a57612d89612cd5565b5b6000612d9885828601612d28565b9250506020612da985828601612d5e565b9150509250929050565b60008115159050919050565b612dc881612db3565b82525050565b6000602082019050612de36000830184612dbf565b92915050565b6000819050919050565b6000612e0e612e09612e0484612cdf565b612de9565b612cdf565b9050919050565b6000612e2082612df3565b9050919050565b6000612e3282612e15565b9050919050565b612e4281612e27565b82525050565b6000602082019050612e5d6000830184612e39565b92915050565b612e6c81612d3d565b82525050565b6000602082019050612e876000830184612e63565b92915050565b600080600060608486031215612ea657612ea5612cd5565b5b6000612eb486828701612d28565b9350506020612ec586828701612d28565b9250506040612ed686828701612d5e565b9150509250925092565b600060ff82169050919050565b612ef681612ee0565b82525050565b6000602082019050612f116000830184612eed565b92915050565b612f2081612cff565b82525050565b6000602082019050612f3b6000830184612f17565b92915050565b612f4a81612db3565b8114612f5557600080fd5b50565b600081359050612f6781612f41565b92915050565b600060208284031215612f8357612f82612cd5565b5b6000612f9184828501612f58565b91505092915050565b600060208284031215612fb057612faf612cd5565b5b6000612fbe84828501612d28565b91505092915050565b600060208284031215612fdd57612fdc612cd5565b5b6000612feb84828501612d5e565b91505092915050565b6000806000806080858703121561300e5761300d612cd5565b5b600061301c87828801612d5e565b945050602061302d87828801612d5e565b935050604061303e87828801612d5e565b925050606061304f87828801612d5e565b91505092959194509250565b600080fd5b600080fd5b600080fd5b60008083601f8401126130805761307f61305b565b5b8235905067ffffffffffffffff81111561309d5761309c613060565b5b6020830191508360208202830111156130b9576130b8613065565b5b9250929050565b6000806000604084860312156130d9576130d8612cd5565b5b600084013567ffffffffffffffff8111156130f7576130f6612cda565b5b6131038682870161306a565b9350935050602061311686828701612f58565b9150509250925092565b6000806040838503121561313757613136612cd5565b5b600061314585828601612d28565b925050602061315685828601612d28565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206465706c6f60008201527f796572207c7c206f776e65720000000000000000000000000000000000000000602082015250565b60006131bc602c83612c2e565b91506131c782613160565b604082019050919050565b600060208201905081810360008301526131eb816131af565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613228602083612c2e565b9150613233826131f2565b602082019050919050565b600060208201905081810360008301526132578161321b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006132c782612d3d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132f9576132f861328d565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613360602683612c2e565b915061336b82613304565b604082019050919050565b6000602082019050818103600083015261338f81613353565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006133f2602483612c2e565b91506133fd82613396565b604082019050919050565b60006020820190508181036000830152613421816133e5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613484602283612c2e565b915061348f82613428565b604082019050919050565b600060208201905081810360008301526134b381613477565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613516602583612c2e565b9150613521826134ba565b604082019050919050565b6000602082019050818103600083015261354581613509565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006135a8602383612c2e565b91506135b38261354c565b604082019050919050565b600060208201905081810360008301526135d78161359b565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061363a602983612c2e565b9150613645826135de565b604082019050919050565b600060208201905081810360008301526136698161362d565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b60006136cc603f83612c2e565b91506136d782613670565b604082019050919050565b600060208201905081810360008301526136fb816136bf565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613738601c83612c2e565b915061374382613702565b602082019050919050565b600060208201905081810360008301526137678161372b565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006137ca602383612c2e565b91506137d58261376e565b604082019050919050565b600060208201905081810360008301526137f9816137bd565b9050919050565b600061380b82612d3d565b915061381683612d3d565b925082820190508082111561382e5761382d61328d565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613890602383612c2e565b915061389b82613834565b604082019050919050565b600060208201905081810360008301526138bf81613883565b9050919050565b60006138d182612d3d565b91506138dc83612d3d565b92508282039050818111156138f4576138f361328d565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613956602a83612c2e565b9150613961826138fa565b604082019050919050565b6000602082019050818103600083015261398581613949565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506139ca81612d11565b92915050565b6000602082840312156139e6576139e5612cd5565b5b60006139f4848285016139bb565b91505092915050565b6000819050919050565b6000613a22613a1d613a18846139fd565b612de9565b612d3d565b9050919050565b613a3281613a07565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a6d81612cff565b82525050565b6000613a7f8383613a64565b60208301905092915050565b6000602082019050919050565b6000613aa382613a38565b613aad8185613a43565b9350613ab883613a54565b8060005b83811015613ae9578151613ad08882613a73565b9750613adb83613a8b565b925050600181019050613abc565b5085935050505092915050565b600060a082019050613b0b6000830188612e63565b613b186020830187613a29565b8181036040830152613b2a8186613a98565b9050613b396060830185612f17565b613b466080830184612e63565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b8a82612d3d565b9150613b9583612d3d565b925082613ba557613ba4613b50565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613be6601b83612c2e565b9150613bf182613bb0565b602082019050919050565b60006020820190508181036000830152613c1581613bd9565b9050919050565b6000613c2782612d3d565b9150613c3283612d3d565b9250828202613c4081612d3d565b91508282048414831517613c5757613c5661328d565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cba602183612c2e565b9150613cc582613c5e565b604082019050919050565b60006020820190508181036000830152613ce981613cad565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f91012490ec2c8c48a6aabef458c08b95bf9e46a466f4098d9e5b1b1976210d764736f6c63430008120033

Deployed Bytecode Sourcemap

4643:14420:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7312:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8237:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6073:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7589:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8438:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6443:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7498:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6121:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13306:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18421:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13714:276;;;;;;;;;;;;;:::i;:::-;;7692:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2095:148;;;;;;;;;;;;;:::i;:::-;;18561:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6335:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5732:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1575:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13197:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6388:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7403:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18207:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17821:334;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7838:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5689:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13429:277;;;;;;;;;;;;;:::i;:::-;;18800:260;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1662:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8045:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18677:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2251:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7312:83;7349:13;7382:5;;;;;;;;;;;;;;;;;7375:12;;7312:83;:::o;8237:193::-;8339:4;8361:39;8370:12;:10;:12::i;:::-;8384:7;8393:6;8361:8;:39::i;:::-;8418:4;8411:11;;8237:193;;;;:::o;6073:41::-;;;;;;;;;;;;;:::o;7589:95::-;7642:7;5190:17;7662:14;;7589:95;:::o;8438:446::-;8570:4;8587:36;8597:6;8605:9;8616:6;8587:9;:36::i;:::-;8634:220;8657:6;8678:12;:10;:12::i;:::-;8705:138;8761:6;8705:138;;;;;;;;;;;;;;;;;:11;:19;8717:6;8705:19;;;;;;;;;;;;;;;:33;8725:12;:10;:12::i;:::-;8705:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8634:8;:220::i;:::-;8872:4;8865:11;;8438:446;;;;;:::o;6443:48::-;;;;:::o;7498:83::-;7539:5;4864:1;7557:16;;7498:83;:::o;6121:28::-;;;;;;;;;;;;;:::o;13306:115::-;1957:12;:10;:12::i;:::-;1944:25;;:9;;;;;;;;;;;:25;;;:51;;;;1983:12;:10;:12::i;:::-;1973:22;;:6;;;;;;;;;;:22;;;1944:51;1922:145;;;;;;;;;;;;:::i;:::-;;;;;;;;;13401:12:::1;13387:11;;:26;;;;;;;;;;;;;;;;;;13306:115:::0;:::o;18421:101::-;1805:12;:10;:12::i;:::-;1795:22;;:6;;;;;;;;;;:22;;;1787:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18502:12:::1;18488:11;::::0;:26:::1;;;;;;;;;;;;;;;;;;18421:101:::0;:::o;13714:276::-;13794:19;;;;;;;;;;;13778:35;;:12;:10;:12::i;:::-;:35;;;:89;;;;13850:17;;;;;;;;;;;13834:33;;:12;:10;:12::i;:::-;:33;;;13778:89;13756:122;;;;;;13889:26;13918:21;13889:50;;13950:32;13963:18;13950:12;:32::i;:::-;13745:245;13714:276::o;7692:138::-;7758:7;7785:37;7805:7;:16;7813:7;7805:16;;;;;;;;;;;;;;;;7785:19;:37::i;:::-;7778:44;;7692:138;;;:::o;2095:148::-;1805:12;:10;:12::i;:::-;1795:22;;:6;;;;;;;;;;:22;;;1787:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2202:1:::1;2165:40;;2186:6;::::0;::::1;;;;;;;;2165:40;;;;;;;;;;;;2233:1;2216:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2095:148::o:0;18561:108::-;1805:12;:10;:12::i;:::-;1795:22;;:6;;;;;;;;;;:22;;;1787:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18650:11:::1;18635:12;:26;;;;18561:108:::0;:::o;6335:46::-;;;;:::o;5732:42::-;;;;;;;;;;;;;;;;;:::o;1575:79::-;1613:7;1640:6;;;;;;;;;;;1633:13;;1575:79;:::o;13197:101::-;1805:12;:10;:12::i;:::-;1795:22;;:6;;;;;;;;;;:22;;;1787:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13278:12:::1;13264:11;;:26;;;;;;;;;;;;;;;;;;13197:101:::0;:::o;6388:48::-;;;;:::o;7403:87::-;7442:13;7475:7;;;;;;;;;;;;;;;;;7468:14;;7403:87;:::o;18207:162::-;1805:12;:10;:12::i;:::-;1795:22;;:6;;;;;;;;;;:22;;;1787:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18343:18:::1;18321:19;:40;;;;18207:162:::0;:::o;17821:334::-;1805:12;:10;:12::i;:::-;1795:22;;:6;;;;;;;;;;:22;;;1787:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18015:13:::1;17998:14;:30;;;;18057:14;18039:15;:32;;;;18097:11;18082:12;:26;;;;18135:12;18119:13;:28;;;;17821:334:::0;;;;:::o;7838:199::-;7943:4;7965:42;7975:12;:10;:12::i;:::-;7989:9;8000:6;7965:9;:42::i;:::-;8025:4;8018:11;;7838:199;;;;:::o;5689:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;13429:277::-;13509:19;;;;;;;;;;;13493:35;;:12;:10;:12::i;:::-;:35;;;:89;;;;13565:17;;;;;;;;;;;13549:33;;:12;:10;:12::i;:::-;:33;;;13493:89;13471:122;;;;;;13604:23;13630:24;13648:4;13630:9;:24::i;:::-;13604:50;;13665:33;13682:15;13665:16;:33::i;:::-;13460:246;13429:277::o;18800:260::-;1805:12;:10;:12::i;:::-;1795:22;;:6;;;;;;;;;;:22;;;1787:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18943:9:::1;18938:115;18962:8;;:15;;18958:1;:19;18938:115;;;19033:8;18999:18;:31;19018:8;;19027:1;19018:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18999:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;18979:3;;;;;:::i;:::-;;;;18938:115;;;;18800:260:::0;;;:::o;1662:85::-;1703:7;1730:9;;;;;;;;;;;1723:16;;1662:85;:::o;8045:184::-;8162:7;8194:11;:18;8206:5;8194:18;;;;;;;;;;;;;;;:27;8213:7;8194:27;;;;;;;;;;;;;;;;8187:34;;8045:184;;;;:::o;18677:115::-;1805:12;:10;:12::i;:::-;1795:22;;:6;;;;;;;;;;:22;;;1787:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18771:13:::1;18754:14;:30;;;;18677:115:::0;:::o;2251:281::-;1805:12;:10;:12::i;:::-;1795:22;;:6;;;;;;;;;;:22;;;1787:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2374:1:::1;2354:22;;:8;:22;;::::0;2332:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2487:8;2458:38;;2479:6;::::0;::::1;;;;;;;;2458:38;;;;;;;;;;;;2516:8;2507:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2251:281:::0;:::o;225:98::-;278:7;305:10;298:17;;225:98;:::o;9575:369::-;9719:1;9702:19;;:5;:19;;;9694:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9800:1;9781:21;;:7;:21;;;9773:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9882:6;9852:11;:18;9864:5;9852:18;;;;;;;;;;;;;;;:27;9871:7;9852:27;;;;;;;;;;;;;;;:36;;;;9920:7;9904:32;;9913:5;9904:32;;;9929:6;9904:32;;;;;;:::i;:::-;;;;;;;;9575:369;;;:::o;9952:2639::-;10090:1;10074:18;;:4;:18;;;10066:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10167:1;10153:16;;:2;:16;;;10145:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10237:1;10228:6;:10;10220:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10309:7;:5;:7::i;:::-;10301:15;;:4;:15;;;;:32;;;;;10326:7;:5;:7::i;:::-;10320:13;;:2;:13;;;;10301:32;10297:1534;;;10388:11;;;;;;;;;;;10383:205;;10458:7;:5;:7::i;:::-;10450:15;;:4;:15;;;10420:152;;;;;;;;;;;;:::i;:::-;;;;;;;;;10383:205;10622:12;;10612:6;:22;;10604:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10709:4;:10;10714:4;10709:10;;;;;;;;;;;;;;;;;;;;;;;;;10708:11;:24;;;;;10724:4;:8;10729:2;10724:8;;;;;;;;;;;;;;;;;;;;;;;;;10723:9;10708:24;10682:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;10830:13;;;;;;;;;;;10824:19;;:2;:19;;;10820:208;;10919:14;;10910:6;10894:13;10904:2;10894:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10864:148;;;;;;;;;;;;:::i;:::-;;;;;;;;;10820:208;11044:28;11075:24;11093:4;11075:9;:24::i;:::-;11044:55;;11114:12;11153:19;;11129:20;:43;;11114:58;;11217:12;;11193:20;:36;11189:112;;11273:12;;11250:35;;11189:112;11339:7;:35;;;;;11368:6;;;;;;;;;;;11367:7;11339:35;:77;;;;;11403:13;;;;;;;;;;;11395:21;;:4;:21;;;;11339:77;:109;;;;;11437:11;;;;;;;;;;11339:109;:155;;;;;11470:18;:24;11489:4;11470:24;;;;;;;;;;;;;;;;;;;;;;;;;11469:25;11339:155;:199;;;;;11516:18;:22;11535:2;11516:22;;;;;;;;;;;;;;;;;;;;;;;;;11515:23;11339:199;11317:503;;;11573:38;11590:20;11573:16;:38::i;:::-;11630:26;11659:21;11630:50;;11724:1;11703:18;:22;11699:106;;;11750:35;11763:21;11750:12;:35::i;:::-;11699:106;11554:266;11317:503;10335:1496;;10297:1534;11843:12;11858:4;11843:19;;11921:18;:24;11940:4;11921:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11949:18;:22;11968:2;11949:22;;;;;;;;;;;;;;;;;;;;;;;;;11921:50;11920:115;;;;11998:13;;;;;;;;;;;11990:21;;:4;:21;;;;:44;;;;;12021:13;;;;;;;;;;;12015:19;;:2;:19;;;;11990:44;11920:115;11902:628;;;12072:5;12062:15;;11902:628;;;12154:13;;;;;;;;;;;12146:21;;:4;:21;;;:55;;;;;12185:15;;;;;;;;;;;12171:30;;:2;:30;;;;12146:55;12142:163;;;12234:14;;12222:9;:26;;;;12277:12;;12267:7;:22;;;;12142:163;12364:13;;;;;;;;;;;12358:19;;:2;:19;;;:55;;;;;12397:15;;;;;;;;;;;12381:32;;:4;:32;;;;12358:55;12354:165;;;12446:15;;12434:9;:27;;;;12490:13;;12480:7;:23;;;;12354:165;11902:628;12542:41;12557:4;12563:2;12567:6;12575:7;12542:14;:41::i;:::-;10055:2536;9952:2639;;;:::o;2894:224::-;3014:7;3047:1;3042;:6;;3050:12;3034:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3074:9;3090:1;3086;:5;;;;:::i;:::-;3074:17;;3109:1;3102:8;;;2894:224;;;;;:::o;13090:99::-;13147:17;;;;;;;;;;;:26;;:34;13174:6;13147:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13090:99;:::o;8892:323::-;8987:7;9045;;9034;:18;;9012:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;9133:19;9155:10;:8;:10::i;:::-;9133:32;;9183:24;9195:11;9183:7;:11;;:24;;;;:::i;:::-;9176:31;;;8892:323;;;:::o;12599:483::-;6596:4;6587:6;;:13;;;;;;;;;;;;;;;;;;12677:21:::1;12715:1;12701:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12677:40;;12746:4;12728;12733:1;12728:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12772:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12762:4;12767:1;12762:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12805:62;12822:4;12837:15;;;;;;;;;;;12855:11;12805:8;:62::i;:::-;12878:15;;;;;;;;;;;:66;;;12959:11;12985:1;13001:4;13028;13048:15;12878:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12666:416;6632:5:::0;6623:6;;:14;;;;;;;;;;;;;;;;;;12599:483;:::o;13998:282::-;14154:7;14149:28;;14163:14;:12;:14::i;:::-;14149:28;14188:44;14206:6;14214:9;14225:6;14188:17;:44::i;:::-;14248:7;14243:29;;14257:15;:13;:15::i;:::-;14243:29;13998:282;;;;:::o;17384:164::-;17426:7;17447:15;17464;17483:19;:17;:19::i;:::-;17446:56;;;;17520:20;17532:7;17520;:11;;:20;;;;:::i;:::-;17513:27;;;;17384:164;:::o;3380:132::-;3438:7;3465:39;3469:1;3472;3465:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3458:46;;3380:132;;;;:::o;9223:219::-;9283:1;9270:9;;:14;:30;;;;;9299:1;9288:7;;:12;9270:30;9302:7;9266:43;9341:9;;9321:17;:29;;;;9379:7;;9361:15;:25;;;;9411:1;9399:9;:13;;;;9433:1;9423:7;:11;;;;9223:219;:::o;14288:948::-;14435:15;14465:23;14503:12;14530:23;14568:12;14595:13;14622:19;14633:7;14622:10;:19::i;:::-;14420:221;;;;;;;;;;;;14670:28;14690:7;14670;:15;14678:6;14670:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14652:7;:15;14660:6;14652:15;;;;;;;;;;;;;;;:46;;;;14730:39;14753:15;14730:7;:18;14738:9;14730:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14709:7;:18;14717:9;14709:18;;;;;;;;;;;;;;;:60;;;;14780:16;14790:5;14780:9;:16::i;:::-;14807:23;14819:4;14825;14807:11;:23::i;:::-;14857:13;;;;;;;;;;;14847:23;;:6;:23;;;:44;;;;14884:7;:5;:7::i;:::-;14874:17;;:6;:17;;;14847:44;14843:386;;;14988:9;14913:133;;14940:11;;;;;;;;;;;:29;;14963:6;14940:29;;;14954:6;;;;;;;;;;;14940:29;14913:133;;;15016:15;14913:133;;;;;;:::i;:::-;;;;;;;;14843:386;;;15159:9;15084:133;;15111:11;;;;;;;;;;;:29;;15134:6;;;;;;;;;;;15111:29;;;15125:6;15111:29;15084:133;;;15187:15;15084:133;;;;;;:::i;:::-;;;;;;;;14843:386;14409:827;;;;;;14288:948;;;:::o;9450:117::-;9506:17;;9494:9;:29;;;;9544:15;;9534:7;:25;;;;9450:117::o;17556:257::-;17607:7;17616;17636:15;17654:7;;17636:25;;17672:15;5190:17;17672:25;;17722:20;5190:17;17722:7;;:11;;:20;;;;:::i;:::-;17712:7;:30;17708:61;;;17752:7;;5190:17;17744:25;;;;;;;;17708:61;17788:7;17797;17780:25;;;;;;17556:257;;;:::o;3520:223::-;3640:7;3672:1;3668;:5;3675:12;3660:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3699:9;3715:1;3711;:5;;;;:::i;:::-;3699:17;;3734:1;3727:8;;;3520:223;;;;;:::o;15655:702::-;15755:7;15777;15799;15821;15843;15865;15901:23;15926:12;15940:13;15957:90;15983:7;16005:9;;16029:7;;15957:11;:90::i;:::-;15900:147;;;;;;16058:19;16080:10;:8;:10::i;:::-;16058:32;;16102:15;16119:23;16144:12;16160:109;16186:7;16208:4;16227:5;16247:11;16160;:109::i;:::-;16101:168;;;;;;16288:7;16297:15;16314:4;16320:15;16337:4;16343:5;16280:69;;;;;;;;;;;;;;;;;;;15655:702;;;;;;;:::o;2750:136::-;2808:7;2835:43;2839:1;2842;2835:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2828:50;;2750:136;;;;:::o;2563:179::-;2621:7;2641:9;2657:1;2653;:5;;;;:::i;:::-;2641:17;;2682:1;2677;:6;;2669:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2733:1;2726:8;;;2563:179;;;;:::o;15244:211::-;15297:19;15319:10;:8;:10::i;:::-;15297:32;;15340:13;15356:22;15366:11;15356:5;:9;;:22;;;;:::i;:::-;15340:38;;15414:33;15441:5;15414:7;:22;15430:4;15414:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15389:7;:22;15405:4;15389:22;;;;;;;;;;;;;;;:58;;;;15286:169;;15244:211;:::o;15463:147::-;15541:17;15553:4;15541:7;;:11;;:17;;;;:::i;:::-;15531:7;:27;;;;15582:20;15597:4;15582:10;;:14;;:20;;;;:::i;:::-;15569:10;:33;;;;15463:147;;:::o;16365:469::-;16534:7;16556;16578;16613:12;16628:30;16654:3;16628:21;16640:8;16628:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16613:45;;16669:13;16685:28;16709:3;16685:19;16697:6;16685:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16669:44;;16724:23;16750:28;16772:5;16750:17;16762:4;16750:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16724:54;;16797:15;16814:4;16820:5;16789:37;;;;;;;;;16365:469;;;;;;;:::o;16842:534::-;17036:7;17058;17080;17115:15;17133:24;17145:11;17133:7;:11;;:24;;;;:::i;:::-;17115:42;;17168:12;17183:21;17192:11;17183:4;:8;;:21;;;;:::i;:::-;17168:36;;17215:13;17231:22;17241:11;17231:5;:9;;:22;;;;:::i;:::-;17215:38;;17264:23;17290:28;17312:5;17290:17;17302:4;17290:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17264:54;;17337:7;17346:15;17363:4;17329:39;;;;;;;;;;16842:534;;;;;;;;:::o;3126:246::-;3184:7;3213:1;3208;:6;3204:47;;3238:1;3231:8;;;;3204:47;3261:9;3277:1;3273;:5;;;;:::i;:::-;3261:17;;3306:1;3301;3297;:5;;;;:::i;:::-;:10;3289:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3363:1;3356:8;;;3126:246;;;;;:::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;1553:117;1662:1;1659;1652: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:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:86::-;5431:7;5471:4;5464:5;5460:16;5449:27;;5396:86;;;:::o;5488:112::-;5571:22;5587:5;5571:22;:::i;:::-;5566:3;5559:35;5488:112;;:::o;5606:214::-;5695:4;5733:2;5722:9;5718:18;5710:26;;5746:67;5810:1;5799:9;5795:17;5786:6;5746:67;:::i;:::-;5606:214;;;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5826:118;;:::o;5950:222::-;6043:4;6081:2;6070:9;6066:18;6058:26;;6094:71;6162:1;6151:9;6147:17;6138:6;6094:71;:::i;:::-;5950:222;;;;:::o;6178:116::-;6248:21;6263:5;6248:21;:::i;:::-;6241:5;6238:32;6228:60;;6284:1;6281;6274:12;6228:60;6178:116;:::o;6300:133::-;6343:5;6381:6;6368:20;6359:29;;6397:30;6421:5;6397:30;:::i;:::-;6300:133;;;;:::o;6439:323::-;6495:6;6544:2;6532:9;6523:7;6519:23;6515:32;6512:119;;;6550:79;;:::i;:::-;6512:119;6670:1;6695:50;6737:7;6728:6;6717:9;6713:22;6695:50;:::i;:::-;6685:60;;6641:114;6439:323;;;;:::o;6768:329::-;6827:6;6876:2;6864:9;6855:7;6851:23;6847:32;6844:119;;;6882:79;;:::i;:::-;6844:119;7002:1;7027:53;7072:7;7063:6;7052:9;7048:22;7027:53;:::i;:::-;7017:63;;6973:117;6768:329;;;;:::o;7103:::-;7162:6;7211:2;7199:9;7190:7;7186:23;7182:32;7179:119;;;7217:79;;:::i;:::-;7179:119;7337:1;7362:53;7407:7;7398:6;7387:9;7383:22;7362:53;:::i;:::-;7352:63;;7308:117;7103:329;;;;:::o;7438:765::-;7524:6;7532;7540;7548;7597:3;7585:9;7576:7;7572:23;7568:33;7565:120;;;7604:79;;:::i;:::-;7565:120;7724:1;7749:53;7794:7;7785:6;7774:9;7770:22;7749:53;:::i;:::-;7739:63;;7695:117;7851:2;7877:53;7922:7;7913:6;7902:9;7898:22;7877:53;:::i;:::-;7867:63;;7822:118;7979:2;8005:53;8050:7;8041:6;8030:9;8026:22;8005:53;:::i;:::-;7995:63;;7950:118;8107:2;8133:53;8178:7;8169:6;8158:9;8154:22;8133:53;:::i;:::-;8123:63;;8078:118;7438:765;;;;;;;:::o;8209:117::-;8318:1;8315;8308:12;8332:117;8441:1;8438;8431:12;8455:117;8564:1;8561;8554:12;8595:568;8668:8;8678:6;8728:3;8721:4;8713:6;8709:17;8705:27;8695:122;;8736:79;;:::i;:::-;8695:122;8849:6;8836:20;8826:30;;8879:18;8871:6;8868:30;8865:117;;;8901:79;;:::i;:::-;8865:117;9015:4;9007:6;9003:17;8991:29;;9069:3;9061:4;9053:6;9049:17;9039:8;9035:32;9032:41;9029:128;;;9076:79;;:::i;:::-;9029:128;8595:568;;;;;:::o;9169:698::-;9261:6;9269;9277;9326:2;9314:9;9305:7;9301:23;9297:32;9294:119;;;9332:79;;:::i;:::-;9294:119;9480:1;9469:9;9465:17;9452:31;9510:18;9502:6;9499:30;9496:117;;;9532:79;;:::i;:::-;9496:117;9645:80;9717:7;9708:6;9697:9;9693:22;9645:80;:::i;:::-;9627:98;;;;9423:312;9774:2;9800:50;9842:7;9833:6;9822:9;9818:22;9800:50;:::i;:::-;9790:60;;9745:115;9169:698;;;;;:::o;9873:474::-;9941:6;9949;9998:2;9986:9;9977:7;9973:23;9969:32;9966:119;;;10004:79;;:::i;:::-;9966:119;10124:1;10149:53;10194:7;10185:6;10174:9;10170:22;10149:53;:::i;:::-;10139:63;;10095:117;10251:2;10277:53;10322:7;10313:6;10302:9;10298:22;10277:53;:::i;:::-;10267:63;;10222:118;9873:474;;;;;:::o;10353:231::-;10493:34;10489:1;10481:6;10477:14;10470:58;10562:14;10557:2;10549:6;10545:15;10538:39;10353:231;:::o;10590:366::-;10732:3;10753:67;10817:2;10812:3;10753:67;:::i;:::-;10746:74;;10829:93;10918:3;10829:93;:::i;:::-;10947:2;10942:3;10938:12;10931:19;;10590:366;;;:::o;10962:419::-;11128:4;11166:2;11155:9;11151:18;11143:26;;11215:9;11209:4;11205:20;11201:1;11190:9;11186:17;11179:47;11243:131;11369:4;11243:131;:::i;:::-;11235:139;;10962:419;;;:::o;11387:182::-;11527:34;11523:1;11515:6;11511:14;11504:58;11387:182;:::o;11575:366::-;11717:3;11738:67;11802:2;11797:3;11738:67;:::i;:::-;11731:74;;11814:93;11903:3;11814:93;:::i;:::-;11932:2;11927:3;11923:12;11916:19;;11575:366;;;:::o;11947:419::-;12113:4;12151:2;12140:9;12136:18;12128:26;;12200:9;12194:4;12190:20;12186:1;12175:9;12171:17;12164:47;12228:131;12354:4;12228:131;:::i;:::-;12220:139;;11947:419;;;:::o;12372:180::-;12420:77;12417:1;12410:88;12517:4;12514:1;12507:15;12541:4;12538:1;12531:15;12558:180;12606:77;12603:1;12596:88;12703:4;12700:1;12693:15;12727:4;12724:1;12717:15;12744:233;12783:3;12806:24;12824:5;12806:24;:::i;:::-;12797:33;;12852:66;12845:5;12842:77;12839:103;;12922:18;;:::i;:::-;12839:103;12969:1;12962:5;12958:13;12951:20;;12744:233;;;:::o;12983:225::-;13123:34;13119:1;13111:6;13107:14;13100:58;13192:8;13187:2;13179:6;13175:15;13168:33;12983:225;:::o;13214:366::-;13356:3;13377:67;13441:2;13436:3;13377:67;:::i;:::-;13370:74;;13453:93;13542:3;13453:93;:::i;:::-;13571:2;13566:3;13562:12;13555:19;;13214:366;;;:::o;13586:419::-;13752:4;13790:2;13779:9;13775:18;13767:26;;13839:9;13833:4;13829:20;13825:1;13814:9;13810:17;13803:47;13867:131;13993:4;13867:131;:::i;:::-;13859:139;;13586:419;;;:::o;14011:223::-;14151:34;14147:1;14139:6;14135:14;14128:58;14220:6;14215:2;14207:6;14203:15;14196:31;14011:223;:::o;14240:366::-;14382:3;14403:67;14467:2;14462:3;14403:67;:::i;:::-;14396:74;;14479:93;14568:3;14479:93;:::i;:::-;14597:2;14592:3;14588:12;14581:19;;14240:366;;;:::o;14612:419::-;14778:4;14816:2;14805:9;14801:18;14793:26;;14865:9;14859:4;14855:20;14851:1;14840:9;14836:17;14829:47;14893:131;15019:4;14893:131;:::i;:::-;14885:139;;14612:419;;;:::o;15037:221::-;15177:34;15173:1;15165:6;15161:14;15154:58;15246:4;15241:2;15233:6;15229:15;15222:29;15037:221;:::o;15264:366::-;15406:3;15427:67;15491:2;15486:3;15427:67;:::i;:::-;15420:74;;15503:93;15592:3;15503:93;:::i;:::-;15621:2;15616:3;15612:12;15605:19;;15264:366;;;:::o;15636:419::-;15802:4;15840:2;15829:9;15825:18;15817:26;;15889:9;15883:4;15879:20;15875:1;15864:9;15860:17;15853:47;15917:131;16043:4;15917:131;:::i;:::-;15909:139;;15636:419;;;:::o;16061:224::-;16201:34;16197:1;16189:6;16185:14;16178:58;16270:7;16265:2;16257:6;16253:15;16246:32;16061:224;:::o;16291:366::-;16433:3;16454:67;16518:2;16513:3;16454:67;:::i;:::-;16447:74;;16530:93;16619:3;16530:93;:::i;:::-;16648:2;16643:3;16639:12;16632:19;;16291:366;;;:::o;16663:419::-;16829:4;16867:2;16856:9;16852:18;16844:26;;16916:9;16910:4;16906:20;16902:1;16891:9;16887:17;16880:47;16944:131;17070:4;16944:131;:::i;:::-;16936:139;;16663:419;;;:::o;17088:222::-;17228:34;17224:1;17216:6;17212:14;17205:58;17297:5;17292:2;17284:6;17280:15;17273:30;17088:222;:::o;17316:366::-;17458:3;17479:67;17543:2;17538:3;17479:67;:::i;:::-;17472:74;;17555:93;17644:3;17555:93;:::i;:::-;17673:2;17668:3;17664:12;17657:19;;17316:366;;;:::o;17688:419::-;17854:4;17892:2;17881:9;17877:18;17869:26;;17941:9;17935:4;17931:20;17927:1;17916:9;17912:17;17905:47;17969:131;18095:4;17969:131;:::i;:::-;17961:139;;17688:419;;;:::o;18113:228::-;18253:34;18249:1;18241:6;18237:14;18230:58;18322:11;18317:2;18309:6;18305:15;18298:36;18113:228;:::o;18347:366::-;18489:3;18510:67;18574:2;18569:3;18510:67;:::i;:::-;18503:74;;18586:93;18675:3;18586:93;:::i;:::-;18704:2;18699:3;18695:12;18688:19;;18347:366;;;:::o;18719:419::-;18885:4;18923:2;18912:9;18908:18;18900:26;;18972:9;18966:4;18962:20;18958:1;18947:9;18943:17;18936:47;19000:131;19126:4;19000:131;:::i;:::-;18992:139;;18719:419;;;:::o;19144:250::-;19284:34;19280:1;19272:6;19268:14;19261:58;19353:33;19348:2;19340:6;19336:15;19329:58;19144:250;:::o;19400:366::-;19542:3;19563:67;19627:2;19622:3;19563:67;:::i;:::-;19556:74;;19639:93;19728:3;19639:93;:::i;:::-;19757:2;19752:3;19748:12;19741:19;;19400:366;;;:::o;19772:419::-;19938:4;19976:2;19965:9;19961:18;19953:26;;20025:9;20019:4;20015:20;20011:1;20000:9;19996:17;19989:47;20053:131;20179:4;20053:131;:::i;:::-;20045:139;;19772:419;;;:::o;20197:178::-;20337:30;20333:1;20325:6;20321:14;20314:54;20197:178;:::o;20381:366::-;20523:3;20544:67;20608:2;20603:3;20544:67;:::i;:::-;20537:74;;20620:93;20709:3;20620:93;:::i;:::-;20738:2;20733:3;20729:12;20722:19;;20381:366;;;:::o;20753:419::-;20919:4;20957:2;20946:9;20942:18;20934:26;;21006:9;21000:4;20996:20;20992:1;20981:9;20977:17;20970:47;21034:131;21160:4;21034:131;:::i;:::-;21026:139;;20753:419;;;:::o;21178:222::-;21318:34;21314:1;21306:6;21302:14;21295:58;21387:5;21382:2;21374:6;21370:15;21363:30;21178:222;:::o;21406:366::-;21548:3;21569:67;21633:2;21628:3;21569:67;:::i;:::-;21562:74;;21645:93;21734:3;21645:93;:::i;:::-;21763:2;21758:3;21754:12;21747:19;;21406:366;;;:::o;21778:419::-;21944:4;21982:2;21971:9;21967:18;21959:26;;22031:9;22025:4;22021:20;22017:1;22006:9;22002:17;21995:47;22059:131;22185:4;22059:131;:::i;:::-;22051:139;;21778:419;;;:::o;22203:191::-;22243:3;22262:20;22280:1;22262:20;:::i;:::-;22257:25;;22296:20;22314:1;22296:20;:::i;:::-;22291:25;;22339:1;22336;22332:9;22325:16;;22360:3;22357:1;22354:10;22351:36;;;22367:18;;:::i;:::-;22351:36;22203:191;;;;:::o;22400:222::-;22540:34;22536:1;22528:6;22524:14;22517:58;22609:5;22604:2;22596:6;22592:15;22585:30;22400:222;:::o;22628:366::-;22770:3;22791:67;22855:2;22850:3;22791:67;:::i;:::-;22784:74;;22867:93;22956:3;22867:93;:::i;:::-;22985:2;22980:3;22976:12;22969:19;;22628:366;;;:::o;23000:419::-;23166:4;23204:2;23193:9;23189:18;23181:26;;23253:9;23247:4;23243:20;23239:1;23228:9;23224:17;23217:47;23281:131;23407:4;23281:131;:::i;:::-;23273:139;;23000:419;;;:::o;23425:194::-;23465:4;23485:20;23503:1;23485:20;:::i;:::-;23480:25;;23519:20;23537:1;23519:20;:::i;:::-;23514:25;;23563:1;23560;23556:9;23548:17;;23587:1;23581:4;23578:11;23575:37;;;23592:18;;:::i;:::-;23575:37;23425:194;;;;:::o;23625:229::-;23765:34;23761:1;23753:6;23749:14;23742:58;23834:12;23829:2;23821:6;23817:15;23810:37;23625:229;:::o;23860:366::-;24002:3;24023:67;24087:2;24082:3;24023:67;:::i;:::-;24016:74;;24099:93;24188:3;24099:93;:::i;:::-;24217:2;24212:3;24208:12;24201:19;;23860:366;;;:::o;24232:419::-;24398:4;24436:2;24425:9;24421:18;24413:26;;24485:9;24479:4;24475:20;24471:1;24460:9;24456:17;24449:47;24513:131;24639:4;24513:131;:::i;:::-;24505:139;;24232:419;;;:::o;24657:180::-;24705:77;24702:1;24695:88;24802:4;24799:1;24792:15;24826:4;24823:1;24816:15;24843:143;24900:5;24931:6;24925:13;24916:22;;24947:33;24974:5;24947:33;:::i;:::-;24843:143;;;;:::o;24992:351::-;25062:6;25111:2;25099:9;25090:7;25086:23;25082:32;25079:119;;;25117:79;;:::i;:::-;25079:119;25237:1;25262:64;25318:7;25309:6;25298:9;25294:22;25262:64;:::i;:::-;25252:74;;25208:128;24992:351;;;;:::o;25349:85::-;25394:7;25423:5;25412:16;;25349:85;;;:::o;25440:158::-;25498:9;25531:61;25549:42;25558:32;25584:5;25558:32;:::i;:::-;25549:42;:::i;:::-;25531:61;:::i;:::-;25518:74;;25440:158;;;:::o;25604:147::-;25699:45;25738:5;25699:45;:::i;:::-;25694:3;25687:58;25604:147;;:::o;25757:114::-;25824:6;25858:5;25852:12;25842:22;;25757:114;;;:::o;25877:184::-;25976:11;26010:6;26005:3;25998:19;26050:4;26045:3;26041:14;26026:29;;25877:184;;;;:::o;26067:132::-;26134:4;26157:3;26149:11;;26187:4;26182:3;26178:14;26170:22;;26067:132;;;:::o;26205:108::-;26282:24;26300:5;26282:24;:::i;:::-;26277:3;26270:37;26205:108;;:::o;26319:179::-;26388:10;26409:46;26451:3;26443:6;26409:46;:::i;:::-;26487:4;26482:3;26478:14;26464:28;;26319:179;;;;:::o;26504:113::-;26574:4;26606;26601:3;26597:14;26589:22;;26504:113;;;:::o;26653:732::-;26772:3;26801:54;26849:5;26801:54;:::i;:::-;26871:86;26950:6;26945:3;26871:86;:::i;:::-;26864:93;;26981:56;27031:5;26981:56;:::i;:::-;27060:7;27091:1;27076:284;27101:6;27098:1;27095:13;27076:284;;;27177:6;27171:13;27204:63;27263:3;27248:13;27204:63;:::i;:::-;27197:70;;27290:60;27343:6;27290:60;:::i;:::-;27280:70;;27136:224;27123:1;27120;27116:9;27111:14;;27076:284;;;27080:14;27376:3;27369:10;;26777:608;;;26653:732;;;;:::o;27391:831::-;27654:4;27692:3;27681:9;27677:19;27669:27;;27706:71;27774:1;27763:9;27759:17;27750:6;27706:71;:::i;:::-;27787:80;27863:2;27852:9;27848:18;27839:6;27787:80;:::i;:::-;27914:9;27908:4;27904:20;27899:2;27888:9;27884:18;27877:48;27942:108;28045:4;28036:6;27942:108;:::i;:::-;27934:116;;28060:72;28128:2;28117:9;28113:18;28104:6;28060:72;:::i;:::-;28142:73;28210:3;28199:9;28195:19;28186:6;28142:73;:::i;:::-;27391:831;;;;;;;;:::o;28228:180::-;28276:77;28273:1;28266:88;28373:4;28370:1;28363:15;28397:4;28394:1;28387:15;28414:185;28454:1;28471:20;28489:1;28471:20;:::i;:::-;28466:25;;28505:20;28523:1;28505:20;:::i;:::-;28500:25;;28544:1;28534:35;;28549:18;;:::i;:::-;28534:35;28591:1;28588;28584:9;28579:14;;28414:185;;;;:::o;28605:177::-;28745:29;28741:1;28733:6;28729:14;28722:53;28605:177;:::o;28788:366::-;28930:3;28951:67;29015:2;29010:3;28951:67;:::i;:::-;28944:74;;29027:93;29116:3;29027:93;:::i;:::-;29145:2;29140:3;29136:12;29129:19;;28788:366;;;:::o;29160:419::-;29326:4;29364:2;29353:9;29349:18;29341:26;;29413:9;29407:4;29403:20;29399:1;29388:9;29384:17;29377:47;29441:131;29567:4;29441:131;:::i;:::-;29433:139;;29160:419;;;:::o;29585:410::-;29625:7;29648:20;29666:1;29648:20;:::i;:::-;29643:25;;29682:20;29700:1;29682:20;:::i;:::-;29677:25;;29737:1;29734;29730:9;29759:30;29777:11;29759:30;:::i;:::-;29748:41;;29938:1;29929:7;29925:15;29922:1;29919:22;29899:1;29892:9;29872:83;29849:139;;29968:18;;:::i;:::-;29849:139;29633:362;29585:410;;;;:::o;30001:220::-;30141:34;30137:1;30129:6;30125:14;30118:58;30210:3;30205:2;30197:6;30193:15;30186:28;30001:220;:::o;30227:366::-;30369:3;30390:67;30454:2;30449:3;30390:67;:::i;:::-;30383:74;;30466:93;30555:3;30466:93;:::i;:::-;30584:2;30579:3;30575:12;30568:19;;30227:366;;;:::o;30599:419::-;30765:4;30803:2;30792:9;30788:18;30780:26;;30852:9;30846:4;30842:20;30838:1;30827:9;30823:17;30816:47;30880:131;31006:4;30880:131;:::i;:::-;30872:139;;30599:419;;;:::o

Swarm Source

ipfs://f91012490ec2c8c48a6aabef458c08b95bf9e46a466f4098d9e5b1b1976210d7

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.