Contract 0x11289caed15aae2f5d53dafd44a6d87741daf88b

Txn Hash Method
Block
From
To
Value [Txn Fee]
0xb0bfae3f2be71b76ea156a71bbf5654d121f069848b4cf7860a6037734369f36Approve48177132022-09-26 21:45:40367 days 12 hrs ago0xc572be21d2b6ec7eb8c836e0534de5f36e6b9057 IN  0x11289caed15aae2f5d53dafd44a6d87741daf88b0 CRO0.221599269121 4,911.766759496
0x890cd9a3ea0dc990f0886502efd537ee5829f321f2347427d5de91d16cbab3ea0x6080604048176582022-09-26 21:40:27367 days 12 hrs ago0xc572be21d2b6ec7eb8c836e0534de5f36e6b9057 IN  Create: xVVSB0 CRO19.069189106956 4,912.76928813
[ Download CSV Export 
Parent Txn Hash Block From To Value
Index Block
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
xVVSB

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at cronoscan.com on 2022-09-26
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

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

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

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

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

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);
}

contract xVVSB is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = unicode"VVSBar";
    string private constant _symbol = "xVVS";
    uint8 private constant _decimals = 9;
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _taxFee = 7;
    uint256 private _teamFee = 6;
    mapping(address => bool) private bots;
    mapping(address => uint256) private buycooldown;
    mapping(address => uint256) private sellcooldown;
    mapping(address => uint256) private firstsell;
    mapping(address => uint256) private sellnumber;
    address payable private _teamAddress;
    address payable private _marketingFunds;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private liquidityAdded = false;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor(address payable addr1, address payable addr2) {
        _teamAddress = addr1;
        _marketingFunds = addr2;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_teamAddress] = true;
        _isExcludedFromFee[_marketingFunds] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    
    function liquiditystatus() public view returns (bool) {
        return liquidityAdded;
    }
    function swapstatus() public view returns (bool) {
        return swapEnabled;
    }
    function cooldownStatus() public view returns (bool) {
        return cooldownEnabled;
    }
    function tradingStatus() public view returns (bool) {
        return tradingOpen;
    }
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    
    function excludeFromFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = true;
    }
    
    function includeInFee(address account) public onlyOwner {
        _isExcludedFromFee[account] = false;
    }
    
    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,"ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

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

    function restoreAllFee() private {
        _taxFee = 7;
        _teamFee = 6;
    }
    
    function setFee(uint256 multiplier) private {
        _taxFee = _taxFee * multiplier;
        if (multiplier > 1) {
            _teamFee = 6;
        }
        
    }

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

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

        if (from != owner() && to != owner()) {
            if (cooldownEnabled) {
                if (from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router)) {
                    require(_msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair,"ERR: Uniswap only");
                }
            }
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled) {
                require(tradingOpen);
                require(amount <= _maxTxAmount);
                require(buycooldown[to] < block.timestamp);
                buycooldown[to] = block.timestamp + (30 seconds);
                _teamFee = 6;
                _taxFee = 2;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                require(amount <= balanceOf(uniswapV2Pair).mul(3).div(100) && amount <= _maxTxAmount);
                require(sellcooldown[from] < block.timestamp);
                if(firstsell[from] + (1 days) < block.timestamp){
                    sellnumber[from] = 0;
                }
                if (sellnumber[from] == 0) {
                    sellnumber[from]++;
                    firstsell[from] = block.timestamp;
                    sellcooldown[from] = block.timestamp + (1 hours);
                }
                else if (sellnumber[from] == 1) {
                    sellnumber[from]++;
                    sellcooldown[from] = block.timestamp + (2 hours);
                }
                else if (sellnumber[from] == 2) {
                    sellnumber[from]++;
                    sellcooldown[from] = block.timestamp + (6 hours);
                }
                else if (sellnumber[from] == 3) {
                    sellnumber[from]++;
                    sellcooldown[from] = firstsell[from] + (1 days);
                }
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                setFee(sellnumber[from]);
            }
        }
        bool takeFee = true;

        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }

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

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

    function sendETHToFee(uint256 amount) private {
        _teamAddress.transfer(amount.div(2));
        _marketingFunds.transfer(amount.div(2));
    }
    
    function openTrading() public onlyOwner {
        require(liquidityAdded);
        tradingOpen = true;
    }

    function addLiquidity() external onlyOwner() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x145863Eb42Cf62847A6Ca784e6416C1682b1b2Ae);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        liquidityAdded = true;
        _maxTxAmount = 3000000 * 10**9;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router),type(uint256).max);
    }

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

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

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

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

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

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

    receive() external payable {}

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

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

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

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

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

    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }
}

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquiditystatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapstatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"tradingStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006000196200001c9190620005ef565b6000196200002b919062000576565b600655600760085560066009556000601260146101000a81548160ff0219169083151502179055506000601260156101000a81548160ff0219169083151502179055506000601260166101000a81548160ff0219169083151502179055506000601260176101000a81548160ff0219169083151502179055506000601260186101000a81548160ff021916908315150217905550670de0b6b3a7640000601355348015620000d857600080fd5b50604051620046fd380380620046fd8339818101604052810190620000fe919062000507565b600062000110620004bf60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006546002600062000247620004bf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200029b620004c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000448620004bf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620004af919062000559565b60405180910390a350506200069f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620005018162000685565b92915050565b600080604083850312156200051b57600080fd5b60006200052b85828601620004f0565b92505060206200053e85828601620004f0565b9150509250929050565b6200055381620005e5565b82525050565b600060208201905062000570600083018462000548565b92915050565b60006200058382620005e5565b91506200059083620005e5565b925082821015620005a657620005a562000627565b5b828203905092915050565b6000620005be82620005c5565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620005fc82620005e5565b91506200060983620005e5565b9250826200061c576200061b62000656565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6200069081620005b1565b81146200069c57600080fd5b50565b61404e80620006af6000396000f3fe60806040526004361061014f5760003560e01c8063809157c5116100b6578063d4fb9a011161006f578063d4fb9a0114610455578063d543dbeb14610480578063dd62ed3e146104a9578063e8078d94146104e6578063ea2f0b37146104fd578063f2fde38b1461052657610156565b8063809157c5146103695780638da5cb5b1461039457806395d89b41146103bf578063a9059cbb146103ea578063c3c8cd8014610427578063c9567bf91461043e57610156565b806338727f811161010857806338727f8114610281578063437823ec146102ac5780635932ead1146102d55780636fc3eaec146102fe57806370a0823114610315578063715018a61461035257610156565b806306fdde031461015b578063095ea7b31461018657806318160ddd146101c357806320aadf6c146101ee57806323b872dd14610219578063313ce5671461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b5061017061054f565b60405161017d91906137a1565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190613305565b61058c565b6040516101ba9190613786565b60405180910390f35b3480156101cf57600080fd5b506101d86105aa565b6040516101e59190613943565b60405180910390f35b3480156101fa57600080fd5b506102036105ba565b6040516102109190613786565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b91906132b6565b6105d1565b60405161024d9190613786565b60405180910390f35b34801561026257600080fd5b5061026b6106aa565b60405161027891906139b8565b60405180910390f35b34801561028d57600080fd5b506102966106b3565b6040516102a39190613786565b60405180910390f35b3480156102b857600080fd5b506102d360048036038101906102ce9190613228565b6106ca565b005b3480156102e157600080fd5b506102fc60048036038101906102f79190613341565b6107ba565b005b34801561030a57600080fd5b5061031361086c565b005b34801561032157600080fd5b5061033c60048036038101906103379190613228565b6108de565b6040516103499190613943565b60405180910390f35b34801561035e57600080fd5b5061036761092f565b005b34801561037557600080fd5b5061037e610a82565b60405161038b9190613786565b60405180910390f35b3480156103a057600080fd5b506103a9610a99565b6040516103b691906136b8565b60405180910390f35b3480156103cb57600080fd5b506103d4610ac2565b6040516103e191906137a1565b60405180910390f35b3480156103f657600080fd5b50610411600480360381019061040c9190613305565b610aff565b60405161041e9190613786565b60405180910390f35b34801561043357600080fd5b5061043c610b1d565b005b34801561044a57600080fd5b50610453610b97565b005b34801561046157600080fd5b5061046a610c62565b6040516104779190613786565b60405180910390f35b34801561048c57600080fd5b506104a760048036038101906104a29190613393565b610c79565b005b3480156104b557600080fd5b506104d060048036038101906104cb919061327a565b610dc1565b6040516104dd9190613943565b60405180910390f35b3480156104f257600080fd5b506104fb610e48565b005b34801561050957600080fd5b50610524600480360381019061051f9190613228565b611352565b005b34801561053257600080fd5b5061054d60048036038101906105489190613228565b611442565b005b60606040518060400160405280600681526020017f5656534261720000000000000000000000000000000000000000000000000000815250905090565b60006105a0610599611604565b848461160c565b6001905092915050565b6000670de0b6b3a7640000905090565b6000601260159054906101000a900460ff16905090565b60006105de8484846117d7565b61069f846105ea611604565b61069a85604051806060016040528060288152602001613ff160289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610650611604565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a79092919063ffffffff16565b61160c565b600190509392505050565b60006009905090565b6000601260179054906101000a900460ff16905090565b6106d2611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461075f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610756906138a3565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6107c2611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461084f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610846906138a3565b60405180910390fd5b80601260186101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108ad611604565b73ffffffffffffffffffffffffffffffffffffffff16146108cd57600080fd5b60004790506108db8161260b565b50565b6000610928600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612706565b9050919050565b610937611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb906138a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000601260189054906101000a900460ff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f7856565300000000000000000000000000000000000000000000000000000000815250905090565b6000610b13610b0c611604565b84846117d7565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b5e611604565b73ffffffffffffffffffffffffffffffffffffffff1614610b7e57600080fd5b6000610b89306108de565b9050610b9481612774565b50565b610b9f611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c23906138a3565b60405180910390fd5b601260159054906101000a900460ff16610c4557600080fd5b6001601260146101000a81548160ff021916908315150217905550565b6000601260149054906101000a900460ff16905090565b610c81611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d05906138a3565b60405180910390fd5b60008111610d51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4890613863565b60405180910390fd5b610d7f6064610d7183670de0b6b3a7640000612a6e90919063ffffffff16565b612ae990919063ffffffff16565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601354604051610db69190613943565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e50611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610edd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed4906138a3565b60405180910390fd5b600073145863eb42cf62847a6ca784e6416c1682b1b2ae905080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f6c30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a764000061160c565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610fb257600080fd5b505afa158015610fc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fea9190613251565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561104c57600080fd5b505afa158015611060573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110849190613251565b6040518363ffffffff1660e01b81526004016110a19291906136d3565b602060405180830381600087803b1580156110bb57600080fd5b505af11580156110cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f39190613251565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061117c306108de565b600080611187610a99565b426040518863ffffffff1660e01b81526004016111a996959493929190613725565b6060604051808303818588803b1580156111c257600080fd5b505af11580156111d6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111fb91906133bc565b5050506001601260176101000a81548160ff0219169083151502179055506001601260186101000a81548160ff0219169083151502179055506001601260156101000a81548160ff021916908315150217905550660aa87bee538000601381905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112fc9291906136fc565b602060405180830381600087803b15801561131657600080fd5b505af115801561132a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134e919061336a565b5050565b61135a611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113de906138a3565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61144a611604565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ce906138a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153e90613803565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561167c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167390613903565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e390613823565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117ca9190613943565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183e906138e3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ae906137c3565b60405180910390fd5b600081116118fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f1906138c3565b60405180910390fd5b611902610a99565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119705750611940610a99565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156124e457601260189054906101000a900460ff1615611ba3573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119f257503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a4c5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611aa65750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611ba257601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611aec611604565b73ffffffffffffffffffffffffffffffffffffffff161480611b625750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611b4a611604565b73ffffffffffffffffffffffffffffffffffffffff16145b611ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9890613923565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611c475750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c5057600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611cfb5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611d515750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d695750601260189054906101000a900460ff165b15611e4257601260149054906101000a900460ff16611d8757600080fd5b601354811115611d9657600080fd5b42600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611de157600080fd5b601e42611dee9190613a28565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660098190555060026008819055505b6000611e4d306108de565b9050601260169054906101000a900460ff16158015611eba5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ed25750601260179054906101000a900460ff165b156124e257611f286064611f1a6003611f0c601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166108de565b612a6e90919063ffffffff16565b612ae990919063ffffffff16565b8211158015611f3957506013548211155b611f4257600080fd5b42600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611f8d57600080fd5b4262015180600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fdc9190613a28565b1015612028576000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561215f57600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906120c090613bd7565b919050555042600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e10426121179190613a28565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612477565b6001600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561225257600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906121f790613bd7565b9190505550611c204261220a9190613a28565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612476565b6002600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561234557600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906122ea90613bd7565b9190505550615460426122fd9190613a28565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612475565b6003600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561247457600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906123dd90613bd7565b919050555062015180600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124309190613a28565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b5b61248081612774565b60004790506000811115612498576124974761260b565b5b6124e0600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b33565b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061258b5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561259557600090505b6125a184848484612b5c565b50505050565b60008383111582906125ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e691906137a1565b60405180910390fd5b50600083856125fe9190613b09565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61265b600284612ae990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612686573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6126d7600284612ae990919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612702573d6000803e3d6000fd5b5050565b600060065482111561274d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612744906137e3565b60405180910390fd5b6000612757612b9b565b905061276c8184612ae990919063ffffffff16565b915050919050565b6001601260166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156127d2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156128005781602001602082028036833780820191505090505b509050308160008151811061283e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156128e057600080fd5b505afa1580156128f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129189190613251565b81600181518110612952577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506129b930601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461160c565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612a1d95949392919061395e565b600060405180830381600087803b158015612a3757600080fd5b505af1158015612a4b573d6000803e3d6000fd5b50505050506000601260166101000a81548160ff02191690831515021790555050565b600080831415612a815760009050612ae3565b60008284612a8f9190613aaf565b9050828482612a9e9190613a7e565b14612ade576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ad590613883565b60405180910390fd5b809150505b92915050565b6000612b2b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bc6565b905092915050565b80600854612b419190613aaf565b6008819055506001811115612b595760066009819055505b50565b80612b6a57612b69612c29565b5b612b75848484612c5a565b80612b8357612b82612b89565b5b50505050565b60076008819055506006600981905550565b6000806000612ba8612e25565b91509150612bbf8183612ae990919063ffffffff16565b9250505090565b60008083118290612c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0491906137a1565b60405180910390fd5b5060008385612c1c9190613a7e565b9050809150509392505050565b6000600854148015612c3d57506000600954145b15612c4757612c58565b600060088190555060006009819055505b565b600080600080600080612c6c87612e84565b955095509550955095509550612cca86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612eec90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d5f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f3690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612dab81612f94565b612db58483613051565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612e129190613943565b60405180910390a3505050505050505050565b600080600060065490506000670de0b6b3a76400009050612e59670de0b6b3a7640000600654612ae990919063ffffffff16565b821015612e7757600654670de0b6b3a7640000935093505050612e80565b81819350935050505b9091565b6000806000806000806000806000612ea18a60085460095461308b565b9250925092506000612eb1612b9b565b90506000806000612ec48e878787613121565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612f2e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125a7565b905092915050565b6000808284612f459190613a28565b905083811015612f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f8190613843565b60405180910390fd5b8091505092915050565b6000612f9e612b9b565b90506000612fb58284612a6e90919063ffffffff16565b905061300981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f3690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61306682600654612eec90919063ffffffff16565b60068190555061308181600754612f3690919063ffffffff16565b6007819055505050565b6000806000806130b760646130a9888a612a6e90919063ffffffff16565b612ae990919063ffffffff16565b905060006130e160646130d3888b612a6e90919063ffffffff16565b612ae990919063ffffffff16565b9050600061310a826130fc858c612eec90919063ffffffff16565b612eec90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061313a8589612a6e90919063ffffffff16565b905060006131518689612a6e90919063ffffffff16565b905060006131688789612a6e90919063ffffffff16565b90506000613191826131838587612eec90919063ffffffff16565b612eec90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506131b981613fab565b92915050565b6000815190506131ce81613fab565b92915050565b6000813590506131e381613fc2565b92915050565b6000815190506131f881613fc2565b92915050565b60008135905061320d81613fd9565b92915050565b60008151905061322281613fd9565b92915050565b60006020828403121561323a57600080fd5b6000613248848285016131aa565b91505092915050565b60006020828403121561326357600080fd5b6000613271848285016131bf565b91505092915050565b6000806040838503121561328d57600080fd5b600061329b858286016131aa565b92505060206132ac858286016131aa565b9150509250929050565b6000806000606084860312156132cb57600080fd5b60006132d9868287016131aa565b93505060206132ea868287016131aa565b92505060406132fb868287016131fe565b9150509250925092565b6000806040838503121561331857600080fd5b6000613326858286016131aa565b9250506020613337858286016131fe565b9150509250929050565b60006020828403121561335357600080fd5b6000613361848285016131d4565b91505092915050565b60006020828403121561337c57600080fd5b600061338a848285016131e9565b91505092915050565b6000602082840312156133a557600080fd5b60006133b3848285016131fe565b91505092915050565b6000806000606084860312156133d157600080fd5b60006133df86828701613213565b93505060206133f086828701613213565b925050604061340186828701613213565b9150509250925092565b60006134178383613423565b60208301905092915050565b61342c81613b3d565b82525050565b61343b81613b3d565b82525050565b600061344c826139e3565b6134568185613a06565b9350613461836139d3565b8060005b83811015613492578151613479888261340b565b9750613484836139f9565b925050600181019050613465565b5085935050505092915050565b6134a881613b4f565b82525050565b6134b781613b92565b82525050565b60006134c8826139ee565b6134d28185613a17565b93506134e2818560208601613ba4565b6134eb81613c7e565b840191505092915050565b6000613503602383613a17565b915061350e82613c8f565b604082019050919050565b6000613526602a83613a17565b915061353182613cde565b604082019050919050565b6000613549602683613a17565b915061355482613d2d565b604082019050919050565b600061356c602283613a17565b915061357782613d7c565b604082019050919050565b600061358f601b83613a17565b915061359a82613dcb565b602082019050919050565b60006135b2601d83613a17565b91506135bd82613df4565b602082019050919050565b60006135d5602183613a17565b91506135e082613e1d565b604082019050919050565b60006135f8602083613a17565b915061360382613e6c565b602082019050919050565b600061361b602983613a17565b915061362682613e95565b604082019050919050565b600061363e602583613a17565b915061364982613ee4565b604082019050919050565b6000613661602483613a17565b915061366c82613f33565b604082019050919050565b6000613684601183613a17565b915061368f82613f82565b602082019050919050565b6136a381613b7b565b82525050565b6136b281613b85565b82525050565b60006020820190506136cd6000830184613432565b92915050565b60006040820190506136e86000830185613432565b6136f56020830184613432565b9392505050565b60006040820190506137116000830185613432565b61371e602083018461369a565b9392505050565b600060c08201905061373a6000830189613432565b613747602083018861369a565b61375460408301876134ae565b61376160608301866134ae565b61376e6080830185613432565b61377b60a083018461369a565b979650505050505050565b600060208201905061379b600083018461349f565b92915050565b600060208201905081810360008301526137bb81846134bd565b905092915050565b600060208201905081810360008301526137dc816134f6565b9050919050565b600060208201905081810360008301526137fc81613519565b9050919050565b6000602082019050818103600083015261381c8161353c565b9050919050565b6000602082019050818103600083015261383c8161355f565b9050919050565b6000602082019050818103600083015261385c81613582565b9050919050565b6000602082019050818103600083015261387c816135a5565b9050919050565b6000602082019050818103600083015261389c816135c8565b9050919050565b600060208201905081810360008301526138bc816135eb565b9050919050565b600060208201905081810360008301526138dc8161360e565b9050919050565b600060208201905081810360008301526138fc81613631565b9050919050565b6000602082019050818103600083015261391c81613654565b9050919050565b6000602082019050818103600083015261393c81613677565b9050919050565b6000602082019050613958600083018461369a565b92915050565b600060a082019050613973600083018861369a565b61398060208301876134ae565b81810360408301526139928186613441565b90506139a16060830185613432565b6139ae608083018461369a565b9695505050505050565b60006020820190506139cd60008301846136a9565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613a3382613b7b565b9150613a3e83613b7b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613a7357613a72613c20565b5b828201905092915050565b6000613a8982613b7b565b9150613a9483613b7b565b925082613aa457613aa3613c4f565b5b828204905092915050565b6000613aba82613b7b565b9150613ac583613b7b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613afe57613afd613c20565b5b828202905092915050565b6000613b1482613b7b565b9150613b1f83613b7b565b925082821015613b3257613b31613c20565b5b828203905092915050565b6000613b4882613b5b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613b9d82613b7b565b9050919050565b60005b83811015613bc2578082015181840152602081019050613ba7565b83811115613bd1576000848401525b50505050565b6000613be282613b7b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613c1557613c14613c20565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b613fb481613b3d565b8114613fbf57600080fd5b50565b613fcb81613b4f565b8114613fd657600080fd5b50565b613fe281613b7b565b8114613fed57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f6faeb818af5cf08ed1e59298a9f0fa1595502272a1615af2d190245517b765d64736f6c63430008040033000000000000000000000000ceace8fd249318fa0ef46aa5e4c429f87dad8b40000000000000000000000000ceace8fd249318fa0ef46aa5e4c429f87dad8b40

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

000000000000000000000000ceace8fd249318fa0ef46aa5e4c429f87dad8b40000000000000000000000000ceace8fd249318fa0ef46aa5e4c429f87dad8b40

-----Decoded View---------------
Arg [0] : addr1 (address): 0xceace8fd249318fa0ef46aa5e4c429f87dad8b40
Arg [1] : addr2 (address): 0xceace8fd249318fa0ef46aa5e4c429f87dad8b40

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


Deployed ByteCode Sourcemap

3791:12984:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5779:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7271:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6447:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6060:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7440:310;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5965:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6160:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6554:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7758:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13477:191;;;;;;;;;;;;;:::i;:::-;;6799:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2588:148;;;;;;;;;;;;;:::i;:::-;;6252:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2374:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5870:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6945:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13277:192;;;;;;;;;;;;;:::i;:::-;;12390:111;;;;;;;;;;;;;:::i;:::-;;6352:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16517:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7120:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12509:760;;;;;;;;;;;;;:::i;:::-;;6677:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2748:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5779:83;5816:13;5849:5;;;;;;;;;;;;;;;;;5842:12;;5779:83;:::o;7271:161::-;7346:4;7363:39;7372:12;:10;:12::i;:::-;7386:7;7395:6;7363:8;:39::i;:::-;7420:4;7413:11;;7271:161;;;;:::o;6447:95::-;6500:7;4334:18;6520:14;;6447:95;:::o;6060:94::-;6108:4;6132:14;;;;;;;;;;;6125:21;;6060:94;:::o;7440:310::-;7538:4;7555:36;7565:6;7573:9;7584:6;7555:9;:36::i;:::-;7602:118;7611:6;7618:12;:10;:12::i;:::-;7631:88;7669:6;7631:88;;;;;;;;;;;;;;;;;:11;:19;7643:6;7631:19;;;;;;;;;;;;;;;:33;7651:12;:10;:12::i;:::-;7631:33;;;;;;;;;;;;;;;;:37;;:88;;;;;:::i;:::-;7602:8;:118::i;:::-;7738:4;7731:11;;7440:310;;;;;:::o;5965:83::-;6006:5;4010:1;6024:16;;5965:83;:::o;6160:86::-;6203:4;6227:11;;;;;;;;;;;6220:18;;6160:86;:::o;6554:111::-;2511:12;:10;:12::i;:::-;2501:22;;:6;;;;;;;;;;:22;;;2493:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6653:4:::1;6623:18;:27;6642:7;6623:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;6554:111:::0;:::o;7758:103::-;2511:12;:10;:12::i;:::-;2501:22;;:6;;;;;;;;;;:22;;;2493:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7848:5:::1;7830:15;;:23;;;;;;;;;;;;;;;;;;7758:103:::0;:::o;13477:191::-;13543:12;;;;;;;;;;;13527:28;;:12;:10;:12::i;:::-;:28;;;13519:37;;;;;;13567:26;13596:21;13567:50;;13628:32;13641:18;13628:12;:32::i;:::-;13477:191;:::o;6799:138::-;6865:7;6892:37;6912:7;:16;6920:7;6912:16;;;;;;;;;;;;;;;;6892:19;:37::i;:::-;6885:44;;6799:138;;;:::o;2588:148::-;2511:12;:10;:12::i;:::-;2501:22;;:6;;;;;;;;;;:22;;;2493:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2695:1:::1;2658:40;;2679:6;::::0;::::1;;;;;;;;2658:40;;;;;;;;;;;;2726:1;2709:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2588:148::o:0;6252:94::-;6299:4;6323:15;;;;;;;;;;;6316:22;;6252:94;:::o;2374:79::-;2412:7;2439:6;;;;;;;;;;;2432:13;;2374:79;:::o;5870:87::-;5909:13;5942:7;;;;;;;;;;;;;;;;;5935:14;;5870:87;:::o;6945:167::-;7023:4;7040:42;7050:12;:10;:12::i;:::-;7064:9;7075:6;7040:9;:42::i;:::-;7100:4;7093:11;;6945:167;;;;:::o;13277:192::-;13343:12;;;;;;;;;;;13327:28;;:12;:10;:12::i;:::-;:28;;;13319:37;;;;;;13367:23;13393:24;13411:4;13393:9;:24::i;:::-;13367:50;;13428:33;13445:15;13428:16;:33::i;:::-;13277:192;:::o;12390:111::-;2511:12;:10;:12::i;:::-;2501:22;;:6;;;;;;;;;;:22;;;2493:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12449:14:::1;;;;;;;;;;;12441:23;;;::::0;::::1;;12489:4;12475:11;;:18;;;;;;;;;;;;;;;;;;12390:111::o:0;6352:89::-;6398:4;6422:11;;;;;;;;;;;6415:18;;6352:89;:::o;16517:255::-;2511:12;:10;:12::i;:::-;2501:22;;:6;;;;;;;;;;:22;;;2493:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16619:1:::1;16604:12;:16;16596:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;16680:36;16710:5;16680:25;16692:12;4334:18;16680:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;16665:12;:51;;;;16732:32;16751:12;;16732:32;;;;;;:::i;:::-;;;;;;;;16517:255:::0;:::o;7120:143::-;7201:7;7228:11;:18;7240:5;7228:18;;;;;;;;;;;;;;;:27;7247:7;7228:27;;;;;;;;;;;;;;;;7221:34;;7120:143;;;;:::o;12509:760::-;2511:12;:10;:12::i;:::-;2501:22;;:6;;;;;;;;;;:22;;;2493:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12565:35:::1;12622:42;12565:100;;12694:16;12676:15;;:34;;;;;;;;;;;;;;;;;;12721:58;12738:4;12753:15;;;;;;;;;;;4334:18;12721:8;:58::i;:::-;12824:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12806:56;;;12871:4;12878:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12806:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12790:13;;:112;;;;;;;;;;;;;;;;;;12913:15;;;;;;;;;;;:31;;;12952:21;12983:4;12989:24;13007:4;12989:9;:24::i;:::-;13014:1;13016::::0;13018:7:::1;:5;:7::i;:::-;13026:15;12913:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13067:4;13053:11;;:18;;;;;;;;;;;;;;;;;;13100:4;13082:15;;:22;;;;;;;;;;;;;;;;;;13132:4;13115:14;;:21;;;;;;;;;;;;;;;;;;13162:15;13147:12;:30;;;;13195:13;;;;;;;;;;;13188:29;;;13226:15;;;;;;;;;;;13243:17;13188:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2571:1;12509:760::o:0;6677:110::-;2511:12;:10;:12::i;:::-;2501:22;;:6;;;;;;;;;;:22;;;2493:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6774:5:::1;6744:18;:27;6763:7;6744:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;6677:110:::0;:::o;2748:244::-;2511:12;:10;:12::i;:::-;2501:22;;:6;;;;;;;;;;:22;;;2493:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2857:1:::1;2837:22;;:8;:22;;;;2829:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2947:8;2918:38;;2939:6;::::0;::::1;;;;;;;;2918:38;;;;;;;;;;;;2976:8;2967:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2748:244:::0;:::o;95:98::-;148:7;175:10;168:17;;95:98;:::o;8557:335::-;8667:1;8650:19;;:5;:19;;;;8642:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8748:1;8729:21;;:7;:21;;;;8721:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8830:6;8800:11;:18;8812:5;8800:18;;;;;;;;;;;;;;;:27;8819:7;8800:27;;;;;;;;;;;;;;;:36;;;;8868:7;8852:32;;8861:5;8852:32;;;8877:6;8852:32;;;;;;:::i;:::-;;;;;;;;8557:335;;;:::o;8900:2904::-;9004:1;8988:18;;:4;:18;;;;8980:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9081:1;9067:16;;:2;:16;;;;9059:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9151:1;9142:6;:10;9134:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9223:7;:5;:7::i;:::-;9215:15;;:4;:15;;;;:32;;;;;9240:7;:5;:7::i;:::-;9234:13;;:2;:13;;;;9215:32;9211:2368;;;9268:15;;;;;;;;;;;9264:320;;;9324:4;9308:21;;:4;:21;;;;:44;;;;;9347:4;9333:19;;:2;:19;;;;9308:44;:80;;;;;9372:15;;;;;;;;;;;9356:32;;:4;:32;;;;9308:80;:114;;;;;9406:15;;;;;;;;;;;9392:30;;:2;:30;;;;9308:114;9304:265;;;9479:15;;;;;;;;;;;9455:40;;:12;:10;:12::i;:::-;:40;;;:73;;;;9515:13;;;;;;;;;;;9499:29;;:12;:10;:12::i;:::-;:29;;;9455:73;9447:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;9304:265;9264:320;9607:4;:10;9612:4;9607:10;;;;;;;;;;;;;;;;;;;;;;;;;9606:11;:24;;;;;9622:4;:8;9627:2;9622:8;;;;;;;;;;;;;;;;;;;;;;;;;9621:9;9606:24;9598:33;;;;;;9658:13;;;;;;;;;;;9650:21;;:4;:21;;;:55;;;;;9689:15;;;;;;;;;;;9675:30;;:2;:30;;;;9650:55;:82;;;;;9710:18;:22;9729:2;9710:22;;;;;;;;;;;;;;;;;;;;;;;;;9709:23;9650:82;:101;;;;;9736:15;;;;;;;;;;;9650:101;9646:401;;;9780:11;;;;;;;;;;;9772:20;;;;;;9829:12;;9819:6;:22;;9811:31;;;;;;9887:15;9869:11;:15;9881:2;9869:15;;;;;;;;;;;;;;;;:33;9861:42;;;;;;9959:10;9940:15;:30;;;;:::i;:::-;9922:11;:15;9934:2;9922:15;;;;;;;;;;;;;;;:48;;;;10000:1;9989:8;:12;;;;10030:1;10020:7;:11;;;;9646:401;10061:28;10092:24;10110:4;10092:9;:24::i;:::-;10061:55;;10136:6;;;;;;;;;;;10135:7;:32;;;;;10154:13;;;;;;;;;;;10146:21;;:4;:21;;;;10135:32;:47;;;;;10171:11;;;;;;;;;;;10135:47;10131:1437;;;10221:40;10257:3;10221:31;10250:1;10221:24;10231:13;;;;;;;;;;;10221:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;10211:6;:50;;:76;;;;;10275:12;;10265:6;:22;;10211:76;10203:85;;;;;;10336:15;10315:12;:18;10328:4;10315:18;;;;;;;;;;;;;;;;:36;10307:45;;;;;;10403:15;10393:6;10374:9;:15;10384:4;10374:15;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;:44;10371:111;;;10461:1;10442:10;:16;10453:4;10442:16;;;;;;;;;;;;;;;:20;;;;10371:111;10524:1;10504:10;:16;10515:4;10504:16;;;;;;;;;;;;;;;;:21;10500:760;;;10550:10;:16;10561:4;10550:16;;;;;;;;;;;;;;;;:18;;;;;;;;;:::i;:::-;;;;;;10609:15;10591:9;:15;10601:4;10591:15;;;;;;;;;;;;;;;:33;;;;10687:7;10668:15;:27;;;;:::i;:::-;10647:12;:18;10660:4;10647:18;;;;;;;;;;;;;;;:48;;;;10500:760;;;10762:1;10742:10;:16;10753:4;10742:16;;;;;;;;;;;;;;;;:21;10738:522;;;10788:10;:16;10799:4;10788:16;;;;;;;;;;;;;;;;:18;;;;;;;;;:::i;:::-;;;;;;10869:7;10850:15;:27;;;;:::i;:::-;10829:12;:18;10842:4;10829:18;;;;;;;;;;;;;;;:48;;;;10738:522;;;10944:1;10924:10;:16;10935:4;10924:16;;;;;;;;;;;;;;;;:21;10920:340;;;10970:10;:16;10981:4;10970:16;;;;;;;;;;;;;;;;:18;;;;;;;;;:::i;:::-;;;;;;11051:7;11032:15;:27;;;;:::i;:::-;11011:12;:18;11024:4;11011:18;;;;;;;;;;;;;;;:48;;;;10920:340;;;11126:1;11106:10;:16;11117:4;11106:16;;;;;;;;;;;;;;;;:21;11102:158;;;11152:10;:16;11163:4;11152:16;;;;;;;;;;;;;;;;:18;;;;;;;;;:::i;:::-;;;;;;11233:6;11214:9;:15;11224:4;11214:15;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;11193:12;:18;11206:4;11193:18;;;;;;;;;;;;;;;:47;;;;11102:158;10920:340;10738:522;10500:760;11278:38;11295:20;11278:16;:38::i;:::-;11335:26;11364:21;11335:50;;11429:1;11408:18;:22;11404:106;;;11455:35;11468:21;11455:12;:35::i;:::-;11404:106;11528:24;11535:10;:16;11546:4;11535:16;;;;;;;;;;;;;;;;11528:6;:24::i;:::-;10131:1437;;9211:2368;;11589:12;11604:4;11589:19;;11625:18;:24;11644:4;11625:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11653:18;:22;11672:2;11653:22;;;;;;;;;;;;;;;;;;;;;;;;;11625:50;11621:98;;;11702:5;11692:15;;11621:98;11731:41;11746:4;11752:2;11756:6;11764:7;11731:14;:41::i;:::-;8900:2904;;;;:::o;1232:190::-;1318:7;1351:1;1346;:6;;1354:12;1338:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1378:9;1394:1;1390;:5;;;;:::i;:::-;1378:17;;1413:1;1406:8;;;1232:190;;;;;:::o;12227:151::-;12284:12;;;;;;;;;;;:21;;:36;12306:13;12317:1;12306:6;:10;;:13;;;;:::i;:::-;12284:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12331:15;;;;;;;;;;;:24;;:39;12356:13;12367:1;12356:6;:10;;:13;;;;:::i;:::-;12331:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12227:151;:::o;7869:253::-;7937:7;7976;;7965;:18;;7957:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;8040:19;8062:10;:8;:10::i;:::-;8040:32;;8090:24;8102:11;8090:7;:11;;:24;;;;:::i;:::-;8083:31;;;7869:253;;;:::o;11812:407::-;5285:4;5276:6;;:13;;;;;;;;;;;;;;;;;;11890:21:::1;11928:1;11914:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11890:40;;11959:4;11941;11946:1;11941:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;11985:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11975:4;11980:1;11975:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;12018:62;12035:4;12050:15;;;;;;;;;;;12068:11;12018:8;:62::i;:::-;12091:15;;;;;;;;;;;:66;;;12158:11;12171:1;12174:4;12188;12195:15;12091:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5300:1;5321:5:::0;5312:6;;:14;;;;;;;;;;;;;;;;;;11812:407;:::o;1430:246::-;1488:7;1517:1;1512;:6;1508:47;;;1542:1;1535:8;;;;1508:47;1565:9;1581:1;1577;:5;;;;:::i;:::-;1565:17;;1610:1;1605;1601;:5;;;;:::i;:::-;:10;1593:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1667:1;1660:8;;;1430:246;;;;;:::o;1684:132::-;1742:7;1769:39;1773:1;1776;1769:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1762:46;;1684:132;;;;:::o;8377:172::-;8452:10;8442:7;;:20;;;;:::i;:::-;8432:7;:30;;;;8490:1;8477:10;:14;8473:59;;;8519:1;8508:8;:12;;;;8473:59;8377:172;:::o;13676:239::-;13789:7;13784:28;;13798:14;:12;:14::i;:::-;13784:28;13823:44;13841:6;13849:9;13860:6;13823:17;:44::i;:::-;13883:7;13878:29;;13892:15;:13;:15::i;:::-;13878:29;13676:239;;;;:::o;8279:86::-;8333:1;8323:7;:11;;;;8356:1;8345:8;:12;;;;8279:86::o;16080:164::-;16122:7;16143:15;16160;16179:19;:17;:19::i;:::-;16142:56;;;;16216:20;16228:7;16216;:11;;:20;;;;:::i;:::-;16209:27;;;;16080:164;:::o;1824:189::-;1910:7;1942:1;1938;:5;1945:12;1930:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1969:9;1985:1;1981;:5;;;;:::i;:::-;1969:17;;2004:1;1997:8;;;1824:189;;;;;:::o;8134:137::-;8192:1;8181:7;;:12;:29;;;;;8209:1;8197:8;;:13;8181:29;8177:42;;;8212:7;;8177:42;8239:1;8229:7;:11;;;;8262:1;8251:8;:12;;;;8134:137;:::o;13923:487::-;14022:15;14039:23;14064:12;14078:23;14103:12;14117:13;14134:19;14145:7;14134:10;:19::i;:::-;14021:132;;;;;;;;;;;;14182:28;14202:7;14182;:15;14190:6;14182:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14164:7;:15;14172:6;14164:15;;;;;;;;;;;;;;;:46;;;;14242:39;14265:15;14242:7;:18;14250:9;14242:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14221:7;:18;14229:9;14221:18;;;;;;;;;;;;;;;:60;;;;14292:16;14302:5;14292:9;:16::i;:::-;14319:23;14331:4;14337;14319:11;:23::i;:::-;14375:9;14358:44;;14367:6;14358:44;;;14386:15;14358:44;;;;;;:::i;:::-;;;;;;;;13923:487;;;;;;;;;:::o;16252:257::-;16303:7;16312;16332:15;16350:7;;16332:25;;16368:15;4334:18;16368:25;;16418:20;4334:18;16418:7;;:11;;:20;;;;:::i;:::-;16408:7;:30;16404:61;;;16448:7;;4334:18;16440:25;;;;;;;;16404:61;16484:7;16493;16476:25;;;;;;16252:257;;;:::o;14829:467::-;14888:7;14897;14906;14915;14924;14933;14954:23;14979:12;14993:13;15010:39;15022:7;15031;;15040:8;;15010:11;:39::i;:::-;14953:96;;;;;;15060:19;15082:10;:8;:10::i;:::-;15060:32;;15104:15;15121:23;15146:12;15162:46;15174:7;15183:4;15189:5;15196:11;15162;:46::i;:::-;15103:105;;;;;;15227:7;15236:15;15253:4;15259:15;15276:4;15282:5;15219:69;;;;;;;;;;;;;;;;;;;14829:467;;;;;;;:::o;1088:136::-;1146:7;1173:43;1177:1;1180;1173:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1166:50;;1088:136;;;;:::o;901:179::-;959:7;979:9;995:1;991;:5;;;;:::i;:::-;979:17;;1020:1;1015;:6;;1007:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1071:1;1064:8;;;901:179;;;;:::o;14418:211::-;14471:19;14493:10;:8;:10::i;:::-;14471:32;;14514:13;14530:22;14540:11;14530:5;:9;;:22;;;;:::i;:::-;14514:38;;14588:33;14615:5;14588:7;:22;14604:4;14588:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14563:7;:22;14579:4;14563:22;;;;;;;;;;;;;;;:58;;;;14418:211;;;:::o;14637:147::-;14715:17;14727:4;14715:7;;:11;;:17;;;;:::i;:::-;14705:7;:27;;;;14756:20;14771:4;14756:10;;:14;;:20;;;;:::i;:::-;14743:10;:33;;;;14637:147;;:::o;15304:351::-;15397:7;15406;15415;15435:12;15450:28;15474:3;15450:19;15462:6;15450:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15435:43;;15489:13;15505:29;15530:3;15505:20;15517:7;15505;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15489:45;;15545:23;15571:28;15593:5;15571:17;15583:4;15571:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15545:54;;15618:15;15635:4;15641:5;15610:37;;;;;;;;;15304:351;;;;;;;:::o;15663:409::-;15773:7;15782;15791;15811:15;15829:24;15841:11;15829:7;:11;;:24;;;;:::i;:::-;15811:42;;15864:12;15879:21;15888:11;15879:4;:8;;:21;;;;:::i;:::-;15864:36;;15911:13;15927:22;15937:11;15927:5;:9;;:22;;;;:::i;:::-;15911:38;;15960:23;15986:28;16008:5;15986:17;15998:4;15986:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15960:54;;16033:7;16042:15;16059:4;16025:39;;;;;;;;;;15663:409;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:262::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;1001:1;998;991:12;953:2;1044:1;1069:53;1114:7;1105:6;1094:9;1090:22;1069:53;:::i;:::-;1059:63;;1015:117;943:196;;;;:::o;1145:284::-;1215:6;1264:2;1252:9;1243:7;1239:23;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1323:1;1348:64;1404:7;1395:6;1384:9;1380:22;1348:64;:::i;:::-;1338:74;;1294:128;1222:207;;;;:::o;1435:407::-;1503:6;1511;1560:2;1548:9;1539:7;1535:23;1531:32;1528:2;;;1576:1;1573;1566:12;1528:2;1619:1;1644:53;1689:7;1680:6;1669:9;1665:22;1644:53;:::i;:::-;1634:63;;1590:117;1746:2;1772:53;1817:7;1808:6;1797:9;1793:22;1772:53;:::i;:::-;1762:63;;1717:118;1518:324;;;;;:::o;1848:552::-;1925:6;1933;1941;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2049:1;2074:53;2119:7;2110:6;2099:9;2095:22;2074:53;:::i;:::-;2064:63;;2020:117;2176:2;2202:53;2247:7;2238:6;2227:9;2223:22;2202:53;:::i;:::-;2192:63;;2147:118;2304:2;2330:53;2375:7;2366:6;2355:9;2351:22;2330:53;:::i;:::-;2320:63;;2275:118;1948:452;;;;;:::o;2406:407::-;2474:6;2482;2531:2;2519:9;2510:7;2506:23;2502:32;2499:2;;;2547:1;2544;2537:12;2499:2;2590:1;2615:53;2660:7;2651:6;2640:9;2636:22;2615:53;:::i;:::-;2605:63;;2561:117;2717:2;2743:53;2788:7;2779:6;2768:9;2764:22;2743:53;:::i;:::-;2733:63;;2688:118;2489:324;;;;;:::o;2819:256::-;2875:6;2924:2;2912:9;2903:7;2899:23;2895:32;2892:2;;;2940:1;2937;2930:12;2892:2;2983:1;3008:50;3050:7;3041:6;3030:9;3026:22;3008:50;:::i;:::-;2998:60;;2954:114;2882:193;;;;:::o;3081:278::-;3148:6;3197:2;3185:9;3176:7;3172:23;3168:32;3165:2;;;3213:1;3210;3203:12;3165:2;3256:1;3281:61;3334:7;3325:6;3314:9;3310:22;3281:61;:::i;:::-;3271:71;;3227:125;3155:204;;;;:::o;3365:262::-;3424:6;3473:2;3461:9;3452:7;3448:23;3444:32;3441:2;;;3489:1;3486;3479:12;3441:2;3532:1;3557:53;3602:7;3593:6;3582:9;3578:22;3557:53;:::i;:::-;3547:63;;3503:117;3431:196;;;;:::o;3633:596::-;3721:6;3729;3737;3786:2;3774:9;3765:7;3761:23;3757:32;3754:2;;;3802:1;3799;3792:12;3754:2;3845:1;3870:64;3926:7;3917:6;3906:9;3902:22;3870:64;:::i;:::-;3860:74;;3816:128;3983:2;4009:64;4065:7;4056:6;4045:9;4041:22;4009:64;:::i;:::-;3999:74;;3954:129;4122:2;4148:64;4204:7;4195:6;4184:9;4180:22;4148:64;:::i;:::-;4138:74;;4093:129;3744:485;;;;;:::o;4235:179::-;4304:10;4325:46;4367:3;4359:6;4325:46;:::i;:::-;4403:4;4398:3;4394:14;4380:28;;4315:99;;;;:::o;4420:108::-;4497:24;4515:5;4497:24;:::i;:::-;4492:3;4485:37;4475:53;;:::o;4534:118::-;4621:24;4639:5;4621:24;:::i;:::-;4616:3;4609:37;4599:53;;:::o;4688:732::-;4807:3;4836:54;4884:5;4836:54;:::i;:::-;4906:86;4985:6;4980:3;4906:86;:::i;:::-;4899:93;;5016:56;5066:5;5016:56;:::i;:::-;5095:7;5126:1;5111:284;5136:6;5133:1;5130:13;5111:284;;;5212:6;5206:13;5239:63;5298:3;5283:13;5239:63;:::i;:::-;5232:70;;5325:60;5378:6;5325:60;:::i;:::-;5315:70;;5171:224;5158:1;5155;5151:9;5146:14;;5111:284;;;5115:14;5411:3;5404:10;;4812:608;;;;;;;:::o;5426:109::-;5507:21;5522:5;5507:21;:::i;:::-;5502:3;5495:34;5485:50;;:::o;5541:147::-;5636:45;5675:5;5636:45;:::i;:::-;5631:3;5624:58;5614:74;;:::o;5694:364::-;5782:3;5810:39;5843:5;5810:39;:::i;:::-;5865:71;5929:6;5924:3;5865:71;:::i;:::-;5858:78;;5945:52;5990:6;5985:3;5978:4;5971:5;5967:16;5945:52;:::i;:::-;6022:29;6044:6;6022:29;:::i;:::-;6017:3;6013:39;6006:46;;5786:272;;;;;:::o;6064:366::-;6206:3;6227:67;6291:2;6286:3;6227:67;:::i;:::-;6220:74;;6303:93;6392:3;6303:93;:::i;:::-;6421:2;6416:3;6412:12;6405:19;;6210:220;;;:::o;6436:366::-;6578:3;6599:67;6663:2;6658:3;6599:67;:::i;:::-;6592:74;;6675:93;6764:3;6675:93;:::i;:::-;6793:2;6788:3;6784:12;6777:19;;6582:220;;;:::o;6808:366::-;6950:3;6971:67;7035:2;7030:3;6971:67;:::i;:::-;6964:74;;7047:93;7136:3;7047:93;:::i;:::-;7165:2;7160:3;7156:12;7149:19;;6954:220;;;:::o;7180:366::-;7322:3;7343:67;7407:2;7402:3;7343:67;:::i;:::-;7336:74;;7419:93;7508:3;7419:93;:::i;:::-;7537:2;7532:3;7528:12;7521:19;;7326:220;;;:::o;7552:366::-;7694:3;7715:67;7779:2;7774:3;7715:67;:::i;:::-;7708:74;;7791:93;7880:3;7791:93;:::i;:::-;7909:2;7904:3;7900:12;7893:19;;7698:220;;;:::o;7924:366::-;8066:3;8087:67;8151:2;8146:3;8087:67;:::i;:::-;8080:74;;8163:93;8252:3;8163:93;:::i;:::-;8281:2;8276:3;8272:12;8265:19;;8070:220;;;:::o;8296:366::-;8438:3;8459:67;8523:2;8518:3;8459:67;:::i;:::-;8452:74;;8535:93;8624:3;8535:93;:::i;:::-;8653:2;8648:3;8644:12;8637:19;;8442:220;;;:::o;8668:366::-;8810:3;8831:67;8895:2;8890:3;8831:67;:::i;:::-;8824:74;;8907:93;8996:3;8907:93;:::i;:::-;9025:2;9020:3;9016:12;9009:19;;8814:220;;;:::o;9040:366::-;9182:3;9203:67;9267:2;9262:3;9203:67;:::i;:::-;9196:74;;9279:93;9368:3;9279:93;:::i;:::-;9397:2;9392:3;9388:12;9381:19;;9186:220;;;:::o;9412:366::-;9554:3;9575:67;9639:2;9634:3;9575:67;:::i;:::-;9568:74;;9651:93;9740:3;9651:93;:::i;:::-;9769:2;9764:3;9760:12;9753:19;;9558:220;;;:::o;9784:366::-;9926:3;9947:67;10011:2;10006:3;9947:67;:::i;:::-;9940:74;;10023:93;10112:3;10023:93;:::i;:::-;10141:2;10136:3;10132:12;10125:19;;9930:220;;;:::o;10156:366::-;10298:3;10319:67;10383:2;10378:3;10319:67;:::i;:::-;10312:74;;10395:93;10484:3;10395:93;:::i;:::-;10513:2;10508:3;10504:12;10497:19;;10302:220;;;:::o;10528:118::-;10615:24;10633:5;10615:24;:::i;:::-;10610:3;10603:37;10593:53;;:::o;10652:112::-;10735:22;10751:5;10735:22;:::i;:::-;10730:3;10723:35;10713:51;;:::o;10770:222::-;10863:4;10901:2;10890:9;10886:18;10878:26;;10914:71;10982:1;10971:9;10967:17;10958:6;10914:71;:::i;:::-;10868:124;;;;:::o;10998:332::-;11119:4;11157:2;11146:9;11142:18;11134:26;;11170:71;11238:1;11227:9;11223:17;11214:6;11170:71;:::i;:::-;11251:72;11319:2;11308:9;11304:18;11295:6;11251:72;:::i;:::-;11124:206;;;;;:::o;11336:332::-;11457:4;11495:2;11484:9;11480:18;11472:26;;11508:71;11576:1;11565:9;11561:17;11552:6;11508:71;:::i;:::-;11589:72;11657:2;11646:9;11642:18;11633:6;11589:72;:::i;:::-;11462:206;;;;;:::o;11674:807::-;11923:4;11961:3;11950:9;11946:19;11938:27;;11975:71;12043:1;12032:9;12028:17;12019:6;11975:71;:::i;:::-;12056:72;12124:2;12113:9;12109:18;12100:6;12056:72;:::i;:::-;12138:80;12214:2;12203:9;12199:18;12190:6;12138:80;:::i;:::-;12228;12304:2;12293:9;12289:18;12280:6;12228:80;:::i;:::-;12318:73;12386:3;12375:9;12371:19;12362:6;12318:73;:::i;:::-;12401;12469:3;12458:9;12454:19;12445:6;12401:73;:::i;:::-;11928:553;;;;;;;;;:::o;12487:210::-;12574:4;12612:2;12601:9;12597:18;12589:26;;12625:65;12687:1;12676:9;12672:17;12663:6;12625:65;:::i;:::-;12579:118;;;;:::o;12703:313::-;12816:4;12854:2;12843:9;12839:18;12831:26;;12903:9;12897:4;12893:20;12889:1;12878:9;12874:17;12867:47;12931:78;13004:4;12995:6;12931:78;:::i;:::-;12923:86;;12821:195;;;;:::o;13022:419::-;13188:4;13226:2;13215:9;13211:18;13203:26;;13275:9;13269:4;13265:20;13261:1;13250:9;13246:17;13239:47;13303:131;13429:4;13303:131;:::i;:::-;13295:139;;13193:248;;;:::o;13447:419::-;13613:4;13651:2;13640:9;13636:18;13628:26;;13700:9;13694:4;13690:20;13686:1;13675:9;13671:17;13664:47;13728:131;13854:4;13728:131;:::i;:::-;13720:139;;13618:248;;;:::o;13872:419::-;14038:4;14076:2;14065:9;14061:18;14053:26;;14125:9;14119:4;14115:20;14111:1;14100:9;14096:17;14089:47;14153:131;14279:4;14153:131;:::i;:::-;14145:139;;14043:248;;;:::o;14297:419::-;14463:4;14501:2;14490:9;14486:18;14478:26;;14550:9;14544:4;14540:20;14536:1;14525:9;14521:17;14514:47;14578:131;14704:4;14578:131;:::i;:::-;14570:139;;14468:248;;;:::o;14722:419::-;14888:4;14926:2;14915:9;14911:18;14903:26;;14975:9;14969:4;14965:20;14961:1;14950:9;14946:17;14939:47;15003:131;15129:4;15003:131;:::i;:::-;14995:139;;14893:248;;;:::o;15147:419::-;15313:4;15351:2;15340:9;15336:18;15328:26;;15400:9;15394:4;15390:20;15386:1;15375:9;15371:17;15364:47;15428:131;15554:4;15428:131;:::i;:::-;15420:139;;15318:248;;;:::o;15572:419::-;15738:4;15776:2;15765:9;15761:18;15753:26;;15825:9;15819:4;15815:20;15811:1;15800:9;15796:17;15789:47;15853:131;15979:4;15853:131;:::i;:::-;15845:139;;15743:248;;;:::o;15997:419::-;16163:4;16201:2;16190:9;16186:18;16178:26;;16250:9;16244:4;16240:20;16236:1;16225:9;16221:17;16214:47;16278:131;16404:4;16278:131;:::i;:::-;16270:139;;16168:248;;;:::o;16422:419::-;16588:4;16626:2;16615:9;16611:18;16603:26;;16675:9;16669:4;16665:20;16661:1;16650:9;16646:17;16639:47;16703:131;16829:4;16703:131;:::i;:::-;16695:139;;16593:248;;;:::o;16847:419::-;17013:4;17051:2;17040:9;17036:18;17028:26;;17100:9;17094:4;17090:20;17086:1;17075:9;17071:17;17064:47;17128:131;17254:4;17128:131;:::i;:::-;17120:139;;17018:248;;;:::o;17272:419::-;17438:4;17476:2;17465:9;17461:18;17453:26;;17525:9;17519:4;17515:20;17511:1;17500:9;17496:17;17489:47;17553:131;17679:4;17553:131;:::i;:::-;17545:139;;17443:248;;;:::o;17697:419::-;17863:4;17901:2;17890:9;17886:18;17878:26;;17950:9;17944:4;17940:20;17936:1;17925:9;17921:17;17914:47;17978:131;18104:4;17978:131;:::i;:::-;17970:139;;17868:248;;;:::o;18122:222::-;18215:4;18253:2;18242:9;18238:18;18230:26;;18266:71;18334:1;18323:9;18319:17;18310:6;18266:71;:::i;:::-;18220:124;;;;:::o;18350:831::-;18613:4;18651:3;18640:9;18636:19;18628:27;;18665:71;18733:1;18722:9;18718:17;18709:6;18665:71;:::i;:::-;18746:80;18822:2;18811:9;18807:18;18798:6;18746:80;:::i;:::-;18873:9;18867:4;18863:20;18858:2;18847:9;18843:18;18836:48;18901:108;19004:4;18995:6;18901:108;:::i;:::-;18893:116;;19019:72;19087:2;19076:9;19072:18;19063:6;19019:72;:::i;:::-;19101:73;19169:3;19158:9;19154:19;19145:6;19101:73;:::i;:::-;18618:563;;;;;;;;:::o;19187:214::-;19276:4;19314:2;19303:9;19299:18;19291:26;;19327:67;19391:1;19380:9;19376:17;19367:6;19327:67;:::i;:::-;19281:120;;;;:::o;19407:132::-;19474:4;19497:3;19489:11;;19527:4;19522:3;19518:14;19510:22;;19479:60;;;:::o;19545:114::-;19612:6;19646:5;19640:12;19630:22;;19619:40;;;:::o;19665:99::-;19717:6;19751:5;19745:12;19735:22;;19724:40;;;:::o;19770:113::-;19840:4;19872;19867:3;19863:14;19855:22;;19845:38;;;:::o;19889:184::-;19988:11;20022:6;20017:3;20010:19;20062:4;20057:3;20053:14;20038:29;;20000:73;;;;:::o;20079:169::-;20163:11;20197:6;20192:3;20185:19;20237:4;20232:3;20228:14;20213:29;;20175:73;;;;:::o;20254:305::-;20294:3;20313:20;20331:1;20313:20;:::i;:::-;20308:25;;20347:20;20365:1;20347:20;:::i;:::-;20342:25;;20501:1;20433:66;20429:74;20426:1;20423:81;20420:2;;;20507:18;;:::i;:::-;20420:2;20551:1;20548;20544:9;20537:16;;20298:261;;;;:::o;20565:185::-;20605:1;20622:20;20640:1;20622:20;:::i;:::-;20617:25;;20656:20;20674:1;20656:20;:::i;:::-;20651:25;;20695:1;20685:2;;20700:18;;:::i;:::-;20685:2;20742:1;20739;20735:9;20730:14;;20607:143;;;;:::o;20756:348::-;20796:7;20819:20;20837:1;20819:20;:::i;:::-;20814:25;;20853:20;20871:1;20853:20;:::i;:::-;20848:25;;21041:1;20973:66;20969:74;20966:1;20963:81;20958:1;20951:9;20944:17;20940:105;20937:2;;;21048:18;;:::i;:::-;20937:2;21096:1;21093;21089:9;21078:20;;20804:300;;;;:::o;21110:191::-;21150:4;21170:20;21188:1;21170:20;:::i;:::-;21165:25;;21204:20;21222:1;21204:20;:::i;:::-;21199:25;;21243:1;21240;21237:8;21234:2;;;21248:18;;:::i;:::-;21234:2;21293:1;21290;21286:9;21278:17;;21155:146;;;;:::o;21307:96::-;21344:7;21373:24;21391:5;21373:24;:::i;:::-;21362:35;;21352:51;;;:::o;21409:90::-;21443:7;21486:5;21479:13;21472:21;21461:32;;21451:48;;;:::o;21505:126::-;21542:7;21582:42;21575:5;21571:54;21560:65;;21550:81;;;:::o;21637:77::-;21674:7;21703:5;21692:16;;21682:32;;;:::o;21720:86::-;21755:7;21795:4;21788:5;21784:16;21773:27;;21763:43;;;:::o;21812:121::-;21870:9;21903:24;21921:5;21903:24;:::i;:::-;21890:37;;21880:53;;;:::o;21939:307::-;22007:1;22017:113;22031:6;22028:1;22025:13;22017:113;;;22116:1;22111:3;22107:11;22101:18;22097:1;22092:3;22088:11;22081:39;22053:2;22050:1;22046:10;22041:15;;22017:113;;;22148:6;22145:1;22142:13;22139:2;;;22228:1;22219:6;22214:3;22210:16;22203:27;22139:2;21988:258;;;;:::o;22252:233::-;22291:3;22314:24;22332:5;22314:24;:::i;:::-;22305:33;;22360:66;22353:5;22350:77;22347:2;;;22430:18;;:::i;:::-;22347:2;22477:1;22470:5;22466:13;22459:20;;22295:190;;;:::o;22491:180::-;22539:77;22536:1;22529:88;22636:4;22633:1;22626:15;22660:4;22657:1;22650:15;22677:180;22725:77;22722:1;22715:88;22822:4;22819:1;22812:15;22846:4;22843:1;22836:15;22863:102;22904:6;22955:2;22951:7;22946:2;22939:5;22935:14;22931:28;22921:38;;22911:54;;;:::o;22971:222::-;23111:34;23107:1;23099:6;23095:14;23088:58;23180:5;23175:2;23167:6;23163:15;23156:30;23077:116;:::o;23199:229::-;23339:34;23335:1;23327:6;23323:14;23316:58;23408:12;23403:2;23395:6;23391:15;23384:37;23305:123;:::o;23434:225::-;23574:34;23570:1;23562:6;23558:14;23551:58;23643:8;23638:2;23630:6;23626:15;23619:33;23540:119;:::o;23665:221::-;23805:34;23801:1;23793:6;23789:14;23782:58;23874:4;23869:2;23861:6;23857:15;23850:29;23771:115;:::o;23892:177::-;24032:29;24028:1;24020:6;24016:14;24009:53;23998:71;:::o;24075:179::-;24215:31;24211:1;24203:6;24199:14;24192:55;24181:73;:::o;24260:220::-;24400:34;24396:1;24388:6;24384:14;24377:58;24469:3;24464:2;24456:6;24452:15;24445:28;24366:114;:::o;24486:182::-;24626:34;24622:1;24614:6;24610:14;24603:58;24592:76;:::o;24674:228::-;24814:34;24810:1;24802:6;24798:14;24791:58;24883:11;24878:2;24870:6;24866:15;24859:36;24780:122;:::o;24908:224::-;25048:34;25044:1;25036:6;25032:14;25025:58;25117:7;25112:2;25104:6;25100:15;25093:32;25014:118;:::o;25138:223::-;25278:34;25274:1;25266:6;25262:14;25255:58;25347:6;25342:2;25334:6;25330:15;25323:31;25244:117;:::o;25367:167::-;25507:19;25503:1;25495:6;25491:14;25484:43;25473:61;:::o;25540:122::-;25613:24;25631:5;25613:24;:::i;:::-;25606:5;25603:35;25593:2;;25652:1;25649;25642:12;25593:2;25583:79;:::o;25668:116::-;25738:21;25753:5;25738:21;:::i;:::-;25731:5;25728:32;25718:2;;25774:1;25771;25764:12;25718:2;25708:76;:::o;25790:122::-;25863:24;25881:5;25863:24;:::i;:::-;25856:5;25853:35;25843:2;;25902:1;25899;25892:12;25843:2;25833:79;:::o

Swarm Source

ipfs://f6faeb818af5cf08ed1e59298a9f0fa1595502272a1615af2d190245517b765d
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.