ETH Price: $3,098.14 (+1.00%)
Gas: 17 Gwei

Token

Thor (THOR)
 

Overview

Max Total Supply

1,000,000,000 THOR

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
26,740,090 THOR

Value
$0.00
0x986197976053a7664dfabec213b66ad3ec3109c6
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:
Thor

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
// Telegram: t.me/ThorTokenEth
pragma solidity ^0.8.4;


uint256 constant TOTAL_SUPPLY = 1000000000;
string constant TOKEN_NAME = "Thor";
string constant TOKEN_SYMBOL = "THOR";
uint256 constant INITIAL_TAX=8;

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

interface IERC20 {
	function totalSupply() external view returns (uint256);
	function balanceOf(address account) external view returns (uint256);
	function transfer(address recipient, uint256 amount) external returns (bool);
	function allowance(address owner, address spender) external view returns (uint256);
	function approve(address spender, uint256 amount) external returns (bool);
	function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
	event Transfer(address indexed from, address indexed to, uint256 value);
	event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

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

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

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

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

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

contract Ownable is Context {
	address private _owner;

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

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

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

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

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

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

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

contract Thor 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 _tTotal = TOTAL_SUPPLY;
	uint256 private _rTotal = (MAX - (MAX % _tTotal));
	uint256 private _tFeeTotal;
	uint256 private _rateLimit=TOTAL_SUPPLY;
	uint256 private _tax=INITIAL_TAX;
	address payable private _taxWallet;

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

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

	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_rOwned[_msgSender()] = _rTotal;
		_taxWallet=payable(_msgSender());
		emit Transfer(address(0), _msgSender(), _tTotal);
	}

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

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

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

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

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

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

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

	function allowance(address 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");

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

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

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

	function _getRate() private view returns (uint256) {
		(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
		return rSupply.div(tSupply);
	}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldie","type":"address"},{"indexed":true,"internalType":"address","name":"newbie","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052633b9aca006003556003546000196200001e919062000325565b6000196200002d9190620002e0565b600455633b9aca006006556008600755737a250d5630b4cf539739df2c5dacb4c659f2488d600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a60156101000a81548160ff0219169083151502179055506000600a60166101000a81548160ff021916908315150217905550348015620000d557600080fd5b506000620000e8620002aa60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600454600160006200019d620002aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001eb620002aa60201b60201c565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200023b620002aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516200029c9190620002c3565b60405180910390a3620003bb565b600033905090565b620002bd816200031b565b82525050565b6000602082019050620002da6000830184620002b2565b92915050565b6000620002ed826200031b565b9150620002fa836200031b565b92508282101562000310576200030f6200035d565b5b828203905092915050565b6000819050919050565b600062000332826200031b565b91506200033f836200031b565b9250826200035257620003516200038c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61298f80620003cb6000396000f3fe6080604052600436106100ec5760003560e01c806370a082311161008a57806399c8d5561161005957806399c8d556146102cb578063a9059cbb146102f6578063dd62ed3e14610333578063f429389014610370576100f3565b806370a0823114610221578063715018a61461025e5780638da5cb5b1461027557806395d89b41146102a0576100f3565b806323b872dd116100c657806323b872dd1461018b578063293230b8146101c8578063313ce567146101df57806351bc3c851461020a576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610387565b60405161011a9190612180565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190611d70565b6103c4565b6040516101579190612165565b60405180910390f35b34801561016c57600080fd5b506101756103e2565b60405161018291906122e2565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad9190611d1d565b6103ec565b6040516101bf9190612165565b60405180910390f35b3480156101d457600080fd5b506101dd6104c5565b005b3480156101eb57600080fd5b506101f46109d9565b6040516102019190612357565b60405180910390f35b34801561021657600080fd5b5061021f6109de565b005b34801561022d57600080fd5b5061024860048036038101906102439190611c83565b610a58565b60405161025591906122e2565b60405180910390f35b34801561026a57600080fd5b50610273610aa9565b005b34801561028157600080fd5b5061028a610bfc565b6040516102979190612097565b60405180910390f35b3480156102ac57600080fd5b506102b5610c25565b6040516102c29190612180565b60405180910390f35b3480156102d757600080fd5b506102e0610c62565b6040516102ed91906122e2565b60405180910390f35b34801561030257600080fd5b5061031d60048036038101906103189190611d70565b610c6c565b60405161032a9190612165565b60405180910390f35b34801561033f57600080fd5b5061035a60048036038101906103559190611cdd565b610c8a565b60405161036791906122e2565b60405180910390f35b34801561037c57600080fd5b50610385610d11565b005b60606040518060400160405280600481526020017f54686f7200000000000000000000000000000000000000000000000000000000815250905090565b60006103d86103d1610d83565b8484610d8b565b6001905092915050565b6000600354905090565b60006103f9848484610f56565b6104ba84610405610d83565b6104b58560405180606001604052806028815260200161293260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061046b610d83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111b89092919063ffffffff16565b610d8b565b600190509392505050565b6104cd610d83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461055a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055190612262565b60405180910390fd5b600a60149054906101000a900460ff16156105aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a190612202565b60405180910390fd5b6105d930600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600354610d8b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561064157600080fd5b505afa158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190611cb0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106fd57600080fd5b505afa158015610711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107359190611cb0565b6040518363ffffffff1660e01b81526004016107529291906120b2565b602060405180830381600087803b15801561076c57600080fd5b505af1158015610780573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a49190611cb0565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061082d30610a58565b600080610838610bfc565b426040518863ffffffff1660e01b815260040161085a96959493929190612104565b6060604051808303818588803b15801561087357600080fd5b505af1158015610887573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108ac9190611ddd565b5050506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109849291906120db565b602060405180830381600087803b15801561099e57600080fd5b505af11580156109b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d69190611db0565b50565b600090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a1f610d83565b73ffffffffffffffffffffffffffffffffffffffff1614610a3f57600080fd5b6000610a4a30610a58565b9050610a558161121c565b50565b6000610aa2600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114a4565b9050919050565b610ab1610d83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3590612262565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f54484f5200000000000000000000000000000000000000000000000000000000815250905090565b6000600754905090565b6000610c80610c79610d83565b8484610f56565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d52610d83565b73ffffffffffffffffffffffffffffffffffffffff1614610d7257600080fd5b6000479050610d8081611512565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df2906122c2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e62906121e2565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f4991906122e2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbd906122a2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d906121a2565b60405180910390fd5b60008111611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107090612282565b60405180910390fd5b611081610bfc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110ef57506110bf610bfc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156111a857600a60159054906101000a900460ff1615801561115f5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111775750600a60169054906101000a900460ff165b156111a75761118d61118830610a58565b61121c565b600047905060008111156111a5576111a447611512565b5b505b5b6111b383838361157e565b505050565b6000838311158290611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f79190612180565b60405180910390fd5b506000838561120f91906124a8565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561125457611253612603565b5b6040519080825280602002602001820160405280156112825781602001602082028036833780820191505090505b509050308160008151811061129a576112996125d4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561133c57600080fd5b505afa158015611350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113749190611cb0565b81600181518110611388576113876125d4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506113ef30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d8b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016114539594939291906122fd565b600060405180830381600087803b15801561146d57600080fd5b505af1158015611481573d6000803e3d6000fd5b50505050506000600a60156101000a81548160ff02191690831515021790555050565b60006004548211156114eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e2906121c2565b60405180910390fd5b60006114f561158e565b905061150a81846115b990919063ffffffff16565b915050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561157a573d6000803e3d6000fd5b5050565b611589838383611603565b505050565b600080600061159b6117ce565b915091506115b281836115b990919063ffffffff16565b9250505090565b60006115fb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061181b565b905092915050565b6000806000806000806116158761187e565b95509550955095509550955061167386600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e390919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061170885600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192d90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117548161198b565b61175e8483611a48565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516117bb91906122e2565b60405180910390a3505050505050505050565b60008060006004549050600060035490506117f66003546004546115b990919063ffffffff16565b82101561180e57600454600354935093505050611817565b81819350935050505b9091565b60008083118290611862576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118599190612180565b60405180910390fd5b5060008385611871919061241d565b9050809150509392505050565b60008060008060008060008060006118988a600754611a82565b92509250925060006118a861158e565b905060008060006118bb8e878787611b16565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061192583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111b8565b905092915050565b600080828461193c91906123c7565b905083811015611981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197890612222565b60405180910390fd5b8091505092915050565b600061199561158e565b905060006119ac8284611b9f90919063ffffffff16565b9050611a0081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611a5d826004546118e390919063ffffffff16565b600481905550611a788160055461192d90919063ffffffff16565b6005819055505050565b600080600080611aae6064611aa08789611b9f90919063ffffffff16565b6115b990919063ffffffff16565b90506000611ad86064611aca888a611b9f90919063ffffffff16565b6115b990919063ffffffff16565b90506000611b0182611af3858b6118e390919063ffffffff16565b6118e390919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611b2f8589611b9f90919063ffffffff16565b90506000611b468689611b9f90919063ffffffff16565b90506000611b5d8789611b9f90919063ffffffff16565b90506000611b8682611b7885876118e390919063ffffffff16565b6118e390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611bb25760009050611c14565b60008284611bc0919061244e565b9050828482611bcf919061241d565b14611c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0690612242565b60405180910390fd5b809150505b92915050565b600081359050611c29816128ec565b92915050565b600081519050611c3e816128ec565b92915050565b600081519050611c5381612903565b92915050565b600081359050611c688161291a565b92915050565b600081519050611c7d8161291a565b92915050565b600060208284031215611c9957611c98612632565b5b6000611ca784828501611c1a565b91505092915050565b600060208284031215611cc657611cc5612632565b5b6000611cd484828501611c2f565b91505092915050565b60008060408385031215611cf457611cf3612632565b5b6000611d0285828601611c1a565b9250506020611d1385828601611c1a565b9150509250929050565b600080600060608486031215611d3657611d35612632565b5b6000611d4486828701611c1a565b9350506020611d5586828701611c1a565b9250506040611d6686828701611c59565b9150509250925092565b60008060408385031215611d8757611d86612632565b5b6000611d9585828601611c1a565b9250506020611da685828601611c59565b9150509250929050565b600060208284031215611dc657611dc5612632565b5b6000611dd484828501611c44565b91505092915050565b600080600060608486031215611df657611df5612632565b5b6000611e0486828701611c6e565b9350506020611e1586828701611c6e565b9250506040611e2686828701611c6e565b9150509250925092565b6000611e3c8383611e48565b60208301905092915050565b611e51816124dc565b82525050565b611e60816124dc565b82525050565b6000611e7182612382565b611e7b81856123a5565b9350611e8683612372565b8060005b83811015611eb7578151611e9e8882611e30565b9750611ea983612398565b925050600181019050611e8a565b5085935050505092915050565b611ecd816124ee565b82525050565b611edc81612531565b82525050565b6000611eed8261238d565b611ef781856123b6565b9350611f07818560208601612543565b611f1081612637565b840191505092915050565b6000611f286023836123b6565b9150611f3382612648565b604082019050919050565b6000611f4b602a836123b6565b9150611f5682612697565b604082019050919050565b6000611f6e6022836123b6565b9150611f79826126e6565b604082019050919050565b6000611f916017836123b6565b9150611f9c82612735565b602082019050919050565b6000611fb4601b836123b6565b9150611fbf8261275e565b602082019050919050565b6000611fd76021836123b6565b9150611fe282612787565b604082019050919050565b6000611ffa6020836123b6565b9150612005826127d6565b602082019050919050565b600061201d6029836123b6565b9150612028826127ff565b604082019050919050565b60006120406025836123b6565b915061204b8261284e565b604082019050919050565b60006120636024836123b6565b915061206e8261289d565b604082019050919050565b6120828161251a565b82525050565b61209181612524565b82525050565b60006020820190506120ac6000830184611e57565b92915050565b60006040820190506120c76000830185611e57565b6120d46020830184611e57565b9392505050565b60006040820190506120f06000830185611e57565b6120fd6020830184612079565b9392505050565b600060c0820190506121196000830189611e57565b6121266020830188612079565b6121336040830187611ed3565b6121406060830186611ed3565b61214d6080830185611e57565b61215a60a0830184612079565b979650505050505050565b600060208201905061217a6000830184611ec4565b92915050565b6000602082019050818103600083015261219a8184611ee2565b905092915050565b600060208201905081810360008301526121bb81611f1b565b9050919050565b600060208201905081810360008301526121db81611f3e565b9050919050565b600060208201905081810360008301526121fb81611f61565b9050919050565b6000602082019050818103600083015261221b81611f84565b9050919050565b6000602082019050818103600083015261223b81611fa7565b9050919050565b6000602082019050818103600083015261225b81611fca565b9050919050565b6000602082019050818103600083015261227b81611fed565b9050919050565b6000602082019050818103600083015261229b81612010565b9050919050565b600060208201905081810360008301526122bb81612033565b9050919050565b600060208201905081810360008301526122db81612056565b9050919050565b60006020820190506122f76000830184612079565b92915050565b600060a0820190506123126000830188612079565b61231f6020830187611ed3565b81810360408301526123318186611e66565b90506123406060830185611e57565b61234d6080830184612079565b9695505050505050565b600060208201905061236c6000830184612088565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006123d28261251a565b91506123dd8361251a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561241257612411612576565b5b828201905092915050565b60006124288261251a565b91506124338361251a565b925082612443576124426125a5565b5b828204905092915050565b60006124598261251a565b91506124648361251a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561249d5761249c612576565b5b828202905092915050565b60006124b38261251a565b91506124be8361251a565b9250828210156124d1576124d0612576565b5b828203905092915050565b60006124e7826124fa565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061253c8261251a565b9050919050565b60005b83811015612561578082015181840152602081019050612546565b83811115612570576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6128f5816124dc565b811461290057600080fd5b50565b61290c816124ee565b811461291757600080fd5b50565b6129238161251a565b811461292e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122081fed8e6e12d2c666ae1f2261fe81c0c45d2fd9f52010bd7cf4ba8289d946e9764736f6c63430008070033

Deployed Bytecode

0x6080604052600436106100ec5760003560e01c806370a082311161008a57806399c8d5561161005957806399c8d556146102cb578063a9059cbb146102f6578063dd62ed3e14610333578063f429389014610370576100f3565b806370a0823114610221578063715018a61461025e5780638da5cb5b1461027557806395d89b41146102a0576100f3565b806323b872dd116100c657806323b872dd1461018b578063293230b8146101c8578063313ce567146101df57806351bc3c851461020a576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610387565b60405161011a9190612180565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190611d70565b6103c4565b6040516101579190612165565b60405180910390f35b34801561016c57600080fd5b506101756103e2565b60405161018291906122e2565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad9190611d1d565b6103ec565b6040516101bf9190612165565b60405180910390f35b3480156101d457600080fd5b506101dd6104c5565b005b3480156101eb57600080fd5b506101f46109d9565b6040516102019190612357565b60405180910390f35b34801561021657600080fd5b5061021f6109de565b005b34801561022d57600080fd5b5061024860048036038101906102439190611c83565b610a58565b60405161025591906122e2565b60405180910390f35b34801561026a57600080fd5b50610273610aa9565b005b34801561028157600080fd5b5061028a610bfc565b6040516102979190612097565b60405180910390f35b3480156102ac57600080fd5b506102b5610c25565b6040516102c29190612180565b60405180910390f35b3480156102d757600080fd5b506102e0610c62565b6040516102ed91906122e2565b60405180910390f35b34801561030257600080fd5b5061031d60048036038101906103189190611d70565b610c6c565b60405161032a9190612165565b60405180910390f35b34801561033f57600080fd5b5061035a60048036038101906103559190611cdd565b610c8a565b60405161036791906122e2565b60405180910390f35b34801561037c57600080fd5b50610385610d11565b005b60606040518060400160405280600481526020017f54686f7200000000000000000000000000000000000000000000000000000000815250905090565b60006103d86103d1610d83565b8484610d8b565b6001905092915050565b6000600354905090565b60006103f9848484610f56565b6104ba84610405610d83565b6104b58560405180606001604052806028815260200161293260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061046b610d83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111b89092919063ffffffff16565b610d8b565b600190509392505050565b6104cd610d83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461055a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055190612262565b60405180910390fd5b600a60149054906101000a900460ff16156105aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a190612202565b60405180910390fd5b6105d930600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600354610d8b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561064157600080fd5b505afa158015610655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106799190611cb0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156106fd57600080fd5b505afa158015610711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107359190611cb0565b6040518363ffffffff1660e01b81526004016107529291906120b2565b602060405180830381600087803b15801561076c57600080fd5b505af1158015610780573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a49190611cb0565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061082d30610a58565b600080610838610bfc565b426040518863ffffffff1660e01b815260040161085a96959493929190612104565b6060604051808303818588803b15801561087357600080fd5b505af1158015610887573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108ac9190611ddd565b5050506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109849291906120db565b602060405180830381600087803b15801561099e57600080fd5b505af11580156109b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d69190611db0565b50565b600090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a1f610d83565b73ffffffffffffffffffffffffffffffffffffffff1614610a3f57600080fd5b6000610a4a30610a58565b9050610a558161121c565b50565b6000610aa2600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114a4565b9050919050565b610ab1610d83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3590612262565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f54484f5200000000000000000000000000000000000000000000000000000000815250905090565b6000600754905090565b6000610c80610c79610d83565b8484610f56565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d52610d83565b73ffffffffffffffffffffffffffffffffffffffff1614610d7257600080fd5b6000479050610d8081611512565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df2906122c2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e62906121e2565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f4991906122e2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbd906122a2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d906121a2565b60405180910390fd5b60008111611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107090612282565b60405180910390fd5b611081610bfc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110ef57506110bf610bfc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156111a857600a60159054906101000a900460ff1615801561115f5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111775750600a60169054906101000a900460ff165b156111a75761118d61118830610a58565b61121c565b600047905060008111156111a5576111a447611512565b5b505b5b6111b383838361157e565b505050565b6000838311158290611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f79190612180565b60405180910390fd5b506000838561120f91906124a8565b9050809150509392505050565b6001600a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561125457611253612603565b5b6040519080825280602002602001820160405280156112825781602001602082028036833780820191505090505b509050308160008151811061129a576112996125d4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561133c57600080fd5b505afa158015611350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113749190611cb0565b81600181518110611388576113876125d4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506113ef30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d8b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016114539594939291906122fd565b600060405180830381600087803b15801561146d57600080fd5b505af1158015611481573d6000803e3d6000fd5b50505050506000600a60156101000a81548160ff02191690831515021790555050565b60006004548211156114eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e2906121c2565b60405180910390fd5b60006114f561158e565b905061150a81846115b990919063ffffffff16565b915050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561157a573d6000803e3d6000fd5b5050565b611589838383611603565b505050565b600080600061159b6117ce565b915091506115b281836115b990919063ffffffff16565b9250505090565b60006115fb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061181b565b905092915050565b6000806000806000806116158761187e565b95509550955095509550955061167386600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118e390919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061170885600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192d90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117548161198b565b61175e8483611a48565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516117bb91906122e2565b60405180910390a3505050505050505050565b60008060006004549050600060035490506117f66003546004546115b990919063ffffffff16565b82101561180e57600454600354935093505050611817565b81819350935050505b9091565b60008083118290611862576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118599190612180565b60405180910390fd5b5060008385611871919061241d565b9050809150509392505050565b60008060008060008060008060006118988a600754611a82565b92509250925060006118a861158e565b905060008060006118bb8e878787611b16565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061192583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111b8565b905092915050565b600080828461193c91906123c7565b905083811015611981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197890612222565b60405180910390fd5b8091505092915050565b600061199561158e565b905060006119ac8284611b9f90919063ffffffff16565b9050611a0081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461192d90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611a5d826004546118e390919063ffffffff16565b600481905550611a788160055461192d90919063ffffffff16565b6005819055505050565b600080600080611aae6064611aa08789611b9f90919063ffffffff16565b6115b990919063ffffffff16565b90506000611ad86064611aca888a611b9f90919063ffffffff16565b6115b990919063ffffffff16565b90506000611b0182611af3858b6118e390919063ffffffff16565b6118e390919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611b2f8589611b9f90919063ffffffff16565b90506000611b468689611b9f90919063ffffffff16565b90506000611b5d8789611b9f90919063ffffffff16565b90506000611b8682611b7885876118e390919063ffffffff16565b6118e390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611bb25760009050611c14565b60008284611bc0919061244e565b9050828482611bcf919061241d565b14611c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0690612242565b60405180910390fd5b809150505b92915050565b600081359050611c29816128ec565b92915050565b600081519050611c3e816128ec565b92915050565b600081519050611c5381612903565b92915050565b600081359050611c688161291a565b92915050565b600081519050611c7d8161291a565b92915050565b600060208284031215611c9957611c98612632565b5b6000611ca784828501611c1a565b91505092915050565b600060208284031215611cc657611cc5612632565b5b6000611cd484828501611c2f565b91505092915050565b60008060408385031215611cf457611cf3612632565b5b6000611d0285828601611c1a565b9250506020611d1385828601611c1a565b9150509250929050565b600080600060608486031215611d3657611d35612632565b5b6000611d4486828701611c1a565b9350506020611d5586828701611c1a565b9250506040611d6686828701611c59565b9150509250925092565b60008060408385031215611d8757611d86612632565b5b6000611d9585828601611c1a565b9250506020611da685828601611c59565b9150509250929050565b600060208284031215611dc657611dc5612632565b5b6000611dd484828501611c44565b91505092915050565b600080600060608486031215611df657611df5612632565b5b6000611e0486828701611c6e565b9350506020611e1586828701611c6e565b9250506040611e2686828701611c6e565b9150509250925092565b6000611e3c8383611e48565b60208301905092915050565b611e51816124dc565b82525050565b611e60816124dc565b82525050565b6000611e7182612382565b611e7b81856123a5565b9350611e8683612372565b8060005b83811015611eb7578151611e9e8882611e30565b9750611ea983612398565b925050600181019050611e8a565b5085935050505092915050565b611ecd816124ee565b82525050565b611edc81612531565b82525050565b6000611eed8261238d565b611ef781856123b6565b9350611f07818560208601612543565b611f1081612637565b840191505092915050565b6000611f286023836123b6565b9150611f3382612648565b604082019050919050565b6000611f4b602a836123b6565b9150611f5682612697565b604082019050919050565b6000611f6e6022836123b6565b9150611f79826126e6565b604082019050919050565b6000611f916017836123b6565b9150611f9c82612735565b602082019050919050565b6000611fb4601b836123b6565b9150611fbf8261275e565b602082019050919050565b6000611fd76021836123b6565b9150611fe282612787565b604082019050919050565b6000611ffa6020836123b6565b9150612005826127d6565b602082019050919050565b600061201d6029836123b6565b9150612028826127ff565b604082019050919050565b60006120406025836123b6565b915061204b8261284e565b604082019050919050565b60006120636024836123b6565b915061206e8261289d565b604082019050919050565b6120828161251a565b82525050565b61209181612524565b82525050565b60006020820190506120ac6000830184611e57565b92915050565b60006040820190506120c76000830185611e57565b6120d46020830184611e57565b9392505050565b60006040820190506120f06000830185611e57565b6120fd6020830184612079565b9392505050565b600060c0820190506121196000830189611e57565b6121266020830188612079565b6121336040830187611ed3565b6121406060830186611ed3565b61214d6080830185611e57565b61215a60a0830184612079565b979650505050505050565b600060208201905061217a6000830184611ec4565b92915050565b6000602082019050818103600083015261219a8184611ee2565b905092915050565b600060208201905081810360008301526121bb81611f1b565b9050919050565b600060208201905081810360008301526121db81611f3e565b9050919050565b600060208201905081810360008301526121fb81611f61565b9050919050565b6000602082019050818103600083015261221b81611f84565b9050919050565b6000602082019050818103600083015261223b81611fa7565b9050919050565b6000602082019050818103600083015261225b81611fca565b9050919050565b6000602082019050818103600083015261227b81611fed565b9050919050565b6000602082019050818103600083015261229b81612010565b9050919050565b600060208201905081810360008301526122bb81612033565b9050919050565b600060208201905081810360008301526122db81612056565b9050919050565b60006020820190506122f76000830184612079565b92915050565b600060a0820190506123126000830188612079565b61231f6020830187611ed3565b81810360408301526123318186611e66565b90506123406060830185611e57565b61234d6080830184612079565b9695505050505050565b600060208201905061236c6000830184612088565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006123d28261251a565b91506123dd8361251a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561241257612411612576565b5b828201905092915050565b60006124288261251a565b91506124338361251a565b925082612443576124426125a5565b5b828204905092915050565b60006124598261251a565b91506124648361251a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561249d5761249c612576565b5b828202905092915050565b60006124b38261251a565b91506124be8361251a565b9250828210156124d1576124d0612576565b5b828203905092915050565b60006124e7826124fa565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061253c8261251a565b9050919050565b60005b83811015612561578082015181840152602081019050612546565b83811115612570576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6128f5816124dc565b811461290057600080fd5b50565b61290c816124ee565b811461291757600080fd5b50565b6129238161251a565b811461292e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122081fed8e6e12d2c666ae1f2261fe81c0c45d2fd9f52010bd7cf4ba8289d946e9764736f6c63430008070033

Deployed Bytecode Sourcemap

3268:7319:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4339:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5171:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4580:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5322:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7242:487;;;;;;;;;;;;;:::i;:::-;;4501:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8697:170;;;;;;;;;;;;;:::i;:::-;;4671:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2494:133;;;;;;;;;;;;;:::i;:::-;;2310:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4418:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4962:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4805:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5032:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8872:169;;;;;;;;;;;;;:::i;:::-;;4339:74;4376:13;3786:10;;;;;;;;;;;;;;;;;4396:12;;4339:74;:::o;5171:146::-;5246:4;5257:39;5266:12;:10;:12::i;:::-;5280:7;5289:6;5257:8;:39::i;:::-;5308:4;5301:11;;5171:146;;;;:::o;4580:86::-;4633:7;4654;;4647:14;;4580:86;:::o;5322:292::-;5420:4;5431:36;5441:6;5449:9;5460:6;5431:9;:36::i;:::-;5472:121;5481:6;5489:12;:10;:12::i;:::-;5503:89;5541:6;5503:89;;;;;;;;;;;;;;;;;:11;:19;5515:6;5503:19;;;;;;;;;;;;;;;:33;5523:12;:10;:12::i;:::-;5503:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5472:8;:121::i;:::-;5605:4;5598:11;;5322:292;;;;;:::o;7242:487::-;2429:12;:10;:12::i;:::-;2419:22;;:6;;;;;;;;;;:22;;;2411:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7301:11:::1;;;;;;;;;;;7300:12;7292:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7345:50;7362:4;7377:7;;;;;;;;;;;7387;;7345:8;:50::i;:::-;7426:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7408:47;;;7464:4;7471:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7408:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7400:5;;:86;;;;;;;;;;;;;;;;;;7491:7;;;;;;;;;;;:23;;;7523:21;7554:4;7561:24;7579:4;7561:9;:24::i;:::-;7587:1;7590::::0;7593:7:::1;:5;:7::i;:::-;7602:15;7491:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7637:4;7623:11;;:18;;;;;;;;;;;;;;;;;;7660:4;7646:11;;:18;;;;;;;;;;;;;;;;;;7676:5;;;;;;;;;;;7669:21;;;7699:7;;;;;;;;;;;7709:14;7669:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7242:487::o:0;4501:74::-;4542:5;4501:74;:::o;8697:170::-;8757:10;;;;;;;;;;;8741:26;;:12;:10;:12::i;:::-;:26;;;8733:35;;;;;;8773:23;8799:24;8817:4;8799:9;:24::i;:::-;8773:50;;8828:34;8846:15;8828:17;:34::i;:::-;8728:139;8697:170::o;4671:129::-;4737:7;4758:37;4778:7;:16;4786:7;4778:16;;;;;;;;;;;;;;;;4758:19;:37::i;:::-;4751:44;;4671:129;;;:::o;2494:133::-;2429:12;:10;:12::i;:::-;2419:22;;:6;;;;;;;;;;:22;;;2411:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2595:1:::1;2558:40;;2579:6;::::0;::::1;;;;;;;;2558:40;;;;;;;;;;;;2620:1;2603:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2494:133::o:0;2310:70::-;2348:7;2369:6;;;;;;;;;;;2362:13;;2310:70;:::o;4418:78::-;4457:13;3834:12;;;;;;;;;;;;;;;;;4477:14;;4418:78;:::o;4962:65::-;4998:7;5018:4;;5011:11;;4962:65;:::o;4805:152::-;4883:4;4894:42;4904:12;:10;:12::i;:::-;4918:9;4929:6;4894:9;:42::i;:::-;4948:4;4941:11;;4805:152;;;;:::o;5032:134::-;5113:7;5134:11;:18;5146:5;5134:18;;;;;;;;;;;;;;;:27;5153:7;5134:27;;;;;;;;;;;;;;;;5127:34;;5032:134;;;;:::o;8872:169::-;8932:10;;;;;;;;;;;8916:26;;:12;:10;:12::i;:::-;:26;;;8908:35;;;;;;8948:26;8977:21;8948:50;;9003:33;9017:18;9003:13;:33::i;:::-;8903:138;8872:169::o;282:89::-;335:7;356:10;349:17;;282:89;:::o;5857:308::-;5961:1;5944:19;;:5;:19;;;;5936:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6036:1;6017:21;;:7;:21;;;;6009:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6112:6;6082:11;:18;6094:5;6082:18;;;;;;;;;;;;;;;:27;6101:7;6082:27;;;;;;;;;;;;;;;:36;;;;6144:7;6128:32;;6137:5;6128:32;;;6153:6;6128:32;;;;;;:::i;:::-;;;;;;;;5857:308;;;:::o;6170:622::-;6268:1;6252:18;;:4;:18;;;;6244:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6339:1;6325:16;;:2;:16;;;;6317:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6403:1;6394:6;:10;6386:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6469:7;:5;:7::i;:::-;6461:15;;:4;:15;;;;:32;;;;;6486:7;:5;:7::i;:::-;6480:13;;:2;:13;;;;6461:32;6457:294;;;6506:6;;;;;;;;;;;6505:7;:24;;;;;6524:5;;;;;;;;;;;6516:13;;:4;:13;;;;6505:24;:39;;;;;6533:11;;;;;;;;;;;6505:39;6501:245;;;6553:43;6571:24;6589:4;6571:9;:24::i;:::-;6553:17;:43::i;:::-;6603:26;6632:21;6603:50;;6685:1;6664:18;:22;6660:80;;;6696:36;6710:21;6696:13;:36::i;:::-;6660:80;6546:200;6501:245;6457:294;6755:32;6770:4;6776:2;6780:6;6755:14;:32::i;:::-;6170:622;;;:::o;1347:169::-;1433:7;1460:1;1455;:6;;1463:12;1447:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1481:9;1497:1;1493;:5;;;;:::i;:::-;1481:17;;1510:1;1503:8;;;1347:169;;;;;:::o;6797:351::-;4151:4;4142:6;;:13;;;;;;;;;;;;;;;;;;6870:21:::1;6908:1;6894:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6870:40;;6933:4;6915;6920:1;6915:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;6953:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6943:4;6948:1;6943:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;::::0;::::1;6972:54;6989:4;7004:7;;;;;;;;;;;7014:11;6972:8;:54::i;:::-;7031:7;;;;;;;;;;;:58;;;7090:11;7103:1;7106:4;7120;7127:15;7031:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6865:283;4175:5:::0;4166:6;;:14;;;;;;;;;;;;;;;;;;6797:351;:::o;5619:233::-;5687:7;5720;;5709;:18;;5701:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5779:19;5801:10;:8;:10::i;:::-;5779:32;;5823:24;5835:11;5823:7;:11;;:24;;;;:::i;:::-;5816:31;;;5619:233;;;:::o;7153:84::-;7205:10;;;;;;;;;;;:19;;:27;7225:6;7205:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7153:84;:::o;7734:137::-;7822:44;7840:6;7848:9;7859:6;7822:17;:44::i;:::-;7734:137;;;:::o;10200:149::-;10242:7;10257:15;10274;10293:19;:17;:19::i;:::-;10256:56;;;;10324:20;10336:7;10324;:11;;:20;;;;:::i;:::-;10317:27;;;;10200:149;:::o;1730:123::-;1788:7;1809:39;1813:1;1816;1809:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1802:46;;1730:123;;;;:::o;7878:448::-;7971:15;7988:23;8013:12;8027:23;8052:12;8066:13;8083:19;8094:7;8083:10;:19::i;:::-;7970:132;;;;;;;;;;;;8125:28;8145:7;8125;:15;8133:6;8125:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8107:7;:15;8115:6;8107:15;;;;;;;;;;;;;;;:46;;;;8179:39;8202:15;8179:7;:18;8187:9;8179:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8158:7;:18;8166:9;8158:18;;;;;;;;;;;;;;;:60;;;;8223:16;8233:5;8223:9;:16::i;:::-;8244:23;8256:4;8262;8244:11;:23::i;:::-;8294:9;8277:44;;8286:6;8277:44;;;8305:15;8277:44;;;;;;:::i;:::-;;;;;;;;7965:361;;;;;;7878:448;;;:::o;10354:230::-;10405:7;10414;10428:15;10446:7;;10428:25;;10458:15;10476:7;;10458:25;;10502:20;10514:7;;10502;;:11;;:20;;;;:::i;:::-;10492:7;:30;10488:61;;;10532:7;;10541;;10524:25;;;;;;;;10488:61;10562:7;10571;10554:25;;;;;;10354:230;;;:::o;1858:168::-;1944:7;1970:1;1966;:5;1973:12;1958:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1991:9;2007:1;2003;:5;;;;:::i;:::-;1991:17;;2020:1;2013:8;;;1858:168;;;;;:::o;9046:442::-;9105:7;9114;9123;9132;9141;9150;9165:23;9190:12;9204:13;9221:34;9241:7;9250:4;;9221:19;:34::i;:::-;9164:91;;;;;;9260:19;9282:10;:8;:10::i;:::-;9260:32;;9298:15;9315:23;9340:12;9356:53;9375:7;9384:4;9390:5;9397:11;9356:18;:53::i;:::-;9297:112;;;;;;9422:7;9431:15;9448:4;9454:15;9471:4;9477:5;9414:69;;;;;;;;;;;;;;;;;;;9046:442;;;;;;;:::o;1215:127::-;1273:7;1294:43;1298:1;1301;1294:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1287:50;;1215:127;;;;:::o;1052:158::-;1110:7;1124:9;1140:1;1136;:5;;;;:::i;:::-;1124:17;;1159:1;1154;:6;;1146:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1204:1;1197:8;;;1052:158;;;;:::o;8331:190::-;8378:19;8400:10;:8;:10::i;:::-;8378:32;;8415:13;8431:22;8441:11;8431:5;:9;;:22;;;;:::i;:::-;8415:38;;8483:33;8510:5;8483:7;:22;8499:4;8483:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8458:7;:22;8474:4;8458:22;;;;;;;;;;;;;;;:58;;;;8373:148;;8331:190;:::o;8526:132::-;8598:17;8610:4;8598:7;;:11;;:17;;;;:::i;:::-;8588:7;:27;;;;8633:20;8648:4;8633:10;;:14;;:20;;;;:::i;:::-;8620:10;:33;;;;8526:132;;:::o;9493:314::-;9577:7;9586;9595;9609:12;9624:28;9648:3;9624:19;9636:6;9624:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9609:43;;9657:13;9673:28;9697:3;9673:19;9685:6;9673:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9657:44;;9706:23;9732:28;9754:5;9732:17;9744:4;9732:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;9706:54;;9773:15;9790:4;9796:5;9765:37;;;;;;;;;9493:314;;;;;:::o;9812:383::-;9929:7;9938;9947;9961:15;9979:24;9991:11;9979:7;:11;;:24;;;;:::i;:::-;9961:42;;10008:12;10023:21;10032:11;10023:4;:8;;:21;;;;:::i;:::-;10008:36;;10049:13;10065:22;10075:11;10065:5;:9;;:22;;;;:::i;:::-;10049:38;;10092:23;10118:28;10140:5;10118:17;10130:4;10118:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10092:54;;10159:7;10168:15;10185:4;10151:39;;;;;;;;;;9812:383;;;;;;;;:::o;1521:204::-;1579:7;1602:1;1597;:6;1593:32;;;1618:1;1611:8;;;;1593:32;1629:9;1645:1;1641;:5;;;;:::i;:::-;1629:17;;1668:1;1663;1659;:5;;;;:::i;:::-;:10;1651:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1719:1;1712:8;;;1521:204;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;301:137;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;444:139;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;589:143;;;;:::o;738:329::-;797:6;846:2;834:9;825:7;821:23;817:32;814:119;;;852:79;;:::i;:::-;814:119;972:1;997:53;1042:7;1033:6;1022:9;1018:22;997:53;:::i;:::-;987:63;;943:117;738:329;;;;:::o;1073:351::-;1143:6;1192:2;1180:9;1171:7;1167:23;1163:32;1160:119;;;1198:79;;:::i;:::-;1160:119;1318:1;1343:64;1399:7;1390:6;1379:9;1375:22;1343:64;:::i;:::-;1333:74;;1289:128;1073:351;;;;:::o;1430:474::-;1498:6;1506;1555:2;1543:9;1534:7;1530:23;1526:32;1523:119;;;1561:79;;:::i;:::-;1523:119;1681:1;1706:53;1751:7;1742:6;1731:9;1727:22;1706:53;:::i;:::-;1696:63;;1652:117;1808:2;1834:53;1879:7;1870:6;1859:9;1855:22;1834:53;:::i;:::-;1824:63;;1779:118;1430:474;;;;;:::o;1910:619::-;1987:6;1995;2003;2052:2;2040:9;2031:7;2027:23;2023:32;2020:119;;;2058:79;;:::i;:::-;2020:119;2178:1;2203:53;2248:7;2239:6;2228:9;2224:22;2203:53;:::i;:::-;2193:63;;2149:117;2305:2;2331:53;2376:7;2367:6;2356:9;2352:22;2331:53;:::i;:::-;2321:63;;2276:118;2433:2;2459:53;2504:7;2495:6;2484:9;2480:22;2459:53;:::i;:::-;2449:63;;2404:118;1910:619;;;;;:::o;2535:474::-;2603:6;2611;2660:2;2648:9;2639:7;2635:23;2631:32;2628:119;;;2666:79;;:::i;:::-;2628:119;2786:1;2811:53;2856:7;2847:6;2836:9;2832:22;2811:53;:::i;:::-;2801:63;;2757:117;2913:2;2939:53;2984:7;2975:6;2964:9;2960:22;2939:53;:::i;:::-;2929:63;;2884:118;2535:474;;;;;:::o;3015:345::-;3082:6;3131:2;3119:9;3110:7;3106:23;3102:32;3099:119;;;3137:79;;:::i;:::-;3099:119;3257:1;3282:61;3335:7;3326:6;3315:9;3311:22;3282:61;:::i;:::-;3272:71;;3228:125;3015:345;;;;:::o;3366:663::-;3454:6;3462;3470;3519:2;3507:9;3498:7;3494:23;3490:32;3487:119;;;3525:79;;:::i;:::-;3487:119;3645:1;3670:64;3726:7;3717:6;3706:9;3702:22;3670:64;:::i;:::-;3660:74;;3616:128;3783:2;3809:64;3865:7;3856:6;3845:9;3841:22;3809:64;:::i;:::-;3799:74;;3754:129;3922:2;3948:64;4004:7;3995:6;3984:9;3980:22;3948:64;:::i;:::-;3938:74;;3893:129;3366:663;;;;;:::o;4035:179::-;4104:10;4125:46;4167:3;4159:6;4125:46;:::i;:::-;4203:4;4198:3;4194:14;4180:28;;4035:179;;;;:::o;4220:108::-;4297:24;4315:5;4297:24;:::i;:::-;4292:3;4285:37;4220:108;;:::o;4334:118::-;4421:24;4439:5;4421:24;:::i;:::-;4416:3;4409:37;4334:118;;:::o;4488:732::-;4607:3;4636:54;4684:5;4636:54;:::i;:::-;4706:86;4785:6;4780:3;4706:86;:::i;:::-;4699:93;;4816:56;4866:5;4816:56;:::i;:::-;4895:7;4926:1;4911:284;4936:6;4933:1;4930:13;4911:284;;;5012:6;5006:13;5039:63;5098:3;5083:13;5039:63;:::i;:::-;5032:70;;5125:60;5178:6;5125:60;:::i;:::-;5115:70;;4971:224;4958:1;4955;4951:9;4946:14;;4911:284;;;4915:14;5211:3;5204:10;;4612:608;;;4488:732;;;;:::o;5226:109::-;5307:21;5322:5;5307:21;:::i;:::-;5302:3;5295:34;5226:109;;:::o;5341:147::-;5436:45;5475:5;5436:45;:::i;:::-;5431:3;5424:58;5341:147;;:::o;5494:364::-;5582:3;5610:39;5643:5;5610:39;:::i;:::-;5665:71;5729:6;5724:3;5665:71;:::i;:::-;5658:78;;5745:52;5790:6;5785:3;5778:4;5771:5;5767:16;5745:52;:::i;:::-;5822:29;5844:6;5822:29;:::i;:::-;5817:3;5813:39;5806:46;;5586:272;5494:364;;;;:::o;5864:366::-;6006:3;6027:67;6091:2;6086:3;6027:67;:::i;:::-;6020:74;;6103:93;6192:3;6103:93;:::i;:::-;6221:2;6216:3;6212:12;6205:19;;5864:366;;;:::o;6236:::-;6378:3;6399:67;6463:2;6458:3;6399:67;:::i;:::-;6392:74;;6475:93;6564:3;6475:93;:::i;:::-;6593:2;6588:3;6584:12;6577:19;;6236:366;;;:::o;6608:::-;6750:3;6771:67;6835:2;6830:3;6771:67;:::i;:::-;6764:74;;6847:93;6936:3;6847:93;:::i;:::-;6965:2;6960:3;6956:12;6949:19;;6608:366;;;:::o;6980:::-;7122:3;7143:67;7207:2;7202:3;7143:67;:::i;:::-;7136:74;;7219:93;7308:3;7219:93;:::i;:::-;7337:2;7332:3;7328:12;7321:19;;6980:366;;;:::o;7352:::-;7494:3;7515:67;7579:2;7574:3;7515:67;:::i;:::-;7508:74;;7591:93;7680:3;7591:93;:::i;:::-;7709:2;7704:3;7700:12;7693:19;;7352:366;;;:::o;7724:::-;7866:3;7887:67;7951:2;7946:3;7887:67;:::i;:::-;7880:74;;7963:93;8052:3;7963:93;:::i;:::-;8081:2;8076:3;8072:12;8065:19;;7724:366;;;:::o;8096:::-;8238:3;8259:67;8323:2;8318:3;8259:67;:::i;:::-;8252:74;;8335:93;8424:3;8335:93;:::i;:::-;8453:2;8448:3;8444:12;8437:19;;8096:366;;;:::o;8468:::-;8610:3;8631:67;8695:2;8690:3;8631:67;:::i;:::-;8624:74;;8707:93;8796:3;8707:93;:::i;:::-;8825:2;8820:3;8816:12;8809:19;;8468:366;;;:::o;8840:::-;8982:3;9003:67;9067:2;9062:3;9003:67;:::i;:::-;8996:74;;9079:93;9168:3;9079:93;:::i;:::-;9197:2;9192:3;9188:12;9181:19;;8840:366;;;:::o;9212:::-;9354:3;9375:67;9439:2;9434:3;9375:67;:::i;:::-;9368:74;;9451:93;9540:3;9451:93;:::i;:::-;9569:2;9564:3;9560:12;9553:19;;9212:366;;;:::o;9584:118::-;9671:24;9689:5;9671:24;:::i;:::-;9666:3;9659:37;9584:118;;:::o;9708:112::-;9791:22;9807:5;9791:22;:::i;:::-;9786:3;9779:35;9708:112;;:::o;9826:222::-;9919:4;9957:2;9946:9;9942:18;9934:26;;9970:71;10038:1;10027:9;10023:17;10014:6;9970:71;:::i;:::-;9826:222;;;;:::o;10054:332::-;10175:4;10213:2;10202:9;10198:18;10190:26;;10226:71;10294:1;10283:9;10279:17;10270:6;10226:71;:::i;:::-;10307:72;10375:2;10364:9;10360:18;10351:6;10307:72;:::i;:::-;10054:332;;;;;:::o;10392:::-;10513:4;10551:2;10540:9;10536:18;10528:26;;10564:71;10632:1;10621:9;10617:17;10608:6;10564:71;:::i;:::-;10645:72;10713:2;10702:9;10698:18;10689:6;10645:72;:::i;:::-;10392:332;;;;;:::o;10730:807::-;10979:4;11017:3;11006:9;11002:19;10994:27;;11031:71;11099:1;11088:9;11084:17;11075:6;11031:71;:::i;:::-;11112:72;11180:2;11169:9;11165:18;11156:6;11112:72;:::i;:::-;11194:80;11270:2;11259:9;11255:18;11246:6;11194:80;:::i;:::-;11284;11360:2;11349:9;11345:18;11336:6;11284:80;:::i;:::-;11374:73;11442:3;11431:9;11427:19;11418:6;11374:73;:::i;:::-;11457;11525:3;11514:9;11510:19;11501:6;11457:73;:::i;:::-;10730:807;;;;;;;;;:::o;11543:210::-;11630:4;11668:2;11657:9;11653:18;11645:26;;11681:65;11743:1;11732:9;11728:17;11719:6;11681:65;:::i;:::-;11543:210;;;;:::o;11759:313::-;11872:4;11910:2;11899:9;11895:18;11887:26;;11959:9;11953:4;11949:20;11945:1;11934:9;11930:17;11923:47;11987:78;12060:4;12051:6;11987:78;:::i;:::-;11979:86;;11759:313;;;;:::o;12078:419::-;12244:4;12282:2;12271:9;12267:18;12259:26;;12331:9;12325:4;12321:20;12317:1;12306:9;12302:17;12295:47;12359:131;12485:4;12359:131;:::i;:::-;12351:139;;12078:419;;;:::o;12503:::-;12669:4;12707:2;12696:9;12692:18;12684:26;;12756:9;12750:4;12746:20;12742:1;12731:9;12727:17;12720:47;12784:131;12910:4;12784:131;:::i;:::-;12776:139;;12503:419;;;:::o;12928:::-;13094:4;13132:2;13121:9;13117:18;13109:26;;13181:9;13175:4;13171:20;13167:1;13156:9;13152:17;13145:47;13209:131;13335:4;13209:131;:::i;:::-;13201:139;;12928:419;;;:::o;13353:::-;13519:4;13557:2;13546:9;13542:18;13534:26;;13606:9;13600:4;13596:20;13592:1;13581:9;13577:17;13570:47;13634:131;13760:4;13634:131;:::i;:::-;13626:139;;13353:419;;;:::o;13778:::-;13944:4;13982:2;13971:9;13967:18;13959:26;;14031:9;14025:4;14021:20;14017:1;14006:9;14002:17;13995:47;14059:131;14185:4;14059:131;:::i;:::-;14051:139;;13778:419;;;:::o;14203:::-;14369:4;14407:2;14396:9;14392:18;14384:26;;14456:9;14450:4;14446:20;14442:1;14431:9;14427:17;14420:47;14484:131;14610:4;14484:131;:::i;:::-;14476:139;;14203:419;;;:::o;14628:::-;14794:4;14832:2;14821:9;14817:18;14809:26;;14881:9;14875:4;14871:20;14867:1;14856:9;14852:17;14845:47;14909:131;15035:4;14909:131;:::i;:::-;14901:139;;14628:419;;;:::o;15053:::-;15219:4;15257:2;15246:9;15242:18;15234:26;;15306:9;15300:4;15296:20;15292:1;15281:9;15277:17;15270:47;15334:131;15460:4;15334:131;:::i;:::-;15326:139;;15053:419;;;:::o;15478:::-;15644:4;15682:2;15671:9;15667:18;15659:26;;15731:9;15725:4;15721:20;15717:1;15706:9;15702:17;15695:47;15759:131;15885:4;15759:131;:::i;:::-;15751:139;;15478:419;;;:::o;15903:::-;16069:4;16107:2;16096:9;16092:18;16084:26;;16156:9;16150:4;16146:20;16142:1;16131:9;16127:17;16120:47;16184:131;16310:4;16184:131;:::i;:::-;16176:139;;15903:419;;;:::o;16328:222::-;16421:4;16459:2;16448:9;16444:18;16436:26;;16472:71;16540:1;16529:9;16525:17;16516:6;16472:71;:::i;:::-;16328:222;;;;:::o;16556:831::-;16819:4;16857:3;16846:9;16842:19;16834:27;;16871:71;16939:1;16928:9;16924:17;16915:6;16871:71;:::i;:::-;16952:80;17028:2;17017:9;17013:18;17004:6;16952:80;:::i;:::-;17079:9;17073:4;17069:20;17064:2;17053:9;17049:18;17042:48;17107:108;17210:4;17201:6;17107:108;:::i;:::-;17099:116;;17225:72;17293:2;17282:9;17278:18;17269:6;17225:72;:::i;:::-;17307:73;17375:3;17364:9;17360:19;17351:6;17307:73;:::i;:::-;16556:831;;;;;;;;:::o;17393:214::-;17482:4;17520:2;17509:9;17505:18;17497:26;;17533:67;17597:1;17586:9;17582:17;17573:6;17533:67;:::i;:::-;17393:214;;;;:::o;17694:132::-;17761:4;17784:3;17776:11;;17814:4;17809:3;17805:14;17797:22;;17694:132;;;:::o;17832:114::-;17899:6;17933:5;17927:12;17917:22;;17832:114;;;:::o;17952:99::-;18004:6;18038:5;18032:12;18022:22;;17952:99;;;:::o;18057:113::-;18127:4;18159;18154:3;18150:14;18142:22;;18057:113;;;:::o;18176:184::-;18275:11;18309:6;18304:3;18297:19;18349:4;18344:3;18340:14;18325:29;;18176:184;;;;:::o;18366:169::-;18450:11;18484:6;18479:3;18472:19;18524:4;18519:3;18515:14;18500:29;;18366:169;;;;:::o;18541:305::-;18581:3;18600:20;18618:1;18600:20;:::i;:::-;18595:25;;18634:20;18652:1;18634:20;:::i;:::-;18629:25;;18788:1;18720:66;18716:74;18713:1;18710:81;18707:107;;;18794:18;;:::i;:::-;18707:107;18838:1;18835;18831:9;18824:16;;18541:305;;;;:::o;18852:185::-;18892:1;18909:20;18927:1;18909:20;:::i;:::-;18904:25;;18943:20;18961:1;18943:20;:::i;:::-;18938:25;;18982:1;18972:35;;18987:18;;:::i;:::-;18972:35;19029:1;19026;19022:9;19017:14;;18852:185;;;;:::o;19043:348::-;19083:7;19106:20;19124:1;19106:20;:::i;:::-;19101:25;;19140:20;19158:1;19140:20;:::i;:::-;19135:25;;19328:1;19260:66;19256:74;19253:1;19250:81;19245:1;19238:9;19231:17;19227:105;19224:131;;;19335:18;;:::i;:::-;19224:131;19383:1;19380;19376:9;19365:20;;19043:348;;;;:::o;19397:191::-;19437:4;19457:20;19475:1;19457:20;:::i;:::-;19452:25;;19491:20;19509:1;19491:20;:::i;:::-;19486:25;;19530:1;19527;19524:8;19521:34;;;19535:18;;:::i;:::-;19521:34;19580:1;19577;19573:9;19565:17;;19397:191;;;;:::o;19594:96::-;19631:7;19660:24;19678:5;19660:24;:::i;:::-;19649:35;;19594:96;;;:::o;19696:90::-;19730:7;19773:5;19766:13;19759:21;19748:32;;19696:90;;;:::o;19792:126::-;19829:7;19869:42;19862:5;19858:54;19847:65;;19792:126;;;:::o;19924:77::-;19961:7;19990:5;19979:16;;19924:77;;;:::o;20007:86::-;20042:7;20082:4;20075:5;20071:16;20060:27;;20007:86;;;:::o;20099:121::-;20157:9;20190:24;20208:5;20190:24;:::i;:::-;20177:37;;20099:121;;;:::o;20226:307::-;20294:1;20304:113;20318:6;20315:1;20312:13;20304:113;;;20403:1;20398:3;20394:11;20388:18;20384:1;20379:3;20375:11;20368:39;20340:2;20337:1;20333:10;20328:15;;20304:113;;;20435:6;20432:1;20429:13;20426:101;;;20515:1;20506:6;20501:3;20497:16;20490:27;20426:101;20275:258;20226:307;;;:::o;20539:180::-;20587:77;20584:1;20577:88;20684:4;20681:1;20674:15;20708:4;20705:1;20698:15;20725:180;20773:77;20770:1;20763:88;20870:4;20867:1;20860:15;20894:4;20891:1;20884:15;20911:180;20959:77;20956:1;20949:88;21056:4;21053:1;21046:15;21080:4;21077:1;21070:15;21097:180;21145:77;21142:1;21135:88;21242:4;21239:1;21232:15;21266:4;21263:1;21256:15;21406:117;21515:1;21512;21505:12;21529:102;21570:6;21621:2;21617:7;21612:2;21605:5;21601:14;21597:28;21587:38;;21529:102;;;:::o;21637:222::-;21777:34;21773:1;21765:6;21761:14;21754:58;21846:5;21841:2;21833:6;21829:15;21822:30;21637:222;:::o;21865:229::-;22005:34;22001:1;21993:6;21989:14;21982:58;22074:12;22069:2;22061:6;22057:15;22050:37;21865:229;:::o;22100:221::-;22240:34;22236:1;22228:6;22224:14;22217:58;22309:4;22304:2;22296:6;22292:15;22285:29;22100:221;:::o;22327:173::-;22467:25;22463:1;22455:6;22451:14;22444:49;22327:173;:::o;22506:177::-;22646:29;22642:1;22634:6;22630:14;22623:53;22506:177;:::o;22689:220::-;22829:34;22825:1;22817:6;22813:14;22806:58;22898:3;22893:2;22885:6;22881:15;22874:28;22689:220;:::o;22915:182::-;23055:34;23051:1;23043:6;23039:14;23032:58;22915:182;:::o;23103:228::-;23243:34;23239:1;23231:6;23227:14;23220:58;23312:11;23307:2;23299:6;23295:15;23288:36;23103:228;:::o;23337:224::-;23477:34;23473:1;23465:6;23461:14;23454:58;23546:7;23541:2;23533:6;23529:15;23522:32;23337:224;:::o;23567:223::-;23707:34;23703:1;23695:6;23691:14;23684:58;23776:6;23771:2;23763:6;23759:15;23752:31;23567:223;:::o;23796:122::-;23869:24;23887:5;23869:24;:::i;:::-;23862:5;23859:35;23849:63;;23908:1;23905;23898:12;23849:63;23796:122;:::o;23924:116::-;23994:21;24009:5;23994:21;:::i;:::-;23987:5;23984:32;23974:60;;24030:1;24027;24020:12;23974:60;23924:116;:::o;24046:122::-;24119:24;24137:5;24119:24;:::i;:::-;24112:5;24109:35;24099:63;;24158:1;24155;24148:12;24099:63;24046:122;:::o

Swarm Source

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