Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
10,000,000 AKATSUKI
Holders
21
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:
AKATSUKI
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-10-05
*/
/*
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢛⡵⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⢌⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣛⣛⣛⣡⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢣⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢟⡩⠖⠋⠉⠁⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠷⠿⠭⢭⣝⡻⢿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢣⠞⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠲⣝⢻⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢃⡏⠀⠀⠀⠀⠀⠀⠀⠸⣧⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢣⡹⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠷⣤⣀⠀⠀⠀⢀⣴⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢣⠹⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢟⣛⣁⡞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠛⠓⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡇⣿
⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⢟⡥⠞⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣷⢹
⣷⠠⣍⡻⢿⣿⣿⠿⣋⡴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠄⠉⠓⠂⠀⠀⠀⠀⠀⠀⠀⠀⣿⢸
⣿⣇⢻⠈⠓⠲⠒⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡇⣾
⣿⣿⡌⢇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡸⢱⣿
⣿⣿⣿⡜⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠚⠉⠀⠀⠀⠉⠳⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡴⢡⣿⣿
⣿⣿⣿⣿⣌⢦⡀⠀⠀⠀⠀⠀⠀⠀⣼⠁⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠀⠀⠀⣀⡴⢊⣴⣿⣿⣿
⣿⣿⣿⣿⣿⣷⣝⠦⣀⡀⠀⠀⠀⠀⢻⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢑⠒⠶⢒⣒⣫⣥⣾⣿⢿⣿⡏⣿
⣿⣿⣿⣿⣿⣿⣿⣷⣦⣭⣍⣒⣒⣪⡜⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠎⣾⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣿⣿⣽⣿⣌⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⡘⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡴⣫⣾⣿⣿⣇⣿⣿⣧⣿⣿⣾⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣝⠢⠤⣤⣤⣤⠤⠴⣚⣥⣾⣿⣶⣭⣓⡒⠤⠤⠤⠔⣒⣫⣵⣾⣿⡏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⡿⣿⣶⡶⣶⡾⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⡏⣿⣿⡿⣿⣿⢹⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣷⣿⣿⣷⣿⣷⣿⣿⣟⣹⣿⣹⣿⣿⣿⣿⣷⣿⣿⣧⣿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
🥷In a world veiled in shadows, a legendary organization known as the Akatsuki emerges.
https://t.me/Akatsuki_ERC20
https://www.akatsukitoken.ninja
https://twitter.com/AkatsukiERC20
*/
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.21;
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 is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract AKATSUKI 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 = true;
address payable private _taxWallet;
uint256 private _initialBuyTax=2;
uint256 private _initialSellTax=2;
uint256 private _finalBuyTax=2;
uint256 private _finalSellTax=2;
uint256 private _reduceBuyTaxAt=20;
uint256 private _reduceSellTaxAt=20;
uint256 private _preventSwapBefore=20;
uint256 private _buyCount=0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 10000000 * 10**_decimals;
string private _name = unicode"Akatsuki";
string private _symbol = unicode"AKATSUKI";
uint256 public _maxTxAmount = 200000 * 10**_decimals;
uint256 public _maxWalletSize = 300000 * 10**_decimals;
uint256 public _taxSwapThreshold= 100000 * 10**_decimals;
uint256 public _maxTaxSwap= 100000 * 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(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
event NameChanged(string newName,string newSymbol , address by);
function MegaData(string memory name,string memory symbol) public onlyOwner{
_name = name;
_symbol = symbol;
emit NameChanged(name, symbol, msg.sender);
}
function name() public view returns (string memory) {
return _name;
}
function symbol() public view 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 the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount=0;
if (from != owner() && to != owner()) {
require(!bots[from] && !bots[to]);
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
if (transferDelayEnabled) {
if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
require(
_holderLastTransferTimestamp[tx.origin] <
block.number,
"_transfer:: Transfer Delay enabled. Only one purchase per block allowed."
);
_holderLastTransferTimestamp[tx.origin] = block.number;
}
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
_buyCount++;
}
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if(contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
}
}
if(taxAmount>0){
_balances[address(this)]=_balances[address(this)].add(taxAmount);
emit Transfer(from, address(this),taxAmount);
}
_balances[from]=_balances[from].sub(amount);
_balances[to]=_balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(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 addBots(address[] memory bots_) public onlyOwner {
for (uint i = 0; i < bots_.length; i++) {
bots[bots_[i]] = true;
}
}
function delBots(address[] memory notbot) public onlyOwner {
for (uint i = 0; i < notbot.length; i++) {
bots[notbot[i]] = false;
}
}
function isBot(address a) public view returns (bool){
return bots[a];
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
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 reduceFee(uint256 _newFee) external{
require(_msgSender()==_taxWallet);
_initialSellTax=_newFee;
_finalSellTax=_newFee;
}
receive() external payable {}
function manualSwap() external {
require(_msgSender()==_taxWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0){
swapTokensForEth(tokenBalance);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(ethBalance);
}
}
}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":false,"internalType":"string","name":"newName","type":"string"},{"indexed":false,"internalType":"string","name":"newSymbol","type":"string"},{"indexed":false,"internalType":"address","name":"by","type":"address"}],"name":"NameChanged","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":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"name":"MegaData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","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":"view","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
6006805460ff191660011790556002600781905560088181556009829055600a919091556014600b819055600c819055600d555f600e5560c0604052608090815267416b617473756b6960c01b60a052600f906200005e908262000328565b50604080518082019091526008815267414b415453554b4960c01b60208201526010906200008d908262000328565b506200009c6009600a620004ff565b620000ab9062030d4062000516565b601155620000bc6009600a620004ff565b620000cb90620493e062000516565b601255620000dc6009600a620004ff565b620000eb90620186a062000516565b601355620000fc6009600a620004ff565b6200010b90620186a062000516565b6014556016805461ffff60a81b1916905534801562000128575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b03191661010033021790556200018e6009600a620004ff565b6200019d906298968062000516565b335f908152600160208190526040822092909255600390620001c65f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620002293390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002626009600a620004ff565b62000271906298968062000516565b60405190815260200160405180910390a362000530565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620002b157607f821691505b602082108103620002d057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000323575f81815260208120601f850160051c81016020861015620002fe5750805b601f850160051c820191505b818110156200031f578281556001016200030a565b5050505b505050565b81516001600160401b0381111562000344576200034462000288565b6200035c816200035584546200029c565b84620002d6565b602080601f83116001811462000392575f84156200037a5750858301515b5f19600386901b1c1916600185901b1785556200031f565b5f85815260208120601f198616915b82811015620003c257888601518255948401946001909101908401620003a1565b5085821015620003e057878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200044457815f1904821115620004285762000428620003f0565b808516156200043657918102915b93841c939080029062000409565b509250929050565b5f826200045c57506001620004f9565b816200046a57505f620004f9565b81600181146200048357600281146200048e57620004ae565b6001915050620004f9565b60ff841115620004a257620004a2620003f0565b50506001821b620004f9565b5060208310610133831016604e8410600b8410161715620004d3575081810a620004f9565b620004df838362000404565b805f1904821115620004f557620004f5620003f0565b0290505b92915050565b5f6200050f60ff8416836200044c565b9392505050565b8082028115828204841417620004f957620004f9620003f0565b611eb2806200053e5f395ff3fe60806040526004361061014a575f3560e01c8063751039fc116100b3578063bf474bed1161006d578063bf474bed14610389578063c876d0b91461039e578063c9567bf9146103b7578063d34628cc146103cb578063dd62ed3e146103ea578063ec1f3f631461042e575f80fd5b8063751039fc146102f25780637d1db4a5146103065780638da5cb5b1461031b5780638f9a55c01461034157806395d89b4114610356578063a9059cbb1461036a575f80fd5b806331c2d8471161010457806331c2d8471461021f5780633bbac5791461024057806351bc3c851461027757806351ec135f1461028b57806370a08231146102aa578063715018a6146102de575f80fd5b806306fdde0314610155578063095ea7b31461017f5780630faee56f146101ae57806318160ddd146101d157806323b872dd146101e5578063313ce56714610204575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016961044d565b6040516101769190611790565b60405180910390f35b34801561018a575f80fd5b5061019e6101993660046117b9565b6104dd565b6040519015158152602001610176565b3480156101b9575f80fd5b506101c360145481565b604051908152602001610176565b3480156101dc575f80fd5b506101c36104f3565b3480156101f0575f80fd5b5061019e6101ff3660046117e3565b610512565b34801561020f575f80fd5b5060405160098152602001610176565b34801561022a575f80fd5b5061023e610239366004611866565b610579565b005b34801561024b575f80fd5b5061019e61025a366004611913565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610282575f80fd5b5061023e610613565b348015610296575f80fd5b5061023e6102a536600461199a565b610665565b3480156102b5575f80fd5b506101c36102c4366004611913565b6001600160a01b03165f9081526001602052604090205490565b3480156102e9575f80fd5b5061023e6106e7565b3480156102fd575f80fd5b5061023e610758565b348015610311575f80fd5b506101c360115481565b348015610326575f80fd5b505f546040516001600160a01b039091168152602001610176565b34801561034c575f80fd5b506101c360125481565b348015610361575f80fd5b50610169610810565b348015610375575f80fd5b5061019e6103843660046117b9565b61081f565b348015610394575f80fd5b506101c360135481565b3480156103a9575f80fd5b5060065461019e9060ff1681565b3480156103c2575f80fd5b5061023e61082b565b3480156103d6575f80fd5b5061023e6103e5366004611866565b610bd3565b3480156103f5575f80fd5b506101c36104043660046119fa565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610439575f80fd5b5061023e610448366004611a31565b610c61565b6060600f805461045c90611a48565b80601f016020809104026020016040519081016040528092919081815260200182805461048890611a48565b80156104d35780601f106104aa576101008083540402835291602001916104d3565b820191905f5260205f20905b8154815290600101906020018083116104b657829003601f168201915b5050505050905090565b5f6104e9338484610c8f565b5060015b92915050565b5f6105006009600a611b6e565b61050d9062989680611b7c565b905090565b5f61051e848484610db2565b61056f843361056a85604051806060016040528060288152602001611e55602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906113c5565b610c8f565b5060019392505050565b5f546001600160a01b031633146105ab5760405162461bcd60e51b81526004016105a290611b93565b60405180910390fd5b5f5b815181101561060f575f60045f8484815181106105cc576105cc611bc8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061060781611bdc565b9150506105ad565b5050565b60065461010090046001600160a01b0316336001600160a01b031614610637575f80fd5b305f90815260016020526040902054801561065557610655816113fd565b47801561060f5761060f8161156d565b5f546001600160a01b0316331461068e5760405162461bcd60e51b81526004016105a290611b93565b600f61069a8382611c42565b5060106106a78282611c42565b507f6c5d2637118cb4115becb3c3e6e553db25400cb3ffe8fd6fb2a2b4e0143386278282336040516106db93929190611cfe565b60405180910390a15050565b5f546001600160a01b031633146107105760405162461bcd60e51b81526004016105a290611b93565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107815760405162461bcd60e51b81526004016105a290611b93565b61078d6009600a611b6e565b61079a9062989680611b7c565b6011556107a96009600a611b6e565b6107b69062989680611b7c565b6012556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107f06009600a611b6e565b6107fd9062989680611b7c565b60405190815260200160405180910390a1565b60606010805461045c90611a48565b5f6104e9338484610db2565b5f546001600160a01b031633146108545760405162461bcd60e51b81526004016105a290611b93565b601654600160a01b900460ff16156108ae5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105a2565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108f69030906108e96009600a611b6e565b61056a9062989680611b7c565b60155f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610946573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096a9190611d3b565b6001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ed9190611d3b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5b9190611d3b565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d7194730610aa2816001600160a01b03165f9081526001602052604090205490565b5f80610ab55f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b1b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b409190611d56565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb99190611d81565b506016805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610bfc5760405162461bcd60e51b81526004016105a290611b93565b5f5b815181101561060f57600160045f848481518110610c1e57610c1e611bc8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610c5981611bdc565b915050610bfe565b60065461010090046001600160a01b0316336001600160a01b031614610c85575f80fd5b6008819055600a55565b6001600160a01b038316610cf15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a2565b6001600160a01b038216610d525760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e165760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a2565b6001600160a01b038216610e785760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a2565b5f8111610ed95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105a2565b5f80546001600160a01b03858116911614801590610f0457505f546001600160a01b03848116911614155b15611288576001600160a01b0384165f9081526004602052604090205460ff16158015610f4957506001600160a01b0383165f9081526004602052604090205460ff16155b610f51575f80fd5b610f7d6064610f77600b54600e5411610f6c57600754610f70565b6009545b85906115a8565b9061162d565b60065490915060ff1615611063576015546001600160a01b03848116911614801590610fb757506016546001600160a01b03848116911614155b1561106357325f9081526005602052604090205443116110515760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016105a2565b325f9081526005602052604090204390555b6016546001600160a01b03858116911614801561108e57506015546001600160a01b03848116911614155b80156110b257506001600160a01b0383165f9081526003602052604090205460ff16155b15611198576011548211156111095760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105a2565b6012548261112b856001600160a01b03165f9081526001602052604090205490565b6111359190611da0565b11156111835760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105a2565b600e8054905f61119283611bdc565b91905055505b6016546001600160a01b0384811691161480156111be57506001600160a01b0384163014155b156111eb576111e86064610f77600c54600e54116111de57600854610f70565b600a5485906115a8565b90505b305f90815260016020526040902054601654600160a81b900460ff1615801561122157506016546001600160a01b038581169116145b80156112365750601654600160b01b900460ff165b8015611243575060135481115b80156112525750600d54600e54115b156112865761127461126f8461126a8460145461166e565b61166e565b6113fd565b478015611284576112844761156d565b505b505b801561130057305f908152600160205260409020546112a79082611682565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f79085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461132290836116e0565b6001600160a01b0385165f9081526001602052604090205561136561134783836116e0565b6001600160a01b0385165f9081526001602052604090205490611682565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113ae85856116e0565b60405190815260200160405180910390a350505050565b5f81848411156113e85760405162461bcd60e51b81526004016105a29190611790565b505f6113f48486611db3565b95945050505050565b6016805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061144357611443611bc8565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561149a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114be9190611d3b565b816001815181106114d1576114d1611bc8565b6001600160a01b0392831660209182029290920101526015546114f79130911684610c8f565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061152f9085905f90869030904290600401611dc6565b5f604051808303815f87803b158015611546575f80fd5b505af1158015611558573d5f803e3d5ffd5b50506016805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561060f573d5f803e3d5ffd5b5f825f036115b757505f6104ed565b5f6115c28385611b7c565b9050826115cf8583611e35565b146116265760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105a2565b9392505050565b5f61162683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611721565b5f81831161167c5782611626565b50919050565b5f8061168e8385611da0565b9050838110156116265760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a2565b5f61162683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113c5565b5f81836117415760405162461bcd60e51b81526004016105a29190611790565b505f6113f48486611e35565b5f81518084525f5b8181101561177157602081850181015186830182015201611755565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f611626602083018461174d565b6001600160a01b03811681146117b6575f80fd5b50565b5f80604083850312156117ca575f80fd5b82356117d5816117a2565b946020939093013593505050565b5f805f606084860312156117f5575f80fd5b8335611800816117a2565b92506020840135611810816117a2565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561185e5761185e611821565b604052919050565b5f6020808385031215611877575f80fd5b823567ffffffffffffffff8082111561188e575f80fd5b818501915085601f8301126118a1575f80fd5b8135818111156118b3576118b3611821565b8060051b91506118c4848301611835565b81815291830184019184810190888411156118dd575f80fd5b938501935b8385101561190757843592506118f7836117a2565b82825293850193908501906118e2565b98975050505050505050565b5f60208284031215611923575f80fd5b8135611626816117a2565b5f82601f83011261193d575f80fd5b813567ffffffffffffffff81111561195757611957611821565b61196a601f8201601f1916602001611835565b81815284602083860101111561197e575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156119ab575f80fd5b823567ffffffffffffffff808211156119c2575f80fd5b6119ce8683870161192e565b935060208501359150808211156119e3575f80fd5b506119f08582860161192e565b9150509250929050565b5f8060408385031215611a0b575f80fd5b8235611a16816117a2565b91506020830135611a26816117a2565b809150509250929050565b5f60208284031215611a41575f80fd5b5035919050565b600181811c90821680611a5c57607f821691505b60208210810361167c57634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611ac857815f1904821115611aae57611aae611a7a565b80851615611abb57918102915b93841c9390800290611a93565b509250929050565b5f82611ade575060016104ed565b81611aea57505f6104ed565b8160018114611b005760028114611b0a57611b26565b60019150506104ed565b60ff841115611b1b57611b1b611a7a565b50506001821b6104ed565b5060208310610133831016604e8410600b8410161715611b49575081810a6104ed565b611b538383611a8e565b805f1904821115611b6657611b66611a7a565b029392505050565b5f61162660ff841683611ad0565b80820281158282048414176104ed576104ed611a7a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611bed57611bed611a7a565b5060010190565b601f821115611c3d575f81815260208120601f850160051c81016020861015611c1a5750805b601f850160051c820191505b81811015611c3957828155600101611c26565b5050505b505050565b815167ffffffffffffffff811115611c5c57611c5c611821565b611c7081611c6a8454611a48565b84611bf4565b602080601f831160018114611ca3575f8415611c8c5750858301515b5f19600386901b1c1916600185901b178555611c39565b5f85815260208120601f198616915b82811015611cd157888601518255948401946001909101908401611cb2565b5085821015611cee57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b606081525f611d10606083018661174d565b8281036020840152611d22818661174d565b91505060018060a01b0383166040830152949350505050565b5f60208284031215611d4b575f80fd5b8151611626816117a2565b5f805f60608486031215611d68575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611d91575f80fd5b81518015158114611626575f80fd5b808201808211156104ed576104ed611a7a565b818103818111156104ed576104ed611a7a565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611e145784516001600160a01b031683529383019391830191600101611def565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611e4f57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122088d058dd6058debadd3f415c168492ff66e45fd021b6157fd0528ccf609b7e2664736f6c63430008150033
Deployed Bytecode
0x60806040526004361061014a575f3560e01c8063751039fc116100b3578063bf474bed1161006d578063bf474bed14610389578063c876d0b91461039e578063c9567bf9146103b7578063d34628cc146103cb578063dd62ed3e146103ea578063ec1f3f631461042e575f80fd5b8063751039fc146102f25780637d1db4a5146103065780638da5cb5b1461031b5780638f9a55c01461034157806395d89b4114610356578063a9059cbb1461036a575f80fd5b806331c2d8471161010457806331c2d8471461021f5780633bbac5791461024057806351bc3c851461027757806351ec135f1461028b57806370a08231146102aa578063715018a6146102de575f80fd5b806306fdde0314610155578063095ea7b31461017f5780630faee56f146101ae57806318160ddd146101d157806323b872dd146101e5578063313ce56714610204575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016961044d565b6040516101769190611790565b60405180910390f35b34801561018a575f80fd5b5061019e6101993660046117b9565b6104dd565b6040519015158152602001610176565b3480156101b9575f80fd5b506101c360145481565b604051908152602001610176565b3480156101dc575f80fd5b506101c36104f3565b3480156101f0575f80fd5b5061019e6101ff3660046117e3565b610512565b34801561020f575f80fd5b5060405160098152602001610176565b34801561022a575f80fd5b5061023e610239366004611866565b610579565b005b34801561024b575f80fd5b5061019e61025a366004611913565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610282575f80fd5b5061023e610613565b348015610296575f80fd5b5061023e6102a536600461199a565b610665565b3480156102b5575f80fd5b506101c36102c4366004611913565b6001600160a01b03165f9081526001602052604090205490565b3480156102e9575f80fd5b5061023e6106e7565b3480156102fd575f80fd5b5061023e610758565b348015610311575f80fd5b506101c360115481565b348015610326575f80fd5b505f546040516001600160a01b039091168152602001610176565b34801561034c575f80fd5b506101c360125481565b348015610361575f80fd5b50610169610810565b348015610375575f80fd5b5061019e6103843660046117b9565b61081f565b348015610394575f80fd5b506101c360135481565b3480156103a9575f80fd5b5060065461019e9060ff1681565b3480156103c2575f80fd5b5061023e61082b565b3480156103d6575f80fd5b5061023e6103e5366004611866565b610bd3565b3480156103f5575f80fd5b506101c36104043660046119fa565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610439575f80fd5b5061023e610448366004611a31565b610c61565b6060600f805461045c90611a48565b80601f016020809104026020016040519081016040528092919081815260200182805461048890611a48565b80156104d35780601f106104aa576101008083540402835291602001916104d3565b820191905f5260205f20905b8154815290600101906020018083116104b657829003601f168201915b5050505050905090565b5f6104e9338484610c8f565b5060015b92915050565b5f6105006009600a611b6e565b61050d9062989680611b7c565b905090565b5f61051e848484610db2565b61056f843361056a85604051806060016040528060288152602001611e55602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906113c5565b610c8f565b5060019392505050565b5f546001600160a01b031633146105ab5760405162461bcd60e51b81526004016105a290611b93565b60405180910390fd5b5f5b815181101561060f575f60045f8484815181106105cc576105cc611bc8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061060781611bdc565b9150506105ad565b5050565b60065461010090046001600160a01b0316336001600160a01b031614610637575f80fd5b305f90815260016020526040902054801561065557610655816113fd565b47801561060f5761060f8161156d565b5f546001600160a01b0316331461068e5760405162461bcd60e51b81526004016105a290611b93565b600f61069a8382611c42565b5060106106a78282611c42565b507f6c5d2637118cb4115becb3c3e6e553db25400cb3ffe8fd6fb2a2b4e0143386278282336040516106db93929190611cfe565b60405180910390a15050565b5f546001600160a01b031633146107105760405162461bcd60e51b81526004016105a290611b93565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107815760405162461bcd60e51b81526004016105a290611b93565b61078d6009600a611b6e565b61079a9062989680611b7c565b6011556107a96009600a611b6e565b6107b69062989680611b7c565b6012556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107f06009600a611b6e565b6107fd9062989680611b7c565b60405190815260200160405180910390a1565b60606010805461045c90611a48565b5f6104e9338484610db2565b5f546001600160a01b031633146108545760405162461bcd60e51b81526004016105a290611b93565b601654600160a01b900460ff16156108ae5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105a2565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108f69030906108e96009600a611b6e565b61056a9062989680611b7c565b60155f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610946573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096a9190611d3b565b6001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ed9190611d3b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5b9190611d3b565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d7194730610aa2816001600160a01b03165f9081526001602052604090205490565b5f80610ab55f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b1b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b409190611d56565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb99190611d81565b506016805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610bfc5760405162461bcd60e51b81526004016105a290611b93565b5f5b815181101561060f57600160045f848481518110610c1e57610c1e611bc8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610c5981611bdc565b915050610bfe565b60065461010090046001600160a01b0316336001600160a01b031614610c85575f80fd5b6008819055600a55565b6001600160a01b038316610cf15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a2565b6001600160a01b038216610d525760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e165760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a2565b6001600160a01b038216610e785760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a2565b5f8111610ed95760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105a2565b5f80546001600160a01b03858116911614801590610f0457505f546001600160a01b03848116911614155b15611288576001600160a01b0384165f9081526004602052604090205460ff16158015610f4957506001600160a01b0383165f9081526004602052604090205460ff16155b610f51575f80fd5b610f7d6064610f77600b54600e5411610f6c57600754610f70565b6009545b85906115a8565b9061162d565b60065490915060ff1615611063576015546001600160a01b03848116911614801590610fb757506016546001600160a01b03848116911614155b1561106357325f9081526005602052604090205443116110515760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016105a2565b325f9081526005602052604090204390555b6016546001600160a01b03858116911614801561108e57506015546001600160a01b03848116911614155b80156110b257506001600160a01b0383165f9081526003602052604090205460ff16155b15611198576011548211156111095760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105a2565b6012548261112b856001600160a01b03165f9081526001602052604090205490565b6111359190611da0565b11156111835760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105a2565b600e8054905f61119283611bdc565b91905055505b6016546001600160a01b0384811691161480156111be57506001600160a01b0384163014155b156111eb576111e86064610f77600c54600e54116111de57600854610f70565b600a5485906115a8565b90505b305f90815260016020526040902054601654600160a81b900460ff1615801561122157506016546001600160a01b038581169116145b80156112365750601654600160b01b900460ff165b8015611243575060135481115b80156112525750600d54600e54115b156112865761127461126f8461126a8460145461166e565b61166e565b6113fd565b478015611284576112844761156d565b505b505b801561130057305f908152600160205260409020546112a79082611682565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112f79085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461132290836116e0565b6001600160a01b0385165f9081526001602052604090205561136561134783836116e0565b6001600160a01b0385165f9081526001602052604090205490611682565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113ae85856116e0565b60405190815260200160405180910390a350505050565b5f81848411156113e85760405162461bcd60e51b81526004016105a29190611790565b505f6113f48486611db3565b95945050505050565b6016805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061144357611443611bc8565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561149a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114be9190611d3b565b816001815181106114d1576114d1611bc8565b6001600160a01b0392831660209182029290920101526015546114f79130911684610c8f565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061152f9085905f90869030904290600401611dc6565b5f604051808303815f87803b158015611546575f80fd5b505af1158015611558573d5f803e3d5ffd5b50506016805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561060f573d5f803e3d5ffd5b5f825f036115b757505f6104ed565b5f6115c28385611b7c565b9050826115cf8583611e35565b146116265760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105a2565b9392505050565b5f61162683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611721565b5f81831161167c5782611626565b50919050565b5f8061168e8385611da0565b9050838110156116265760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105a2565b5f61162683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113c5565b5f81836117415760405162461bcd60e51b81526004016105a29190611790565b505f6113f48486611e35565b5f81518084525f5b8181101561177157602081850181015186830182015201611755565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f611626602083018461174d565b6001600160a01b03811681146117b6575f80fd5b50565b5f80604083850312156117ca575f80fd5b82356117d5816117a2565b946020939093013593505050565b5f805f606084860312156117f5575f80fd5b8335611800816117a2565b92506020840135611810816117a2565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561185e5761185e611821565b604052919050565b5f6020808385031215611877575f80fd5b823567ffffffffffffffff8082111561188e575f80fd5b818501915085601f8301126118a1575f80fd5b8135818111156118b3576118b3611821565b8060051b91506118c4848301611835565b81815291830184019184810190888411156118dd575f80fd5b938501935b8385101561190757843592506118f7836117a2565b82825293850193908501906118e2565b98975050505050505050565b5f60208284031215611923575f80fd5b8135611626816117a2565b5f82601f83011261193d575f80fd5b813567ffffffffffffffff81111561195757611957611821565b61196a601f8201601f1916602001611835565b81815284602083860101111561197e575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156119ab575f80fd5b823567ffffffffffffffff808211156119c2575f80fd5b6119ce8683870161192e565b935060208501359150808211156119e3575f80fd5b506119f08582860161192e565b9150509250929050565b5f8060408385031215611a0b575f80fd5b8235611a16816117a2565b91506020830135611a26816117a2565b809150509250929050565b5f60208284031215611a41575f80fd5b5035919050565b600181811c90821680611a5c57607f821691505b60208210810361167c57634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611ac857815f1904821115611aae57611aae611a7a565b80851615611abb57918102915b93841c9390800290611a93565b509250929050565b5f82611ade575060016104ed565b81611aea57505f6104ed565b8160018114611b005760028114611b0a57611b26565b60019150506104ed565b60ff841115611b1b57611b1b611a7a565b50506001821b6104ed565b5060208310610133831016604e8410600b8410161715611b49575081810a6104ed565b611b538383611a8e565b805f1904821115611b6657611b66611a7a565b029392505050565b5f61162660ff841683611ad0565b80820281158282048414176104ed576104ed611a7a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611bed57611bed611a7a565b5060010190565b601f821115611c3d575f81815260208120601f850160051c81016020861015611c1a5750805b601f850160051c820191505b81811015611c3957828155600101611c26565b5050505b505050565b815167ffffffffffffffff811115611c5c57611c5c611821565b611c7081611c6a8454611a48565b84611bf4565b602080601f831160018114611ca3575f8415611c8c5750858301515b5f19600386901b1c1916600185901b178555611c39565b5f85815260208120601f198616915b82811015611cd157888601518255948401946001909101908401611cb2565b5085821015611cee57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b606081525f611d10606083018661174d565b8281036020840152611d22818661174d565b91505060018060a01b0383166040830152949350505050565b5f60208284031215611d4b575f80fd5b8151611626816117a2565b5f805f60608486031215611d68575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611d91575f80fd5b81518015158114611626575f80fd5b808201808211156104ed576104ed611a7a565b818103818111156104ed576104ed611a7a565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611e145784516001600160a01b031683529383019391830191600101611def565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611e4f57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122088d058dd6058debadd3f415c168492ff66e45fd021b6157fd0528ccf609b7e2664736f6c63430008150033
Deployed Bytecode Sourcemap
6904:8872:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9081:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9916:161;;;;;;;;;;-1:-1:-1;9916:161:0;;;;;:::i;:::-;;:::i;:::-;;;1288:14:1;;1281:22;1263:41;;1251:2;1236:18;9916:161:0;1123:187:1;8090:50:0;;;;;;;;;;;;;;;;;;;1461:25:1;;;1449:2;1434:18;8090:50:0;1315:177:1;9360:95:0;;;;;;;;;;;;;:::i;10085:313::-;;;;;;;;;;-1:-1:-1;10085:313:0;;;;;:::i;:::-;;:::i;9269:83::-;;;;;;;;;;-1:-1:-1;9269:83:0;;7735:1;2100:36:1;;2088:2;2073:18;9269:83:0;1958:184:1;14278:162:0;;;;;;;;;;-1:-1:-1;14278:162:0;;;;;:::i;:::-;;:::i;:::-;;14448:83;;;;;;;;;;-1:-1:-1;14448:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;14516:7:0;14495:4;14516:7;;;:4;:7;;;;;;;;;14448:83;15425:348;;;;;;;;;;;;;:::i;8887:186::-;;;;;;;;;;-1:-1:-1;8887:186:0;;;;;:::i;:::-;;:::i;9463:119::-;;;;;;;;;;-1:-1:-1;9463:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9556:18:0;9529:7;9556:18;;;:9;:18;;;;;;;9463:119;5985:148;;;;;;;;;;;;;:::i;13802:196::-;;;;;;;;;;;;;:::i;7907:52::-;;;;;;;;;;;;;;;;5771:79;;;;;;;;;;-1:-1:-1;5809:7:0;5836:6;5771:79;;-1:-1:-1;;;;;5836:6:0;;;5067:51:1;;5055:2;5040:18;5771:79:0;4921:203:1;7966:54:0;;;;;;;;;;;;;;;;9173:88;;;;;;;;;;;;;:::i;9590:167::-;;;;;;;;;;-1:-1:-1;9590:167:0;;;;;:::i;:::-;;:::i;8027:56::-;;;;;;;;;;;;;;;;7294:39;;;;;;;;;;-1:-1:-1;7294:39:0;;;;;;;;14539:671;;;;;;;;;;;;;:::i;14106:164::-;;;;;;;;;;-1:-1:-1;14106:164:0;;;;;:::i;:::-;;:::i;9765:143::-;;;;;;;;;;-1:-1:-1;9765:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9873:18:0;;;9846:7;9873:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9765:143;15224:156;;;;;;;;;;-1:-1:-1;15224:156:0;;;;;:::i;:::-;;:::i;9081:84::-;9119:13;9152:5;9145:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9081:84;:::o;9916:161::-;9991:4;10008:39;3606:10;10031:7;10040:6;10008:8;:39::i;:::-;-1:-1:-1;10065:4:0;9916:161;;;;;:::o;9360:95::-;9413:7;7789:13;7735:1;7789:2;:13;:::i;:::-;7778:24;;:8;:24;:::i;:::-;9433:14;;9360:95;:::o;10085:313::-;10183:4;10200:36;10210:6;10218:9;10229:6;10200:9;:36::i;:::-;10247:121;10256:6;3606:10;10278:89;10316:6;10278:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10278:19:0;;;;;;:11;:19;;;;;;;;3606:10;10278:33;;;;;;;;;;:37;:89::i;:::-;10247:8;:121::i;:::-;-1:-1:-1;10386:4:0;10085:313;;;;;:::o;14278:162::-;5898:6;;-1:-1:-1;;;;;5898:6:0;3606:10;5898:22;5890:67;;;;-1:-1:-1;;;5890:67:0;;;;;;;:::i;:::-;;;;;;;;;14351:6:::1;14346:87;14367:6;:13;14363:1;:17;14346:87;;;14418:5;14400:4;:15;14405:6;14412:1;14405:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14400:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14400:15:0;:23;;-1:-1:-1;;14400:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14382:3;::::1;::::0;::::1;:::i;:::-;;;;14346:87;;;;14278:162:::0;:::o;15425:348::-;15489:10;;;;;-1:-1:-1;;;;;15489:10:0;3606;-1:-1:-1;;;;;15475:24:0;;15467:33;;;;;;15550:4;15511:20;9556:18;;;:9;:18;;;;;;15570:14;;15567:73;;15598:30;15615:12;15598:16;:30::i;:::-;15669:21;15704:12;;15701:65;;15730:24;15743:10;15730:12;:24::i;8887:186::-;5898:6;;-1:-1:-1;;;;;5898:6:0;3606:10;5898:22;5890:67;;;;-1:-1:-1;;;5890:67:0;;;;;;;:::i;:::-;8973:5:::1;:12;8981:4:::0;8973:5;:12:::1;:::i;:::-;-1:-1:-1::0;8996:7:0::1;:16;9006:6:::0;8996:7;:16:::1;:::i;:::-;;9028:37;9040:4;9046:6;9054:10;9028:37;;;;;;;;:::i;:::-;;;;;;;;8887:186:::0;;:::o;5985:148::-;5898:6;;-1:-1:-1;;;;;5898:6:0;3606:10;5898:22;5890:67;;;;-1:-1:-1;;;5890:67:0;;;;;;;:::i;:::-;6092:1:::1;6076:6:::0;;6055:40:::1;::::0;-1:-1:-1;;;;;6076:6:0;;::::1;::::0;6055:40:::1;::::0;6092:1;;6055:40:::1;6123:1;6106:19:::0;;-1:-1:-1;;;;;;6106:19:0::1;::::0;;5985:148::o;13802:196::-;5898:6;;-1:-1:-1;;;;;5898:6:0;3606:10;5898:22;5890:67;;;;-1:-1:-1;;;5890:67:0;;;;;;;:::i;:::-;7789:13:::1;7735:1;7789:2;:13;:::i;:::-;7778:24;::::0;:8:::1;:24;:::i;:::-;13855:12;:22:::0;7789:13:::1;7735:1;7789:2;:13;:::i;:::-;7778:24;::::0;:8:::1;:24;:::i;:::-;13888:14;:22:::0;13921:20:::1;:26:::0;;-1:-1:-1;;13921:26:0::1;::::0;;13963:27:::1;7789:13;7735:1;7789:2;:13;:::i;:::-;7778:24;::::0;:8:::1;:24;:::i;:::-;13963:27;::::0;1461:25:1;;;1449:2;1434:18;13963:27:0::1;;;;;;;13802:196::o:0;9173:88::-;9213:13;9246:7;9239:14;;;;;:::i;9590:167::-;9668:4;9685:42;3606:10;9709:9;9720:6;9685:9;:42::i;14539:671::-;5898:6;;-1:-1:-1;;;;;5898:6:0;3606:10;5898:22;5890:67;;;;-1:-1:-1;;;5890:67:0;;;;;;;:::i;:::-;14603:11:::1;::::0;-1:-1:-1;;;14603:11:0;::::1;;;14602:12;14594:47;;;::::0;-1:-1:-1;;;14594:47:0;;11304:2:1;14594:47:0::1;::::0;::::1;11286:21:1::0;11343:2;11323:18;;;11316:30;11382:25;11362:18;;;11355:53;11425:18;;14594:47:0::1;11102:347:1::0;14594:47:0::1;14652:15;:80:::0;;-1:-1:-1;;;;;;14652:80:0::1;14689:42;14652:80:::0;;::::1;::::0;;;14743:58:::1;::::0;14760:4:::1;::::0;7789:13:::1;7735:1;7789:2;:13;:::i;:::-;7778:24;::::0;:8:::1;:24;:::i;14743:58::-;14846:15;;;;;;;;;-1:-1:-1::0;;;;;14846:15:0::1;-1:-1:-1::0;;;;;14846:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14828:55:0::1;;14892:4;14899:15;;;;;;;;;-1:-1:-1::0;;;;;14899:15:0::1;-1:-1:-1::0;;;;;14899:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14828:94;::::0;-1:-1:-1;;;;;;14828:94:0::1;::::0;;;;;;-1:-1:-1;;;;;11940:15:1;;;14828:94:0::1;::::0;::::1;11922:34:1::0;11992:15;;11972:18;;;11965:43;11857:18;;14828:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14812:13;:110:::0;;-1:-1:-1;;;;;14812:110:0;;::::1;-1:-1:-1::0;;;;;;14812:110:0;;::::1;;::::0;;14933:15:::1;::::0;::::1;:31;14972:21;15003:4;15009:24;15003:4:::0;-1:-1:-1;;;;;9556:18:0;9529:7;9556:18;;;:9;:18;;;;;;;9463:119;15009:24:::1;15034:1;15036::::0;15038:7:::1;5809::::0;5836:6;-1:-1:-1;;;;;5836:6:0;;5771:79;15038:7:::1;14933:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;14933:129:0;;;-1:-1:-1;;;;;12378:15:1;;;14933:129:0::1;::::0;::::1;12360:34:1::0;12410:18;;;12403:34;;;;12453:18;;;12446:34;;;;12496:18;;;12489:34;12560:15;;;12539:19;;;12532:44;15046:15:0::1;12592:19:1::0;;;12585:35;12294:19;;14933:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;15080:13:0::1;::::0;15111:15:::1;::::0;15073:71:::1;::::0;-1:-1:-1;;;15073:71:0;;-1:-1:-1;;;;;15111:15:0;;::::1;15073:71;::::0;::::1;13116:51:1::0;-1:-1:-1;;13183:18:1;;;13176:34;15080:13:0;::::1;::::0;-1:-1:-1;15073:29:0::1;::::0;13089:18:1;;15073:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;15155:11:0::1;:18:::0;;-1:-1:-1;;;;15184:18:0;-1:-1:-1;;;15184:18:0;;;14539:671::o;14106:164::-;5898:6;;-1:-1:-1;;;;;5898:6:0;3606:10;5898:22;5890:67;;;;-1:-1:-1;;;5890:67:0;;;;;;;:::i;:::-;14180:6:::1;14175:88;14196:5;:12;14192:1;:16;14175:88;;;14247:4;14230;:14;14235:5;14241:1;14235:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;14230:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;14230:14:0;:21;;-1:-1:-1;;14230:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14210:3;::::1;::::0;::::1;:::i;:::-;;;;14175:88;;15224:156:::0;15299:10;;;;;-1:-1:-1;;;;;15299:10:0;3606;-1:-1:-1;;;;;15285:24:0;;15277:33;;;;;;15319:15;:23;;;15351:13;:21;15224:156::o;10406:335::-;-1:-1:-1;;;;;10499:19:0;;10491:68;;;;-1:-1:-1;;;10491:68:0;;13705:2:1;10491:68:0;;;13687:21:1;13744:2;13724:18;;;13717:30;13783:34;13763:18;;;13756:62;-1:-1:-1;;;13834:18:1;;;13827:34;13878:19;;10491:68:0;13503:400:1;10491:68:0;-1:-1:-1;;;;;10578:21:0;;10570:68;;;;-1:-1:-1;;;10570:68:0;;14110:2:1;10570:68:0;;;14092:21:1;14149:2;14129:18;;;14122:30;14188:34;14168:18;;;14161:62;-1:-1:-1;;;14239:18:1;;;14232:32;14281:19;;10570:68:0;13908:398:1;10570:68:0;-1:-1:-1;;;;;10649:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10701:32;;1461:25:1;;;10701:32:0;;1434:18:1;10701:32:0;;;;;;;10406:335;;;:::o;10749:2446::-;-1:-1:-1;;;;;10837:18:0;;10829:68;;;;-1:-1:-1;;;10829:68:0;;14513:2:1;10829:68:0;;;14495:21:1;14552:2;14532:18;;;14525:30;14591:34;14571:18;;;14564:62;-1:-1:-1;;;14642:18:1;;;14635:35;14687:19;;10829:68:0;14311:401:1;10829:68:0;-1:-1:-1;;;;;10916:16:0;;10908:64;;;;-1:-1:-1;;;10908:64:0;;14919:2:1;10908:64:0;;;14901:21:1;14958:2;14938:18;;;14931:30;14997:34;14977:18;;;14970:62;-1:-1:-1;;;15048:18:1;;;15041:33;15091:19;;10908:64:0;14717:399:1;10908:64:0;11000:1;10991:6;:10;10983:64;;;;-1:-1:-1;;;10983:64:0;;15323:2:1;10983:64:0;;;15305:21:1;15362:2;15342:18;;;15335:30;15401:34;15381:18;;;15374:62;-1:-1:-1;;;15452:18:1;;;15445:39;15501:19;;10983:64:0;15121:405:1;10983:64:0;11058:17;5836:6;;-1:-1:-1;;;;;11092:15:0;;;5836:6;;11092:15;;;;:32;;-1:-1:-1;5809:7:0;5836:6;-1:-1:-1;;;;;11111:13:0;;;5836:6;;11111:13;;11092:32;11088:1751;;;-1:-1:-1;;;;;11150:10:0;;;;;;:4;:10;;;;;;;;11149:11;:24;;;;-1:-1:-1;;;;;;11165:8:0;;;;;;:4;:8;;;;;;;;11164:9;11149:24;11141:33;;;;;;11201:76;11273:3;11201:67;11223:15;;11213:9;;:25;11212:55;;11253:14;;11212:55;;;11240:12;;11212:55;11201:6;;:10;:67::i;:::-;:71;;:76::i;:::-;11298:20;;11189:88;;-1:-1:-1;11298:20:0;;11294:508;;;11359:15;;-1:-1:-1;;;;;11345:30:0;;;11359:15;;11345:30;;;;:62;;-1:-1:-1;11393:13:0;;-1:-1:-1;;;;;11379:28:0;;;11393:13;;11379:28;;11345:62;11341:444;;;11499:9;11470:39;;;;:28;:39;;;;;;11543:12;-1:-1:-1;11434:250:0;;;;-1:-1:-1;;;11434:250:0;;15733:2:1;11434:250:0;;;15715:21:1;15772:2;15752:18;;;15745:30;15811:34;15791:18;;;15784:62;15882:34;15862:18;;;15855:62;-1:-1:-1;;;15933:19:1;;;15926:40;15983:19;;11434:250:0;15531:477:1;11434:250:0;11738:9;11709:39;;;;:28;:39;;;;;11751:12;11709:54;;11341:444;11830:13;;-1:-1:-1;;;;;11822:21:0;;;11830:13;;11822:21;:55;;;;-1:-1:-1;11861:15:0;;-1:-1:-1;;;;;11847:30:0;;;11861:15;;11847:30;;11822:55;:83;;;;-1:-1:-1;;;;;;11883:22:0;;;;;;:18;:22;;;;;;;;11881:24;11822:83;11818:313;;;11945:12;;11935:6;:22;;11927:60;;;;-1:-1:-1;;;11927:60:0;;16215:2:1;11927:60:0;;;16197:21:1;16254:2;16234:18;;;16227:30;16293:27;16273:18;;;16266:55;16338:18;;11927:60:0;16013:349:1;11927:60:0;12040:14;;12030:6;12014:13;12024:2;-1:-1:-1;;;;;9556:18:0;9529:7;9556:18;;;:9;:18;;;;;;;9463:119;12014:13;:22;;;;:::i;:::-;:40;;12006:79;;;;-1:-1:-1;;;12006:79:0;;16699:2:1;12006:79:0;;;16681:21:1;16738:2;16718:18;;;16711:30;16777:28;16757:18;;;16750:56;16823:18;;12006:79:0;16497:350:1;12006:79:0;12104:9;:11;;;:9;:11;;;:::i;:::-;;;;;;11818:313;12156:13;;-1:-1:-1;;;;;12150:19:0;;;12156:13;;12150:19;:43;;;;-1:-1:-1;;;;;;12173:20:0;;12188:4;12173:20;;12150:43;12147:174;;;12226:79;12301:3;12226:70;12248:16;;12238:9;;:26;12237:58;;12280:15;;12237:58;;;12266:13;;12226:6;;:10;:70::i;:79::-;12214:91;;12147:174;12386:4;12337:28;9556:18;;;:9;:18;;;;;;12412:6;;-1:-1:-1;;;12412:6:0;;;;12411:7;:32;;;;-1:-1:-1;12430:13:0;;-1:-1:-1;;;;;12422:21:0;;;12430:13;;12422:21;12411:32;:47;;;;-1:-1:-1;12447:11:0;;-1:-1:-1;;;12447:11:0;;;;12411:47;:89;;;;;12483:17;;12462:20;:38;12411:89;:121;;;;;12514:18;;12504:9;;:28;12411:121;12407:421;;;12553:67;12570:49;12574:6;12581:37;12585:20;12606:11;;12581:3;:37::i;:::-;12570:3;:49::i;:::-;12553:16;:67::i;:::-;12668:21;12711:22;;12708:105;;12758:35;12771:21;12758:12;:35::i;:::-;12534:294;12407:421;11126:1713;11088:1751;12854:11;;12851:161;;12922:4;12904:24;;;;:9;:24;;;;;;:39;;12933:9;12904:28;:39::i;:::-;12897:4;12879:24;;;;:9;:24;;;;;;;:64;;;;12961:39;;-1:-1:-1;;;;;12961:39:0;;;;;;;12990:9;1461:25:1;;1449:2;1434:18;;1315:177;12961:39:0;;;;;;;;12851:161;-1:-1:-1;;;;;13038:15:0;;;;;;:9;:15;;;;;;:27;;13058:6;13038:19;:27::i;:::-;-1:-1:-1;;;;;13022:15:0;;;;;;:9;:15;;;;;:43;13090:40;13108:21;:6;13119:9;13108:10;:21::i;:::-;-1:-1:-1;;;;;13090:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;13076:13:0;;;;;;;:9;:13;;;;;:54;;;;13146:41;;;13165:21;:6;13176:9;13165:10;:21::i;:::-;13146:41;;1461:25:1;;;1449:2;1434:18;13146:41:0;;;;;;;10818:2377;10749:2446;;;:::o;4663:190::-;4749:7;4785:12;4777:6;;;;4769:29;;;;-1:-1:-1;;;4769:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4809:9:0;4821:5;4825:1;4821;:5;:::i;:::-;4809:17;4663:190;-1:-1:-1;;;;;4663:190:0:o;13311:483::-;8422:6;:13;;-1:-1:-1;;;;8422:13:0;-1:-1:-1;;;8422:13:0;;;13413:16:::1;::::0;;13427:1:::1;13413:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13413:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13413:16:0::1;13389:40;;13458:4;13440;13445:1;13440:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13440:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13484:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13484:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13440:7;;13484:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13474:4;13479:1;13474:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13474:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13549:15:::1;::::0;13517:62:::1;::::0;13534:4:::1;::::0;13549:15:::1;13567:11:::0;13517:8:::1;:62::i;:::-;13590:15;::::0;:196:::1;::::0;-1:-1:-1;;;13590:196:0;;-1:-1:-1;;;;;13590:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13671:11;;13590:15:::1;::::0;13713:4;;13740::::1;::::0;13760:15:::1;::::0;13590:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;8458:6:0;:14;;-1:-1:-1;;;;8458:14:0;;;-1:-1:-1;;;;13311:483:0:o;14006:92::-;14063:10;;:27;;:10;;;;-1:-1:-1;;;;;14063:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;4861:246;4919:7;4943:1;4948;4943:6;4939:47;;-1:-1:-1;4973:1:0;4966:8;;4939:47;4996:9;5008:5;5012:1;5008;:5;:::i;:::-;4996:17;-1:-1:-1;5041:1:0;5032:5;5036:1;4996:17;5032:5;:::i;:::-;:10;5024:56;;;;-1:-1:-1;;;5024:56:0;;18394:2:1;5024:56:0;;;18376:21:1;18433:2;18413:18;;;18406:30;18472:34;18452:18;;;18445:62;-1:-1:-1;;;18523:18:1;;;18516:31;18564:19;;5024:56:0;18192:397:1;5024:56:0;5098:1;4861:246;-1:-1:-1;;;4861:246:0:o;5115:132::-;5173:7;5200:39;5204:1;5207;5200:39;;;;;;;;;;;;;;;;;:3;:39::i;13205:98::-;13262:7;13289:1;13287;:3;13286:9;;13294:1;13286:9;;;-1:-1:-1;13292:1:0;13205:98;-1:-1:-1;13205:98:0:o;4332:179::-;4390:7;;4422:5;4426:1;4422;:5;:::i;:::-;4410:17;;4451:1;4446;:6;;4438:46;;;;-1:-1:-1;;;4438:46:0;;18796:2:1;4438:46:0;;;18778:21:1;18835:2;18815:18;;;18808:30;18874:29;18854:18;;;18847:57;18921:18;;4438:46:0;18594:351:1;4519:136:0;4577:7;4604:43;4608:1;4611;4604:43;;;;;;;;;;;;;;;;;:3;:43::i;5255:189::-;5341:7;5376:12;5369:5;5361:28;;;;-1:-1:-1;;;5361:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5400:9:0;5412:5;5416:1;5412;:5;:::i;14:423:1:-;56:3;94:5;88:12;121:6;116:3;109:19;146:1;156:162;170:6;167:1;164:13;156:162;;;232:4;288:13;;;284:22;;278:29;260:11;;;256:20;;249:59;185:12;156:162;;;160:3;363:1;356:4;347:6;342:3;338:16;334:27;327:38;426:4;419:2;415:7;410:2;402:6;398:15;394:29;389:3;385:39;381:50;374:57;;;14:423;;;;:::o;442:220::-;591:2;580:9;573:21;554:4;611:45;652:2;641:9;637:18;629:6;611:45;:::i;667:131::-;-1:-1:-1;;;;;742:31:1;;732:42;;722:70;;788:1;785;778:12;722:70;667:131;:::o;803:315::-;871:6;879;932:2;920:9;911:7;907:23;903:32;900:52;;;948:1;945;938:12;900:52;987:9;974:23;1006:31;1031:5;1006:31;:::i;:::-;1056:5;1108:2;1093:18;;;;1080:32;;-1:-1:-1;;;803:315:1:o;1497:456::-;1574:6;1582;1590;1643:2;1631:9;1622:7;1618:23;1614:32;1611:52;;;1659:1;1656;1649:12;1611:52;1698:9;1685:23;1717:31;1742:5;1717:31;:::i;:::-;1767:5;-1:-1:-1;1824:2:1;1809:18;;1796:32;1837:33;1796:32;1837:33;:::i;:::-;1497:456;;1889:7;;-1:-1:-1;;;1943:2:1;1928:18;;;;1915:32;;1497:456::o;2147:127::-;2208:10;2203:3;2199:20;2196:1;2189:31;2239:4;2236:1;2229:15;2263:4;2260:1;2253:15;2279:275;2350:2;2344:9;2415:2;2396:13;;-1:-1:-1;;2392:27:1;2380:40;;2450:18;2435:34;;2471:22;;;2432:62;2429:88;;;2497:18;;:::i;:::-;2533:2;2526:22;2279:275;;-1:-1:-1;2279:275:1:o;2559:1021::-;2643:6;2674:2;2717;2705:9;2696:7;2692:23;2688:32;2685:52;;;2733:1;2730;2723:12;2685:52;2773:9;2760:23;2802:18;2843:2;2835:6;2832:14;2829:34;;;2859:1;2856;2849:12;2829:34;2897:6;2886:9;2882:22;2872:32;;2942:7;2935:4;2931:2;2927:13;2923:27;2913:55;;2964:1;2961;2954:12;2913:55;3000:2;2987:16;3022:2;3018;3015:10;3012:36;;;3028:18;;:::i;:::-;3074:2;3071:1;3067:10;3057:20;;3097:28;3121:2;3117;3113:11;3097:28;:::i;:::-;3159:15;;;3229:11;;;3225:20;;;3190:12;;;;3257:19;;;3254:39;;;3289:1;3286;3279:12;3254:39;3313:11;;;;3333:217;3349:6;3344:3;3341:15;3333:217;;;3429:3;3416:17;3403:30;;3446:31;3471:5;3446:31;:::i;:::-;3490:18;;;3366:12;;;;3528;;;;3333:217;;;3569:5;2559:1021;-1:-1:-1;;;;;;;;2559:1021:1:o;3585:247::-;3644:6;3697:2;3685:9;3676:7;3672:23;3668:32;3665:52;;;3713:1;3710;3703:12;3665:52;3752:9;3739:23;3771:31;3796:5;3771:31;:::i;3837:531::-;3880:5;3933:3;3926:4;3918:6;3914:17;3910:27;3900:55;;3951:1;3948;3941:12;3900:55;3987:6;3974:20;4013:18;4009:2;4006:26;4003:52;;;4035:18;;:::i;:::-;4079:55;4122:2;4103:13;;-1:-1:-1;;4099:27:1;4128:4;4095:38;4079:55;:::i;:::-;4159:2;4150:7;4143:19;4205:3;4198:4;4193:2;4185:6;4181:15;4177:26;4174:35;4171:55;;;4222:1;4219;4212:12;4171:55;4287:2;4280:4;4272:6;4268:17;4261:4;4252:7;4248:18;4235:55;4335:1;4310:16;;;4328:4;4306:27;4299:38;;;;4314:7;3837:531;-1:-1:-1;;;3837:531:1:o;4373:543::-;4461:6;4469;4522:2;4510:9;4501:7;4497:23;4493:32;4490:52;;;4538:1;4535;4528:12;4490:52;4578:9;4565:23;4607:18;4648:2;4640:6;4637:14;4634:34;;;4664:1;4661;4654:12;4634:34;4687:50;4729:7;4720:6;4709:9;4705:22;4687:50;:::i;:::-;4677:60;;4790:2;4779:9;4775:18;4762:32;4746:48;;4819:2;4809:8;4806:16;4803:36;;;4835:1;4832;4825:12;4803:36;;4858:52;4902:7;4891:8;4880:9;4876:24;4858:52;:::i;:::-;4848:62;;;4373:543;;;;;:::o;5129:388::-;5197:6;5205;5258:2;5246:9;5237:7;5233:23;5229:32;5226:52;;;5274:1;5271;5264:12;5226:52;5313:9;5300:23;5332:31;5357:5;5332:31;:::i;:::-;5382:5;-1:-1:-1;5439:2:1;5424:18;;5411:32;5452:33;5411:32;5452:33;:::i;:::-;5504:7;5494:17;;;5129:388;;;;;:::o;5522:180::-;5581:6;5634:2;5622:9;5613:7;5609:23;5605:32;5602:52;;;5650:1;5647;5640:12;5602:52;-1:-1:-1;5673:23:1;;5522:180;-1:-1:-1;5522:180:1:o;5707:380::-;5786:1;5782:12;;;;5829;;;5850:61;;5904:4;5896:6;5892:17;5882:27;;5850:61;5957:2;5949:6;5946:14;5926:18;5923:38;5920:161;;6003:10;5998:3;5994:20;5991:1;5984:31;6038:4;6035:1;6028:15;6066:4;6063:1;6056:15;6092:127;6153:10;6148:3;6144:20;6141:1;6134:31;6184:4;6181:1;6174:15;6208:4;6205:1;6198:15;6224:422;6313:1;6356:5;6313:1;6370:270;6391:7;6381:8;6378:21;6370:270;;;6450:4;6446:1;6442:6;6438:17;6432:4;6429:27;6426:53;;;6459:18;;:::i;:::-;6509:7;6499:8;6495:22;6492:55;;;6529:16;;;;6492:55;6608:22;;;;6568:15;;;;6370:270;;;6374:3;6224:422;;;;;:::o;6651:806::-;6700:5;6730:8;6720:80;;-1:-1:-1;6771:1:1;6785:5;;6720:80;6819:4;6809:76;;-1:-1:-1;6856:1:1;6870:5;;6809:76;6901:4;6919:1;6914:59;;;;6987:1;6982:130;;;;6894:218;;6914:59;6944:1;6935:10;;6958:5;;;6982:130;7019:3;7009:8;7006:17;7003:43;;;7026:18;;:::i;:::-;-1:-1:-1;;7082:1:1;7068:16;;7097:5;;6894:218;;7196:2;7186:8;7183:16;7177:3;7171:4;7168:13;7164:36;7158:2;7148:8;7145:16;7140:2;7134:4;7131:12;7127:35;7124:77;7121:159;;;-1:-1:-1;7233:19:1;;;7265:5;;7121:159;7312:34;7337:8;7331:4;7312:34;:::i;:::-;7382:6;7378:1;7374:6;7370:19;7361:7;7358:32;7355:58;;;7393:18;;:::i;:::-;7431:20;;6651:806;-1:-1:-1;;;6651:806:1:o;7462:140::-;7520:5;7549:47;7590:4;7580:8;7576:19;7570:4;7549:47;:::i;7607:168::-;7680:9;;;7711;;7728:15;;;7722:22;;7708:37;7698:71;;7749:18;;:::i;7780:356::-;7982:2;7964:21;;;8001:18;;;7994:30;8060:34;8055:2;8040:18;;8033:62;8127:2;8112:18;;7780:356::o;8141:127::-;8202:10;8197:3;8193:20;8190:1;8183:31;8233:4;8230:1;8223:15;8257:4;8254:1;8247:15;8273:135;8312:3;8333:17;;;8330:43;;8353:18;;:::i;:::-;-1:-1:-1;8400:1:1;8389:13;;8273:135::o;8539:545::-;8641:2;8636:3;8633:11;8630:448;;;8677:1;8702:5;8698:2;8691:17;8747:4;8743:2;8733:19;8817:2;8805:10;8801:19;8798:1;8794:27;8788:4;8784:38;8853:4;8841:10;8838:20;8835:47;;;-1:-1:-1;8876:4:1;8835:47;8931:2;8926:3;8922:12;8919:1;8915:20;8909:4;8905:31;8895:41;;8986:82;9004:2;8997:5;8994:13;8986:82;;;9049:17;;;9030:1;9019:13;8986:82;;;8990:3;;;8630:448;8539:545;;;:::o;9260:1352::-;9386:3;9380:10;9413:18;9405:6;9402:30;9399:56;;;9435:18;;:::i;:::-;9464:97;9554:6;9514:38;9546:4;9540:11;9514:38;:::i;:::-;9508:4;9464:97;:::i;:::-;9616:4;;9680:2;9669:14;;9697:1;9692:663;;;;10399:1;10416:6;10413:89;;;-1:-1:-1;10468:19:1;;;10462:26;10413:89;-1:-1:-1;;9217:1:1;9213:11;;;9209:24;9205:29;9195:40;9241:1;9237:11;;;9192:57;10515:81;;9662:944;;9692:663;8486:1;8479:14;;;8523:4;8510:18;;-1:-1:-1;;9728:20:1;;;9846:236;9860:7;9857:1;9854:14;9846:236;;;9949:19;;;9943:26;9928:42;;10041:27;;;;10009:1;9997:14;;;;9876:19;;9846:236;;;9850:3;10110:6;10101:7;10098:19;10095:201;;;10171:19;;;10165:26;-1:-1:-1;;10254:1:1;10250:14;;;10266:3;10246:24;10242:37;10238:42;10223:58;10208:74;;10095:201;-1:-1:-1;;;;;10342:1:1;10326:14;;;10322:22;10309:36;;-1:-1:-1;9260:1352:1:o;10617:480::-;10842:2;10831:9;10824:21;10805:4;10868:45;10909:2;10898:9;10894:18;10886:6;10868:45;:::i;:::-;10961:9;10953:6;10949:22;10944:2;10933:9;10929:18;10922:50;10989:33;11015:6;11007;10989:33;:::i;:::-;10981:41;;;11087:1;11083;11078:3;11074:11;11070:19;11062:6;11058:32;11053:2;11042:9;11038:18;11031:60;10617:480;;;;;;:::o;11454:251::-;11524:6;11577:2;11565:9;11556:7;11552:23;11548:32;11545:52;;;11593:1;11590;11583:12;11545:52;11625:9;11619:16;11644:31;11669:5;11644:31;:::i;12631:306::-;12719:6;12727;12735;12788:2;12776:9;12767:7;12763:23;12759:32;12756:52;;;12804:1;12801;12794:12;12756:52;12833:9;12827:16;12817:26;;12883:2;12872:9;12868:18;12862:25;12852:35;;12927:2;12916:9;12912:18;12906:25;12896:35;;12631:306;;;;;:::o;13221:277::-;13288:6;13341:2;13329:9;13320:7;13316:23;13312:32;13309:52;;;13357:1;13354;13347:12;13309:52;13389:9;13383:16;13442:5;13435:13;13428:21;13421:5;13418:32;13408:60;;13464:1;13461;13454:12;16367:125;16432:9;;;16453:10;;;16450:36;;;16466:18;;:::i;16852:128::-;16919:9;;;16940:11;;;16937:37;;;16954:18;;:::i;16985:980::-;17247:4;17295:3;17284:9;17280:19;17326:6;17315:9;17308:25;17352:2;17390:6;17385:2;17374:9;17370:18;17363:34;17433:3;17428:2;17417:9;17413:18;17406:31;17457:6;17492;17486:13;17523:6;17515;17508:22;17561:3;17550:9;17546:19;17539:26;;17600:2;17592:6;17588:15;17574:29;;17621:1;17631:195;17645:6;17642:1;17639:13;17631:195;;;17710:13;;-1:-1:-1;;;;;17706:39:1;17694:52;;17801:15;;;;17766:12;;;;17742:1;17660:9;17631:195;;;-1:-1:-1;;;;;;;17882:32:1;;;;17877:2;17862:18;;17855:60;-1:-1:-1;;;17946:3:1;17931:19;17924:35;17843:3;16985:980;-1:-1:-1;;;16985:980:1:o;17970:217::-;18010:1;18036;18026:132;;18080:10;18075:3;18071:20;18068:1;18061:31;18115:4;18112:1;18105:15;18143:4;18140:1;18133:15;18026:132;-1:-1:-1;18172:9:1;;17970:217::o
Swarm Source
ipfs://88d058dd6058debadd3f415c168492ff66e45fd021b6157fd0528ccf609b7e26
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)