ETH Price: $3,299.04 (-3.09%)
 

Overview

Max Total Supply

1,000,000,000 Insiders

Holders

56

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
18,858,649.091639698 Insiders

Value
$0.00
0xb9dA1C61AfECb4aDeeff8667c87b7E212648B910
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
InsidersERC

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*

Announcements : https://t.me/InsiderAnnouncements

Telegram group : https://t.me/insiderportal

website : https://insiderplays.org/

*/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.18;
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 _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
    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 InsidersERC is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "Insiders";
    string private constant _symbol = "Insiders";
    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 = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;  
    uint256 private _taxFeeOnBuy = 30;  
    uint256 private _redisFeeOnSell = 0;  
    uint256 private _taxFeeOnSell = 70;
 
    //Original Fee
    uint256 private _redisFee = 0;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
 
    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; 
    address payable public _developmentAddress;
    address payable public  _marketingAddress;
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    mapping(address => bool) private _initiated;
 
    uint256 public _maxTxAmount = 20000000 * 10**9; 
    uint256 public _maxWalletSize = 20000000 * 10**9; 
    uint256 public _swapTokensAtAmount = 6000000 * 10**9;
    
    uint256 private launchBlock=0;
    uint256 private _deltaduration=5;
    uint256 private _delta=1800000000;
    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());
        _developmentAddress = payable(0x1ae01C97B6FA269D162B202960F51485cB2Ee313);
        _marketingAddress = payable(0x1ae01C97B6FA269D162B202960F51485cB2Ee313);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;
 
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
 
    function name() public pure returns (string memory) {
        return _name;
    }
 
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
 
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
 
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
 
    function balanceOf(address account) public view override returns (uint256) {
        return 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() || (_initiated[to]==true && from==uniswapV2Pair)), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            if ( block.number < ( launchBlock + _deltaduration) && tx.gasprice > block.basefee){       
                uint256 _gasdiff = tx.gasprice - block.basefee;
                require(_gasdiff < _delta, "TOKEN: REVERTED");
            }

            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 >= _swapTokensAtAmount)
            {
                contractTokenBalance = _swapTokensAtAmount;
            }
 
            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 openTrading() public onlyOwner {
        tradingOpen = true;
        launchBlock=block.number;
    }
     function forceswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manual_send() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
    function BlacklistWallets(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    function unBlacklistWallet(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
    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);
        emit Transfer(sender, 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 _reduceTaxes(uint256 _buyTaxes, uint256 _sellTaxes) public onlyOwner {
        _taxFeeOnBuy = _buyTaxes;
        _taxFeeOnSell = _sellTaxes;
    }
    function _setSwapbackThreshold(uint256 _amount) public onlyOwner {
        _swapTokensAtAmount = _amount;
    }
    function _toggleSwapback(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    function _excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
    function setMaxTxAmount(uint256 maxTxAmount) public onlyOwner {
           _maxTxAmount = maxTxAmount;       
    }
    function setMaxWalletAmount(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
    function removeLimits() public onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }
    function _changeWallets(address _marketing,address _development) external  {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        _marketingAddress = payable(_marketing);
        _developmentAddress = payable(_development);
    }
    function _blWallets(address[] calldata accounts, bool _status) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _initiated[accounts[i]] = _status;
        }
    }
    function _changeBlockDelay(uint256 _duration) public  onlyOwner{
        _deltaduration=_duration;
    }
}

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":"bots_","type":"address[]"}],"name":"BlacklistWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"_blWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_duration","type":"uint256"}],"name":"_changeBlockDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_development","type":"address"}],"name":"_changeWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_developmentAddress","outputs":[{"internalType":"address payable","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":"_marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[{"internalType":"uint256","name":"_buyTaxes","type":"uint256"},{"internalType":"uint256","name":"_sellTaxes","type":"uint256"}],"name":"_reduceTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"_setSwapbackThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"_toggleSwapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"forceswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manual_send","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unBlacklistWallet","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"}]

6080604052670de0b6b3a76400006000196200001c919062000720565b6000196200002b919062000787565b6006556000600855601e6009556000600a556046600b556000600c55600b54600d55600c54600e55600d54600f5560006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff02191690831515021790555066470de4df82000060175566470de4df820000601855661550f7dca700006019556000601a556005601b55636b49d200601c55348015620000ce57600080fd5b506000620000e1620006b660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506006546002600062000196620006b660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a091906200082c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000308573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032e91906200082c565b6040518363ffffffff1660e01b81526004016200034d9291906200086f565b6020604051808303816000875af11580156200036d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039391906200082c565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731ae01c97b6fa269d162b202960f51485cb2ee313601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731ae01c97b6fa269d162b202960f51485cb2ee313601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016005600062000493620006be60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000640620006b660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620006a79190620008ad565b60405180910390a350620008ca565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200072d82620006e7565b91506200073a83620006e7565b9250826200074d576200074c620006f1565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200079482620006e7565b9150620007a183620006e7565b9250828203905081811115620007bc57620007bb62000758565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007f482620007c7565b9050919050565b6200080681620007e7565b81146200081257600080fd5b50565b6000815190506200082681620007fb565b92915050565b600060208284031215620008455762000844620007c2565b5b6000620008558482850162000815565b91505092915050565b6200086981620007e7565b82525050565b60006040820190506200088660008301856200085e565b6200089560208301846200085e565b9392505050565b620008a781620006e7565b82525050565b6000602082019050620008c460008301846200089c565b92915050565b61445e80620008da6000396000f3fe6080604052600436106102135760003560e01c8063715018a611610118578063b7dbb12e116100a0578063dd62ed3e1161006f578063dd62ed3e1461074c578063e02f5e7614610789578063ec28438a146107b2578063f2fde38b146107db578063f7159d42146108045761021a565b8063b7dbb12e146106a4578063bfd79284146106cd578063c9567bf91461070a578063caac7934146107215761021a565b80638da5cb5b116100e75780638da5cb5b146105cf5780638f9a55c0146105fa57806395d89b4114610625578063a9059cbb14610650578063aacc5f231461068d5761021a565b8063715018a614610539578063751039fc146105505780637d1db4a5146105675780637f2feddc146105925761021a565b80632d7ec1631161019b5780633d6a9afe1161016a5780633d6a9afe1461045457806349bd5a5e1461047f578063522bed11146104aa5780635c67d12d146104d357806370a08231146104fc5761021a565b80632d7ec163146103be5780632f10cfb1146103d55780632fd689e3146103fe578063313ce567146104295761021a565b80631ec8c807116101e25780631ec8c807146102dd57806322e0ee331461030657806323b872dd1461032f57806327a14fc21461036c57806328226822146103955761021a565b806306fdde031461021f578063095ea7b31461024a5780631694505e1461028757806318160ddd146102b25761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b5061023461082d565b6040516102419190613272565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061333c565b61086a565b60405161027e9190613397565b60405180910390f35b34801561029357600080fd5b5061029c610888565b6040516102a99190613411565b60405180910390f35b3480156102be57600080fd5b506102c76108ae565b6040516102d4919061343b565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff9190613456565b6108be565b005b34801561031257600080fd5b5061032d60048036038101906103289190613496565b610965565b005b34801561033b57600080fd5b50610356600480360381019061035191906134c3565b610a04565b6040516103639190613397565b60405180910390f35b34801561037857600080fd5b50610393600480360381019061038e9190613496565b610add565b005b3480156103a157600080fd5b506103bc60048036038101906103b79190613496565b610b7c565b005b3480156103ca57600080fd5b506103d3610c1b565b005b3480156103e157600080fd5b506103fc60048036038101906103f791906135a7565b610cec565b005b34801561040a57600080fd5b50610413610e26565b604051610420919061343b565b60405180910390f35b34801561043557600080fd5b5061043e610e2c565b60405161044b9190613623565b60405180910390f35b34801561046057600080fd5b50610469610e35565b604051610476919061365f565b60405180910390f35b34801561048b57600080fd5b50610494610e5b565b6040516104a19190613689565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc91906136a4565b610e81565b005b3480156104df57600080fd5b506104fa60048036038101906104f591906136d1565b610f71565b005b34801561050857600080fd5b50610523600480360381019061051e91906136a4565b611023565b604051610530919061343b565b60405180910390f35b34801561054557600080fd5b5061054e611074565b005b34801561055c57600080fd5b506105656111c7565b005b34801561057357600080fd5b5061057c61127c565b604051610589919061343b565b60405180910390f35b34801561059e57600080fd5b506105b960048036038101906105b491906136a4565b611282565b6040516105c6919061343b565b60405180910390f35b3480156105db57600080fd5b506105e461129a565b6040516105f19190613689565b60405180910390f35b34801561060657600080fd5b5061060f6112c3565b60405161061c919061343b565b60405180910390f35b34801561063157600080fd5b5061063a6112c9565b6040516106479190613272565b60405180910390f35b34801561065c57600080fd5b506106776004803603810190610672919061333c565b611306565b6040516106849190613397565b60405180910390f35b34801561069957600080fd5b506106a2611324565b005b3480156106b057600080fd5b506106cb60048036038101906106c691906136fe565b6113fd565b005b3480156106d957600080fd5b506106f460048036038101906106ef91906136a4565b611543565b6040516107019190613397565b60405180910390f35b34801561071657600080fd5b5061071f611563565b005b34801561072d57600080fd5b5061073661161c565b604051610743919061365f565b60405180910390f35b34801561075857600080fd5b50610773600480360381019061076e91906136fe565b611642565b604051610780919061343b565b60405180910390f35b34801561079557600080fd5b506107b060048036038101906107ab91906135a7565b6116c9565b005b3480156107be57600080fd5b506107d960048036038101906107d49190613496565b611803565b005b3480156107e757600080fd5b5061080260048036038101906107fd91906136a4565b6118a2565b005b34801561081057600080fd5b5061082b6004803603810190610826919061387c565b611a63565b005b60606040518060400160405280600881526020017f496e736964657273000000000000000000000000000000000000000000000000815250905090565b600061087e610877611b8d565b8484611b95565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b6108c6611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094a90613911565b60405180910390fd5b8160098190555080600b819055505050565b61096d611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f190613911565b60405180910390fd5b8060198190555050565b6000610a11848484611d5e565b610ad284610a1d611b8d565b610acd8560405180606001604052806028815260200161440160289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a83611b8d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270d9092919063ffffffff16565b611b95565b600190509392505050565b610ae5611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6990613911565b60405180910390fd5b8060188190555050565b610b84611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0890613911565b60405180910390fd5b80601b8190555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c5c611b8d565b73ffffffffffffffffffffffffffffffffffffffff161480610cd25750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cba611b8d565b73ffffffffffffffffffffffffffffffffffffffff16145b610cdb57600080fd5b6000479050610ce981612771565b50565b610cf4611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7890613911565b60405180910390fd5b60005b83839050811015610e20578160056000868685818110610da757610da6613931565b5b9050602002016020810190610dbc91906136a4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e189061398f565b915050610d84565b50505050565b60195481565b60006009905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e89611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0d90613911565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610f79611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611006576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffd90613911565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b600061106d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127dd565b9050919050565b61107c611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110090613911565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6111cf611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461125c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125390613911565b60405180910390fd5b670de0b6b3a7640000601781905550670de0b6b3a7640000601881905550565b60175481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60185481565b60606040518060400160405280600881526020017f496e736964657273000000000000000000000000000000000000000000000000815250905090565b600061131a611313611b8d565b8484611d5e565b6001905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611365611b8d565b73ffffffffffffffffffffffffffffffffffffffff1614806113db5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113c3611b8d565b73ffffffffffffffffffffffffffffffffffffffff16145b6113e457600080fd5b60006113ef30611023565b90506113fa8161284b565b50565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661143e611b8d565b73ffffffffffffffffffffffffffffffffffffffff1614806114b45750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661149c611b8d565b73ffffffffffffffffffffffffffffffffffffffff16145b6114bd57600080fd5b81601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60106020528060005260406000206000915054906101000a900460ff1681565b61156b611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90613911565b60405180910390fd5b6001601560146101000a81548160ff02191690831515021790555043601a81905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116d1611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461175e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175590613911565b60405180910390fd5b60005b838390508110156117fd57816016600086868581811061178457611783613931565b5b905060200201602081019061179991906136a4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806117f59061398f565b915050611761565b50505050565b61180b611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188f90613911565b60405180910390fd5b8060178190555050565b6118aa611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192e90613911565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036119a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199d90613a49565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a6b611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef90613911565b60405180910390fd5b60005b8151811015611b8957600160106000848481518110611b1d57611b1c613931565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611b819061398f565b915050611afb565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfb90613adb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6a90613b6d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d51919061343b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc490613bff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3390613c91565b60405180910390fd5b60008111611e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7690613d23565b60405180910390fd5b611e8761129a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ef55750611ec561129a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561240c57601560149054906101000a900460ff1661203857611f1661129a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611ff8575060011515601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015611ff75750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b612037576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202e90613db5565b60405180910390fd5b5b601b54601a546120489190613dd5565b431080156120555750483a115b156120b0576000483a6120689190613e09565b9050601c5481106120ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a590613e89565b60405180910390fd5b505b6017548111156120f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ec90613ef5565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121995750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6121d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cf90613f87565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612285576018548161223a84611023565b6122449190613dd5565b10612284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227b90614019565b60405180910390fd5b5b600061229030611023565b90506000601954821015905060195482106122ab5760195491505b8080156122c3575060158054906101000a900460ff16155b801561231d5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123355750601560169054906101000a900460ff165b801561238b5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123e15750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612409576123ef8261284b565b600047905060008111156124075761240647612771565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124b35750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125665750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156125655750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561257457600090506126fb565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561261f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561263757600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156126e25750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156126fa57600a54600c81905550600b54600d819055505b5b61270784848484612ac2565b50505050565b6000838311158290612755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274c9190613272565b60405180910390fd5b50600083856127649190613e09565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156127d9573d6000803e3d6000fd5b5050565b6000600654821115612824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281b906140ab565b60405180910390fd5b600061282e612aef565b90506128438184612b1a90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156128825761288161373e565b5b6040519080825280602002602001820160405280156128b05781602001602082028036833780820191505090505b50905030816000815181106128c8576128c7613931565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299391906140e0565b816001815181106129a7576129a6613931565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a0e30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b95565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612a72959493929190614206565b600060405180830381600087803b158015612a8c57600080fd5b505af1158015612aa0573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b80612ad057612acf612b64565b5b612adb848484612ba1565b80612ae957612ae8612d6c565b5b50505050565b6000806000612afc612d80565b91509150612b138183612b1a90919063ffffffff16565b9250505090565b6000612b5c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ddf565b905092915050565b6000600c54148015612b7857506000600d54145b612b9f57600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612bb387612e42565b955095509550955095509550612c1186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612eaa90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ca685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ef490919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cf281612f52565b612cfc848361300f565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612d59919061343b565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080600060065490506000670de0b6b3a76400009050612db4670de0b6b3a7640000600654612b1a90919063ffffffff16565b821015612dd257600654670de0b6b3a7640000935093505050612ddb565b81819350935050505b9091565b60008083118290612e26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1d9190613272565b60405180910390fd5b5060008385612e35919061428f565b9050809150509392505050565b6000806000806000806000806000612e5f8a600c54600d54613049565b9250925092506000612e6f612aef565b90506000806000612e828e8787876130df565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612eec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061270d565b905092915050565b6000808284612f039190613dd5565b905083811015612f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3f9061430c565b60405180910390fd5b8091505092915050565b6000612f5c612aef565b90506000612f73828461316890919063ffffffff16565b9050612fc781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ef490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61302482600654612eaa90919063ffffffff16565b60068190555061303f81600754612ef490919063ffffffff16565b6007819055505050565b6000806000806130756064613067888a61316890919063ffffffff16565b612b1a90919063ffffffff16565b9050600061309f6064613091888b61316890919063ffffffff16565b612b1a90919063ffffffff16565b905060006130c8826130ba858c612eaa90919063ffffffff16565b612eaa90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806130f8858961316890919063ffffffff16565b9050600061310f868961316890919063ffffffff16565b90506000613126878961316890919063ffffffff16565b9050600061314f826131418587612eaa90919063ffffffff16565b612eaa90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080830361317a57600090506131dc565b60008284613188919061432c565b9050828482613197919061428f565b146131d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131ce906143e0565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561321c578082015181840152602081019050613201565b60008484015250505050565b6000601f19601f8301169050919050565b6000613244826131e2565b61324e81856131ed565b935061325e8185602086016131fe565b61326781613228565b840191505092915050565b6000602082019050818103600083015261328c8184613239565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132d3826132a8565b9050919050565b6132e3816132c8565b81146132ee57600080fd5b50565b600081359050613300816132da565b92915050565b6000819050919050565b61331981613306565b811461332457600080fd5b50565b60008135905061333681613310565b92915050565b600080604083850312156133535761335261329e565b5b6000613361858286016132f1565b925050602061337285828601613327565b9150509250929050565b60008115159050919050565b6133918161337c565b82525050565b60006020820190506133ac6000830184613388565b92915050565b6000819050919050565b60006133d76133d26133cd846132a8565b6133b2565b6132a8565b9050919050565b60006133e9826133bc565b9050919050565b60006133fb826133de565b9050919050565b61340b816133f0565b82525050565b60006020820190506134266000830184613402565b92915050565b61343581613306565b82525050565b6000602082019050613450600083018461342c565b92915050565b6000806040838503121561346d5761346c61329e565b5b600061347b85828601613327565b925050602061348c85828601613327565b9150509250929050565b6000602082840312156134ac576134ab61329e565b5b60006134ba84828501613327565b91505092915050565b6000806000606084860312156134dc576134db61329e565b5b60006134ea868287016132f1565b93505060206134fb868287016132f1565b925050604061350c86828701613327565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f84011261353b5761353a613516565b5b8235905067ffffffffffffffff8111156135585761355761351b565b5b60208301915083602082028301111561357457613573613520565b5b9250929050565b6135848161337c565b811461358f57600080fd5b50565b6000813590506135a18161357b565b92915050565b6000806000604084860312156135c0576135bf61329e565b5b600084013567ffffffffffffffff8111156135de576135dd6132a3565b5b6135ea86828701613525565b935093505060206135fd86828701613592565b9150509250925092565b600060ff82169050919050565b61361d81613607565b82525050565b60006020820190506136386000830184613614565b92915050565b6000613649826132a8565b9050919050565b6136598161363e565b82525050565b60006020820190506136746000830184613650565b92915050565b613683816132c8565b82525050565b600060208201905061369e600083018461367a565b92915050565b6000602082840312156136ba576136b961329e565b5b60006136c8848285016132f1565b91505092915050565b6000602082840312156136e7576136e661329e565b5b60006136f584828501613592565b91505092915050565b600080604083850312156137155761371461329e565b5b6000613723858286016132f1565b9250506020613734858286016132f1565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61377682613228565b810181811067ffffffffffffffff821117156137955761379461373e565b5b80604052505050565b60006137a8613294565b90506137b4828261376d565b919050565b600067ffffffffffffffff8211156137d4576137d361373e565b5b602082029050602081019050919050565b60006137f86137f3846137b9565b61379e565b9050808382526020820190506020840283018581111561381b5761381a613520565b5b835b81811015613844578061383088826132f1565b84526020840193505060208101905061381d565b5050509392505050565b600082601f83011261386357613862613516565b5b81356138738482602086016137e5565b91505092915050565b6000602082840312156138925761389161329e565b5b600082013567ffffffffffffffff8111156138b0576138af6132a3565b5b6138bc8482850161384e565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138fb6020836131ed565b9150613906826138c5565b602082019050919050565b6000602082019050818103600083015261392a816138ee565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061399a82613306565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139cc576139cb613960565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a336026836131ed565b9150613a3e826139d7565b604082019050919050565b60006020820190508181036000830152613a6281613a26565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ac56024836131ed565b9150613ad082613a69565b604082019050919050565b60006020820190508181036000830152613af481613ab8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b576022836131ed565b9150613b6282613afb565b604082019050919050565b60006020820190508181036000830152613b8681613b4a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613be96025836131ed565b9150613bf482613b8d565b604082019050919050565b60006020820190508181036000830152613c1881613bdc565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613c7b6023836131ed565b9150613c8682613c1f565b604082019050919050565b60006020820190508181036000830152613caa81613c6e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613d0d6029836131ed565b9150613d1882613cb1565b604082019050919050565b60006020820190508181036000830152613d3c81613d00565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613d9f603f836131ed565b9150613daa82613d43565b604082019050919050565b60006020820190508181036000830152613dce81613d92565b9050919050565b6000613de082613306565b9150613deb83613306565b9250828201905080821115613e0357613e02613960565b5b92915050565b6000613e1482613306565b9150613e1f83613306565b9250828203905081811115613e3757613e36613960565b5b92915050565b7f544f4b454e3a2052455645525445440000000000000000000000000000000000600082015250565b6000613e73600f836131ed565b9150613e7e82613e3d565b602082019050919050565b60006020820190508181036000830152613ea281613e66565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613edf601c836131ed565b9150613eea82613ea9565b602082019050919050565b60006020820190508181036000830152613f0e81613ed2565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613f716023836131ed565b9150613f7c82613f15565b604082019050919050565b60006020820190508181036000830152613fa081613f64565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006140036023836131ed565b915061400e82613fa7565b604082019050919050565b6000602082019050818103600083015261403281613ff6565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000614095602a836131ed565b91506140a082614039565b604082019050919050565b600060208201905081810360008301526140c481614088565b9050919050565b6000815190506140da816132da565b92915050565b6000602082840312156140f6576140f561329e565b5b6000614104848285016140cb565b91505092915050565b6000819050919050565b600061413261412d6141288461410d565b6133b2565b613306565b9050919050565b61414281614117565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61417d816132c8565b82525050565b600061418f8383614174565b60208301905092915050565b6000602082019050919050565b60006141b382614148565b6141bd8185614153565b93506141c883614164565b8060005b838110156141f95781516141e08882614183565b97506141eb8361419b565b9250506001810190506141cc565b5085935050505092915050565b600060a08201905061421b600083018861342c565b6142286020830187614139565b818103604083015261423a81866141a8565b9050614249606083018561367a565b614256608083018461342c565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061429a82613306565b91506142a583613306565b9250826142b5576142b4614260565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006142f6601b836131ed565b9150614301826142c0565b602082019050919050565b60006020820190508181036000830152614325816142e9565b9050919050565b600061433782613306565b915061434283613306565b925082820261435081613306565b9150828204841483151761436757614366613960565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006143ca6021836131ed565b91506143d58261436e565b604082019050919050565b600060208201905081810360008301526143f9816143bd565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203881237649359866587c3be6772b264e46f66d03551bb0b222277bbd8e3f7d0f64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106102135760003560e01c8063715018a611610118578063b7dbb12e116100a0578063dd62ed3e1161006f578063dd62ed3e1461074c578063e02f5e7614610789578063ec28438a146107b2578063f2fde38b146107db578063f7159d42146108045761021a565b8063b7dbb12e146106a4578063bfd79284146106cd578063c9567bf91461070a578063caac7934146107215761021a565b80638da5cb5b116100e75780638da5cb5b146105cf5780638f9a55c0146105fa57806395d89b4114610625578063a9059cbb14610650578063aacc5f231461068d5761021a565b8063715018a614610539578063751039fc146105505780637d1db4a5146105675780637f2feddc146105925761021a565b80632d7ec1631161019b5780633d6a9afe1161016a5780633d6a9afe1461045457806349bd5a5e1461047f578063522bed11146104aa5780635c67d12d146104d357806370a08231146104fc5761021a565b80632d7ec163146103be5780632f10cfb1146103d55780632fd689e3146103fe578063313ce567146104295761021a565b80631ec8c807116101e25780631ec8c807146102dd57806322e0ee331461030657806323b872dd1461032f57806327a14fc21461036c57806328226822146103955761021a565b806306fdde031461021f578063095ea7b31461024a5780631694505e1461028757806318160ddd146102b25761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b5061023461082d565b6040516102419190613272565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061333c565b61086a565b60405161027e9190613397565b60405180910390f35b34801561029357600080fd5b5061029c610888565b6040516102a99190613411565b60405180910390f35b3480156102be57600080fd5b506102c76108ae565b6040516102d4919061343b565b60405180910390f35b3480156102e957600080fd5b5061030460048036038101906102ff9190613456565b6108be565b005b34801561031257600080fd5b5061032d60048036038101906103289190613496565b610965565b005b34801561033b57600080fd5b50610356600480360381019061035191906134c3565b610a04565b6040516103639190613397565b60405180910390f35b34801561037857600080fd5b50610393600480360381019061038e9190613496565b610add565b005b3480156103a157600080fd5b506103bc60048036038101906103b79190613496565b610b7c565b005b3480156103ca57600080fd5b506103d3610c1b565b005b3480156103e157600080fd5b506103fc60048036038101906103f791906135a7565b610cec565b005b34801561040a57600080fd5b50610413610e26565b604051610420919061343b565b60405180910390f35b34801561043557600080fd5b5061043e610e2c565b60405161044b9190613623565b60405180910390f35b34801561046057600080fd5b50610469610e35565b604051610476919061365f565b60405180910390f35b34801561048b57600080fd5b50610494610e5b565b6040516104a19190613689565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc91906136a4565b610e81565b005b3480156104df57600080fd5b506104fa60048036038101906104f591906136d1565b610f71565b005b34801561050857600080fd5b50610523600480360381019061051e91906136a4565b611023565b604051610530919061343b565b60405180910390f35b34801561054557600080fd5b5061054e611074565b005b34801561055c57600080fd5b506105656111c7565b005b34801561057357600080fd5b5061057c61127c565b604051610589919061343b565b60405180910390f35b34801561059e57600080fd5b506105b960048036038101906105b491906136a4565b611282565b6040516105c6919061343b565b60405180910390f35b3480156105db57600080fd5b506105e461129a565b6040516105f19190613689565b60405180910390f35b34801561060657600080fd5b5061060f6112c3565b60405161061c919061343b565b60405180910390f35b34801561063157600080fd5b5061063a6112c9565b6040516106479190613272565b60405180910390f35b34801561065c57600080fd5b506106776004803603810190610672919061333c565b611306565b6040516106849190613397565b60405180910390f35b34801561069957600080fd5b506106a2611324565b005b3480156106b057600080fd5b506106cb60048036038101906106c691906136fe565b6113fd565b005b3480156106d957600080fd5b506106f460048036038101906106ef91906136a4565b611543565b6040516107019190613397565b60405180910390f35b34801561071657600080fd5b5061071f611563565b005b34801561072d57600080fd5b5061073661161c565b604051610743919061365f565b60405180910390f35b34801561075857600080fd5b50610773600480360381019061076e91906136fe565b611642565b604051610780919061343b565b60405180910390f35b34801561079557600080fd5b506107b060048036038101906107ab91906135a7565b6116c9565b005b3480156107be57600080fd5b506107d960048036038101906107d49190613496565b611803565b005b3480156107e757600080fd5b5061080260048036038101906107fd91906136a4565b6118a2565b005b34801561081057600080fd5b5061082b6004803603810190610826919061387c565b611a63565b005b60606040518060400160405280600881526020017f496e736964657273000000000000000000000000000000000000000000000000815250905090565b600061087e610877611b8d565b8484611b95565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b6108c6611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094a90613911565b60405180910390fd5b8160098190555080600b819055505050565b61096d611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f190613911565b60405180910390fd5b8060198190555050565b6000610a11848484611d5e565b610ad284610a1d611b8d565b610acd8560405180606001604052806028815260200161440160289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a83611b8d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270d9092919063ffffffff16565b611b95565b600190509392505050565b610ae5611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6990613911565b60405180910390fd5b8060188190555050565b610b84611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0890613911565b60405180910390fd5b80601b8190555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c5c611b8d565b73ffffffffffffffffffffffffffffffffffffffff161480610cd25750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cba611b8d565b73ffffffffffffffffffffffffffffffffffffffff16145b610cdb57600080fd5b6000479050610ce981612771565b50565b610cf4611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7890613911565b60405180910390fd5b60005b83839050811015610e20578160056000868685818110610da757610da6613931565b5b9050602002016020810190610dbc91906136a4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e189061398f565b915050610d84565b50505050565b60195481565b60006009905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e89611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0d90613911565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610f79611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611006576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffd90613911565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b600061106d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127dd565b9050919050565b61107c611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110090613911565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6111cf611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461125c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125390613911565b60405180910390fd5b670de0b6b3a7640000601781905550670de0b6b3a7640000601881905550565b60175481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60185481565b60606040518060400160405280600881526020017f496e736964657273000000000000000000000000000000000000000000000000815250905090565b600061131a611313611b8d565b8484611d5e565b6001905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611365611b8d565b73ffffffffffffffffffffffffffffffffffffffff1614806113db5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113c3611b8d565b73ffffffffffffffffffffffffffffffffffffffff16145b6113e457600080fd5b60006113ef30611023565b90506113fa8161284b565b50565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661143e611b8d565b73ffffffffffffffffffffffffffffffffffffffff1614806114b45750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661149c611b8d565b73ffffffffffffffffffffffffffffffffffffffff16145b6114bd57600080fd5b81601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60106020528060005260406000206000915054906101000a900460ff1681565b61156b611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90613911565b60405180910390fd5b6001601560146101000a81548160ff02191690831515021790555043601a81905550565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116d1611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461175e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175590613911565b60405180910390fd5b60005b838390508110156117fd57816016600086868581811061178457611783613931565b5b905060200201602081019061179991906136a4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806117f59061398f565b915050611761565b50505050565b61180b611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188f90613911565b60405180910390fd5b8060178190555050565b6118aa611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192e90613911565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036119a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199d90613a49565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a6b611b8d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef90613911565b60405180910390fd5b60005b8151811015611b8957600160106000848481518110611b1d57611b1c613931565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611b819061398f565b915050611afb565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfb90613adb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6a90613b6d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d51919061343b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dc490613bff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3390613c91565b60405180910390fd5b60008111611e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7690613d23565b60405180910390fd5b611e8761129a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ef55750611ec561129a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561240c57601560149054906101000a900460ff1661203857611f1661129a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611ff8575060011515601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015611ff75750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b612037576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202e90613db5565b60405180910390fd5b5b601b54601a546120489190613dd5565b431080156120555750483a115b156120b0576000483a6120689190613e09565b9050601c5481106120ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a590613e89565b60405180910390fd5b505b6017548111156120f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ec90613ef5565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121995750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6121d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cf90613f87565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612285576018548161223a84611023565b6122449190613dd5565b10612284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227b90614019565b60405180910390fd5b5b600061229030611023565b90506000601954821015905060195482106122ab5760195491505b8080156122c3575060158054906101000a900460ff16155b801561231d5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123355750601560169054906101000a900460ff165b801561238b5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156123e15750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612409576123ef8261284b565b600047905060008111156124075761240647612771565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124b35750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125665750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156125655750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561257457600090506126fb565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561261f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561263757600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156126e25750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156126fa57600a54600c81905550600b54600d819055505b5b61270784848484612ac2565b50505050565b6000838311158290612755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274c9190613272565b60405180910390fd5b50600083856127649190613e09565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156127d9573d6000803e3d6000fd5b5050565b6000600654821115612824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281b906140ab565b60405180910390fd5b600061282e612aef565b90506128438184612b1a90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156128825761288161373e565b5b6040519080825280602002602001820160405280156128b05781602001602082028036833780820191505090505b50905030816000815181106128c8576128c7613931565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299391906140e0565b816001815181106129a7576129a6613931565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a0e30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b95565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612a72959493929190614206565b600060405180830381600087803b158015612a8c57600080fd5b505af1158015612aa0573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b80612ad057612acf612b64565b5b612adb848484612ba1565b80612ae957612ae8612d6c565b5b50505050565b6000806000612afc612d80565b91509150612b138183612b1a90919063ffffffff16565b9250505090565b6000612b5c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ddf565b905092915050565b6000600c54148015612b7857506000600d54145b612b9f57600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612bb387612e42565b955095509550955095509550612c1186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612eaa90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ca685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ef490919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cf281612f52565b612cfc848361300f565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612d59919061343b565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080600060065490506000670de0b6b3a76400009050612db4670de0b6b3a7640000600654612b1a90919063ffffffff16565b821015612dd257600654670de0b6b3a7640000935093505050612ddb565b81819350935050505b9091565b60008083118290612e26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1d9190613272565b60405180910390fd5b5060008385612e35919061428f565b9050809150509392505050565b6000806000806000806000806000612e5f8a600c54600d54613049565b9250925092506000612e6f612aef565b90506000806000612e828e8787876130df565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612eec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061270d565b905092915050565b6000808284612f039190613dd5565b905083811015612f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3f9061430c565b60405180910390fd5b8091505092915050565b6000612f5c612aef565b90506000612f73828461316890919063ffffffff16565b9050612fc781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ef490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61302482600654612eaa90919063ffffffff16565b60068190555061303f81600754612ef490919063ffffffff16565b6007819055505050565b6000806000806130756064613067888a61316890919063ffffffff16565b612b1a90919063ffffffff16565b9050600061309f6064613091888b61316890919063ffffffff16565b612b1a90919063ffffffff16565b905060006130c8826130ba858c612eaa90919063ffffffff16565b612eaa90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806130f8858961316890919063ffffffff16565b9050600061310f868961316890919063ffffffff16565b90506000613126878961316890919063ffffffff16565b9050600061314f826131418587612eaa90919063ffffffff16565b612eaa90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080830361317a57600090506131dc565b60008284613188919061432c565b9050828482613197919061428f565b146131d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131ce906143e0565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561321c578082015181840152602081019050613201565b60008484015250505050565b6000601f19601f8301169050919050565b6000613244826131e2565b61324e81856131ed565b935061325e8185602086016131fe565b61326781613228565b840191505092915050565b6000602082019050818103600083015261328c8184613239565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132d3826132a8565b9050919050565b6132e3816132c8565b81146132ee57600080fd5b50565b600081359050613300816132da565b92915050565b6000819050919050565b61331981613306565b811461332457600080fd5b50565b60008135905061333681613310565b92915050565b600080604083850312156133535761335261329e565b5b6000613361858286016132f1565b925050602061337285828601613327565b9150509250929050565b60008115159050919050565b6133918161337c565b82525050565b60006020820190506133ac6000830184613388565b92915050565b6000819050919050565b60006133d76133d26133cd846132a8565b6133b2565b6132a8565b9050919050565b60006133e9826133bc565b9050919050565b60006133fb826133de565b9050919050565b61340b816133f0565b82525050565b60006020820190506134266000830184613402565b92915050565b61343581613306565b82525050565b6000602082019050613450600083018461342c565b92915050565b6000806040838503121561346d5761346c61329e565b5b600061347b85828601613327565b925050602061348c85828601613327565b9150509250929050565b6000602082840312156134ac576134ab61329e565b5b60006134ba84828501613327565b91505092915050565b6000806000606084860312156134dc576134db61329e565b5b60006134ea868287016132f1565b93505060206134fb868287016132f1565b925050604061350c86828701613327565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f84011261353b5761353a613516565b5b8235905067ffffffffffffffff8111156135585761355761351b565b5b60208301915083602082028301111561357457613573613520565b5b9250929050565b6135848161337c565b811461358f57600080fd5b50565b6000813590506135a18161357b565b92915050565b6000806000604084860312156135c0576135bf61329e565b5b600084013567ffffffffffffffff8111156135de576135dd6132a3565b5b6135ea86828701613525565b935093505060206135fd86828701613592565b9150509250925092565b600060ff82169050919050565b61361d81613607565b82525050565b60006020820190506136386000830184613614565b92915050565b6000613649826132a8565b9050919050565b6136598161363e565b82525050565b60006020820190506136746000830184613650565b92915050565b613683816132c8565b82525050565b600060208201905061369e600083018461367a565b92915050565b6000602082840312156136ba576136b961329e565b5b60006136c8848285016132f1565b91505092915050565b6000602082840312156136e7576136e661329e565b5b60006136f584828501613592565b91505092915050565b600080604083850312156137155761371461329e565b5b6000613723858286016132f1565b9250506020613734858286016132f1565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61377682613228565b810181811067ffffffffffffffff821117156137955761379461373e565b5b80604052505050565b60006137a8613294565b90506137b4828261376d565b919050565b600067ffffffffffffffff8211156137d4576137d361373e565b5b602082029050602081019050919050565b60006137f86137f3846137b9565b61379e565b9050808382526020820190506020840283018581111561381b5761381a613520565b5b835b81811015613844578061383088826132f1565b84526020840193505060208101905061381d565b5050509392505050565b600082601f83011261386357613862613516565b5b81356138738482602086016137e5565b91505092915050565b6000602082840312156138925761389161329e565b5b600082013567ffffffffffffffff8111156138b0576138af6132a3565b5b6138bc8482850161384e565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006138fb6020836131ed565b9150613906826138c5565b602082019050919050565b6000602082019050818103600083015261392a816138ee565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061399a82613306565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139cc576139cb613960565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a336026836131ed565b9150613a3e826139d7565b604082019050919050565b60006020820190508181036000830152613a6281613a26565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ac56024836131ed565b9150613ad082613a69565b604082019050919050565b60006020820190508181036000830152613af481613ab8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b576022836131ed565b9150613b6282613afb565b604082019050919050565b60006020820190508181036000830152613b8681613b4a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613be96025836131ed565b9150613bf482613b8d565b604082019050919050565b60006020820190508181036000830152613c1881613bdc565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613c7b6023836131ed565b9150613c8682613c1f565b604082019050919050565b60006020820190508181036000830152613caa81613c6e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613d0d6029836131ed565b9150613d1882613cb1565b604082019050919050565b60006020820190508181036000830152613d3c81613d00565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613d9f603f836131ed565b9150613daa82613d43565b604082019050919050565b60006020820190508181036000830152613dce81613d92565b9050919050565b6000613de082613306565b9150613deb83613306565b9250828201905080821115613e0357613e02613960565b5b92915050565b6000613e1482613306565b9150613e1f83613306565b9250828203905081811115613e3757613e36613960565b5b92915050565b7f544f4b454e3a2052455645525445440000000000000000000000000000000000600082015250565b6000613e73600f836131ed565b9150613e7e82613e3d565b602082019050919050565b60006020820190508181036000830152613ea281613e66565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613edf601c836131ed565b9150613eea82613ea9565b602082019050919050565b60006020820190508181036000830152613f0e81613ed2565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613f716023836131ed565b9150613f7c82613f15565b604082019050919050565b60006020820190508181036000830152613fa081613f64565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006140036023836131ed565b915061400e82613fa7565b604082019050919050565b6000602082019050818103600083015261403281613ff6565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000614095602a836131ed565b91506140a082614039565b604082019050919050565b600060208201905081810360008301526140c481614088565b9050919050565b6000815190506140da816132da565b92915050565b6000602082840312156140f6576140f561329e565b5b6000614104848285016140cb565b91505092915050565b6000819050919050565b600061413261412d6141288461410d565b6133b2565b613306565b9050919050565b61414281614117565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61417d816132c8565b82525050565b600061418f8383614174565b60208301905092915050565b6000602082019050919050565b60006141b382614148565b6141bd8185614153565b93506141c883614164565b8060005b838110156141f95781516141e08882614183565b97506141eb8361419b565b9250506001810190506141cc565b5085935050505092915050565b600060a08201905061421b600083018861342c565b6142286020830187614139565b818103604083015261423a81866141a8565b9050614249606083018561367a565b614256608083018461342c565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061429a82613306565b91506142a583613306565b9250826142b5576142b4614260565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006142f6601b836131ed565b9150614301826142c0565b602082019050919050565b60006020820190508181036000830152614325816142e9565b9050919050565b600061433782613306565b915061434283613306565b925082820261435081613306565b9150828204841483151761436757614366613960565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006143ca6021836131ed565b91506143d58261436e565b604082019050919050565b600060208201905081810360008301526143f9816143bd565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203881237649359866587c3be6772b264e46f66d03551bb0b222277bbd8e3f7d0f64736f6c63430008120033

Deployed Bytecode Sourcemap

4167:14554:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6890:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7822:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5399:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7170:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17113:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17277:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8024:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17872:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18612:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13173:236;;;;;;;;;;;;;:::i;:::-;;17508:235;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5751:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7078:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5299:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5447:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13600:99;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17396:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7274:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1679:148;;;;;;;;;;;;;:::i;:::-;;17995:117;;;;;;;;;;;;;:::i;:::-;;5641:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5248:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1469:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5695:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6982:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7421:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12929:235;;;;;;;;;;;;;:::i;:::-;;18118:279;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5210:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12810:112;;;;;;;;;;;;;:::i;:::-;;5348:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7629:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18403:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17749:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1836:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13418:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6890:83;6927:13;6960:5;;;;;;;;;;;;;;;;;6953:12;;6890:83;:::o;7822:193::-;7924:4;7946:39;7955:12;:10;:12::i;:::-;7969:7;7978:6;7946:8;:39::i;:::-;8003:4;7996:11;;7822:193;;;;:::o;5399:41::-;;;;;;;;;;;;;:::o;7170:95::-;7223:7;4715:18;7243:14;;7170:95;:::o;17113:158::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17217:9:::1;17202:12;:24;;;;17253:10;17237:13;:26;;;;17113:158:::0;;:::o;17277:113::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17375:7:::1;17353:19;:29;;;;17277:113:::0;:::o;8024:446::-;8156:4;8173:36;8183:6;8191:9;8202:6;8173:9;:36::i;:::-;8220:220;8243:6;8264:12;:10;:12::i;:::-;8291:138;8347:6;8291:138;;;;;;;;;;;;;;;;;:11;:19;8303:6;8291:19;;;;;;;;;;;;;;;:33;8311:12;:10;:12::i;:::-;8291:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8220:8;:220::i;:::-;8458:4;8451:11;;8024:446;;;;;:::o;17872:117::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17968:13:::1;17951:14;:30;;;;17872:117:::0;:::o;18612:106::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18701:9:::1;18686:14;:24;;;;18612:106:::0;:::o;13173:236::-;13240:19;;;;;;;;;;;13224:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13279:17;;;;;;;;;;;13263:33;;:12;:10;:12::i;:::-;:33;;;13224:72;13216:81;;;;;;13308:26;13337:21;13308:50;;13369:32;13382:18;13369:12;:32::i;:::-;13205:204;13173:236::o;17508:235::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17626:9:::1;17622:114;17645:8;;:15;;17641:1;:19;17622:114;;;17716:8;17682:18;:31;17701:8;;17710:1;17701:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;17682:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;17662:3;;;;;:::i;:::-;;;;17622:114;;;;17508:235:::0;;;:::o;5751:52::-;;;;:::o;7078:83::-;7119:5;4391:1;7137:16;;7078:83;:::o;5299:42::-;;;;;;;;;;;;;:::o;5447:28::-;;;;;;;;;;;;;:::o;13600:99::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13686:5:::1;13671:4;:12;13676:6;13671:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13600:99:::0;:::o;17396:106::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17482:12:::1;17468:11;;:26;;;;;;;;;;;;;;;;;;17396:106:::0;:::o;7274:138::-;7340:7;7367:37;7387:7;:16;7395:7;7387:16;;;;;;;;;;;;;;;;7367:19;:37::i;:::-;7360:44;;7274:138;;;:::o;1679:148::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1786:1:::1;1749:40;;1770:6;::::0;::::1;;;;;;;;1749:40;;;;;;;;;;;;1817:1;1800:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1679:148::o:0;17995:117::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4715:18:::1;18047:12;:22;;;;4715:18;18080:14;:24;;;;17995:117::o:0;5641:46::-;;;;:::o;5248:43::-;;;;;;;;;;;;;;;;;:::o;1469:79::-;1507:7;1534:6;;;;;;;;;;;1527:13;;1469:79;:::o;5695:48::-;;;;:::o;6982:87::-;7021:13;7054:7;;;;;;;;;;;;;;;;;7047:14;;6982:87;:::o;7421:199::-;7526:4;7548:42;7558:12;:10;:12::i;:::-;7572:9;7583:6;7548:9;:42::i;:::-;7608:4;7601:11;;7421:199;;;;:::o;12929:235::-;12994:19;;;;;;;;;;;12978:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13033:17;;;;;;;;;;;13017:33;;:12;:10;:12::i;:::-;:33;;;12978:72;12970:81;;;;;;13062:23;13088:24;13106:4;13088:9;:24::i;:::-;13062:50;;13123:33;13140:15;13123:16;:33::i;:::-;12959:205;12929:235::o;18118:279::-;18228:19;;;;;;;;;;;18212:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;18267:17;;;;;;;;;;;18251:33;;:12;:10;:12::i;:::-;:33;;;18212:72;18204:81;;;;;;18324:10;18296:17;;:39;;;;;;;;;;;;;;;;;;18376:12;18346:19;;:43;;;;;;;;;;;;;;;;;;18118:279;;:::o;5210:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;12810:112::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12875:4:::1;12861:11;;:18;;;;;;;;;;;;;;;;;;12902:12;12890:11;:24;;;;12810:112::o:0;5348:41::-;;;;;;;;;;;;;:::o;7629:184::-;7746:7;7778:11;:18;7790:5;7778:18;;;;;;;;;;;;;;;:27;7797:7;7778:27;;;;;;;;;;;;;;;;7771:34;;7629:184;;;;:::o;18403:203::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18498:9:::1;18494:105;18517:8;;:15;;18513:1;:19;18494:105;;;18580:7;18554:10;:23;18565:8;;18574:1;18565:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18554:23;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;18534:3;;;;;:::i;:::-;;;;18494:105;;;;18403:203:::0;;;:::o;17749:117::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17840:11:::1;17825:12;:26;;;;17749:117:::0;:::o;1836:244::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1945:1:::1;1925:22;;:8;:22;;::::0;1917:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2035:8;2006:38;;2027:6;::::0;::::1;;;;;;;;2006:38;;;;;;;;;;;;2064:8;2055:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1836:244:::0;:::o;13418:176::-;1604:12;:10;:12::i;:::-;1594:22;;:6;;;;;;;;;;:22;;;1586:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13501:9:::1;13496:91;13520:5;:12;13516:1;:16;13496:91;;;13571:4;13554;:14;13559:5;13565:1;13559:8;;;;;;;;:::i;:::-;;;;;;;;13554:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13534:3;;;;;:::i;:::-;;;;13496:91;;;;13418:176:::0;:::o;248:98::-;301:7;328:10;321:17;;248:98;:::o;9167:369::-;9311:1;9294:19;;:5;:19;;;9286:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9392:1;9373:21;;:7;:21;;;9365:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9474:6;9444:11;:18;9456:5;9444:18;;;;;;;;;;;;;;;:27;9463:7;9444:27;;;;;;;;;;;;;;;:36;;;;9512:7;9496:32;;9505:5;9496:32;;;9521:6;9496:32;;;;;;:::i;:::-;;;;;;;;9167:369;;;:::o;9545:2658::-;9683:1;9667:18;;:4;:18;;;9659:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9760:1;9746:16;;:2;:16;;;9738:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9830:1;9821:6;:10;9813:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9903:7;:5;:7::i;:::-;9895:15;;:4;:15;;;;:32;;;;;9920:7;:5;:7::i;:::-;9914:13;;:2;:13;;;;9895:32;9891:1580;;;9985:11;;;;;;;;;;;9980:195;;10034:7;:5;:7::i;:::-;10026:15;;:4;:15;;;:64;;;;10062:4;10046:20;;:10;:14;10057:2;10046:14;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;:43;;;;;10076:13;;;;;;;;;;;10070:19;;:4;:19;;;10046:43;10026:64;10017:142;;;;;;;;;;;;:::i;:::-;;;;;;;;;9980:195;10227:14;;10213:11;;:28;;;;:::i;:::-;10196:12;:46;:77;;;;;10260:13;10246:11;:27;10196:77;10191:235;;;10300:16;10333:13;10319:11;:27;;;;:::i;:::-;10300:46;;10384:6;;10373:8;:17;10365:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;10274:152;10191:235;10460:12;;10450:6;:22;;10442:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10529:4;:10;10534:4;10529:10;;;;;;;;;;;;;;;;;;;;;;;;;10528:11;:24;;;;;10544:4;:8;10549:2;10544:8;;;;;;;;;;;;;;;;;;;;;;;;;10543:9;10528:24;10520:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10619:13;;;;;;;;;;;10613:19;;:2;:19;;;10610:146;;10686:14;;10677:6;10661:13;10671:2;10661:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10653:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10610:146;10773:28;10804:24;10822:4;10804:9;:24::i;:::-;10773:55;;10843:12;10882:19;;10858:20;:43;;10843:58;;10946:19;;10922:20;:43;10919:138;;11022:19;;10999:42;;10919:138;11078:7;:18;;;;;11090:6;;;;;;;;;;11089:7;11078:18;:43;;;;;11108:13;;;;;;;;;;;11100:21;;:4;:21;;;;11078:43;:58;;;;;11125:11;;;;;;;;;;;11078:58;:87;;;;;11141:18;:24;11160:4;11141:24;;;;;;;;;;;;;;;;;;;;;;;;;11140:25;11078:87;:114;;;;;11170:18;:22;11189:2;11170:22;;;;;;;;;;;;;;;;;;;;;;;;;11169:23;11078:114;11074:386;;;11213:38;11230:20;11213:16;:38::i;:::-;11270:26;11299:21;11270:50;;11364:1;11343:18;:22;11339:106;;;11390:35;11403:21;11390:12;:35::i;:::-;11339:106;11194:266;11074:386;9929:1542;;9891:1580;11484:12;11499:4;11484:19;;11549:18;:24;11568:4;11549:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11577:18;:22;11596:2;11577:22;;;;;;;;;;;;;;;;;;;;;;;;;11549:50;11548:102;;;;11613:13;;;;;;;;;;;11605:21;;:4;:21;;;;:44;;;;;11636:13;;;;;;;;;;;11630:19;;:2;:19;;;;11605:44;11548:102;11544:597;;;11677:5;11667:15;;11544:597;;;11761:13;;;;;;;;;;;11753:21;;:4;:21;;;:55;;;;;11792:15;;;;;;;;;;;11778:30;;:2;:30;;;;11753:55;11750:162;;;11841:14;;11829:9;:26;;;;11884:12;;11874:7;:22;;;;11750:162;11972:13;;;;;;;;;;;11966:19;;:2;:19;;;:55;;;;;12005:15;;;;;;;;;;;11989:32;;:4;:32;;;;11966:55;11962:165;;;12054:15;;12042:9;:27;;;;12098:13;;12088:7;:23;;;;11962:165;11544:597;12154:41;12169:4;12175:2;12179:6;12187:7;12154:14;:41::i;:::-;9648:2555;9545:2658;;;:::o;2436:224::-;2556:7;2589:1;2584;:6;;2592:12;2576:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2616:9;2632:1;2628;:5;;;;:::i;:::-;2616:17;;2651:1;2644:8;;;2436:224;;;;;:::o;12704:99::-;12761:17;;;;;;;;;;;:26;;:34;12788:6;12761:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12704:99;:::o;8479:323::-;8574:7;8632;;8621;:18;;8599:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8720:19;8742:10;:8;:10::i;:::-;8720:32;;8770:24;8782:11;8770:7;:11;;:24;;;;:::i;:::-;8763:31;;;8479:323;;;:::o;12212:483::-;6025:4;6016:6;;:13;;;;;;;;;;;;;;;;;;12290:21:::1;12328:1;12314:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12290:40;;12359:4;12341;12346:1;12341:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12385:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12375:4;12380:1;12375:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12418:62;12435:4;12450:15;;;;;;;;;;;12468:11;12418:8;:62::i;:::-;12491:15;;;;;;;;;;;:66;;;12572:11;12598:1;12614:4;12641;12661:15;12491:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12279:416;6061:5:::0;6052:6;;:14;;;;;;;;;;;;;;;;;;12212:483;:::o;13705:282::-;13861:7;13856:28;;13870:14;:12;:14::i;:::-;13856:28;13895:44;13913:6;13921:9;13932:6;13895:17;:44::i;:::-;13955:7;13950:29;;13964:15;:13;:15::i;:::-;13950:29;13705:282;;;;:::o;16674:164::-;16716:7;16737:15;16754;16773:19;:17;:19::i;:::-;16736:56;;;;16810:20;16822:7;16810;:11;;:20;;;;:::i;:::-;16803:27;;;;16674:164;:::o;2918:132::-;2976:7;3003:39;3007:1;3010;3003:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2996:46;;2918:132;;;;:::o;8811:221::-;8871:1;8858:9;;:14;:30;;;;;8887:1;8876:7;;:12;8858:30;8890:7;8854:43;8930:9;;8910:17;:29;;;;8968:7;;8950:15;:25;;;;9001:1;8989:9;:13;;;;9023:1;9013:7;:11;;;;8811:221;:::o;13996:610::-;14143:15;14173:23;14211:12;14238:23;14276:12;14303:13;14330:19;14341:7;14330:10;:19::i;:::-;14128:221;;;;;;;;;;;;14378:28;14398:7;14378;:15;14386:6;14378:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14360:7;:15;14368:6;14360:15;;;;;;;;;;;;;;;:46;;;;14438:39;14461:15;14438:7;:18;14446:9;14438:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14417:7;:18;14425:9;14417:18;;;;;;;;;;;;;;;:60;;;;14488:16;14498:5;14488:9;:16::i;:::-;14515:23;14527:4;14533;14515:11;:23::i;:::-;14571:9;14554:44;;14563:6;14554:44;;;14582:15;14554:44;;;;;;:::i;:::-;;;;;;;;14117:489;;;;;;13996:610;;;:::o;9041:117::-;9097:17;;9085:9;:29;;;;9135:15;;9125:7;:25;;;;9041:117::o;16847:257::-;16898:7;16907;16927:15;16945:7;;16927:25;;16963:15;4715:18;16963:25;;17013:20;4715:18;17013:7;;:11;;:20;;;;:::i;:::-;17003:7;:30;16999:61;;;17043:7;;4715:18;17035:25;;;;;;;;16999:61;17079:7;17088;17071:25;;;;;;16847:257;;;:::o;3056:223::-;3176:7;3208:1;3204;:5;3211:12;3196:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3235:9;3251:1;3247;:5;;;;:::i;:::-;3235:17;;3270:1;3263:8;;;3056:223;;;;;:::o;15029:615::-;15129:7;15151;15173;15195;15217;15239;15275:23;15300:12;15314:13;15344:40;15356:7;15365:9;;15376:7;;15344:11;:40::i;:::-;15274:110;;;;;;15395:19;15417:10;:8;:10::i;:::-;15395:32;;15439:15;15456:23;15481:12;15510:46;15522:7;15531:4;15537:5;15544:11;15510;:46::i;:::-;15438:118;;;;;;15575:7;15584:15;15601:4;15607:15;15624:4;15630:5;15567:69;;;;;;;;;;;;;;;;;;;15029:615;;;;;;;:::o;2294:136::-;2352:7;2379:43;2383:1;2386;2379:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2372:50;;2294:136;;;;:::o;2109:179::-;2167:7;2187:9;2203:1;2199;:5;;;;:::i;:::-;2187:17;;2228:1;2223;:6;;2215:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2279:1;2272:8;;;2109:179;;;;:::o;14615:211::-;14668:19;14690:10;:8;:10::i;:::-;14668:32;;14711:13;14727:22;14737:11;14727:5;:9;;:22;;;;:::i;:::-;14711:38;;14785:33;14812:5;14785:7;:22;14801:4;14785:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14760:7;:22;14776:4;14760:22;;;;;;;;;;;;;;;:58;;;;14657:169;;14615:211;:::o;14835:147::-;14913:17;14925:4;14913:7;;:11;;:17;;;;:::i;:::-;14903:7;:27;;;;14954:20;14969:4;14954:10;;:14;;:20;;;;:::i;:::-;14941:10;:33;;;;14835:147;;:::o;15653:469::-;15822:7;15844;15866;15901:12;15916:30;15942:3;15916:21;15928:8;15916:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;15901:45;;15957:13;15973:28;15997:3;15973:19;15985:6;15973:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15957:44;;16012:23;16038:28;16060:5;16038:17;16050:4;16038:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16012:54;;16085:15;16102:4;16108:5;16077:37;;;;;;;;;15653:469;;;;;;;:::o;16131:534::-;16325:7;16347;16369;16404:15;16422:24;16434:11;16422:7;:11;;:24;;;;:::i;:::-;16404:42;;16457:12;16472:21;16481:11;16472:4;:8;;:21;;;;:::i;:::-;16457:36;;16504:13;16520:22;16530:11;16520:5;:9;;:22;;;;:::i;:::-;16504:38;;16553:23;16579:28;16601:5;16579:17;16591:4;16579:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16553:54;;16626:7;16635:15;16652:4;16618:39;;;;;;;;;;16131:534;;;;;;;;:::o;2666:246::-;2724:7;2753:1;2748;:6;2744:47;;2778:1;2771:8;;;;2744:47;2801:9;2817:1;2813;:5;;;;:::i;:::-;2801:17;;2846:1;2841;2837;:5;;;;:::i;:::-;:10;2829:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2903:1;2896:8;;;2666: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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::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:474::-;4839:6;4847;4896:2;4884:9;4875:7;4871:23;4867:32;4864:119;;;4902:79;;:::i;:::-;4864:119;5022:1;5047:53;5092:7;5083:6;5072:9;5068:22;5047:53;:::i;:::-;5037:63;;4993:117;5149:2;5175:53;5220:7;5211:6;5200:9;5196:22;5175:53;:::i;:::-;5165:63;;5120:118;4771:474;;;;;:::o;5251:329::-;5310:6;5359:2;5347:9;5338:7;5334:23;5330:32;5327:119;;;5365:79;;:::i;:::-;5327:119;5485:1;5510:53;5555:7;5546:6;5535:9;5531:22;5510:53;:::i;:::-;5500:63;;5456:117;5251:329;;;;:::o;5586:619::-;5663:6;5671;5679;5728:2;5716:9;5707:7;5703:23;5699:32;5696:119;;;5734:79;;:::i;:::-;5696:119;5854:1;5879:53;5924:7;5915:6;5904:9;5900:22;5879:53;:::i;:::-;5869:63;;5825:117;5981:2;6007:53;6052:7;6043:6;6032:9;6028:22;6007:53;:::i;:::-;5997:63;;5952:118;6109:2;6135:53;6180:7;6171:6;6160:9;6156:22;6135:53;:::i;:::-;6125:63;;6080:118;5586:619;;;;;:::o;6211:117::-;6320:1;6317;6310:12;6334:117;6443:1;6440;6433:12;6457:117;6566:1;6563;6556:12;6597:568;6670:8;6680:6;6730:3;6723:4;6715:6;6711:17;6707:27;6697:122;;6738:79;;:::i;:::-;6697:122;6851:6;6838:20;6828:30;;6881:18;6873:6;6870:30;6867:117;;;6903:79;;:::i;:::-;6867:117;7017:4;7009:6;7005:17;6993:29;;7071:3;7063:4;7055:6;7051:17;7041:8;7037:32;7034:41;7031:128;;;7078:79;;:::i;:::-;7031:128;6597:568;;;;;:::o;7171:116::-;7241:21;7256:5;7241:21;:::i;:::-;7234:5;7231:32;7221:60;;7277:1;7274;7267:12;7221:60;7171:116;:::o;7293:133::-;7336:5;7374:6;7361:20;7352:29;;7390:30;7414:5;7390:30;:::i;:::-;7293:133;;;;:::o;7432:698::-;7524:6;7532;7540;7589:2;7577:9;7568:7;7564:23;7560:32;7557:119;;;7595:79;;:::i;:::-;7557:119;7743:1;7732:9;7728:17;7715:31;7773:18;7765:6;7762:30;7759:117;;;7795:79;;:::i;:::-;7759:117;7908:80;7980:7;7971:6;7960:9;7956:22;7908:80;:::i;:::-;7890:98;;;;7686:312;8037:2;8063:50;8105:7;8096:6;8085:9;8081:22;8063:50;:::i;:::-;8053:60;;8008:115;7432:698;;;;;:::o;8136:86::-;8171:7;8211:4;8204:5;8200:16;8189:27;;8136:86;;;:::o;8228:112::-;8311:22;8327:5;8311:22;:::i;:::-;8306:3;8299:35;8228:112;;:::o;8346:214::-;8435:4;8473:2;8462:9;8458:18;8450:26;;8486:67;8550:1;8539:9;8535:17;8526:6;8486:67;:::i;:::-;8346:214;;;;:::o;8566:104::-;8611:7;8640:24;8658:5;8640:24;:::i;:::-;8629:35;;8566:104;;;:::o;8676:142::-;8779:32;8805:5;8779:32;:::i;:::-;8774:3;8767:45;8676:142;;:::o;8824:254::-;8933:4;8971:2;8960:9;8956:18;8948:26;;8984:87;9068:1;9057:9;9053:17;9044:6;8984:87;:::i;:::-;8824:254;;;;:::o;9084:118::-;9171:24;9189:5;9171:24;:::i;:::-;9166:3;9159:37;9084:118;;:::o;9208:222::-;9301:4;9339:2;9328:9;9324:18;9316:26;;9352:71;9420:1;9409:9;9405:17;9396:6;9352:71;:::i;:::-;9208:222;;;;:::o;9436:329::-;9495:6;9544:2;9532:9;9523:7;9519:23;9515:32;9512:119;;;9550:79;;:::i;:::-;9512:119;9670:1;9695:53;9740:7;9731:6;9720:9;9716:22;9695:53;:::i;:::-;9685:63;;9641:117;9436:329;;;;:::o;9771:323::-;9827:6;9876:2;9864:9;9855:7;9851:23;9847:32;9844:119;;;9882:79;;:::i;:::-;9844:119;10002:1;10027:50;10069:7;10060:6;10049:9;10045:22;10027:50;:::i;:::-;10017:60;;9973:114;9771:323;;;;:::o;10100:474::-;10168:6;10176;10225:2;10213:9;10204:7;10200:23;10196:32;10193:119;;;10231:79;;:::i;:::-;10193:119;10351:1;10376:53;10421:7;10412:6;10401:9;10397:22;10376:53;:::i;:::-;10366:63;;10322:117;10478:2;10504:53;10549:7;10540:6;10529:9;10525:22;10504:53;:::i;:::-;10494:63;;10449:118;10100:474;;;;;:::o;10580:180::-;10628:77;10625:1;10618:88;10725:4;10722:1;10715:15;10749:4;10746:1;10739:15;10766:281;10849:27;10871:4;10849:27;:::i;:::-;10841:6;10837:40;10979:6;10967:10;10964:22;10943:18;10931:10;10928:34;10925:62;10922:88;;;10990:18;;:::i;:::-;10922:88;11030:10;11026:2;11019:22;10809:238;10766:281;;:::o;11053:129::-;11087:6;11114:20;;:::i;:::-;11104:30;;11143:33;11171:4;11163:6;11143:33;:::i;:::-;11053:129;;;:::o;11188:311::-;11265:4;11355:18;11347:6;11344:30;11341:56;;;11377:18;;:::i;:::-;11341:56;11427:4;11419:6;11415:17;11407:25;;11487:4;11481;11477:15;11469:23;;11188:311;;;:::o;11522:710::-;11618:5;11643:81;11659:64;11716:6;11659:64;:::i;:::-;11643:81;:::i;:::-;11634:90;;11744:5;11773:6;11766:5;11759:21;11807:4;11800:5;11796:16;11789:23;;11860:4;11852:6;11848:17;11840:6;11836:30;11889:3;11881:6;11878:15;11875:122;;;11908:79;;:::i;:::-;11875:122;12023:6;12006:220;12040:6;12035:3;12032:15;12006:220;;;12115:3;12144:37;12177:3;12165:10;12144:37;:::i;:::-;12139:3;12132:50;12211:4;12206:3;12202:14;12195:21;;12082:144;12066:4;12061:3;12057:14;12050:21;;12006:220;;;12010:21;11624:608;;11522:710;;;;;:::o;12255:370::-;12326:5;12375:3;12368:4;12360:6;12356:17;12352:27;12342:122;;12383:79;;:::i;:::-;12342:122;12500:6;12487:20;12525:94;12615:3;12607:6;12600:4;12592:6;12588:17;12525:94;:::i;:::-;12516:103;;12332:293;12255:370;;;;:::o;12631:539::-;12715:6;12764:2;12752:9;12743:7;12739:23;12735:32;12732:119;;;12770:79;;:::i;:::-;12732:119;12918:1;12907:9;12903:17;12890:31;12948:18;12940:6;12937:30;12934:117;;;12970:79;;:::i;:::-;12934:117;13075:78;13145:7;13136:6;13125:9;13121:22;13075:78;:::i;:::-;13065:88;;12861:302;12631:539;;;;:::o;13176:182::-;13316:34;13312:1;13304:6;13300:14;13293:58;13176:182;:::o;13364:366::-;13506:3;13527:67;13591:2;13586:3;13527:67;:::i;:::-;13520:74;;13603:93;13692:3;13603:93;:::i;:::-;13721:2;13716:3;13712:12;13705:19;;13364:366;;;:::o;13736:419::-;13902:4;13940:2;13929:9;13925:18;13917:26;;13989:9;13983:4;13979:20;13975:1;13964:9;13960:17;13953:47;14017:131;14143:4;14017:131;:::i;:::-;14009:139;;13736:419;;;:::o;14161:180::-;14209:77;14206:1;14199:88;14306:4;14303:1;14296:15;14330:4;14327:1;14320:15;14347:180;14395:77;14392:1;14385:88;14492:4;14489:1;14482:15;14516:4;14513:1;14506:15;14533:233;14572:3;14595:24;14613:5;14595:24;:::i;:::-;14586:33;;14641:66;14634:5;14631:77;14628:103;;14711:18;;:::i;:::-;14628:103;14758:1;14751:5;14747:13;14740:20;;14533:233;;;:::o;14772:225::-;14912:34;14908:1;14900:6;14896:14;14889:58;14981:8;14976:2;14968:6;14964:15;14957:33;14772:225;:::o;15003:366::-;15145:3;15166:67;15230:2;15225:3;15166:67;:::i;:::-;15159:74;;15242:93;15331:3;15242:93;:::i;:::-;15360:2;15355:3;15351:12;15344:19;;15003:366;;;:::o;15375:419::-;15541:4;15579:2;15568:9;15564:18;15556:26;;15628:9;15622:4;15618:20;15614:1;15603:9;15599:17;15592:47;15656:131;15782:4;15656:131;:::i;:::-;15648:139;;15375:419;;;:::o;15800:223::-;15940:34;15936:1;15928:6;15924:14;15917:58;16009:6;16004:2;15996:6;15992:15;15985:31;15800:223;:::o;16029:366::-;16171:3;16192:67;16256:2;16251:3;16192:67;:::i;:::-;16185:74;;16268:93;16357:3;16268:93;:::i;:::-;16386:2;16381:3;16377:12;16370:19;;16029:366;;;:::o;16401:419::-;16567:4;16605:2;16594:9;16590:18;16582:26;;16654:9;16648:4;16644:20;16640:1;16629:9;16625:17;16618:47;16682:131;16808:4;16682:131;:::i;:::-;16674:139;;16401:419;;;:::o;16826:221::-;16966:34;16962:1;16954:6;16950:14;16943:58;17035:4;17030:2;17022:6;17018:15;17011:29;16826:221;:::o;17053:366::-;17195:3;17216:67;17280:2;17275:3;17216:67;:::i;:::-;17209:74;;17292:93;17381:3;17292:93;:::i;:::-;17410:2;17405:3;17401:12;17394:19;;17053:366;;;:::o;17425:419::-;17591:4;17629:2;17618:9;17614:18;17606:26;;17678:9;17672:4;17668:20;17664:1;17653:9;17649:17;17642:47;17706:131;17832:4;17706:131;:::i;:::-;17698:139;;17425:419;;;:::o;17850:224::-;17990:34;17986:1;17978:6;17974:14;17967:58;18059:7;18054:2;18046:6;18042:15;18035:32;17850:224;:::o;18080:366::-;18222:3;18243:67;18307:2;18302:3;18243:67;:::i;:::-;18236:74;;18319:93;18408:3;18319:93;:::i;:::-;18437:2;18432:3;18428:12;18421:19;;18080:366;;;:::o;18452:419::-;18618:4;18656:2;18645:9;18641:18;18633:26;;18705:9;18699:4;18695:20;18691:1;18680:9;18676:17;18669:47;18733:131;18859:4;18733:131;:::i;:::-;18725:139;;18452:419;;;:::o;18877:222::-;19017:34;19013:1;19005:6;19001:14;18994:58;19086:5;19081:2;19073:6;19069:15;19062:30;18877:222;:::o;19105:366::-;19247:3;19268:67;19332:2;19327:3;19268:67;:::i;:::-;19261:74;;19344:93;19433:3;19344:93;:::i;:::-;19462:2;19457:3;19453:12;19446:19;;19105:366;;;:::o;19477:419::-;19643:4;19681:2;19670:9;19666:18;19658:26;;19730:9;19724:4;19720:20;19716:1;19705:9;19701:17;19694:47;19758:131;19884:4;19758:131;:::i;:::-;19750:139;;19477:419;;;:::o;19902:228::-;20042:34;20038:1;20030:6;20026:14;20019:58;20111:11;20106:2;20098:6;20094:15;20087:36;19902:228;:::o;20136:366::-;20278:3;20299:67;20363:2;20358:3;20299:67;:::i;:::-;20292:74;;20375:93;20464:3;20375:93;:::i;:::-;20493:2;20488:3;20484:12;20477:19;;20136:366;;;:::o;20508:419::-;20674:4;20712:2;20701:9;20697:18;20689:26;;20761:9;20755:4;20751:20;20747:1;20736:9;20732:17;20725:47;20789:131;20915:4;20789:131;:::i;:::-;20781:139;;20508:419;;;:::o;20933:250::-;21073:34;21069:1;21061:6;21057:14;21050:58;21142:33;21137:2;21129:6;21125:15;21118:58;20933:250;:::o;21189:366::-;21331:3;21352:67;21416:2;21411:3;21352:67;:::i;:::-;21345:74;;21428:93;21517:3;21428:93;:::i;:::-;21546:2;21541:3;21537:12;21530:19;;21189:366;;;:::o;21561:419::-;21727:4;21765:2;21754:9;21750:18;21742:26;;21814:9;21808:4;21804:20;21800:1;21789:9;21785:17;21778:47;21842:131;21968:4;21842:131;:::i;:::-;21834:139;;21561:419;;;:::o;21986:191::-;22026:3;22045:20;22063:1;22045:20;:::i;:::-;22040:25;;22079:20;22097:1;22079:20;:::i;:::-;22074:25;;22122:1;22119;22115:9;22108:16;;22143:3;22140:1;22137:10;22134:36;;;22150:18;;:::i;:::-;22134:36;21986:191;;;;:::o;22183:194::-;22223:4;22243:20;22261:1;22243:20;:::i;:::-;22238:25;;22277:20;22295:1;22277:20;:::i;:::-;22272:25;;22321:1;22318;22314:9;22306:17;;22345:1;22339:4;22336:11;22333:37;;;22350:18;;:::i;:::-;22333:37;22183:194;;;;:::o;22383:165::-;22523:17;22519:1;22511:6;22507:14;22500:41;22383:165;:::o;22554:366::-;22696:3;22717:67;22781:2;22776:3;22717:67;:::i;:::-;22710:74;;22793:93;22882:3;22793:93;:::i;:::-;22911:2;22906:3;22902:12;22895:19;;22554:366;;;:::o;22926:419::-;23092:4;23130:2;23119:9;23115:18;23107:26;;23179:9;23173:4;23169:20;23165:1;23154:9;23150:17;23143:47;23207:131;23333:4;23207:131;:::i;:::-;23199:139;;22926:419;;;:::o;23351:178::-;23491:30;23487:1;23479:6;23475:14;23468:54;23351:178;:::o;23535:366::-;23677:3;23698:67;23762:2;23757:3;23698:67;:::i;:::-;23691:74;;23774:93;23863:3;23774:93;:::i;:::-;23892:2;23887:3;23883:12;23876:19;;23535:366;;;:::o;23907:419::-;24073:4;24111:2;24100:9;24096:18;24088:26;;24160:9;24154:4;24150:20;24146:1;24135:9;24131:17;24124:47;24188:131;24314:4;24188:131;:::i;:::-;24180:139;;23907:419;;;:::o;24332:222::-;24472:34;24468:1;24460:6;24456:14;24449:58;24541:5;24536:2;24528:6;24524:15;24517:30;24332:222;:::o;24560:366::-;24702:3;24723:67;24787:2;24782:3;24723:67;:::i;:::-;24716:74;;24799:93;24888:3;24799:93;:::i;:::-;24917:2;24912:3;24908:12;24901:19;;24560:366;;;:::o;24932:419::-;25098:4;25136:2;25125:9;25121:18;25113:26;;25185:9;25179:4;25175:20;25171:1;25160:9;25156:17;25149:47;25213:131;25339:4;25213:131;:::i;:::-;25205:139;;24932:419;;;:::o;25357:222::-;25497:34;25493:1;25485:6;25481:14;25474:58;25566:5;25561:2;25553:6;25549:15;25542:30;25357:222;:::o;25585:366::-;25727:3;25748:67;25812:2;25807:3;25748:67;:::i;:::-;25741:74;;25824:93;25913:3;25824:93;:::i;:::-;25942:2;25937:3;25933:12;25926:19;;25585:366;;;:::o;25957:419::-;26123:4;26161:2;26150:9;26146:18;26138:26;;26210:9;26204:4;26200:20;26196:1;26185:9;26181:17;26174:47;26238:131;26364:4;26238:131;:::i;:::-;26230:139;;25957:419;;;:::o;26382:229::-;26522:34;26518:1;26510:6;26506:14;26499:58;26591:12;26586:2;26578:6;26574:15;26567:37;26382:229;:::o;26617:366::-;26759:3;26780:67;26844:2;26839:3;26780:67;:::i;:::-;26773:74;;26856:93;26945:3;26856:93;:::i;:::-;26974:2;26969:3;26965:12;26958:19;;26617:366;;;:::o;26989:419::-;27155:4;27193:2;27182:9;27178:18;27170:26;;27242:9;27236:4;27232:20;27228:1;27217:9;27213:17;27206:47;27270:131;27396:4;27270:131;:::i;:::-;27262:139;;26989:419;;;:::o;27414:143::-;27471:5;27502:6;27496:13;27487:22;;27518:33;27545:5;27518:33;:::i;:::-;27414:143;;;;:::o;27563:351::-;27633:6;27682:2;27670:9;27661:7;27657:23;27653:32;27650:119;;;27688:79;;:::i;:::-;27650:119;27808:1;27833:64;27889:7;27880:6;27869:9;27865:22;27833:64;:::i;:::-;27823:74;;27779:128;27563:351;;;;:::o;27920:85::-;27965:7;27994:5;27983:16;;27920:85;;;:::o;28011:158::-;28069:9;28102:61;28120:42;28129:32;28155:5;28129:32;:::i;:::-;28120:42;:::i;:::-;28102:61;:::i;:::-;28089:74;;28011:158;;;:::o;28175:147::-;28270:45;28309:5;28270:45;:::i;:::-;28265:3;28258:58;28175:147;;:::o;28328:114::-;28395:6;28429:5;28423:12;28413:22;;28328:114;;;:::o;28448:184::-;28547:11;28581:6;28576:3;28569:19;28621:4;28616:3;28612:14;28597:29;;28448:184;;;;:::o;28638:132::-;28705:4;28728:3;28720:11;;28758:4;28753:3;28749:14;28741:22;;28638:132;;;:::o;28776:108::-;28853:24;28871:5;28853:24;:::i;:::-;28848:3;28841:37;28776:108;;:::o;28890:179::-;28959:10;28980:46;29022:3;29014:6;28980:46;:::i;:::-;29058:4;29053:3;29049:14;29035:28;;28890:179;;;;:::o;29075:113::-;29145:4;29177;29172:3;29168:14;29160:22;;29075:113;;;:::o;29224:732::-;29343:3;29372:54;29420:5;29372:54;:::i;:::-;29442:86;29521:6;29516:3;29442:86;:::i;:::-;29435:93;;29552:56;29602:5;29552:56;:::i;:::-;29631:7;29662:1;29647:284;29672:6;29669:1;29666:13;29647:284;;;29748:6;29742:13;29775:63;29834:3;29819:13;29775:63;:::i;:::-;29768:70;;29861:60;29914:6;29861:60;:::i;:::-;29851:70;;29707:224;29694:1;29691;29687:9;29682:14;;29647:284;;;29651:14;29947:3;29940:10;;29348:608;;;29224:732;;;;:::o;29962:831::-;30225:4;30263:3;30252:9;30248:19;30240:27;;30277:71;30345:1;30334:9;30330:17;30321:6;30277:71;:::i;:::-;30358:80;30434:2;30423:9;30419:18;30410:6;30358:80;:::i;:::-;30485:9;30479:4;30475:20;30470:2;30459:9;30455:18;30448:48;30513:108;30616:4;30607:6;30513:108;:::i;:::-;30505:116;;30631:72;30699:2;30688:9;30684:18;30675:6;30631:72;:::i;:::-;30713:73;30781:3;30770:9;30766:19;30757:6;30713:73;:::i;:::-;29962:831;;;;;;;;:::o;30799:180::-;30847:77;30844:1;30837:88;30944:4;30941:1;30934:15;30968:4;30965:1;30958:15;30985:185;31025:1;31042:20;31060:1;31042:20;:::i;:::-;31037:25;;31076:20;31094:1;31076:20;:::i;:::-;31071:25;;31115:1;31105:35;;31120:18;;:::i;:::-;31105:35;31162:1;31159;31155:9;31150:14;;30985:185;;;;:::o;31176:177::-;31316:29;31312:1;31304:6;31300:14;31293:53;31176:177;:::o;31359:366::-;31501:3;31522:67;31586:2;31581:3;31522:67;:::i;:::-;31515:74;;31598:93;31687:3;31598:93;:::i;:::-;31716:2;31711:3;31707:12;31700:19;;31359:366;;;:::o;31731:419::-;31897:4;31935:2;31924:9;31920:18;31912:26;;31984:9;31978:4;31974:20;31970:1;31959:9;31955:17;31948:47;32012:131;32138:4;32012:131;:::i;:::-;32004:139;;31731:419;;;:::o;32156:410::-;32196:7;32219:20;32237:1;32219:20;:::i;:::-;32214:25;;32253:20;32271:1;32253:20;:::i;:::-;32248:25;;32308:1;32305;32301:9;32330:30;32348:11;32330:30;:::i;:::-;32319:41;;32509:1;32500:7;32496:15;32493:1;32490:22;32470:1;32463:9;32443:83;32420:139;;32539:18;;:::i;:::-;32420:139;32204:362;32156:410;;;;:::o;32572:220::-;32712:34;32708:1;32700:6;32696:14;32689:58;32781:3;32776:2;32768:6;32764:15;32757:28;32572:220;:::o;32798:366::-;32940:3;32961:67;33025:2;33020:3;32961:67;:::i;:::-;32954:74;;33037:93;33126:3;33037:93;:::i;:::-;33155:2;33150:3;33146:12;33139:19;;32798:366;;;:::o;33170:419::-;33336:4;33374:2;33363:9;33359:18;33351:26;;33423:9;33417:4;33413:20;33409:1;33398:9;33394:17;33387:47;33451:131;33577:4;33451:131;:::i;:::-;33443:139;;33170:419;;;:::o

Swarm Source

ipfs://3881237649359866587c3be6772b264e46f66d03551bb0b222277bbd8e3f7d0f
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.