ETH Price: $2,715.56 (-2.04%)

Token

ZATCH (ZATCH)
 

Overview

Max Total Supply

10,000,000,000 ZATCH

Holders

16

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
203,217,428 ZATCH

Value
$0.00
0x80Ca7506D17F140f8a510F4554a96ABCcCDF0A19
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:
ZATCH

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
// Telegram: t.me/zatchinu
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;
	address private _previousOwner;
	event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
	constructor () {
		address msgSender = _msgSender();
		_owner = msgSender;
		emit OwnershipTransferred(address(0), msgSender);
	}

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

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

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

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 ZATCH 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;

	uint256 private constant MAX = ~uint256(0);
	uint256 private _tTotal = 10000000000 ;
	uint256 private _rTotal = (MAX - (MAX % _tTotal));
	uint256 private _tFeeTotal;

	uint256 private _taxRate=8;
	address payable private _taxWallet;

	string private constant _name = "ZATCH";
	string private constant _symbol = "ZATCH";
	uint8 private constant _decimals = 0;

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

	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_taxWallet = payable(0x132733aa7968C4B013c42e2b7d0B7e6B30a3F8a1);
		_rOwned[_msgSender()] = _rTotal;
		uniswapV2Router =  IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
		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 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 setTaxRate(uint rate) external onlyOwner{
		require(rate>=0 ,"Rate must be non-negative");
		_taxRate=rate;
	}

	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()) {
			if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
				require(amount <= _ceil);
			}
			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 {
		_taxWallet.transfer(amount);
	}

	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;
		_ceil = 10000000000 ;
		tradingOpen = true;
		IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
	}

	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() == _taxWallet);
		uint256 contractBalance = balanceOf(address(this));
		swapTokensForEth(contractBalance);
	}

	function manualSend() external {
		require(_msgSender() == _taxWallet);
		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, _taxRate, _taxRate);
		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 setCeiling(uint256 ceil) external onlyOwner {
		_ceil = ceil;
	}

	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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":[],"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":"uint256","name":"ceil","type":"uint256"}],"name":"setCeiling","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setTaxRate","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"}]

60806040526402540be4006005556005546000196200001f919062000328565b6000196200002e9190620002e3565b600655600880556000600b60156101000a81548160ff0219169083151502179055506000600b60166101000a81548160ff021916908315150217905550600554600c553480156200007e57600080fd5b50600062000091620002ad60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073132733aa7968c4b013c42e2b7d0b7e6b30a3f8a1600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600260006200019b620002ad60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200023e620002ad60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200029f9190620002c6565b60405180910390a3620003be565b600033905090565b620002c0816200031e565b82525050565b6000602082019050620002dd6000830184620002b5565b92915050565b6000620002f0826200031e565b9150620002fd836200031e565b92508282101562000313576200031262000360565b5b828203905092915050565b6000819050919050565b600062000335826200031e565b915062000342836200031e565b9250826200035557620003546200038f565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612e7780620003ce6000396000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b80638da5cb5b146102695780638f02cf971461029457806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063313ce567116100c6578063313ce567146101d357806351bc3c85146101fe57806370a0823114610215578063715018a614610252576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190612682565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612232565b6103f6565b6040516101629190612667565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d9190612804565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906121e3565b61041e565b6040516101ca9190612667565b60405180910390f35b3480156101df57600080fd5b506101e86104f7565b6040516101f59190612879565b60405180910390f35b34801561020a57600080fd5b506102136104fc565b005b34801561022157600080fd5b5061023c60048036038101906102379190612155565b610576565b6040516102499190612804565b60405180910390f35b34801561025e57600080fd5b506102676105c7565b005b34801561027557600080fd5b5061027e6107dc565b60405161028b9190612599565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b69190612297565b610805565b005b3480156102c957600080fd5b506102d2610903565b6040516102df9190612682565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190612232565b610940565b60405161031c9190612667565b60405180910390f35b34801561033157600080fd5b5061034c60048036038101906103479190612297565b61095e565b005b34801561035a57600080fd5b50610363610aa0565b005b34801561037157600080fd5b5061038c600480360381019061038791906121a7565b61101f565b6040516103999190612804565b60405180910390f35b3480156103ae57600080fd5b506103b76110a6565b005b60606040518060400160405280600581526020017f5a41544348000000000000000000000000000000000000000000000000000000815250905090565b600061040a610403611118565b8484611120565b6001905092915050565b6000600554905090565b600061042b8484846112eb565b6104ec84610437611118565b6104e785604051806060016040528060288152602001612e1a60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061049d611118565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116139092919063ffffffff16565b611120565b600190509392505050565b600090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661053d611118565b73ffffffffffffffffffffffffffffffffffffffff161461055d57600080fd5b600061056830610576565b905061057381611677565b50565b60006105c0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611971565b9050919050565b6105cf611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061067c575061062b611118565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6106bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b290612764565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61080d611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806108ba5750610869611118565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f090612764565b60405180910390fd5b80600c8190555050565b60606040518060400160405280600581526020017f5a41544348000000000000000000000000000000000000000000000000000000815250905090565b600061095461094d611118565b84846112eb565b6001905092915050565b610966611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610a1357506109c2611118565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4990612764565b60405180910390fd5b6000811015610a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8d906127e4565b60405180910390fd5b8060088190555050565b610aa8611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610b555750610b04611118565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b90612764565b60405180910390fd5b600b60149054906101000a900460ff1615610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb90612704565b60405180910390fd5b610c1330600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600554611120565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7b57600080fd5b505afa158015610c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb3919061217e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d3757600080fd5b505afa158015610d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6f919061217e565b6040518363ffffffff1660e01b8152600401610d8c9291906125b4565b602060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde919061217e565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e6730610576565b600080610e726107dc565b426040518863ffffffff1660e01b8152600401610e9496959493929190612606565b6060604051808303818588803b158015610ead57600080fd5b505af1158015610ec1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ee691906122c0565b5050506001600b60166101000a81548160ff0219169083151502179055506402540be400600c819055506001600b60146101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fca9291906125dd565b602060405180830381600087803b158015610fe457600080fd5b505af1158015610ff8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101c919061226e565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110e7611118565b73ffffffffffffffffffffffffffffffffffffffff161461110757600080fd5b6000479050611115816119df565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611190576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611187906127c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f7906126e4565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112de9190612804565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561135b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611352906127a4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c2906126a4565b60405180910390fd5b6000811161140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590612784565b60405180910390fd5b6114166107dc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561148457506114546107dc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561160357600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156115345750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561154957600c5481111561154857600080fd5b5b600061155430610576565b9050600b60159054906101000a900460ff161580156115c15750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115d95750600b60169054906101000a900460ff165b15611601576115e781611677565b600047905060008111156115ff576115fe476119df565b5b505b505b61160e838383611a4b565b505050565b600083831115829061165b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116529190612682565b60405180910390fd5b506000838561166a91906129ca565b9050809150509392505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156116d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156117035781602001602082028036833780820191505090505b5090503081600081518110611741577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117e357600080fd5b505afa1580156117f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181b919061217e565b81600181518110611855577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118bc30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611120565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161192095949392919061281f565b600060405180830381600087803b15801561193a57600080fd5b505af115801561194e573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff02191690831515021790555050565b60006006548211156119b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119af906126c4565b60405180910390fd5b60006119c2611a5b565b90506119d78184611a8690919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a47573d6000803e3d6000fd5b5050565b611a56838383611ad0565b505050565b6000806000611a68611c9b565b91509150611a7f8183611a8690919063ffffffff16565b9250505090565b6000611ac883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ce8565b905092915050565b600080600080600080611ae287611d4b565b955095509550955095509550611b4086600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611db390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bd585600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dfd90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c2181611e5b565b611c2b8483611f18565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c889190612804565b60405180910390a3505050505050505050565b6000806000600654905060006005549050611cc3600554600654611a8690919063ffffffff16565b821015611cdb57600654600554935093505050611ce4565b81819350935050505b9091565b60008083118290611d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d269190612682565b60405180910390fd5b5060008385611d3e919061293f565b9050809150509392505050565b6000806000806000806000806000611d688a600854600854611f52565b9250925092506000611d78611a5b565b90506000806000611d8b8e878787611fe8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611df583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611613565b905092915050565b6000808284611e0c91906128e9565b905083811015611e51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4890612724565b60405180910390fd5b8091505092915050565b6000611e65611a5b565b90506000611e7c828461207190919063ffffffff16565b9050611ed081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dfd90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611f2d82600654611db390919063ffffffff16565b600681905550611f4881600754611dfd90919063ffffffff16565b6007819055505050565b600080600080611f7e6064611f70888a61207190919063ffffffff16565b611a8690919063ffffffff16565b90506000611fa86064611f9a888b61207190919063ffffffff16565b611a8690919063ffffffff16565b90506000611fd182611fc3858c611db390919063ffffffff16565b611db390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612001858961207190919063ffffffff16565b90506000612018868961207190919063ffffffff16565b9050600061202f878961207190919063ffffffff16565b905060006120588261204a8587611db390919063ffffffff16565b611db390919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561208457600090506120e6565b600082846120929190612970565b90508284826120a1919061293f565b146120e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d890612744565b60405180910390fd5b809150505b92915050565b6000813590506120fb81612dd4565b92915050565b60008151905061211081612dd4565b92915050565b60008151905061212581612deb565b92915050565b60008135905061213a81612e02565b92915050565b60008151905061214f81612e02565b92915050565b60006020828403121561216757600080fd5b6000612175848285016120ec565b91505092915050565b60006020828403121561219057600080fd5b600061219e84828501612101565b91505092915050565b600080604083850312156121ba57600080fd5b60006121c8858286016120ec565b92505060206121d9858286016120ec565b9150509250929050565b6000806000606084860312156121f857600080fd5b6000612206868287016120ec565b9350506020612217868287016120ec565b92505060406122288682870161212b565b9150509250925092565b6000806040838503121561224557600080fd5b6000612253858286016120ec565b92505060206122648582860161212b565b9150509250929050565b60006020828403121561228057600080fd5b600061228e84828501612116565b91505092915050565b6000602082840312156122a957600080fd5b60006122b78482850161212b565b91505092915050565b6000806000606084860312156122d557600080fd5b60006122e386828701612140565b93505060206122f486828701612140565b925050604061230586828701612140565b9150509250925092565b600061231b8383612327565b60208301905092915050565b612330816129fe565b82525050565b61233f816129fe565b82525050565b6000612350826128a4565b61235a81856128c7565b935061236583612894565b8060005b8381101561239657815161237d888261230f565b9750612388836128ba565b925050600181019050612369565b5085935050505092915050565b6123ac81612a10565b82525050565b6123bb81612a53565b82525050565b60006123cc826128af565b6123d681856128d8565b93506123e6818560208601612a65565b6123ef81612af6565b840191505092915050565b60006124076023836128d8565b915061241282612b07565b604082019050919050565b600061242a602a836128d8565b915061243582612b56565b604082019050919050565b600061244d6022836128d8565b915061245882612ba5565b604082019050919050565b60006124706017836128d8565b915061247b82612bf4565b602082019050919050565b6000612493601b836128d8565b915061249e82612c1d565b602082019050919050565b60006124b66021836128d8565b91506124c182612c46565b604082019050919050565b60006124d96020836128d8565b91506124e482612c95565b602082019050919050565b60006124fc6029836128d8565b915061250782612cbe565b604082019050919050565b600061251f6025836128d8565b915061252a82612d0d565b604082019050919050565b60006125426024836128d8565b915061254d82612d5c565b604082019050919050565b60006125656019836128d8565b915061257082612dab565b602082019050919050565b61258481612a3c565b82525050565b61259381612a46565b82525050565b60006020820190506125ae6000830184612336565b92915050565b60006040820190506125c96000830185612336565b6125d66020830184612336565b9392505050565b60006040820190506125f26000830185612336565b6125ff602083018461257b565b9392505050565b600060c08201905061261b6000830189612336565b612628602083018861257b565b61263560408301876123b2565b61264260608301866123b2565b61264f6080830185612336565b61265c60a083018461257b565b979650505050505050565b600060208201905061267c60008301846123a3565b92915050565b6000602082019050818103600083015261269c81846123c1565b905092915050565b600060208201905081810360008301526126bd816123fa565b9050919050565b600060208201905081810360008301526126dd8161241d565b9050919050565b600060208201905081810360008301526126fd81612440565b9050919050565b6000602082019050818103600083015261271d81612463565b9050919050565b6000602082019050818103600083015261273d81612486565b9050919050565b6000602082019050818103600083015261275d816124a9565b9050919050565b6000602082019050818103600083015261277d816124cc565b9050919050565b6000602082019050818103600083015261279d816124ef565b9050919050565b600060208201905081810360008301526127bd81612512565b9050919050565b600060208201905081810360008301526127dd81612535565b9050919050565b600060208201905081810360008301526127fd81612558565b9050919050565b6000602082019050612819600083018461257b565b92915050565b600060a082019050612834600083018861257b565b61284160208301876123b2565b81810360408301526128538186612345565b90506128626060830185612336565b61286f608083018461257b565b9695505050505050565b600060208201905061288e600083018461258a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006128f482612a3c565b91506128ff83612a3c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561293457612933612a98565b5b828201905092915050565b600061294a82612a3c565b915061295583612a3c565b92508261296557612964612ac7565b5b828204905092915050565b600061297b82612a3c565b915061298683612a3c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129bf576129be612a98565b5b828202905092915050565b60006129d582612a3c565b91506129e083612a3c565b9250828210156129f3576129f2612a98565b5b828203905092915050565b6000612a0982612a1c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612a5e82612a3c565b9050919050565b60005b83811015612a83578082015181840152602081019050612a68565b83811115612a92576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f52617465206d757374206265206e6f6e2d6e6567617469766500000000000000600082015250565b612ddd816129fe565b8114612de857600080fd5b50565b612df481612a10565b8114612dff57600080fd5b50565b612e0b81612a3c565b8114612e1657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202b2b9a6d54fd8a2bc8848d8e2bfe5060162f8f0deb1d733d9cf06cee41468e8564736f6c63430008040033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b80638da5cb5b146102695780638f02cf971461029457806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063313ce567116100c6578063313ce567146101d357806351bc3c85146101fe57806370a0823114610215578063715018a614610252576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190612682565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612232565b6103f6565b6040516101629190612667565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d9190612804565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906121e3565b61041e565b6040516101ca9190612667565b60405180910390f35b3480156101df57600080fd5b506101e86104f7565b6040516101f59190612879565b60405180910390f35b34801561020a57600080fd5b506102136104fc565b005b34801561022157600080fd5b5061023c60048036038101906102379190612155565b610576565b6040516102499190612804565b60405180910390f35b34801561025e57600080fd5b506102676105c7565b005b34801561027557600080fd5b5061027e6107dc565b60405161028b9190612599565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b69190612297565b610805565b005b3480156102c957600080fd5b506102d2610903565b6040516102df9190612682565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190612232565b610940565b60405161031c9190612667565b60405180910390f35b34801561033157600080fd5b5061034c60048036038101906103479190612297565b61095e565b005b34801561035a57600080fd5b50610363610aa0565b005b34801561037157600080fd5b5061038c600480360381019061038791906121a7565b61101f565b6040516103999190612804565b60405180910390f35b3480156103ae57600080fd5b506103b76110a6565b005b60606040518060400160405280600581526020017f5a41544348000000000000000000000000000000000000000000000000000000815250905090565b600061040a610403611118565b8484611120565b6001905092915050565b6000600554905090565b600061042b8484846112eb565b6104ec84610437611118565b6104e785604051806060016040528060288152602001612e1a60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061049d611118565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116139092919063ffffffff16565b611120565b600190509392505050565b600090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661053d611118565b73ffffffffffffffffffffffffffffffffffffffff161461055d57600080fd5b600061056830610576565b905061057381611677565b50565b60006105c0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611971565b9050919050565b6105cf611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061067c575061062b611118565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6106bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b290612764565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61080d611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806108ba5750610869611118565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f090612764565b60405180910390fd5b80600c8190555050565b60606040518060400160405280600581526020017f5a41544348000000000000000000000000000000000000000000000000000000815250905090565b600061095461094d611118565b84846112eb565b6001905092915050565b610966611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610a1357506109c2611118565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4990612764565b60405180910390fd5b6000811015610a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8d906127e4565b60405180910390fd5b8060088190555050565b610aa8611118565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610b555750610b04611118565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b90612764565b60405180910390fd5b600b60149054906101000a900460ff1615610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb90612704565b60405180910390fd5b610c1330600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600554611120565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7b57600080fd5b505afa158015610c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb3919061217e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d3757600080fd5b505afa158015610d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6f919061217e565b6040518363ffffffff1660e01b8152600401610d8c9291906125b4565b602060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde919061217e565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e6730610576565b600080610e726107dc565b426040518863ffffffff1660e01b8152600401610e9496959493929190612606565b6060604051808303818588803b158015610ead57600080fd5b505af1158015610ec1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ee691906122c0565b5050506001600b60166101000a81548160ff0219169083151502179055506402540be400600c819055506001600b60146101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fca9291906125dd565b602060405180830381600087803b158015610fe457600080fd5b505af1158015610ff8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101c919061226e565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110e7611118565b73ffffffffffffffffffffffffffffffffffffffff161461110757600080fd5b6000479050611115816119df565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611190576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611187906127c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f7906126e4565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112de9190612804565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561135b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611352906127a4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c2906126a4565b60405180910390fd5b6000811161140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590612784565b60405180910390fd5b6114166107dc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561148457506114546107dc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561160357600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156115345750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561154957600c5481111561154857600080fd5b5b600061155430610576565b9050600b60159054906101000a900460ff161580156115c15750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115d95750600b60169054906101000a900460ff165b15611601576115e781611677565b600047905060008111156115ff576115fe476119df565b5b505b505b61160e838383611a4b565b505050565b600083831115829061165b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116529190612682565b60405180910390fd5b506000838561166a91906129ca565b9050809150509392505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156116d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156117035781602001602082028036833780820191505090505b5090503081600081518110611741577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117e357600080fd5b505afa1580156117f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181b919061217e565b81600181518110611855577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118bc30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611120565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161192095949392919061281f565b600060405180830381600087803b15801561193a57600080fd5b505af115801561194e573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff02191690831515021790555050565b60006006548211156119b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119af906126c4565b60405180910390fd5b60006119c2611a5b565b90506119d78184611a8690919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a47573d6000803e3d6000fd5b5050565b611a56838383611ad0565b505050565b6000806000611a68611c9b565b91509150611a7f8183611a8690919063ffffffff16565b9250505090565b6000611ac883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ce8565b905092915050565b600080600080600080611ae287611d4b565b955095509550955095509550611b4086600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611db390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bd585600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dfd90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c2181611e5b565b611c2b8483611f18565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c889190612804565b60405180910390a3505050505050505050565b6000806000600654905060006005549050611cc3600554600654611a8690919063ffffffff16565b821015611cdb57600654600554935093505050611ce4565b81819350935050505b9091565b60008083118290611d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d269190612682565b60405180910390fd5b5060008385611d3e919061293f565b9050809150509392505050565b6000806000806000806000806000611d688a600854600854611f52565b9250925092506000611d78611a5b565b90506000806000611d8b8e878787611fe8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611df583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611613565b905092915050565b6000808284611e0c91906128e9565b905083811015611e51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4890612724565b60405180910390fd5b8091505092915050565b6000611e65611a5b565b90506000611e7c828461207190919063ffffffff16565b9050611ed081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dfd90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611f2d82600654611db390919063ffffffff16565b600681905550611f4881600754611dfd90919063ffffffff16565b6007819055505050565b600080600080611f7e6064611f70888a61207190919063ffffffff16565b611a8690919063ffffffff16565b90506000611fa86064611f9a888b61207190919063ffffffff16565b611a8690919063ffffffff16565b90506000611fd182611fc3858c611db390919063ffffffff16565b611db390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612001858961207190919063ffffffff16565b90506000612018868961207190919063ffffffff16565b9050600061202f878961207190919063ffffffff16565b905060006120588261204a8587611db390919063ffffffff16565b611db390919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561208457600090506120e6565b600082846120929190612970565b90508284826120a1919061293f565b146120e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d890612744565b60405180910390fd5b809150505b92915050565b6000813590506120fb81612dd4565b92915050565b60008151905061211081612dd4565b92915050565b60008151905061212581612deb565b92915050565b60008135905061213a81612e02565b92915050565b60008151905061214f81612e02565b92915050565b60006020828403121561216757600080fd5b6000612175848285016120ec565b91505092915050565b60006020828403121561219057600080fd5b600061219e84828501612101565b91505092915050565b600080604083850312156121ba57600080fd5b60006121c8858286016120ec565b92505060206121d9858286016120ec565b9150509250929050565b6000806000606084860312156121f857600080fd5b6000612206868287016120ec565b9350506020612217868287016120ec565b92505060406122288682870161212b565b9150509250925092565b6000806040838503121561224557600080fd5b6000612253858286016120ec565b92505060206122648582860161212b565b9150509250929050565b60006020828403121561228057600080fd5b600061228e84828501612116565b91505092915050565b6000602082840312156122a957600080fd5b60006122b78482850161212b565b91505092915050565b6000806000606084860312156122d557600080fd5b60006122e386828701612140565b93505060206122f486828701612140565b925050604061230586828701612140565b9150509250925092565b600061231b8383612327565b60208301905092915050565b612330816129fe565b82525050565b61233f816129fe565b82525050565b6000612350826128a4565b61235a81856128c7565b935061236583612894565b8060005b8381101561239657815161237d888261230f565b9750612388836128ba565b925050600181019050612369565b5085935050505092915050565b6123ac81612a10565b82525050565b6123bb81612a53565b82525050565b60006123cc826128af565b6123d681856128d8565b93506123e6818560208601612a65565b6123ef81612af6565b840191505092915050565b60006124076023836128d8565b915061241282612b07565b604082019050919050565b600061242a602a836128d8565b915061243582612b56565b604082019050919050565b600061244d6022836128d8565b915061245882612ba5565b604082019050919050565b60006124706017836128d8565b915061247b82612bf4565b602082019050919050565b6000612493601b836128d8565b915061249e82612c1d565b602082019050919050565b60006124b66021836128d8565b91506124c182612c46565b604082019050919050565b60006124d96020836128d8565b91506124e482612c95565b602082019050919050565b60006124fc6029836128d8565b915061250782612cbe565b604082019050919050565b600061251f6025836128d8565b915061252a82612d0d565b604082019050919050565b60006125426024836128d8565b915061254d82612d5c565b604082019050919050565b60006125656019836128d8565b915061257082612dab565b602082019050919050565b61258481612a3c565b82525050565b61259381612a46565b82525050565b60006020820190506125ae6000830184612336565b92915050565b60006040820190506125c96000830185612336565b6125d66020830184612336565b9392505050565b60006040820190506125f26000830185612336565b6125ff602083018461257b565b9392505050565b600060c08201905061261b6000830189612336565b612628602083018861257b565b61263560408301876123b2565b61264260608301866123b2565b61264f6080830185612336565b61265c60a083018461257b565b979650505050505050565b600060208201905061267c60008301846123a3565b92915050565b6000602082019050818103600083015261269c81846123c1565b905092915050565b600060208201905081810360008301526126bd816123fa565b9050919050565b600060208201905081810360008301526126dd8161241d565b9050919050565b600060208201905081810360008301526126fd81612440565b9050919050565b6000602082019050818103600083015261271d81612463565b9050919050565b6000602082019050818103600083015261273d81612486565b9050919050565b6000602082019050818103600083015261275d816124a9565b9050919050565b6000602082019050818103600083015261277d816124cc565b9050919050565b6000602082019050818103600083015261279d816124ef565b9050919050565b600060208201905081810360008301526127bd81612512565b9050919050565b600060208201905081810360008301526127dd81612535565b9050919050565b600060208201905081810360008301526127fd81612558565b9050919050565b6000602082019050612819600083018461257b565b92915050565b600060a082019050612834600083018861257b565b61284160208301876123b2565b81810360408301526128538186612345565b90506128626060830185612336565b61286f608083018461257b565b9695505050505050565b600060208201905061288e600083018461258a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006128f482612a3c565b91506128ff83612a3c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561293457612933612a98565b5b828201905092915050565b600061294a82612a3c565b915061295583612a3c565b92508261296557612964612ac7565b5b828204905092915050565b600061297b82612a3c565b915061298683612a3c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129bf576129be612a98565b5b828202905092915050565b60006129d582612a3c565b91506129e083612a3c565b9250828210156129f3576129f2612a98565b5b828203905092915050565b6000612a0982612a1c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612a5e82612a3c565b9050919050565b60005b83811015612a83578082015181840152602081019050612a68565b83811115612a92576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f52617465206d757374206265206e6f6e2d6e6567617469766500000000000000600082015250565b612ddd816129fe565b8114612de857600080fd5b50565b612df481612a10565b8114612dff57600080fd5b50565b612e0b81612a3c565b8114612e1657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202b2b9a6d54fd8a2bc8848d8e2bfe5060162f8f0deb1d733d9cf06cee41468e8564736f6c63430008040033

Deployed Bytecode Sourcemap

3211:7871:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4429:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5193:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4670:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5346:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4591:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9114:169;;;;;;;;;;;;;:::i;:::-;;4763:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2402:169;;;;;;;;;;;;;:::i;:::-;;2186:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10769:75;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4508:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4897:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6194:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7581:567;;;;;;;;;;;;;:::i;:::-;;5054:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9288:168;;;;;;;;;;;;;:::i;:::-;;4429:74;4466:13;4493:5;;;;;;;;;;;;;;;;;4486:12;;4429:74;:::o;5193:146::-;5268:4;5279:39;5288:12;:10;:12::i;:::-;5302:7;5311:6;5279:8;:39::i;:::-;5330:4;5323:11;;5193:146;;;;:::o;4670:88::-;4725:7;4746;;4739:14;;4670:88;:::o;5346:292::-;5444:4;5455:36;5465:6;5473:9;5484:6;5455:9;:36::i;:::-;5496:121;5505:6;5513:12;:10;:12::i;:::-;5527:89;5565:6;5527:89;;;;;;;;;;;;;;;;;:11;:19;5539:6;5527:19;;;;;;;;;;;;;;;:33;5547:12;:10;:12::i;:::-;5527:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5496:8;:121::i;:::-;5629:4;5622:11;;5346:292;;;;;:::o;4591:74::-;4632:5;4591:74;:::o;9114:169::-;9174:10;;;;;;;;;;;9158:26;;:12;:10;:12::i;:::-;:26;;;9150:35;;;;;;9190:23;9216:24;9234:4;9216:9;:24::i;:::-;9190:50;;9245:33;9262:15;9245:16;:33::i;:::-;9114:169;:::o;4763:129::-;4829:7;4850:37;4870:7;:16;4878:7;4870:16;;;;;;;;;;;;;;;;4850:19;:37::i;:::-;4843:44;;4763:129;;;:::o;2402:169::-;2305:12;:10;:12::i;:::-;2295:22;;:6;;;;;;;;;;:22;;;:54;;;;2337:12;:10;:12::i;:::-;2321:28;;:14;;;;;;;;;;;:28;;;2295:54;2287:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;2503:6:::1;2466:45;;2487:6;::::0;::::1;;;;;;;;2466:45;;;;;;;;;;;;2531:6;::::0;::::1;;;;;;;;2516:14;;:21;;;;;;;;;;;;;;;;;;2559:6;2542;::::0;:24:::1;;;;;;;;;;;;;;;;;;2402:169::o:0;2186:70::-;2224:7;2245:6;;;;;;;;;;;2238:13;;2186:70;:::o;10769:75::-;2305:12;:10;:12::i;:::-;2295:22;;:6;;;;;;;;;;:22;;;:54;;;;2337:12;:10;:12::i;:::-;2321:28;;:14;;;;;;;;;;;:28;;;2295:54;2287:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;10835:4:::1;10827:5;:12;;;;10769:75:::0;:::o;4508:78::-;4547:13;4574:7;;;;;;;;;;;;;;;;;4567:14;;4508:78;:::o;4897:152::-;4975:4;4986:42;4996:12;:10;:12::i;:::-;5010:9;5021:6;4986:9;:42::i;:::-;5040:4;5033:11;;4897:152;;;;:::o;6194:122::-;2305:12;:10;:12::i;:::-;2295:22;;:6;;;;;;;;;;:22;;;:54;;;;2337:12;:10;:12::i;:::-;2321:28;;:14;;;;;;;;;;;:28;;;2295:54;2287:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;6262:1:::1;6256:4;:7;;6248:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;6307:4;6298:8;:13;;;;6194:122:::0;:::o;7581:567::-;2305:12;:10;:12::i;:::-;2295:22;;:6;;;;;;;;;;:22;;;:54;;;;2337:12;:10;:12::i;:::-;2321:28;;:14;;;;;;;;;;;:28;;;2295:54;2287:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;7639:11:::1;;;;;;;;;;;7638:12;7630:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7683:58;7700:4;7715:15;;;;;;;;;;;7733:7;;7683:8;:58::i;:::-;7780:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7762:55;;;7826:4;7833:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7762:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7746:13;;:110;;;;;;;;;;;;;;;;;;7861:15;;;;;;;;;;;:31;;;7901:21;7932:4;7939:24;7957:4;7939:9;:24::i;:::-;7965:1;7968::::0;7971:7:::1;:5;:7::i;:::-;7980:15;7861:135;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8015:4;8001:11;;:18;;;;;;;;;;;;;;;;;;8032:11;8024:5;:19;;;;8063:4;8049:11;;:18;;;;;;;;;;;;;;;;;;8079:13;;;;;;;;;;;8072:29;;;8110:15;;;;;;;;;;;8128:14;8072:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7581:567::o:0;5054:134::-;5135:7;5156:11;:18;5168:5;5156:18;;;;;;;;;;;;;;;:27;5175:7;5156:27;;;;;;;;;;;;;;;;5149:34;;5054:134;;;;:::o;9288:168::-;9348:10;;;;;;;;;;;9332:26;;:12;:10;:12::i;:::-;:26;;;9324:35;;;;;;9364:26;9393:21;9364:50;;9419:32;9432:18;9419:12;:32::i;:::-;9288:168;:::o;118:89::-;171:7;192:10;185:17;;118:89;:::o;5881:308::-;5985:1;5968:19;;:5;:19;;;;5960:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6060:1;6041:21;;:7;:21;;;;6033:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6136:6;6106:11;:18;6118:5;6106:18;;;;;;;;;;;;;;;:27;6125:7;6106:27;;;;;;;;;;;;;;;:36;;;;6168:7;6152:32;;6161:5;6152:32;;;6177:6;6152:32;;;;;;:::i;:::-;;;;;;;;5881:308;;;:::o;6321:789::-;6419:1;6403:18;;:4;:18;;;;6395:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6490:1;6476:16;;:2;:16;;;;6468:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6554:1;6545:6;:10;6537:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6620:7;:5;:7::i;:::-;6612:15;;:4;:15;;;;:32;;;;;6637:7;:5;:7::i;:::-;6631:13;;:2;:13;;;;6612:32;6608:461;;;6662:13;;;;;;;;;;;6656:19;;:2;:19;;;:55;;;;;6695:15;;;;;;;;;;;6679:32;;:4;:32;;;;6656:55;6652:99;;;6738:5;;6728:6;:15;;6720:24;;;;;;6652:99;6756:28;6787:24;6805:4;6787:9;:24::i;:::-;6756:55;;6822:6;;;;;;;;;;;6821:7;:32;;;;;6840:13;;;;;;;;;;;6832:21;;:4;:21;;;;6821:32;:47;;;;;6857:11;;;;;;;;;;;6821:47;6817:247;;;6877:38;6894:20;6877:16;:38::i;:::-;6922:26;6951:21;6922:50;;7004:1;6983:18;:22;6979:79;;;7015:35;7028:21;7015:12;:35::i;:::-;6979:79;6817:247;;6608:461;;7073:32;7088:4;7094:2;7098:6;7073:14;:32::i;:::-;6321:789;;;:::o;1183:169::-;1269:7;1296:1;1291;:6;;1299:12;1283:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1317:9;1333:1;1329;:5;;;;:::i;:::-;1317:17;;1346:1;1339:8;;;1183:169;;;;;:::o;7115:373::-;4082:4;4073:6;;:13;;;;;;;;;;;;;;;;;;7187:21:::1;7225:1;7211:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7187:40;;7250:4;7232;7237:1;7232:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;7270:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7260:4;7265:1;7260:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;7297:62;7314:4;7329:15;;;;;;;;;;;7347:11;7297:8;:62::i;:::-;7364:15;;;;;;;;;;;:66;;;7431:11;7444:1;7447:4;7460;7467:15;7364:119;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4091:1;4106:5:::0;4097:6;;:14;;;;;;;;;;;;;;;;;;7115:373;:::o;5643:233::-;5711:7;5744;;5733;:18;;5725:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5803:19;5825:10;:8;:10::i;:::-;5803:32;;5847:24;5859:11;5847:7;:11;;:24;;;;:::i;:::-;5840:31;;;5643:233;;;:::o;7493:83::-;7544:10;;;;;;;;;;;:19;;:27;7564:6;7544:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7493:83;:::o;8153:137::-;8241:44;8259:6;8267:9;8278:6;8241:17;:44::i;:::-;8153:137;;;:::o;10617:149::-;10659:7;10674:15;10691;10710:19;:17;:19::i;:::-;10673:56;;;;10741:20;10753:7;10741;:11;;:20;;;;:::i;:::-;10734:27;;;;10617:149;:::o;1566:123::-;1624:7;1645:39;1649:1;1652;1645:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1638:46;;1566:123;;;;:::o;8295:448::-;8388:15;8405:23;8430:12;8444:23;8469:12;8483:13;8500:19;8511:7;8500:10;:19::i;:::-;8387:132;;;;;;;;;;;;8542:28;8562:7;8542;:15;8550:6;8542:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8524:7;:15;8532:6;8524:15;;;;;;;;;;;;;;;:46;;;;8596:39;8619:15;8596:7;:18;8604:9;8596:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8575:7;:18;8583:9;8575:18;;;;;;;;;;;;;;;:60;;;;8640:16;8650:5;8640:9;:16::i;:::-;8661:23;8673:4;8679;8661:11;:23::i;:::-;8711:9;8694:44;;8703:6;8694:44;;;8722:15;8694:44;;;;;;:::i;:::-;;;;;;;;8295:448;;;;;;;;;:::o;10849:230::-;10900:7;10909;10923:15;10941:7;;10923:25;;10953:15;10971:7;;10953:25;;10997:20;11009:7;;10997;;:11;;:20;;;;:::i;:::-;10987:7;:30;10983:61;;;11027:7;;11036;;11019:25;;;;;;;;10983:61;11057:7;11066;11049:25;;;;;;10849:230;;;:::o;1694:168::-;1780:7;1806:1;1802;:5;1809:12;1794:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1827:9;1843:1;1839;:5;;;;:::i;:::-;1827:17;;1856:1;1849:8;;;1694:168;;;;;:::o;9461:441::-;9520:7;9529;9538;9547;9556;9565;9580:23;9605:12;9619:13;9636:40;9648:7;9657:8;;9667;;9636:11;:40::i;:::-;9579:97;;;;;;9681:19;9703:10;:8;:10::i;:::-;9681:32;;9719:15;9736:23;9761:12;9777:46;9789:7;9798:4;9804:5;9811:11;9777;:46::i;:::-;9718:105;;;;;;9836:7;9845:15;9862:4;9868:15;9885:4;9891:5;9828:69;;;;;;;;;;;;;;;;;;;9461:441;;;;;;;:::o;1051:127::-;1109:7;1130:43;1134:1;1137;1130:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1123:50;;1051:127;;;;:::o;888:158::-;946:7;960:9;976:1;972;:5;;;;:::i;:::-;960:17;;995:1;990;:6;;982:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1040:1;1033:8;;;888:158;;;;:::o;8748:190::-;8795:19;8817:10;:8;:10::i;:::-;8795:32;;8832:13;8848:22;8858:11;8848:5;:9;;:22;;;;:::i;:::-;8832:38;;8900:33;8927:5;8900:7;:22;8916:4;8900:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8875:7;:22;8891:4;8875:22;;;;;;;;;;;;;;;:58;;;;8748:190;;;:::o;8943:132::-;9015:17;9027:4;9015:7;;:11;;:17;;;;:::i;:::-;9005:7;:27;;;;9050:20;9065:4;9050:10;;:14;;:20;;;;:::i;:::-;9037:10;:33;;;;8943:132;;:::o;9907:324::-;10000:7;10009;10018;10032:12;10047:28;10071:3;10047:19;10059:6;10047:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;10032:43;;10080:13;10096:29;10121:3;10096:20;10108:7;10096;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;10080:45;;10130:23;10156:28;10178:5;10156:17;10168:4;10156:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10130:54;;10197:15;10214:4;10220:5;10189:37;;;;;;;;;9907:324;;;;;;;:::o;10236:376::-;10346:7;10355;10364;10378:15;10396:24;10408:11;10396:7;:11;;:24;;;;:::i;:::-;10378:42;;10425:12;10440:21;10449:11;10440:4;:8;;:21;;;;:::i;:::-;10425:36;;10466:13;10482:22;10492:11;10482:5;:9;;:22;;;;:::i;:::-;10466:38;;10509:23;10535:28;10557:5;10535:17;10547:4;10535:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10509:54;;10576:7;10585:15;10602:4;10568:39;;;;;;;;;;10236:376;;;;;;;;:::o;1357:204::-;1415:7;1438:1;1433;:6;1429:32;;;1454:1;1447:8;;;;1429:32;1465:9;1481:1;1477;:5;;;;:::i;:::-;1465:17;;1504:1;1499;1495;:5;;;;:::i;:::-;:10;1487:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1555:1;1548:8;;;1357:204;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;361:77;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;496:87;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;652:80;;;;:::o;738:262::-;797:6;846:2;834:9;825:7;821:23;817:32;814:2;;;862:1;859;852:12;814:2;905:1;930:53;975:7;966:6;955:9;951:22;930:53;:::i;:::-;920:63;;876:117;804:196;;;;:::o;1006:284::-;1076:6;1125:2;1113:9;1104:7;1100:23;1096:32;1093:2;;;1141:1;1138;1131:12;1093:2;1184:1;1209:64;1265:7;1256:6;1245:9;1241:22;1209:64;:::i;:::-;1199:74;;1155:128;1083:207;;;;:::o;1296:407::-;1364:6;1372;1421:2;1409:9;1400:7;1396:23;1392:32;1389:2;;;1437:1;1434;1427:12;1389:2;1480:1;1505:53;1550:7;1541:6;1530:9;1526:22;1505:53;:::i;:::-;1495:63;;1451:117;1607:2;1633:53;1678:7;1669:6;1658:9;1654:22;1633:53;:::i;:::-;1623:63;;1578:118;1379:324;;;;;:::o;1709:552::-;1786:6;1794;1802;1851:2;1839:9;1830:7;1826:23;1822:32;1819:2;;;1867:1;1864;1857:12;1819:2;1910:1;1935:53;1980:7;1971:6;1960:9;1956:22;1935:53;:::i;:::-;1925:63;;1881:117;2037:2;2063:53;2108:7;2099:6;2088:9;2084:22;2063:53;:::i;:::-;2053:63;;2008:118;2165:2;2191:53;2236:7;2227:6;2216:9;2212:22;2191:53;:::i;:::-;2181:63;;2136:118;1809:452;;;;;:::o;2267:407::-;2335:6;2343;2392:2;2380:9;2371:7;2367:23;2363:32;2360:2;;;2408:1;2405;2398:12;2360:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2578:2;2604:53;2649:7;2640:6;2629:9;2625:22;2604:53;:::i;:::-;2594:63;;2549:118;2350:324;;;;;:::o;2680:278::-;2747:6;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2855:1;2880:61;2933:7;2924:6;2913:9;2909:22;2880:61;:::i;:::-;2870:71;;2826:125;2754:204;;;;:::o;2964:262::-;3023:6;3072:2;3060:9;3051:7;3047:23;3043:32;3040:2;;;3088:1;3085;3078:12;3040:2;3131:1;3156:53;3201:7;3192:6;3181:9;3177:22;3156:53;:::i;:::-;3146:63;;3102:117;3030:196;;;;:::o;3232:596::-;3320:6;3328;3336;3385:2;3373:9;3364:7;3360:23;3356:32;3353:2;;;3401:1;3398;3391:12;3353:2;3444:1;3469:64;3525:7;3516:6;3505:9;3501:22;3469:64;:::i;:::-;3459:74;;3415:128;3582:2;3608:64;3664:7;3655:6;3644:9;3640:22;3608:64;:::i;:::-;3598:74;;3553:129;3721:2;3747:64;3803:7;3794:6;3783:9;3779:22;3747:64;:::i;:::-;3737:74;;3692:129;3343:485;;;;;:::o;3834:179::-;3903:10;3924:46;3966:3;3958:6;3924:46;:::i;:::-;4002:4;3997:3;3993:14;3979:28;;3914:99;;;;:::o;4019:108::-;4096:24;4114:5;4096:24;:::i;:::-;4091:3;4084:37;4074:53;;:::o;4133:118::-;4220:24;4238:5;4220:24;:::i;:::-;4215:3;4208:37;4198:53;;:::o;4287:732::-;4406:3;4435:54;4483:5;4435:54;:::i;:::-;4505:86;4584:6;4579:3;4505:86;:::i;:::-;4498:93;;4615:56;4665:5;4615:56;:::i;:::-;4694:7;4725:1;4710:284;4735:6;4732:1;4729:13;4710:284;;;4811:6;4805:13;4838:63;4897:3;4882:13;4838:63;:::i;:::-;4831:70;;4924:60;4977:6;4924:60;:::i;:::-;4914:70;;4770:224;4757:1;4754;4750:9;4745:14;;4710:284;;;4714:14;5010:3;5003:10;;4411:608;;;;;;;:::o;5025:109::-;5106:21;5121:5;5106:21;:::i;:::-;5101:3;5094:34;5084:50;;:::o;5140:147::-;5235:45;5274:5;5235:45;:::i;:::-;5230:3;5223:58;5213:74;;:::o;5293:364::-;5381:3;5409:39;5442:5;5409:39;:::i;:::-;5464:71;5528:6;5523:3;5464:71;:::i;:::-;5457:78;;5544:52;5589:6;5584:3;5577:4;5570:5;5566:16;5544:52;:::i;:::-;5621:29;5643:6;5621:29;:::i;:::-;5616:3;5612:39;5605:46;;5385:272;;;;;:::o;5663:366::-;5805:3;5826:67;5890:2;5885:3;5826:67;:::i;:::-;5819:74;;5902:93;5991:3;5902:93;:::i;:::-;6020:2;6015:3;6011:12;6004:19;;5809:220;;;:::o;6035:366::-;6177:3;6198:67;6262:2;6257:3;6198:67;:::i;:::-;6191:74;;6274:93;6363:3;6274:93;:::i;:::-;6392:2;6387:3;6383:12;6376:19;;6181:220;;;:::o;6407:366::-;6549:3;6570:67;6634:2;6629:3;6570:67;:::i;:::-;6563:74;;6646:93;6735:3;6646:93;:::i;:::-;6764:2;6759:3;6755:12;6748:19;;6553:220;;;:::o;6779:366::-;6921:3;6942:67;7006:2;7001:3;6942:67;:::i;:::-;6935:74;;7018:93;7107:3;7018:93;:::i;:::-;7136:2;7131:3;7127:12;7120:19;;6925:220;;;:::o;7151:366::-;7293:3;7314:67;7378:2;7373:3;7314:67;:::i;:::-;7307:74;;7390:93;7479:3;7390:93;:::i;:::-;7508:2;7503:3;7499:12;7492:19;;7297:220;;;:::o;7523:366::-;7665:3;7686:67;7750:2;7745:3;7686:67;:::i;:::-;7679:74;;7762:93;7851:3;7762:93;:::i;:::-;7880:2;7875:3;7871:12;7864:19;;7669:220;;;:::o;7895:366::-;8037:3;8058:67;8122:2;8117:3;8058:67;:::i;:::-;8051:74;;8134:93;8223:3;8134:93;:::i;:::-;8252:2;8247:3;8243:12;8236:19;;8041:220;;;:::o;8267:366::-;8409:3;8430:67;8494:2;8489:3;8430:67;:::i;:::-;8423:74;;8506:93;8595:3;8506:93;:::i;:::-;8624:2;8619:3;8615:12;8608:19;;8413:220;;;:::o;8639:366::-;8781:3;8802:67;8866:2;8861:3;8802:67;:::i;:::-;8795:74;;8878:93;8967:3;8878:93;:::i;:::-;8996:2;8991:3;8987:12;8980:19;;8785:220;;;:::o;9011:366::-;9153:3;9174:67;9238:2;9233:3;9174:67;:::i;:::-;9167:74;;9250:93;9339:3;9250:93;:::i;:::-;9368:2;9363:3;9359:12;9352:19;;9157:220;;;:::o;9383:366::-;9525:3;9546:67;9610:2;9605:3;9546:67;:::i;:::-;9539:74;;9622:93;9711:3;9622:93;:::i;:::-;9740:2;9735:3;9731:12;9724:19;;9529:220;;;:::o;9755:118::-;9842:24;9860:5;9842:24;:::i;:::-;9837:3;9830:37;9820:53;;:::o;9879:112::-;9962:22;9978:5;9962:22;:::i;:::-;9957:3;9950:35;9940:51;;:::o;9997:222::-;10090:4;10128:2;10117:9;10113:18;10105:26;;10141:71;10209:1;10198:9;10194:17;10185:6;10141:71;:::i;:::-;10095:124;;;;:::o;10225:332::-;10346:4;10384:2;10373:9;10369:18;10361:26;;10397:71;10465:1;10454:9;10450:17;10441:6;10397:71;:::i;:::-;10478:72;10546:2;10535:9;10531:18;10522:6;10478:72;:::i;:::-;10351:206;;;;;:::o;10563:332::-;10684:4;10722:2;10711:9;10707:18;10699:26;;10735:71;10803:1;10792:9;10788:17;10779:6;10735:71;:::i;:::-;10816:72;10884:2;10873:9;10869:18;10860:6;10816:72;:::i;:::-;10689:206;;;;;:::o;10901:807::-;11150:4;11188:3;11177:9;11173:19;11165:27;;11202:71;11270:1;11259:9;11255:17;11246:6;11202:71;:::i;:::-;11283:72;11351:2;11340:9;11336:18;11327:6;11283:72;:::i;:::-;11365:80;11441:2;11430:9;11426:18;11417:6;11365:80;:::i;:::-;11455;11531:2;11520:9;11516:18;11507:6;11455:80;:::i;:::-;11545:73;11613:3;11602:9;11598:19;11589:6;11545:73;:::i;:::-;11628;11696:3;11685:9;11681:19;11672:6;11628:73;:::i;:::-;11155:553;;;;;;;;;:::o;11714:210::-;11801:4;11839:2;11828:9;11824:18;11816:26;;11852:65;11914:1;11903:9;11899:17;11890:6;11852:65;:::i;:::-;11806:118;;;;:::o;11930:313::-;12043:4;12081:2;12070:9;12066:18;12058:26;;12130:9;12124:4;12120:20;12116:1;12105:9;12101:17;12094:47;12158:78;12231:4;12222:6;12158:78;:::i;:::-;12150:86;;12048:195;;;;:::o;12249:419::-;12415:4;12453:2;12442:9;12438:18;12430:26;;12502:9;12496:4;12492:20;12488:1;12477:9;12473:17;12466:47;12530:131;12656:4;12530:131;:::i;:::-;12522:139;;12420:248;;;:::o;12674:419::-;12840:4;12878:2;12867:9;12863:18;12855:26;;12927:9;12921:4;12917:20;12913:1;12902:9;12898:17;12891:47;12955:131;13081:4;12955:131;:::i;:::-;12947:139;;12845:248;;;:::o;13099:419::-;13265:4;13303:2;13292:9;13288:18;13280:26;;13352:9;13346:4;13342:20;13338:1;13327:9;13323:17;13316:47;13380:131;13506:4;13380:131;:::i;:::-;13372:139;;13270:248;;;:::o;13524:419::-;13690:4;13728:2;13717:9;13713:18;13705:26;;13777:9;13771:4;13767:20;13763:1;13752:9;13748:17;13741:47;13805:131;13931:4;13805:131;:::i;:::-;13797:139;;13695:248;;;:::o;13949:419::-;14115:4;14153:2;14142:9;14138:18;14130:26;;14202:9;14196:4;14192:20;14188:1;14177:9;14173:17;14166:47;14230:131;14356:4;14230:131;:::i;:::-;14222:139;;14120:248;;;:::o;14374:419::-;14540:4;14578:2;14567:9;14563:18;14555:26;;14627:9;14621:4;14617:20;14613:1;14602:9;14598:17;14591:47;14655:131;14781:4;14655:131;:::i;:::-;14647:139;;14545:248;;;:::o;14799:419::-;14965:4;15003:2;14992:9;14988:18;14980:26;;15052:9;15046:4;15042:20;15038:1;15027:9;15023:17;15016:47;15080:131;15206:4;15080:131;:::i;:::-;15072:139;;14970:248;;;:::o;15224:419::-;15390:4;15428:2;15417:9;15413:18;15405:26;;15477:9;15471:4;15467:20;15463:1;15452:9;15448:17;15441:47;15505:131;15631:4;15505:131;:::i;:::-;15497:139;;15395:248;;;:::o;15649:419::-;15815:4;15853:2;15842:9;15838:18;15830:26;;15902:9;15896:4;15892:20;15888:1;15877:9;15873:17;15866:47;15930:131;16056:4;15930:131;:::i;:::-;15922:139;;15820:248;;;:::o;16074:419::-;16240:4;16278:2;16267:9;16263:18;16255:26;;16327:9;16321:4;16317:20;16313:1;16302:9;16298:17;16291:47;16355:131;16481:4;16355:131;:::i;:::-;16347:139;;16245:248;;;:::o;16499:419::-;16665:4;16703:2;16692:9;16688:18;16680:26;;16752:9;16746:4;16742:20;16738:1;16727:9;16723:17;16716:47;16780:131;16906:4;16780:131;:::i;:::-;16772:139;;16670:248;;;:::o;16924:222::-;17017:4;17055:2;17044:9;17040:18;17032:26;;17068:71;17136:1;17125:9;17121:17;17112:6;17068:71;:::i;:::-;17022:124;;;;:::o;17152:831::-;17415:4;17453:3;17442:9;17438:19;17430:27;;17467:71;17535:1;17524:9;17520:17;17511:6;17467:71;:::i;:::-;17548:80;17624:2;17613:9;17609:18;17600:6;17548:80;:::i;:::-;17675:9;17669:4;17665:20;17660:2;17649:9;17645:18;17638:48;17703:108;17806:4;17797:6;17703:108;:::i;:::-;17695:116;;17821:72;17889:2;17878:9;17874:18;17865:6;17821:72;:::i;:::-;17903:73;17971:3;17960:9;17956:19;17947:6;17903:73;:::i;:::-;17420:563;;;;;;;;:::o;17989:214::-;18078:4;18116:2;18105:9;18101:18;18093:26;;18129:67;18193:1;18182:9;18178:17;18169:6;18129:67;:::i;:::-;18083:120;;;;:::o;18209:132::-;18276:4;18299:3;18291:11;;18329:4;18324:3;18320:14;18312:22;;18281:60;;;:::o;18347:114::-;18414:6;18448:5;18442:12;18432:22;;18421:40;;;:::o;18467:99::-;18519:6;18553:5;18547:12;18537:22;;18526:40;;;:::o;18572:113::-;18642:4;18674;18669:3;18665:14;18657:22;;18647:38;;;:::o;18691:184::-;18790:11;18824:6;18819:3;18812:19;18864:4;18859:3;18855:14;18840:29;;18802:73;;;;:::o;18881:169::-;18965:11;18999:6;18994:3;18987:19;19039:4;19034:3;19030:14;19015:29;;18977:73;;;;:::o;19056:305::-;19096:3;19115:20;19133:1;19115:20;:::i;:::-;19110:25;;19149:20;19167:1;19149:20;:::i;:::-;19144:25;;19303:1;19235:66;19231:74;19228:1;19225:81;19222:2;;;19309:18;;:::i;:::-;19222:2;19353:1;19350;19346:9;19339:16;;19100:261;;;;:::o;19367:185::-;19407:1;19424:20;19442:1;19424:20;:::i;:::-;19419:25;;19458:20;19476:1;19458:20;:::i;:::-;19453:25;;19497:1;19487:2;;19502:18;;:::i;:::-;19487:2;19544:1;19541;19537:9;19532:14;;19409:143;;;;:::o;19558:348::-;19598:7;19621:20;19639:1;19621:20;:::i;:::-;19616:25;;19655:20;19673:1;19655:20;:::i;:::-;19650:25;;19843:1;19775:66;19771:74;19768:1;19765:81;19760:1;19753:9;19746:17;19742:105;19739:2;;;19850:18;;:::i;:::-;19739:2;19898:1;19895;19891:9;19880:20;;19606:300;;;;:::o;19912:191::-;19952:4;19972:20;19990:1;19972:20;:::i;:::-;19967:25;;20006:20;20024:1;20006:20;:::i;:::-;20001:25;;20045:1;20042;20039:8;20036:2;;;20050:18;;:::i;:::-;20036:2;20095:1;20092;20088:9;20080:17;;19957:146;;;;:::o;20109:96::-;20146:7;20175:24;20193:5;20175:24;:::i;:::-;20164:35;;20154:51;;;:::o;20211:90::-;20245:7;20288:5;20281:13;20274:21;20263:32;;20253:48;;;:::o;20307:126::-;20344:7;20384:42;20377:5;20373:54;20362:65;;20352:81;;;:::o;20439:77::-;20476:7;20505:5;20494:16;;20484:32;;;:::o;20522:86::-;20557:7;20597:4;20590:5;20586:16;20575:27;;20565:43;;;:::o;20614:121::-;20672:9;20705:24;20723:5;20705:24;:::i;:::-;20692:37;;20682:53;;;:::o;20741:307::-;20809:1;20819:113;20833:6;20830:1;20827:13;20819:113;;;20918:1;20913:3;20909:11;20903:18;20899:1;20894:3;20890:11;20883:39;20855:2;20852:1;20848:10;20843:15;;20819:113;;;20950:6;20947:1;20944:13;20941:2;;;21030:1;21021:6;21016:3;21012:16;21005:27;20941:2;20790:258;;;;:::o;21054:180::-;21102:77;21099:1;21092:88;21199:4;21196:1;21189:15;21223:4;21220:1;21213:15;21240:180;21288:77;21285:1;21278:88;21385:4;21382:1;21375:15;21409:4;21406:1;21399:15;21426:102;21467:6;21518:2;21514:7;21509:2;21502:5;21498:14;21494:28;21484:38;;21474:54;;;:::o;21534:222::-;21674:34;21670:1;21662:6;21658:14;21651:58;21743:5;21738:2;21730:6;21726:15;21719:30;21640:116;:::o;21762:229::-;21902:34;21898:1;21890:6;21886:14;21879:58;21971:12;21966:2;21958:6;21954:15;21947:37;21868:123;:::o;21997:221::-;22137:34;22133:1;22125:6;22121:14;22114:58;22206:4;22201:2;22193:6;22189:15;22182:29;22103:115;:::o;22224:173::-;22364:25;22360:1;22352:6;22348:14;22341:49;22330:67;:::o;22403:177::-;22543:29;22539:1;22531:6;22527:14;22520:53;22509:71;:::o;22586:220::-;22726:34;22722:1;22714:6;22710:14;22703:58;22795:3;22790:2;22782:6;22778:15;22771:28;22692:114;:::o;22812:182::-;22952:34;22948:1;22940:6;22936:14;22929:58;22918:76;:::o;23000:228::-;23140:34;23136:1;23128:6;23124:14;23117:58;23209:11;23204:2;23196:6;23192:15;23185:36;23106:122;:::o;23234:224::-;23374:34;23370:1;23362:6;23358:14;23351:58;23443:7;23438:2;23430:6;23426:15;23419:32;23340:118;:::o;23464:223::-;23604:34;23600:1;23592:6;23588:14;23581:58;23673:6;23668:2;23660:6;23656:15;23649:31;23570:117;:::o;23693:175::-;23833:27;23829:1;23821:6;23817:14;23810:51;23799:69;:::o;23874:122::-;23947:24;23965:5;23947:24;:::i;:::-;23940:5;23937:35;23927:2;;23986:1;23983;23976:12;23927:2;23917:79;:::o;24002:116::-;24072:21;24087:5;24072:21;:::i;:::-;24065:5;24062:32;24052:2;;24108:1;24105;24098:12;24052:2;24042:76;:::o;24124:122::-;24197:24;24215:5;24197:24;:::i;:::-;24190:5;24187:35;24177:2;;24236:1;24233;24226:12;24177:2;24167:79;:::o

Swarm Source

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