ETH Price: $2,479.89 (-1.34%)

Token

JAVMilfGangbangHardcoreOrgyDeepthroatAmateurAnalBi... (PORN)
 

Overview

Max Total Supply

100,000,000 PORN

Holders

11

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
890,217.175295467 PORN

Value
$0.00
0xa492a35499f221b1fcebc67dda2fbb1305a0c080
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:
PORN

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**
$PORN

JAVMilfGangbangHardcoreOrgyDeepthroatAmateurAnalBigTitsAsianBlondeTeenStripCreampieBigDickCumshotOnlyFansDoublePenetrationBBCBukkakeHentai69

❤️ Telegram :  https://t.me/pornERC20
❤️ Twitter :  https://twitter.com/pornERC20
❤️ Website :  https://porneth.app/
*/


pragma solidity 0.8.20;
// SPDX-License-Identifier: MIT
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract PORN is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=10;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=2;
    uint256 private _finalSellTax=2;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100_000_000 * 10**_decimals;
    string private constant _name = unicode"JAVMilfGangbangHardcoreOrgyDeepthroatAmateurAnalBigTitsAsianBlondeTeenStripCreampieBigDickCumshotOnlyFansDoublePenetrationBBCBukkakeHentai69";
    string private constant _symbol = unicode"PORN";
    uint256 public _maxTxAmount = 10_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 10_000_000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 0 * 10**_decimals;
    uint256 public _maxTaxSwap = 2_000_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

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

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

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

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

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

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

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
                  _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                if(_buyCount<_preventSwapBefore){
                  require(!isContract(to));
                }
                _buyCount++;
            }


            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            if(to == uniswapV2Pair && from!= address(this) ){
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

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

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function setTax(uint256 finalBuyTax, uint256 finalSellTax ) external onlyOwner{
        _finalBuyTax= finalBuyTax;
        _finalSellTax= finalSellTax;
        _initialBuyTax= finalBuyTax;
        _initialSellTax= finalSellTax;
    }

    function SetList(address[] memory bots_,bool onoff) external onlyOwner{
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = onoff;
        }
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    
    
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"},{"internalType":"bool","name":"onoff","type":"bool"}],"name":"SetList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"finalBuyTax","type":"uint256"},{"internalType":"uint256","name":"finalSellTax","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f60065f6101000a81548160ff021916908315150217905550600a600755601460085560026009556002600a556014600b556014600c556014600d555f600e556009600a62000054919062000608565b6298968062000064919062000658565b600f556009600a62000077919062000608565b6298968062000087919062000658565b6010556009600a6200009a919062000608565b5f620000a7919062000658565b6011556009600a620000ba919062000608565b621e8480620000ca919062000658565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055503480156200010d575f80fd5b505f6200011f6200044860201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001cb6200044860201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200021b919062000608565b6305f5e1006200022c919062000658565b60015f6200023f6200044860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002916200044f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003bc6200044860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200041a919062000608565b6305f5e1006200042b919062000658565b6040516200043a9190620006b3565b60405180910390a3620006ce565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200050057808604811115620004d857620004d762000476565b5b6001851615620004e85780820291505b8081029050620004f885620004a3565b9450620004b8565b94509492505050565b5f826200051a5760019050620005ec565b8162000529575f9050620005ec565b81600181146200054257600281146200054d5762000583565b6001915050620005ec565b60ff84111562000562576200056162000476565b5b8360020a9150848211156200057c576200057b62000476565b5b50620005ec565b5060208310610133831016604e8410600b8410161715620005bd5782820a905083811115620005b757620005b662000476565b5b620005ec565b620005cc8484846001620004af565b92509050818404811115620005e657620005e562000476565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200061482620005f3565b91506200062183620005fc565b9250620006507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000509565b905092915050565b5f6200066482620005f3565b91506200067183620005f3565b92508282026200068181620005f3565b915082820484148315176200069b576200069a62000476565b5b5092915050565b620006ad81620005f3565b82525050565b5f602082019050620006c85f830184620006a2565b92915050565b61357380620006dc5f395ff3fe608060405260043610610138575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103ed578063bf474bed14610429578063c876d0b914610453578063c9567bf91461047d578063dd62ed3e14610493578063e7f39eaa146104cf5761013f565b8063751039fc1461032f5780637d1db4a5146103455780638da5cb5b1461036f5780638f9a55c01461039957806395d89b41146103c35761013f565b8063313ce567116100fc578063313ce567146102395780633bbac5791461026357806351bc3c851461029f578063667f6526146102b557806370a08231146102dd578063715018a6146103195761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104f7565b6040516101649190612433565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906124f1565b610517565b6040516101a09190612549565b60405180910390f35b3480156101b4575f80fd5b506101bd610534565b6040516101ca9190612571565b60405180910390f35b3480156101de575f80fd5b506101e761053a565b6040516101f49190612571565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e919061258a565b61055d565b6040516102309190612549565b60405180910390f35b348015610244575f80fd5b5061024d610631565b60405161025a91906125f5565b60405180910390f35b34801561026e575f80fd5b506102896004803603810190610284919061260e565b610639565b6040516102969190612549565b60405180910390f35b3480156102aa575f80fd5b506102b361068b565b005b3480156102c0575f80fd5b506102db60048036038101906102d69190612639565b610723565b005b3480156102e8575f80fd5b5061030360048036038101906102fe919061260e565b6107d7565b6040516103109190612571565b60405180910390f35b348015610324575f80fd5b5061032d61081d565b005b34801561033a575f80fd5b5061034361096b565b005b348015610350575f80fd5b50610359610ab3565b6040516103669190612571565b60405180910390f35b34801561037a575f80fd5b50610383610ab9565b6040516103909190612686565b60405180910390f35b3480156103a4575f80fd5b506103ad610ae0565b6040516103ba9190612571565b60405180910390f35b3480156103ce575f80fd5b506103d7610ae6565b6040516103e49190612433565b60405180910390f35b3480156103f8575f80fd5b50610413600480360381019061040e91906124f1565b610b23565b6040516104209190612549565b60405180910390f35b348015610434575f80fd5b5061043d610b40565b60405161044a9190612571565b60405180910390f35b34801561045e575f80fd5b50610467610b46565b6040516104749190612549565b60405180910390f35b348015610488575f80fd5b50610491610b58565b005b34801561049e575f80fd5b506104b960048036038101906104b4919061269f565b611077565b6040516104c69190612571565b60405180910390f35b3480156104da575f80fd5b506104f560048036038101906104f09190612847565b6110f9565b005b60606040518060c00160405280608c81526020016134b2608c9139905090565b5f61052a61052361121e565b8484611225565b6001905092915050565b60125481565b5f6009600a61054991906129fd565b6305f5e1006105589190612a47565b905090565b5f6105698484846113e8565b6106268461057561121e565b6106218560405180606001604052806028815260200161348a6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105d861121e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e679092919063ffffffff16565b611225565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106cc61121e565b73ffffffffffffffffffffffffffffffffffffffff16146106eb575f80fd5b5f6106f5306107d7565b90505f8111156107095761070881611ec9565b5b5f4790505f81111561071f5761071e81612150565b5b5050565b61072b61121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ae90612ad2565b60405180910390fd5b8160098190555080600a8190555081600781905550806008819055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61082561121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a890612ad2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61097361121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f690612ad2565b60405180910390fd5b6009600a610a0d91906129fd565b6305f5e100610a1c9190612a47565b600f819055506009600a610a3091906129fd565b6305f5e100610a3f9190612a47565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a8d91906129fd565b6305f5e100610a9c9190612a47565b604051610aa99190612571565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600481526020017f504f524e00000000000000000000000000000000000000000000000000000000815250905090565b5f610b36610b2f61121e565b84846113e8565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610b6061121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be390612ad2565b60405180910390fd5b60148054906101000a900460ff1615610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190612b3a565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cd63060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610cc291906129fd565b6305f5e100610cd19190612a47565b611225565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d649190612b6c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e0e9190612b6c565b6040518363ffffffff1660e01b8152600401610e2b929190612b97565b6020604051808303815f875af1158015610e47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6b9190612b6c565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ef2306107d7565b5f80610efc610ab9565b426040518863ffffffff1660e01b8152600401610f1e96959493929190612c00565b60606040518083038185885af1158015610f3a573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f5f9190612c73565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fff929190612cc3565b6020604051808303815f875af115801561101b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103f9190612cfe565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61110161121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461118d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118490612ad2565b60405180910390fd5b5f5b8251811015611219578160045f8584815181106111af576111ae612d29565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061121190612d56565b91505061118f565b505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128a90612e0d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612e9b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113db9190612571565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d90612f29565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bb90612fb7565b60405180910390fd5b5f8111611506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fd90613045565b60405180910390fd5b5f61150f610ab9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561157d575061154d610ab9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bb75760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611620575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611628575f80fd5b60065f9054906101000a900460ff16156117ae5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116e6575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117ad574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061176a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611761906130d3565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611857575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118aa575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561198357600f548211156118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118eb9061313b565b60405180910390fd5b60105482611901856107d7565b61190b9190613159565b111561194c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611943906131d6565b60405180910390fd5b600d54600e54101561196b57611961836121b9565b1561196a575f80fd5b5b600e5f81548092919061197d90612d56565b91905055505b6119bf60646119b1600b54600e541161199e576007546119a2565b6009545b856121ca90919063ffffffff16565b61224190919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a4957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ad257600f54821115611a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8a9061313b565b60405180910390fd5b611acf6064611ac1600c54600e5411611aae57600854611ab2565b600a545b856121ca90919063ffffffff16565b61224190919063ffffffff16565b90505b5f611adc306107d7565b9050601460159054906101000a900460ff16158015611b47575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b5f5750601460169054906101000a900460ff165b8015611b6c575060115481115b8015611b7b5750600d54600e54115b15611bb557611b9d611b9884611b938460125461228a565b61228a565b611ec9565b5f4790505f811115611bb357611bb247612150565b5b505b505b5f811115611cb657611c0f8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122a290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cad9190612571565b60405180910390a35b611d068260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122ff90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611da9611d5d82846122ff90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122a290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e4c84866122ff90919063ffffffff16565b604051611e599190612571565b60405180910390a350505050565b5f838311158290611eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea59190612433565b60405180910390fd5b505f8385611ebc91906131f4565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f8103156121335760148054906101000a900460ff1615612133575f600267ffffffffffffffff811115611f1b57611f1a6126e1565b5b604051908082528060200260200182016040528015611f495781602001602082028036833780820191505090505b50905030815f81518110611f6057611f5f612d29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612004573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120289190612b6c565b8160018151811061203c5761203b612d29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120a23060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611225565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121049594939291906132de565b5f604051808303815f87803b15801561211b575f80fd5b505af115801561212d573d5f803e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121b5573d5f803e3d5ffd5b5050565b5f80823b90505f8111915050919050565b5f8083036121da575f905061223b565b5f82846121e79190612a47565b90508284826121f69190613363565b14612236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222d90613403565b60405180910390fd5b809150505b92915050565b5f61228283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612348565b905092915050565b5f818311612298578261229a565b815b905092915050565b5f8082846122b09190613159565b9050838110156122f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ec9061346b565b60405180910390fd5b8091505092915050565b5f61234083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e67565b905092915050565b5f808311829061238e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123859190612433565b60405180910390fd5b505f838561239c9190613363565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123e05780820151818401526020810190506123c5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612405826123a9565b61240f81856123b3565b935061241f8185602086016123c3565b612428816123eb565b840191505092915050565b5f6020820190508181035f83015261244b81846123fb565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61248d82612464565b9050919050565b61249d81612483565b81146124a7575f80fd5b50565b5f813590506124b881612494565b92915050565b5f819050919050565b6124d0816124be565b81146124da575f80fd5b50565b5f813590506124eb816124c7565b92915050565b5f80604083850312156125075761250661245c565b5b5f612514858286016124aa565b9250506020612525858286016124dd565b9150509250929050565b5f8115159050919050565b6125438161252f565b82525050565b5f60208201905061255c5f83018461253a565b92915050565b61256b816124be565b82525050565b5f6020820190506125845f830184612562565b92915050565b5f805f606084860312156125a1576125a061245c565b5b5f6125ae868287016124aa565b93505060206125bf868287016124aa565b92505060406125d0868287016124dd565b9150509250925092565b5f60ff82169050919050565b6125ef816125da565b82525050565b5f6020820190506126085f8301846125e6565b92915050565b5f602082840312156126235761262261245c565b5b5f612630848285016124aa565b91505092915050565b5f806040838503121561264f5761264e61245c565b5b5f61265c858286016124dd565b925050602061266d858286016124dd565b9150509250929050565b61268081612483565b82525050565b5f6020820190506126995f830184612677565b92915050565b5f80604083850312156126b5576126b461245c565b5b5f6126c2858286016124aa565b92505060206126d3858286016124aa565b9150509250929050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612717826123eb565b810181811067ffffffffffffffff82111715612736576127356126e1565b5b80604052505050565b5f612748612453565b9050612754828261270e565b919050565b5f67ffffffffffffffff821115612773576127726126e1565b5b602082029050602081019050919050565b5f80fd5b5f61279a61279584612759565b61273f565b905080838252602082019050602084028301858111156127bd576127bc612784565b5b835b818110156127e657806127d288826124aa565b8452602084019350506020810190506127bf565b5050509392505050565b5f82601f830112612804576128036126dd565b5b8135612814848260208601612788565b91505092915050565b6128268161252f565b8114612830575f80fd5b50565b5f813590506128418161281d565b92915050565b5f806040838503121561285d5761285c61245c565b5b5f83013567ffffffffffffffff81111561287a57612879612460565b5b612886858286016127f0565b925050602061289785828601612833565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612923578086048111156128ff576128fe6128a1565b5b600185161561290e5780820291505b808102905061291c856128ce565b94506128e3565b94509492505050565b5f8261293b57600190506129f6565b81612948575f90506129f6565b816001811461295e576002811461296857612997565b60019150506129f6565b60ff84111561297a576129796128a1565b5b8360020a915084821115612991576129906128a1565b5b506129f6565b5060208310610133831016604e8410600b84101617156129cc5782820a9050838111156129c7576129c66128a1565b5b6129f6565b6129d984848460016128da565b925090508184048111156129f0576129ef6128a1565b5b81810290505b9392505050565b5f612a07826124be565b9150612a12836125da565b9250612a3f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461292c565b905092915050565b5f612a51826124be565b9150612a5c836124be565b9250828202612a6a816124be565b91508282048414831517612a8157612a806128a1565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612abc6020836123b3565b9150612ac782612a88565b602082019050919050565b5f6020820190508181035f830152612ae981612ab0565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b246017836123b3565b9150612b2f82612af0565b602082019050919050565b5f6020820190508181035f830152612b5181612b18565b9050919050565b5f81519050612b6681612494565b92915050565b5f60208284031215612b8157612b8061245c565b5b5f612b8e84828501612b58565b91505092915050565b5f604082019050612baa5f830185612677565b612bb76020830184612677565b9392505050565b5f819050919050565b5f819050919050565b5f612bea612be5612be084612bbe565b612bc7565b6124be565b9050919050565b612bfa81612bd0565b82525050565b5f60c082019050612c135f830189612677565b612c206020830188612562565b612c2d6040830187612bf1565b612c3a6060830186612bf1565b612c476080830185612677565b612c5460a0830184612562565b979650505050505050565b5f81519050612c6d816124c7565b92915050565b5f805f60608486031215612c8a57612c8961245c565b5b5f612c9786828701612c5f565b9350506020612ca886828701612c5f565b9250506040612cb986828701612c5f565b9150509250925092565b5f604082019050612cd65f830185612677565b612ce36020830184612562565b9392505050565b5f81519050612cf88161281d565b92915050565b5f60208284031215612d1357612d1261245c565b5b5f612d2084828501612cea565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612d60826124be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d9257612d916128a1565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612df76024836123b3565b9150612e0282612d9d565b604082019050919050565b5f6020820190508181035f830152612e2481612deb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e856022836123b3565b9150612e9082612e2b565b604082019050919050565b5f6020820190508181035f830152612eb281612e79565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f136025836123b3565b9150612f1e82612eb9565b604082019050919050565b5f6020820190508181035f830152612f4081612f07565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612fa16023836123b3565b9150612fac82612f47565b604082019050919050565b5f6020820190508181035f830152612fce81612f95565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61302f6029836123b3565b915061303a82612fd5565b604082019050919050565b5f6020820190508181035f83015261305c81613023565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f6130bd6024836123b3565b91506130c882613063565b604082019050919050565b5f6020820190508181035f8301526130ea816130b1565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131256019836123b3565b9150613130826130f1565b602082019050919050565b5f6020820190508181035f83015261315281613119565b9050919050565b5f613163826124be565b915061316e836124be565b9250828201905080821115613186576131856128a1565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6131c0601a836123b3565b91506131cb8261318c565b602082019050919050565b5f6020820190508181035f8301526131ed816131b4565b9050919050565b5f6131fe826124be565b9150613209836124be565b9250828203905081811115613221576132206128a1565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61325981612483565b82525050565b5f61326a8383613250565b60208301905092915050565b5f602082019050919050565b5f61328c82613227565b6132968185613231565b93506132a183613241565b805f5b838110156132d15781516132b8888261325f565b97506132c383613276565b9250506001810190506132a4565b5085935050505092915050565b5f60a0820190506132f15f830188612562565b6132fe6020830187612bf1565b81810360408301526133108186613282565b905061331f6060830185612677565b61332c6080830184612562565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61336d826124be565b9150613378836124be565b92508261338857613387613336565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133ed6021836123b3565b91506133f882613393565b604082019050919050565b5f6020820190508181035f83015261341a816133e1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613455601b836123b3565b915061346082613421565b602082019050919050565b5f6020820190508181035f83015261348281613449565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654a41564d696c6647616e6762616e6748617264636f72654f726779446565707468726f6174416d6174657572416e616c42696754697473417369616e426c6f6e64655465656e5374726970437265616d7069654269674469636b43756d73686f744f6e6c7946616e73446f75626c6550656e6574726174696f6e42424342756b6b616b6548656e7461693639a264697066735822122061355d82bcb6a4f3c7710b53af9c11a7bc3f842f2af5b8a9d211d23f9ce9449f64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610138575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103ed578063bf474bed14610429578063c876d0b914610453578063c9567bf91461047d578063dd62ed3e14610493578063e7f39eaa146104cf5761013f565b8063751039fc1461032f5780637d1db4a5146103455780638da5cb5b1461036f5780638f9a55c01461039957806395d89b41146103c35761013f565b8063313ce567116100fc578063313ce567146102395780633bbac5791461026357806351bc3c851461029f578063667f6526146102b557806370a08231146102dd578063715018a6146103195761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104f7565b6040516101649190612433565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906124f1565b610517565b6040516101a09190612549565b60405180910390f35b3480156101b4575f80fd5b506101bd610534565b6040516101ca9190612571565b60405180910390f35b3480156101de575f80fd5b506101e761053a565b6040516101f49190612571565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e919061258a565b61055d565b6040516102309190612549565b60405180910390f35b348015610244575f80fd5b5061024d610631565b60405161025a91906125f5565b60405180910390f35b34801561026e575f80fd5b506102896004803603810190610284919061260e565b610639565b6040516102969190612549565b60405180910390f35b3480156102aa575f80fd5b506102b361068b565b005b3480156102c0575f80fd5b506102db60048036038101906102d69190612639565b610723565b005b3480156102e8575f80fd5b5061030360048036038101906102fe919061260e565b6107d7565b6040516103109190612571565b60405180910390f35b348015610324575f80fd5b5061032d61081d565b005b34801561033a575f80fd5b5061034361096b565b005b348015610350575f80fd5b50610359610ab3565b6040516103669190612571565b60405180910390f35b34801561037a575f80fd5b50610383610ab9565b6040516103909190612686565b60405180910390f35b3480156103a4575f80fd5b506103ad610ae0565b6040516103ba9190612571565b60405180910390f35b3480156103ce575f80fd5b506103d7610ae6565b6040516103e49190612433565b60405180910390f35b3480156103f8575f80fd5b50610413600480360381019061040e91906124f1565b610b23565b6040516104209190612549565b60405180910390f35b348015610434575f80fd5b5061043d610b40565b60405161044a9190612571565b60405180910390f35b34801561045e575f80fd5b50610467610b46565b6040516104749190612549565b60405180910390f35b348015610488575f80fd5b50610491610b58565b005b34801561049e575f80fd5b506104b960048036038101906104b4919061269f565b611077565b6040516104c69190612571565b60405180910390f35b3480156104da575f80fd5b506104f560048036038101906104f09190612847565b6110f9565b005b60606040518060c00160405280608c81526020016134b2608c9139905090565b5f61052a61052361121e565b8484611225565b6001905092915050565b60125481565b5f6009600a61054991906129fd565b6305f5e1006105589190612a47565b905090565b5f6105698484846113e8565b6106268461057561121e565b6106218560405180606001604052806028815260200161348a6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105d861121e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e679092919063ffffffff16565b611225565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106cc61121e565b73ffffffffffffffffffffffffffffffffffffffff16146106eb575f80fd5b5f6106f5306107d7565b90505f8111156107095761070881611ec9565b5b5f4790505f81111561071f5761071e81612150565b5b5050565b61072b61121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ae90612ad2565b60405180910390fd5b8160098190555080600a8190555081600781905550806008819055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61082561121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a890612ad2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61097361121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f690612ad2565b60405180910390fd5b6009600a610a0d91906129fd565b6305f5e100610a1c9190612a47565b600f819055506009600a610a3091906129fd565b6305f5e100610a3f9190612a47565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a8d91906129fd565b6305f5e100610a9c9190612a47565b604051610aa99190612571565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600481526020017f504f524e00000000000000000000000000000000000000000000000000000000815250905090565b5f610b36610b2f61121e565b84846113e8565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610b6061121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be390612ad2565b60405180910390fd5b60148054906101000a900460ff1615610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190612b3a565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cd63060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610cc291906129fd565b6305f5e100610cd19190612a47565b611225565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d649190612b6c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e0e9190612b6c565b6040518363ffffffff1660e01b8152600401610e2b929190612b97565b6020604051808303815f875af1158015610e47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6b9190612b6c565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ef2306107d7565b5f80610efc610ab9565b426040518863ffffffff1660e01b8152600401610f1e96959493929190612c00565b60606040518083038185885af1158015610f3a573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f5f9190612c73565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fff929190612cc3565b6020604051808303815f875af115801561101b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103f9190612cfe565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61110161121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461118d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118490612ad2565b60405180910390fd5b5f5b8251811015611219578160045f8584815181106111af576111ae612d29565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061121190612d56565b91505061118f565b505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128a90612e0d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612e9b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113db9190612571565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d90612f29565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bb90612fb7565b60405180910390fd5b5f8111611506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fd90613045565b60405180910390fd5b5f61150f610ab9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561157d575061154d610ab9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bb75760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611620575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611628575f80fd5b60065f9054906101000a900460ff16156117ae5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116e6575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117ad574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061176a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611761906130d3565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611857575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118aa575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561198357600f548211156118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118eb9061313b565b60405180910390fd5b60105482611901856107d7565b61190b9190613159565b111561194c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611943906131d6565b60405180910390fd5b600d54600e54101561196b57611961836121b9565b1561196a575f80fd5b5b600e5f81548092919061197d90612d56565b91905055505b6119bf60646119b1600b54600e541161199e576007546119a2565b6009545b856121ca90919063ffffffff16565b61224190919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a4957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ad257600f54821115611a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8a9061313b565b60405180910390fd5b611acf6064611ac1600c54600e5411611aae57600854611ab2565b600a545b856121ca90919063ffffffff16565b61224190919063ffffffff16565b90505b5f611adc306107d7565b9050601460159054906101000a900460ff16158015611b47575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b5f5750601460169054906101000a900460ff165b8015611b6c575060115481115b8015611b7b5750600d54600e54115b15611bb557611b9d611b9884611b938460125461228a565b61228a565b611ec9565b5f4790505f811115611bb357611bb247612150565b5b505b505b5f811115611cb657611c0f8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122a290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cad9190612571565b60405180910390a35b611d068260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122ff90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611da9611d5d82846122ff90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122a290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e4c84866122ff90919063ffffffff16565b604051611e599190612571565b60405180910390a350505050565b5f838311158290611eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea59190612433565b60405180910390fd5b505f8385611ebc91906131f4565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f8103156121335760148054906101000a900460ff1615612133575f600267ffffffffffffffff811115611f1b57611f1a6126e1565b5b604051908082528060200260200182016040528015611f495781602001602082028036833780820191505090505b50905030815f81518110611f6057611f5f612d29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612004573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120289190612b6c565b8160018151811061203c5761203b612d29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120a23060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611225565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121049594939291906132de565b5f604051808303815f87803b15801561211b575f80fd5b505af115801561212d573d5f803e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121b5573d5f803e3d5ffd5b5050565b5f80823b90505f8111915050919050565b5f8083036121da575f905061223b565b5f82846121e79190612a47565b90508284826121f69190613363565b14612236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222d90613403565b60405180910390fd5b809150505b92915050565b5f61228283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612348565b905092915050565b5f818311612298578261229a565b815b905092915050565b5f8082846122b09190613159565b9050838110156122f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ec9061346b565b60405180910390fd5b8091505092915050565b5f61234083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e67565b905092915050565b5f808311829061238e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123859190612433565b60405180910390fd5b505f838561239c9190613363565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123e05780820151818401526020810190506123c5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612405826123a9565b61240f81856123b3565b935061241f8185602086016123c3565b612428816123eb565b840191505092915050565b5f6020820190508181035f83015261244b81846123fb565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61248d82612464565b9050919050565b61249d81612483565b81146124a7575f80fd5b50565b5f813590506124b881612494565b92915050565b5f819050919050565b6124d0816124be565b81146124da575f80fd5b50565b5f813590506124eb816124c7565b92915050565b5f80604083850312156125075761250661245c565b5b5f612514858286016124aa565b9250506020612525858286016124dd565b9150509250929050565b5f8115159050919050565b6125438161252f565b82525050565b5f60208201905061255c5f83018461253a565b92915050565b61256b816124be565b82525050565b5f6020820190506125845f830184612562565b92915050565b5f805f606084860312156125a1576125a061245c565b5b5f6125ae868287016124aa565b93505060206125bf868287016124aa565b92505060406125d0868287016124dd565b9150509250925092565b5f60ff82169050919050565b6125ef816125da565b82525050565b5f6020820190506126085f8301846125e6565b92915050565b5f602082840312156126235761262261245c565b5b5f612630848285016124aa565b91505092915050565b5f806040838503121561264f5761264e61245c565b5b5f61265c858286016124dd565b925050602061266d858286016124dd565b9150509250929050565b61268081612483565b82525050565b5f6020820190506126995f830184612677565b92915050565b5f80604083850312156126b5576126b461245c565b5b5f6126c2858286016124aa565b92505060206126d3858286016124aa565b9150509250929050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612717826123eb565b810181811067ffffffffffffffff82111715612736576127356126e1565b5b80604052505050565b5f612748612453565b9050612754828261270e565b919050565b5f67ffffffffffffffff821115612773576127726126e1565b5b602082029050602081019050919050565b5f80fd5b5f61279a61279584612759565b61273f565b905080838252602082019050602084028301858111156127bd576127bc612784565b5b835b818110156127e657806127d288826124aa565b8452602084019350506020810190506127bf565b5050509392505050565b5f82601f830112612804576128036126dd565b5b8135612814848260208601612788565b91505092915050565b6128268161252f565b8114612830575f80fd5b50565b5f813590506128418161281d565b92915050565b5f806040838503121561285d5761285c61245c565b5b5f83013567ffffffffffffffff81111561287a57612879612460565b5b612886858286016127f0565b925050602061289785828601612833565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612923578086048111156128ff576128fe6128a1565b5b600185161561290e5780820291505b808102905061291c856128ce565b94506128e3565b94509492505050565b5f8261293b57600190506129f6565b81612948575f90506129f6565b816001811461295e576002811461296857612997565b60019150506129f6565b60ff84111561297a576129796128a1565b5b8360020a915084821115612991576129906128a1565b5b506129f6565b5060208310610133831016604e8410600b84101617156129cc5782820a9050838111156129c7576129c66128a1565b5b6129f6565b6129d984848460016128da565b925090508184048111156129f0576129ef6128a1565b5b81810290505b9392505050565b5f612a07826124be565b9150612a12836125da565b9250612a3f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461292c565b905092915050565b5f612a51826124be565b9150612a5c836124be565b9250828202612a6a816124be565b91508282048414831517612a8157612a806128a1565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612abc6020836123b3565b9150612ac782612a88565b602082019050919050565b5f6020820190508181035f830152612ae981612ab0565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b246017836123b3565b9150612b2f82612af0565b602082019050919050565b5f6020820190508181035f830152612b5181612b18565b9050919050565b5f81519050612b6681612494565b92915050565b5f60208284031215612b8157612b8061245c565b5b5f612b8e84828501612b58565b91505092915050565b5f604082019050612baa5f830185612677565b612bb76020830184612677565b9392505050565b5f819050919050565b5f819050919050565b5f612bea612be5612be084612bbe565b612bc7565b6124be565b9050919050565b612bfa81612bd0565b82525050565b5f60c082019050612c135f830189612677565b612c206020830188612562565b612c2d6040830187612bf1565b612c3a6060830186612bf1565b612c476080830185612677565b612c5460a0830184612562565b979650505050505050565b5f81519050612c6d816124c7565b92915050565b5f805f60608486031215612c8a57612c8961245c565b5b5f612c9786828701612c5f565b9350506020612ca886828701612c5f565b9250506040612cb986828701612c5f565b9150509250925092565b5f604082019050612cd65f830185612677565b612ce36020830184612562565b9392505050565b5f81519050612cf88161281d565b92915050565b5f60208284031215612d1357612d1261245c565b5b5f612d2084828501612cea565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612d60826124be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d9257612d916128a1565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612df76024836123b3565b9150612e0282612d9d565b604082019050919050565b5f6020820190508181035f830152612e2481612deb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e856022836123b3565b9150612e9082612e2b565b604082019050919050565b5f6020820190508181035f830152612eb281612e79565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f136025836123b3565b9150612f1e82612eb9565b604082019050919050565b5f6020820190508181035f830152612f4081612f07565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612fa16023836123b3565b9150612fac82612f47565b604082019050919050565b5f6020820190508181035f830152612fce81612f95565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61302f6029836123b3565b915061303a82612fd5565b604082019050919050565b5f6020820190508181035f83015261305c81613023565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f6130bd6024836123b3565b91506130c882613063565b604082019050919050565b5f6020820190508181035f8301526130ea816130b1565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131256019836123b3565b9150613130826130f1565b602082019050919050565b5f6020820190508181035f83015261315281613119565b9050919050565b5f613163826124be565b915061316e836124be565b9250828201905080821115613186576131856128a1565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6131c0601a836123b3565b91506131cb8261318c565b602082019050919050565b5f6020820190508181035f8301526131ed816131b4565b9050919050565b5f6131fe826124be565b9150613209836124be565b9250828203905081811115613221576132206128a1565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61325981612483565b82525050565b5f61326a8383613250565b60208301905092915050565b5f602082019050919050565b5f61328c82613227565b6132968185613231565b93506132a183613241565b805f5b838110156132d15781516132b8888261325f565b97506132c383613276565b9250506001810190506132a4565b5085935050505092915050565b5f60a0820190506132f15f830188612562565b6132fe6020830187612bf1565b81810360408301526133108186613282565b905061331f6060830185612677565b61332c6080830184612562565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61336d826124be565b9150613378836124be565b92508261338857613387613336565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133ed6021836123b3565b91506133f882613393565b604082019050919050565b5f6020820190508181035f83015261341a816133e1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613455601b836123b3565b915061346082613421565b602082019050919050565b5f6020820190508181035f83015261348281613449565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654a41564d696c6647616e6762616e6748617264636f72654f726779446565707468726f6174416d6174657572416e616c42696754697473417369616e426c6f6e64655465656e5374726970437265616d7069654269674469636b43756d73686f744f6e6c7946616e73446f75626c6550656e6574726174696f6e42424342756b6b616b6548656e7461693639a264697066735822122061355d82bcb6a4f3c7710b53af9c11a7bc3f842f2af5b8a9d211d23f9ce9449f64736f6c63430008140033

Deployed Bytecode Sourcemap

3767:9002:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5830:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6663:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5103:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6107:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6832:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6016:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10957;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12398:348;;;;;;;;;;;;;:::i;:::-;;11048:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6210:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2848:148;;;;;;;;;;;;;:::i;:::-;;10653:196;;;;;;;;;;;;;:::i;:::-;;4916:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2634:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4979:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5921:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6337:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5044:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4153:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11479:671;;;;;;;;;;;;;:::i;:::-;;6512:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11294:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5830:83;5867:13;5900:5;;;;;;;;;;;;;;;;;5893:12;;5830:83;:::o;6663:161::-;6738:4;6755:39;6764:12;:10;:12::i;:::-;6778:7;6787:6;6755:8;:39::i;:::-;6812:4;6805:11;;6663:161;;;;:::o;5103:54::-;;;;:::o;6107:95::-;6160:7;4597:1;4654:2;:13;;;;:::i;:::-;4640:11;:27;;;;:::i;:::-;6180:14;;6107:95;:::o;6832:313::-;6930:4;6947:36;6957:6;6965:9;6976:6;6947:9;:36::i;:::-;6994:121;7003:6;7011:12;:10;:12::i;:::-;7025:89;7063:6;7025:89;;;;;;;;;;;;;;;;;:11;:19;7037:6;7025:19;;;;;;;;;;;;;;;:33;7045:12;:10;:12::i;:::-;7025:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6994:8;:121::i;:::-;7133:4;7126:11;;6832:313;;;;;:::o;6016:83::-;6057:5;4597:1;6075:16;;6016:83;:::o;10957:::-;11004:4;11025;:7;11030:1;11025:7;;;;;;;;;;;;;;;;;;;;;;;;;11018:14;;10957:83;;;:::o;12398:348::-;12462:10;;;;;;;;;;;12448:24;;:12;:10;:12::i;:::-;:24;;;12440:33;;;;;;12484:20;12505:24;12523:4;12505:9;:24::i;:::-;12484:45;;12556:1;12543:12;:14;12540:73;;;12571:30;12588:12;12571:16;:30::i;:::-;12540:73;12623:18;12642:21;12623:40;;12688:1;12677:10;:12;12674:65;;;12703:24;12716:10;12703:12;:24::i;:::-;12674:65;12429:317;;12398:348::o;11048:238::-;2771:12;:10;:12::i;:::-;2761:22;;:6;;;;;;;;;;:22;;;2753:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11151:11:::1;11137:12;:25;;;;11188:12;11173:13;:27;;;;11227:11;11211:14;:27;;;;11266:12;11249:15;:29;;;;11048:238:::0;;:::o;6210:119::-;6276:7;6303:9;:18;6313:7;6303:18;;;;;;;;;;;;;;;;6296:25;;6210:119;;;:::o;2848:148::-;2771:12;:10;:12::i;:::-;2761:22;;:6;;;;;;;;;;:22;;;2753:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2955:1:::1;2918:40;;2939:6;::::0;::::1;;;;;;;;2918:40;;;;;;;;;;;;2986:1;2969:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2848:148::o:0;10653:196::-;2771:12;:10;:12::i;:::-;2761:22;;:6;;;;;;;;;;:22;;;2753:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4597:1:::1;4654:2;:13;;;;:::i;:::-;4640:11;:27;;;;:::i;:::-;10706:12;:22;;;;4597:1;4654:2;:13;;;;:::i;:::-;4640:11;:27;;;;:::i;:::-;10739:14;:22;;;;10793:5;10772:20;;:26;;;;;;;;;;;;;;;;;;10814:27;4597:1;4654:2;:13;;;;:::i;:::-;4640:11;:27;;;;:::i;:::-;10814;;;;;;:::i;:::-;;;;;;;;10653:196::o:0;4916:56::-;;;;:::o;2634:79::-;2672:7;2699:6;;;;;;;;;;;2692:13;;2634:79;:::o;4979:58::-;;;;:::o;5921:87::-;5960:13;5993:7;;;;;;;;;;;;;;;;;5986:14;;5921:87;:::o;6337:167::-;6415:4;6432:42;6442:12;:10;:12::i;:::-;6456:9;6467:6;6432:9;:42::i;:::-;6492:4;6485:11;;6337:167;;;;:::o;5044:52::-;;;;:::o;4153:40::-;;;;;;;;;;;;;:::o;11479:671::-;2771:12;:10;:12::i;:::-;2761:22;;:6;;;;;;;;;;:22;;;2753:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11543:11:::1;::::0;::::1;;;;;;;;11542:12;11534:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11629:42;11592:15;;:80;;;;;;;;;;;;;;;;;;11683:58;11700:4;11715:15;;;;;;;;;;;4597:1;4654:2;:13;;;;:::i;:::-;4640:11;:27;;;;:::i;:::-;11683:8;:58::i;:::-;11786:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11768:55;;;11832:4;11839:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11768:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11752:13;;:110;;;;;;;;;;;;;;;;;;11873:15;;;;;;;;;;;:31;;;11912:21;11943:4;11949:24;11967:4;11949:9;:24::i;:::-;11974:1;11976::::0;11978:7:::1;:5;:7::i;:::-;11986:15;11873:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12020:13;;;;;;;;;;;12013:29;;;12051:15;;;;;;;;;;;12069:14;12013:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12109:4;12095:11;;:18;;;;;;;;;;;;;;;;;;12138:4;12124:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;11479:671::o:0;6512:143::-;6593:7;6620:11;:18;6632:5;6620:18;;;;;;;;;;;;;;;:27;6639:7;6620:27;;;;;;;;;;;;;;;;6613:34;;6512:143;;;;:::o;11294:177::-;2771:12;:10;:12::i;:::-;2761:22;;:6;;;;;;;;;;:22;;;2753:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11380:6:::1;11375:89;11396:5;:12;11392:1;:16;11375:89;;;11447:5;11430:4;:14;11435:5;11441:1;11435:8;;;;;;;;:::i;:::-;;;;;;;;11430:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;11410:3;;;;;:::i;:::-;;;;11375:89;;;;11294:177:::0;;:::o;389:98::-;442:7;469:10;462:17;;389:98;:::o;7153:335::-;7263:1;7246:19;;:5;:19;;;7238:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7344:1;7325:21;;:7;:21;;;7317:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7426:6;7396:11;:18;7408:5;7396:18;;;;;;;;;;;;;;;:27;7415:7;7396:27;;;;;;;;;;;;;;;:36;;;;7464:7;7448:32;;7457:5;7448:32;;;7473:6;7448:32;;;;;;:::i;:::-;;;;;;;;7153:335;;;:::o;7496:2478::-;7600:1;7584:18;;:4;:18;;;7576:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7677:1;7663:16;;:2;:16;;;7655:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7747:1;7738:6;:10;7730:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7805:17;7847:7;:5;:7::i;:::-;7839:15;;:4;:15;;;;:32;;;;;7864:7;:5;:7::i;:::-;7858:13;;:2;:13;;;;7839:32;7835:1783;;;7897:4;:10;7902:4;7897:10;;;;;;;;;;;;;;;;;;;;;;;;;7896:11;:24;;;;;7912:4;:8;7917:2;7912:8;;;;;;;;;;;;;;;;;;;;;;;;;7911:9;7896:24;7888:33;;;;;;7942:20;;;;;;;;;;;7938:346;;;8001:15;;;;;;;;;;;7987:30;;:2;:30;;;;:62;;;;;8035:13;;;;;;;;;;;8021:28;;:2;:28;;;;7987:62;7983:286;;;8122:12;8080:28;:39;8109:9;8080:39;;;;;;;;;;;;;;;;:54;8072:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;8237:12;8195:28;:39;8224:9;8195:39;;;;;;;;;;;;;;;:54;;;;7983:286;7938:346;8312:13;;;;;;;;;;;8304:21;;:4;:21;;;:55;;;;;8343:15;;;;;;;;;;;8329:30;;:2;:30;;;;8304:55;:83;;;;;8365:18;:22;8384:2;8365:22;;;;;;;;;;;;;;;;;;;;;;;;;8363:24;8304:83;8300:428;;;8427:12;;8417:6;:22;;8409:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8522:14;;8512:6;8496:13;8506:2;8496:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8488:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8599:18;;8589:9;;:28;8586:97;;;8648:14;8659:2;8648:10;:14::i;:::-;8647:15;8639:24;;;;;;8586:97;8701:9;;:11;;;;;;;;;:::i;:::-;;;;;;8300:428;8758:76;8830:3;8758:67;8780:15;;8770:9;;:25;8769:55;;8810:14;;8769:55;;;8797:12;;8769:55;8758:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8746:88;;8858:13;;;;;;;;;;;8852:19;;:2;:19;;;:43;;;;;8890:4;8875:20;;:4;:20;;;;8852:43;8849:253;;;8934:12;;8924:6;:22;;8916:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9007:79;9082:3;9007:70;9029:16;;9019:9;;:26;9018:58;;9061:15;;9018:58;;;9047:13;;9018:58;9007:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8995:91;;8849:253;9118:28;9149:24;9167:4;9149:9;:24::i;:::-;9118:55;;9193:6;;;;;;;;;;;9192:7;:30;;;;;9209:13;;;;;;;;;;;9203:19;;:2;:19;;;9192:30;:45;;;;;9226:11;;;;;;;;;;;9192:45;:87;;;;;9262:17;;9241:20;:38;9192:87;:119;;;;;9293:18;;9283:9;;:28;9192:119;9188:419;;;9332:67;9349:49;9353:6;9360:37;9364:20;9385:11;;9360:3;:37::i;:::-;9349:3;:49::i;:::-;9332:16;:67::i;:::-;9418:26;9447:21;9418:50;;9511:1;9490:18;:22;9487:105;;;9537:35;9550:21;9537:12;:35::i;:::-;9487:105;9313:294;9188:419;7873:1745;7835:1783;9643:1;9633:9;:11;9630:161;;;9683:39;9712:9;9683;:24;9701:4;9683:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9658:9;:24;9676:4;9658:24;;;;;;;;;;;;;;;:64;;;;9763:4;9740:39;;9749:4;9740:39;;;9769:9;9740:39;;;;;;:::i;:::-;;;;;;;;9630:161;9817:27;9837:6;9817:9;:15;9827:4;9817:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9801:9;:15;9811:4;9801:15;;;;;;;;;;;;;;;:43;;;;9869:40;9887:21;9898:9;9887:6;:10;;:21;;;;:::i;:::-;9869:9;:13;9879:2;9869:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9855:9;:13;9865:2;9855:13;;;;;;;;;;;;;;;:54;;;;9940:2;9925:41;;9934:4;9925:41;;;9944:21;9955:9;9944:6;:10;;:21;;;;:::i;:::-;9925:41;;;;;;:::i;:::-;;;;;;;;7565:2409;7496:2478;;;:::o;1526:190::-;1612:7;1645:1;1640;:6;;1648:12;1632:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1672:9;1688:1;1684;:5;;;;:::i;:::-;1672:17;;1707:1;1700:8;;;1526:190;;;;;:::o;10090:555::-;5448:4;5439:6;;:13;;;;;;;;;;;;;;;;;;10184:1:::1;10171:11;:14:::0;10168:27;10187:7:::1;10168:27;10209:11;::::0;::::1;;;;;;;;10205:25:::0;10222:7:::1;10205:25;10240:21;10278:1;10264:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10240:40;;10309:4;10291;10296:1;10291:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10335:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10325:4;10330:1;10325:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10368:62;10385:4;10400:15;;;;;;;;;;;10418:11;10368:8;:62::i;:::-;10441:15;;;;;;;;;;;:66;;;10522:11;10548:1;10564:4;10591;10611:15;10441:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10157:488;5463:1;5484:5:::0;5475:6;;:14;;;;;;;;;;;;;;;;;;10090:555;:::o;10857:92::-;10914:10;;;;;;;;;;;:19;;:27;10934:6;10914:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10857:92;:::o;12195:195::-;12254:4;12271:12;12338:7;12326:20;12318:28;;12381:1;12374:4;:8;12367:15;;;12195:195;;;:::o;1724:246::-;1782:7;1811:1;1806;:6;1802:47;;1836:1;1829:8;;;;1802:47;1859:9;1875:1;1871;:5;;;;:::i;:::-;1859:17;;1904:1;1899;1895;:5;;;;:::i;:::-;:10;1887:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1961:1;1954:8;;;1724:246;;;;;:::o;1978:132::-;2036:7;2063:39;2067:1;2070;2063:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2056:46;;1978:132;;;;:::o;9984:98::-;10041:7;10068:1;10066;:3;10065:9;;10073:1;10065:9;;;10071:1;10065:9;10058:16;;9984:98;;;;:::o;1195:179::-;1253:7;1273:9;1289:1;1285;:5;;;;:::i;:::-;1273:17;;1314:1;1309;:6;;1301:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1365:1;1358:8;;;1195:179;;;;:::o;1382:136::-;1440:7;1467:43;1471:1;1474;1467:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1460:50;;1382:136;;;;:::o;2118:189::-;2204:7;2236:1;2232;:5;2239:12;2224:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2263:9;2279:1;2275;:5;;;;:::i;:::-;2263:17;;2298:1;2291:8;;;2118:189;;;;;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:117::-;6609:1;6606;6599:12;6623:180;6671:77;6668:1;6661:88;6768:4;6765:1;6758:15;6792:4;6789:1;6782:15;6809:281;6892:27;6914:4;6892:27;:::i;:::-;6884:6;6880:40;7022:6;7010:10;7007:22;6986:18;6974:10;6971:34;6968:62;6965:88;;;7033:18;;:::i;:::-;6965:88;7073:10;7069:2;7062:22;6852:238;6809:281;;:::o;7096:129::-;7130:6;7157:20;;:::i;:::-;7147:30;;7186:33;7214:4;7206:6;7186:33;:::i;:::-;7096:129;;;:::o;7231:311::-;7308:4;7398:18;7390:6;7387:30;7384:56;;;7420:18;;:::i;:::-;7384:56;7470:4;7462:6;7458:17;7450:25;;7530:4;7524;7520:15;7512:23;;7231:311;;;:::o;7548:117::-;7657:1;7654;7647:12;7688:710;7784:5;7809:81;7825:64;7882:6;7825:64;:::i;:::-;7809:81;:::i;:::-;7800:90;;7910:5;7939:6;7932:5;7925:21;7973:4;7966:5;7962:16;7955:23;;8026:4;8018:6;8014:17;8006:6;8002:30;8055:3;8047:6;8044:15;8041:122;;;8074:79;;:::i;:::-;8041:122;8189:6;8172:220;8206:6;8201:3;8198:15;8172:220;;;8281:3;8310:37;8343:3;8331:10;8310:37;:::i;:::-;8305:3;8298:50;8377:4;8372:3;8368:14;8361:21;;8248:144;8232:4;8227:3;8223:14;8216:21;;8172:220;;;8176:21;7790:608;;7688:710;;;;;:::o;8421:370::-;8492:5;8541:3;8534:4;8526:6;8522:17;8518:27;8508:122;;8549:79;;:::i;:::-;8508:122;8666:6;8653:20;8691:94;8781:3;8773:6;8766:4;8758:6;8754:17;8691:94;:::i;:::-;8682:103;;8498:293;8421:370;;;;:::o;8797:116::-;8867:21;8882:5;8867:21;:::i;:::-;8860:5;8857:32;8847:60;;8903:1;8900;8893:12;8847:60;8797:116;:::o;8919:133::-;8962:5;9000:6;8987:20;8978:29;;9016:30;9040:5;9016:30;:::i;:::-;8919:133;;;;:::o;9058:678::-;9148:6;9156;9205:2;9193:9;9184:7;9180:23;9176:32;9173:119;;;9211:79;;:::i;:::-;9173:119;9359:1;9348:9;9344:17;9331:31;9389:18;9381:6;9378:30;9375:117;;;9411:79;;:::i;:::-;9375:117;9516:78;9586:7;9577:6;9566:9;9562:22;9516:78;:::i;:::-;9506:88;;9302:302;9643:2;9669:50;9711:7;9702:6;9691:9;9687:22;9669:50;:::i;:::-;9659:60;;9614:115;9058:678;;;;;:::o;9742:180::-;9790:77;9787:1;9780:88;9887:4;9884:1;9877:15;9911:4;9908:1;9901:15;9928:102;9970:8;10017:5;10014:1;10010:13;9989:34;;9928:102;;;:::o;10036:848::-;10097:5;10104:4;10128:6;10119:15;;10152:5;10143:14;;10166:712;10187:1;10177:8;10174:15;10166:712;;;10282:4;10277:3;10273:14;10267:4;10264:24;10261:50;;;10291:18;;:::i;:::-;10261:50;10341:1;10331:8;10327:16;10324:451;;;10756:4;10749:5;10745:16;10736:25;;10324:451;10806:4;10800;10796:15;10788:23;;10836:32;10859:8;10836:32;:::i;:::-;10824:44;;10166:712;;;10036:848;;;;;;;:::o;10890:1073::-;10944:5;11135:8;11125:40;;11156:1;11147:10;;11158:5;;11125:40;11184:4;11174:36;;11201:1;11192:10;;11203:5;;11174:36;11270:4;11318:1;11313:27;;;;11354:1;11349:191;;;;11263:277;;11313:27;11331:1;11322:10;;11333:5;;;11349:191;11394:3;11384:8;11381:17;11378:43;;;11401:18;;:::i;:::-;11378:43;11450:8;11447:1;11443:16;11434:25;;11485:3;11478:5;11475:14;11472:40;;;11492:18;;:::i;:::-;11472:40;11525:5;;;11263:277;;11649:2;11639:8;11636:16;11630:3;11624:4;11621:13;11617:36;11599:2;11589:8;11586:16;11581:2;11575:4;11572:12;11568:35;11552:111;11549:246;;;11705:8;11699:4;11695:19;11686:28;;11740:3;11733:5;11730:14;11727:40;;;11747:18;;:::i;:::-;11727:40;11780:5;;11549:246;11820:42;11858:3;11848:8;11842:4;11839:1;11820:42;:::i;:::-;11805:57;;;;11894:4;11889:3;11885:14;11878:5;11875:25;11872:51;;;11903:18;;:::i;:::-;11872:51;11952:4;11945:5;11941:16;11932:25;;10890:1073;;;;;;:::o;11969:281::-;12027:5;12051:23;12069:4;12051:23;:::i;:::-;12043:31;;12095:25;12111:8;12095:25;:::i;:::-;12083:37;;12139:104;12176:66;12166:8;12160:4;12139:104;:::i;:::-;12130:113;;11969:281;;;;:::o;12256:410::-;12296:7;12319:20;12337:1;12319:20;:::i;:::-;12314:25;;12353:20;12371:1;12353:20;:::i;:::-;12348:25;;12408:1;12405;12401:9;12430:30;12448:11;12430:30;:::i;:::-;12419:41;;12609:1;12600:7;12596:15;12593:1;12590:22;12570:1;12563:9;12543:83;12520:139;;12639:18;;:::i;:::-;12520:139;12304:362;12256:410;;;;:::o;12672:182::-;12812:34;12808:1;12800:6;12796:14;12789:58;12672:182;:::o;12860:366::-;13002:3;13023:67;13087:2;13082:3;13023:67;:::i;:::-;13016:74;;13099:93;13188:3;13099:93;:::i;:::-;13217:2;13212:3;13208:12;13201:19;;12860:366;;;:::o;13232:419::-;13398:4;13436:2;13425:9;13421:18;13413:26;;13485:9;13479:4;13475:20;13471:1;13460:9;13456:17;13449:47;13513:131;13639:4;13513:131;:::i;:::-;13505:139;;13232:419;;;:::o;13657:173::-;13797:25;13793:1;13785:6;13781:14;13774:49;13657:173;:::o;13836:366::-;13978:3;13999:67;14063:2;14058:3;13999:67;:::i;:::-;13992:74;;14075:93;14164:3;14075:93;:::i;:::-;14193:2;14188:3;14184:12;14177:19;;13836:366;;;:::o;14208:419::-;14374:4;14412:2;14401:9;14397:18;14389:26;;14461:9;14455:4;14451:20;14447:1;14436:9;14432:17;14425:47;14489:131;14615:4;14489:131;:::i;:::-;14481:139;;14208:419;;;:::o;14633:143::-;14690:5;14721:6;14715:13;14706:22;;14737:33;14764:5;14737:33;:::i;:::-;14633:143;;;;:::o;14782:351::-;14852:6;14901:2;14889:9;14880:7;14876:23;14872:32;14869:119;;;14907:79;;:::i;:::-;14869:119;15027:1;15052:64;15108:7;15099:6;15088:9;15084:22;15052:64;:::i;:::-;15042:74;;14998:128;14782:351;;;;:::o;15139:332::-;15260:4;15298:2;15287:9;15283:18;15275:26;;15311:71;15379:1;15368:9;15364:17;15355:6;15311:71;:::i;:::-;15392:72;15460:2;15449:9;15445:18;15436:6;15392:72;:::i;:::-;15139:332;;;;;:::o;15477:85::-;15522:7;15551:5;15540:16;;15477:85;;;:::o;15568:60::-;15596:3;15617:5;15610:12;;15568:60;;;:::o;15634:158::-;15692:9;15725:61;15743:42;15752:32;15778:5;15752:32;:::i;:::-;15743:42;:::i;:::-;15725:61;:::i;:::-;15712:74;;15634:158;;;:::o;15798:147::-;15893:45;15932:5;15893:45;:::i;:::-;15888:3;15881:58;15798:147;;:::o;15951:807::-;16200:4;16238:3;16227:9;16223:19;16215:27;;16252:71;16320:1;16309:9;16305:17;16296:6;16252:71;:::i;:::-;16333:72;16401:2;16390:9;16386:18;16377:6;16333:72;:::i;:::-;16415:80;16491:2;16480:9;16476:18;16467:6;16415:80;:::i;:::-;16505;16581:2;16570:9;16566:18;16557:6;16505:80;:::i;:::-;16595:73;16663:3;16652:9;16648:19;16639:6;16595:73;:::i;:::-;16678;16746:3;16735:9;16731:19;16722:6;16678:73;:::i;:::-;15951:807;;;;;;;;;:::o;16764:143::-;16821:5;16852:6;16846:13;16837:22;;16868:33;16895:5;16868:33;:::i;:::-;16764:143;;;;:::o;16913:663::-;17001:6;17009;17017;17066:2;17054:9;17045:7;17041:23;17037:32;17034:119;;;17072:79;;:::i;:::-;17034:119;17192:1;17217:64;17273:7;17264:6;17253:9;17249:22;17217:64;:::i;:::-;17207:74;;17163:128;17330:2;17356:64;17412:7;17403:6;17392:9;17388:22;17356:64;:::i;:::-;17346:74;;17301:129;17469:2;17495:64;17551:7;17542:6;17531:9;17527:22;17495:64;:::i;:::-;17485:74;;17440:129;16913:663;;;;;:::o;17582:332::-;17703:4;17741:2;17730:9;17726:18;17718:26;;17754:71;17822:1;17811:9;17807:17;17798:6;17754:71;:::i;:::-;17835:72;17903:2;17892:9;17888:18;17879:6;17835:72;:::i;:::-;17582:332;;;;;:::o;17920:137::-;17974:5;18005:6;17999:13;17990:22;;18021:30;18045:5;18021:30;:::i;:::-;17920:137;;;;:::o;18063:345::-;18130:6;18179:2;18167:9;18158:7;18154:23;18150:32;18147:119;;;18185:79;;:::i;:::-;18147:119;18305:1;18330:61;18383:7;18374:6;18363:9;18359:22;18330:61;:::i;:::-;18320:71;;18276:125;18063:345;;;;:::o;18414:180::-;18462:77;18459:1;18452:88;18559:4;18556:1;18549:15;18583:4;18580:1;18573:15;18600:233;18639:3;18662:24;18680:5;18662:24;:::i;:::-;18653:33;;18708:66;18701:5;18698:77;18695:103;;18778:18;;:::i;:::-;18695:103;18825:1;18818:5;18814:13;18807:20;;18600:233;;;:::o;18839:223::-;18979:34;18975:1;18967:6;18963:14;18956:58;19048:6;19043:2;19035:6;19031:15;19024:31;18839:223;:::o;19068:366::-;19210:3;19231:67;19295:2;19290:3;19231:67;:::i;:::-;19224:74;;19307:93;19396:3;19307:93;:::i;:::-;19425:2;19420:3;19416:12;19409:19;;19068:366;;;:::o;19440:419::-;19606:4;19644:2;19633:9;19629:18;19621:26;;19693:9;19687:4;19683:20;19679:1;19668:9;19664:17;19657:47;19721:131;19847:4;19721:131;:::i;:::-;19713:139;;19440:419;;;:::o;19865:221::-;20005:34;20001:1;19993:6;19989:14;19982:58;20074:4;20069:2;20061:6;20057:15;20050:29;19865:221;:::o;20092:366::-;20234:3;20255:67;20319:2;20314:3;20255:67;:::i;:::-;20248:74;;20331:93;20420:3;20331:93;:::i;:::-;20449:2;20444:3;20440:12;20433:19;;20092:366;;;:::o;20464:419::-;20630:4;20668:2;20657:9;20653:18;20645:26;;20717:9;20711:4;20707:20;20703:1;20692:9;20688:17;20681:47;20745:131;20871:4;20745:131;:::i;:::-;20737:139;;20464:419;;;:::o;20889:224::-;21029:34;21025:1;21017:6;21013:14;21006:58;21098:7;21093:2;21085:6;21081:15;21074:32;20889:224;:::o;21119:366::-;21261:3;21282:67;21346:2;21341:3;21282:67;:::i;:::-;21275:74;;21358:93;21447:3;21358:93;:::i;:::-;21476:2;21471:3;21467:12;21460:19;;21119:366;;;:::o;21491:419::-;21657:4;21695:2;21684:9;21680:18;21672:26;;21744:9;21738:4;21734:20;21730:1;21719:9;21715:17;21708:47;21772:131;21898:4;21772:131;:::i;:::-;21764:139;;21491:419;;;:::o;21916:222::-;22056:34;22052:1;22044:6;22040:14;22033:58;22125:5;22120:2;22112:6;22108:15;22101:30;21916:222;:::o;22144:366::-;22286:3;22307:67;22371:2;22366:3;22307:67;:::i;:::-;22300:74;;22383:93;22472:3;22383:93;:::i;:::-;22501:2;22496:3;22492:12;22485:19;;22144:366;;;:::o;22516:419::-;22682:4;22720:2;22709:9;22705:18;22697:26;;22769:9;22763:4;22759:20;22755:1;22744:9;22740:17;22733:47;22797:131;22923:4;22797:131;:::i;:::-;22789:139;;22516:419;;;:::o;22941:228::-;23081:34;23077:1;23069:6;23065:14;23058:58;23150:11;23145:2;23137:6;23133:15;23126:36;22941:228;:::o;23175:366::-;23317:3;23338:67;23402:2;23397:3;23338:67;:::i;:::-;23331:74;;23414:93;23503:3;23414:93;:::i;:::-;23532:2;23527:3;23523:12;23516:19;;23175:366;;;:::o;23547:419::-;23713:4;23751:2;23740:9;23736:18;23728:26;;23800:9;23794:4;23790:20;23786:1;23775:9;23771:17;23764:47;23828:131;23954:4;23828:131;:::i;:::-;23820:139;;23547:419;;;:::o;23972:223::-;24112:34;24108:1;24100:6;24096:14;24089:58;24181:6;24176:2;24168:6;24164:15;24157:31;23972:223;:::o;24201:366::-;24343:3;24364:67;24428:2;24423:3;24364:67;:::i;:::-;24357:74;;24440:93;24529:3;24440:93;:::i;:::-;24558:2;24553:3;24549:12;24542:19;;24201:366;;;:::o;24573:419::-;24739:4;24777:2;24766:9;24762:18;24754:26;;24826:9;24820:4;24816:20;24812:1;24801:9;24797:17;24790:47;24854:131;24980:4;24854:131;:::i;:::-;24846:139;;24573:419;;;:::o;24998:175::-;25138:27;25134:1;25126:6;25122:14;25115:51;24998:175;:::o;25179:366::-;25321:3;25342:67;25406:2;25401:3;25342:67;:::i;:::-;25335:74;;25418:93;25507:3;25418:93;:::i;:::-;25536:2;25531:3;25527:12;25520:19;;25179:366;;;:::o;25551:419::-;25717:4;25755:2;25744:9;25740:18;25732:26;;25804:9;25798:4;25794:20;25790:1;25779:9;25775:17;25768:47;25832:131;25958:4;25832:131;:::i;:::-;25824:139;;25551:419;;;:::o;25976:191::-;26016:3;26035:20;26053:1;26035:20;:::i;:::-;26030:25;;26069:20;26087:1;26069:20;:::i;:::-;26064:25;;26112:1;26109;26105:9;26098:16;;26133:3;26130:1;26127:10;26124:36;;;26140:18;;:::i;:::-;26124:36;25976:191;;;;:::o;26173:176::-;26313:28;26309:1;26301:6;26297:14;26290:52;26173:176;:::o;26355:366::-;26497:3;26518:67;26582:2;26577:3;26518:67;:::i;:::-;26511:74;;26594:93;26683:3;26594:93;:::i;:::-;26712:2;26707:3;26703:12;26696:19;;26355:366;;;:::o;26727:419::-;26893:4;26931:2;26920:9;26916:18;26908:26;;26980:9;26974:4;26970:20;26966:1;26955:9;26951:17;26944:47;27008:131;27134:4;27008:131;:::i;:::-;27000:139;;26727:419;;;:::o;27152:194::-;27192:4;27212:20;27230:1;27212:20;:::i;:::-;27207:25;;27246:20;27264:1;27246:20;:::i;:::-;27241:25;;27290:1;27287;27283:9;27275:17;;27314:1;27308:4;27305:11;27302:37;;;27319:18;;:::i;:::-;27302:37;27152:194;;;;:::o;27352:114::-;27419:6;27453:5;27447:12;27437:22;;27352:114;;;:::o;27472:184::-;27571:11;27605:6;27600:3;27593:19;27645:4;27640:3;27636:14;27621:29;;27472:184;;;;:::o;27662:132::-;27729:4;27752:3;27744:11;;27782:4;27777:3;27773:14;27765:22;;27662:132;;;:::o;27800:108::-;27877:24;27895:5;27877:24;:::i;:::-;27872:3;27865:37;27800:108;;:::o;27914:179::-;27983:10;28004:46;28046:3;28038:6;28004:46;:::i;:::-;28082:4;28077:3;28073:14;28059:28;;27914:179;;;;:::o;28099:113::-;28169:4;28201;28196:3;28192:14;28184:22;;28099:113;;;:::o;28248:732::-;28367:3;28396:54;28444:5;28396:54;:::i;:::-;28466:86;28545:6;28540:3;28466:86;:::i;:::-;28459:93;;28576:56;28626:5;28576:56;:::i;:::-;28655:7;28686:1;28671:284;28696:6;28693:1;28690:13;28671:284;;;28772:6;28766:13;28799:63;28858:3;28843:13;28799:63;:::i;:::-;28792:70;;28885:60;28938:6;28885:60;:::i;:::-;28875:70;;28731:224;28718:1;28715;28711:9;28706:14;;28671:284;;;28675:14;28971:3;28964:10;;28372:608;;;28248:732;;;;:::o;28986:831::-;29249:4;29287:3;29276:9;29272:19;29264:27;;29301:71;29369:1;29358:9;29354:17;29345:6;29301:71;:::i;:::-;29382:80;29458:2;29447:9;29443:18;29434:6;29382:80;:::i;:::-;29509:9;29503:4;29499:20;29494:2;29483:9;29479:18;29472:48;29537:108;29640:4;29631:6;29537:108;:::i;:::-;29529:116;;29655:72;29723:2;29712:9;29708:18;29699:6;29655:72;:::i;:::-;29737:73;29805:3;29794:9;29790:19;29781:6;29737:73;:::i;:::-;28986:831;;;;;;;;:::o;29823:180::-;29871:77;29868:1;29861:88;29968:4;29965:1;29958:15;29992:4;29989:1;29982:15;30009:185;30049:1;30066:20;30084:1;30066:20;:::i;:::-;30061:25;;30100:20;30118:1;30100:20;:::i;:::-;30095:25;;30139:1;30129:35;;30144:18;;:::i;:::-;30129:35;30186:1;30183;30179:9;30174:14;;30009:185;;;;:::o;30200:220::-;30340:34;30336:1;30328:6;30324:14;30317:58;30409:3;30404:2;30396:6;30392:15;30385:28;30200:220;:::o;30426:366::-;30568:3;30589:67;30653:2;30648:3;30589:67;:::i;:::-;30582:74;;30665:93;30754:3;30665:93;:::i;:::-;30783:2;30778:3;30774:12;30767:19;;30426:366;;;:::o;30798:419::-;30964:4;31002:2;30991:9;30987:18;30979:26;;31051:9;31045:4;31041:20;31037:1;31026:9;31022:17;31015:47;31079:131;31205:4;31079:131;:::i;:::-;31071:139;;30798:419;;;:::o;31223:177::-;31363:29;31359:1;31351:6;31347:14;31340:53;31223:177;:::o;31406:366::-;31548:3;31569:67;31633:2;31628:3;31569:67;:::i;:::-;31562:74;;31645:93;31734:3;31645:93;:::i;:::-;31763:2;31758:3;31754:12;31747:19;;31406:366;;;:::o;31778:419::-;31944:4;31982:2;31971:9;31967:18;31959:26;;32031:9;32025:4;32021:20;32017:1;32006:9;32002:17;31995:47;32059:131;32185:4;32059:131;:::i;:::-;32051:139;;31778:419;;;:::o

Swarm Source

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