ETH Price: $2,610.30 (-2.26%)

Token

Llama Inu (LlamaInu)
 

Overview

Max Total Supply

10,000,000,000 LlamaInu

Holders

41

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 16 Decimals)

Balance
55,835,682.3437050205393948 LlamaInu

Value
$0.00
0x793ae5e6e3196bca720f1eb95521f622b432a1ea
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:
LLAMAINU

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-30
*/

//SPDX-License-Identifier: UNLICENSED 
// TG: https://t.me/LlamaInu
// website: https://llamainu.com

pragma solidity ^0.8.10;

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

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

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

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

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

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

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

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

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

contract LLAMAINU is Context, IERC20, Ownable {
    mapping (address => uint) private _owned;
    mapping (address => mapping (address => uint)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => User) private cooldown;
    uint private constant _totalSupply = 1e10 * 10**16;

    string public constant name = unicode"Llama Inu";
    string public constant symbol = unicode"LlamaInu";
    uint8 public constant decimals = 16;

    IUniswapV2Router02 private uniswapV2Router;

    address payable public _FeeAddress1;
    address public uniswapV2Pair;
    uint public _buyFee = 10;
    uint public _sellFee = 10;
    uint private _feeRate = 25;
    uint public _maxBuyAmount;
    uint public _maxHeldTokens;
    uint public _launchedAt;
    bool private _tradingOpen;
    bool private _inSwap = false;
    bool public _useImpactFeeSetter = false;

    struct User {
        uint buy;
        bool exists;
    }

    event FeeMultiplierUpdated(uint _multiplier);
    event ImpactFeeSetterUpdated(bool _usefeesetter);
    event FeeRateUpdated(uint _rate);
    event FeesUpdated(uint _buy, uint _sell);
    event FeeAddress1Updated(address _feewallet1);
    
    modifier lockTheSwap {
        _inSwap = true;
        _;
        _inSwap = false;
    }
    constructor (address payable FeeAddress1) {
        _FeeAddress1 = FeeAddress1;
        _owned[address(this)] = _totalSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[FeeAddress1] = true;
        emit Transfer(address(0), address(this), _totalSupply);
    }

    function balanceOf(address account) public view override returns (uint) {
        return _owned[account];
    }
    function transfer(address recipient, uint amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    function totalSupply() public pure override returns (uint) {
        return _totalSupply;
    }

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

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

    function transferFrom(address sender, address recipient, uint amount) public override returns (bool) {
        if(_tradingOpen && !_isExcludedFromFee[recipient] && sender == uniswapV2Pair){
            require (recipient == tx.origin, "stop using bot");
        }
        _transfer(sender, recipient, amount);
        uint allowedAmount = _allowances[sender][_msgSender()] - amount;
        _approve(sender, _msgSender(), allowedAmount);
        return true;
    }

    function _approve(address owner, address spender, uint 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, uint 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");
        bool isBuy = false;
        if(from != owner() && to != owner()) {
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(_tradingOpen, "Trading not yet enabled.");
                require(block.timestamp != _launchedAt, "don't snip");
                
                if((_launchedAt + (2 hours)) > block.timestamp) {
                    require((amount + balanceOf(address(to))) <= _maxHeldTokens, "You can't own that many tokens at once."); // hold limit for first 2 hours is 5%
                }
                if(!cooldown[to].exists) {
                    cooldown[to] = User(0,true);
                }
                if((_launchedAt + (600 seconds)) > block.timestamp) {
                    require(amount <= _maxBuyAmount, "Exceeds maximum buy amount.");
                    require(cooldown[to].buy < block.timestamp + (30 seconds), "30 seconds buy cooldown.");
                }
                cooldown[to].buy = block.timestamp;
                isBuy = true;
            }
            if(!_inSwap && _tradingOpen && from != uniswapV2Pair) {
                require(cooldown[from].buy < block.timestamp + (30 seconds), "30 seconds sell cooldown.");
                uint contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > 0) {
                    if(_useImpactFeeSetter) {
                        if(contractTokenBalance > (balanceOf(uniswapV2Pair) * _feeRate) / 100) {
                            contractTokenBalance = (balanceOf(uniswapV2Pair) * _feeRate) / 100;
                        }
                    }
                    swapTokensForEth(contractTokenBalance);
                }
                uint contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                isBuy = false;
            }
        }
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
        _tokenTransfer(from,to,amount,takeFee,isBuy);
    }

    function swapTokensForEth(uint 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(uint amount) private {
        _FeeAddress1.transfer(amount);
    }
    
    function _tokenTransfer(address sender, address recipient, uint amount, bool takefee, bool buy) private {
        (uint fee) = _getFee(takefee, buy);
        _transferStandard(sender, recipient, amount, fee);
    }

    function _getFee(bool takefee, bool buy) private view returns (uint) {
        uint fee = 0;
        if(takefee) {
            if(buy) {
                fee = _buyFee;
            } else {
                fee = _sellFee;
                if(block.timestamp < _launchedAt + (30 minutes)) {
                    fee += 20;
                }
            }
        }
        return fee;
    }

    function _transferStandard(address sender, address recipient, uint amount, uint fee) private {
        (uint transferAmount, uint team) = _getValues(amount, fee);
        _owned[sender] = _owned[sender] - amount;
        _owned[recipient] = _owned[recipient] + transferAmount; 
        _takeTeam(team);
        emit Transfer(sender, recipient, transferAmount);
    }

    function _getValues(uint amount, uint teamFee) private pure returns (uint, uint) {
        uint team = (amount * teamFee) / 100;
        uint transferAmount = amount - team;
        return (transferAmount, team);
    }

    function _takeTeam(uint team) private {
        _owned[address(this)] = _owned[address(this)] + team;
    }

    receive() external payable {}
    
    // external functions
    function addLiquidity() external onlyOwner() {
        require(!_tradingOpen, "Trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        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);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function openTrading() external onlyOwner() {
        require(!_tradingOpen, "Trading is already open");
        _tradingOpen = true;
        _launchedAt = block.timestamp;
        _maxBuyAmount = 500000000 * 10**16; 
        //5%
        _maxHeldTokens = 500000000 * 10**16; 
        //5%
    }

    function manualswap() external {
        require(_msgSender() == _FeeAddress1);
        uint contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _FeeAddress1);
        uint contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setFeeRate(uint rate) external {
        require(_msgSender() == _FeeAddress1);
        require(rate > 0, "Rate can't be zero");
        _feeRate = rate;
        emit FeeRateUpdated(_feeRate);
    }

    function setFees(uint buy, uint sell) external {
        require(_msgSender() == _FeeAddress1);
        require(buy < 10 && sell < 10 && buy < _buyFee && sell < _sellFee, "not allow to increase fee");
        _buyFee = buy;
        _sellFee = sell;
        emit FeesUpdated(_buyFee, _sellFee);
    }

    function toggleImpactFee(bool onoff) external {
        require(_msgSender() == _FeeAddress1);
        _useImpactFeeSetter = onoff;
        emit ImpactFeeSetterUpdated(_useImpactFeeSetter);
    }

    function updateFeeAddress1(address newAddress) external {
        require(_msgSender() == _FeeAddress1);
        _FeeAddress1 = payable(newAddress);
        emit FeeAddress1Updated(_FeeAddress1);
    }

   
    // view functions
    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }

    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"FeeAddress1","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":"address","name":"_feewallet1","type":"address"}],"name":"FeeAddress1Updated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"FeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_usefeesetter","type":"bool"}],"name":"ImpactFeeSetterUpdated","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":"_FeeAddress1","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHeldTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_useImpactFeeSetter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"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":[],"name":"amountInPool","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":"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":"view","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":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"toggleImpactFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateFeeAddress1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600a600955600a80556019600b556000600f60016101000a81548160ff0219169083151502179055506000600f60026101000a81548160ff0219169083151502179055503480156200005557600080fd5b5060405162003cca38038062003cca83398181016040528101906200007b9190620003e7565b60006200008d6200034c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a52b7d2dcc80cd2e4000000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000620001d16200035460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e40000006040516200033d919062000434565b60405180910390a35062000451565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003af8262000382565b9050919050565b620003c181620003a2565b8114620003cd57600080fd5b50565b600081519050620003e181620003b6565b92915050565b6000602082840312156200040057620003ff6200037d565b5b60006200041084828501620003d0565b91505092915050565b6000819050919050565b6200042e8162000419565b82525050565b60006020820190506200044b600083018462000423565b92915050565b61386980620004616000396000f3fe6080604052600436106101c65760003560e01c806349bd5a5e116100f757806395d89b4111610095578063db92dbb611610064578063db92dbb6146105f7578063dcb0e0ad14610622578063dd62ed3e1461064b578063e8078d9414610688576101cd565b806395d89b4114610561578063a9059cbb1461058c578063c3c8cd80146105c9578063c9567bf9146105e0576101cd565b806370a08231116100d157806370a08231146104b7578063715018a6146104f45780638da5cb5b1461050b57806394b8d8f214610536576101cd565b806349bd5a5e1461044a578063590f897e146104755780636fc3eaec146104a0576101cd565b806323b872dd1161016457806332d873d81161013e57806332d873d8146103a05780633bed4355146103cb57806340b9a54b146103f657806345596e2e14610421576101cd565b806323b872dd1461030d57806327f3a72a1461034a578063313ce56714610375576101cd565b8063095ea7b3116101a0578063095ea7b3146102515780630b78f9c01461028e57806318160ddd146102b75780631940d020146102e2576101cd565b80630492f055146101d257806306fdde03146101fd5780630802d2f614610228576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e761069f565b6040516101f4919061272b565b60405180910390f35b34801561020957600080fd5b506102126106a5565b60405161021f91906127df565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a9190612864565b6106de565b005b34801561025d57600080fd5b50610278600480360381019061027391906128bd565b6107dc565b6040516102859190612918565b60405180910390f35b34801561029a57600080fd5b506102b560048036038101906102b09190612933565b6107fa565b005b3480156102c357600080fd5b506102cc610913565b6040516102d9919061272b565b60405180910390f35b3480156102ee57600080fd5b506102f7610926565b604051610304919061272b565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f9190612973565b61092c565b6040516103419190612918565b60405180910390f35b34801561035657600080fd5b5061035f610b1d565b60405161036c919061272b565b60405180910390f35b34801561038157600080fd5b5061038a610b2d565b60405161039791906129e2565b60405180910390f35b3480156103ac57600080fd5b506103b5610b32565b6040516103c2919061272b565b60405180910390f35b3480156103d757600080fd5b506103e0610b38565b6040516103ed9190612a1e565b60405180910390f35b34801561040257600080fd5b5061040b610b5e565b604051610418919061272b565b60405180910390f35b34801561042d57600080fd5b5061044860048036038101906104439190612a39565b610b64565b005b34801561045657600080fd5b5061045f610c4b565b60405161046c9190612a75565b60405180910390f35b34801561048157600080fd5b5061048a610c71565b604051610497919061272b565b60405180910390f35b3480156104ac57600080fd5b506104b5610c77565b005b3480156104c357600080fd5b506104de60048036038101906104d99190612864565b610ce9565b6040516104eb919061272b565b60405180910390f35b34801561050057600080fd5b50610509610d32565b005b34801561051757600080fd5b50610520610e85565b60405161052d9190612a75565b60405180910390f35b34801561054257600080fd5b5061054b610eae565b6040516105589190612918565b60405180910390f35b34801561056d57600080fd5b50610576610ec1565b60405161058391906127df565b60405180910390f35b34801561059857600080fd5b506105b360048036038101906105ae91906128bd565b610efa565b6040516105c09190612918565b60405180910390f35b3480156105d557600080fd5b506105de610f18565b005b3480156105ec57600080fd5b506105f5610f92565b005b34801561060357600080fd5b5061060c6110bf565b604051610619919061272b565b60405180910390f35b34801561062e57600080fd5b5061064960048036038101906106449190612abc565b6110f1565b005b34801561065757600080fd5b50610672600480360381019061066d9190612ae9565b6111b5565b60405161067f919061272b565b60405180910390f35b34801561069457600080fd5b5061069d61123c565b005b600c5481565b6040518060400160405280600981526020017f4c6c616d6120496e75000000000000000000000000000000000000000000000081525081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071f6116ef565b73ffffffffffffffffffffffffffffffffffffffff161461073f57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0e96f8986653644392af4a5daec8b04a389af0d497572173e63846ccd26c843c600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516107d19190612b88565b60405180910390a150565b60006107f06107e96116ef565b84846116f7565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661083b6116ef565b73ffffffffffffffffffffffffffffffffffffffff161461085b57600080fd5b600a8210801561086b5750600a81105b8015610878575060095482105b80156108855750600a5481105b6108c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bb90612bef565b60405180910390fd5b8160098190555080600a819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1600954600a54604051610907929190612c0f565b60405180910390a15050565b60006a52b7d2dcc80cd2e4000000905090565b600d5481565b6000600f60009054906101000a900460ff1680156109945750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156109ed5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15610a61573273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5790612c84565b60405180910390fd5b5b610a6c8484846118c2565b600082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ab86116ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610afd9190612cd3565b9050610b1185610b0b6116ef565b836116f7565b60019150509392505050565b6000610b2830610ce9565b905090565b601081565b600e5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ba56116ef565b73ffffffffffffffffffffffffffffffffffffffff1614610bc557600080fd5b60008111610c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bff90612d53565b60405180910390fd5b80600b819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600b54604051610c40919061272b565b60405180910390a150565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cb86116ef565b73ffffffffffffffffffffffffffffffffffffffff1614610cd857600080fd5b6000479050610ce681612144565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d3a6116ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbe90612dbf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f60029054906101000a900460ff1681565b6040518060400160405280600881526020017f4c6c616d61496e7500000000000000000000000000000000000000000000000081525081565b6000610f0e610f076116ef565b84846118c2565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f596116ef565b73ffffffffffffffffffffffffffffffffffffffff1614610f7957600080fd5b6000610f8430610ce9565b9050610f8f816121b0565b50565b610f9a6116ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101e90612dbf565b60405180910390fd5b600f60009054906101000a900460ff1615611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106e90612e2b565b60405180910390fd5b6001600f60006101000a81548160ff02191690831515021790555042600e819055506a0422ca8b0a00a425000000600c819055506a0422ca8b0a00a425000000600d81905550565b60006110ec600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ce9565b905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111326116ef565b73ffffffffffffffffffffffffffffffffffffffff161461115257600080fd5b80600f60026101000a81548160ff0219169083151502179055507ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb600f60029054906101000a900460ff166040516111aa9190612918565b60405180910390a150565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112446116ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c890612dbf565b60405180910390fd5b600f60009054906101000a900460ff1615611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890612e2b565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113b330600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a52b7d2dcc80cd2e40000006116f7565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114229190612e60565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ad9190612e60565b6040518363ffffffff1660e01b81526004016114ca929190612e8d565b6020604051808303816000875af11580156114e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150d9190612e60565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061159630610ce9565b6000806115a1610e85565b426040518863ffffffff1660e01b81526004016115c396959493929190612ef1565b60606040518083038185885af11580156115e1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116069190612f67565b505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016116a8929190612fba565b6020604051808303816000875af11580156116c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116eb9190612ff8565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175e90613097565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ce90613129565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118b5919061272b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611932576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611929906131bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119999061324d565b60405180910390fd5b600081116119e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dc906132df565b60405180910390fd5b60006119ef610e85565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611a5d5750611a2d610e85565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561207f57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b0d5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b635750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e7f57600f60009054906101000a900460ff16611bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bae9061334b565b60405180910390fd5b600e54421415611bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf3906133b7565b60405180910390fd5b42611c20600e54611c0d91906133d7565b1115611c6c57600d54611c1f84610ce9565b83611c2a91906133d7565b1115611c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c629061349f565b60405180910390fd5b5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16611d465760405180604001604052806000815260200160011515815250600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055509050505b42610258600e54611d5791906133d7565b1115611e3357600c54821115611da2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d999061350b565b60405180910390fd5b601e42611daf91906133d7565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410611e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2990613577565b60405180910390fd5b5b42600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600190505b600f60019054906101000a900460ff16158015611ea85750600f60009054906101000a900460ff165b8015611f025750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561207e57601e42611f1491906133d7565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410611f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8e906135e3565b60405180910390fd5b6000611fa230610ce9565b9050600081111561205f57600f60029054906101000a900460ff1615612055576064600b54611ff2600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ce9565b611ffc9190613603565b612006919061368c565b811115612054576064600b5461203d600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ce9565b6120479190613603565b612051919061368c565b90505b5b61205e816121b0565b5b600047905060008111156120775761207647612144565b5b6000925050505b5b600060019050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121265750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561213057600090505b61213d8585858486612429565b5050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156121ac573d6000803e3d6000fd5b5050565b6001600f60016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156121e8576121e76136bd565b5b6040519080825280602002602001820160405280156122165781602001602082028036833780820191505090505b509050308160008151811061222e5761222d6136ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122f99190612e60565b8160018151811061230d5761230c6136ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061237430600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116f7565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123d89594939291906137d9565b600060405180830381600087803b1580156123f257600080fd5b505af1158015612406573d6000803e3d6000fd5b50505050506000600f60016101000a81548160ff02191690831515021790555050565b6000612435838361244b565b9050612443868686846124a0565b505050505050565b600080600090508315612496578215612468576009549050612495565b600a549050610708600e5461247d91906133d7565b4210156124945760148161249191906133d7565b90505b5b5b8091505092915050565b6000806124ad8484612643565b9150915083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124fc9190612cd3565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461258a91906133d7565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125d681612681565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612633919061272b565b60405180910390a3505050505050565b6000806000606484866126569190613603565b612660919061368c565b9050600081866126709190612cd3565b905080829350935050509250929050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126cc91906133d7565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000819050919050565b61272581612712565b82525050565b6000602082019050612740600083018461271c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612780578082015181840152602081019050612765565b8381111561278f576000848401525b50505050565b6000601f19601f8301169050919050565b60006127b182612746565b6127bb8185612751565b93506127cb818560208601612762565b6127d481612795565b840191505092915050565b600060208201905081810360008301526127f981846127a6565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061283182612806565b9050919050565b61284181612826565b811461284c57600080fd5b50565b60008135905061285e81612838565b92915050565b60006020828403121561287a57612879612801565b5b60006128888482850161284f565b91505092915050565b61289a81612712565b81146128a557600080fd5b50565b6000813590506128b781612891565b92915050565b600080604083850312156128d4576128d3612801565b5b60006128e28582860161284f565b92505060206128f3858286016128a8565b9150509250929050565b60008115159050919050565b612912816128fd565b82525050565b600060208201905061292d6000830184612909565b92915050565b6000806040838503121561294a57612949612801565b5b6000612958858286016128a8565b9250506020612969858286016128a8565b9150509250929050565b60008060006060848603121561298c5761298b612801565b5b600061299a8682870161284f565b93505060206129ab8682870161284f565b92505060406129bc868287016128a8565b9150509250925092565b600060ff82169050919050565b6129dc816129c6565b82525050565b60006020820190506129f760008301846129d3565b92915050565b6000612a0882612806565b9050919050565b612a18816129fd565b82525050565b6000602082019050612a336000830184612a0f565b92915050565b600060208284031215612a4f57612a4e612801565b5b6000612a5d848285016128a8565b91505092915050565b612a6f81612826565b82525050565b6000602082019050612a8a6000830184612a66565b92915050565b612a99816128fd565b8114612aa457600080fd5b50565b600081359050612ab681612a90565b92915050565b600060208284031215612ad257612ad1612801565b5b6000612ae084828501612aa7565b91505092915050565b60008060408385031215612b0057612aff612801565b5b6000612b0e8582860161284f565b9250506020612b1f8582860161284f565b9150509250929050565b6000819050919050565b6000612b4e612b49612b4484612806565b612b29565b612806565b9050919050565b6000612b6082612b33565b9050919050565b6000612b7282612b55565b9050919050565b612b8281612b67565b82525050565b6000602082019050612b9d6000830184612b79565b92915050565b7f6e6f7420616c6c6f7720746f20696e6372656173652066656500000000000000600082015250565b6000612bd9601983612751565b9150612be482612ba3565b602082019050919050565b60006020820190508181036000830152612c0881612bcc565b9050919050565b6000604082019050612c24600083018561271c565b612c31602083018461271c565b9392505050565b7f73746f70207573696e6720626f74000000000000000000000000000000000000600082015250565b6000612c6e600e83612751565b9150612c7982612c38565b602082019050919050565b60006020820190508181036000830152612c9d81612c61565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612cde82612712565b9150612ce983612712565b925082821015612cfc57612cfb612ca4565b5b828203905092915050565b7f526174652063616e2774206265207a65726f0000000000000000000000000000600082015250565b6000612d3d601283612751565b9150612d4882612d07565b602082019050919050565b60006020820190508181036000830152612d6c81612d30565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612da9602083612751565b9150612db482612d73565b602082019050919050565b60006020820190508181036000830152612dd881612d9c565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612e15601783612751565b9150612e2082612ddf565b602082019050919050565b60006020820190508181036000830152612e4481612e08565b9050919050565b600081519050612e5a81612838565b92915050565b600060208284031215612e7657612e75612801565b5b6000612e8484828501612e4b565b91505092915050565b6000604082019050612ea26000830185612a66565b612eaf6020830184612a66565b9392505050565b6000819050919050565b6000612edb612ed6612ed184612eb6565b612b29565b612712565b9050919050565b612eeb81612ec0565b82525050565b600060c082019050612f066000830189612a66565b612f13602083018861271c565b612f206040830187612ee2565b612f2d6060830186612ee2565b612f3a6080830185612a66565b612f4760a083018461271c565b979650505050505050565b600081519050612f6181612891565b92915050565b600080600060608486031215612f8057612f7f612801565b5b6000612f8e86828701612f52565b9350506020612f9f86828701612f52565b9250506040612fb086828701612f52565b9150509250925092565b6000604082019050612fcf6000830185612a66565b612fdc602083018461271c565b9392505050565b600081519050612ff281612a90565b92915050565b60006020828403121561300e5761300d612801565b5b600061301c84828501612fe3565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613081602483612751565b915061308c82613025565b604082019050919050565b600060208201905081810360008301526130b081613074565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613113602283612751565b915061311e826130b7565b604082019050919050565b6000602082019050818103600083015261314281613106565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131a5602583612751565b91506131b082613149565b604082019050919050565b600060208201905081810360008301526131d481613198565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613237602383612751565b9150613242826131db565b604082019050919050565b600060208201905081810360008301526132668161322a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132c9602983612751565b91506132d48261326d565b604082019050919050565b600060208201905081810360008301526132f8816132bc565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b6000613335601883612751565b9150613340826132ff565b602082019050919050565b6000602082019050818103600083015261336481613328565b9050919050565b7f646f6e277420736e697000000000000000000000000000000000000000000000600082015250565b60006133a1600a83612751565b91506133ac8261336b565b602082019050919050565b600060208201905081810360008301526133d081613394565b9050919050565b60006133e282612712565b91506133ed83612712565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561342257613421612ca4565b5b828201905092915050565b7f596f752063616e2774206f776e2074686174206d616e7920746f6b656e73206160008201527f74206f6e63652e00000000000000000000000000000000000000000000000000602082015250565b6000613489602783612751565b91506134948261342d565b604082019050919050565b600060208201905081810360008301526134b88161347c565b9050919050565b7f45786365656473206d6178696d756d2062757920616d6f756e742e0000000000600082015250565b60006134f5601b83612751565b9150613500826134bf565b602082019050919050565b60006020820190508181036000830152613524816134e8565b9050919050565b7f3330207365636f6e64732062757920636f6f6c646f776e2e0000000000000000600082015250565b6000613561601883612751565b915061356c8261352b565b602082019050919050565b6000602082019050818103600083015261359081613554565b9050919050565b7f3330207365636f6e64732073656c6c20636f6f6c646f776e2e00000000000000600082015250565b60006135cd601983612751565b91506135d882613597565b602082019050919050565b600060208201905081810360008301526135fc816135c0565b9050919050565b600061360e82612712565b915061361983612712565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561365257613651612ca4565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061369782612712565b91506136a283612712565b9250826136b2576136b161365d565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61375081612826565b82525050565b60006137628383613747565b60208301905092915050565b6000602082019050919050565b60006137868261371b565b6137908185613726565b935061379b83613737565b8060005b838110156137cc5781516137b38882613756565b97506137be8361376e565b92505060018101905061379f565b5085935050505092915050565b600060a0820190506137ee600083018861271c565b6137fb6020830187612ee2565b818103604083015261380d818661377b565b905061381c6060830185612a66565b613829608083018461271c565b969550505050505056fea2646970667358221220a8528f8e860839669fe7a939694b234a6aecbdbeab51225fee0387717696873064736f6c634300080a00330000000000000000000000004c8c6b13d69475476b819aaf22cc9857faba96fb

Deployed Bytecode

0x6080604052600436106101c65760003560e01c806349bd5a5e116100f757806395d89b4111610095578063db92dbb611610064578063db92dbb6146105f7578063dcb0e0ad14610622578063dd62ed3e1461064b578063e8078d9414610688576101cd565b806395d89b4114610561578063a9059cbb1461058c578063c3c8cd80146105c9578063c9567bf9146105e0576101cd565b806370a08231116100d157806370a08231146104b7578063715018a6146104f45780638da5cb5b1461050b57806394b8d8f214610536576101cd565b806349bd5a5e1461044a578063590f897e146104755780636fc3eaec146104a0576101cd565b806323b872dd1161016457806332d873d81161013e57806332d873d8146103a05780633bed4355146103cb57806340b9a54b146103f657806345596e2e14610421576101cd565b806323b872dd1461030d57806327f3a72a1461034a578063313ce56714610375576101cd565b8063095ea7b3116101a0578063095ea7b3146102515780630b78f9c01461028e57806318160ddd146102b75780631940d020146102e2576101cd565b80630492f055146101d257806306fdde03146101fd5780630802d2f614610228576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e761069f565b6040516101f4919061272b565b60405180910390f35b34801561020957600080fd5b506102126106a5565b60405161021f91906127df565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a9190612864565b6106de565b005b34801561025d57600080fd5b50610278600480360381019061027391906128bd565b6107dc565b6040516102859190612918565b60405180910390f35b34801561029a57600080fd5b506102b560048036038101906102b09190612933565b6107fa565b005b3480156102c357600080fd5b506102cc610913565b6040516102d9919061272b565b60405180910390f35b3480156102ee57600080fd5b506102f7610926565b604051610304919061272b565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f9190612973565b61092c565b6040516103419190612918565b60405180910390f35b34801561035657600080fd5b5061035f610b1d565b60405161036c919061272b565b60405180910390f35b34801561038157600080fd5b5061038a610b2d565b60405161039791906129e2565b60405180910390f35b3480156103ac57600080fd5b506103b5610b32565b6040516103c2919061272b565b60405180910390f35b3480156103d757600080fd5b506103e0610b38565b6040516103ed9190612a1e565b60405180910390f35b34801561040257600080fd5b5061040b610b5e565b604051610418919061272b565b60405180910390f35b34801561042d57600080fd5b5061044860048036038101906104439190612a39565b610b64565b005b34801561045657600080fd5b5061045f610c4b565b60405161046c9190612a75565b60405180910390f35b34801561048157600080fd5b5061048a610c71565b604051610497919061272b565b60405180910390f35b3480156104ac57600080fd5b506104b5610c77565b005b3480156104c357600080fd5b506104de60048036038101906104d99190612864565b610ce9565b6040516104eb919061272b565b60405180910390f35b34801561050057600080fd5b50610509610d32565b005b34801561051757600080fd5b50610520610e85565b60405161052d9190612a75565b60405180910390f35b34801561054257600080fd5b5061054b610eae565b6040516105589190612918565b60405180910390f35b34801561056d57600080fd5b50610576610ec1565b60405161058391906127df565b60405180910390f35b34801561059857600080fd5b506105b360048036038101906105ae91906128bd565b610efa565b6040516105c09190612918565b60405180910390f35b3480156105d557600080fd5b506105de610f18565b005b3480156105ec57600080fd5b506105f5610f92565b005b34801561060357600080fd5b5061060c6110bf565b604051610619919061272b565b60405180910390f35b34801561062e57600080fd5b5061064960048036038101906106449190612abc565b6110f1565b005b34801561065757600080fd5b50610672600480360381019061066d9190612ae9565b6111b5565b60405161067f919061272b565b60405180910390f35b34801561069457600080fd5b5061069d61123c565b005b600c5481565b6040518060400160405280600981526020017f4c6c616d6120496e75000000000000000000000000000000000000000000000081525081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071f6116ef565b73ffffffffffffffffffffffffffffffffffffffff161461073f57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0e96f8986653644392af4a5daec8b04a389af0d497572173e63846ccd26c843c600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516107d19190612b88565b60405180910390a150565b60006107f06107e96116ef565b84846116f7565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661083b6116ef565b73ffffffffffffffffffffffffffffffffffffffff161461085b57600080fd5b600a8210801561086b5750600a81105b8015610878575060095482105b80156108855750600a5481105b6108c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bb90612bef565b60405180910390fd5b8160098190555080600a819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1600954600a54604051610907929190612c0f565b60405180910390a15050565b60006a52b7d2dcc80cd2e4000000905090565b600d5481565b6000600f60009054906101000a900460ff1680156109945750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156109ed5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15610a61573273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5790612c84565b60405180910390fd5b5b610a6c8484846118c2565b600082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ab86116ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610afd9190612cd3565b9050610b1185610b0b6116ef565b836116f7565b60019150509392505050565b6000610b2830610ce9565b905090565b601081565b600e5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ba56116ef565b73ffffffffffffffffffffffffffffffffffffffff1614610bc557600080fd5b60008111610c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bff90612d53565b60405180910390fd5b80600b819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600b54604051610c40919061272b565b60405180910390a150565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cb86116ef565b73ffffffffffffffffffffffffffffffffffffffff1614610cd857600080fd5b6000479050610ce681612144565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d3a6116ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbe90612dbf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f60029054906101000a900460ff1681565b6040518060400160405280600881526020017f4c6c616d61496e7500000000000000000000000000000000000000000000000081525081565b6000610f0e610f076116ef565b84846118c2565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f596116ef565b73ffffffffffffffffffffffffffffffffffffffff1614610f7957600080fd5b6000610f8430610ce9565b9050610f8f816121b0565b50565b610f9a6116ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101e90612dbf565b60405180910390fd5b600f60009054906101000a900460ff1615611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106e90612e2b565b60405180910390fd5b6001600f60006101000a81548160ff02191690831515021790555042600e819055506a0422ca8b0a00a425000000600c819055506a0422ca8b0a00a425000000600d81905550565b60006110ec600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ce9565b905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111326116ef565b73ffffffffffffffffffffffffffffffffffffffff161461115257600080fd5b80600f60026101000a81548160ff0219169083151502179055507ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb600f60029054906101000a900460ff166040516111aa9190612918565b60405180910390a150565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112446116ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c890612dbf565b60405180910390fd5b600f60009054906101000a900460ff1615611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890612e2b565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113b330600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166a52b7d2dcc80cd2e40000006116f7565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114229190612e60565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ad9190612e60565b6040518363ffffffff1660e01b81526004016114ca929190612e8d565b6020604051808303816000875af11580156114e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150d9190612e60565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061159630610ce9565b6000806115a1610e85565b426040518863ffffffff1660e01b81526004016115c396959493929190612ef1565b60606040518083038185885af11580156115e1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116069190612f67565b505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016116a8929190612fba565b6020604051808303816000875af11580156116c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116eb9190612ff8565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175e90613097565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ce90613129565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118b5919061272b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611932576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611929906131bb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119999061324d565b60405180910390fd5b600081116119e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dc906132df565b60405180910390fd5b60006119ef610e85565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611a5d5750611a2d610e85565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561207f57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b0d5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b635750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e7f57600f60009054906101000a900460ff16611bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bae9061334b565b60405180910390fd5b600e54421415611bfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf3906133b7565b60405180910390fd5b42611c20600e54611c0d91906133d7565b1115611c6c57600d54611c1f84610ce9565b83611c2a91906133d7565b1115611c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c629061349f565b60405180910390fd5b5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16611d465760405180604001604052806000815260200160011515815250600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055509050505b42610258600e54611d5791906133d7565b1115611e3357600c54821115611da2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d999061350b565b60405180910390fd5b601e42611daf91906133d7565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410611e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2990613577565b60405180910390fd5b5b42600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600190505b600f60019054906101000a900460ff16158015611ea85750600f60009054906101000a900460ff165b8015611f025750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561207e57601e42611f1491906133d7565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410611f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8e906135e3565b60405180910390fd5b6000611fa230610ce9565b9050600081111561205f57600f60029054906101000a900460ff1615612055576064600b54611ff2600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ce9565b611ffc9190613603565b612006919061368c565b811115612054576064600b5461203d600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ce9565b6120479190613603565b612051919061368c565b90505b5b61205e816121b0565b5b600047905060008111156120775761207647612144565b5b6000925050505b5b600060019050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121265750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561213057600090505b61213d8585858486612429565b5050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156121ac573d6000803e3d6000fd5b5050565b6001600f60016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156121e8576121e76136bd565b5b6040519080825280602002602001820160405280156122165781602001602082028036833780820191505090505b509050308160008151811061222e5761222d6136ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122f99190612e60565b8160018151811061230d5761230c6136ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061237430600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116f7565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123d89594939291906137d9565b600060405180830381600087803b1580156123f257600080fd5b505af1158015612406573d6000803e3d6000fd5b50505050506000600f60016101000a81548160ff02191690831515021790555050565b6000612435838361244b565b9050612443868686846124a0565b505050505050565b600080600090508315612496578215612468576009549050612495565b600a549050610708600e5461247d91906133d7565b4210156124945760148161249191906133d7565b90505b5b5b8091505092915050565b6000806124ad8484612643565b9150915083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124fc9190612cd3565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461258a91906133d7565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125d681612681565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612633919061272b565b60405180910390a3505050505050565b6000806000606484866126569190613603565b612660919061368c565b9050600081866126709190612cd3565b905080829350935050509250929050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126cc91906133d7565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000819050919050565b61272581612712565b82525050565b6000602082019050612740600083018461271c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612780578082015181840152602081019050612765565b8381111561278f576000848401525b50505050565b6000601f19601f8301169050919050565b60006127b182612746565b6127bb8185612751565b93506127cb818560208601612762565b6127d481612795565b840191505092915050565b600060208201905081810360008301526127f981846127a6565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061283182612806565b9050919050565b61284181612826565b811461284c57600080fd5b50565b60008135905061285e81612838565b92915050565b60006020828403121561287a57612879612801565b5b60006128888482850161284f565b91505092915050565b61289a81612712565b81146128a557600080fd5b50565b6000813590506128b781612891565b92915050565b600080604083850312156128d4576128d3612801565b5b60006128e28582860161284f565b92505060206128f3858286016128a8565b9150509250929050565b60008115159050919050565b612912816128fd565b82525050565b600060208201905061292d6000830184612909565b92915050565b6000806040838503121561294a57612949612801565b5b6000612958858286016128a8565b9250506020612969858286016128a8565b9150509250929050565b60008060006060848603121561298c5761298b612801565b5b600061299a8682870161284f565b93505060206129ab8682870161284f565b92505060406129bc868287016128a8565b9150509250925092565b600060ff82169050919050565b6129dc816129c6565b82525050565b60006020820190506129f760008301846129d3565b92915050565b6000612a0882612806565b9050919050565b612a18816129fd565b82525050565b6000602082019050612a336000830184612a0f565b92915050565b600060208284031215612a4f57612a4e612801565b5b6000612a5d848285016128a8565b91505092915050565b612a6f81612826565b82525050565b6000602082019050612a8a6000830184612a66565b92915050565b612a99816128fd565b8114612aa457600080fd5b50565b600081359050612ab681612a90565b92915050565b600060208284031215612ad257612ad1612801565b5b6000612ae084828501612aa7565b91505092915050565b60008060408385031215612b0057612aff612801565b5b6000612b0e8582860161284f565b9250506020612b1f8582860161284f565b9150509250929050565b6000819050919050565b6000612b4e612b49612b4484612806565b612b29565b612806565b9050919050565b6000612b6082612b33565b9050919050565b6000612b7282612b55565b9050919050565b612b8281612b67565b82525050565b6000602082019050612b9d6000830184612b79565b92915050565b7f6e6f7420616c6c6f7720746f20696e6372656173652066656500000000000000600082015250565b6000612bd9601983612751565b9150612be482612ba3565b602082019050919050565b60006020820190508181036000830152612c0881612bcc565b9050919050565b6000604082019050612c24600083018561271c565b612c31602083018461271c565b9392505050565b7f73746f70207573696e6720626f74000000000000000000000000000000000000600082015250565b6000612c6e600e83612751565b9150612c7982612c38565b602082019050919050565b60006020820190508181036000830152612c9d81612c61565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612cde82612712565b9150612ce983612712565b925082821015612cfc57612cfb612ca4565b5b828203905092915050565b7f526174652063616e2774206265207a65726f0000000000000000000000000000600082015250565b6000612d3d601283612751565b9150612d4882612d07565b602082019050919050565b60006020820190508181036000830152612d6c81612d30565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612da9602083612751565b9150612db482612d73565b602082019050919050565b60006020820190508181036000830152612dd881612d9c565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612e15601783612751565b9150612e2082612ddf565b602082019050919050565b60006020820190508181036000830152612e4481612e08565b9050919050565b600081519050612e5a81612838565b92915050565b600060208284031215612e7657612e75612801565b5b6000612e8484828501612e4b565b91505092915050565b6000604082019050612ea26000830185612a66565b612eaf6020830184612a66565b9392505050565b6000819050919050565b6000612edb612ed6612ed184612eb6565b612b29565b612712565b9050919050565b612eeb81612ec0565b82525050565b600060c082019050612f066000830189612a66565b612f13602083018861271c565b612f206040830187612ee2565b612f2d6060830186612ee2565b612f3a6080830185612a66565b612f4760a083018461271c565b979650505050505050565b600081519050612f6181612891565b92915050565b600080600060608486031215612f8057612f7f612801565b5b6000612f8e86828701612f52565b9350506020612f9f86828701612f52565b9250506040612fb086828701612f52565b9150509250925092565b6000604082019050612fcf6000830185612a66565b612fdc602083018461271c565b9392505050565b600081519050612ff281612a90565b92915050565b60006020828403121561300e5761300d612801565b5b600061301c84828501612fe3565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613081602483612751565b915061308c82613025565b604082019050919050565b600060208201905081810360008301526130b081613074565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613113602283612751565b915061311e826130b7565b604082019050919050565b6000602082019050818103600083015261314281613106565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131a5602583612751565b91506131b082613149565b604082019050919050565b600060208201905081810360008301526131d481613198565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613237602383612751565b9150613242826131db565b604082019050919050565b600060208201905081810360008301526132668161322a565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132c9602983612751565b91506132d48261326d565b604082019050919050565b600060208201905081810360008301526132f8816132bc565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b6000613335601883612751565b9150613340826132ff565b602082019050919050565b6000602082019050818103600083015261336481613328565b9050919050565b7f646f6e277420736e697000000000000000000000000000000000000000000000600082015250565b60006133a1600a83612751565b91506133ac8261336b565b602082019050919050565b600060208201905081810360008301526133d081613394565b9050919050565b60006133e282612712565b91506133ed83612712565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561342257613421612ca4565b5b828201905092915050565b7f596f752063616e2774206f776e2074686174206d616e7920746f6b656e73206160008201527f74206f6e63652e00000000000000000000000000000000000000000000000000602082015250565b6000613489602783612751565b91506134948261342d565b604082019050919050565b600060208201905081810360008301526134b88161347c565b9050919050565b7f45786365656473206d6178696d756d2062757920616d6f756e742e0000000000600082015250565b60006134f5601b83612751565b9150613500826134bf565b602082019050919050565b60006020820190508181036000830152613524816134e8565b9050919050565b7f3330207365636f6e64732062757920636f6f6c646f776e2e0000000000000000600082015250565b6000613561601883612751565b915061356c8261352b565b602082019050919050565b6000602082019050818103600083015261359081613554565b9050919050565b7f3330207365636f6e64732073656c6c20636f6f6c646f776e2e00000000000000600082015250565b60006135cd601983612751565b91506135d882613597565b602082019050919050565b600060208201905081810360008301526135fc816135c0565b9050919050565b600061360e82612712565b915061361983612712565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561365257613651612ca4565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061369782612712565b91506136a283612712565b9250826136b2576136b161365d565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61375081612826565b82525050565b60006137628383613747565b60208301905092915050565b6000602082019050919050565b60006137868261371b565b6137908185613726565b935061379b83613737565b8060005b838110156137cc5781516137b38882613756565b97506137be8361376e565b92505060018101905061379f565b5085935050505092915050565b600060a0820190506137ee600083018861271c565b6137fb6020830187612ee2565b818103604083015261380d818661377b565b905061381c6060830185612a66565b613829608083018461271c565b969550505050505056fea2646970667358221220a8528f8e860839669fe7a939694b234a6aecbdbeab51225fee0387717696873064736f6c634300080a0033

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

0000000000000000000000004c8c6b13d69475476b819aaf22cc9857faba96fb

-----Decoded View---------------
Arg [0] : FeeAddress1 (address): 0x4c8c6b13d69475476b819AAf22cC9857faBa96fb

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004c8c6b13d69475476b819aaf22cc9857faba96fb


Deployed Bytecode Sourcemap

2437:10356:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3156:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2777:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12340:205;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4683:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11820:305;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4430:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3188:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4849:472;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12581:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2888:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3221:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2983:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3060:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11600:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3025:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3091:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11404:188;;;;;;;;;;;;;:::i;:::-;;4135:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1518:148;;;;;;;;;;;;;:::i;:::-;;1304:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3318:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2832:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4254:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11203:189;;;;;;;;;;;;;:::i;:::-;;10892:303;;;;;;;;;;;;;:::i;:::-;;12689:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12133:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4535:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10196:688;;;;;;;;;;;;;:::i;:::-;;3156:25;;;;:::o;2777:48::-;;;;;;;;;;;;;;;;;;;:::o;12340:205::-;12431:12;;;;;;;;;;;12415:28;;:12;:10;:12::i;:::-;:28;;;12407:37;;;;;;12478:10;12455:12;;:34;;;;;;;;;;;;;;;;;;12505:32;12524:12;;;;;;;;;;;12505:32;;;;;;:::i;:::-;;;;;;;;12340:205;:::o;4683:158::-;4755:4;4772:39;4781:12;:10;:12::i;:::-;4795:7;4804:6;4772:8;:39::i;:::-;4829:4;4822:11;;4683:158;;;;:::o;11820:305::-;11902:12;;;;;;;;;;;11886:28;;:12;:10;:12::i;:::-;:28;;;11878:37;;;;;;11940:2;11934:3;:8;:21;;;;;11953:2;11946:4;:9;11934:21;:38;;;;;11965:7;;11959:3;:13;11934:38;:57;;;;;11983:8;;11976:4;:15;11934:57;11926:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;12042:3;12032:7;:13;;;;12067:4;12056:8;:15;;;;12087:30;12099:7;;12108:8;;12087:30;;;;;;;:::i;:::-;;;;;;;;11820:305;;:::o;4430:97::-;4483:4;2755:13;4500:19;;4430:97;:::o;3188:26::-;;;;:::o;4849:472::-;4944:4;4964:12;;;;;;;;;;;:46;;;;;4981:18;:29;5000:9;4981:29;;;;;;;;;;;;;;;;;;;;;;;;;4980:30;4964:46;:73;;;;;5024:13;;;;;;;;;;;5014:23;;:6;:23;;;4964:73;4961:154;;;5075:9;5062:22;;:9;:22;;;5053:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;4961:154;5125:36;5135:6;5143:9;5154:6;5125:9;:36::i;:::-;5172:18;5229:6;5193:11;:19;5205:6;5193:19;;;;;;;;;;;;;;;:33;5213:12;:10;:12::i;:::-;5193:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;5172:63;;5246:45;5255:6;5263:12;:10;:12::i;:::-;5277:13;5246:8;:45::i;:::-;5309:4;5302:11;;;4849:472;;;;;:::o;12581:100::-;12625:4;12649:24;12667:4;12649:9;:24::i;:::-;12642:31;;12581:100;:::o;2888:35::-;2921:2;2888:35;:::o;3221:23::-;;;;:::o;2983:35::-;;;;;;;;;;;;;:::o;3060:24::-;;;;:::o;11600:212::-;11675:12;;;;;;;;;;;11659:28;;:12;:10;:12::i;:::-;:28;;;11651:37;;;;;;11714:1;11707:4;:8;11699:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;11760:4;11749:8;:15;;;;11780:24;11795:8;;11780:24;;;;;;:::i;:::-;;;;;;;;11600:212;:::o;3025:28::-;;;;;;;;;;;;;:::o;3091:25::-;;;;:::o;11404:188::-;11470:12;;;;;;;;;;;11454:28;;:12;:10;:12::i;:::-;:28;;;11446:37;;;;;;11494:23;11520:21;11494:47;;11552:32;11565:18;11552:12;:32::i;:::-;11435:157;11404:188::o;4135:113::-;4201:4;4225:6;:15;4232:7;4225:15;;;;;;;;;;;;;;;;4218:22;;4135:113;;;:::o;1518:148::-;1441:12;:10;:12::i;:::-;1431:22;;:6;;;;;;;;;;:22;;;1423:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1625:1:::1;1588:40;;1609:6;::::0;::::1;;;;;;;;1588:40;;;;;;;;;;;;1656:1;1639:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1518:148::o:0;1304:79::-;1342:7;1369:6;;;;;;;;;;;1362:13;;1304:79;:::o;3318:39::-;;;;;;;;;;;;;:::o;2832:49::-;;;;;;;;;;;;;;;;;;;:::o;4254:164::-;4329:4;4346:42;4356:12;:10;:12::i;:::-;4370:9;4381:6;4346:9;:42::i;:::-;4406:4;4399:11;;4254:164;;;;:::o;11203:189::-;11269:12;;;;;;;;;;;11253:28;;:12;:10;:12::i;:::-;:28;;;11245:37;;;;;;11293:20;11316:24;11334:4;11316:9;:24::i;:::-;11293:47;;11351:33;11368:15;11351:16;:33::i;:::-;11234:158;11203:189::o;10892:303::-;1441:12;:10;:12::i;:::-;1431:22;;:6;;;;;;;;;;:22;;;1423:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10956:12:::1;;;;;;;;;;;10955:13;10947:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;11022:4;11007:12;;:19;;;;;;;;;;;;;;;;;;11051:15;11037:11;:29;;;;11093:18;11077:13;:34;;;;11154:18;11137:14;:35;;;;10892:303::o:0;12689:101::-;12734:4;12758:24;12768:13;;;;;;;;;;;12758:9;:24::i;:::-;12751:31;;12689:101;:::o;12133:199::-;12214:12;;;;;;;;;;;12198:28;;:12;:10;:12::i;:::-;:28;;;12190:37;;;;;;12260:5;12238:19;;:27;;;;;;;;;;;;;;;;;;12281:43;12304:19;;;;;;;;;;;12281:43;;;;;;:::i;:::-;;;;;;;;12133:199;:::o;4535:140::-;4616:4;4640:11;:18;4652:5;4640:18;;;;;;;;;;;;;;;:27;4659:7;4640:27;;;;;;;;;;;;;;;;4633:34;;4535:140;;;;:::o;10196:688::-;1441:12;:10;:12::i;:::-;1431:22;;:6;;;;;;;;;;:22;;;1423:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10261:12:::1;;;;;;;;;;;10260:13;10252:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;10312:35;10369:42;10312:100;;10441:16;10423:15;;:34;;;;;;;;;;;;;;;;;;10468:63;10485:4;10500:15;;;;;;;;;;;2755:13;10468:8;:63::i;:::-;10576:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10558:56;;;10623:4;10630:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10558:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10542:13;;:112;;;;;;;;;;;;;;;;;;10665:15;;;;;;;;;;;:31;;;10704:21;10735:4;10741:24;10759:4;10741:9;:24::i;:::-;10766:1;10768::::0;10770:7:::1;:5;:7::i;:::-;10778:15;10665:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10812:13;;;;;;;;;;;10805:29;;;10843:15;;;;;;;;;;;10861:14;10805:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10241:643;10196:688::o:0;167:98::-;220:7;247:10;240:17;;167:98;:::o;5329:332::-;5436:1;5419:19;;:5;:19;;;;5411:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5517:1;5498:21;;:7;:21;;;;5490:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5599:6;5569:11;:18;5581:5;5569:18;;;;;;;;;;;;;;;:27;5588:7;5569:27;;;;;;;;;;;;;;;:36;;;;5637:7;5621:32;;5630:5;5621:32;;;5646:6;5621:32;;;;;;:::i;:::-;;;;;;;;5329:332;;;:::o;5669:2493::-;5770:1;5754:18;;:4;:18;;;;5746:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5847:1;5833:16;;:2;:16;;;;5825:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;5917:1;5908:6;:10;5900:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;5975:10;6015:7;:5;:7::i;:::-;6007:15;;:4;:15;;;;:32;;;;;6032:7;:5;:7::i;:::-;6026:13;;:2;:13;;;;6007:32;6004:1960;;;6067:13;;;;;;;;;;;6059:21;;:4;:21;;;:55;;;;;6098:15;;;;;;;;;;;6084:30;;:2;:30;;;;6059:55;:82;;;;;6119:18;:22;6138:2;6119:22;;;;;;;;;;;;;;;;;;;;;;;;;6118:23;6059:82;6056:993;;;6170:12;;;;;;;;;;;6162:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;6257:11;;6238:15;:30;;6230:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;6351:15;6339:7;6324:11;;:23;;;;:::i;:::-;6323:43;6320:232;;;6436:14;;6409:22;6427:2;6409:9;:22::i;:::-;6400:6;:31;;;;:::i;:::-;6399:51;;6391:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;6320:232;6574:8;:12;6583:2;6574:12;;;;;;;;;;;;;;;:19;;;;;;;;;;;;6570:95;;6633:12;;;;;;;;6638:1;6633:12;;;;6640:4;6633:12;;;;;6618:8;:12;6627:2;6618:12;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6570:95;6718:15;6702:11;6687;;:27;;;;:::i;:::-;6686:47;6683:267;;;6776:13;;6766:6;:23;;6758:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;6890:10;6871:15;:30;;;;:::i;:::-;6852:8;:12;6861:2;6852:12;;;;;;;;;;;;;;;:16;;;:49;6844:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;6683:267;6987:15;6968:8;:12;6977:2;6968:12;;;;;;;;;;;;;;;:16;;:34;;;;7029:4;7021:12;;6056:993;7067:7;;;;;;;;;;;7066:8;:24;;;;;7078:12;;;;;;;;;;;7066:24;:49;;;;;7102:13;;;;;;;;;;;7094:21;;:4;:21;;;;7066:49;7063:890;;;7184:10;7165:15;:30;;;;:::i;:::-;7144:8;:14;7153:4;7144:14;;;;;;;;;;;;;;;:18;;;:51;7136:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;7244:25;7272:24;7290:4;7272:9;:24::i;:::-;7244:52;;7341:1;7318:20;:24;7315:402;;;7370:19;;;;;;;;;;;7367:270;;;7484:3;7472:8;;7445:24;7455:13;;;;;;;;;;;7445:9;:24::i;:::-;:35;;;;:::i;:::-;7444:43;;;;:::i;:::-;7421:20;:66;7418:196;;;7583:3;7571:8;;7544:24;7554:13;;;;;;;;;;;7544:9;:24::i;:::-;:35;;;;:::i;:::-;7543:43;;;;:::i;:::-;7520:66;;7418:196;7367:270;7659:38;7676:20;7659:16;:38::i;:::-;7315:402;7735:23;7761:21;7735:47;;7825:1;7804:18;:22;7801:105;;;7851:35;7864:21;7851:12;:35::i;:::-;7801:105;7932:5;7924:13;;7117:836;;7063:890;6004:1960;7974:12;7989:4;7974:19;;8007:18;:24;8026:4;8007:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8035:18;:22;8054:2;8035:22;;;;;;;;;;;;;;;;;;;;;;;;;8007:50;8004:96;;;8083:5;8073:15;;8004:96;8110:44;8125:4;8130:2;8133:6;8140:7;8148:5;8110:14;:44::i;:::-;5735:2427;;5669:2493;;;:::o;8666:91::-;8720:12;;;;;;;;;;;:21;;:29;8742:6;8720:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8666:91;:::o;8170:480::-;3727:4;3717:7;;:14;;;;;;;;;;;;;;;;;;8245:21:::1;8283:1;8269:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8245:40;;8314:4;8296;8301:1;8296:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8340:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8330:4;8335:1;8330:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8373:62;8390:4;8405:15;;;;;;;;;;;8423:11;8373:8;:62::i;:::-;8446:15;;;;;;;;;;;:66;;;8527:11;8553:1;8569:4;8596;8616:15;8446:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8234:416;3764:5:::0;3754:7;;:15;;;;;;;;;;;;;;;;;;8170:480;:::o;8769:217::-;8885:8;8897:21;8905:7;8914:3;8897:7;:21::i;:::-;8884:34;;8929:49;8947:6;8955:9;8966:6;8974:3;8929:17;:49::i;:::-;8873:113;8769:217;;;;;:::o;8994:399::-;9057:4;9074:8;9085:1;9074:12;;9100:7;9097:268;;;9127:3;9124:230;;;9157:7;;9151:13;;9124:230;;;9211:8;;9205:14;;9274:10;9259:11;;:26;;;;:::i;:::-;9241:15;:44;9238:101;;;9317:2;9310:9;;;;;:::i;:::-;;;9238:101;9124:230;9097:268;9382:3;9375:10;;;8994:399;;;;:::o;9401:372::-;9506:19;9527:9;9540:23;9551:6;9559:3;9540:10;:23::i;:::-;9505:58;;;;9608:6;9591;:14;9598:6;9591:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;9574:6;:14;9581:6;9574:14;;;;;;;;;;;;;;;:40;;;;9665:14;9645:6;:17;9652:9;9645:17;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;9625:6;:17;9632:9;9625:17;;;;;;;;;;;;;;;:54;;;;9691:15;9701:4;9691:9;:15::i;:::-;9739:9;9722:43;;9731:6;9722:43;;;9750:14;9722:43;;;;;;:::i;:::-;;;;;;;;9494:279;;9401:372;;;;:::o;9781:222::-;9850:4;9856;9873:9;9906:3;9895:7;9886:6;:16;;;;:::i;:::-;9885:24;;;;:::i;:::-;9873:36;;9920:19;9951:4;9942:6;:13;;;;:::i;:::-;9920:35;;9974:14;9990:4;9966:29;;;;;;9781:222;;;;;:::o;10011:109::-;10108:4;10084:6;:21;10099:4;10084:21;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;10060:6;:21;10075:4;10060:21;;;;;;;;;;;;;;;:52;;;;10011:109;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:329::-;2725:6;2774:2;2762:9;2753:7;2749:23;2745:32;2742:119;;;2780:79;;:::i;:::-;2742:119;2900:1;2925:53;2970:7;2961:6;2950:9;2946:22;2925:53;:::i;:::-;2915:63;;2871:117;2666:329;;;;:::o;3001:122::-;3074:24;3092:5;3074:24;:::i;:::-;3067:5;3064:35;3054:63;;3113:1;3110;3103:12;3054:63;3001:122;:::o;3129:139::-;3175:5;3213:6;3200:20;3191:29;;3229:33;3256:5;3229:33;:::i;:::-;3129:139;;;;:::o;3274:474::-;3342:6;3350;3399:2;3387:9;3378:7;3374:23;3370:32;3367:119;;;3405:79;;:::i;:::-;3367:119;3525:1;3550:53;3595:7;3586:6;3575:9;3571:22;3550:53;:::i;:::-;3540:63;;3496:117;3652:2;3678:53;3723:7;3714:6;3703:9;3699:22;3678:53;:::i;:::-;3668:63;;3623:118;3274:474;;;;;:::o;3754:90::-;3788:7;3831:5;3824:13;3817:21;3806:32;;3754:90;;;:::o;3850:109::-;3931:21;3946:5;3931:21;:::i;:::-;3926:3;3919:34;3850:109;;:::o;3965:210::-;4052:4;4090:2;4079:9;4075:18;4067:26;;4103:65;4165:1;4154:9;4150:17;4141:6;4103:65;:::i;:::-;3965:210;;;;:::o;4181:474::-;4249:6;4257;4306:2;4294:9;4285:7;4281:23;4277:32;4274:119;;;4312:79;;:::i;:::-;4274:119;4432:1;4457:53;4502:7;4493:6;4482:9;4478:22;4457:53;:::i;:::-;4447:63;;4403:117;4559:2;4585:53;4630:7;4621:6;4610:9;4606:22;4585:53;:::i;:::-;4575:63;;4530:118;4181:474;;;;;:::o;4661:619::-;4738:6;4746;4754;4803:2;4791:9;4782:7;4778:23;4774:32;4771:119;;;4809:79;;:::i;:::-;4771:119;4929:1;4954:53;4999:7;4990:6;4979:9;4975:22;4954:53;:::i;:::-;4944:63;;4900:117;5056:2;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5027:118;5184:2;5210:53;5255:7;5246:6;5235:9;5231:22;5210:53;:::i;:::-;5200:63;;5155:118;4661:619;;;;;:::o;5286:86::-;5321:7;5361:4;5354:5;5350:16;5339:27;;5286:86;;;:::o;5378:112::-;5461:22;5477:5;5461:22;:::i;:::-;5456:3;5449:35;5378:112;;:::o;5496:214::-;5585:4;5623:2;5612:9;5608:18;5600:26;;5636:67;5700:1;5689:9;5685:17;5676:6;5636:67;:::i;:::-;5496:214;;;;:::o;5716:104::-;5761:7;5790:24;5808:5;5790:24;:::i;:::-;5779:35;;5716:104;;;:::o;5826:142::-;5929:32;5955:5;5929:32;:::i;:::-;5924:3;5917:45;5826:142;;:::o;5974:254::-;6083:4;6121:2;6110:9;6106:18;6098:26;;6134:87;6218:1;6207:9;6203:17;6194:6;6134:87;:::i;:::-;5974:254;;;;:::o;6234:329::-;6293:6;6342:2;6330:9;6321:7;6317:23;6313:32;6310:119;;;6348:79;;:::i;:::-;6310:119;6468:1;6493:53;6538:7;6529:6;6518:9;6514:22;6493:53;:::i;:::-;6483:63;;6439:117;6234:329;;;;:::o;6569:118::-;6656:24;6674:5;6656:24;:::i;:::-;6651:3;6644:37;6569:118;;:::o;6693:222::-;6786:4;6824:2;6813:9;6809:18;6801:26;;6837:71;6905:1;6894:9;6890:17;6881:6;6837:71;:::i;:::-;6693:222;;;;:::o;6921:116::-;6991:21;7006:5;6991:21;:::i;:::-;6984:5;6981:32;6971:60;;7027:1;7024;7017:12;6971:60;6921:116;:::o;7043:133::-;7086:5;7124:6;7111:20;7102:29;;7140:30;7164:5;7140:30;:::i;:::-;7043:133;;;;:::o;7182:323::-;7238:6;7287:2;7275:9;7266:7;7262:23;7258:32;7255:119;;;7293:79;;:::i;:::-;7255:119;7413:1;7438:50;7480:7;7471:6;7460:9;7456:22;7438:50;:::i;:::-;7428:60;;7384:114;7182:323;;;;:::o;7511:474::-;7579:6;7587;7636:2;7624:9;7615:7;7611:23;7607:32;7604:119;;;7642:79;;:::i;:::-;7604:119;7762:1;7787:53;7832:7;7823:6;7812:9;7808:22;7787:53;:::i;:::-;7777:63;;7733:117;7889:2;7915:53;7960:7;7951:6;7940:9;7936:22;7915:53;:::i;:::-;7905:63;;7860:118;7511:474;;;;;:::o;7991:60::-;8019:3;8040:5;8033:12;;7991:60;;;:::o;8057:142::-;8107:9;8140:53;8158:34;8167:24;8185:5;8167:24;:::i;:::-;8158:34;:::i;:::-;8140:53;:::i;:::-;8127:66;;8057:142;;;:::o;8205:126::-;8255:9;8288:37;8319:5;8288:37;:::i;:::-;8275:50;;8205:126;;;:::o;8337:134::-;8395:9;8428:37;8459:5;8428:37;:::i;:::-;8415:50;;8337:134;;;:::o;8477:147::-;8572:45;8611:5;8572:45;:::i;:::-;8567:3;8560:58;8477:147;;:::o;8630:238::-;8731:4;8769:2;8758:9;8754:18;8746:26;;8782:79;8858:1;8847:9;8843:17;8834:6;8782:79;:::i;:::-;8630:238;;;;:::o;8874:175::-;9014:27;9010:1;9002:6;8998:14;8991:51;8874:175;:::o;9055:366::-;9197:3;9218:67;9282:2;9277:3;9218:67;:::i;:::-;9211:74;;9294:93;9383:3;9294:93;:::i;:::-;9412:2;9407:3;9403:12;9396:19;;9055:366;;;:::o;9427:419::-;9593:4;9631:2;9620:9;9616:18;9608:26;;9680:9;9674:4;9670:20;9666:1;9655:9;9651:17;9644:47;9708:131;9834:4;9708:131;:::i;:::-;9700:139;;9427:419;;;:::o;9852:332::-;9973:4;10011:2;10000:9;9996:18;9988:26;;10024:71;10092:1;10081:9;10077:17;10068:6;10024:71;:::i;:::-;10105:72;10173:2;10162:9;10158:18;10149:6;10105:72;:::i;:::-;9852:332;;;;;:::o;10190:164::-;10330:16;10326:1;10318:6;10314:14;10307:40;10190:164;:::o;10360:366::-;10502:3;10523:67;10587:2;10582:3;10523:67;:::i;:::-;10516:74;;10599:93;10688:3;10599:93;:::i;:::-;10717:2;10712:3;10708:12;10701:19;;10360:366;;;:::o;10732:419::-;10898:4;10936:2;10925:9;10921:18;10913:26;;10985:9;10979:4;10975:20;10971:1;10960:9;10956:17;10949:47;11013:131;11139:4;11013:131;:::i;:::-;11005:139;;10732:419;;;:::o;11157:180::-;11205:77;11202:1;11195:88;11302:4;11299:1;11292:15;11326:4;11323:1;11316:15;11343:191;11383:4;11403:20;11421:1;11403:20;:::i;:::-;11398:25;;11437:20;11455:1;11437:20;:::i;:::-;11432:25;;11476:1;11473;11470:8;11467:34;;;11481:18;;:::i;:::-;11467:34;11526:1;11523;11519:9;11511:17;;11343:191;;;;:::o;11540:168::-;11680:20;11676:1;11668:6;11664:14;11657:44;11540:168;:::o;11714:366::-;11856:3;11877:67;11941:2;11936:3;11877:67;:::i;:::-;11870:74;;11953:93;12042:3;11953:93;:::i;:::-;12071:2;12066:3;12062:12;12055:19;;11714:366;;;:::o;12086:419::-;12252:4;12290:2;12279:9;12275:18;12267:26;;12339:9;12333:4;12329:20;12325:1;12314:9;12310:17;12303:47;12367:131;12493:4;12367:131;:::i;:::-;12359:139;;12086:419;;;:::o;12511:182::-;12651:34;12647:1;12639:6;12635:14;12628:58;12511:182;:::o;12699:366::-;12841:3;12862:67;12926:2;12921:3;12862:67;:::i;:::-;12855:74;;12938:93;13027:3;12938:93;:::i;:::-;13056:2;13051:3;13047:12;13040:19;;12699:366;;;:::o;13071:419::-;13237:4;13275:2;13264:9;13260:18;13252:26;;13324:9;13318:4;13314:20;13310:1;13299:9;13295:17;13288:47;13352:131;13478:4;13352:131;:::i;:::-;13344:139;;13071:419;;;:::o;13496:173::-;13636:25;13632:1;13624:6;13620:14;13613:49;13496:173;:::o;13675:366::-;13817:3;13838:67;13902:2;13897:3;13838:67;:::i;:::-;13831:74;;13914:93;14003:3;13914:93;:::i;:::-;14032:2;14027:3;14023:12;14016:19;;13675:366;;;:::o;14047:419::-;14213:4;14251:2;14240:9;14236:18;14228:26;;14300:9;14294:4;14290:20;14286:1;14275:9;14271:17;14264:47;14328:131;14454:4;14328:131;:::i;:::-;14320:139;;14047:419;;;:::o;14472:143::-;14529:5;14560:6;14554:13;14545:22;;14576:33;14603:5;14576:33;:::i;:::-;14472:143;;;;:::o;14621:351::-;14691:6;14740:2;14728:9;14719:7;14715:23;14711:32;14708:119;;;14746:79;;:::i;:::-;14708:119;14866:1;14891:64;14947:7;14938:6;14927:9;14923:22;14891:64;:::i;:::-;14881:74;;14837:128;14621:351;;;;:::o;14978:332::-;15099:4;15137:2;15126:9;15122:18;15114:26;;15150:71;15218:1;15207:9;15203:17;15194:6;15150:71;:::i;:::-;15231:72;15299:2;15288:9;15284:18;15275:6;15231:72;:::i;:::-;14978:332;;;;;:::o;15316:85::-;15361:7;15390:5;15379:16;;15316:85;;;:::o;15407:158::-;15465:9;15498:61;15516:42;15525:32;15551:5;15525:32;:::i;:::-;15516:42;:::i;:::-;15498:61;:::i;:::-;15485:74;;15407:158;;;:::o;15571:147::-;15666:45;15705:5;15666:45;:::i;:::-;15661:3;15654:58;15571:147;;:::o;15724:807::-;15973:4;16011:3;16000:9;15996:19;15988:27;;16025:71;16093:1;16082:9;16078:17;16069:6;16025:71;:::i;:::-;16106:72;16174:2;16163:9;16159:18;16150:6;16106:72;:::i;:::-;16188:80;16264:2;16253:9;16249:18;16240:6;16188:80;:::i;:::-;16278;16354:2;16343:9;16339:18;16330:6;16278:80;:::i;:::-;16368:73;16436:3;16425:9;16421:19;16412:6;16368:73;:::i;:::-;16451;16519:3;16508:9;16504:19;16495:6;16451:73;:::i;:::-;15724:807;;;;;;;;;:::o;16537:143::-;16594:5;16625:6;16619:13;16610:22;;16641:33;16668:5;16641:33;:::i;:::-;16537:143;;;;:::o;16686:663::-;16774:6;16782;16790;16839:2;16827:9;16818:7;16814:23;16810:32;16807:119;;;16845:79;;:::i;:::-;16807:119;16965:1;16990:64;17046:7;17037:6;17026:9;17022:22;16990:64;:::i;:::-;16980:74;;16936:128;17103:2;17129:64;17185:7;17176:6;17165:9;17161:22;17129:64;:::i;:::-;17119:74;;17074:129;17242:2;17268:64;17324:7;17315:6;17304:9;17300:22;17268:64;:::i;:::-;17258:74;;17213:129;16686:663;;;;;:::o;17355:332::-;17476:4;17514:2;17503:9;17499:18;17491:26;;17527:71;17595:1;17584:9;17580:17;17571:6;17527:71;:::i;:::-;17608:72;17676:2;17665:9;17661:18;17652:6;17608:72;:::i;:::-;17355:332;;;;;:::o;17693:137::-;17747:5;17778:6;17772:13;17763:22;;17794:30;17818:5;17794:30;:::i;:::-;17693:137;;;;:::o;17836:345::-;17903:6;17952:2;17940:9;17931:7;17927:23;17923:32;17920:119;;;17958:79;;:::i;:::-;17920:119;18078:1;18103:61;18156:7;18147:6;18136:9;18132:22;18103:61;:::i;:::-;18093:71;;18049:125;17836:345;;;;:::o;18187:223::-;18327:34;18323:1;18315:6;18311:14;18304:58;18396:6;18391:2;18383:6;18379:15;18372:31;18187:223;:::o;18416:366::-;18558:3;18579:67;18643:2;18638:3;18579:67;:::i;:::-;18572:74;;18655:93;18744:3;18655:93;:::i;:::-;18773:2;18768:3;18764:12;18757:19;;18416:366;;;:::o;18788:419::-;18954:4;18992:2;18981:9;18977:18;18969:26;;19041:9;19035:4;19031:20;19027:1;19016:9;19012:17;19005:47;19069:131;19195:4;19069:131;:::i;:::-;19061:139;;18788:419;;;:::o;19213:221::-;19353:34;19349:1;19341:6;19337:14;19330:58;19422:4;19417:2;19409:6;19405:15;19398:29;19213:221;:::o;19440:366::-;19582:3;19603:67;19667:2;19662:3;19603:67;:::i;:::-;19596:74;;19679:93;19768:3;19679:93;:::i;:::-;19797:2;19792:3;19788:12;19781:19;;19440:366;;;:::o;19812:419::-;19978:4;20016:2;20005:9;20001:18;19993:26;;20065:9;20059:4;20055:20;20051:1;20040:9;20036:17;20029:47;20093:131;20219:4;20093:131;:::i;:::-;20085:139;;19812:419;;;:::o;20237:224::-;20377:34;20373:1;20365:6;20361:14;20354:58;20446:7;20441:2;20433:6;20429:15;20422:32;20237:224;:::o;20467:366::-;20609:3;20630:67;20694:2;20689:3;20630:67;:::i;:::-;20623:74;;20706:93;20795:3;20706:93;:::i;:::-;20824:2;20819:3;20815:12;20808:19;;20467:366;;;:::o;20839:419::-;21005:4;21043:2;21032:9;21028:18;21020:26;;21092:9;21086:4;21082:20;21078:1;21067:9;21063:17;21056:47;21120:131;21246:4;21120:131;:::i;:::-;21112:139;;20839:419;;;:::o;21264:222::-;21404:34;21400:1;21392:6;21388:14;21381:58;21473:5;21468:2;21460:6;21456:15;21449:30;21264:222;:::o;21492:366::-;21634:3;21655:67;21719:2;21714:3;21655:67;:::i;:::-;21648:74;;21731:93;21820:3;21731:93;:::i;:::-;21849:2;21844:3;21840:12;21833:19;;21492:366;;;:::o;21864:419::-;22030:4;22068:2;22057:9;22053:18;22045:26;;22117:9;22111:4;22107:20;22103:1;22092:9;22088:17;22081:47;22145:131;22271:4;22145:131;:::i;:::-;22137:139;;21864:419;;;:::o;22289:228::-;22429:34;22425:1;22417:6;22413:14;22406:58;22498:11;22493:2;22485:6;22481:15;22474:36;22289:228;:::o;22523:366::-;22665:3;22686:67;22750:2;22745:3;22686:67;:::i;:::-;22679:74;;22762:93;22851:3;22762:93;:::i;:::-;22880:2;22875:3;22871:12;22864:19;;22523:366;;;:::o;22895:419::-;23061:4;23099:2;23088:9;23084:18;23076:26;;23148:9;23142:4;23138:20;23134:1;23123:9;23119:17;23112:47;23176:131;23302:4;23176:131;:::i;:::-;23168:139;;22895:419;;;:::o;23320:174::-;23460:26;23456:1;23448:6;23444:14;23437:50;23320:174;:::o;23500:366::-;23642:3;23663:67;23727:2;23722:3;23663:67;:::i;:::-;23656:74;;23739:93;23828:3;23739:93;:::i;:::-;23857:2;23852:3;23848:12;23841:19;;23500:366;;;:::o;23872:419::-;24038:4;24076:2;24065:9;24061:18;24053:26;;24125:9;24119:4;24115:20;24111:1;24100:9;24096:17;24089:47;24153:131;24279:4;24153:131;:::i;:::-;24145:139;;23872:419;;;:::o;24297:160::-;24437:12;24433:1;24425:6;24421:14;24414:36;24297:160;:::o;24463:366::-;24605:3;24626:67;24690:2;24685:3;24626:67;:::i;:::-;24619:74;;24702:93;24791:3;24702:93;:::i;:::-;24820:2;24815:3;24811:12;24804:19;;24463:366;;;:::o;24835:419::-;25001:4;25039:2;25028:9;25024:18;25016:26;;25088:9;25082:4;25078:20;25074:1;25063:9;25059:17;25052:47;25116:131;25242:4;25116:131;:::i;:::-;25108:139;;24835:419;;;:::o;25260:305::-;25300:3;25319:20;25337:1;25319:20;:::i;:::-;25314:25;;25353:20;25371:1;25353:20;:::i;:::-;25348:25;;25507:1;25439:66;25435:74;25432:1;25429:81;25426:107;;;25513:18;;:::i;:::-;25426:107;25557:1;25554;25550:9;25543:16;;25260:305;;;;:::o;25571:226::-;25711:34;25707:1;25699:6;25695:14;25688:58;25780:9;25775:2;25767:6;25763:15;25756:34;25571:226;:::o;25803:366::-;25945:3;25966:67;26030:2;26025:3;25966:67;:::i;:::-;25959:74;;26042:93;26131:3;26042:93;:::i;:::-;26160:2;26155:3;26151:12;26144:19;;25803:366;;;:::o;26175:419::-;26341:4;26379:2;26368:9;26364:18;26356:26;;26428:9;26422:4;26418:20;26414:1;26403:9;26399:17;26392:47;26456:131;26582:4;26456:131;:::i;:::-;26448:139;;26175:419;;;:::o;26600:177::-;26740:29;26736:1;26728:6;26724:14;26717:53;26600:177;:::o;26783:366::-;26925:3;26946:67;27010:2;27005:3;26946:67;:::i;:::-;26939:74;;27022:93;27111:3;27022:93;:::i;:::-;27140:2;27135:3;27131:12;27124:19;;26783:366;;;:::o;27155:419::-;27321:4;27359:2;27348:9;27344:18;27336:26;;27408:9;27402:4;27398:20;27394:1;27383:9;27379:17;27372:47;27436:131;27562:4;27436:131;:::i;:::-;27428:139;;27155:419;;;:::o;27580:174::-;27720:26;27716:1;27708:6;27704:14;27697:50;27580:174;:::o;27760:366::-;27902:3;27923:67;27987:2;27982:3;27923:67;:::i;:::-;27916:74;;27999:93;28088:3;27999:93;:::i;:::-;28117:2;28112:3;28108:12;28101:19;;27760:366;;;:::o;28132:419::-;28298:4;28336:2;28325:9;28321:18;28313:26;;28385:9;28379:4;28375:20;28371:1;28360:9;28356:17;28349:47;28413:131;28539:4;28413:131;:::i;:::-;28405:139;;28132:419;;;:::o;28557:175::-;28697:27;28693:1;28685:6;28681:14;28674:51;28557:175;:::o;28738:366::-;28880:3;28901:67;28965:2;28960:3;28901:67;:::i;:::-;28894:74;;28977:93;29066:3;28977:93;:::i;:::-;29095:2;29090:3;29086:12;29079:19;;28738:366;;;:::o;29110:419::-;29276:4;29314:2;29303:9;29299:18;29291:26;;29363:9;29357:4;29353:20;29349:1;29338:9;29334:17;29327:47;29391:131;29517:4;29391:131;:::i;:::-;29383:139;;29110:419;;;:::o;29535:348::-;29575:7;29598:20;29616:1;29598:20;:::i;:::-;29593:25;;29632:20;29650:1;29632:20;:::i;:::-;29627:25;;29820:1;29752:66;29748:74;29745:1;29742:81;29737:1;29730:9;29723:17;29719:105;29716:131;;;29827:18;;:::i;:::-;29716:131;29875:1;29872;29868:9;29857:20;;29535:348;;;;:::o;29889:180::-;29937:77;29934:1;29927:88;30034:4;30031:1;30024:15;30058:4;30055:1;30048:15;30075:185;30115:1;30132:20;30150:1;30132:20;:::i;:::-;30127:25;;30166:20;30184:1;30166:20;:::i;:::-;30161:25;;30205:1;30195:35;;30210:18;;:::i;:::-;30195:35;30252:1;30249;30245:9;30240:14;;30075:185;;;;:::o;30266:180::-;30314:77;30311:1;30304:88;30411:4;30408:1;30401:15;30435:4;30432:1;30425:15;30452:180;30500:77;30497:1;30490:88;30597:4;30594:1;30587:15;30621:4;30618:1;30611:15;30638:114;30705:6;30739:5;30733:12;30723:22;;30638:114;;;:::o;30758:184::-;30857:11;30891:6;30886:3;30879:19;30931:4;30926:3;30922:14;30907:29;;30758:184;;;;:::o;30948:132::-;31015:4;31038:3;31030:11;;31068:4;31063:3;31059:14;31051:22;;30948:132;;;:::o;31086:108::-;31163:24;31181:5;31163:24;:::i;:::-;31158:3;31151:37;31086:108;;:::o;31200:179::-;31269:10;31290:46;31332:3;31324:6;31290:46;:::i;:::-;31368:4;31363:3;31359:14;31345:28;;31200:179;;;;:::o;31385:113::-;31455:4;31487;31482:3;31478:14;31470:22;;31385:113;;;:::o;31534:732::-;31653:3;31682:54;31730:5;31682:54;:::i;:::-;31752:86;31831:6;31826:3;31752:86;:::i;:::-;31745:93;;31862:56;31912:5;31862:56;:::i;:::-;31941:7;31972:1;31957:284;31982:6;31979:1;31976:13;31957:284;;;32058:6;32052:13;32085:63;32144:3;32129:13;32085:63;:::i;:::-;32078:70;;32171:60;32224:6;32171:60;:::i;:::-;32161:70;;32017:224;32004:1;32001;31997:9;31992:14;;31957:284;;;31961:14;32257:3;32250:10;;31658:608;;;31534:732;;;;:::o;32272:831::-;32535:4;32573:3;32562:9;32558:19;32550:27;;32587:71;32655:1;32644:9;32640:17;32631:6;32587:71;:::i;:::-;32668:80;32744:2;32733:9;32729:18;32720:6;32668:80;:::i;:::-;32795:9;32789:4;32785:20;32780:2;32769:9;32765:18;32758:48;32823:108;32926:4;32917:6;32823:108;:::i;:::-;32815:116;;32941:72;33009:2;32998:9;32994:18;32985:6;32941:72;:::i;:::-;33023:73;33091:3;33080:9;33076:19;33067:6;33023:73;:::i;:::-;32272:831;;;;;;;;:::o

Swarm Source

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