ETH Price: $2,557.33 (-4.66%)

Token

Dev Detector Bot (DEV)
 

Overview

Max Total Supply

1,000,000 DEV

Holders

174

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
845.18724873 DEV

Value
$0.00
0xf115718b9fb30f83871ae3d0dec1d3294193a1fe
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:
DevDetector

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-16
*/

// SPDX-License-Identifier: MIT
/*
TG: https://t.me/DevDetector
Website: https://devdetector.tech
X: https://twitter.com/DevDetector
Medium: https://medium.com/@devdetector
BOT:https://t.me/DevDetectorBot

"DEV DETECTOR BOT" $DEV
Bot Live on ETH and BSC
This bot is the next level token scanner
It scans for token safety
It follows Airdrops
It shows top holders with current ETH or BNB value
Checks Marketing Wallet
Checks Dev Wallet
Checks Burn
Wallet Tracker
and much more 
Many features being added for token holders including snipe from bot if you like what you scan


                                                                        'lc;,co.                                                                      
                                                                      .cl;cxl'l:                                                                      
                                                                    .:l::oddd,:l.   ,:::;:;.                                                          
                                                                  .;l:,cc'..;,'o, .cl',::cl:::,.                                                      
                                                                 .ll';:''o:..,.co;l:..,:;:c::cl::;.                                                   
                                                           .,;:c:cl,.,. 'c,..'..:c,'.'dOl..;l:,'cx,                                                   
                                                      .,:ccccc;,..............'  .,'..','...'cdl:'                                                    
                                                  .,:clc:,.............,:;,,,;;,',,.........':lccc,.                                                  
                                               .,cll:'.........',:cloodxxxxxxxxxxxxxdol:;'......':llc,.                                               
                                             'cll;..........';coooollccccccccccccclloodxkkdl;'......;llc'                                             
                                          .,lo:'..........,:llc::::ccccccccccccccccccccccloxOko:'......:ol,                                           
                                         ,ol,..........';ccccccccccccccccccccccccccccccccccccoxOkl'......;ll;                                         
                                       'lo,...........;cccccccccccccccccccccccccccccccccccccccclokk:.......,oo'                                       
                                     .cd;............',',,''',,,,,,,;;;::::cccccccccccccccccccccccoko'.......:oc.                                     
                                    ,ol'....,,;;;;,'''''''''..........',,,,,,,,,,,,;::ccccccccccccccdo'.......'lo'                                    
                                   :d:....':lcccccc:,,,'....''''',;:::::::::::;;,',',,,,,,;:cccccccccol.........:d:                                   
                                 .cd,......:ccccccc:,'''',;;:ccccclllccc:;;;;;::::clllc:;,,,,,,;;:ccccc..........,dc.                                 
                                .cd,........';:::;,,..;:::clloolc::;;,,'''''''''',,;;;::clooolc::::::cc'..........,oc.                                
                                cd,..............''.';::cllc:;,'.'''''''',,,,,,',,''''''',;:loodddoo:',............,dc                                
                               ;x;..................;clodo:'.',''''''''''''''''''''''','',''',cdddddl'..............;x;                               
                              .dc..................,loddd:'''''''''''''''''''''''''''',,',,''.,oddddd;.''............cd.                              
                              ld'..............,c;'cxddxl'''','''''''''''''''''''''',''''',,,''cxddddc';l;............dl                              
                             'x:..............:do;,odddxc.',''''''...'''''''''''''''....''''',.;dddddo,:ooc...........:x'                             
                             cx'..............cxd;;ddddx:.'''''',:ll:'.,''''''''''.,cll:,'',''.;xxoddo,:ddo'..........'dc                             
                            .oo...............:xd;;ddddx:.,'''',ldodkd;',''''''''';oldkxc'',',.,xxdddo,;ddl............oo.                            
                            'xc...............:dd;;odddx:.'','.:do;,dOc.''''''',''l:.:kxl,',',.,xxdddo,:ddl............cd.                            
                            ,x:...............,lo:,odddxc''','.;dc. .c;.''''''''''c;  'lc'',',.;dxdddo,:ddc............:x,                            
                            ,d;................';,'cddddl'.,''''cl;.;;'''''''''',.,:..;l,.'','.:dddddl';c,.............;x,                            
                            'd:....................;ddddd:.','''',;;,''''''''''','',;;;,''','.,oddddd:.................:d'                            
                            .dc.....................cddddl;,'.''''''''''''''''''',''''',,'',,;ldddddo'.................cd.                            
                            .oo.....................'ldddodollc:,'''.''''''''''''''..''',;:coooddddo;..................oo.                            
                             cd,......................,:clolloodol:;,'''''...''',;;,;;:cloooolloll:'..................'dc                             
                             'x:..............;lodddddddxxkxxkkkxxkkkxxkkxxxxxkkkOkkkkkkkkkkkkkkkxdddxdoc,............:x'                             
                              ld'...........'d00000O0000000000000000000000000OOO00000000000000000000OOO00Ol..........'dl                              
                              .dc...........c0kkkkkkkkkkkkOOkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkOOOkkkkO:.........cd.                              
                               ;x;..........cOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkkkkkkkkOkkOc........;d;                               
                                cd,.........:kOkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkOOkkkkkkkkkkkkkkkkkkkkkkkkkkkc.......,dc                                
                                .co,........:kOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkc......,dc                                 
                                  cd,.......;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkxxkkOkkkkkkkkkkkkkkkkkkkkkkc.....;dc                                  
                                   ;d:......;kOkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkxddkxooxkkkOkkkkkkkkkkkkkkkkkkc....:d;                                   
                                    'ol'....;kkkkkkkkkkkkkkkkkkkkkkOOkkkOOkkxoxKNOdookkkOkkkkkkkkkkkkkkkkkOc..'lo'                                    
                                     .co;...;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxolxKOodddkkkkkkkkkkkkkkkkkkkkkOc.:oc.                                     
                                       'oo;.;kkkkkkkkkkkkkkkkkkkkOkkkOkkxxddolodoodxkOkOkkkkkkkkkkkkkkkkkkkcco'                                       
                                         ,o:;xOkkkkkkkkkkkkkkkkkkkkOkxdddddxxkkkkkkkOkkkkkkkkkkkkkkkkkkkkOklo:                                        
                                          ;ocxOkkkkkkkkkkkkkkkkkkOOxddooxkkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklo:                                        
                                          ;ocxOkkkkkkkkkkkkkkkkkkOkxxxxkkkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklo:                                        
                                          ;ocxOkkkkkkkkkkkkkkkkkOkkkkkkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklo:                                        
                                          ;ocxOkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkco:                                        
                                          ;ocxOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkco:                                        
                                          ;o:xOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkco:                                        
                                          ;o:ldddddddddddddddddddddddddddddddddddoooooooooooooooodddddddodo;o:                                        
                                          .cccccccccccccccccccccccccccccccccccccccccccccccccccccc:::::::::::c'                                        
                                            ...............................................................                                           
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
      .:llllc;. .;lllll:,:l'   .;l,   .:llllc;. .;llcll;':llllll;':lllll;.  .,cloo;,cllllll, .,clolc,  .:llllc,.    ,lllllc.  .':lolc,  ,lcllllc.     
      ,KWkclON0,.OWKoll:'dW0' .oN0,   ,KWkco0NO''OW0oll:':lOWNxc;cKW0lll;.;dOXOocc;,coKMKoc,;ONOlcoKNx.,KWx;dXNl    dWKllKMx.,kN0lco0Nx,,cxNWOc:.     
      ;KNc  ;XWl'OWKkdd' '0Wo.lN0,    ;XNc  :XWc'0WKxxo'   lWK,  ;XW0xxl..kWMO.      .kMk. .kMO'   cNWc;KXl:OKx'    dMXdxXNl.xM0'   :XWl  ;XWc        
      :XNo.;kNK;,KWOoll,  :XKOKO,     :NNo.;kW0,;KWOlll'   dW0'  cNWkllc..dNWKc....  .OMx. .oWXl..,kWK,:XXclNK,    .kMO::0Mx'oNXo'.,xNK;  :XN:        
      ;kOkxkko' 'k0kxxkc. .lOOx'      ;OOkxkko' ,k0kxxkc  .l0o.  :OOxxxk; .,cxOkxx;  .d0c   .:xOkxkko' ;Ok'.oOl.   .o0kodkx; .:dkkxkko'   ;kk,                                                                                                                                           
*/

pragma solidity ^0.8.17;

library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

interface IRouter {
    function factory() external pure returns (address);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    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);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}

contract DevDetector is Context, IERC20, Ownable {

    using Address for address payable;

    IRouter public router;
    address public pair;
    
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFee;
    mapping (address => bool) public _isExcludedFromMaxBalance;

    mapping (address => uint256) public _dogSellTime;
    bool public watchdogMode = true;
    uint256 public _caughtDogs;

    uint8 private constant _decimals = 9; 
    uint256 private _tTotal = 1_000_000 * (10**_decimals);
    uint256 public swapThreshold = 10_000 * (10**_decimals); 
    uint256 public maxTxAmount = 20_000 * (10**_decimals);
    uint256 public maxWallet =  20_000 * (10**_decimals);

    string private constant _name = "Dev Detector Bot"; 
    string private constant _symbol = "DEV";

    uint8 public buyTax = 30; 
    uint8 public sellTax = 35;

    address public marketingWallet = 0x32026371aB454e8Aa5AbB40Fb67a9eDBcFcaaB41; 
    
    bool private enableTrading = false;
    bool private swapping;
    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }   

    event SwapAndLiquify();
    event TaxesChanged();

    constructor () {
        _tOwned[_msgSender()] = _tTotal;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[marketingWallet] = true;

        _isExcludedFromMaxBalance[owner()] = true;
        _isExcludedFromMaxBalance[address(this)] = true;
        _isExcludedFromMaxBalance[marketingWallet] = 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 view override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function _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);
    }
    
    receive() external payable {}

    function openTrading() external onlyOwner{
        require(!enableTrading,"Can only be opened once");
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pair = _pair;
        _isExcludedFromMaxBalance[pair] = true;
        _approve(address(this), address(router), ~uint256(0));
        router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)) - (150_000 * 10**_decimals),0,0,owner(),block.timestamp);
        IERC20(pair).approve(address(router), ~uint256(0));
        enableTrading = true;
    }

    function setContractTaxes(uint8 buyTax_, uint8 sellTax_) external onlyOwner{
        require(buyTax_ <= 35 && sellTax_<= 60, "Taxes can't exceed the limit.");
        buyTax = buyTax_; sellTax = sellTax_;
        emit TaxesChanged();
    }

    function setContractLimits(uint maxTX_EXACT, uint maxWallet_EXACT) public onlyOwner{
        uint pointFiveSupply = (_tTotal * 5 / 1000) / (10**_decimals);
        require(maxTX_EXACT >= pointFiveSupply && maxWallet_EXACT >= pointFiveSupply, "Invalid Settings");
        maxTxAmount = maxTX_EXACT * (10**_decimals);
        maxWallet = maxWallet_EXACT * (10**_decimals);
    }

    function setSwapSettings(uint swapThreshold_EXACT) public onlyOwner{
        swapThreshold = swapThreshold_EXACT * (10**_decimals);
    }

    function setWatchdogOff() external onlyOwner{
        require(watchdogMode,"Already turned off.");
        watchdogMode = false;
    }

    function setDogSellTimeForAddress(address holder, uint dTime) external onlyOwner{
        _dogSellTime[holder] = block.timestamp + dTime;
    }

    function manualSwap() external lockTheSwap{
        require(msg.sender == marketingWallet);
        uint256 tokenBalance = balanceOf(address(this));
        if(tokenBalance > 0){
            uint256 ethSwapped = swapTokensForETH(tokenBalance);
            if(ethSwapped > 0)
                payable(marketingWallet).transfer(ethSwapped);
        }
        if (address(this).balance > 0)
            payable(marketingWallet).sendValue(address(this).balance);
    }

    function _preTransferCheck(address from,address to,uint256 amount) internal{
        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");
        require(amount <= maxTxAmount || _isExcludedFromMaxBalance[from], "Transfer amount exceeds the _maxTxAmount.");

        if(!_isExcludedFromMaxBalance[to])
            require(balanceOf(to) + amount <= maxWallet, "Transfer amount exceeds the maxWallet.");
        
        if (balanceOf(address(this)) >= swapThreshold && !swapping && enableTrading && from != pair && from != owner() && to != owner())
            swapAndLiquify();
    }

    function _watchDogCheck(address from,address to, bool isBuy) internal{
        if (isBuy){
            if(watchdogMode){
                _caughtDogs++;
                _dogSellTime[to] = block.timestamp + 3;
            }
        }else{
            if (_dogSellTime[from] != 0)
                require(block.timestamp < _dogSellTime[from]); 
        }
    }

    function _getTaxValues(uint amount, address from, bool isSell) private returns(uint256){
        uint256 taxedTokens = amount * buyTax / 100;
        if(isSell)
            taxedTokens = amount * sellTax / 100;

        if (taxedTokens > 0){
            _tOwned[address(this)] += taxedTokens;
            emit Transfer (from, address(this), taxedTokens);
        }
        return (amount - taxedTokens);
    }

    function _transfer(address from,address to,uint256 amount) private {
        _preTransferCheck(from, to, amount);
        _tOwned[from] -= amount;
        uint256 transferAmount = amount;
        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            transferAmount = _getTaxValues(amount, from, to == pair);
            _watchDogCheck(from,to,from == pair);
        }
        _tOwned[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }

    function swapAndLiquify() private lockTheSwap{

        uint256 tokensForMarketing = swapThreshold * 80 / 100;
        uint256 tokensForLiquidity = swapThreshold * 20 / 100;
        
        if(tokensForMarketing > 0){
            uint256 ethSwapped = swapTokensForETH(tokensForMarketing);
            if(ethSwapped > 0)
                payable(marketingWallet).transfer(ethSwapped);
        }

        if(tokensForLiquidity > 0){
            uint half = tokensForLiquidity / 2;
            uint otherHalf = tokensForLiquidity - half;
            uint balAutoLP = swapTokensForETH(half);
            if (balAutoLP > 0)
                addLiquidity(otherHalf, balAutoLP);
        }

        if (address(this).balance > 0)
            payable(marketingWallet).sendValue(address(this).balance);
        
        emit SwapAndLiquify();

    }

    function swapTokensForETH(uint256 tokenAmount) private returns (uint256) {
        uint256 initialBalance = address(this).balance;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        _approve(address(this), address(router), tokenAmount);

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
        return (address(this).balance - initialBalance);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(router), tokenAmount);

        (,uint256 ethFromLiquidity,) = router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            marketingWallet,
            block.timestamp
        );
        
        if (ethAmount - ethFromLiquidity > 0)
            payable(marketingWallet).sendValue (ethAmount - ethFromLiquidity);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[],"name":"TaxesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_caughtDogs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_dogSellTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"buyTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTX_EXACT","type":"uint256"},{"internalType":"uint256","name":"maxWallet_EXACT","type":"uint256"}],"name":"setContractLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"buyTax_","type":"uint8"},{"internalType":"uint8","name":"sellTax_","type":"uint8"}],"name":"setContractTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"dTime","type":"uint256"}],"name":"setDogSellTimeForAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapThreshold_EXACT","type":"uint256"}],"name":"setSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setWatchdogOff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"watchdogMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160085f6101000a81548160ff0219169083151502179055506009600a6200002e91906200072c565b620f42406200003e91906200077c565b600a556009600a6200005191906200072c565b6127106200006091906200077c565b600b556009600a6200007391906200072c565b614e206200008291906200077c565b600c556009600a6200009591906200072c565b614e20620000a491906200077c565b600d55601e600e5f6101000a81548160ff021916908360ff1602179055506023600e60016101000a81548160ff021916908360ff1602179055507332026371ab454e8aa5abb40fb67a9edbcfcaab41600e60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600e60166101000a81548160ff02191690831515021790555034801562000159575f80fd5b506200017a6200016e620004ab60201b60201c565b620004b260201b60201c565b600a5460035f62000190620004ab60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160055f620001e26200057360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f620003126200057360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160065f600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200043d620004ab60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200049d9190620007d7565b60405180910390a3620007f2565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200062457808604811115620005fc57620005fb6200059a565b5b60018516156200060c5780820291505b80810290506200061c85620005c7565b9450620005dc565b94509492505050565b5f826200063e576001905062000710565b816200064d575f905062000710565b81600181146200066657600281146200067157620006a7565b600191505062000710565b60ff8411156200068657620006856200059a565b5b8360020a915084821115620006a0576200069f6200059a565b5b5062000710565b5060208310610133831016604e8410600b8410161715620006e15782820a905083811115620006db57620006da6200059a565b5b62000710565b620006f08484846001620005d3565b925090508184048111156200070a57620007096200059a565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620007388262000717565b9150620007458362000720565b9250620007747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200062d565b905092915050565b5f620007888262000717565b9150620007958362000717565b9250828202620007a58162000717565b91508282048414831517620007bf57620007be6200059a565b5b5092915050565b620007d18162000717565b82525050565b5f602082019050620007ec5f830184620007c6565b92915050565b613b4080620008005f395ff3fe6080604052600436106101e6575f3560e01c80638da5cb5b11610101578063cc1776d311610094578063ef07a18211610063578063ef07a182146106c1578063f2fde38b146106eb578063f887ea4014610713578063f8b45b051461073d576101ed565b8063cc1776d3146105f5578063dd62ed3e1461061f578063e0a877c81461065b578063ee9a5d8214610685576101ed565b8063b3e54911116100d0578063b3e5491114610567578063b45ad8ec1461058f578063bca7d382146105b7578063c9567bf9146105df576101ed565b80638da5cb5b146104ad57806395d89b41146104d7578063a8aa1b3114610501578063a9059cbb1461052b576101ed565b806350bf18a611610179578063715018a611610148578063715018a61461040757806375f0a8741461041d578063768dc710146104475780638c0b5e2214610483576101ed565b806350bf18a61461037757806351bc3c851461038d5780635d64616b146103a357806370a08231146103cb576101ed565b806323b872dd116101b557806323b872dd146102ab57806328c61f41146102e7578063313ce567146103235780634f7041a51461034d576101ed565b80630445b667146101f157806306fdde031461021b578063095ea7b31461024557806318160ddd14610281576101ed565b366101ed57005b5f80fd5b3480156101fc575f80fd5b50610205610767565b604051610212919061290d565b60405180910390f35b348015610226575f80fd5b5061022f61076d565b60405161023c91906129b0565b60405180910390f35b348015610250575f80fd5b5061026b60048036038101906102669190612a58565b6107aa565b6040516102789190612ab0565b60405180910390f35b34801561028c575f80fd5b506102956107c7565b6040516102a2919061290d565b60405180910390f35b3480156102b6575f80fd5b506102d160048036038101906102cc9190612ac9565b6107d0565b6040516102de9190612ab0565b60405180910390f35b3480156102f2575f80fd5b5061030d60048036038101906103089190612b19565b610883565b60405161031a9190612ab0565b60405180910390f35b34801561032e575f80fd5b506103376108a0565b6040516103449190612b5f565b60405180910390f35b348015610358575f80fd5b506103616108a8565b60405161036e9190612b5f565b60405180910390f35b348015610382575f80fd5b5061038b6108ba565b005b348015610398575f80fd5b506103a161099f565b005b3480156103ae575f80fd5b506103c960048036038101906103c49190612ba2565b610b15565b005b3480156103d6575f80fd5b506103f160048036038101906103ec9190612b19565b610c4d565b6040516103fe919061290d565b60405180910390f35b348015610412575f80fd5b5061041b610c93565b005b348015610428575f80fd5b50610431610d1a565b60405161043e9190612bef565b60405180910390f35b348015610452575f80fd5b5061046d60048036038101906104689190612b19565b610d40565b60405161047a9190612ab0565b60405180910390f35b34801561048e575f80fd5b50610497610d5d565b6040516104a4919061290d565b60405180910390f35b3480156104b8575f80fd5b506104c1610d63565b6040516104ce9190612bef565b60405180910390f35b3480156104e2575f80fd5b506104eb610d8a565b6040516104f891906129b0565b60405180910390f35b34801561050c575f80fd5b50610515610dc7565b6040516105229190612bef565b60405180910390f35b348015610536575f80fd5b50610551600480360381019061054c9190612a58565b610dec565b60405161055e9190612ab0565b60405180910390f35b348015610572575f80fd5b5061058d60048036038101906105889190612c08565b610e09565b005b34801561059a575f80fd5b506105b560048036038101906105b09190612c33565b610ea7565b005b3480156105c2575f80fd5b506105dd60048036038101906105d89190612a58565b610fec565b005b3480156105ea575f80fd5b506105f36110b9565b005b348015610600575f80fd5b506106096115d2565b6040516106169190612b5f565b60405180910390f35b34801561062a575f80fd5b5061064560048036038101906106409190612c71565b6115e5565b604051610652919061290d565b60405180910390f35b348015610666575f80fd5b5061066f611667565b60405161067c9190612ab0565b60405180910390f35b348015610690575f80fd5b506106ab60048036038101906106a69190612b19565b611679565b6040516106b8919061290d565b60405180910390f35b3480156106cc575f80fd5b506106d561168e565b6040516106e2919061290d565b60405180910390f35b3480156106f6575f80fd5b50610711600480360381019061070c9190612b19565b611694565b005b34801561071e575f80fd5b5061072761178a565b6040516107349190612d0a565b60405180910390f35b348015610748575f80fd5b506107516117af565b60405161075e919061290d565b60405180910390f35b600b5481565b60606040518060400160405280601081526020017f446576204465746563746f7220426f7400000000000000000000000000000000815250905090565b5f6107bd6107b66117b5565b84846117bc565b6001905092915050565b5f600a54905090565b5f6107dc84848461197f565b610878846107e86117b5565b8460045f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61082f6117b5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108739190612d50565b6117bc565b600190509392505050565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f6009905090565b600e5f9054906101000a900460ff1681565b6108c26117b5565b73ffffffffffffffffffffffffffffffffffffffff166108e0610d63565b73ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d90612dcd565b60405180910390fd5b60085f9054906101000a900460ff16610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b90612e35565b60405180910390fd5b5f60085f6101000a81548160ff021916908315150217905550565b6001600e60176101000a81548160ff021916908315150217905550600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a13575f80fd5b5f610a1d30610c4d565b90505f811115610aa4575f610a3182611bf9565b90505f811115610aa257600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610aa0573d5f803e3d5ffd5b505b505b5f471115610af857610af747600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611e4590919063ffffffff16565b5b505f600e60176101000a81548160ff021916908315150217905550565b610b1d6117b5565b73ffffffffffffffffffffffffffffffffffffffff16610b3b610d63565b73ffffffffffffffffffffffffffffffffffffffff1614610b91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8890612dcd565b60405180910390fd5b60238260ff1611158015610ba95750603c8160ff1611155b610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90612e9d565b60405180910390fd5b81600e5f6101000a81548160ff021916908360ff16021790555080600e60016101000a81548160ff021916908360ff1602179055507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c9b6117b5565b73ffffffffffffffffffffffffffffffffffffffff16610cb9610d63565b73ffffffffffffffffffffffffffffffffffffffff1614610d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0690612dcd565b60405180910390fd5b610d185f611f35565b565b600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052805f5260405f205f915054906101000a900460ff1681565b600c5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4445560000000000000000000000000000000000000000000000000000000000815250905090565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610dff610df86117b5565b848461197f565b6001905092915050565b610e116117b5565b73ffffffffffffffffffffffffffffffffffffffff16610e2f610d63565b73ffffffffffffffffffffffffffffffffffffffff1614610e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7c90612dcd565b60405180910390fd5b6009600a610e939190612fea565b81610e9e9190613034565b600b8190555050565b610eaf6117b5565b73ffffffffffffffffffffffffffffffffffffffff16610ecd610d63565b73ffffffffffffffffffffffffffffffffffffffff1614610f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1a90612dcd565b60405180910390fd5b5f6009600a610f329190612fea565b6103e86005600a54610f449190613034565b610f4e91906130a2565b610f5891906130a2565b9050808310158015610f6a5750808210155b610fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa09061311c565b60405180910390fd5b6009600a610fb79190612fea565b83610fc29190613034565b600c819055506009600a610fd69190612fea565b82610fe19190613034565b600d81905550505050565b610ff46117b5565b73ffffffffffffffffffffffffffffffffffffffff16611012610d63565b73ffffffffffffffffffffffffffffffffffffffff1614611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f90612dcd565b60405180910390fd5b8042611074919061313a565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b6110c16117b5565b73ffffffffffffffffffffffffffffffffffffffff166110df610d63565b73ffffffffffffffffffffffffffffffffffffffff1614611135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112c90612dcd565b60405180910390fd5b600e60169054906101000a900460ff1615611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c906131b7565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120b91906131e9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611270573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129491906131e9565b6040518363ffffffff1660e01b81526004016112b1929190613214565b6020604051808303815f875af11580156112cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f191906131e9565b90508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160065f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506114163060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f196117bc565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306009600a6114639190612fea565b620249f06114719190613034565b61147a30610c4d565b6114849190612d50565b5f8061148e610d63565b426040518863ffffffff1660e01b81526004016114b096959493929190613274565b60606040518083038185885af11580156114cc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114f191906132e7565b50505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f196040518363ffffffff1660e01b8152600401611572929190613337565b6020604051808303815f875af115801561158e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115b29190613388565b506001600e60166101000a81548160ff0219169083151502179055505050565b600e60019054906101000a900460ff1681565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085f9054906101000a900460ff1681565b6007602052805f5260405f205f915090505481565b60095481565b61169c6117b5565b73ffffffffffffffffffffffffffffffffffffffff166116ba610d63565b73ffffffffffffffffffffffffffffffffffffffff1614611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790612dcd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361177e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177590613423565b60405180910390fd5b61178781611f35565b50565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361182a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611821906134b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188f9061353f565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611972919061290d565b60405180910390a3505050565b61198a838383611ff6565b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546119d69190612d50565b925050819055505f81905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a7f575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b3b57611ade828560025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461237a565b9050611b3a848460025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16146124b1565b5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611b87919061313a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611beb919061290d565b60405180910390a350505050565b5f804790505f600267ffffffffffffffff811115611c1a57611c1961355d565b5b604051908082528060200260200182016040528015611c485781602001602082028036833780820191505090505b50905030815f81518110611c5f57611c5e61358a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d2791906131e9565b81600181518110611d3b57611d3a61358a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611da13060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866117bc565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f8430426040518663ffffffff1660e01b8152600401611e0395949392919061366e565b5f604051808303815f87803b158015611e1a575f80fd5b505af1158015611e2c573d5f803e3d5ffd5b505050508147611e3c9190612d50565b92505050919050565b80471015611e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7f90613710565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1682604051611ead9061375b565b5f6040518083038185875af1925050503d805f8114611ee7576040519150601f19603f3d011682016040523d82523d5f602084013e611eec565b606091505b5050905080611f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f27906137df565b60405180910390fd5b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612064576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205b9061386d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c9906138fb565b60405180910390fd5b5f8111612114576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210b90613989565b60405180910390fd5b600c548111158061216b575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6121aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a190613a17565b60405180910390fd5b60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661225157600d548161220584610c4d565b61220f919061313a565b1115612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224790613aa5565b60405180910390fd5b5b600b5461225d30610c4d565b101580156122785750600e60179054906101000a900460ff16155b80156122905750600e60169054906101000a900460ff165b80156122e9575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561232857506122f8610d63565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156123675750612337610d63565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612375576123746125c9565b5b505050565b5f806064600e5f9054906101000a900460ff1660ff168661239b9190613034565b6123a591906130a2565b905082156123da576064600e60019054906101000a900460ff1660ff16866123cd9190613034565b6123d791906130a2565b90505b5f81111561249b578060035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461242e919061313a565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612492919061290d565b60405180910390a35b80856124a79190612d50565b9150509392505050565b80156125365760085f9054906101000a900460ff16156125315760095f8154809291906124dd90613ac3565b91905055506003426124ef919061313a565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6125c4565b5f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054146125c35760075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205442106125c2575f80fd5b5b5b505050565b6001600e60176101000a81548160ff0219169083151502179055505f60646050600b546125f69190613034565b61260091906130a2565b90505f60646014600b546126149190613034565b61261e91906130a2565b90505f8211156126a5575f61263283611bf9565b90505f8111156126a357600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156126a1573d5f803e3d5ffd5b505b505b5f8111156126ef575f6002826126bb91906130a2565b90505f81836126ca9190612d50565b90505f6126d683611bf9565b90505f8111156126eb576126ea828261278d565b5b5050505b5f4711156127435761274247600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611e4590919063ffffffff16565b5b7fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003060405160405180910390a150505f600e60176101000a81548160ff021916908315150217905550565b6127b93060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846117bc565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330865f80600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161284196959493929190613274565b60606040518083038185885af115801561285d573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061288291906132e7565b509150505f81836128939190612d50565b11156128f0576128ef81836128a89190612d50565b600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611e4590919063ffffffff16565b5b505050565b5f819050919050565b612907816128f5565b82525050565b5f6020820190506129205f8301846128fe565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561295d578082015181840152602081019050612942565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61298282612926565b61298c8185612930565b935061299c818560208601612940565b6129a581612968565b840191505092915050565b5f6020820190508181035f8301526129c88184612978565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6129fd826129d4565b9050919050565b612a0d816129f3565b8114612a17575f80fd5b50565b5f81359050612a2881612a04565b92915050565b612a37816128f5565b8114612a41575f80fd5b50565b5f81359050612a5281612a2e565b92915050565b5f8060408385031215612a6e57612a6d6129d0565b5b5f612a7b85828601612a1a565b9250506020612a8c85828601612a44565b9150509250929050565b5f8115159050919050565b612aaa81612a96565b82525050565b5f602082019050612ac35f830184612aa1565b92915050565b5f805f60608486031215612ae057612adf6129d0565b5b5f612aed86828701612a1a565b9350506020612afe86828701612a1a565b9250506040612b0f86828701612a44565b9150509250925092565b5f60208284031215612b2e57612b2d6129d0565b5b5f612b3b84828501612a1a565b91505092915050565b5f60ff82169050919050565b612b5981612b44565b82525050565b5f602082019050612b725f830184612b50565b92915050565b612b8181612b44565b8114612b8b575f80fd5b50565b5f81359050612b9c81612b78565b92915050565b5f8060408385031215612bb857612bb76129d0565b5b5f612bc585828601612b8e565b9250506020612bd685828601612b8e565b9150509250929050565b612be9816129f3565b82525050565b5f602082019050612c025f830184612be0565b92915050565b5f60208284031215612c1d57612c1c6129d0565b5b5f612c2a84828501612a44565b91505092915050565b5f8060408385031215612c4957612c486129d0565b5b5f612c5685828601612a44565b9250506020612c6785828601612a44565b9150509250929050565b5f8060408385031215612c8757612c866129d0565b5b5f612c9485828601612a1a565b9250506020612ca585828601612a1a565b9150509250929050565b5f819050919050565b5f612cd2612ccd612cc8846129d4565b612caf565b6129d4565b9050919050565b5f612ce382612cb8565b9050919050565b5f612cf482612cd9565b9050919050565b612d0481612cea565b82525050565b5f602082019050612d1d5f830184612cfb565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d5a826128f5565b9150612d65836128f5565b9250828203905081811115612d7d57612d7c612d23565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612db7602083612930565b9150612dc282612d83565b602082019050919050565b5f6020820190508181035f830152612de481612dab565b9050919050565b7f416c7265616479207475726e6564206f66662e000000000000000000000000005f82015250565b5f612e1f601383612930565b9150612e2a82612deb565b602082019050919050565b5f6020820190508181035f830152612e4c81612e13565b9050919050565b7f54617865732063616e27742065786365656420746865206c696d69742e0000005f82015250565b5f612e87601d83612930565b9150612e9282612e53565b602082019050919050565b5f6020820190508181035f830152612eb481612e7b565b9050919050565b5f8160011c9050919050565b5f808291508390505b6001851115612f1057808604811115612eec57612eeb612d23565b5b6001851615612efb5780820291505b8081029050612f0985612ebb565b9450612ed0565b94509492505050565b5f82612f285760019050612fe3565b81612f35575f9050612fe3565b8160018114612f4b5760028114612f5557612f84565b6001915050612fe3565b60ff841115612f6757612f66612d23565b5b8360020a915084821115612f7e57612f7d612d23565b5b50612fe3565b5060208310610133831016604e8410600b8410161715612fb95782820a905083811115612fb457612fb3612d23565b5b612fe3565b612fc68484846001612ec7565b92509050818404811115612fdd57612fdc612d23565b5b81810290505b9392505050565b5f612ff4826128f5565b9150612fff83612b44565b925061302c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612f19565b905092915050565b5f61303e826128f5565b9150613049836128f5565b9250828202613057816128f5565b9150828204841483151761306e5761306d612d23565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6130ac826128f5565b91506130b7836128f5565b9250826130c7576130c6613075565b5b828204905092915050565b7f496e76616c69642053657474696e6773000000000000000000000000000000005f82015250565b5f613106601083612930565b9150613111826130d2565b602082019050919050565b5f6020820190508181035f830152613133816130fa565b9050919050565b5f613144826128f5565b915061314f836128f5565b925082820190508082111561316757613166612d23565b5b92915050565b7f43616e206f6e6c79206265206f70656e6564206f6e63650000000000000000005f82015250565b5f6131a1601783612930565b91506131ac8261316d565b602082019050919050565b5f6020820190508181035f8301526131ce81613195565b9050919050565b5f815190506131e381612a04565b92915050565b5f602082840312156131fe576131fd6129d0565b5b5f61320b848285016131d5565b91505092915050565b5f6040820190506132275f830185612be0565b6132346020830184612be0565b9392505050565b5f819050919050565b5f61325e6132596132548461323b565b612caf565b6128f5565b9050919050565b61326e81613244565b82525050565b5f60c0820190506132875f830189612be0565b61329460208301886128fe565b6132a16040830187613265565b6132ae6060830186613265565b6132bb6080830185612be0565b6132c860a08301846128fe565b979650505050505050565b5f815190506132e181612a2e565b92915050565b5f805f606084860312156132fe576132fd6129d0565b5b5f61330b868287016132d3565b935050602061331c868287016132d3565b925050604061332d868287016132d3565b9150509250925092565b5f60408201905061334a5f830185612be0565b61335760208301846128fe565b9392505050565b61336781612a96565b8114613371575f80fd5b50565b5f815190506133828161335e565b92915050565b5f6020828403121561339d5761339c6129d0565b5b5f6133aa84828501613374565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61340d602683612930565b9150613418826133b3565b604082019050919050565b5f6020820190508181035f83015261343a81613401565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61349b602483612930565b91506134a682613441565b604082019050919050565b5f6020820190508181035f8301526134c88161348f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613529602283612930565b9150613534826134cf565b604082019050919050565b5f6020820190508181035f8301526135568161351d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6135e9816129f3565b82525050565b5f6135fa83836135e0565b60208301905092915050565b5f602082019050919050565b5f61361c826135b7565b61362681856135c1565b9350613631836135d1565b805f5b8381101561366157815161364888826135ef565b975061365383613606565b925050600181019050613634565b5085935050505092915050565b5f60a0820190506136815f8301886128fe565b61368e6020830187613265565b81810360408301526136a08186613612565b90506136af6060830185612be0565b6136bc60808301846128fe565b9695505050505050565b7f416464726573733a20696e73756666696369656e742062616c616e63650000005f82015250565b5f6136fa601d83612930565b9150613705826136c6565b602082019050919050565b5f6020820190508181035f830152613727816136ee565b9050919050565b5f81905092915050565b50565b5f6137465f8361372e565b915061375182613738565b5f82019050919050565b5f6137658261373b565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c20725f8201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b5f6137c9603a83612930565b91506137d48261376f565b604082019050919050565b5f6020820190508181035f8301526137f6816137bd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613857602583612930565b9150613862826137fd565b604082019050919050565b5f6020820190508181035f8301526138848161384b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6138e5602383612930565b91506138f08261388b565b604082019050919050565b5f6020820190508181035f830152613912816138d9565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613973602983612930565b915061397e82613919565b604082019050919050565b5f6020820190508181035f8301526139a081613967565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d61785f8201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b5f613a01602983612930565b9150613a0c826139a7565b604082019050919050565b5f6020820190508181035f830152613a2e816139f5565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d6178575f8201527f616c6c65742e0000000000000000000000000000000000000000000000000000602082015250565b5f613a8f602683612930565b9150613a9a82613a35565b604082019050919050565b5f6020820190508181035f830152613abc81613a83565b9050919050565b5f613acd826128f5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613aff57613afe612d23565b5b60018201905091905056fea26469706673582212202ff8f8f84a4e8e5120213859d2d4b0614f45a27a7361b5a5dc33f700bbdecd9264736f6c63430008160033

Deployed Bytecode

0x6080604052600436106101e6575f3560e01c80638da5cb5b11610101578063cc1776d311610094578063ef07a18211610063578063ef07a182146106c1578063f2fde38b146106eb578063f887ea4014610713578063f8b45b051461073d576101ed565b8063cc1776d3146105f5578063dd62ed3e1461061f578063e0a877c81461065b578063ee9a5d8214610685576101ed565b8063b3e54911116100d0578063b3e5491114610567578063b45ad8ec1461058f578063bca7d382146105b7578063c9567bf9146105df576101ed565b80638da5cb5b146104ad57806395d89b41146104d7578063a8aa1b3114610501578063a9059cbb1461052b576101ed565b806350bf18a611610179578063715018a611610148578063715018a61461040757806375f0a8741461041d578063768dc710146104475780638c0b5e2214610483576101ed565b806350bf18a61461037757806351bc3c851461038d5780635d64616b146103a357806370a08231146103cb576101ed565b806323b872dd116101b557806323b872dd146102ab57806328c61f41146102e7578063313ce567146103235780634f7041a51461034d576101ed565b80630445b667146101f157806306fdde031461021b578063095ea7b31461024557806318160ddd14610281576101ed565b366101ed57005b5f80fd5b3480156101fc575f80fd5b50610205610767565b604051610212919061290d565b60405180910390f35b348015610226575f80fd5b5061022f61076d565b60405161023c91906129b0565b60405180910390f35b348015610250575f80fd5b5061026b60048036038101906102669190612a58565b6107aa565b6040516102789190612ab0565b60405180910390f35b34801561028c575f80fd5b506102956107c7565b6040516102a2919061290d565b60405180910390f35b3480156102b6575f80fd5b506102d160048036038101906102cc9190612ac9565b6107d0565b6040516102de9190612ab0565b60405180910390f35b3480156102f2575f80fd5b5061030d60048036038101906103089190612b19565b610883565b60405161031a9190612ab0565b60405180910390f35b34801561032e575f80fd5b506103376108a0565b6040516103449190612b5f565b60405180910390f35b348015610358575f80fd5b506103616108a8565b60405161036e9190612b5f565b60405180910390f35b348015610382575f80fd5b5061038b6108ba565b005b348015610398575f80fd5b506103a161099f565b005b3480156103ae575f80fd5b506103c960048036038101906103c49190612ba2565b610b15565b005b3480156103d6575f80fd5b506103f160048036038101906103ec9190612b19565b610c4d565b6040516103fe919061290d565b60405180910390f35b348015610412575f80fd5b5061041b610c93565b005b348015610428575f80fd5b50610431610d1a565b60405161043e9190612bef565b60405180910390f35b348015610452575f80fd5b5061046d60048036038101906104689190612b19565b610d40565b60405161047a9190612ab0565b60405180910390f35b34801561048e575f80fd5b50610497610d5d565b6040516104a4919061290d565b60405180910390f35b3480156104b8575f80fd5b506104c1610d63565b6040516104ce9190612bef565b60405180910390f35b3480156104e2575f80fd5b506104eb610d8a565b6040516104f891906129b0565b60405180910390f35b34801561050c575f80fd5b50610515610dc7565b6040516105229190612bef565b60405180910390f35b348015610536575f80fd5b50610551600480360381019061054c9190612a58565b610dec565b60405161055e9190612ab0565b60405180910390f35b348015610572575f80fd5b5061058d60048036038101906105889190612c08565b610e09565b005b34801561059a575f80fd5b506105b560048036038101906105b09190612c33565b610ea7565b005b3480156105c2575f80fd5b506105dd60048036038101906105d89190612a58565b610fec565b005b3480156105ea575f80fd5b506105f36110b9565b005b348015610600575f80fd5b506106096115d2565b6040516106169190612b5f565b60405180910390f35b34801561062a575f80fd5b5061064560048036038101906106409190612c71565b6115e5565b604051610652919061290d565b60405180910390f35b348015610666575f80fd5b5061066f611667565b60405161067c9190612ab0565b60405180910390f35b348015610690575f80fd5b506106ab60048036038101906106a69190612b19565b611679565b6040516106b8919061290d565b60405180910390f35b3480156106cc575f80fd5b506106d561168e565b6040516106e2919061290d565b60405180910390f35b3480156106f6575f80fd5b50610711600480360381019061070c9190612b19565b611694565b005b34801561071e575f80fd5b5061072761178a565b6040516107349190612d0a565b60405180910390f35b348015610748575f80fd5b506107516117af565b60405161075e919061290d565b60405180910390f35b600b5481565b60606040518060400160405280601081526020017f446576204465746563746f7220426f7400000000000000000000000000000000815250905090565b5f6107bd6107b66117b5565b84846117bc565b6001905092915050565b5f600a54905090565b5f6107dc84848461197f565b610878846107e86117b5565b8460045f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61082f6117b5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108739190612d50565b6117bc565b600190509392505050565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f6009905090565b600e5f9054906101000a900460ff1681565b6108c26117b5565b73ffffffffffffffffffffffffffffffffffffffff166108e0610d63565b73ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d90612dcd565b60405180910390fd5b60085f9054906101000a900460ff16610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b90612e35565b60405180910390fd5b5f60085f6101000a81548160ff021916908315150217905550565b6001600e60176101000a81548160ff021916908315150217905550600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a13575f80fd5b5f610a1d30610c4d565b90505f811115610aa4575f610a3182611bf9565b90505f811115610aa257600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610aa0573d5f803e3d5ffd5b505b505b5f471115610af857610af747600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611e4590919063ffffffff16565b5b505f600e60176101000a81548160ff021916908315150217905550565b610b1d6117b5565b73ffffffffffffffffffffffffffffffffffffffff16610b3b610d63565b73ffffffffffffffffffffffffffffffffffffffff1614610b91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8890612dcd565b60405180910390fd5b60238260ff1611158015610ba95750603c8160ff1611155b610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90612e9d565b60405180910390fd5b81600e5f6101000a81548160ff021916908360ff16021790555080600e60016101000a81548160ff021916908360ff1602179055507ff305e997be174eb1fbb444c89b9f4089de693e9b3b40486accc62ae99885e48060405160405180910390a15050565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c9b6117b5565b73ffffffffffffffffffffffffffffffffffffffff16610cb9610d63565b73ffffffffffffffffffffffffffffffffffffffff1614610d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0690612dcd565b60405180910390fd5b610d185f611f35565b565b600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052805f5260405f205f915054906101000a900460ff1681565b600c5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4445560000000000000000000000000000000000000000000000000000000000815250905090565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610dff610df86117b5565b848461197f565b6001905092915050565b610e116117b5565b73ffffffffffffffffffffffffffffffffffffffff16610e2f610d63565b73ffffffffffffffffffffffffffffffffffffffff1614610e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7c90612dcd565b60405180910390fd5b6009600a610e939190612fea565b81610e9e9190613034565b600b8190555050565b610eaf6117b5565b73ffffffffffffffffffffffffffffffffffffffff16610ecd610d63565b73ffffffffffffffffffffffffffffffffffffffff1614610f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1a90612dcd565b60405180910390fd5b5f6009600a610f329190612fea565b6103e86005600a54610f449190613034565b610f4e91906130a2565b610f5891906130a2565b9050808310158015610f6a5750808210155b610fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa09061311c565b60405180910390fd5b6009600a610fb79190612fea565b83610fc29190613034565b600c819055506009600a610fd69190612fea565b82610fe19190613034565b600d81905550505050565b610ff46117b5565b73ffffffffffffffffffffffffffffffffffffffff16611012610d63565b73ffffffffffffffffffffffffffffffffffffffff1614611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f90612dcd565b60405180910390fd5b8042611074919061313a565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b6110c16117b5565b73ffffffffffffffffffffffffffffffffffffffff166110df610d63565b73ffffffffffffffffffffffffffffffffffffffff1614611135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112c90612dcd565b60405180910390fd5b600e60169054906101000a900460ff1615611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c906131b7565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120b91906131e9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611270573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129491906131e9565b6040518363ffffffff1660e01b81526004016112b1929190613214565b6020604051808303815f875af11580156112cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f191906131e9565b90508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160065f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506114163060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f196117bc565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306009600a6114639190612fea565b620249f06114719190613034565b61147a30610c4d565b6114849190612d50565b5f8061148e610d63565b426040518863ffffffff1660e01b81526004016114b096959493929190613274565b60606040518083038185885af11580156114cc573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114f191906132e7565b50505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f196040518363ffffffff1660e01b8152600401611572929190613337565b6020604051808303815f875af115801561158e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115b29190613388565b506001600e60166101000a81548160ff0219169083151502179055505050565b600e60019054906101000a900460ff1681565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085f9054906101000a900460ff1681565b6007602052805f5260405f205f915090505481565b60095481565b61169c6117b5565b73ffffffffffffffffffffffffffffffffffffffff166116ba610d63565b73ffffffffffffffffffffffffffffffffffffffff1614611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790612dcd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361177e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177590613423565b60405180910390fd5b61178781611f35565b50565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361182a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611821906134b1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611898576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188f9061353f565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611972919061290d565b60405180910390a3505050565b61198a838383611ff6565b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546119d69190612d50565b925050819055505f81905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a7f575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b3b57611ade828560025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461237a565b9050611b3a848460025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16146124b1565b5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611b87919061313a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611beb919061290d565b60405180910390a350505050565b5f804790505f600267ffffffffffffffff811115611c1a57611c1961355d565b5b604051908082528060200260200182016040528015611c485781602001602082028036833780820191505090505b50905030815f81518110611c5f57611c5e61358a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d2791906131e9565b81600181518110611d3b57611d3a61358a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611da13060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866117bc565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f8430426040518663ffffffff1660e01b8152600401611e0395949392919061366e565b5f604051808303815f87803b158015611e1a575f80fd5b505af1158015611e2c573d5f803e3d5ffd5b505050508147611e3c9190612d50565b92505050919050565b80471015611e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7f90613710565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1682604051611ead9061375b565b5f6040518083038185875af1925050503d805f8114611ee7576040519150601f19603f3d011682016040523d82523d5f602084013e611eec565b606091505b5050905080611f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f27906137df565b60405180910390fd5b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612064576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205b9061386d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c9906138fb565b60405180910390fd5b5f8111612114576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210b90613989565b60405180910390fd5b600c548111158061216b575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6121aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a190613a17565b60405180910390fd5b60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661225157600d548161220584610c4d565b61220f919061313a565b1115612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224790613aa5565b60405180910390fd5b5b600b5461225d30610c4d565b101580156122785750600e60179054906101000a900460ff16155b80156122905750600e60169054906101000a900460ff165b80156122e9575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561232857506122f8610d63565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156123675750612337610d63565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612375576123746125c9565b5b505050565b5f806064600e5f9054906101000a900460ff1660ff168661239b9190613034565b6123a591906130a2565b905082156123da576064600e60019054906101000a900460ff1660ff16866123cd9190613034565b6123d791906130a2565b90505b5f81111561249b578060035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461242e919061313a565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612492919061290d565b60405180910390a35b80856124a79190612d50565b9150509392505050565b80156125365760085f9054906101000a900460ff16156125315760095f8154809291906124dd90613ac3565b91905055506003426124ef919061313a565b60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6125c4565b5f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054146125c35760075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205442106125c2575f80fd5b5b5b505050565b6001600e60176101000a81548160ff0219169083151502179055505f60646050600b546125f69190613034565b61260091906130a2565b90505f60646014600b546126149190613034565b61261e91906130a2565b90505f8211156126a5575f61263283611bf9565b90505f8111156126a357600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156126a1573d5f803e3d5ffd5b505b505b5f8111156126ef575f6002826126bb91906130a2565b90505f81836126ca9190612d50565b90505f6126d683611bf9565b90505f8111156126eb576126ea828261278d565b5b5050505b5f4711156127435761274247600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611e4590919063ffffffff16565b5b7fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003060405160405180910390a150505f600e60176101000a81548160ff021916908315150217905550565b6127b93060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846117bc565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330865f80600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161284196959493929190613274565b60606040518083038185885af115801561285d573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061288291906132e7565b509150505f81836128939190612d50565b11156128f0576128ef81836128a89190612d50565b600e60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611e4590919063ffffffff16565b5b505050565b5f819050919050565b612907816128f5565b82525050565b5f6020820190506129205f8301846128fe565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561295d578082015181840152602081019050612942565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61298282612926565b61298c8185612930565b935061299c818560208601612940565b6129a581612968565b840191505092915050565b5f6020820190508181035f8301526129c88184612978565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6129fd826129d4565b9050919050565b612a0d816129f3565b8114612a17575f80fd5b50565b5f81359050612a2881612a04565b92915050565b612a37816128f5565b8114612a41575f80fd5b50565b5f81359050612a5281612a2e565b92915050565b5f8060408385031215612a6e57612a6d6129d0565b5b5f612a7b85828601612a1a565b9250506020612a8c85828601612a44565b9150509250929050565b5f8115159050919050565b612aaa81612a96565b82525050565b5f602082019050612ac35f830184612aa1565b92915050565b5f805f60608486031215612ae057612adf6129d0565b5b5f612aed86828701612a1a565b9350506020612afe86828701612a1a565b9250506040612b0f86828701612a44565b9150509250925092565b5f60208284031215612b2e57612b2d6129d0565b5b5f612b3b84828501612a1a565b91505092915050565b5f60ff82169050919050565b612b5981612b44565b82525050565b5f602082019050612b725f830184612b50565b92915050565b612b8181612b44565b8114612b8b575f80fd5b50565b5f81359050612b9c81612b78565b92915050565b5f8060408385031215612bb857612bb76129d0565b5b5f612bc585828601612b8e565b9250506020612bd685828601612b8e565b9150509250929050565b612be9816129f3565b82525050565b5f602082019050612c025f830184612be0565b92915050565b5f60208284031215612c1d57612c1c6129d0565b5b5f612c2a84828501612a44565b91505092915050565b5f8060408385031215612c4957612c486129d0565b5b5f612c5685828601612a44565b9250506020612c6785828601612a44565b9150509250929050565b5f8060408385031215612c8757612c866129d0565b5b5f612c9485828601612a1a565b9250506020612ca585828601612a1a565b9150509250929050565b5f819050919050565b5f612cd2612ccd612cc8846129d4565b612caf565b6129d4565b9050919050565b5f612ce382612cb8565b9050919050565b5f612cf482612cd9565b9050919050565b612d0481612cea565b82525050565b5f602082019050612d1d5f830184612cfb565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d5a826128f5565b9150612d65836128f5565b9250828203905081811115612d7d57612d7c612d23565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612db7602083612930565b9150612dc282612d83565b602082019050919050565b5f6020820190508181035f830152612de481612dab565b9050919050565b7f416c7265616479207475726e6564206f66662e000000000000000000000000005f82015250565b5f612e1f601383612930565b9150612e2a82612deb565b602082019050919050565b5f6020820190508181035f830152612e4c81612e13565b9050919050565b7f54617865732063616e27742065786365656420746865206c696d69742e0000005f82015250565b5f612e87601d83612930565b9150612e9282612e53565b602082019050919050565b5f6020820190508181035f830152612eb481612e7b565b9050919050565b5f8160011c9050919050565b5f808291508390505b6001851115612f1057808604811115612eec57612eeb612d23565b5b6001851615612efb5780820291505b8081029050612f0985612ebb565b9450612ed0565b94509492505050565b5f82612f285760019050612fe3565b81612f35575f9050612fe3565b8160018114612f4b5760028114612f5557612f84565b6001915050612fe3565b60ff841115612f6757612f66612d23565b5b8360020a915084821115612f7e57612f7d612d23565b5b50612fe3565b5060208310610133831016604e8410600b8410161715612fb95782820a905083811115612fb457612fb3612d23565b5b612fe3565b612fc68484846001612ec7565b92509050818404811115612fdd57612fdc612d23565b5b81810290505b9392505050565b5f612ff4826128f5565b9150612fff83612b44565b925061302c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612f19565b905092915050565b5f61303e826128f5565b9150613049836128f5565b9250828202613057816128f5565b9150828204841483151761306e5761306d612d23565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6130ac826128f5565b91506130b7836128f5565b9250826130c7576130c6613075565b5b828204905092915050565b7f496e76616c69642053657474696e6773000000000000000000000000000000005f82015250565b5f613106601083612930565b9150613111826130d2565b602082019050919050565b5f6020820190508181035f830152613133816130fa565b9050919050565b5f613144826128f5565b915061314f836128f5565b925082820190508082111561316757613166612d23565b5b92915050565b7f43616e206f6e6c79206265206f70656e6564206f6e63650000000000000000005f82015250565b5f6131a1601783612930565b91506131ac8261316d565b602082019050919050565b5f6020820190508181035f8301526131ce81613195565b9050919050565b5f815190506131e381612a04565b92915050565b5f602082840312156131fe576131fd6129d0565b5b5f61320b848285016131d5565b91505092915050565b5f6040820190506132275f830185612be0565b6132346020830184612be0565b9392505050565b5f819050919050565b5f61325e6132596132548461323b565b612caf565b6128f5565b9050919050565b61326e81613244565b82525050565b5f60c0820190506132875f830189612be0565b61329460208301886128fe565b6132a16040830187613265565b6132ae6060830186613265565b6132bb6080830185612be0565b6132c860a08301846128fe565b979650505050505050565b5f815190506132e181612a2e565b92915050565b5f805f606084860312156132fe576132fd6129d0565b5b5f61330b868287016132d3565b935050602061331c868287016132d3565b925050604061332d868287016132d3565b9150509250925092565b5f60408201905061334a5f830185612be0565b61335760208301846128fe565b9392505050565b61336781612a96565b8114613371575f80fd5b50565b5f815190506133828161335e565b92915050565b5f6020828403121561339d5761339c6129d0565b5b5f6133aa84828501613374565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61340d602683612930565b9150613418826133b3565b604082019050919050565b5f6020820190508181035f83015261343a81613401565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61349b602483612930565b91506134a682613441565b604082019050919050565b5f6020820190508181035f8301526134c88161348f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613529602283612930565b9150613534826134cf565b604082019050919050565b5f6020820190508181035f8301526135568161351d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6135e9816129f3565b82525050565b5f6135fa83836135e0565b60208301905092915050565b5f602082019050919050565b5f61361c826135b7565b61362681856135c1565b9350613631836135d1565b805f5b8381101561366157815161364888826135ef565b975061365383613606565b925050600181019050613634565b5085935050505092915050565b5f60a0820190506136815f8301886128fe565b61368e6020830187613265565b81810360408301526136a08186613612565b90506136af6060830185612be0565b6136bc60808301846128fe565b9695505050505050565b7f416464726573733a20696e73756666696369656e742062616c616e63650000005f82015250565b5f6136fa601d83612930565b9150613705826136c6565b602082019050919050565b5f6020820190508181035f830152613727816136ee565b9050919050565b5f81905092915050565b50565b5f6137465f8361372e565b915061375182613738565b5f82019050919050565b5f6137658261373b565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c20725f8201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b5f6137c9603a83612930565b91506137d48261376f565b604082019050919050565b5f6020820190508181035f8301526137f6816137bd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613857602583612930565b9150613862826137fd565b604082019050919050565b5f6020820190508181035f8301526138848161384b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6138e5602383612930565b91506138f08261388b565b604082019050919050565b5f6020820190508181035f830152613912816138d9565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613973602983612930565b915061397e82613919565b604082019050919050565b5f6020820190508181035f8301526139a081613967565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d61785f8201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b5f613a01602983612930565b9150613a0c826139a7565b604082019050919050565b5f6020820190508181035f830152613a2e816139f5565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d6178575f8201527f616c6c65742e0000000000000000000000000000000000000000000000000000602082015250565b5f613a8f602683612930565b9150613a9a82613a35565b604082019050919050565b5f6020820190508181035f830152613abc81613a83565b9050919050565b5f613acd826128f5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613aff57613afe612d23565b5b60018201905091905056fea26469706673582212202ff8f8f84a4e8e5120213859d2d4b0614f45a27a7361b5a5dc33f700bbdecd9264736f6c63430008160033

Deployed Bytecode Sourcemap

13274:9767:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13918:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15068:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15899:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15345:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16068:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13619:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15254:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14208:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18212:137;;;;;;;;;;;;;:::i;:::-;;18510:473;;;;;;;;;;;;;:::i;:::-;;17425:243;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15448:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11261:94;;;;;;;;;;;;;:::i;:::-;;14274:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13561:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13981:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11038:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15159;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13402:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15573:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18065:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17676:381;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18357:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16726:691;;;;;;;;;;;;;:::i;:::-;;14240:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15748:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13741:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13686:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13779:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11363:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13374:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14041:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13918:55;;;;:::o;15068:83::-;15105:13;15138:5;;;;;;;;;;;;;;;;;15131:12;;15068:83;:::o;15899:161::-;15974:4;15991:39;16000:12;:10;:12::i;:::-;16014:7;16023:6;15991:8;:39::i;:::-;16048:4;16041:11;;15899:161;;;;:::o;15345:95::-;15398:7;15425;;15418:14;;15345:95;:::o;16068:266::-;16166:4;16183:36;16193:6;16201:9;16212:6;16183:9;:36::i;:::-;16230:74;16239:6;16247:12;:10;:12::i;:::-;16297:6;16261:11;:19;16273:6;16261:19;;;;;;;;;;;;;;;:33;16281:12;:10;:12::i;:::-;16261:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;16230:8;:74::i;:::-;16322:4;16315:11;;16068:266;;;;;:::o;13619:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;15254:83::-;15295:5;13849:1;15313:16;;15254:83;:::o;14208:24::-;;;;;;;;;;;;;:::o;18212:137::-;11184:12;:10;:12::i;:::-;11173:23;;:7;:5;:7::i;:::-;:23;;;11165:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18275:12:::1;;;;;;;;;;;18267:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;18336:5;18321:12;;:20;;;;;;;;;;;;;;;;;;18212:137::o:0;18510:473::-;14475:4;14464:8;;:15;;;;;;;;;;;;;;;;;;18585::::1;;;;;;;;;;;18571:29;;:10;:29;;;18563:38;;;::::0;::::1;;18612:20;18635:24;18653:4;18635:9;:24::i;:::-;18612:47;;18688:1;18673:12;:16;18670:194;;;18705:18;18726:30;18743:12;18726:16;:30::i;:::-;18705:51;;18787:1;18774:10;:14;18771:81;;;18815:15;;;;;;;;;;;18807:33;;:45;18841:10;18807:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;18771:81;18690:174;18670:194;18902:1;18878:21;:25;18874:101;;;18918:57;18953:21;18926:15;;;;;;;;;;;18918:34;;;;:57;;;;:::i;:::-;18874:101;18552:431;14513:5:::0;14502:8;;:16;;;;;;;;;;;;;;;;;;18510:473::o;17425:243::-;11184:12;:10;:12::i;:::-;11173:23;;:7;:5;:7::i;:::-;:23;;;11165:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17530:2:::1;17519:7;:13;;;;:30;;;;;17547:2;17536:8;:13;;;;17519:30;17511:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;17603:7;17594:6;;:16;;;;;;;;;;;;;;;;;;17622:8;17612:7;;:18;;;;;;;;;;;;;;;;;;17646:14;;;;;;;;;;17425:243:::0;;:::o;15448:117::-;15514:7;15541;:16;15549:7;15541:16;;;;;;;;;;;;;;;;15534:23;;15448:117;;;:::o;11261:94::-;11184:12;:10;:12::i;:::-;11173:23;;:7;:5;:7::i;:::-;:23;;;11165:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11326:21:::1;11344:1;11326:9;:21::i;:::-;11261:94::o:0;14274:75::-;;;;;;;;;;;;;:::o;13561:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;13981:53::-;;;;:::o;11038:87::-;11084:7;11111:6;;;;;;;;;;;11104:13;;11038:87;:::o;15159:::-;15198:13;15231:7;;;;;;;;;;;;;;;;;15224:14;;15159:87;:::o;13402:19::-;;;;;;;;;;;;;:::o;15573:167::-;15651:4;15668:42;15678:12;:10;:12::i;:::-;15692:9;15703:6;15668:9;:42::i;:::-;15728:4;15721:11;;15573:167;;;;:::o;18065:139::-;11184:12;:10;:12::i;:::-;11173:23;;:7;:5;:7::i;:::-;:23;;;11165:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13849:1:::1;18182:2;:13;;;;:::i;:::-;18159:19;:37;;;;:::i;:::-;18143:13;:53;;;;18065:139:::0;:::o;17676:381::-;11184:12;:10;:12::i;:::-;11173:23;;:7;:5;:7::i;:::-;:23;;;11165:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17770:20:::1;13849:1;17817:2;:13;;;;:::i;:::-;17808:4;17804:1;17794:7;;:11;;;;:::i;:::-;:18;;;;:::i;:::-;17793:38;;;;:::i;:::-;17770:61;;17865:15;17850:11;:30;;:68;;;;;17903:15;17884;:34;;17850:68;17842:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;13849:1;17979:2;:13;;;;:::i;:::-;17964:11;:29;;;;:::i;:::-;17950:11;:43;;;;13849:1;18035:2;:13;;;;:::i;:::-;18016:15;:33;;;;:::i;:::-;18004:9;:45;;;;17759:298;17676:381:::0;;:::o;18357:145::-;11184:12;:10;:12::i;:::-;11173:23;;:7;:5;:7::i;:::-;:23;;;11165:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18489:5:::1;18471:15;:23;;;;:::i;:::-;18448:12;:20;18461:6;18448:20;;;;;;;;;;;;;;;:46;;;;18357:145:::0;;:::o;16726:691::-;11184:12;:10;:12::i;:::-;11173:23;;:7;:5;:7::i;:::-;:23;;;11165:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16787:13:::1;;;;;;;;;;;16786:14;16778:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;16838:15;16864:42;16838:69;;16919:13;16944:7;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16935:38;;;16982:4;16989:7;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16935:69;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16919:85;;17024:7;17015:6;;:16;;;;;;;;;;;;;;;;;;17040:5;17033:4;;:12;;;;;;;;;;;;;;;;;;17090:4;17056:25;:31;17082:4;;;;;;;;;;;17056:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;17105:53;17122:4;17137:6;;;;;;;;;;;17155:1;17146:11;17105:8;:53::i;:::-;17169:6;;;;;;;;;;;:22;;;17199:21;17230:4;13849:1;17274:2;:13;;;;:::i;:::-;17264:7;:23;;;;:::i;:::-;17236:24;17254:4;17236:9;:24::i;:::-;:52;;;;:::i;:::-;17289:1;17291::::0;17293:7:::1;:5;:7::i;:::-;17301:15;17169:148;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17335:4;;;;;;;;;;;17328:20;;;17357:6;;;;;;;;;;;17375:1;17366:11;17328:50;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17405:4;17389:13;;:20;;;;;;;;;;;;;;;;;;16767:650;;16726:691::o:0;14240:25::-;;;;;;;;;;;;;:::o;15748:143::-;15829:7;15856:11;:18;15868:5;15856:18;;;;;;;;;;;;;;;:27;15875:7;15856:27;;;;;;;;;;;;;;;;15849:34;;15748:143;;;;:::o;13741:31::-;;;;;;;;;;;;;:::o;13686:48::-;;;;;;;;;;;;;;;;;:::o;13779:26::-;;;;:::o;11363:192::-;11184:12;:10;:12::i;:::-;11173:23;;:7;:5;:7::i;:::-;:23;;;11165:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11472:1:::1;11452:22;;:8;:22;;::::0;11444:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11528:19;11538:8;11528:9;:19::i;:::-;11363:192:::0;:::o;13374:21::-;;;;;;;;;;;;;:::o;14041:52::-;;;;:::o;10563:115::-;10616:15;10659:10;10644:26;;10563:115;:::o;16342:335::-;16452:1;16435:19;;:5;:19;;;16427:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16533:1;16514:21;;:7;:21;;;16506:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16615:6;16585:11;:18;16597:5;16585:18;;;;;;;;;;;;;;;:27;16604:7;16585:27;;;;;;;;;;;;;;;:36;;;;16653:7;16637:32;;16646:5;16637:32;;;16662:6;16637:32;;;;;;:::i;:::-;;;;;;;;16342:335;;;:::o;20560:487::-;20638:35;20656:4;20662:2;20666:6;20638:17;:35::i;:::-;20701:6;20684:7;:13;20692:4;20684:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;20718:22;20743:6;20718:31;;20764:18;:24;20783:4;20764:24;;;;;;;;;;;;;;;;;;;;;;;;;20763:25;:52;;;;;20793:18;:22;20812:2;20793:22;;;;;;;;;;;;;;;;;;;;;;;;;20792:23;20763:52;20760:190;;;20848:39;20862:6;20870:4;20882;;;;;;;;;;;20876:10;;:2;:10;;;20848:13;:39::i;:::-;20831:56;;20902:36;20917:4;20922:2;20933:4;;;;;;;;;;;20925:12;;:4;:12;;;20902:14;:36::i;:::-;20760:190;20975:14;20960:7;:11;20968:2;20960:11;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;21020:2;21005:34;;21014:4;21005:34;;;21024:14;21005:34;;;;;;:::i;:::-;;;;;;;;20627:420;20560:487;;;:::o;21925:581::-;21989:7;22009:22;22034:21;22009:46;;22066:21;22104:1;22090:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22066:40;;22135:4;22117;22122:1;22117:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22161:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22151:4;22156:1;22151:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;22187:53;22204:4;22219:6;;;;;;;;;;;22228:11;22187:8;:53::i;:::-;22253:6;;;;;;;;;;;:57;;;22325:11;22351:1;22367:4;22394;22414:15;22253:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22483:14;22459:21;:38;;;;:::i;:::-;22451:47;;;;21925:581;;;:::o;10206:317::-;10321:6;10296:21;:31;;10288:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10375:12;10393:9;:14;;10415:6;10393:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10374:52;;;10445:7;10437:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;10277:246;10206:317;;:::o;11563:173::-;11619:16;11638:6;;;;;;;;;;;11619:25;;11664:8;11655:6;;:17;;;;;;;;;;;;;;;;;;11719:8;11688:40;;11709:8;11688:40;;;;;;;;;;;;11608:128;11563:173;:::o;18991:759::-;19101:1;19085:18;;:4;:18;;;19077:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19178:1;19164:16;;:2;:16;;;19156:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19248:1;19239:6;:10;19231:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19324:11;;19314:6;:21;;:56;;;;19339:25;:31;19365:4;19339:31;;;;;;;;;;;;;;;;;;;;;;;;;19314:56;19306:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;19433:25;:29;19459:2;19433:29;;;;;;;;;;;;;;;;;;;;;;;;;19429:134;;19511:9;;19501:6;19485:13;19495:2;19485:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;19477:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;19429:134;19616:13;;19588:24;19606:4;19588:9;:24::i;:::-;:41;;:54;;;;;19634:8;;;;;;;;;;;19633:9;19588:54;:71;;;;;19646:13;;;;;;;;;;;19588:71;:87;;;;;19671:4;;;;;;;;;;;19663:12;;:4;:12;;;;19588:87;:106;;;;;19687:7;:5;:7::i;:::-;19679:15;;:4;:15;;;;19588:106;:123;;;;;19704:7;:5;:7::i;:::-;19698:13;;:2;:13;;;;19588:123;19584:158;;;19726:16;:14;:16::i;:::-;19584:158;18991:759;;;:::o;20133:419::-;20212:7;20231:19;20271:3;20262:6;;;;;;;;;;;20253:15;;:6;:15;;;;:::i;:::-;:21;;;;:::i;:::-;20231:43;;20288:6;20285:60;;;20342:3;20332:7;;;;;;;;;;;20323:16;;:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;20309:36;;20285:60;20376:1;20362:11;:15;20358:147;;;20419:11;20393:7;:22;20409:4;20393:22;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;20474:4;20450:43;;20460:4;20450:43;;;20481:11;20450:43;;;;;;:::i;:::-;;;;;;;;20358:147;20532:11;20523:6;:20;;;;:::i;:::-;20515:29;;;20133:419;;;;;:::o;19758:367::-;19842:5;19838:280;;;19866:12;;;;;;;;;;;19863:121;;;19898:11;;:13;;;;;;;;;:::i;:::-;;;;;;19967:1;19949:15;:19;;;;:::i;:::-;19930:12;:16;19943:2;19930:16;;;;;;;;;;;;;;;:38;;;;19863:121;19838:280;;;20040:1;20018:12;:18;20031:4;20018:18;;;;;;;;;;;;;;;;:23;20014:91;;20086:12;:18;20099:4;20086:18;;;;;;;;;;;;;;;;20068:15;:36;20060:45;;;;;;20014:91;19838:280;19758:367;;;:::o;21055:862::-;14475:4;14464:8;;:15;;;;;;;;;;;;;;;;;;21113:26:::1;21163:3;21158:2;21142:13;;:18;;;;:::i;:::-;:24;;;;:::i;:::-;21113:53;;21177:26;21227:3;21222:2;21206:13;;:18;;;;:::i;:::-;:24;;;;:::i;:::-;21177:53;;21275:1;21254:18;:22;21251:206;;;21292:18;21313:36;21330:18;21313:16;:36::i;:::-;21292:57;;21380:1;21367:10;:14;21364:81;;;21408:15;;;;;;;;;;;21400:33;;:45;21434:10;21400:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;21364:81;21277:180;21251:206;21493:1;21472:18;:22;21469:283;;;21510:9;21543:1;21522:18;:22;;;;:::i;:::-;21510:34;;21559:14;21597:4;21576:18;:25;;;;:::i;:::-;21559:42;;21616:14;21633:22;21650:4;21633:16;:22::i;:::-;21616:39;;21686:1;21674:9;:13;21670:70;;;21706:34;21719:9;21730;21706:12;:34::i;:::-;21670:70;21495:257;;;21469:283;21792:1;21768:21;:25;21764:101;;;21808:57;21843:21;21816:15;;;;;;;;;;;21808:34;;;;:57;;;;:::i;:::-;21764:101;21891:16;;;;;;;;;;21100:817;;14513:5:::0;14502:8;;:16;;;;;;;;;;;;;;;;;;21055:862::o;22514:522::-;22595:53;22612:4;22627:6;;;;;;;;;;;22636:11;22595:8;:53::i;:::-;22663:24;22692:6;;;;;;;;;;;:22;;;22723:9;22757:4;22777:11;22803:1;22819;22835:15;;;;;;;;;;;22865;22692:199;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22661:230;;;;22947:1;22928:16;22916:9;:28;;;;:::i;:::-;:32;22912:116;;;22963:65;23011:16;22999:9;:28;;;;:::i;:::-;22971:15;;;;;;;;;;;22963:34;;;;:65;;;;:::i;:::-;22912:116;22584:452;22514:522;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::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:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5259:22;5275:5;5259:22;:::i;:::-;5252:5;5249:33;5239:61;;5296:1;5293;5286:12;5239:61;5188:118;:::o;5312:135::-;5356:5;5394:6;5381:20;5372:29;;5410:31;5435:5;5410:31;:::i;:::-;5312:135;;;;:::o;5453:466::-;5517:6;5525;5574:2;5562:9;5553:7;5549:23;5545:32;5542:119;;;5580:79;;:::i;:::-;5542:119;5700:1;5725:51;5768:7;5759:6;5748:9;5744:22;5725:51;:::i;:::-;5715:61;;5671:115;5825:2;5851:51;5894:7;5885:6;5874:9;5870:22;5851:51;:::i;:::-;5841:61;;5796:116;5453:466;;;;;:::o;5925:118::-;6012:24;6030:5;6012:24;:::i;:::-;6007:3;6000:37;5925:118;;:::o;6049:222::-;6142:4;6180:2;6169:9;6165:18;6157:26;;6193:71;6261:1;6250:9;6246:17;6237:6;6193:71;:::i;:::-;6049:222;;;;:::o;6277:329::-;6336:6;6385:2;6373:9;6364:7;6360:23;6356:32;6353:119;;;6391:79;;:::i;:::-;6353:119;6511:1;6536:53;6581:7;6572:6;6561:9;6557:22;6536:53;:::i;:::-;6526:63;;6482:117;6277:329;;;;:::o;6612:474::-;6680:6;6688;6737:2;6725:9;6716:7;6712:23;6708:32;6705:119;;;6743:79;;:::i;:::-;6705:119;6863:1;6888:53;6933:7;6924:6;6913:9;6909:22;6888:53;:::i;:::-;6878:63;;6834:117;6990:2;7016:53;7061:7;7052:6;7041:9;7037:22;7016:53;:::i;:::-;7006:63;;6961:118;6612:474;;;;;:::o;7092:::-;7160:6;7168;7217:2;7205:9;7196:7;7192:23;7188:32;7185:119;;;7223:79;;:::i;:::-;7185:119;7343:1;7368:53;7413:7;7404:6;7393:9;7389:22;7368:53;:::i;:::-;7358:63;;7314:117;7470:2;7496:53;7541:7;7532:6;7521:9;7517:22;7496:53;:::i;:::-;7486:63;;7441:118;7092:474;;;;;:::o;7572:60::-;7600:3;7621:5;7614:12;;7572:60;;;:::o;7638:142::-;7688:9;7721:53;7739:34;7748:24;7766:5;7748:24;:::i;:::-;7739:34;:::i;:::-;7721:53;:::i;:::-;7708:66;;7638:142;;;:::o;7786:126::-;7836:9;7869:37;7900:5;7869:37;:::i;:::-;7856:50;;7786:126;;;:::o;7918:141::-;7983:9;8016:37;8047:5;8016:37;:::i;:::-;8003:50;;7918:141;;;:::o;8065:161::-;8167:52;8213:5;8167:52;:::i;:::-;8162:3;8155:65;8065:161;;:::o;8232:252::-;8340:4;8378:2;8367:9;8363:18;8355:26;;8391:86;8474:1;8463:9;8459:17;8450:6;8391:86;:::i;:::-;8232:252;;;;:::o;8490:180::-;8538:77;8535:1;8528:88;8635:4;8632:1;8625:15;8659:4;8656:1;8649:15;8676:194;8716:4;8736:20;8754:1;8736:20;:::i;:::-;8731:25;;8770:20;8788:1;8770:20;:::i;:::-;8765:25;;8814:1;8811;8807:9;8799:17;;8838:1;8832:4;8829:11;8826:37;;;8843:18;;:::i;:::-;8826:37;8676:194;;;;:::o;8876:182::-;9016:34;9012:1;9004:6;9000:14;8993:58;8876:182;:::o;9064:366::-;9206:3;9227:67;9291:2;9286:3;9227:67;:::i;:::-;9220:74;;9303:93;9392:3;9303:93;:::i;:::-;9421:2;9416:3;9412:12;9405:19;;9064:366;;;:::o;9436:419::-;9602:4;9640:2;9629:9;9625:18;9617:26;;9689:9;9683:4;9679:20;9675:1;9664:9;9660:17;9653:47;9717:131;9843:4;9717:131;:::i;:::-;9709:139;;9436:419;;;:::o;9861:169::-;10001:21;9997:1;9989:6;9985:14;9978:45;9861:169;:::o;10036:366::-;10178:3;10199:67;10263:2;10258:3;10199:67;:::i;:::-;10192:74;;10275:93;10364:3;10275:93;:::i;:::-;10393:2;10388:3;10384:12;10377:19;;10036:366;;;:::o;10408:419::-;10574:4;10612:2;10601:9;10597:18;10589:26;;10661:9;10655:4;10651:20;10647:1;10636:9;10632:17;10625:47;10689:131;10815:4;10689:131;:::i;:::-;10681:139;;10408:419;;;:::o;10833:179::-;10973:31;10969:1;10961:6;10957:14;10950:55;10833:179;:::o;11018:366::-;11160:3;11181:67;11245:2;11240:3;11181:67;:::i;:::-;11174:74;;11257:93;11346:3;11257:93;:::i;:::-;11375:2;11370:3;11366:12;11359:19;;11018:366;;;:::o;11390:419::-;11556:4;11594:2;11583:9;11579:18;11571:26;;11643:9;11637:4;11633:20;11629:1;11618:9;11614:17;11607:47;11671:131;11797:4;11671:131;:::i;:::-;11663:139;;11390:419;;;:::o;11815:102::-;11857:8;11904:5;11901:1;11897:13;11876:34;;11815:102;;;:::o;11923:848::-;11984:5;11991:4;12015:6;12006:15;;12039:5;12030:14;;12053:712;12074:1;12064:8;12061:15;12053:712;;;12169:4;12164:3;12160:14;12154:4;12151:24;12148:50;;;12178:18;;:::i;:::-;12148:50;12228:1;12218:8;12214:16;12211:451;;;12643:4;12636:5;12632:16;12623:25;;12211:451;12693:4;12687;12683:15;12675:23;;12723:32;12746:8;12723:32;:::i;:::-;12711:44;;12053:712;;;11923:848;;;;;;;:::o;12777:1073::-;12831:5;13022:8;13012:40;;13043:1;13034:10;;13045:5;;13012:40;13071:4;13061:36;;13088:1;13079:10;;13090:5;;13061:36;13157:4;13205:1;13200:27;;;;13241:1;13236:191;;;;13150:277;;13200:27;13218:1;13209:10;;13220:5;;;13236:191;13281:3;13271:8;13268:17;13265:43;;;13288:18;;:::i;:::-;13265:43;13337:8;13334:1;13330:16;13321:25;;13372:3;13365:5;13362:14;13359:40;;;13379:18;;:::i;:::-;13359:40;13412:5;;;13150:277;;13536:2;13526:8;13523:16;13517:3;13511:4;13508:13;13504:36;13486:2;13476:8;13473:16;13468:2;13462:4;13459:12;13455:35;13439:111;13436:246;;;13592:8;13586:4;13582:19;13573:28;;13627:3;13620:5;13617:14;13614:40;;;13634:18;;:::i;:::-;13614:40;13667:5;;13436:246;13707:42;13745:3;13735:8;13729:4;13726:1;13707:42;:::i;:::-;13692:57;;;;13781:4;13776:3;13772:14;13765:5;13762:25;13759:51;;;13790:18;;:::i;:::-;13759:51;13839:4;13832:5;13828:16;13819:25;;12777:1073;;;;;;:::o;13856:281::-;13914:5;13938:23;13956:4;13938:23;:::i;:::-;13930:31;;13982:25;13998:8;13982:25;:::i;:::-;13970:37;;14026:104;14063:66;14053:8;14047:4;14026:104;:::i;:::-;14017:113;;13856:281;;;;:::o;14143:410::-;14183:7;14206:20;14224:1;14206:20;:::i;:::-;14201:25;;14240:20;14258:1;14240:20;:::i;:::-;14235:25;;14295:1;14292;14288:9;14317:30;14335:11;14317:30;:::i;:::-;14306:41;;14496:1;14487:7;14483:15;14480:1;14477:22;14457:1;14450:9;14430:83;14407:139;;14526:18;;:::i;:::-;14407:139;14191:362;14143:410;;;;:::o;14559:180::-;14607:77;14604:1;14597:88;14704:4;14701:1;14694:15;14728:4;14725:1;14718:15;14745:185;14785:1;14802:20;14820:1;14802:20;:::i;:::-;14797:25;;14836:20;14854:1;14836:20;:::i;:::-;14831:25;;14875:1;14865:35;;14880:18;;:::i;:::-;14865:35;14922:1;14919;14915:9;14910:14;;14745:185;;;;:::o;14936:166::-;15076:18;15072:1;15064:6;15060:14;15053:42;14936:166;:::o;15108:366::-;15250:3;15271:67;15335:2;15330:3;15271:67;:::i;:::-;15264:74;;15347:93;15436:3;15347:93;:::i;:::-;15465:2;15460:3;15456:12;15449:19;;15108:366;;;:::o;15480:419::-;15646:4;15684:2;15673:9;15669:18;15661:26;;15733:9;15727:4;15723:20;15719:1;15708:9;15704:17;15697:47;15761:131;15887:4;15761:131;:::i;:::-;15753:139;;15480:419;;;:::o;15905:191::-;15945:3;15964:20;15982:1;15964:20;:::i;:::-;15959:25;;15998:20;16016:1;15998:20;:::i;:::-;15993:25;;16041:1;16038;16034:9;16027:16;;16062:3;16059:1;16056:10;16053:36;;;16069:18;;:::i;:::-;16053:36;15905:191;;;;:::o;16102:173::-;16242:25;16238:1;16230:6;16226:14;16219:49;16102:173;:::o;16281:366::-;16423:3;16444:67;16508:2;16503:3;16444:67;:::i;:::-;16437:74;;16520:93;16609:3;16520:93;:::i;:::-;16638:2;16633:3;16629:12;16622:19;;16281:366;;;:::o;16653:419::-;16819:4;16857:2;16846:9;16842:18;16834:26;;16906:9;16900:4;16896:20;16892:1;16881:9;16877:17;16870:47;16934:131;17060:4;16934:131;:::i;:::-;16926:139;;16653:419;;;:::o;17078:143::-;17135:5;17166:6;17160:13;17151:22;;17182:33;17209:5;17182:33;:::i;:::-;17078:143;;;;:::o;17227:351::-;17297:6;17346:2;17334:9;17325:7;17321:23;17317:32;17314:119;;;17352:79;;:::i;:::-;17314:119;17472:1;17497:64;17553:7;17544:6;17533:9;17529:22;17497:64;:::i;:::-;17487:74;;17443:128;17227:351;;;;:::o;17584:332::-;17705:4;17743:2;17732:9;17728:18;17720:26;;17756:71;17824:1;17813:9;17809:17;17800:6;17756:71;:::i;:::-;17837:72;17905:2;17894:9;17890:18;17881:6;17837:72;:::i;:::-;17584:332;;;;;:::o;17922:85::-;17967:7;17996:5;17985:16;;17922:85;;;:::o;18013:158::-;18071:9;18104:61;18122:42;18131:32;18157:5;18131:32;:::i;:::-;18122:42;:::i;:::-;18104:61;:::i;:::-;18091:74;;18013:158;;;:::o;18177:147::-;18272:45;18311:5;18272:45;:::i;:::-;18267:3;18260:58;18177:147;;:::o;18330:807::-;18579:4;18617:3;18606:9;18602:19;18594:27;;18631:71;18699:1;18688:9;18684:17;18675:6;18631:71;:::i;:::-;18712:72;18780:2;18769:9;18765:18;18756:6;18712:72;:::i;:::-;18794:80;18870:2;18859:9;18855:18;18846:6;18794:80;:::i;:::-;18884;18960:2;18949:9;18945:18;18936:6;18884:80;:::i;:::-;18974:73;19042:3;19031:9;19027:19;19018:6;18974:73;:::i;:::-;19057;19125:3;19114:9;19110:19;19101:6;19057:73;:::i;:::-;18330:807;;;;;;;;;:::o;19143:143::-;19200:5;19231:6;19225:13;19216:22;;19247:33;19274:5;19247:33;:::i;:::-;19143:143;;;;:::o;19292:663::-;19380:6;19388;19396;19445:2;19433:9;19424:7;19420:23;19416:32;19413:119;;;19451:79;;:::i;:::-;19413:119;19571:1;19596:64;19652:7;19643:6;19632:9;19628:22;19596:64;:::i;:::-;19586:74;;19542:128;19709:2;19735:64;19791:7;19782:6;19771:9;19767:22;19735:64;:::i;:::-;19725:74;;19680:129;19848:2;19874:64;19930:7;19921:6;19910:9;19906:22;19874:64;:::i;:::-;19864:74;;19819:129;19292:663;;;;;:::o;19961:332::-;20082:4;20120:2;20109:9;20105:18;20097:26;;20133:71;20201:1;20190:9;20186:17;20177:6;20133:71;:::i;:::-;20214:72;20282:2;20271:9;20267:18;20258:6;20214:72;:::i;:::-;19961:332;;;;;:::o;20299:116::-;20369:21;20384:5;20369:21;:::i;:::-;20362:5;20359:32;20349:60;;20405:1;20402;20395:12;20349:60;20299:116;:::o;20421:137::-;20475:5;20506:6;20500:13;20491:22;;20522:30;20546:5;20522:30;:::i;:::-;20421:137;;;;:::o;20564:345::-;20631:6;20680:2;20668:9;20659:7;20655:23;20651:32;20648:119;;;20686:79;;:::i;:::-;20648:119;20806:1;20831:61;20884:7;20875:6;20864:9;20860:22;20831:61;:::i;:::-;20821:71;;20777:125;20564:345;;;;:::o;20915:225::-;21055:34;21051:1;21043:6;21039:14;21032:58;21124:8;21119:2;21111:6;21107:15;21100:33;20915:225;:::o;21146:366::-;21288:3;21309:67;21373:2;21368:3;21309:67;:::i;:::-;21302:74;;21385:93;21474:3;21385:93;:::i;:::-;21503:2;21498:3;21494:12;21487:19;;21146:366;;;:::o;21518:419::-;21684:4;21722:2;21711:9;21707:18;21699:26;;21771:9;21765:4;21761:20;21757:1;21746:9;21742:17;21735:47;21799:131;21925:4;21799:131;:::i;:::-;21791:139;;21518:419;;;:::o;21943:223::-;22083:34;22079:1;22071:6;22067:14;22060:58;22152:6;22147:2;22139:6;22135:15;22128:31;21943:223;:::o;22172:366::-;22314:3;22335:67;22399:2;22394:3;22335:67;:::i;:::-;22328:74;;22411:93;22500:3;22411:93;:::i;:::-;22529:2;22524:3;22520:12;22513:19;;22172:366;;;:::o;22544:419::-;22710:4;22748:2;22737:9;22733:18;22725:26;;22797:9;22791:4;22787:20;22783:1;22772:9;22768:17;22761:47;22825:131;22951:4;22825:131;:::i;:::-;22817:139;;22544:419;;;:::o;22969:221::-;23109:34;23105:1;23097:6;23093:14;23086:58;23178:4;23173:2;23165:6;23161:15;23154:29;22969:221;:::o;23196:366::-;23338:3;23359:67;23423:2;23418:3;23359:67;:::i;:::-;23352:74;;23435:93;23524:3;23435:93;:::i;:::-;23553:2;23548:3;23544:12;23537:19;;23196:366;;;:::o;23568:419::-;23734:4;23772:2;23761:9;23757:18;23749:26;;23821:9;23815:4;23811:20;23807:1;23796:9;23792:17;23785:47;23849:131;23975:4;23849:131;:::i;:::-;23841:139;;23568:419;;;:::o;23993:180::-;24041:77;24038:1;24031:88;24138:4;24135:1;24128:15;24162:4;24159:1;24152:15;24179:180;24227:77;24224:1;24217:88;24324:4;24321:1;24314:15;24348:4;24345:1;24338:15;24365:114;24432:6;24466:5;24460:12;24450:22;;24365:114;;;:::o;24485:184::-;24584:11;24618:6;24613:3;24606:19;24658:4;24653:3;24649:14;24634:29;;24485:184;;;;:::o;24675:132::-;24742:4;24765:3;24757:11;;24795:4;24790:3;24786:14;24778:22;;24675:132;;;:::o;24813:108::-;24890:24;24908:5;24890:24;:::i;:::-;24885:3;24878:37;24813:108;;:::o;24927:179::-;24996:10;25017:46;25059:3;25051:6;25017:46;:::i;:::-;25095:4;25090:3;25086:14;25072:28;;24927:179;;;;:::o;25112:113::-;25182:4;25214;25209:3;25205:14;25197:22;;25112:113;;;:::o;25261:732::-;25380:3;25409:54;25457:5;25409:54;:::i;:::-;25479:86;25558:6;25553:3;25479:86;:::i;:::-;25472:93;;25589:56;25639:5;25589:56;:::i;:::-;25668:7;25699:1;25684:284;25709:6;25706:1;25703:13;25684:284;;;25785:6;25779:13;25812:63;25871:3;25856:13;25812:63;:::i;:::-;25805:70;;25898:60;25951:6;25898:60;:::i;:::-;25888:70;;25744:224;25731:1;25728;25724:9;25719:14;;25684:284;;;25688:14;25984:3;25977:10;;25385:608;;;25261:732;;;;:::o;25999:831::-;26262:4;26300:3;26289:9;26285:19;26277:27;;26314:71;26382:1;26371:9;26367:17;26358:6;26314:71;:::i;:::-;26395:80;26471:2;26460:9;26456:18;26447:6;26395:80;:::i;:::-;26522:9;26516:4;26512:20;26507:2;26496:9;26492:18;26485:48;26550:108;26653:4;26644:6;26550:108;:::i;:::-;26542:116;;26668:72;26736:2;26725:9;26721:18;26712:6;26668:72;:::i;:::-;26750:73;26818:3;26807:9;26803:19;26794:6;26750:73;:::i;:::-;25999:831;;;;;;;;:::o;26836:179::-;26976:31;26972:1;26964:6;26960:14;26953:55;26836:179;:::o;27021:366::-;27163:3;27184:67;27248:2;27243:3;27184:67;:::i;:::-;27177:74;;27260:93;27349:3;27260:93;:::i;:::-;27378:2;27373:3;27369:12;27362:19;;27021:366;;;:::o;27393:419::-;27559:4;27597:2;27586:9;27582:18;27574:26;;27646:9;27640:4;27636:20;27632:1;27621:9;27617:17;27610:47;27674:131;27800:4;27674:131;:::i;:::-;27666:139;;27393:419;;;:::o;27818:147::-;27919:11;27956:3;27941:18;;27818:147;;;;:::o;27971:114::-;;:::o;28091:398::-;28250:3;28271:83;28352:1;28347:3;28271:83;:::i;:::-;28264:90;;28363:93;28452:3;28363:93;:::i;:::-;28481:1;28476:3;28472:11;28465:18;;28091:398;;;:::o;28495:379::-;28679:3;28701:147;28844:3;28701:147;:::i;:::-;28694:154;;28865:3;28858:10;;28495:379;;;:::o;28880:245::-;29020:34;29016:1;29008:6;29004:14;28997:58;29089:28;29084:2;29076:6;29072:15;29065:53;28880:245;:::o;29131:366::-;29273:3;29294:67;29358:2;29353:3;29294:67;:::i;:::-;29287:74;;29370:93;29459:3;29370:93;:::i;:::-;29488:2;29483:3;29479:12;29472:19;;29131:366;;;:::o;29503:419::-;29669:4;29707:2;29696:9;29692:18;29684:26;;29756:9;29750:4;29746:20;29742:1;29731:9;29727:17;29720:47;29784:131;29910:4;29784:131;:::i;:::-;29776:139;;29503:419;;;:::o;29928:224::-;30068:34;30064:1;30056:6;30052:14;30045:58;30137:7;30132:2;30124:6;30120:15;30113:32;29928:224;:::o;30158:366::-;30300:3;30321:67;30385:2;30380:3;30321:67;:::i;:::-;30314:74;;30397:93;30486:3;30397:93;:::i;:::-;30515:2;30510:3;30506:12;30499:19;;30158:366;;;:::o;30530:419::-;30696:4;30734:2;30723:9;30719:18;30711:26;;30783:9;30777:4;30773:20;30769:1;30758:9;30754:17;30747:47;30811:131;30937:4;30811:131;:::i;:::-;30803:139;;30530:419;;;:::o;30955:222::-;31095:34;31091:1;31083:6;31079:14;31072:58;31164:5;31159:2;31151:6;31147:15;31140:30;30955:222;:::o;31183:366::-;31325:3;31346:67;31410:2;31405:3;31346:67;:::i;:::-;31339:74;;31422:93;31511:3;31422:93;:::i;:::-;31540:2;31535:3;31531:12;31524:19;;31183:366;;;:::o;31555:419::-;31721:4;31759:2;31748:9;31744:18;31736:26;;31808:9;31802:4;31798:20;31794:1;31783:9;31779:17;31772:47;31836:131;31962:4;31836:131;:::i;:::-;31828:139;;31555:419;;;:::o;31980:228::-;32120:34;32116:1;32108:6;32104:14;32097:58;32189:11;32184:2;32176:6;32172:15;32165:36;31980:228;:::o;32214:366::-;32356:3;32377:67;32441:2;32436:3;32377:67;:::i;:::-;32370:74;;32453:93;32542:3;32453:93;:::i;:::-;32571:2;32566:3;32562:12;32555:19;;32214:366;;;:::o;32586:419::-;32752:4;32790:2;32779:9;32775:18;32767:26;;32839:9;32833:4;32829:20;32825:1;32814:9;32810:17;32803:47;32867:131;32993:4;32867:131;:::i;:::-;32859:139;;32586:419;;;:::o;33011:228::-;33151:34;33147:1;33139:6;33135:14;33128:58;33220:11;33215:2;33207:6;33203:15;33196:36;33011:228;:::o;33245:366::-;33387:3;33408:67;33472:2;33467:3;33408:67;:::i;:::-;33401:74;;33484:93;33573:3;33484:93;:::i;:::-;33602:2;33597:3;33593:12;33586:19;;33245:366;;;:::o;33617:419::-;33783:4;33821:2;33810:9;33806:18;33798:26;;33870:9;33864:4;33860:20;33856:1;33845:9;33841:17;33834:47;33898:131;34024:4;33898:131;:::i;:::-;33890:139;;33617:419;;;:::o;34042:225::-;34182:34;34178:1;34170:6;34166:14;34159:58;34251:8;34246:2;34238:6;34234:15;34227:33;34042:225;:::o;34273:366::-;34415:3;34436:67;34500:2;34495:3;34436:67;:::i;:::-;34429:74;;34512:93;34601:3;34512:93;:::i;:::-;34630:2;34625:3;34621:12;34614:19;;34273:366;;;:::o;34645:419::-;34811:4;34849:2;34838:9;34834:18;34826:26;;34898:9;34892:4;34888:20;34884:1;34873:9;34869:17;34862:47;34926:131;35052:4;34926:131;:::i;:::-;34918:139;;34645:419;;;:::o;35070:233::-;35109:3;35132:24;35150:5;35132:24;:::i;:::-;35123:33;;35178:66;35171:5;35168:77;35165:103;;35248:18;;:::i;:::-;35165:103;35295:1;35288:5;35284:13;35277:20;;35070:233;;;:::o

Swarm Source

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