ETH Price: $2,941.02 (-5.75%)
Gas: 8 Gwei

Token

OrangeTang Inu (TANG)
 

Overview

Max Total Supply

100,000,000,000 TANG

Holders

90

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
928,159,761.250827404486185346 TANG

Value
$0.00
0x0ba16231c8632079f96df505e35e00d62e214d70
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:
OrangeTangInu

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-05
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.13;

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);
}

interface IFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
            address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline
            ) external payable returns (
                uint256 amountToken, uint256 amountETH, uint256 liquidity
                );

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
            uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline
            ) external;
}

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

contract Ownable is Context {
    address private _owner;
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
    }
    function owner() public view returns (address) { return _owner; }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner.");
        _;
    }
    function renounceOwnership() external virtual onlyOwner { _owner = address(0); }
    function transferOwnership(address newOwner) external virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address.");
        _owner = newOwner;
    }
}

contract OrangeTangInu is IERC20, Ownable {
    IRouter public uniswapV2Router;
    address public uniswapV2Pair;
    string private constant _name =  "OrangeTang Inu";
    string private constant _symbol = "TANG";
    uint8 private constant _decimals = 18;
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 private constant _totalSupply = 100000000000 * 10**18; // 100 billion
    mapping (address => bool) public automatedMarketMakerPairs;
    bool private isLiquidityAdded = false;
    uint256 public maxWalletAmount = _totalSupply;
    uint256 public maxTxAmount = _totalSupply;
    mapping (address => bool) private _isExcludedFromMaxWalletLimit;
    mapping (address => bool) private _isExcludedFromMaxTransactionLimit;
    mapping (address => bool) private _isExcludedFromFee;
    uint8 public constant taxFee = 4;
    address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;
    address private taxWallet;
    uint256 minimumTokensBeforeSwap = _totalSupply * 250 / 1000000; // .025%
    uint256 private _launchTimestamp;

    constructor() {
        IRouter _uniswapV2Router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        taxWallet = owner();
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[deadWallet] = true;
        _isExcludedFromMaxWalletLimit[address(uniswapV2Router)] = true;
        _isExcludedFromMaxWalletLimit[address(this)] = true;
        _isExcludedFromMaxWalletLimit[owner()] = true;
        _isExcludedFromMaxWalletLimit[deadWallet] = true;
        _isExcludedFromMaxTransactionLimit[address(uniswapV2Router)] = true;
        _isExcludedFromMaxTransactionLimit[address(this)] = true;
        _isExcludedFromMaxTransactionLimit[owner()] = true;
        _isExcludedFromMaxTransactionLimit[deadWallet] = true;
        balances[address(this)] = _totalSupply;
        emit Transfer(address(0), address(this), _totalSupply);
    }

    receive() external payable {} // so the contract can receive eth

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

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

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

    function increaseAllowance(address spender, uint256 addedValue) external virtual returns (bool){
        _approve(_msgSender(),spender,_allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) external virtual returns (bool) {
        require(subtractedValue <= _allowances[_msgSender()][spender], "ERC20: decreased allownace below zero.");
        _approve(_msgSender(),spender,_allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }

    function setMinimumTokensBeforeSwap(uint256 newValue) external onlyOwner {
        require(newValue != minimumTokensBeforeSwap, "cannot update minimumTokensBeforeSwap to same value.");
        require(newValue <= _totalSupply * 1 / 100, "cannot update minimumTokensBeforeSwap to more than 1%.");
        minimumTokensBeforeSwap = newValue;
    }

    function withdrawETH() external onlyOwner {
        require(address(this).balance > 0, "cannot send more than contract balance.");
        uint256 amount = address(this).balance;
        (bool success,) = address(owner()).call{value : amount}("");
        require(success, "error withdrawing ETH from contract.");
    }

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

    function activateTrading() external onlyOwner {
        require(!isLiquidityAdded, "you can only add liquidity once");
        isLiquidityAdded = true;
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, _msgSender(), block.timestamp);
        address _uniswapV2Pair = IFactory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH() );
        uniswapV2Pair = _uniswapV2Pair;
        maxWalletAmount = _totalSupply * 2 / 100; //  2%
        maxTxAmount = _totalSupply * 2 / 100;     //  2%
        _isExcludedFromMaxWalletLimit[_uniswapV2Pair] = true;
        _isExcludedFromMaxTransactionLimit[_uniswapV2Pair] = true;
        _setAutomatedMarketMakerPair(_uniswapV2Pair, true);
        _launchTimestamp = block.timestamp;
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        require(automatedMarketMakerPairs[pair] != value, "automated market maker pair is already set to that value.");
        automatedMarketMakerPairs[pair] = value;
    }

    function name() external pure returns (string memory) { return _name; }
    function symbol() external pure returns (string memory) { return _symbol; }
    function decimals() external view virtual returns (uint8) { return _decimals; }
    function totalSupply() external pure override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return balances[account]; }
    function allowance(address owner, address spender) external view override returns (uint256) { return _allowances[owner][spender]; }

    function _transfer(address from, address to, uint256 amount) internal {
        require(from != address(0), "cannot transfer from the zero address.");
        require(to != address(0), "cannot transfer to the zero address.");
        require(amount > 0, "transfer amount must be greater than zero.");
        require(amount <= balanceOf(from), "cannot transfer more than balance.");
        if ((from == address(uniswapV2Pair) && !_isExcludedFromMaxTransactionLimit[to]) ||
                (to == address(uniswapV2Pair) && !_isExcludedFromMaxTransactionLimit[from])) {
            require(amount <= maxTxAmount, "transfer amount exceeds the maxTxAmount.");
        }
        if (!_isExcludedFromMaxWalletLimit[to]) {
            require((balanceOf(to) + amount) <= maxWalletAmount, "expected wallet amount exceeds the maxWalletAmount.");
        }
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            balances[from] -= amount;
            balances[to] += amount;
            emit Transfer(from, to, amount);
        } else {
            balances[from] -= amount;
            if (from == uniswapV2Pair) { // buy
                balances[address(this)] += amount * taxFee / 100;
                emit Transfer(from, address(this), amount * taxFee / 100);
                balances[to] += amount - (amount * taxFee / 100);
                emit Transfer(from, to, amount - (amount * taxFee / 100));
            } else { // sell
                balances[address(this)] += amount * taxFee / 100;
                emit Transfer(from, address(this), amount * taxFee / 100);
                if (balanceOf(address(this)) > minimumTokensBeforeSwap) {
                    _swapTokensForETH(balanceOf(address(this)));
                    payable(taxWallet).transfer(address(this).balance);
                }
                balances[to] += amount - (amount * taxFee / 100);
                emit Transfer(from, to, amount - (amount * taxFee / 100));
            }
        }
    }

    function _swapTokensForETH(uint256 tokenAmount) private {
        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);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"activateTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setMinimumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600660006101000a81548160ff0219169083151502179055506c01431e0fae6d7217caa00000006007556c01431e0fae6d7217caa0000000600855620f424060fa6c01431e0fae6d7217caa0000000620000619190620006f3565b6200006d919062000783565b600d553480156200007d57600080fd5b506000620000906200068960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200013d6200069160201b60201c565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b6000620001936200069160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960006200037e6200069160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016009600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000620005116200069160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506c01431e0fae6d7217caa0000000600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6c01431e0fae6d7217caa00000006040516200067a9190620007cc565b60405180910390a350620007e9565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200070082620006ba565b91506200070d83620006ba565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007495762000748620006c4565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200079082620006ba565b91506200079d83620006ba565b925082620007b057620007af62000754565b5b828204905092915050565b620007c681620006ba565b82525050565b6000602082019050620007e36000830184620007bb565b92915050565b61378180620007f96000396000f3fe60806040526004361061014f5760003560e01c80638c0b5e22116100b6578063aa4bde281161006f578063aa4bde28146104a5578063aee50b1e146104d0578063b62496f5146104f9578063dd62ed3e14610536578063e086e5ec14610573578063f2fde38b1461058a57610156565b80638c0b5e221461037f5780638da5cb5b146103aa57806395d89b41146103d5578063a071dcf414610400578063a457c2d71461042b578063a9059cbb1461046857610156565b8063313ce56711610108578063313ce5671461026d578063395093511461029857806349bd5a5e146102d557806370a0823114610300578063715018a61461033d57806385141a771461035457610156565b806306fdde031461015b578063095ea7b3146101865780630bd05b69146101c35780631694505e146101da57806318160ddd1461020557806323b872dd1461023057610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105b3565b60405161017d919061256c565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612627565b6105f0565b6040516101ba9190612682565b60405180910390f35b3480156101cf57600080fd5b506101d861060e565b005b3480156101e657600080fd5b506101ef610b02565b6040516101fc91906126fc565b60405180910390f35b34801561021157600080fd5b5061021a610b28565b6040516102279190612726565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612741565b610b3d565b6040516102649190612682565b60405180910390f35b34801561027957600080fd5b50610282610cbb565b60405161028f91906127b0565b60405180910390f35b3480156102a457600080fd5b506102bf60048036038101906102ba9190612627565b610cc4565b6040516102cc9190612682565b60405180910390f35b3480156102e157600080fd5b506102ea610d70565b6040516102f791906127da565b60405180910390f35b34801561030c57600080fd5b50610327600480360381019061032291906127f5565b610d96565b6040516103349190612726565b60405180910390f35b34801561034957600080fd5b50610352610ddf565b005b34801561036057600080fd5b50610369610eb7565b60405161037691906127da565b60405180910390f35b34801561038b57600080fd5b50610394610ebd565b6040516103a19190612726565b60405180910390f35b3480156103b657600080fd5b506103bf610ec3565b6040516103cc91906127da565b60405180910390f35b3480156103e157600080fd5b506103ea610eec565b6040516103f7919061256c565b60405180910390f35b34801561040c57600080fd5b50610415610f29565b60405161042291906127b0565b60405180910390f35b34801561043757600080fd5b50610452600480360381019061044d9190612627565b610f2e565b60405161045f9190612682565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a9190612627565b6110a0565b60405161049c9190612682565b60405180910390f35b3480156104b157600080fd5b506104ba6110be565b6040516104c79190612726565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f29190612822565b6110c4565b005b34801561050557600080fd5b50610520600480360381019061051b91906127f5565b61120f565b60405161052d9190612682565b60405180910390f35b34801561054257600080fd5b5061055d6004803603810190610558919061284f565b61122f565b60405161056a9190612726565b60405180910390f35b34801561057f57600080fd5b506105886112b6565b005b34801561059657600080fd5b506105b160048036038101906105ac91906127f5565b61144a565b005b60606040518060400160405280600e81526020017f4f72616e676554616e6720496e75000000000000000000000000000000000000815250905090565b60006106046105fd611591565b8484611599565b6001905092915050565b610616611591565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069a90612901565b60405180910390fd5b600660009054906101000a900460ff16156106f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ea9061296d565b60405180910390fd5b6001600660006101000a81548160ff02191690831515021790555061074830600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166c01431e0fae6d7217caa0000000611599565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061079130610d96565b60008061079c611591565b426040518863ffffffff1660e01b81526004016107be969594939291906129c8565b60606040518083038185885af11580156107dc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108019190612a3e565b5050506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610873573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108979190612aa6565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109449190612aa6565b6040518363ffffffff1660e01b8152600401610961929190612ad3565b602060405180830381865afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a29190612aa6565b905080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460026c01431e0fae6d7217caa0000000610a019190612b2b565b610a0b9190612bb4565b600781905550606460026c01431e0fae6d7217caa0000000610a2d9190612b2b565b610a379190612bb4565b6008819055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610af88160016116fd565b42600e8190555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006c01431e0fae6d7217caa0000000905090565b6000610b4a8484846117ea565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b93611591565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790612c57565b60405180910390fd5b610cb084610c1c611591565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c66611591565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cab9190612c77565b611599565b600190509392505050565b60006012905090565b6000610d66610cd1611591565b848460046000610cdf611591565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d619190612cab565b611599565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610de7611591565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6b90612901565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61dead81565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f54414e4700000000000000000000000000000000000000000000000000000000815250905090565b600481565b600060046000610f3c611591565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fed90612d73565b60405180910390fd5b611096611001611591565b84846004600061100f611591565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110919190612c77565b611599565b6001905092915050565b60006110b46110ad611591565b84846117ea565b6001905092915050565b60075481565b6110cc611591565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115090612901565b60405180910390fd5b600d54810361119d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119490612e05565b60405180910390fd5b606460016c01431e0fae6d7217caa00000006111b99190612b2b565b6111c39190612bb4565b811115611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc90612e97565b60405180910390fd5b80600d8190555050565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112be611591565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461134b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134290612901565b60405180910390fd5b6000471161138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612f29565b60405180910390fd5b6000479050600061139d610ec3565b73ffffffffffffffffffffffffffffffffffffffff16826040516113c090612f7a565b60006040518083038185875af1925050503d80600081146113fd576040519150601f19603f3d011682016040523d82523d6000602084013e611402565b606091505b5050905080611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143d90613001565b60405180910390fd5b5050565b611452611591565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d690612901565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361154e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154590613093565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ff90613125565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166e906131b7565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b801515600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615150361178f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178690613249565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611859576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611850906132db565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf9061336d565b60405180910390fd5b6000811161190b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611902906133ff565b60405180910390fd5b61191483610d96565b811115611956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194d90613491565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119fd5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80611aab5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611aaa5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15611af657600854811115611af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aec90613523565b60405180910390fd5b5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611ba05760075481611b5484610d96565b611b5e9190612cab565b1115611b9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b96906135b5565b60405180910390fd5b5b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c415750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d5c5780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c959190612c77565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ceb9190612cab565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d4f9190612726565b60405180910390a361228b565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611dab9190612c77565b92505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612004576064600460ff1682611e199190612b2b565b611e239190612bb4565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e719190612cab565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600460ff1685611ed99190612b2b565b611ee39190612bb4565b604051611ef09190612726565b60405180910390a36064600460ff1682611f0a9190612b2b565b611f149190612bb4565b81611f1f9190612c77565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f6d9190612cab565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600460ff1685611fd59190612b2b565b611fdf9190612bb4565b84611fea9190612c77565b604051611ff79190612726565b60405180910390a361228a565b6064600460ff16826120169190612b2b565b6120209190612bb4565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461206e9190612cab565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600460ff16856120d69190612b2b565b6120e09190612bb4565b6040516120ed9190612726565b60405180910390a3600d5461210130610d96565b11156121825761211861211330610d96565b612290565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015612180573d6000803e3d6000fd5b505b6064600460ff16826121949190612b2b565b61219e9190612bb4565b816121a99190612c77565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121f79190612cab565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600460ff168561225f9190612b2b565b6122699190612bb4565b846122749190612c77565b6040516122819190612726565b60405180910390a35b5b505050565b6000600267ffffffffffffffff8111156122ad576122ac6135d5565b5b6040519080825280602002602001820160405280156122db5781602001602082028036833780820191505090505b50905030816000815181106122f3576122f2613604565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561239a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123be9190612aa6565b816001815181106123d2576123d1613604565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061243930600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611599565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161249d9594939291906136f1565b600060405180830381600087803b1580156124b757600080fd5b505af11580156124cb573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561250d5780820151818401526020810190506124f2565b8381111561251c576000848401525b50505050565b6000601f19601f8301169050919050565b600061253e826124d3565b61254881856124de565b93506125588185602086016124ef565b61256181612522565b840191505092915050565b600060208201905081810360008301526125868184612533565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125be82612593565b9050919050565b6125ce816125b3565b81146125d957600080fd5b50565b6000813590506125eb816125c5565b92915050565b6000819050919050565b612604816125f1565b811461260f57600080fd5b50565b600081359050612621816125fb565b92915050565b6000806040838503121561263e5761263d61258e565b5b600061264c858286016125dc565b925050602061265d85828601612612565b9150509250929050565b60008115159050919050565b61267c81612667565b82525050565b60006020820190506126976000830184612673565b92915050565b6000819050919050565b60006126c26126bd6126b884612593565b61269d565b612593565b9050919050565b60006126d4826126a7565b9050919050565b60006126e6826126c9565b9050919050565b6126f6816126db565b82525050565b600060208201905061271160008301846126ed565b92915050565b612720816125f1565b82525050565b600060208201905061273b6000830184612717565b92915050565b60008060006060848603121561275a5761275961258e565b5b6000612768868287016125dc565b9350506020612779868287016125dc565b925050604061278a86828701612612565b9150509250925092565b600060ff82169050919050565b6127aa81612794565b82525050565b60006020820190506127c560008301846127a1565b92915050565b6127d4816125b3565b82525050565b60006020820190506127ef60008301846127cb565b92915050565b60006020828403121561280b5761280a61258e565b5b6000612819848285016125dc565b91505092915050565b6000602082840312156128385761283761258e565b5b600061284684828501612612565b91505092915050565b600080604083850312156128665761286561258e565b5b6000612874858286016125dc565b9250506020612885858286016125dc565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b60006128eb6021836124de565b91506128f68261288f565b604082019050919050565b6000602082019050818103600083015261291a816128de565b9050919050565b7f796f752063616e206f6e6c7920616464206c6971756964697479206f6e636500600082015250565b6000612957601f836124de565b915061296282612921565b602082019050919050565b600060208201905081810360008301526129868161294a565b9050919050565b6000819050919050565b60006129b26129ad6129a88461298d565b61269d565b6125f1565b9050919050565b6129c281612997565b82525050565b600060c0820190506129dd60008301896127cb565b6129ea6020830188612717565b6129f760408301876129b9565b612a0460608301866129b9565b612a1160808301856127cb565b612a1e60a0830184612717565b979650505050505050565b600081519050612a38816125fb565b92915050565b600080600060608486031215612a5757612a5661258e565b5b6000612a6586828701612a29565b9350506020612a7686828701612a29565b9250506040612a8786828701612a29565b9150509250925092565b600081519050612aa0816125c5565b92915050565b600060208284031215612abc57612abb61258e565b5b6000612aca84828501612a91565b91505092915050565b6000604082019050612ae860008301856127cb565b612af560208301846127cb565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b36826125f1565b9150612b41836125f1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b7a57612b79612afc565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612bbf826125f1565b9150612bca836125f1565b925082612bda57612bd9612b85565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e63652e0000000000000000000000000000000000000000000000602082015250565b6000612c416029836124de565b9150612c4c82612be5565b604082019050919050565b60006020820190508181036000830152612c7081612c34565b9050919050565b6000612c82826125f1565b9150612c8d836125f1565b925082821015612ca057612c9f612afc565b5b828203905092915050565b6000612cb6826125f1565b9150612cc1836125f1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612cf657612cf5612afc565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f776e6163652062656c6f7760008201527f207a65726f2e0000000000000000000000000000000000000000000000000000602082015250565b6000612d5d6026836124de565b9150612d6882612d01565b604082019050919050565b60006020820190508181036000830152612d8c81612d50565b9050919050565b7f63616e6e6f7420757064617465206d696e696d756d546f6b656e734265666f7260008201527f655377617020746f2073616d652076616c75652e000000000000000000000000602082015250565b6000612def6034836124de565b9150612dfa82612d93565b604082019050919050565b60006020820190508181036000830152612e1e81612de2565b9050919050565b7f63616e6e6f7420757064617465206d696e696d756d546f6b656e734265666f7260008201527f655377617020746f206d6f7265207468616e2031252e00000000000000000000602082015250565b6000612e816036836124de565b9150612e8c82612e25565b604082019050919050565b60006020820190508181036000830152612eb081612e74565b9050919050565b7f63616e6e6f742073656e64206d6f7265207468616e20636f6e7472616374206260008201527f616c616e63652e00000000000000000000000000000000000000000000000000602082015250565b6000612f136027836124de565b9150612f1e82612eb7565b604082019050919050565b60006020820190508181036000830152612f4281612f06565b9050919050565b600081905092915050565b50565b6000612f64600083612f49565b9150612f6f82612f54565b600082019050919050565b6000612f8582612f57565b9150819050919050565b7f6572726f72207769746864726177696e67204554482066726f6d20636f6e747260008201527f6163742e00000000000000000000000000000000000000000000000000000000602082015250565b6000612feb6024836124de565b9150612ff682612f8f565b604082019050919050565b6000602082019050818103600083015261301a81612fde565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573732e00000000000000000000000000000000000000000000000000602082015250565b600061307d6027836124de565b915061308882613021565b604082019050919050565b600060208201905081810360008301526130ac81613070565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061310f6024836124de565b915061311a826130b3565b604082019050919050565b6000602082019050818103600083015261313e81613102565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006131a16022836124de565b91506131ac82613145565b604082019050919050565b600060208201905081810360008301526131d081613194565b9050919050565b7f6175746f6d61746564206d61726b6574206d616b65722070616972206973206160008201527f6c72656164792073657420746f20746861742076616c75652e00000000000000602082015250565b60006132336039836124de565b915061323e826131d7565b604082019050919050565b6000602082019050818103600083015261326281613226565b9050919050565b7f63616e6e6f74207472616e736665722066726f6d20746865207a65726f20616460008201527f64726573732e0000000000000000000000000000000000000000000000000000602082015250565b60006132c56026836124de565b91506132d082613269565b604082019050919050565b600060208201905081810360008301526132f4816132b8565b9050919050565b7f63616e6e6f74207472616e7366657220746f20746865207a65726f206164647260008201527f6573732e00000000000000000000000000000000000000000000000000000000602082015250565b60006133576024836124de565b9150613362826132fb565b604082019050919050565b600060208201905081810360008301526133868161334a565b9050919050565b7f7472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f2e00000000000000000000000000000000000000000000602082015250565b60006133e9602a836124de565b91506133f48261338d565b604082019050919050565b60006020820190508181036000830152613418816133dc565b9050919050565b7f63616e6e6f74207472616e73666572206d6f7265207468616e2062616c616e6360008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b600061347b6022836124de565b91506134868261341f565b604082019050919050565b600060208201905081810360008301526134aa8161346e565b9050919050565b7f7472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b600061350d6028836124de565b9150613518826134b1565b604082019050919050565b6000602082019050818103600083015261353c81613500565b9050919050565b7f65787065637465642077616c6c657420616d6f756e742065786365656473207460008201527f6865206d617857616c6c6574416d6f756e742e00000000000000000000000000602082015250565b600061359f6033836124de565b91506135aa82613543565b604082019050919050565b600060208201905081810360008301526135ce81613592565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613668816125b3565b82525050565b600061367a838361365f565b60208301905092915050565b6000602082019050919050565b600061369e82613633565b6136a8818561363e565b93506136b38361364f565b8060005b838110156136e45781516136cb888261366e565b97506136d683613686565b9250506001810190506136b7565b5085935050505092915050565b600060a0820190506137066000830188612717565b61371360208301876129b9565b81810360408301526137258186613693565b905061373460608301856127cb565b6137416080830184612717565b969550505050505056fea2646970667358221220a458c4d2f236355fecfaed4060aac073c03ac8880dd23dd33c9452d90891367f64736f6c634300080d0033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80638c0b5e22116100b6578063aa4bde281161006f578063aa4bde28146104a5578063aee50b1e146104d0578063b62496f5146104f9578063dd62ed3e14610536578063e086e5ec14610573578063f2fde38b1461058a57610156565b80638c0b5e221461037f5780638da5cb5b146103aa57806395d89b41146103d5578063a071dcf414610400578063a457c2d71461042b578063a9059cbb1461046857610156565b8063313ce56711610108578063313ce5671461026d578063395093511461029857806349bd5a5e146102d557806370a0823114610300578063715018a61461033d57806385141a771461035457610156565b806306fdde031461015b578063095ea7b3146101865780630bd05b69146101c35780631694505e146101da57806318160ddd1461020557806323b872dd1461023057610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105b3565b60405161017d919061256c565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a89190612627565b6105f0565b6040516101ba9190612682565b60405180910390f35b3480156101cf57600080fd5b506101d861060e565b005b3480156101e657600080fd5b506101ef610b02565b6040516101fc91906126fc565b60405180910390f35b34801561021157600080fd5b5061021a610b28565b6040516102279190612726565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612741565b610b3d565b6040516102649190612682565b60405180910390f35b34801561027957600080fd5b50610282610cbb565b60405161028f91906127b0565b60405180910390f35b3480156102a457600080fd5b506102bf60048036038101906102ba9190612627565b610cc4565b6040516102cc9190612682565b60405180910390f35b3480156102e157600080fd5b506102ea610d70565b6040516102f791906127da565b60405180910390f35b34801561030c57600080fd5b50610327600480360381019061032291906127f5565b610d96565b6040516103349190612726565b60405180910390f35b34801561034957600080fd5b50610352610ddf565b005b34801561036057600080fd5b50610369610eb7565b60405161037691906127da565b60405180910390f35b34801561038b57600080fd5b50610394610ebd565b6040516103a19190612726565b60405180910390f35b3480156103b657600080fd5b506103bf610ec3565b6040516103cc91906127da565b60405180910390f35b3480156103e157600080fd5b506103ea610eec565b6040516103f7919061256c565b60405180910390f35b34801561040c57600080fd5b50610415610f29565b60405161042291906127b0565b60405180910390f35b34801561043757600080fd5b50610452600480360381019061044d9190612627565b610f2e565b60405161045f9190612682565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a9190612627565b6110a0565b60405161049c9190612682565b60405180910390f35b3480156104b157600080fd5b506104ba6110be565b6040516104c79190612726565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f29190612822565b6110c4565b005b34801561050557600080fd5b50610520600480360381019061051b91906127f5565b61120f565b60405161052d9190612682565b60405180910390f35b34801561054257600080fd5b5061055d6004803603810190610558919061284f565b61122f565b60405161056a9190612726565b60405180910390f35b34801561057f57600080fd5b506105886112b6565b005b34801561059657600080fd5b506105b160048036038101906105ac91906127f5565b61144a565b005b60606040518060400160405280600e81526020017f4f72616e676554616e6720496e75000000000000000000000000000000000000815250905090565b60006106046105fd611591565b8484611599565b6001905092915050565b610616611591565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069a90612901565b60405180910390fd5b600660009054906101000a900460ff16156106f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ea9061296d565b60405180910390fd5b6001600660006101000a81548160ff02191690831515021790555061074830600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166c01431e0fae6d7217caa0000000611599565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061079130610d96565b60008061079c611591565b426040518863ffffffff1660e01b81526004016107be969594939291906129c8565b60606040518083038185885af11580156107dc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108019190612a3e565b5050506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610873573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108979190612aa6565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109449190612aa6565b6040518363ffffffff1660e01b8152600401610961929190612ad3565b602060405180830381865afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a29190612aa6565b905080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460026c01431e0fae6d7217caa0000000610a019190612b2b565b610a0b9190612bb4565b600781905550606460026c01431e0fae6d7217caa0000000610a2d9190612b2b565b610a379190612bb4565b6008819055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610af88160016116fd565b42600e8190555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006c01431e0fae6d7217caa0000000905090565b6000610b4a8484846117ea565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b93611591565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790612c57565b60405180910390fd5b610cb084610c1c611591565b84600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c66611591565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cab9190612c77565b611599565b600190509392505050565b60006012905090565b6000610d66610cd1611591565b848460046000610cdf611591565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d619190612cab565b611599565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610de7611591565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6b90612901565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61dead81565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f54414e4700000000000000000000000000000000000000000000000000000000815250905090565b600481565b600060046000610f3c611591565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fed90612d73565b60405180910390fd5b611096611001611591565b84846004600061100f611591565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110919190612c77565b611599565b6001905092915050565b60006110b46110ad611591565b84846117ea565b6001905092915050565b60075481565b6110cc611591565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115090612901565b60405180910390fd5b600d54810361119d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119490612e05565b60405180910390fd5b606460016c01431e0fae6d7217caa00000006111b99190612b2b565b6111c39190612bb4565b811115611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc90612e97565b60405180910390fd5b80600d8190555050565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112be611591565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461134b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134290612901565b60405180910390fd5b6000471161138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612f29565b60405180910390fd5b6000479050600061139d610ec3565b73ffffffffffffffffffffffffffffffffffffffff16826040516113c090612f7a565b60006040518083038185875af1925050503d80600081146113fd576040519150601f19603f3d011682016040523d82523d6000602084013e611402565b606091505b5050905080611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143d90613001565b60405180910390fd5b5050565b611452611591565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d690612901565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361154e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154590613093565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ff90613125565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166e906131b7565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b801515600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615150361178f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178690613249565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611859576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611850906132db565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf9061336d565b60405180910390fd5b6000811161190b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611902906133ff565b60405180910390fd5b61191483610d96565b811115611956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194d90613491565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119fd5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80611aab5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611aaa5750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15611af657600854811115611af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aec90613523565b60405180910390fd5b5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611ba05760075481611b5484610d96565b611b5e9190612cab565b1115611b9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b96906135b5565b60405180910390fd5b5b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c415750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d5c5780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c959190612c77565b9250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ceb9190612cab565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d4f9190612726565b60405180910390a361228b565b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611dab9190612c77565b92505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612004576064600460ff1682611e199190612b2b565b611e239190612bb4565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e719190612cab565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600460ff1685611ed99190612b2b565b611ee39190612bb4565b604051611ef09190612726565b60405180910390a36064600460ff1682611f0a9190612b2b565b611f149190612bb4565b81611f1f9190612c77565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f6d9190612cab565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600460ff1685611fd59190612b2b565b611fdf9190612bb4565b84611fea9190612c77565b604051611ff79190612726565b60405180910390a361228a565b6064600460ff16826120169190612b2b565b6120209190612bb4565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461206e9190612cab565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600460ff16856120d69190612b2b565b6120e09190612bb4565b6040516120ed9190612726565b60405180910390a3600d5461210130610d96565b11156121825761211861211330610d96565b612290565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015612180573d6000803e3d6000fd5b505b6064600460ff16826121949190612b2b565b61219e9190612bb4565b816121a99190612c77565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121f79190612cab565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600460ff168561225f9190612b2b565b6122699190612bb4565b846122749190612c77565b6040516122819190612726565b60405180910390a35b5b505050565b6000600267ffffffffffffffff8111156122ad576122ac6135d5565b5b6040519080825280602002602001820160405280156122db5781602001602082028036833780820191505090505b50905030816000815181106122f3576122f2613604565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561239a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123be9190612aa6565b816001815181106123d2576123d1613604565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061243930600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611599565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161249d9594939291906136f1565b600060405180830381600087803b1580156124b757600080fd5b505af11580156124cb573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561250d5780820151818401526020810190506124f2565b8381111561251c576000848401525b50505050565b6000601f19601f8301169050919050565b600061253e826124d3565b61254881856124de565b93506125588185602086016124ef565b61256181612522565b840191505092915050565b600060208201905081810360008301526125868184612533565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125be82612593565b9050919050565b6125ce816125b3565b81146125d957600080fd5b50565b6000813590506125eb816125c5565b92915050565b6000819050919050565b612604816125f1565b811461260f57600080fd5b50565b600081359050612621816125fb565b92915050565b6000806040838503121561263e5761263d61258e565b5b600061264c858286016125dc565b925050602061265d85828601612612565b9150509250929050565b60008115159050919050565b61267c81612667565b82525050565b60006020820190506126976000830184612673565b92915050565b6000819050919050565b60006126c26126bd6126b884612593565b61269d565b612593565b9050919050565b60006126d4826126a7565b9050919050565b60006126e6826126c9565b9050919050565b6126f6816126db565b82525050565b600060208201905061271160008301846126ed565b92915050565b612720816125f1565b82525050565b600060208201905061273b6000830184612717565b92915050565b60008060006060848603121561275a5761275961258e565b5b6000612768868287016125dc565b9350506020612779868287016125dc565b925050604061278a86828701612612565b9150509250925092565b600060ff82169050919050565b6127aa81612794565b82525050565b60006020820190506127c560008301846127a1565b92915050565b6127d4816125b3565b82525050565b60006020820190506127ef60008301846127cb565b92915050565b60006020828403121561280b5761280a61258e565b5b6000612819848285016125dc565b91505092915050565b6000602082840312156128385761283761258e565b5b600061284684828501612612565b91505092915050565b600080604083850312156128665761286561258e565b5b6000612874858286016125dc565b9250506020612885858286016125dc565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b60006128eb6021836124de565b91506128f68261288f565b604082019050919050565b6000602082019050818103600083015261291a816128de565b9050919050565b7f796f752063616e206f6e6c7920616464206c6971756964697479206f6e636500600082015250565b6000612957601f836124de565b915061296282612921565b602082019050919050565b600060208201905081810360008301526129868161294a565b9050919050565b6000819050919050565b60006129b26129ad6129a88461298d565b61269d565b6125f1565b9050919050565b6129c281612997565b82525050565b600060c0820190506129dd60008301896127cb565b6129ea6020830188612717565b6129f760408301876129b9565b612a0460608301866129b9565b612a1160808301856127cb565b612a1e60a0830184612717565b979650505050505050565b600081519050612a38816125fb565b92915050565b600080600060608486031215612a5757612a5661258e565b5b6000612a6586828701612a29565b9350506020612a7686828701612a29565b9250506040612a8786828701612a29565b9150509250925092565b600081519050612aa0816125c5565b92915050565b600060208284031215612abc57612abb61258e565b5b6000612aca84828501612a91565b91505092915050565b6000604082019050612ae860008301856127cb565b612af560208301846127cb565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b36826125f1565b9150612b41836125f1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b7a57612b79612afc565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612bbf826125f1565b9150612bca836125f1565b925082612bda57612bd9612b85565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e63652e0000000000000000000000000000000000000000000000602082015250565b6000612c416029836124de565b9150612c4c82612be5565b604082019050919050565b60006020820190508181036000830152612c7081612c34565b9050919050565b6000612c82826125f1565b9150612c8d836125f1565b925082821015612ca057612c9f612afc565b5b828203905092915050565b6000612cb6826125f1565b9150612cc1836125f1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612cf657612cf5612afc565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f776e6163652062656c6f7760008201527f207a65726f2e0000000000000000000000000000000000000000000000000000602082015250565b6000612d5d6026836124de565b9150612d6882612d01565b604082019050919050565b60006020820190508181036000830152612d8c81612d50565b9050919050565b7f63616e6e6f7420757064617465206d696e696d756d546f6b656e734265666f7260008201527f655377617020746f2073616d652076616c75652e000000000000000000000000602082015250565b6000612def6034836124de565b9150612dfa82612d93565b604082019050919050565b60006020820190508181036000830152612e1e81612de2565b9050919050565b7f63616e6e6f7420757064617465206d696e696d756d546f6b656e734265666f7260008201527f655377617020746f206d6f7265207468616e2031252e00000000000000000000602082015250565b6000612e816036836124de565b9150612e8c82612e25565b604082019050919050565b60006020820190508181036000830152612eb081612e74565b9050919050565b7f63616e6e6f742073656e64206d6f7265207468616e20636f6e7472616374206260008201527f616c616e63652e00000000000000000000000000000000000000000000000000602082015250565b6000612f136027836124de565b9150612f1e82612eb7565b604082019050919050565b60006020820190508181036000830152612f4281612f06565b9050919050565b600081905092915050565b50565b6000612f64600083612f49565b9150612f6f82612f54565b600082019050919050565b6000612f8582612f57565b9150819050919050565b7f6572726f72207769746864726177696e67204554482066726f6d20636f6e747260008201527f6163742e00000000000000000000000000000000000000000000000000000000602082015250565b6000612feb6024836124de565b9150612ff682612f8f565b604082019050919050565b6000602082019050818103600083015261301a81612fde565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573732e00000000000000000000000000000000000000000000000000602082015250565b600061307d6027836124de565b915061308882613021565b604082019050919050565b600060208201905081810360008301526130ac81613070565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061310f6024836124de565b915061311a826130b3565b604082019050919050565b6000602082019050818103600083015261313e81613102565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006131a16022836124de565b91506131ac82613145565b604082019050919050565b600060208201905081810360008301526131d081613194565b9050919050565b7f6175746f6d61746564206d61726b6574206d616b65722070616972206973206160008201527f6c72656164792073657420746f20746861742076616c75652e00000000000000602082015250565b60006132336039836124de565b915061323e826131d7565b604082019050919050565b6000602082019050818103600083015261326281613226565b9050919050565b7f63616e6e6f74207472616e736665722066726f6d20746865207a65726f20616460008201527f64726573732e0000000000000000000000000000000000000000000000000000602082015250565b60006132c56026836124de565b91506132d082613269565b604082019050919050565b600060208201905081810360008301526132f4816132b8565b9050919050565b7f63616e6e6f74207472616e7366657220746f20746865207a65726f206164647260008201527f6573732e00000000000000000000000000000000000000000000000000000000602082015250565b60006133576024836124de565b9150613362826132fb565b604082019050919050565b600060208201905081810360008301526133868161334a565b9050919050565b7f7472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f2e00000000000000000000000000000000000000000000602082015250565b60006133e9602a836124de565b91506133f48261338d565b604082019050919050565b60006020820190508181036000830152613418816133dc565b9050919050565b7f63616e6e6f74207472616e73666572206d6f7265207468616e2062616c616e6360008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b600061347b6022836124de565b91506134868261341f565b604082019050919050565b600060208201905081810360008301526134aa8161346e565b9050919050565b7f7472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b600061350d6028836124de565b9150613518826134b1565b604082019050919050565b6000602082019050818103600083015261353c81613500565b9050919050565b7f65787065637465642077616c6c657420616d6f756e742065786365656473207460008201527f6865206d617857616c6c6574416d6f756e742e00000000000000000000000000602082015250565b600061359f6033836124de565b91506135aa82613543565b604082019050919050565b600060208201905081810360008301526135ce81613592565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613668816125b3565b82525050565b600061367a838361365f565b60208301905092915050565b6000602082019050919050565b600061369e82613633565b6136a8818561363e565b93506136b38361364f565b8060005b838110156136e45781516136cb888261366e565b97506136d683613686565b9250506001810190506136b7565b5085935050505092915050565b600060a0820190506137066000830188612717565b61371360208301876129b9565b81810360408301526137258186613693565b905061373460608301856127cb565b6137416080830184612717565b969550505050505056fea2646970667358221220a458c4d2f236355fecfaed4060aac073c03ac8880dd23dd33c9452d90891367f64736f6c634300080d0033

Deployed Bytecode Sourcemap

2358:8674:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8018:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4747:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6854:897;;;;;;;;;;;;;:::i;:::-;;2407:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8261:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4918:375;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8176:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5301:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2444:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8355:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2072:80;;;;;;;;;;;;;:::i;:::-;;3289:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2998:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1875:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8095:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3250:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5523:340;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4570:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2946:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5871:349;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2837:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8465:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6228:324;;;;;;;;;;;;;:::i;:::-;;2158:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8018:71;8057:13;8081:5;;;;;;;;;;;;;;;;;8074:12;;8018:71;:::o;4747:163::-;4824:4;4841:39;4850:12;:10;:12::i;:::-;4864:7;4873:6;4841:8;:39::i;:::-;4898:4;4891:11;;4747:163;;;;:::o;6854:897::-;1996:12;:10;:12::i;:::-;1986:22;;:6;;;;;;;;;;:22;;;1978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6920:16:::1;;;;;;;;;;;6919:17;6911:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7002:4;6983:16;;:23;;;;;;;;;;;;;;;;;;7017:63;7034:4;7049:15;;;;;;;;;;;2794:21;7017:8;:63::i;:::-;7091:15;;;;;;;;;;;:31;;;7130:21;7161:4;7168:24;7186:4;7168:9;:24::i;:::-;7194:1;7197::::0;7200:12:::1;:10;:12::i;:::-;7214:15;7091:139;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7241:22;7275:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7266:43;;;7318:4;7325:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7266:83;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7241:108;;7376:14;7360:13;;:30;;;;;;;;;;;;;;;;;;7438:3;7434:1;2794:21;7419:16;;;;:::i;:::-;:22;;;;:::i;:::-;7401:15;:40;;;;7492:3;7488:1;2794:21;7473:16;;;;:::i;:::-;:22;;;;:::i;:::-;7459:11;:36;;;;7565:4;7517:29;:45;7547:14;7517:45;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;7633:4;7580:34;:50;7615:14;7580:50;;;;;;;;;;;;;;;;:57;;;;;;;;;;;;;;;;;;7648:50;7677:14;7693:4;7648:28;:50::i;:::-;7728:15;7709:16;:34;;;;6900:851;6854:897::o:0;2407:30::-;;;;;;;;;;;;;:::o;8261:88::-;8316:7;2794:21;8327:19;;8261:88;:::o;4918:375::-;5017:4;5034:36;5044:6;5052:9;5063:6;5034:9;:36::i;:::-;5099:11;:19;5111:6;5099:19;;;;;;;;;;;;;;;:33;5119:12;:10;:12::i;:::-;5099:33;;;;;;;;;;;;;;;;5089:6;:43;;5081:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;5189:74;5198:6;5206:12;:10;:12::i;:::-;5256:6;5220:11;:19;5232:6;5220:19;;;;;;;;;;;;;;;:33;5240:12;:10;:12::i;:::-;5220:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;5189:8;:74::i;:::-;5281:4;5274:11;;4918:375;;;;;:::o;8176:79::-;8227:5;2617:2;8236:16;;8176:79;:::o;5301:214::-;5391:4;5407:78;5416:12;:10;:12::i;:::-;5429:7;5474:10;5437:11;:25;5449:12;:10;:12::i;:::-;5437:25;;;;;;;;;;;;;;;:34;5463:7;5437:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5407:8;:78::i;:::-;5503:4;5496:11;;5301:214;;;;:::o;2444:28::-;;;;;;;;;;;;;:::o;8355:104::-;8421:7;8439:8;:17;8448:7;8439:17;;;;;;;;;;;;;;;;8432:24;;8355:104;;;:::o;2072:80::-;1996:12;:10;:12::i;:::-;1986:22;;:6;;;;;;;;;;:22;;;1978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2147:1:::1;2130:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2072:80::o:0;3289:79::-;3326:42;3289:79;:::o;2998:41::-;;;;:::o;1875:65::-;1913:7;1931:6;;;;;;;;;;;1924:13;;1875:65;:::o;8095:75::-;8136:13;8160:7;;;;;;;;;;;;;;;;;8153:14;;8095:75;:::o;3250:32::-;3281:1;3250:32;:::o;5523:340::-;5618:4;5662:11;:25;5674:12;:10;:12::i;:::-;5662:25;;;;;;;;;;;;;;;:34;5688:7;5662:34;;;;;;;;;;;;;;;;5643:15;:53;;5635:104;;;;;;;;;;;;:::i;:::-;;;;;;;;;5750:83;5759:12;:10;:12::i;:::-;5772:7;5817:15;5780:11;:25;5792:12;:10;:12::i;:::-;5780:25;;;;;;;;;;;;;;;:34;5806:7;5780:34;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;5750:8;:83::i;:::-;5851:4;5844:11;;5523:340;;;;:::o;4570:169::-;4650:4;4667:42;4677:12;:10;:12::i;:::-;4691:9;4702:6;4667:9;:42::i;:::-;4727:4;4720:11;;4570:169;;;;:::o;2946:45::-;;;;:::o;5871:349::-;1996:12;:10;:12::i;:::-;1986:22;;:6;;;;;;;;;;:22;;;1978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5975:23:::1;;5963:8;:35:::0;5955:100:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6105:3;6101:1;2794:21;6086:16;;;;:::i;:::-;:22;;;;:::i;:::-;6074:8;:34;;6066:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;6204:8;6178:23;:34;;;;5871:349:::0;:::o;2837:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;8465:131::-;8548:7;8566:11;:18;8578:5;8566:18;;;;;;;;;;;;;;;:27;8585:7;8566:27;;;;;;;;;;;;;;;;8559:34;;8465:131;;;;:::o;6228:324::-;1996:12;:10;:12::i;:::-;1986:22;;:6;;;;;;;;;;:22;;;1978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6313:1:::1;6289:21;:25;6281:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;6369:14;6386:21;6369:38;;6419:12;6444:7;:5;:7::i;:::-;6436:21;;6466:6;6436:41;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6418:59;;;6496:7;6488:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;6270:282;;6228:324::o:0;2158:193::-;1996:12;:10;:12::i;:::-;1986:22;;:6;;;;;;;;;;:22;;;1978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2269:1:::1;2249:22;;:8;:22;;::::0;2241:74:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2335:8;2326:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2158:193:::0;:::o;1619:84::-;1672:7;1690:10;1683:17;;1619:84;:::o;6560:286::-;6669:1;6652:19;;:5;:19;;;6644:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6750:1;6731:21;;:7;:21;;;6723:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6832:6;6802:11;:18;6814:5;6802:18;;;;;;;;;;;;;;;:27;6821:7;6802:27;;;;;;;;;;;;;;;:36;;;;6560:286;;;:::o;7759:251::-;7885:5;7850:40;;:25;:31;7876:4;7850:31;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;7842:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;7997:5;7963:25;:31;7989:4;7963:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;7759:251;;:::o;8604:2021::-;8709:1;8693:18;;:4;:18;;;8685:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8787:1;8773:16;;:2;:16;;;8765:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8858:1;8849:6;:10;8841:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8935:15;8945:4;8935:9;:15::i;:::-;8925:6;:25;;8917:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9021:13;;;;;;;;;;;9005:30;;:4;:30;;;:73;;;;;9040:34;:38;9075:2;9040:38;;;;;;;;;;;;;;;;;;;;;;;;;9039:39;9005:73;9004:171;;;;9115:13;;;;;;;;;;;9101:28;;:2;:28;;;:73;;;;;9134:34;:40;9169:4;9134:40;;;;;;;;;;;;;;;;;;;;;;;;;9133:41;9101:73;9004:171;9000:278;;;9210:11;;9200:6;:21;;9192:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9000:278;9293:29;:33;9323:2;9293:33;;;;;;;;;;;;;;;;;;;;;;;;;9288:174;;9379:15;;9368:6;9352:13;9362:2;9352:9;:13::i;:::-;:22;;;;:::i;:::-;9351:43;;9343:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;9288:174;9476:18;:24;9495:4;9476:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9504:18;:22;9523:2;9504:22;;;;;;;;;;;;;;;;;;;;;;;;;9476:50;9472:1146;;;9561:6;9543:8;:14;9552:4;9543:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;9598:6;9582:8;:12;9591:2;9582:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;9639:2;9624:26;;9633:4;9624:26;;;9643:6;9624:26;;;;;;:::i;:::-;;;;;;;;9472:1146;;;9701:6;9683:8;:14;9692:4;9683:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;9734:13;;;;;;;;;;;9726:21;;:4;:21;;;9722:885;;9820:3;3281:1;9802:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;9775:8;:23;9792:4;9775:23;;;;;;;;;;;;;;;;:48;;;;;;;:::i;:::-;;;;;;;;9870:4;9847:52;;9856:4;9847:52;;;9895:3;3281:1;9877:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;9847:52;;;;;;:::i;:::-;;;;;;;;9962:3;3281:1;9944:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;9934:6;:32;;;;:::i;:::-;9918:8;:12;9927:2;9918:12;;;;;;;;;;;;;;;;:48;;;;;;;:::i;:::-;;;;;;;;10005:2;9990:52;;9999:4;9990:52;;;10037:3;3281:1;10019:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;10009:6;:32;;;;:::i;:::-;9990:52;;;;;;:::i;:::-;;;;;;;;9722:885;;;10136:3;3281:1;10118:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;10091:8;:23;10108:4;10091:23;;;;;;;;;;;;;;;;:48;;;;;;;:::i;:::-;;;;;;;;10186:4;10163:52;;10172:4;10163:52;;;10211:3;3281:1;10193:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;10163:52;;;;;;:::i;:::-;;;;;;;;10265:23;;10238:24;10256:4;10238:9;:24::i;:::-;:50;10234:215;;;10313:43;10331:24;10349:4;10331:9;:24::i;:::-;10313:17;:43::i;:::-;10387:9;;;;;;;;;;;10379:27;;:50;10407:21;10379:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10234:215;10511:3;3281:1;10493:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;10483:6;:32;;;;:::i;:::-;10467:8;:12;10476:2;10467:12;;;;;;;;;;;;;;;;:48;;;;;;;:::i;:::-;;;;;;;;10554:2;10539:52;;10548:4;10539:52;;;10586:3;3281:1;10568:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;10558:6;:32;;;;:::i;:::-;10539:52;;;;;;:::i;:::-;;;;;;;;9722:885;9472:1146;8604:2021;;;:::o;10633:396::-;10700:21;10738:1;10724:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10700:40;;10769:4;10751;10756:1;10751:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;10795:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10785:4;10790:1;10785:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;10828:62;10845:4;10860:15;;;;;;;;;;;10878:11;10828:8;:62::i;:::-;10901:15;;;;;;;;;;;:66;;;10968:11;10981:1;10984:4;10998;11005:15;10901:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10689:340;10633:396;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:141::-;3905:9;3938:37;3969:5;3938:37;:::i;:::-;3925:50;;3840:141;;;:::o;3987:161::-;4089:52;4135:5;4089:52;:::i;:::-;4084:3;4077:65;3987:161;;:::o;4154:252::-;4262:4;4300:2;4289:9;4285:18;4277:26;;4313:86;4396:1;4385:9;4381:17;4372:6;4313:86;:::i;:::-;4154:252;;;;:::o;4412:118::-;4499:24;4517:5;4499:24;:::i;:::-;4494:3;4487:37;4412:118;;:::o;4536:222::-;4629:4;4667:2;4656:9;4652:18;4644:26;;4680:71;4748:1;4737:9;4733:17;4724:6;4680:71;:::i;:::-;4536:222;;;;:::o;4764:619::-;4841:6;4849;4857;4906:2;4894:9;4885:7;4881:23;4877:32;4874:119;;;4912:79;;:::i;:::-;4874:119;5032:1;5057:53;5102:7;5093:6;5082:9;5078:22;5057:53;:::i;:::-;5047:63;;5003:117;5159:2;5185:53;5230:7;5221:6;5210:9;5206:22;5185:53;:::i;:::-;5175:63;;5130:118;5287:2;5313:53;5358:7;5349:6;5338:9;5334:22;5313:53;:::i;:::-;5303:63;;5258:118;4764:619;;;;;:::o;5389:86::-;5424:7;5464:4;5457:5;5453:16;5442:27;;5389:86;;;:::o;5481:112::-;5564:22;5580:5;5564:22;:::i;:::-;5559:3;5552:35;5481:112;;:::o;5599:214::-;5688:4;5726:2;5715:9;5711:18;5703:26;;5739:67;5803:1;5792:9;5788:17;5779:6;5739:67;:::i;:::-;5599:214;;;;:::o;5819:118::-;5906:24;5924:5;5906:24;:::i;:::-;5901:3;5894:37;5819:118;;:::o;5943:222::-;6036:4;6074:2;6063:9;6059:18;6051:26;;6087:71;6155:1;6144:9;6140:17;6131:6;6087:71;:::i;:::-;5943:222;;;;:::o;6171:329::-;6230:6;6279:2;6267:9;6258:7;6254:23;6250:32;6247:119;;;6285:79;;:::i;:::-;6247:119;6405:1;6430:53;6475:7;6466:6;6455:9;6451:22;6430:53;:::i;:::-;6420:63;;6376:117;6171:329;;;;:::o;6506:::-;6565:6;6614:2;6602:9;6593:7;6589:23;6585:32;6582:119;;;6620:79;;:::i;:::-;6582:119;6740:1;6765:53;6810:7;6801:6;6790:9;6786:22;6765:53;:::i;:::-;6755:63;;6711:117;6506:329;;;;:::o;6841:474::-;6909:6;6917;6966:2;6954:9;6945:7;6941:23;6937:32;6934:119;;;6972:79;;:::i;:::-;6934:119;7092:1;7117:53;7162:7;7153:6;7142:9;7138:22;7117:53;:::i;:::-;7107:63;;7063:117;7219:2;7245:53;7290:7;7281:6;7270:9;7266:22;7245:53;:::i;:::-;7235:63;;7190:118;6841:474;;;;;:::o;7321:220::-;7461:34;7457:1;7449:6;7445:14;7438:58;7530:3;7525:2;7517:6;7513:15;7506:28;7321:220;:::o;7547:366::-;7689:3;7710:67;7774:2;7769:3;7710:67;:::i;:::-;7703:74;;7786:93;7875:3;7786:93;:::i;:::-;7904:2;7899:3;7895:12;7888:19;;7547:366;;;:::o;7919:419::-;8085:4;8123:2;8112:9;8108:18;8100:26;;8172:9;8166:4;8162:20;8158:1;8147:9;8143:17;8136:47;8200:131;8326:4;8200:131;:::i;:::-;8192:139;;7919:419;;;:::o;8344:181::-;8484:33;8480:1;8472:6;8468:14;8461:57;8344:181;:::o;8531:366::-;8673:3;8694:67;8758:2;8753:3;8694:67;:::i;:::-;8687:74;;8770:93;8859:3;8770:93;:::i;:::-;8888:2;8883:3;8879:12;8872:19;;8531:366;;;:::o;8903:419::-;9069:4;9107:2;9096:9;9092:18;9084:26;;9156:9;9150:4;9146:20;9142:1;9131:9;9127:17;9120:47;9184:131;9310:4;9184:131;:::i;:::-;9176:139;;8903:419;;;:::o;9328:85::-;9373:7;9402:5;9391:16;;9328:85;;;:::o;9419:158::-;9477:9;9510:61;9528:42;9537:32;9563:5;9537:32;:::i;:::-;9528:42;:::i;:::-;9510:61;:::i;:::-;9497:74;;9419:158;;;:::o;9583:147::-;9678:45;9717:5;9678:45;:::i;:::-;9673:3;9666:58;9583:147;;:::o;9736:807::-;9985:4;10023:3;10012:9;10008:19;10000:27;;10037:71;10105:1;10094:9;10090:17;10081:6;10037:71;:::i;:::-;10118:72;10186:2;10175:9;10171:18;10162:6;10118:72;:::i;:::-;10200:80;10276:2;10265:9;10261:18;10252:6;10200:80;:::i;:::-;10290;10366:2;10355:9;10351:18;10342:6;10290:80;:::i;:::-;10380:73;10448:3;10437:9;10433:19;10424:6;10380:73;:::i;:::-;10463;10531:3;10520:9;10516:19;10507:6;10463:73;:::i;:::-;9736:807;;;;;;;;;:::o;10549:143::-;10606:5;10637:6;10631:13;10622:22;;10653:33;10680:5;10653:33;:::i;:::-;10549:143;;;;:::o;10698:663::-;10786:6;10794;10802;10851:2;10839:9;10830:7;10826:23;10822:32;10819:119;;;10857:79;;:::i;:::-;10819:119;10977:1;11002:64;11058:7;11049:6;11038:9;11034:22;11002:64;:::i;:::-;10992:74;;10948:128;11115:2;11141:64;11197:7;11188:6;11177:9;11173:22;11141:64;:::i;:::-;11131:74;;11086:129;11254:2;11280:64;11336:7;11327:6;11316:9;11312:22;11280:64;:::i;:::-;11270:74;;11225:129;10698:663;;;;;:::o;11367:143::-;11424:5;11455:6;11449:13;11440:22;;11471:33;11498:5;11471:33;:::i;:::-;11367:143;;;;:::o;11516:351::-;11586:6;11635:2;11623:9;11614:7;11610:23;11606:32;11603:119;;;11641:79;;:::i;:::-;11603:119;11761:1;11786:64;11842:7;11833:6;11822:9;11818:22;11786:64;:::i;:::-;11776:74;;11732:128;11516:351;;;;:::o;11873:332::-;11994:4;12032:2;12021:9;12017:18;12009:26;;12045:71;12113:1;12102:9;12098:17;12089:6;12045:71;:::i;:::-;12126:72;12194:2;12183:9;12179:18;12170:6;12126:72;:::i;:::-;11873:332;;;;;:::o;12211:180::-;12259:77;12256:1;12249:88;12356:4;12353:1;12346:15;12380:4;12377:1;12370:15;12397:348;12437:7;12460:20;12478:1;12460:20;:::i;:::-;12455:25;;12494:20;12512:1;12494:20;:::i;:::-;12489:25;;12682:1;12614:66;12610:74;12607:1;12604:81;12599:1;12592:9;12585:17;12581:105;12578:131;;;12689:18;;:::i;:::-;12578:131;12737:1;12734;12730:9;12719:20;;12397:348;;;;:::o;12751:180::-;12799:77;12796:1;12789:88;12896:4;12893:1;12886:15;12920:4;12917:1;12910:15;12937:185;12977:1;12994:20;13012:1;12994:20;:::i;:::-;12989:25;;13028:20;13046:1;13028:20;:::i;:::-;13023:25;;13067:1;13057:35;;13072:18;;:::i;:::-;13057:35;13114:1;13111;13107:9;13102:14;;12937:185;;;;:::o;13128:228::-;13268:34;13264:1;13256:6;13252:14;13245:58;13337:11;13332:2;13324:6;13320:15;13313:36;13128:228;:::o;13362:366::-;13504:3;13525:67;13589:2;13584:3;13525:67;:::i;:::-;13518:74;;13601:93;13690:3;13601:93;:::i;:::-;13719:2;13714:3;13710:12;13703:19;;13362:366;;;:::o;13734:419::-;13900:4;13938:2;13927:9;13923:18;13915:26;;13987:9;13981:4;13977:20;13973:1;13962:9;13958:17;13951:47;14015:131;14141:4;14015:131;:::i;:::-;14007:139;;13734:419;;;:::o;14159:191::-;14199:4;14219:20;14237:1;14219:20;:::i;:::-;14214:25;;14253:20;14271:1;14253:20;:::i;:::-;14248:25;;14292:1;14289;14286:8;14283:34;;;14297:18;;:::i;:::-;14283:34;14342:1;14339;14335:9;14327:17;;14159:191;;;;:::o;14356:305::-;14396:3;14415:20;14433:1;14415:20;:::i;:::-;14410:25;;14449:20;14467:1;14449:20;:::i;:::-;14444:25;;14603:1;14535:66;14531:74;14528:1;14525:81;14522:107;;;14609:18;;:::i;:::-;14522:107;14653:1;14650;14646:9;14639:16;;14356:305;;;;:::o;14667:225::-;14807:34;14803:1;14795:6;14791:14;14784:58;14876:8;14871:2;14863:6;14859:15;14852:33;14667:225;:::o;14898:366::-;15040:3;15061:67;15125:2;15120:3;15061:67;:::i;:::-;15054:74;;15137:93;15226:3;15137:93;:::i;:::-;15255:2;15250:3;15246:12;15239:19;;14898:366;;;:::o;15270:419::-;15436:4;15474:2;15463:9;15459:18;15451:26;;15523:9;15517:4;15513:20;15509:1;15498:9;15494:17;15487:47;15551:131;15677:4;15551:131;:::i;:::-;15543:139;;15270:419;;;:::o;15695:239::-;15835:34;15831:1;15823:6;15819:14;15812:58;15904:22;15899:2;15891:6;15887:15;15880:47;15695:239;:::o;15940:366::-;16082:3;16103:67;16167:2;16162:3;16103:67;:::i;:::-;16096:74;;16179:93;16268:3;16179:93;:::i;:::-;16297:2;16292:3;16288:12;16281:19;;15940:366;;;:::o;16312:419::-;16478:4;16516:2;16505:9;16501:18;16493:26;;16565:9;16559:4;16555:20;16551:1;16540:9;16536:17;16529:47;16593:131;16719:4;16593:131;:::i;:::-;16585:139;;16312:419;;;:::o;16737:241::-;16877:34;16873:1;16865:6;16861:14;16854:58;16946:24;16941:2;16933:6;16929:15;16922:49;16737:241;:::o;16984:366::-;17126:3;17147:67;17211:2;17206:3;17147:67;:::i;:::-;17140:74;;17223:93;17312:3;17223:93;:::i;:::-;17341:2;17336:3;17332:12;17325:19;;16984:366;;;:::o;17356:419::-;17522:4;17560:2;17549:9;17545:18;17537:26;;17609:9;17603:4;17599:20;17595:1;17584:9;17580:17;17573:47;17637:131;17763:4;17637:131;:::i;:::-;17629:139;;17356:419;;;:::o;17781:226::-;17921:34;17917:1;17909:6;17905:14;17898:58;17990:9;17985:2;17977:6;17973:15;17966:34;17781:226;:::o;18013:366::-;18155:3;18176:67;18240:2;18235:3;18176:67;:::i;:::-;18169:74;;18252:93;18341:3;18252:93;:::i;:::-;18370:2;18365:3;18361:12;18354:19;;18013:366;;;:::o;18385:419::-;18551:4;18589:2;18578:9;18574:18;18566:26;;18638:9;18632:4;18628:20;18624:1;18613:9;18609:17;18602:47;18666:131;18792:4;18666:131;:::i;:::-;18658:139;;18385:419;;;:::o;18810:147::-;18911:11;18948:3;18933:18;;18810:147;;;;:::o;18963:114::-;;:::o;19083:398::-;19242:3;19263:83;19344:1;19339:3;19263:83;:::i;:::-;19256:90;;19355:93;19444:3;19355:93;:::i;:::-;19473:1;19468:3;19464:11;19457:18;;19083:398;;;:::o;19487:379::-;19671:3;19693:147;19836:3;19693:147;:::i;:::-;19686:154;;19857:3;19850:10;;19487:379;;;:::o;19872:223::-;20012:34;20008:1;20000:6;19996:14;19989:58;20081:6;20076:2;20068:6;20064:15;20057:31;19872:223;:::o;20101:366::-;20243:3;20264:67;20328:2;20323:3;20264:67;:::i;:::-;20257:74;;20340:93;20429:3;20340:93;:::i;:::-;20458:2;20453:3;20449:12;20442:19;;20101:366;;;:::o;20473:419::-;20639:4;20677:2;20666:9;20662:18;20654:26;;20726:9;20720:4;20716:20;20712:1;20701:9;20697:17;20690:47;20754:131;20880:4;20754:131;:::i;:::-;20746:139;;20473:419;;;:::o;20898:226::-;21038:34;21034:1;21026:6;21022:14;21015:58;21107:9;21102:2;21094:6;21090:15;21083:34;20898:226;:::o;21130:366::-;21272:3;21293:67;21357:2;21352:3;21293:67;:::i;:::-;21286:74;;21369:93;21458:3;21369:93;:::i;:::-;21487:2;21482:3;21478:12;21471:19;;21130:366;;;:::o;21502:419::-;21668:4;21706:2;21695:9;21691:18;21683:26;;21755:9;21749:4;21745:20;21741:1;21730:9;21726:17;21719:47;21783:131;21909:4;21783:131;:::i;:::-;21775:139;;21502:419;;;:::o;21927:223::-;22067:34;22063:1;22055:6;22051:14;22044:58;22136:6;22131:2;22123:6;22119:15;22112:31;21927:223;:::o;22156:366::-;22298:3;22319:67;22383:2;22378:3;22319:67;:::i;:::-;22312:74;;22395:93;22484:3;22395:93;:::i;:::-;22513:2;22508:3;22504:12;22497:19;;22156:366;;;:::o;22528:419::-;22694:4;22732:2;22721:9;22717:18;22709:26;;22781:9;22775:4;22771:20;22767:1;22756:9;22752:17;22745:47;22809:131;22935:4;22809:131;:::i;:::-;22801:139;;22528:419;;;:::o;22953:221::-;23093:34;23089:1;23081:6;23077:14;23070:58;23162:4;23157:2;23149:6;23145:15;23138:29;22953:221;:::o;23180:366::-;23322:3;23343:67;23407:2;23402:3;23343:67;:::i;:::-;23336:74;;23419:93;23508:3;23419:93;:::i;:::-;23537:2;23532:3;23528:12;23521:19;;23180:366;;;:::o;23552:419::-;23718:4;23756:2;23745:9;23741:18;23733:26;;23805:9;23799:4;23795:20;23791:1;23780:9;23776:17;23769:47;23833:131;23959:4;23833:131;:::i;:::-;23825:139;;23552:419;;;:::o;23977:244::-;24117:34;24113:1;24105:6;24101:14;24094:58;24186:27;24181:2;24173:6;24169:15;24162:52;23977:244;:::o;24227:366::-;24369:3;24390:67;24454:2;24449:3;24390:67;:::i;:::-;24383:74;;24466:93;24555:3;24466:93;:::i;:::-;24584:2;24579:3;24575:12;24568:19;;24227:366;;;:::o;24599:419::-;24765:4;24803:2;24792:9;24788:18;24780:26;;24852:9;24846:4;24842:20;24838:1;24827:9;24823:17;24816:47;24880:131;25006:4;24880:131;:::i;:::-;24872:139;;24599:419;;;:::o;25024:225::-;25164:34;25160:1;25152:6;25148:14;25141:58;25233:8;25228:2;25220:6;25216:15;25209:33;25024:225;:::o;25255:366::-;25397:3;25418:67;25482:2;25477:3;25418:67;:::i;:::-;25411:74;;25494:93;25583:3;25494:93;:::i;:::-;25612:2;25607:3;25603:12;25596:19;;25255:366;;;:::o;25627:419::-;25793:4;25831:2;25820:9;25816:18;25808:26;;25880:9;25874:4;25870:20;25866:1;25855:9;25851:17;25844:47;25908:131;26034:4;25908:131;:::i;:::-;25900:139;;25627:419;;;:::o;26052:223::-;26192:34;26188:1;26180:6;26176:14;26169:58;26261:6;26256:2;26248:6;26244:15;26237:31;26052:223;:::o;26281:366::-;26423:3;26444:67;26508:2;26503:3;26444:67;:::i;:::-;26437:74;;26520:93;26609:3;26520:93;:::i;:::-;26638:2;26633:3;26629:12;26622:19;;26281:366;;;:::o;26653:419::-;26819:4;26857:2;26846:9;26842:18;26834:26;;26906:9;26900:4;26896:20;26892:1;26881:9;26877:17;26870:47;26934:131;27060:4;26934:131;:::i;:::-;26926:139;;26653:419;;;:::o;27078:229::-;27218:34;27214:1;27206:6;27202:14;27195:58;27287:12;27282:2;27274:6;27270:15;27263:37;27078:229;:::o;27313:366::-;27455:3;27476:67;27540:2;27535:3;27476:67;:::i;:::-;27469:74;;27552:93;27641:3;27552:93;:::i;:::-;27670:2;27665:3;27661:12;27654:19;;27313:366;;;:::o;27685:419::-;27851:4;27889:2;27878:9;27874:18;27866:26;;27938:9;27932:4;27928:20;27924:1;27913:9;27909:17;27902:47;27966:131;28092:4;27966:131;:::i;:::-;27958:139;;27685:419;;;:::o;28110:221::-;28250:34;28246:1;28238:6;28234:14;28227:58;28319:4;28314:2;28306:6;28302:15;28295:29;28110:221;:::o;28337:366::-;28479:3;28500:67;28564:2;28559:3;28500:67;:::i;:::-;28493:74;;28576:93;28665:3;28576:93;:::i;:::-;28694:2;28689:3;28685:12;28678:19;;28337:366;;;:::o;28709:419::-;28875:4;28913:2;28902:9;28898:18;28890:26;;28962:9;28956:4;28952:20;28948:1;28937:9;28933:17;28926:47;28990:131;29116:4;28990:131;:::i;:::-;28982:139;;28709:419;;;:::o;29134:227::-;29274:34;29270:1;29262:6;29258:14;29251:58;29343:10;29338:2;29330:6;29326:15;29319:35;29134:227;:::o;29367:366::-;29509:3;29530:67;29594:2;29589:3;29530:67;:::i;:::-;29523:74;;29606:93;29695:3;29606:93;:::i;:::-;29724:2;29719:3;29715:12;29708:19;;29367:366;;;:::o;29739:419::-;29905:4;29943:2;29932:9;29928:18;29920:26;;29992:9;29986:4;29982:20;29978:1;29967:9;29963:17;29956:47;30020:131;30146:4;30020:131;:::i;:::-;30012:139;;29739:419;;;:::o;30164:238::-;30304:34;30300:1;30292:6;30288:14;30281:58;30373:21;30368:2;30360:6;30356:15;30349:46;30164:238;:::o;30408:366::-;30550:3;30571:67;30635:2;30630:3;30571:67;:::i;:::-;30564:74;;30647:93;30736:3;30647:93;:::i;:::-;30765:2;30760:3;30756:12;30749:19;;30408:366;;;:::o;30780:419::-;30946:4;30984:2;30973:9;30969:18;30961:26;;31033:9;31027:4;31023:20;31019:1;31008:9;31004:17;30997:47;31061:131;31187:4;31061:131;:::i;:::-;31053:139;;30780:419;;;:::o;31205:180::-;31253:77;31250:1;31243:88;31350:4;31347:1;31340:15;31374:4;31371:1;31364:15;31391:180;31439:77;31436:1;31429:88;31536:4;31533:1;31526:15;31560:4;31557:1;31550:15;31577:114;31644:6;31678:5;31672:12;31662:22;;31577:114;;;:::o;31697:184::-;31796:11;31830:6;31825:3;31818:19;31870:4;31865:3;31861:14;31846:29;;31697:184;;;;:::o;31887:132::-;31954:4;31977:3;31969:11;;32007:4;32002:3;31998:14;31990:22;;31887:132;;;:::o;32025:108::-;32102:24;32120:5;32102:24;:::i;:::-;32097:3;32090:37;32025:108;;:::o;32139:179::-;32208:10;32229:46;32271:3;32263:6;32229:46;:::i;:::-;32307:4;32302:3;32298:14;32284:28;;32139:179;;;;:::o;32324:113::-;32394:4;32426;32421:3;32417:14;32409:22;;32324:113;;;:::o;32473:732::-;32592:3;32621:54;32669:5;32621:54;:::i;:::-;32691:86;32770:6;32765:3;32691:86;:::i;:::-;32684:93;;32801:56;32851:5;32801:56;:::i;:::-;32880:7;32911:1;32896:284;32921:6;32918:1;32915:13;32896:284;;;32997:6;32991:13;33024:63;33083:3;33068:13;33024:63;:::i;:::-;33017:70;;33110:60;33163:6;33110:60;:::i;:::-;33100:70;;32956:224;32943:1;32940;32936:9;32931:14;;32896:284;;;32900:14;33196:3;33189:10;;32597:608;;;32473:732;;;;:::o;33211:831::-;33474:4;33512:3;33501:9;33497:19;33489:27;;33526:71;33594:1;33583:9;33579:17;33570:6;33526:71;:::i;:::-;33607:80;33683:2;33672:9;33668:18;33659:6;33607:80;:::i;:::-;33734:9;33728:4;33724:20;33719:2;33708:9;33704:18;33697:48;33762:108;33865:4;33856:6;33762:108;:::i;:::-;33754:116;;33880:72;33948:2;33937:9;33933:18;33924:6;33880:72;:::i;:::-;33962:73;34030:3;34019:9;34015:19;34006:6;33962:73;:::i;:::-;33211:831;;;;;;;;:::o

Swarm Source

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