ETH Price: $2,604.84 (-2.73%)
Gas: 1 Gwei

Token

MultiBridgeCapital (MBC)
 

Overview

Max Total Supply

1,000,000 MBC

Holders

67

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,164.409937726 MBC

Value
$0.00
0xe9afB95356954786F48d06147dA82956449fB870
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:
MultiBridgeCapital

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-24
*/

/**
Multi Bridge Capital (MBC)

Telegram for announcements: https://t.me/multibridgecapital
If you guys wish to chat with eachother, make a public group chat for investors, I want to keep the announcement telegram clean.


MMMMMMMM               MMMMMMMM     BBBBBBBBBBBBBBBBB                CCCCCCCCCCCCC
M:::::::M             M:::::::M     B::::::::::::::::B            CCC::::::::::::C
M::::::::M           M::::::::M     B::::::BBBBBB:::::B         CC:::::::::::::::C
M:::::::::M         M:::::::::M     BB:::::B     B:::::B       C:::::CCCCCCCC::::C
M::::::::::M       M::::::::::M       B::::B     B:::::B      C:::::C       CCCCCC
M:::::::::::M     M:::::::::::M       B::::B     B:::::B     C:::::C              
M:::::::M::::M   M::::M:::::::M       B::::BBBBBB:::::B      C:::::C              
M::::::M M::::M M::::M M::::::M       B:::::::::::::BB       C:::::C              
M::::::M  M::::M::::M  M::::::M       B::::BBBBBB:::::B      C:::::C              
M::::::M   M:::::::M   M::::::M       B::::B     B:::::B     C:::::C              
M::::::M    M:::::M    M::::::M       B::::B     B:::::B     C:::::C              
M::::::M     MMMMM     M::::::M       B::::B     B:::::B      C:::::C       CCCCCC
M::::::M               M::::::M     BB:::::BBBBBB::::::B       C:::::CCCCCCCC::::C
M::::::M               M::::::M     B:::::::::::::::::B         CC:::::::::::::::C
M::::::M               M::::::M     B::::::::::::::::B            CCC::::::::::::C
MMMMMMMM               MMMMMMMM     BBBBBBBBBBBBBBBBB                CCCCCCCCCCCCC                                                                                                                                   

>   20% of LP Fee bought back into liquidity through owner wallet
>   Anti-bot buy limit that increases automaticly 
>   Check buy back balance -> Creator address
>   Telegram will be public to join and follow for announcements, not planning to make it public instantly.
>   Will make it public as soon as the website is ready.

**/

/**
// SPDX-License-Identifier: Unlicensed
**/
pragma solidity ^0.8.6;
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;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}
interface IWETH {
    function deposit() external payable;
    function transfer(address to, uint value) external returns (bool);
    function approve(address to, uint value) external returns (bool);
}
contract MultiBridgeCapital is Context, IERC20, Ownable {
    string private constant _name = unicode"MultiBridgeCapital";
    string private constant _symbol = "MBC";
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping(address => uint256)) private _allowances;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    IUniswapV2Router02 private uniswapV2Router;
    address[] private _excluded;
    address private c;
    address private wallet1;
    address private uniswapV2Pair;
    address private WETH;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _taxFee;
    uint256 private _LiquidityFee;
    uint64 private buyCounter;
    uint8 private constant _decimals = 9;
    uint16 private maxTx;
    bool private tradingOpen;
    bool private inSwap;
    bool private swapEnabled;

    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 ethToOwner);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor(address payable _wallet1) {
        c = address(this);
        wallet1 = _wallet1;
        _rOwned[c] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[c] = true;
        _isExcludedFromFee[wallet1] = true;
        excludeFromReward(owner());
        excludeFromReward(c);
        excludeFromReward(wallet1);
        emit Transfer(address(0),c,_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) {
        if (_isExcluded[account]) return _tOwned[account];
        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()] - amount);
        return true;
    }

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

    function nofees() private {
        _taxFee = 0;
        _LiquidityFee = 0;
    }

    function basefees() private {
        _taxFee = 0;
        _LiquidityFee = 10;
    }

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

    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    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(amount > 0, "Transfer amount must be greater than zero");
        require(!bots[from] && !bots[to]);
        basefees();
        if (from != owner() && to != owner() && tradingOpen) {
            if (!inSwap) {
                if (from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router)) {
                    require(_msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair,"ERR: Uniswap only");
                }
            }
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && !inSwap) {
                if (buyCounter < 100)
                    require(amount <= _tTotal * maxTx / 1000);
                buyCounter++;
            }
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from] && !inSwap) {
                if (swapEnabled) {
                    uint256 contractTokenBalance = balanceOf(c);
                    if (contractTokenBalance > balanceOf(uniswapV2Pair) * 1 / 10000) {
                        swapAndLiquify(contractTokenBalance);
                    }
                }
            }
            if (!inSwap) {
                if (buyCounter == 5)
                    maxTx = 20; //20%
                if (buyCounter == 20)
                    maxTx = 30; //30%
                if (buyCounter == 30) {
                    maxTx = 1000; //10%
                }
            }
        }
        bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to] || inSwap) {
            takeFee = false;
        }
        _tokenTransfer(from, to, amount, takeFee);
    }
	function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
 			swapTokensForEth(contractTokenBalance);
 			uint256 balance = c.balance / 5;
 			sendETHToFee(balance*4);
            sendETHToOwner(balance);
 			emit SwapAndLiquify(contractTokenBalance, balance*4, balance);
 	}
 	function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
 			_approve(c, address(uniswapV2Router), tokenAmount);
 			uniswapV2Router.addLiquidityETH{value: ethAmount}(
 					c,
 					tokenAmount,
 					0,
 					0,
 					owner(),
 					block.timestamp
 			);
 	}
    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = c;
        path[1] = WETH;
        _approve(c, address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, c, block.timestamp);
    }

    function sendETHToFee(uint256 ETHamount) private {
        payable(wallet1).transfer(ETHamount);
    }
     function sendETHToOwner(uint256 ETHamount) private {
        payable(owner()).transfer(ETHamount);
    }
    function openTrading() external onlyOwner() {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = uniswapV2Router.WETH();
        _approve(c, address(uniswapV2Router), ~uint256(0));
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(c, WETH);
        uniswapV2Router.addLiquidityETH{value: c.balance}(c,balanceOf(c),0,0,owner(),block.timestamp);
        maxTx = 5; // 5% Hello you bots
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router),~uint256(0));
        tradingOpen = true;
        swapEnabled = true;
    }
    function manualswap() external {
        uint256 contractBalance = balanceOf(c);
        swapTokensForEth(contractBalance);
    }
    function manualsend() external {
        uint256 contractETHBalance = c.balance;
        sendETHToFee(contractETHBalance);
    }
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if (!takeFee) nofees();
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }
    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _tOwned[recipient] = _tOwned[recipient] + tTransferAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender] - tAmount;
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _tOwned[sender] = _tOwned[sender] - tAmount;
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _tOwned[recipient] = _tOwned[recipient] + tTransferAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender] - rAmount;
        _rOwned[recipient] = _rOwned[recipient] + rTransferAmount;
        _takeLiquidity(tLiquidity);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
    function _takeLiquidity(uint256 tLiquidity) private {
        uint256 currentRate =  _getRate();
        uint256 rLiquidity = tLiquidity * currentRate;
        _rOwned[c] = _rOwned[c] + rLiquidity;
        _tOwned[c] = _tOwned[c] + tLiquidity;
    }
	function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal - rFee;
        _tFeeTotal = _tFeeTotal + tFee;
    }
    receive() external payable {}
    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getTValues(tAmount, _taxFee, _LiquidityFee);
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, _getRate());
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tLiquidity);
    }
    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 LiquidityFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount * taxFee / 100;
        uint256 tLiquidity = tAmount * LiquidityFee / 100;
		uint256 tTransferAmount = tAmount - tFee - tLiquidity;
        return (tTransferAmount, tFee, tLiquidity);
    }
    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount * currentRate;
        uint256 rFee = tFee * currentRate;
        uint256 rLiquidity = tLiquidity * currentRate;
		uint256 rTransferAmount = rAmount - rFee - rLiquidity;
        return (rAmount, rTransferAmount, rFee);
    }
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply / tSupply;
    }
    function excludeFromReward(address addr) internal {
        require(addr != address(uniswapV2Router), 'ERR: Can\'t exclude Uniswap router');
        require(!_isExcluded[addr], "Account is already excluded");
        if(_rOwned[addr] > 0) {
            _tOwned[addr] = tokenFromReflection(_rOwned[addr]);
        }
        _isExcluded[addr] = true;
        _excluded.push(addr);
    }
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply - _rOwned[_excluded[i]];
            tSupply = tSupply - _tOwned[_excluded[i]];
        }
        if (rSupply < _rTotal / _tTotal) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_wallet1","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethToOwner","type":"uint256"}],"name":"SwapAndLiquify","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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","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":"openTrading","outputs":[],"stateMutability":"nonpayable","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":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405266038d7ea4c680006000196200001b919062000d34565b6000196200002a919062000c6d565b600e553480156200003a57600080fd5b5060405162004fe938038062004fe9833981810160405281019062000060919062000ae9565b6000620000726200047360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35030600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e5460016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620002106200047b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000375620003696200047b60201b60201c565b620004a460201b60201c565b620003a8600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620004a460201b60201c565b620003db600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620004a460201b60201c565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c6800060405162000464919062000c07565b60405180910390a35062000edf565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000538576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200052f9062000be5565b60405180910390fd5b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620005c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005bf9062000bc3565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115620006a55762000661600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200076360201b60201c565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600e54821115620007ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007a49062000ba1565b60405180910390fd5b6000620007bf620007d760201b60201c565b90508083620007cf919062000c35565b915050919050565b6000806000620007ec6200080560201b60201c565b915091508082620007fe919062000c35565b9250505090565b6000806000600e549050600066038d7ea4c68000905060005b60098054905081101562000a8e5782600160006009848154811062000848576200084762000dca565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806200093a5750816002600060098481548110620008d257620008d162000dca565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156200095857600e5466038d7ea4c680009450945050505062000ace565b600160006009838154811062000973576200097262000dca565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483620009e6919062000c6d565b9250600260006009838154811062000a035762000a0262000dca565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548262000a76919062000c6d565b9150808062000a859062000ce6565b9150506200081e565b5066038d7ea4c68000600e5462000aa6919062000c35565b82101562000ac557600e5466038d7ea4c6800093509350505062000ace565b81819350935050505b9091565b60008151905062000ae38162000ec5565b92915050565b60006020828403121562000b025762000b0162000df9565b5b600062000b128482850162000ad2565b91505092915050565b600062000b2a602a8362000c24565b915062000b378262000dfe565b604082019050919050565b600062000b51601b8362000c24565b915062000b5e8262000e4d565b602082019050919050565b600062000b7860218362000c24565b915062000b858262000e76565b604082019050919050565b62000b9b8162000cdc565b82525050565b6000602082019050818103600083015262000bbc8162000b1b565b9050919050565b6000602082019050818103600083015262000bde8162000b42565b9050919050565b6000602082019050818103600083015262000c008162000b69565b9050919050565b600060208201905062000c1e600083018462000b90565b92915050565b600082825260208201905092915050565b600062000c428262000cdc565b915062000c4f8362000cdc565b92508262000c625762000c6162000d9b565b5b828204905092915050565b600062000c7a8262000cdc565b915062000c878362000cdc565b92508282101562000c9d5762000c9c62000d6c565b5b828203905092915050565b600062000cb58262000cbc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000cf38262000cdc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000d295762000d2862000d6c565b5b600182019050919050565b600062000d418262000cdc565b915062000d4e8362000cdc565b92508262000d615762000d6062000d9b565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f4552523a2043616e2774206578636c75646520556e697377617020726f75746560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b62000ed08162000ca8565b811462000edc57600080fd5b50565b6140fa8062000eef6000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063b515566a11610059578063b515566a14610325578063c3c8cd801461034e578063c9567bf914610365578063dd62ed3e1461037c576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063273123b7116100c6578063273123b7146101d3578063313ce567146101fc5780636fc3eaec1461022757806370a082311461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b604051610125919061389b565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190613488565b6103f6565b6040516101629190613880565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d91906139bd565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190613435565b610423565b6040516101ca9190613880565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f5919061339b565b6104db565b005b34801561020857600080fd5b506102116105cb565b60405161021e9190613a69565b60405180910390f35b34801561023357600080fd5b5061023c6105d4565b005b34801561024a57600080fd5b506102656004803603810190610260919061339b565b61061e565b60405161027291906139bd565b60405180910390f35b34801561028757600080fd5b50610290610709565b005b34801561029e57600080fd5b506102a761085c565b6040516102b491906137b2565b60405180910390f35b3480156102c957600080fd5b506102d2610885565b6040516102df919061389b565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190613488565b6108c2565b60405161031c9190613880565b60405180910390f35b34801561033157600080fd5b5061034c600480360381019061034791906134c8565b6108e0565b005b34801561035a57600080fd5b50610363610a0a565b005b34801561037157600080fd5b5061037a610a45565b005b34801561038857600080fd5b506103a3600480360381019061039e91906133f5565b6110d2565b6040516103b091906139bd565b60405180910390f35b60606040518060400160405280601281526020017f4d756c74694272696467654361706974616c0000000000000000000000000000815250905090565b600061040a610403611159565b8484611161565b6001905092915050565b600066038d7ea4c68000905090565b600061043084848461132c565b6104d08461043c611159565b84600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610486611159565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104cb9190613c0b565b611161565b600190509392505050565b6104e3611159565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610570576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610567906138fd565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631905061061b81611caf565b50565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156106b957600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610704565b610701600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1b565b90505b919050565b610711611159565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461079e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610795906138fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d42430000000000000000000000000000000000000000000000000000000000815250905090565b60006108d66108cf611159565b848461132c565b6001905092915050565b6108e8611159565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c906138fd565b60405180910390fd5b60005b8151811015610a065760016004600084848151811061099a57610999613df6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109fe90613d1e565b915050610978565b5050565b6000610a37600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b9050610a4281611d82565b50565b610a4d611159565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad1906138fd565b60405180910390fd5b6012600a9054906101000a900460ff1615610b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b219061397d565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610be757600080fd5b505afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f91906133c8565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cb0600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600019611161565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1857600080fd5b505afa158015610d2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5091906133c8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401610dce9291906137cd565b602060405180830381600087803b158015610de857600080fd5b505af1158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2091906133c8565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f26600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b600080610f3161085c565b426040518863ffffffff1660e01b8152600401610f539695949392919061381f565b6060604051808303818588803b158015610f6c57600080fd5b505af1158015610f80573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fa5919061353e565b5050506005601260086101000a81548161ffff021916908361ffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196040518363ffffffff1660e01b81526004016110479291906137f6565b602060405180830381600087803b15801561106157600080fd5b505af1158015611075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110999190613511565b5060016012600a6101000a81548160ff02191690831515021790555060016012600c6101000a81548160ff021916908315150217905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c89061395d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611241576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611238906138dd565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161131f91906139bd565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561139c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113939061393d565b60405180910390fd5b600081116113df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d69061391d565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114835750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61148c57600080fd5b611494611fbd565b61149c61085c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561150a57506114da61085c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561152257506012600a9054906101000a900460ff165b15611bd5576012600b9054906101000a900460ff16611754573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115a357503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115fd5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116575750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561175357600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661169d611159565b73ffffffffffffffffffffffffffffffffffffffff1614806117135750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116fb611159565b73ffffffffffffffffffffffffffffffffffffffff16145b611752576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117499061399d565b60405180910390fd5b5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117ff5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118555750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561186e57506012600b9054906101000a900460ff16155b1561192b576064601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff1610156118dd576103e8601260089054906101000a900461ffff1661ffff1666038d7ea4c680006118c69190613bb1565b6118d09190613b80565b8111156118dc57600080fd5b5b6012600081819054906101000a900467ffffffffffffffff168092919061190390613d67565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119d65750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a2c5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a4557506012600b9054906101000a900460ff16155b15611ae6576012600c9054906101000a900460ff1615611ae5576000611a8c600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b90506127106001611abe600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b611ac89190613bb1565b611ad29190613b80565b811115611ae357611ae281611fcf565b5b505b5b6012600b9054906101000a900460ff16611bd4576005601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611b42576014601260086101000a81548161ffff021916908361ffff1602179055505b6014601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611b8a57601e601260086101000a81548161ffff021916908361ffff1602179055505b601e601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611bd3576103e8601260086101000a81548161ffff021916908361ffff1602179055505b5b5b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c7c5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611c9357506012600b9054906101000a900460ff165b15611c9d57600090505b611ca9848484846120c1565b50505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d17573d6000803e3d6000fd5b5050565b6000600e54821115611d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d59906138bd565b60405180910390fd5b6000611d6c61230a565b90508083611d7a9190613b80565b915050919050565b6000600267ffffffffffffffff811115611d9f57611d9e613e25565b5b604051908082528060200260200182016040528015611dcd5781602001602082028036833780820191505090505b509050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600081518110611e0757611e06613df6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611e7857611e77613df6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f01600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611161565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611f879594939291906139d8565b600060405180830381600087803b158015611fa157600080fd5b505af1158015611fb5573d6000803e3d6000fd5b505050505050565b6000601081905550600a601181905550565b60016012600b6101000a81548160ff021916908315150217905550611ff381611d82565b60006005600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163161203b9190613b80565b905061205260048261204d9190613bb1565b611caf565b61205b8161232e565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618260048361208a9190613bb1565b8360405161209a93929190613a32565b60405180910390a15060006012600b6101000a81548160ff02191690831515021790555050565b806120cf576120ce61237f565b5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156121725750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561218757612182848484612391565b612304565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561222a5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561223f5761223a8484846125dc565b612303565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122e15750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122f6576122f1848484612827565b612302565b612301848484612b00565b5b5b5b50505050565b6000806000612317612cbd565b9150915080826123279190613b80565b9250505090565b61233661085c565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561237b573d6000803e3d6000fd5b5050565b60006010819055506000601181905550565b6000806000806000806123a387612f6f565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123fa9190613c0b565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124889190613c0b565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125169190613b2a565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061256281612fd1565b61256c8483613196565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125c991906139bd565b60405180910390a3505050505050505050565b6000806000806000806125ee87612f6f565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126459190613c0b565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d39190613b2a565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127619190613b2a565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ad81612fd1565b6127b78483613196565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161281491906139bd565b60405180910390a3505050505050505050565b60008060008060008061283987612f6f565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128909190613c0b565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461291e9190613c0b565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ac9190613b2a565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a3a9190613b2a565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a8681612fd1565b612a908483613196565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612aed91906139bd565b60405180910390a3505050505050505050565b600080600080600080612b1287612f6f565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b699190613c0b565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bf79190613b2a565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c4381612fd1565b612c4d8483613196565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612caa91906139bd565b60405180910390a3505050505050505050565b6000806000600e549050600066038d7ea4c68000905060005b600980549050811015612f2f57826001600060098481548110612cfc57612cfb613df6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612dea5750816002600060098481548110612d8257612d81613df6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612e0657600e5466038d7ea4c6800094509450505050612f6b565b6001600060098381548110612e1e57612e1d613df6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612e8f9190613c0b565b92506002600060098381548110612ea957612ea8613df6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612f1a9190613c0b565b91508080612f2790613d1e565b915050612cd6565b5066038d7ea4c68000600e54612f459190613b80565b821015612f6257600e5466038d7ea4c68000935093505050612f6b565b81819350935050505b9091565b6000806000806000806000806000612f8c8a6010546011546131c2565b9250925092506000806000612faa8d8686612fa561230a565b61322e565b9250925092508282828888889b509b509b509b509b509b5050505050505091939550919395565b6000612fdb61230a565b905060008183612feb9190613bb1565b90508060016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305a9190613b2a565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508260026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312c9190613b2a565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b81600e546131a49190613c0b565b600e8190555080600f546131b89190613b2a565b600f819055505050565b600080600080606486886131d69190613bb1565b6131e09190613b80565b90506000606486896131f29190613bb1565b6131fc9190613b80565b9050600081838a61320d9190613c0b565b6132179190613c0b565b905080838395509550955050505093509350939050565b60008060008084886132409190613bb1565b9050600085886132509190613bb1565b9050600086886132609190613bb1565b905060008183856132719190613c0b565b61327b9190613c0b565b9050838184965096509650505050509450945094915050565b60006132a76132a284613aa9565b613a84565b905080838252602082019050828560208602820111156132ca576132c9613e59565b5b60005b858110156132fa57816132e08882613304565b8452602084019350602083019250506001810190506132cd565b5050509392505050565b6000813590506133138161407f565b92915050565b6000815190506133288161407f565b92915050565b600082601f83011261334357613342613e54565b5b8135613353848260208601613294565b91505092915050565b60008151905061336b81614096565b92915050565b600081359050613380816140ad565b92915050565b600081519050613395816140ad565b92915050565b6000602082840312156133b1576133b0613e63565b5b60006133bf84828501613304565b91505092915050565b6000602082840312156133de576133dd613e63565b5b60006133ec84828501613319565b91505092915050565b6000806040838503121561340c5761340b613e63565b5b600061341a85828601613304565b925050602061342b85828601613304565b9150509250929050565b60008060006060848603121561344e5761344d613e63565b5b600061345c86828701613304565b935050602061346d86828701613304565b925050604061347e86828701613371565b9150509250925092565b6000806040838503121561349f5761349e613e63565b5b60006134ad85828601613304565b92505060206134be85828601613371565b9150509250929050565b6000602082840312156134de576134dd613e63565b5b600082013567ffffffffffffffff8111156134fc576134fb613e5e565b5b6135088482850161332e565b91505092915050565b60006020828403121561352757613526613e63565b5b60006135358482850161335c565b91505092915050565b60008060006060848603121561355757613556613e63565b5b600061356586828701613386565b935050602061357686828701613386565b925050604061358786828701613386565b9150509250925092565b600061359d83836135a9565b60208301905092915050565b6135b281613c3f565b82525050565b6135c181613c3f565b82525050565b60006135d282613ae5565b6135dc8185613b08565b93506135e783613ad5565b8060005b838110156136185781516135ff8882613591565b975061360a83613afb565b9250506001810190506135eb565b5085935050505092915050565b61362e81613c51565b82525050565b61363d81613ca8565b82525050565b600061364e82613af0565b6136588185613b19565b9350613668818560208601613cba565b61367181613e68565b840191505092915050565b6000613689602a83613b19565b915061369482613e79565b604082019050919050565b60006136ac602283613b19565b91506136b782613ec8565b604082019050919050565b60006136cf602083613b19565b91506136da82613f17565b602082019050919050565b60006136f2602983613b19565b91506136fd82613f40565b604082019050919050565b6000613715602583613b19565b915061372082613f8f565b604082019050919050565b6000613738602483613b19565b915061374382613fde565b604082019050919050565b600061375b601783613b19565b91506137668261402d565b602082019050919050565b600061377e601183613b19565b915061378982614056565b602082019050919050565b61379d81613c7d565b82525050565b6137ac81613c9b565b82525050565b60006020820190506137c760008301846135b8565b92915050565b60006040820190506137e260008301856135b8565b6137ef60208301846135b8565b9392505050565b600060408201905061380b60008301856135b8565b6138186020830184613794565b9392505050565b600060c08201905061383460008301896135b8565b6138416020830188613794565b61384e6040830187613634565b61385b6060830186613634565b61386860808301856135b8565b61387560a0830184613794565b979650505050505050565b60006020820190506138956000830184613625565b92915050565b600060208201905081810360008301526138b58184613643565b905092915050565b600060208201905081810360008301526138d68161367c565b9050919050565b600060208201905081810360008301526138f68161369f565b9050919050565b60006020820190508181036000830152613916816136c2565b9050919050565b60006020820190508181036000830152613936816136e5565b9050919050565b6000602082019050818103600083015261395681613708565b9050919050565b600060208201905081810360008301526139768161372b565b9050919050565b600060208201905081810360008301526139968161374e565b9050919050565b600060208201905081810360008301526139b681613771565b9050919050565b60006020820190506139d26000830184613794565b92915050565b600060a0820190506139ed6000830188613794565b6139fa6020830187613634565b8181036040830152613a0c81866135c7565b9050613a1b60608301856135b8565b613a286080830184613794565b9695505050505050565b6000606082019050613a476000830186613794565b613a546020830185613794565b613a616040830184613794565b949350505050565b6000602082019050613a7e60008301846137a3565b92915050565b6000613a8e613a9f565b9050613a9a8282613ced565b919050565b6000604051905090565b600067ffffffffffffffff821115613ac457613ac3613e25565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613b3582613c7d565b9150613b4083613c7d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b7557613b74613d98565b5b828201905092915050565b6000613b8b82613c7d565b9150613b9683613c7d565b925082613ba657613ba5613dc7565b5b828204905092915050565b6000613bbc82613c7d565b9150613bc783613c7d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c0057613bff613d98565b5b828202905092915050565b6000613c1682613c7d565b9150613c2183613c7d565b925082821015613c3457613c33613d98565b5b828203905092915050565b6000613c4a82613c5d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b6000613cb382613c7d565b9050919050565b60005b83811015613cd8578082015181840152602081019050613cbd565b83811115613ce7576000848401525b50505050565b613cf682613e68565b810181811067ffffffffffffffff82111715613d1557613d14613e25565b5b80604052505050565b6000613d2982613c7d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d5c57613d5b613d98565b5b600182019050919050565b6000613d7282613c87565b915067ffffffffffffffff821415613d8d57613d8c613d98565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b61408881613c3f565b811461409357600080fd5b50565b61409f81613c51565b81146140aa57600080fd5b50565b6140b681613c7d565b81146140c157600080fd5b5056fea264697066735822122061934dc2919bb50afa7849e3f1b4d05d7b99ef72e5a7d02eb8db420d6527ec0064736f6c63430008060033000000000000000000000000efd3a84f0f29adfb022bf3d4366c03f40acd7ae2

Deployed Bytecode

0x6080604052600436106100f75760003560e01c8063715018a61161008a578063b515566a11610059578063b515566a14610325578063c3c8cd801461034e578063c9567bf914610365578063dd62ed3e1461037c576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063273123b7116100c6578063273123b7146101d3578063313ce567146101fc5780636fc3eaec1461022757806370a082311461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b604051610125919061389b565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190613488565b6103f6565b6040516101629190613880565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d91906139bd565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190613435565b610423565b6040516101ca9190613880565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f5919061339b565b6104db565b005b34801561020857600080fd5b506102116105cb565b60405161021e9190613a69565b60405180910390f35b34801561023357600080fd5b5061023c6105d4565b005b34801561024a57600080fd5b506102656004803603810190610260919061339b565b61061e565b60405161027291906139bd565b60405180910390f35b34801561028757600080fd5b50610290610709565b005b34801561029e57600080fd5b506102a761085c565b6040516102b491906137b2565b60405180910390f35b3480156102c957600080fd5b506102d2610885565b6040516102df919061389b565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190613488565b6108c2565b60405161031c9190613880565b60405180910390f35b34801561033157600080fd5b5061034c600480360381019061034791906134c8565b6108e0565b005b34801561035a57600080fd5b50610363610a0a565b005b34801561037157600080fd5b5061037a610a45565b005b34801561038857600080fd5b506103a3600480360381019061039e91906133f5565b6110d2565b6040516103b091906139bd565b60405180910390f35b60606040518060400160405280601281526020017f4d756c74694272696467654361706974616c0000000000000000000000000000815250905090565b600061040a610403611159565b8484611161565b6001905092915050565b600066038d7ea4c68000905090565b600061043084848461132c565b6104d08461043c611159565b84600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610486611159565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104cb9190613c0b565b611161565b600190509392505050565b6104e3611159565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610570576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610567906138fd565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631905061061b81611caf565b50565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156106b957600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610704565b610701600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1b565b90505b919050565b610711611159565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461079e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610795906138fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d42430000000000000000000000000000000000000000000000000000000000815250905090565b60006108d66108cf611159565b848461132c565b6001905092915050565b6108e8611159565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096c906138fd565b60405180910390fd5b60005b8151811015610a065760016004600084848151811061099a57610999613df6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109fe90613d1e565b915050610978565b5050565b6000610a37600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b9050610a4281611d82565b50565b610a4d611159565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad1906138fd565b60405180910390fd5b6012600a9054906101000a900460ff1615610b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b219061397d565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610be757600080fd5b505afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f91906133c8565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cb0600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600019611161565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1857600080fd5b505afa158015610d2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5091906133c8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401610dce9291906137cd565b602060405180830381600087803b158015610de857600080fd5b505af1158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2091906133c8565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f26600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b600080610f3161085c565b426040518863ffffffff1660e01b8152600401610f539695949392919061381f565b6060604051808303818588803b158015610f6c57600080fd5b505af1158015610f80573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fa5919061353e565b5050506005601260086101000a81548161ffff021916908361ffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196040518363ffffffff1660e01b81526004016110479291906137f6565b602060405180830381600087803b15801561106157600080fd5b505af1158015611075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110999190613511565b5060016012600a6101000a81548160ff02191690831515021790555060016012600c6101000a81548160ff021916908315150217905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c89061395d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611241576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611238906138dd565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161131f91906139bd565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561139c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113939061393d565b60405180910390fd5b600081116113df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d69061391d565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114835750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61148c57600080fd5b611494611fbd565b61149c61085c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561150a57506114da61085c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561152257506012600a9054906101000a900460ff165b15611bd5576012600b9054906101000a900460ff16611754573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115a357503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115fd5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116575750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561175357600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661169d611159565b73ffffffffffffffffffffffffffffffffffffffff1614806117135750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116fb611159565b73ffffffffffffffffffffffffffffffffffffffff16145b611752576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117499061399d565b60405180910390fd5b5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117ff5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118555750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561186e57506012600b9054906101000a900460ff16155b1561192b576064601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff1610156118dd576103e8601260089054906101000a900461ffff1661ffff1666038d7ea4c680006118c69190613bb1565b6118d09190613b80565b8111156118dc57600080fd5b5b6012600081819054906101000a900467ffffffffffffffff168092919061190390613d67565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119d65750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a2c5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a4557506012600b9054906101000a900460ff16155b15611ae6576012600c9054906101000a900460ff1615611ae5576000611a8c600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b90506127106001611abe600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661061e565b611ac89190613bb1565b611ad29190613b80565b811115611ae357611ae281611fcf565b5b505b5b6012600b9054906101000a900460ff16611bd4576005601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611b42576014601260086101000a81548161ffff021916908361ffff1602179055505b6014601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611b8a57601e601260086101000a81548161ffff021916908361ffff1602179055505b601e601260009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611bd3576103e8601260086101000a81548161ffff021916908361ffff1602179055505b5b5b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c7c5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611c9357506012600b9054906101000a900460ff165b15611c9d57600090505b611ca9848484846120c1565b50505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d17573d6000803e3d6000fd5b5050565b6000600e54821115611d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d59906138bd565b60405180910390fd5b6000611d6c61230a565b90508083611d7a9190613b80565b915050919050565b6000600267ffffffffffffffff811115611d9f57611d9e613e25565b5b604051908082528060200260200182016040528015611dcd5781602001602082028036833780820191505090505b509050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600081518110611e0757611e06613df6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611e7857611e77613df6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f01600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611161565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611f879594939291906139d8565b600060405180830381600087803b158015611fa157600080fd5b505af1158015611fb5573d6000803e3d6000fd5b505050505050565b6000601081905550600a601181905550565b60016012600b6101000a81548160ff021916908315150217905550611ff381611d82565b60006005600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163161203b9190613b80565b905061205260048261204d9190613bb1565b611caf565b61205b8161232e565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618260048361208a9190613bb1565b8360405161209a93929190613a32565b60405180910390a15060006012600b6101000a81548160ff02191690831515021790555050565b806120cf576120ce61237f565b5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156121725750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561218757612182848484612391565b612304565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561222a5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561223f5761223a8484846125dc565b612303565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122e15750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122f6576122f1848484612827565b612302565b612301848484612b00565b5b5b5b50505050565b6000806000612317612cbd565b9150915080826123279190613b80565b9250505090565b61233661085c565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561237b573d6000803e3d6000fd5b5050565b60006010819055506000601181905550565b6000806000806000806123a387612f6f565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123fa9190613c0b565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124889190613c0b565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125169190613b2a565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061256281612fd1565b61256c8483613196565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125c991906139bd565b60405180910390a3505050505050505050565b6000806000806000806125ee87612f6f565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126459190613c0b565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d39190613b2a565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127619190613b2a565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ad81612fd1565b6127b78483613196565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161281491906139bd565b60405180910390a3505050505050505050565b60008060008060008061283987612f6f565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128909190613c0b565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461291e9190613c0b565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129ac9190613b2a565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a3a9190613b2a565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a8681612fd1565b612a908483613196565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612aed91906139bd565b60405180910390a3505050505050505050565b600080600080600080612b1287612f6f565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b699190613c0b565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bf79190613b2a565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c4381612fd1565b612c4d8483613196565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612caa91906139bd565b60405180910390a3505050505050505050565b6000806000600e549050600066038d7ea4c68000905060005b600980549050811015612f2f57826001600060098481548110612cfc57612cfb613df6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612dea5750816002600060098481548110612d8257612d81613df6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612e0657600e5466038d7ea4c6800094509450505050612f6b565b6001600060098381548110612e1e57612e1d613df6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612e8f9190613c0b565b92506002600060098381548110612ea957612ea8613df6565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612f1a9190613c0b565b91508080612f2790613d1e565b915050612cd6565b5066038d7ea4c68000600e54612f459190613b80565b821015612f6257600e5466038d7ea4c68000935093505050612f6b565b81819350935050505b9091565b6000806000806000806000806000612f8c8a6010546011546131c2565b9250925092506000806000612faa8d8686612fa561230a565b61322e565b9250925092508282828888889b509b509b509b509b509b5050505050505091939550919395565b6000612fdb61230a565b905060008183612feb9190613bb1565b90508060016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461305a9190613b2a565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508260026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461312c9190613b2a565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b81600e546131a49190613c0b565b600e8190555080600f546131b89190613b2a565b600f819055505050565b600080600080606486886131d69190613bb1565b6131e09190613b80565b90506000606486896131f29190613bb1565b6131fc9190613b80565b9050600081838a61320d9190613c0b565b6132179190613c0b565b905080838395509550955050505093509350939050565b60008060008084886132409190613bb1565b9050600085886132509190613bb1565b9050600086886132609190613bb1565b905060008183856132719190613c0b565b61327b9190613c0b565b9050838184965096509650505050509450945094915050565b60006132a76132a284613aa9565b613a84565b905080838252602082019050828560208602820111156132ca576132c9613e59565b5b60005b858110156132fa57816132e08882613304565b8452602084019350602083019250506001810190506132cd565b5050509392505050565b6000813590506133138161407f565b92915050565b6000815190506133288161407f565b92915050565b600082601f83011261334357613342613e54565b5b8135613353848260208601613294565b91505092915050565b60008151905061336b81614096565b92915050565b600081359050613380816140ad565b92915050565b600081519050613395816140ad565b92915050565b6000602082840312156133b1576133b0613e63565b5b60006133bf84828501613304565b91505092915050565b6000602082840312156133de576133dd613e63565b5b60006133ec84828501613319565b91505092915050565b6000806040838503121561340c5761340b613e63565b5b600061341a85828601613304565b925050602061342b85828601613304565b9150509250929050565b60008060006060848603121561344e5761344d613e63565b5b600061345c86828701613304565b935050602061346d86828701613304565b925050604061347e86828701613371565b9150509250925092565b6000806040838503121561349f5761349e613e63565b5b60006134ad85828601613304565b92505060206134be85828601613371565b9150509250929050565b6000602082840312156134de576134dd613e63565b5b600082013567ffffffffffffffff8111156134fc576134fb613e5e565b5b6135088482850161332e565b91505092915050565b60006020828403121561352757613526613e63565b5b60006135358482850161335c565b91505092915050565b60008060006060848603121561355757613556613e63565b5b600061356586828701613386565b935050602061357686828701613386565b925050604061358786828701613386565b9150509250925092565b600061359d83836135a9565b60208301905092915050565b6135b281613c3f565b82525050565b6135c181613c3f565b82525050565b60006135d282613ae5565b6135dc8185613b08565b93506135e783613ad5565b8060005b838110156136185781516135ff8882613591565b975061360a83613afb565b9250506001810190506135eb565b5085935050505092915050565b61362e81613c51565b82525050565b61363d81613ca8565b82525050565b600061364e82613af0565b6136588185613b19565b9350613668818560208601613cba565b61367181613e68565b840191505092915050565b6000613689602a83613b19565b915061369482613e79565b604082019050919050565b60006136ac602283613b19565b91506136b782613ec8565b604082019050919050565b60006136cf602083613b19565b91506136da82613f17565b602082019050919050565b60006136f2602983613b19565b91506136fd82613f40565b604082019050919050565b6000613715602583613b19565b915061372082613f8f565b604082019050919050565b6000613738602483613b19565b915061374382613fde565b604082019050919050565b600061375b601783613b19565b91506137668261402d565b602082019050919050565b600061377e601183613b19565b915061378982614056565b602082019050919050565b61379d81613c7d565b82525050565b6137ac81613c9b565b82525050565b60006020820190506137c760008301846135b8565b92915050565b60006040820190506137e260008301856135b8565b6137ef60208301846135b8565b9392505050565b600060408201905061380b60008301856135b8565b6138186020830184613794565b9392505050565b600060c08201905061383460008301896135b8565b6138416020830188613794565b61384e6040830187613634565b61385b6060830186613634565b61386860808301856135b8565b61387560a0830184613794565b979650505050505050565b60006020820190506138956000830184613625565b92915050565b600060208201905081810360008301526138b58184613643565b905092915050565b600060208201905081810360008301526138d68161367c565b9050919050565b600060208201905081810360008301526138f68161369f565b9050919050565b60006020820190508181036000830152613916816136c2565b9050919050565b60006020820190508181036000830152613936816136e5565b9050919050565b6000602082019050818103600083015261395681613708565b9050919050565b600060208201905081810360008301526139768161372b565b9050919050565b600060208201905081810360008301526139968161374e565b9050919050565b600060208201905081810360008301526139b681613771565b9050919050565b60006020820190506139d26000830184613794565b92915050565b600060a0820190506139ed6000830188613794565b6139fa6020830187613634565b8181036040830152613a0c81866135c7565b9050613a1b60608301856135b8565b613a286080830184613794565b9695505050505050565b6000606082019050613a476000830186613794565b613a546020830185613794565b613a616040830184613794565b949350505050565b6000602082019050613a7e60008301846137a3565b92915050565b6000613a8e613a9f565b9050613a9a8282613ced565b919050565b6000604051905090565b600067ffffffffffffffff821115613ac457613ac3613e25565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613b3582613c7d565b9150613b4083613c7d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b7557613b74613d98565b5b828201905092915050565b6000613b8b82613c7d565b9150613b9683613c7d565b925082613ba657613ba5613dc7565b5b828204905092915050565b6000613bbc82613c7d565b9150613bc783613c7d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c0057613bff613d98565b5b828202905092915050565b6000613c1682613c7d565b9150613c2183613c7d565b925082821015613c3457613c33613d98565b5b828203905092915050565b6000613c4a82613c5d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b6000613cb382613c7d565b9050919050565b60005b83811015613cd8578082015181840152602081019050613cbd565b83811115613ce7576000848401525b50505050565b613cf682613e68565b810181811067ffffffffffffffff82111715613d1557613d14613e25565b5b80604052505050565b6000613d2982613c7d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d5c57613d5b613d98565b5b600182019050919050565b6000613d7282613c87565b915067ffffffffffffffff821415613d8d57613d8c613d98565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b61408881613c3f565b811461409357600080fd5b50565b61409f81613c51565b81146140aa57600080fd5b50565b6140b681613c7d565b81146140c157600080fd5b5056fea264697066735822122061934dc2919bb50afa7849e3f1b4d05d7b99ef72e5a7d02eb8db420d6527ec0064736f6c63430008060033

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

000000000000000000000000efd3a84f0f29adfb022bf3d4366c03f40acd7ae2

-----Decoded View---------------
Arg [0] : _wallet1 (address): 0xEFD3A84F0F29adfB022bf3d4366C03F40AcD7ae2

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000efd3a84f0f29adfb022bf3d4366c03f40acd7ae2


Deployed Bytecode Sourcemap

4614:13898:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6433:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7345:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6710:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7514:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8403:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6619:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12717:131;;;;;;;;;;;;;:::i;:::-;;6813:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3466:148;;;;;;;;;;;;;:::i;:::-;;3252:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6524:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7019:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8231:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12579:132;;;;;;;;;;;;;:::i;:::-;;11898:675;;;;;;;;;;;;;:::i;:::-;;7194:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6433:83;6470:13;6503:5;;;;;;;;;;;;;;;;;6496:12;;6433:83;:::o;7345:161::-;7420:4;7437:39;7446:12;:10;:12::i;:::-;7460:7;7469:6;7437:8;:39::i;:::-;7494:4;7487:11;;7345:161;;;;:::o;6710:95::-;6763:7;5455:15;6783:14;;6710:95;:::o;7514:264::-;7612:4;7629:36;7639:6;7647:9;7658:6;7629:9;:36::i;:::-;7676:72;7685:6;7692:12;:10;:12::i;:::-;7741:6;7705:11;:19;7717:6;7705:19;;;;;;;;;;;;;;;:33;7725:12;:10;:12::i;:::-;7705:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;7676:8;:72::i;:::-;7766:4;7759:11;;7514:264;;;;;:::o;8403:88::-;3389:12;:10;:12::i;:::-;3379:22;;:6;;;;;;;;;;:22;;;3371:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8478:5:::1;8463:4;:12;8468:6;8463:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;8403:88:::0;:::o;6619:83::-;6660:5;5699:1;6678:16;;6619:83;:::o;12717:131::-;12759:26;12788:1;;;;;;;;;;;:9;;;12759:38;;12808:32;12821:18;12808:12;:32::i;:::-;12748:100;12717:131::o;6813:198::-;6879:7;6903:11;:20;6915:7;6903:20;;;;;;;;;;;;;;;;;;;;;;;;;6899:49;;;6932:7;:16;6940:7;6932:16;;;;;;;;;;;;;;;;6925:23;;;;6899:49;6966:37;6986:7;:16;6994:7;6986:16;;;;;;;;;;;;;;;;6966:19;:37::i;:::-;6959:44;;6813:198;;;;:::o;3466:148::-;3389:12;:10;:12::i;:::-;3379:22;;:6;;;;;;;;;;:22;;;3371:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3573:1:::1;3536:40;;3557:6;::::0;::::1;;;;;;;;3536:40;;;;;;;;;;;;3604:1;3587:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3466:148::o:0;3252:79::-;3290:7;3317:6;;;;;;;;;;;3310:13;;3252:79;:::o;6524:87::-;6563:13;6596:7;;;;;;;;;;;;;;;;;6589:14;;6524:87;:::o;7019:167::-;7097:4;7114:42;7124:12;:10;:12::i;:::-;7138:9;7149:6;7114:9;:42::i;:::-;7174:4;7167:11;;7019:167;;;;:::o;8231:164::-;3389:12;:10;:12::i;:::-;3379:22;;:6;;;;;;;;;;:22;;;3371:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8305:6:::1;8300:88;8321:5;:12;8317:1;:16;8300:88;;;8372:4;8355;:14;8360:5;8366:1;8360:8;;;;;;;;:::i;:::-;;;;;;;;8355:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;8335:3;;;;;:::i;:::-;;;;8300:88;;;;8231:164:::0;:::o;12579:132::-;12621:23;12647:12;12657:1;;;;;;;;;;;12647:9;:12::i;:::-;12621:38;;12670:33;12687:15;12670:16;:33::i;:::-;12610:101;12579:132::o;11898:675::-;3389:12;:10;:12::i;:::-;3379:22;;:6;;;;;;;;;;:22;;;3371:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11962:11:::1;;;;;;;;;;;11961:12;11953:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12049:42;12012:15;;:80;;;;;;;;;;;;;;;;;;12110:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12103:4;;:29;;;;;;;;;;;;;;;;;;12143:50;12152:1;;;;;;;;;;;12163:15;;;;;;;;;;;12190:1;12181:11;12143:8;:50::i;:::-;12238:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12220:55;;;12276:1;;;;;;;;;;;12279:4;;;;;;;;;;;12220:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12204:13;;:80;;;;;;;;;;;;;;;;;;12295:15;;;;;;;;;;;:31;;;12334:1;;;;;;;;;;;:9;;;12345:1;;;;;;;;;;;12347:12;12357:1;;;;;;;;;;;12347:9;:12::i;:::-;12360:1;12362::::0;12364:7:::1;:5;:7::i;:::-;12372:15;12295:93;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12407:1;12399:5;;:9;;;;;;;;;;;;;;;;;;12447:13;;;;;;;;;;;12440:29;;;12478:15;;;;;;;;;;;12504:1;12495:11;12440:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12532:4;12518:11;;:18;;;;;;;;;;;;;;;;;;12561:4;12547:11;;:18;;;;;;;;;;;;;;;;;;11898:675::o:0;7194:143::-;7275:7;7302:11;:18;7314:5;7302:18;;;;;;;;;;;;;;;:27;7321:7;7302:27;;;;;;;;;;;;;;;;7295:34;;7194:143;;;;:::o;2157:98::-;2210:7;2237:10;2230:17;;2157:98;:::o;8499:335::-;8609:1;8592:19;;:5;:19;;;;8584:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8690:1;8671:21;;:7;:21;;;;8663:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8772:6;8742:11;:18;8754:5;8742:18;;;;;;;;;;;;;;;:27;8761:7;8742:27;;;;;;;;;;;;;;;:36;;;;8810:7;8794:32;;8803:5;8794:32;;;8819:6;8794:32;;;;;;:::i;:::-;;;;;;;;8499:335;;;:::o;8842:1886::-;8946:1;8930:18;;:4;:18;;;;8922:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9018:1;9009:6;:10;9001:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9085:4;:10;9090:4;9085:10;;;;;;;;;;;;;;;;;;;;;;;;;9084:11;:24;;;;;9100:4;:8;9105:2;9100:8;;;;;;;;;;;;;;;;;;;;;;;;;9099:9;9084:24;9076:33;;;;;;9120:10;:8;:10::i;:::-;9153:7;:5;:7::i;:::-;9145:15;;:4;:15;;;;:32;;;;;9170:7;:5;:7::i;:::-;9164:13;;:2;:13;;;;9145:32;:47;;;;;9181:11;;;;;;;;;;;9145:47;9141:1380;;;9214:6;;;;;;;;;;;9209:312;;9261:4;9245:21;;:4;:21;;;;:44;;;;;9284:4;9270:19;;:2;:19;;;;9245:44;:80;;;;;9309:15;;;;;;;;;;;9293:32;;:4;:32;;;;9245:80;:114;;;;;9343:15;;;;;;;;;;;9329:30;;:2;:30;;;;9245:114;9241:265;;;9416:15;;;;;;;;;;;9392:40;;:12;:10;:12::i;:::-;:40;;;:73;;;;9452:13;;;;;;;;;;;9436:29;;:12;:10;:12::i;:::-;:29;;;9392:73;9384:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;9241:265;9209:312;9547:13;;;;;;;;;;;9539:21;;:4;:21;;;:55;;;;;9578:15;;;;;;;;;;;9564:30;;:2;:30;;;;9539:55;:82;;;;;9599:18;:22;9618:2;9599:22;;;;;;;;;;;;;;;;;;;;;;;;;9598:23;9539:82;:93;;;;;9626:6;;;;;;;;;;;9625:7;9539:93;9535:249;;;9670:3;9657:10;;;;;;;;;;;:16;;;9653:84;;;9732:4;9724:5;;;;;;;;;;;9714:15;;5455;9714;;;;:::i;:::-;:22;;;;:::i;:::-;9704:6;:32;;9696:41;;;;;;9653:84;9756:10;;:12;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;9535:249;9808:13;;;;;;;;;;;9802:19;;:2;:19;;;:55;;;;;9841:15;;;;;;;;;;;9825:32;;:4;:32;;;;9802:55;:85;;;;;9863:18;:24;9882:4;9863:24;;;;;;;;;;;;;;;;;;;;;;;;;9861:26;9802:85;:96;;;;;9892:6;;;;;;;;;;;9891:7;9802:96;9798:413;;;9923:11;;;;;;;;;;;9919:277;;;9959:28;9990:12;10000:1;;;;;;;;;;;9990:9;:12::i;:::-;9959:43;;10083:5;10079:1;10052:24;10062:13;;;;;;;;;;;10052:9;:24::i;:::-;:28;;;;:::i;:::-;:36;;;;:::i;:::-;10029:20;:59;10025:152;;;10117:36;10132:20;10117:14;:36::i;:::-;10025:152;9936:260;9919:277;9798:413;10230:6;;;;;;;;;;;10225:285;;10275:1;10261:10;;;;;;;;;;;:15;;;10257:52;;;10307:2;10299:5;;:10;;;;;;;;;;;;;;;;;;10257:52;10352:2;10338:10;;;;;;;;;;;:16;;;10334:53;;;10385:2;10377:5;;:10;;;;;;;;;;;;;;;;;;10334:53;10430:2;10416:10;;;;;;;;;;;:16;;;10412:83;;;10465:4;10457:5;;:12;;;;;;;;;;;;;;;;;;10412:83;10225:285;9141:1380;10531:12;10546:4;10531:19;;10565:18;:24;10584:4;10565:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10593:18;:22;10612:2;10593:22;;;;;;;;;;;;;;;;;;;;;;;;;10565:50;:60;;;;10619:6;;;;;;;;;;;10565:60;10561:108;;;10652:5;10642:15;;10561:108;10679:41;10694:4;10700:2;10704:6;10712:7;10679:14;:41::i;:::-;8911:1817;8842:1886;;;:::o;11675:104::-;11743:7;;;;;;;;;;;11735:25;;:36;11761:9;11735:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11675:104;:::o;7786:250::-;7854:7;7893;;7882;:18;;7874:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7957:19;7979:10;:8;:10::i;:::-;7957:32;;8017:11;8007:7;:21;;;;:::i;:::-;8000:28;;;7786:250;;;:::o;11326:341::-;11392:21;11430:1;11416:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11392:40;;11453:1;;;;;;;;;;;11443:4;11448:1;11443:7;;;;;;;;:::i;:::-;;;;;;;:11;;;;;;;;;;;11475:4;;;;;;;;;;;11465;11470:1;11465:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;11490:50;11499:1;;;;;;;;;;;11510:15;;;;;;;;;;;11528:11;11490:8;:50::i;:::-;11551:15;;;;;;;;;;;:66;;;11618:11;11631:1;11634:4;11640:1;;;;;;;;;;;11643:15;11551:108;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11381:286;11326:341;:::o;8136:87::-;8185:1;8175:7;:11;;;;8213:2;8197:13;:18;;;;8136:87::o;10731:299::-;5956:4;5947:6;;:13;;;;;;;;;;;;;;;;;;10812:38:::1;10829:20;10812:16;:38::i;:::-;10857:15;10887:1;10875;;;;;;;;;;;:9;;;:13;;;;:::i;:::-;10857:31;;10895:23;10916:1;10908:7;:9;;;;:::i;:::-;10895:12;:23::i;:::-;10933;10948:7;10933:14;:23::i;:::-;10968:56;10983:20;11013:1;11005:7;:9;;;;:::i;:::-;11016:7;10968:56;;;;;;;;:::i;:::-;;;;;;;;10805:225;5992:5:::0;5983:6;;:14;;;;;;;;;;;;;;;;;;10731:299;:::o;12854:615::-;12967:7;12962:22;;12976:8;:6;:8::i;:::-;12962:22;12999:11;:19;13011:6;12999:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;13023:11;:22;13035:9;13023:22;;;;;;;;;;;;;;;;;;;;;;;;;13022:23;12999:46;12995:467;;;13062:48;13084:6;13092:9;13103:6;13062:21;:48::i;:::-;12995:467;;;13133:11;:19;13145:6;13133:19;;;;;;;;;;;;;;;;;;;;;;;;;13132:20;:46;;;;;13156:11;:22;13168:9;13156:22;;;;;;;;;;;;;;;;;;;;;;;;;13132:46;13128:334;;;13195:46;13215:6;13223:9;13234:6;13195:19;:46::i;:::-;13128:334;;;13263:11;:19;13275:6;13263:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;13286:11;:22;13298:9;13286:22;;;;;;;;;;;;;;;;;;;;;;;;;13263:45;13259:203;;;13325:48;13347:6;13355:9;13366:6;13325:21;:48::i;:::-;13259:203;;;13406:44;13424:6;13432:9;13443:6;13406:17;:44::i;:::-;13259:203;13128:334;12995:467;12854:615;;;;:::o;17397:161::-;17439:7;17460:15;17477;17496:19;:17;:19::i;:::-;17459:56;;;;17543:7;17533;:17;;;;:::i;:::-;17526:24;;;;17397:161;:::o;11786:106::-;11856:7;:5;:7::i;:::-;11848:25;;:36;11874:9;11848:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11786:106;:::o;8044:84::-;8091:1;8081:7;:11;;;;8119:1;8103:13;:17;;;;8044:84::o;14047:554::-;14150:15;14167:23;14192:12;14206:23;14231:12;14245:18;14267:19;14278:7;14267:10;:19::i;:::-;14149:137;;;;;;;;;;;;14333:7;14315;:15;14323:6;14315:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;14297:7;:15;14305:6;14297:15;;;;;;;;;;;;;;;:43;;;;14387:7;14369;:15;14377:6;14369:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;14351:7;:15;14359:6;14351:15;;;;;;;;;;;;;;;:43;;;;14447:15;14426:7;:18;14434:9;14426:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;14405:7;:18;14413:9;14405:18;;;;;;;;;;;;;;;:57;;;;14473:26;14488:10;14473:14;:26::i;:::-;14510:23;14522:4;14528;14510:11;:23::i;:::-;14566:9;14549:44;;14558:6;14549:44;;;14577:15;14549:44;;;;;;:::i;:::-;;;;;;;;14138:463;;;;;;14047:554;;;:::o;13475:566::-;13576:15;13593:23;13618:12;13632:23;13657:12;13671:18;13693:19;13704:7;13693:10;:19::i;:::-;13575:137;;;;;;;;;;;;13759:7;13741;:15;13749:6;13741:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;13723:7;:15;13731:6;13723:15;;;;;;;;;;;;;;;:43;;;;13819:15;13798:7;:18;13806:9;13798:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;13777:7;:18;13785:9;13777:18;;;;;;;;;;;;;;;:57;;;;13887:15;13866:7;:18;13874:9;13866:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;13845:7;:18;13853:9;13845:18;;;;;;;;;;;;;;;:57;;;;13913:26;13928:10;13913:14;:26::i;:::-;13950:23;13962:4;13968;13950:11;:23::i;:::-;14006:9;13989:44;;13998:6;13989:44;;;14017:15;13989:44;;;;;;:::i;:::-;;;;;;;;13564:477;;;;;;13475:566;;;:::o;14607:622::-;14710:15;14727:23;14752:12;14766:23;14791:12;14805:18;14827:19;14838:7;14827:10;:19::i;:::-;14709:137;;;;;;;;;;;;14893:7;14875;:15;14883:6;14875:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;14857:7;:15;14865:6;14857:15;;;;;;;;;;;;;;;:43;;;;14947:7;14929;:15;14937:6;14929:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;14911:7;:15;14919:6;14911:15;;;;;;;;;;;;;;;:43;;;;15007:15;14986:7;:18;14994:9;14986:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;14965:7;:18;14973:9;14965:18;;;;;;;;;;;;;;;:57;;;;15075:15;15054:7;:18;15062:9;15054:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;15033:7;:18;15041:9;15033:18;;;;;;;;;;;;;;;:57;;;;15101:26;15116:10;15101:14;:26::i;:::-;15138:23;15150:4;15156;15138:11;:23::i;:::-;15194:9;15177:44;;15186:6;15177:44;;;15205:15;15177:44;;;;;;:::i;:::-;;;;;;;;14698:531;;;;;;14607:622;;;:::o;15235:496::-;15334:15;15351:23;15376:12;15390:23;15415:12;15429:18;15451:19;15462:7;15451:10;:19::i;:::-;15333:137;;;;;;;;;;;;15517:7;15499;:15;15507:6;15499:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;15481:7;:15;15489:6;15481:15;;;;;;;;;;;;;;;:43;;;;15577:15;15556:7;:18;15564:9;15556:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;15535:7;:18;15543:9;15535:18;;;;;;;;;;;;;;;:57;;;;15603:26;15618:10;15603:14;:26::i;:::-;15640:23;15652:4;15658;15640:11;:23::i;:::-;15696:9;15679:44;;15688:6;15679:44;;;15707:15;15679:44;;;;;;:::i;:::-;;;;;;;;15322:409;;;;;;15235:496;;;:::o;17962:547::-;18013:7;18022;18042:15;18060:7;;18042:25;;18078:15;5455;18078:25;;18119:9;18114:283;18138:9;:16;;;;18134:1;:20;18114:283;;;18204:7;18180;:21;18188:9;18198:1;18188:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18180:21;;;;;;;;;;;;;;;;:31;:66;;;;18239:7;18215;:21;18223:9;18233:1;18223:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18215:21;;;;;;;;;;;;;;;;:31;18180:66;18176:97;;;18256:7;;5455:15;18248:25;;;;;;;;;18176:97;18308:7;:21;18316:9;18326:1;18316:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18308:21;;;;;;;;;;;;;;;;18298:7;:31;;;;:::i;:::-;18288:41;;18364:7;:21;18372:9;18382:1;18372:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18364:21;;;;;;;;;;;;;;;;18354:7;:31;;;;:::i;:::-;18344:41;;18156:3;;;;;:::i;:::-;;;;18114:283;;;;5455:15;18421:7;;:17;;;;:::i;:::-;18411:7;:27;18407:58;;;18448:7;;5455:15;18440:25;;;;;;;;18407:58;18484:7;18493;18476:25;;;;;;17962:547;;;:::o;16176:443::-;16235:7;16244;16253;16262;16271;16280;16301:23;16326:12;16340:18;16362:44;16374:7;16383;;16392:13;;16362:11;:44::i;:::-;16300:106;;;;;;16418:15;16435:23;16460:12;16476:50;16488:7;16497:4;16503:10;16515;:8;:10::i;:::-;16476:11;:50::i;:::-;16417:109;;;;;;16545:7;16554:15;16571:4;16577:15;16594:4;16600:10;16537:74;;;;;;;;;;;;;;;;;;16176:443;;;;;;;:::o;15737:254::-;15800:19;15823:10;:8;:10::i;:::-;15800:33;;15844:18;15878:11;15865:10;:24;;;;:::i;:::-;15844:45;;15926:10;15913:7;:10;15921:1;;;;;;;;;;;15913:10;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;15900:7;:10;15908:1;;;;;;;;;;;15900:10;;;;;;;;;;;;;;;:36;;;;15973:10;15960:7;:10;15968:1;;;;;;;;;;;15960:10;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;15947:7;:10;15955:1;;;;;;;;;;;15947:10;;;;;;;;;;;;;;;:36;;;;15789:202;;15737:254;:::o;15994:141::-;16082:4;16072:7;;:14;;;;:::i;:::-;16062:7;:24;;;;16123:4;16110:10;;:17;;;;:::i;:::-;16097:10;:30;;;;15994:141;;:::o;16625:352::-;16723:7;16732;16741;16761:12;16795:3;16786:6;16776:7;:16;;;;:::i;:::-;:22;;;;:::i;:::-;16761:37;;16809:18;16855:3;16840:12;16830:7;:22;;;;:::i;:::-;:28;;;;:::i;:::-;16809:49;;16863:23;16906:10;16899:4;16889:7;:14;;;;:::i;:::-;:27;;;;:::i;:::-;16863:53;;16935:15;16952:4;16958:10;16927:42;;;;;;;;;16625:352;;;;;;;:::o;16983:408::-;17098:7;17107;17116;17136:15;17164:11;17154:7;:21;;;;:::i;:::-;17136:39;;17186:12;17208:11;17201:4;:18;;;;:::i;:::-;17186:33;;17230:18;17264:11;17251:10;:24;;;;:::i;:::-;17230:45;;17280:23;17323:10;17316:4;17306:7;:14;;;;:::i;:::-;:27;;;;:::i;:::-;17280:53;;17352:7;17361:15;17378:4;17344:39;;;;;;;;;;16983:408;;;;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;404:79;;:::i;:::-;350:2;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;804:87;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;960:80;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:2;;1191:79;;:::i;:::-;1150:2;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1499:77;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1634:87;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1790:80;;;;:::o;1876:329::-;1935:6;1984:2;1972:9;1963:7;1959:23;1955:32;1952:2;;;1990:79;;:::i;:::-;1952:2;2110:1;2135:53;2180:7;2171:6;2160:9;2156:22;2135:53;:::i;:::-;2125:63;;2081:117;1942:263;;;;:::o;2211:351::-;2281:6;2330:2;2318:9;2309:7;2305:23;2301:32;2298:2;;;2336:79;;:::i;:::-;2298:2;2456:1;2481:64;2537:7;2528:6;2517:9;2513:22;2481:64;:::i;:::-;2471:74;;2427:128;2288:274;;;;:::o;2568:474::-;2636:6;2644;2693:2;2681:9;2672:7;2668:23;2664:32;2661:2;;;2699:79;;:::i;:::-;2661:2;2819:1;2844:53;2889:7;2880:6;2869:9;2865:22;2844:53;:::i;:::-;2834:63;;2790:117;2946:2;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;:::i;:::-;2962:63;;2917:118;2651:391;;;;;:::o;3048:619::-;3125:6;3133;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:2;;;3196:79;;:::i;:::-;3158:2;3316:1;3341:53;3386:7;3377:6;3366:9;3362:22;3341:53;:::i;:::-;3331:63;;3287:117;3443:2;3469:53;3514:7;3505:6;3494:9;3490:22;3469:53;:::i;:::-;3459:63;;3414:118;3571:2;3597:53;3642:7;3633:6;3622:9;3618:22;3597:53;:::i;:::-;3587:63;;3542:118;3148:519;;;;;:::o;3673:474::-;3741:6;3749;3798:2;3786:9;3777:7;3773:23;3769:32;3766:2;;;3804:79;;:::i;:::-;3766:2;3924:1;3949:53;3994:7;3985:6;3974:9;3970:22;3949:53;:::i;:::-;3939:63;;3895:117;4051:2;4077:53;4122:7;4113:6;4102:9;4098:22;4077:53;:::i;:::-;4067:63;;4022:118;3756:391;;;;;:::o;4153:539::-;4237:6;4286:2;4274:9;4265:7;4261:23;4257:32;4254:2;;;4292:79;;:::i;:::-;4254:2;4440:1;4429:9;4425:17;4412:31;4470:18;4462:6;4459:30;4456:2;;;4492:79;;:::i;:::-;4456:2;4597:78;4667:7;4658:6;4647:9;4643:22;4597:78;:::i;:::-;4587:88;;4383:302;4244:448;;;;:::o;4698:345::-;4765:6;4814:2;4802:9;4793:7;4789:23;4785:32;4782:2;;;4820:79;;:::i;:::-;4782:2;4940:1;4965:61;5018:7;5009:6;4998:9;4994:22;4965:61;:::i;:::-;4955:71;;4911:125;4772:271;;;;:::o;5049:663::-;5137:6;5145;5153;5202:2;5190:9;5181:7;5177:23;5173:32;5170:2;;;5208:79;;:::i;:::-;5170:2;5328:1;5353:64;5409:7;5400:6;5389:9;5385:22;5353:64;:::i;:::-;5343:74;;5299:128;5466:2;5492:64;5548:7;5539:6;5528:9;5524:22;5492:64;:::i;:::-;5482:74;;5437:129;5605:2;5631:64;5687:7;5678:6;5667:9;5663:22;5631:64;:::i;:::-;5621:74;;5576:129;5160:552;;;;;:::o;5718:179::-;5787:10;5808:46;5850:3;5842:6;5808:46;:::i;:::-;5886:4;5881:3;5877:14;5863:28;;5798:99;;;;:::o;5903:108::-;5980:24;5998:5;5980:24;:::i;:::-;5975:3;5968:37;5958:53;;:::o;6017:118::-;6104:24;6122:5;6104:24;:::i;:::-;6099:3;6092:37;6082:53;;:::o;6171:732::-;6290:3;6319:54;6367:5;6319:54;:::i;:::-;6389:86;6468:6;6463:3;6389:86;:::i;:::-;6382:93;;6499:56;6549:5;6499:56;:::i;:::-;6578:7;6609:1;6594:284;6619:6;6616:1;6613:13;6594:284;;;6695:6;6689:13;6722:63;6781:3;6766:13;6722:63;:::i;:::-;6715:70;;6808:60;6861:6;6808:60;:::i;:::-;6798:70;;6654:224;6641:1;6638;6634:9;6629:14;;6594:284;;;6598:14;6894:3;6887:10;;6295:608;;;;;;;:::o;6909:109::-;6990:21;7005:5;6990:21;:::i;:::-;6985:3;6978:34;6968:50;;:::o;7024:147::-;7119:45;7158:5;7119:45;:::i;:::-;7114:3;7107:58;7097:74;;:::o;7177:364::-;7265:3;7293:39;7326:5;7293:39;:::i;:::-;7348:71;7412:6;7407:3;7348:71;:::i;:::-;7341:78;;7428:52;7473:6;7468:3;7461:4;7454:5;7450:16;7428:52;:::i;:::-;7505:29;7527:6;7505:29;:::i;:::-;7500:3;7496:39;7489:46;;7269:272;;;;;:::o;7547:366::-;7689:3;7710:67;7774:2;7769:3;7710:67;:::i;:::-;7703:74;;7786:93;7875:3;7786:93;:::i;:::-;7904:2;7899:3;7895:12;7888:19;;7693:220;;;:::o;7919:366::-;8061:3;8082:67;8146:2;8141:3;8082:67;:::i;:::-;8075:74;;8158:93;8247:3;8158:93;:::i;:::-;8276:2;8271:3;8267:12;8260:19;;8065:220;;;:::o;8291:366::-;8433:3;8454:67;8518:2;8513:3;8454:67;:::i;:::-;8447:74;;8530:93;8619:3;8530:93;:::i;:::-;8648:2;8643:3;8639:12;8632:19;;8437:220;;;:::o;8663:366::-;8805:3;8826:67;8890:2;8885:3;8826:67;:::i;:::-;8819:74;;8902:93;8991:3;8902:93;:::i;:::-;9020:2;9015:3;9011:12;9004:19;;8809:220;;;:::o;9035:366::-;9177:3;9198:67;9262:2;9257:3;9198:67;:::i;:::-;9191:74;;9274:93;9363:3;9274:93;:::i;:::-;9392:2;9387:3;9383:12;9376:19;;9181:220;;;:::o;9407:366::-;9549:3;9570:67;9634:2;9629:3;9570:67;:::i;:::-;9563:74;;9646:93;9735:3;9646:93;:::i;:::-;9764:2;9759:3;9755:12;9748:19;;9553:220;;;:::o;9779:366::-;9921:3;9942:67;10006:2;10001:3;9942:67;:::i;:::-;9935:74;;10018:93;10107:3;10018:93;:::i;:::-;10136:2;10131:3;10127:12;10120:19;;9925:220;;;:::o;10151:366::-;10293:3;10314:67;10378:2;10373:3;10314:67;:::i;:::-;10307:74;;10390:93;10479:3;10390:93;:::i;:::-;10508:2;10503:3;10499:12;10492:19;;10297:220;;;:::o;10523:118::-;10610:24;10628:5;10610:24;:::i;:::-;10605:3;10598:37;10588:53;;:::o;10647:112::-;10730:22;10746:5;10730:22;:::i;:::-;10725:3;10718:35;10708:51;;:::o;10765:222::-;10858:4;10896:2;10885:9;10881:18;10873:26;;10909:71;10977:1;10966:9;10962:17;10953:6;10909:71;:::i;:::-;10863:124;;;;:::o;10993:332::-;11114:4;11152:2;11141:9;11137:18;11129:26;;11165:71;11233:1;11222:9;11218:17;11209:6;11165:71;:::i;:::-;11246:72;11314:2;11303:9;11299:18;11290:6;11246:72;:::i;:::-;11119:206;;;;;:::o;11331:332::-;11452:4;11490:2;11479:9;11475:18;11467:26;;11503:71;11571:1;11560:9;11556:17;11547:6;11503:71;:::i;:::-;11584:72;11652:2;11641:9;11637:18;11628:6;11584:72;:::i;:::-;11457:206;;;;;:::o;11669:807::-;11918:4;11956:3;11945:9;11941:19;11933:27;;11970:71;12038:1;12027:9;12023:17;12014:6;11970:71;:::i;:::-;12051:72;12119:2;12108:9;12104:18;12095:6;12051:72;:::i;:::-;12133:80;12209:2;12198:9;12194:18;12185:6;12133:80;:::i;:::-;12223;12299:2;12288:9;12284:18;12275:6;12223:80;:::i;:::-;12313:73;12381:3;12370:9;12366:19;12357:6;12313:73;:::i;:::-;12396;12464:3;12453:9;12449:19;12440:6;12396:73;:::i;:::-;11923:553;;;;;;;;;:::o;12482:210::-;12569:4;12607:2;12596:9;12592:18;12584:26;;12620:65;12682:1;12671:9;12667:17;12658:6;12620:65;:::i;:::-;12574:118;;;;:::o;12698:313::-;12811:4;12849:2;12838:9;12834:18;12826:26;;12898:9;12892:4;12888:20;12884:1;12873:9;12869:17;12862:47;12926:78;12999:4;12990:6;12926:78;:::i;:::-;12918:86;;12816:195;;;;:::o;13017:419::-;13183:4;13221:2;13210:9;13206:18;13198:26;;13270:9;13264:4;13260:20;13256:1;13245:9;13241:17;13234:47;13298:131;13424:4;13298:131;:::i;:::-;13290:139;;13188:248;;;:::o;13442:419::-;13608:4;13646:2;13635:9;13631:18;13623:26;;13695:9;13689:4;13685:20;13681:1;13670:9;13666:17;13659:47;13723:131;13849:4;13723:131;:::i;:::-;13715:139;;13613:248;;;:::o;13867:419::-;14033:4;14071:2;14060:9;14056:18;14048:26;;14120:9;14114:4;14110:20;14106:1;14095:9;14091:17;14084:47;14148:131;14274:4;14148:131;:::i;:::-;14140:139;;14038:248;;;:::o;14292:419::-;14458:4;14496:2;14485:9;14481:18;14473:26;;14545:9;14539:4;14535:20;14531:1;14520:9;14516:17;14509:47;14573:131;14699:4;14573:131;:::i;:::-;14565:139;;14463:248;;;:::o;14717:419::-;14883:4;14921:2;14910:9;14906:18;14898:26;;14970:9;14964:4;14960:20;14956:1;14945:9;14941:17;14934:47;14998:131;15124:4;14998:131;:::i;:::-;14990:139;;14888:248;;;:::o;15142:419::-;15308:4;15346:2;15335:9;15331:18;15323:26;;15395:9;15389:4;15385:20;15381:1;15370:9;15366:17;15359:47;15423:131;15549:4;15423:131;:::i;:::-;15415:139;;15313:248;;;:::o;15567:419::-;15733:4;15771:2;15760:9;15756:18;15748:26;;15820:9;15814:4;15810:20;15806:1;15795:9;15791:17;15784:47;15848:131;15974:4;15848:131;:::i;:::-;15840:139;;15738:248;;;:::o;15992:419::-;16158:4;16196:2;16185:9;16181:18;16173:26;;16245:9;16239:4;16235:20;16231:1;16220:9;16216:17;16209:47;16273:131;16399:4;16273:131;:::i;:::-;16265:139;;16163:248;;;:::o;16417:222::-;16510:4;16548:2;16537:9;16533:18;16525:26;;16561:71;16629:1;16618:9;16614:17;16605:6;16561:71;:::i;:::-;16515:124;;;;:::o;16645:831::-;16908:4;16946:3;16935:9;16931:19;16923:27;;16960:71;17028:1;17017:9;17013:17;17004:6;16960:71;:::i;:::-;17041:80;17117:2;17106:9;17102:18;17093:6;17041:80;:::i;:::-;17168:9;17162:4;17158:20;17153:2;17142:9;17138:18;17131:48;17196:108;17299:4;17290:6;17196:108;:::i;:::-;17188:116;;17314:72;17382:2;17371:9;17367:18;17358:6;17314:72;:::i;:::-;17396:73;17464:3;17453:9;17449:19;17440:6;17396:73;:::i;:::-;16913:563;;;;;;;;:::o;17482:442::-;17631:4;17669:2;17658:9;17654:18;17646:26;;17682:71;17750:1;17739:9;17735:17;17726:6;17682:71;:::i;:::-;17763:72;17831:2;17820:9;17816:18;17807:6;17763:72;:::i;:::-;17845;17913:2;17902:9;17898:18;17889:6;17845:72;:::i;:::-;17636:288;;;;;;:::o;17930:214::-;18019:4;18057:2;18046:9;18042:18;18034:26;;18070:67;18134:1;18123:9;18119:17;18110:6;18070:67;:::i;:::-;18024:120;;;;:::o;18150:129::-;18184:6;18211:20;;:::i;:::-;18201:30;;18240:33;18268:4;18260:6;18240:33;:::i;:::-;18191:88;;;:::o;18285:75::-;18318:6;18351:2;18345:9;18335:19;;18325:35;:::o;18366:311::-;18443:4;18533:18;18525:6;18522:30;18519:2;;;18555:18;;:::i;:::-;18519:2;18605:4;18597:6;18593:17;18585:25;;18665:4;18659;18655:15;18647:23;;18448:229;;;:::o;18683:132::-;18750:4;18773:3;18765:11;;18803:4;18798:3;18794:14;18786:22;;18755:60;;;:::o;18821:114::-;18888:6;18922:5;18916:12;18906:22;;18895:40;;;:::o;18941:99::-;18993:6;19027:5;19021:12;19011:22;;19000:40;;;:::o;19046:113::-;19116:4;19148;19143:3;19139:14;19131:22;;19121:38;;;:::o;19165:184::-;19264:11;19298:6;19293:3;19286:19;19338:4;19333:3;19329:14;19314:29;;19276:73;;;;:::o;19355:169::-;19439:11;19473:6;19468:3;19461:19;19513:4;19508:3;19504:14;19489:29;;19451:73;;;;:::o;19530:305::-;19570:3;19589:20;19607:1;19589:20;:::i;:::-;19584:25;;19623:20;19641:1;19623:20;:::i;:::-;19618:25;;19777:1;19709:66;19705:74;19702:1;19699:81;19696:2;;;19783:18;;:::i;:::-;19696:2;19827:1;19824;19820:9;19813:16;;19574:261;;;;:::o;19841:185::-;19881:1;19898:20;19916:1;19898:20;:::i;:::-;19893:25;;19932:20;19950:1;19932:20;:::i;:::-;19927:25;;19971:1;19961:2;;19976:18;;:::i;:::-;19961:2;20018:1;20015;20011:9;20006:14;;19883:143;;;;:::o;20032:348::-;20072:7;20095:20;20113:1;20095:20;:::i;:::-;20090:25;;20129:20;20147:1;20129:20;:::i;:::-;20124:25;;20317:1;20249:66;20245:74;20242:1;20239:81;20234:1;20227:9;20220:17;20216:105;20213:2;;;20324:18;;:::i;:::-;20213:2;20372:1;20369;20365:9;20354:20;;20080:300;;;;:::o;20386:191::-;20426:4;20446:20;20464:1;20446:20;:::i;:::-;20441:25;;20480:20;20498:1;20480:20;:::i;:::-;20475:25;;20519:1;20516;20513:8;20510:2;;;20524:18;;:::i;:::-;20510:2;20569:1;20566;20562:9;20554:17;;20431:146;;;;:::o;20583:96::-;20620:7;20649:24;20667:5;20649:24;:::i;:::-;20638:35;;20628:51;;;:::o;20685:90::-;20719:7;20762:5;20755:13;20748:21;20737:32;;20727:48;;;:::o;20781:126::-;20818:7;20858:42;20851:5;20847:54;20836:65;;20826:81;;;:::o;20913:77::-;20950:7;20979:5;20968:16;;20958:32;;;:::o;20996:101::-;21032:7;21072:18;21065:5;21061:30;21050:41;;21040:57;;;:::o;21103:86::-;21138:7;21178:4;21171:5;21167:16;21156:27;;21146:43;;;:::o;21195:121::-;21253:9;21286:24;21304:5;21286:24;:::i;:::-;21273:37;;21263:53;;;:::o;21322:307::-;21390:1;21400:113;21414:6;21411:1;21408:13;21400:113;;;21499:1;21494:3;21490:11;21484:18;21480:1;21475:3;21471:11;21464:39;21436:2;21433:1;21429:10;21424:15;;21400:113;;;21531:6;21528:1;21525:13;21522:2;;;21611:1;21602:6;21597:3;21593:16;21586:27;21522:2;21371:258;;;;:::o;21635:281::-;21718:27;21740:4;21718:27;:::i;:::-;21710:6;21706:40;21848:6;21836:10;21833:22;21812:18;21800:10;21797:34;21794:62;21791:2;;;21859:18;;:::i;:::-;21791:2;21899:10;21895:2;21888:22;21678:238;;;:::o;21922:233::-;21961:3;21984:24;22002:5;21984:24;:::i;:::-;21975:33;;22030:66;22023:5;22020:77;22017:2;;;22100:18;;:::i;:::-;22017:2;22147:1;22140:5;22136:13;22129:20;;21965:190;;;:::o;22161:183::-;22199:3;22222:23;22239:5;22222:23;:::i;:::-;22213:32;;22267:18;22260:5;22257:29;22254:2;;;22289:18;;:::i;:::-;22254:2;22336:1;22329:5;22325:13;22318:20;;22203:141;;;:::o;22350:180::-;22398:77;22395:1;22388:88;22495:4;22492:1;22485:15;22519:4;22516:1;22509:15;22536:180;22584:77;22581:1;22574:88;22681:4;22678:1;22671:15;22705:4;22702:1;22695:15;22722:180;22770:77;22767:1;22760:88;22867:4;22864:1;22857:15;22891:4;22888:1;22881:15;22908:180;22956:77;22953:1;22946:88;23053:4;23050:1;23043:15;23077:4;23074:1;23067:15;23094:117;23203:1;23200;23193:12;23217:117;23326:1;23323;23316:12;23340:117;23449:1;23446;23439:12;23463:117;23572:1;23569;23562:12;23586:102;23627:6;23678:2;23674:7;23669:2;23662:5;23658:14;23654:28;23644:38;;23634:54;;;:::o;23694:229::-;23834:34;23830:1;23822:6;23818:14;23811:58;23903:12;23898:2;23890:6;23886:15;23879:37;23800:123;:::o;23929:221::-;24069:34;24065:1;24057:6;24053:14;24046:58;24138:4;24133:2;24125:6;24121:15;24114:29;24035:115;:::o;24156:182::-;24296:34;24292:1;24284:6;24280:14;24273:58;24262:76;:::o;24344:228::-;24484:34;24480:1;24472:6;24468:14;24461:58;24553:11;24548:2;24540:6;24536:15;24529:36;24450:122;:::o;24578:224::-;24718:34;24714:1;24706:6;24702:14;24695:58;24787:7;24782:2;24774:6;24770:15;24763:32;24684:118;:::o;24808:223::-;24948:34;24944:1;24936:6;24932:14;24925:58;25017:6;25012:2;25004:6;25000:15;24993:31;24914:117;:::o;25037:173::-;25177:25;25173:1;25165:6;25161:14;25154:49;25143:67;:::o;25216:167::-;25356:19;25352:1;25344:6;25340:14;25333:43;25322:61;:::o;25389:122::-;25462:24;25480:5;25462:24;:::i;:::-;25455:5;25452:35;25442:2;;25501:1;25498;25491:12;25442:2;25432:79;:::o;25517:116::-;25587:21;25602:5;25587:21;:::i;:::-;25580:5;25577:32;25567:2;;25623:1;25620;25613:12;25567:2;25557:76;:::o;25639:122::-;25712:24;25730:5;25712:24;:::i;:::-;25705:5;25702:35;25692:2;;25751:1;25748;25741:12;25692:2;25682:79;:::o

Swarm Source

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