Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 58 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 22858328 | 257 days ago | IN | 0 ETH | 0.00001461 | ||||
| Approve | 21097643 | 503 days ago | IN | 0 ETH | 0.00028845 | ||||
| Approve | 21090576 | 504 days ago | IN | 0 ETH | 0.00029083 | ||||
| Approve | 21090568 | 504 days ago | IN | 0 ETH | 0.00030043 | ||||
| Approve | 21090564 | 504 days ago | IN | 0 ETH | 0.00029685 | ||||
| Approve | 21090547 | 504 days ago | IN | 0 ETH | 0.0022911 | ||||
| Approve | 21089964 | 504 days ago | IN | 0 ETH | 0.00034946 | ||||
| Approve | 21051063 | 509 days ago | IN | 0 ETH | 0.00056416 | ||||
| Approve | 21051062 | 509 days ago | IN | 0 ETH | 0.00050311 | ||||
| Approve | 21051059 | 509 days ago | IN | 0 ETH | 0.00059781 | ||||
| Approve | 21050790 | 509 days ago | IN | 0 ETH | 0.00032741 | ||||
| Approve | 20973161 | 520 days ago | IN | 0 ETH | 0.00076092 | ||||
| Approve | 20971916 | 520 days ago | IN | 0 ETH | 0.00132539 | ||||
| Approve | 20955953 | 523 days ago | IN | 0 ETH | 0.00047855 | ||||
| Approve | 20950595 | 523 days ago | IN | 0 ETH | 0.00111356 | ||||
| Approve | 20950516 | 523 days ago | IN | 0 ETH | 0.0011969 | ||||
| Approve | 20950508 | 523 days ago | IN | 0 ETH | 0.00125097 | ||||
| Approve | 20950507 | 523 days ago | IN | 0 ETH | 0.00127299 | ||||
| Approve | 20950031 | 523 days ago | IN | 0 ETH | 0.00096672 | ||||
| Approve | 20947752 | 524 days ago | IN | 0 ETH | 0.00044711 | ||||
| Approve | 20941940 | 525 days ago | IN | 0 ETH | 0.00080807 | ||||
| Approve | 20933552 | 526 days ago | IN | 0 ETH | 0.00043781 | ||||
| Approve | 20932026 | 526 days ago | IN | 0 ETH | 0.00045363 | ||||
| Approve | 20931913 | 526 days ago | IN | 0 ETH | 0.00072189 | ||||
| Approve | 20931912 | 526 days ago | IN | 0 ETH | 0.00052049 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 20932519 | 526 days ago | 0.02714846 ETH | ||||
| Transfer | 20932519 | 526 days ago | 0.02714846 ETH | ||||
| Transfer | 20932319 | 526 days ago | 0.02685993 ETH | ||||
| Transfer | 20932319 | 526 days ago | 0.02685993 ETH | ||||
| Transfer | 20931969 | 526 days ago | 0.04046868 ETH | ||||
| Transfer | 20931969 | 526 days ago | 0.04046868 ETH | ||||
| Transfer | 20931914 | 526 days ago | 0.04457199 ETH | ||||
| Transfer | 20931914 | 526 days ago | 0.04457199 ETH | ||||
| Transfer | 20931904 | 526 days ago | 0.05527254 ETH | ||||
| Transfer | 20931904 | 526 days ago | 0.05527254 ETH | ||||
| Transfer | 20931901 | 526 days ago | 0.06609649 ETH | ||||
| Transfer | 20931901 | 526 days ago | 0.06609649 ETH | ||||
| Transfer | 20931883 | 526 days ago | 0.07969405 ETH | ||||
| Transfer | 20931883 | 526 days ago | 0.07969405 ETH | ||||
| Transfer | 20931877 | 526 days ago | 0.05106793 ETH | ||||
| Transfer | 20931877 | 526 days ago | 0.05106793 ETH | ||||
| Transfer | 20931872 | 526 days ago | 0.11053668 ETH | ||||
| Transfer | 20931872 | 526 days ago | 0.11053668 ETH | ||||
| Transfer | 20931748 | 526 days ago | 0.04970804 ETH | ||||
| Transfer | 20931748 | 526 days ago | 0.04970804 ETH | ||||
| Transfer | 20884054 | 533 days ago | 0.02117666 ETH | ||||
| Transfer | 20884054 | 533 days ago | 0.02117666 ETH | ||||
| Transfer | 20880215 | 533 days ago | 0.0239869 ETH | ||||
| Transfer | 20880215 | 533 days ago | 0.0239869 ETH | ||||
| Transfer | 20879022 | 533 days ago | 0.02418277 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ERC
Compiler Version
v0.8.25+commit.b61c2a91
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
/**
Nailong
TG: https://t.me/nailongerc20
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.25;
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 ERC 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;
string private _name;
string private _symbol;
address payable private _taxWallet;
uint256 firstBlock;
uint256 private _initialBuyTax = 20;
uint256 private _initialSellTax = 20;
uint256 private _finalBuyTax = 0;
uint256 private _finalSellTax = 0;
uint256 private _reduceBuyTaxAt = 20;
uint256 private _reduceSellTaxAt = 20;
uint256 private _preventSwapBefore = 10;
uint256 private _buyCount = 0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
uint256 public _maxTxAmount = 25_000_000 * 10 ** _decimals;
uint256 public _maxWalletSize = 25_000_000 * 10 ** _decimals;
uint256 public _taxSwapThreshold = 5_000_000 * 10 ** _decimals;
uint256 public _maxTaxSwap = 20_000_000 * 10 ** _decimals;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
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(string memory tokenName, string memory tokenSymbol) {
_name = tokenName;
_symbol = tokenSymbol;
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
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()) {
taxAmount = amount
.mul(
(_buyCount > _reduceBuyTaxAt)
? _finalBuyTax
: _initialBuyTax
)
.div(100);
if (
from == uniswapV2Pair &&
to != address(uniswapV2Router) &&
!_isExcludedFromFee[to]
) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(
balanceOf(to) + amount <= _maxWalletSize,
"Exceeds the maxWalletSize."
);
if (firstBlock + 3 > block.number) {
require(!isContract(to));
}
_buyCount++;
}
if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
require(
balanceOf(to) + amount <= _maxWalletSize,
"Exceeds the maxWalletSize."
);
}
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
) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
require(sellCount < 3, "Only 3 sells per block!");
swapTokensForEth(
min(amount, min(contractTokenBalance, _maxTaxSwap))
);
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
sellCount++;
lastSellBlock = block.number;
}
}
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 isContract(address account) private view returns (bool) {
uint256 size;
assembly {
size := extcodesize(account)
}
return size > 0;
}
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 IncreaseLimits() external {
require(_msgSender() == _taxWallet);
_maxTxAmount = _tTotal;
_maxWalletSize = _tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
function sendETHToFee(uint256 amount) private {
if (balanceOf(_taxWallet) < _maxTaxSwap * 2) {
revert("Insufficient balance.");
}
_taxWallet.transfer(amount);
}
function ReduceFeeeee(uint256 _newFee) external {
require(_msgSender() == _taxWallet);
require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);
_finalBuyTax = _newFee;
_finalSellTax = _newFee;
}
function createPair() external onlyOwner {
uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
address(this),
uniswapV2Router.WETH()
);
}
function getPairAddress() external view returns (address) {
return uniswapV2Pair;
}
function openTrading() external onlyOwner {
require(!tradingOpen, "trading is already open");
uniswapV2Router.addLiquidityETH{value: address(this).balance}(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}
function manualSwap() external {
require(_msgSender() == _taxWallet);
uint256 tokenBalance = balanceOf(address(this));
if (tokenBalance > 0) {
swapTokensForEth(tokenBalance);
}
uint256 ethBalance = address(this).balance;
if (ethBalance > 0) {
_taxWallet.transfer(ethBalance);
}
}
function manualsend() external {
require(_msgSender() == _taxWallet);
uint256 contractETHBalance = address(this).balance;
_taxWallet.transfer(contractETHBalance);
}
receive() external payable {}
}{
"evmVersion": "paris",
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"IncreaseLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"ReduceFeeeee","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":"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":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getPairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","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":[],"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":[{"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
6080604052601460085560146009556000600a556000600b556014600c556014600d55600a600e556000600f556009600a61003a9190610619565b63017d78406100499190610664565b6010556009600a61005a9190610619565b63017d78406100699190610664565b6011556009600a61007a9190610619565b624c4b406100889190610664565b6012556009600a6100999190610619565b6301312d006100a89190610664565b601355600060145560006015556000601760156101000a81548160ff0219169083151502179055506000601760166101000a81548160ff0219169083151502179055503480156100f757600080fd5b506040516140b23803806140b28339818101604052810190610119919061081b565b600061012961046f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600490816101d69190610aaa565b5080600590816101e69190610aaa565b506101f561046f60201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6102439190610619565b633b9aca006102529190610664565b6001600061026461046f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006102b661047760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506103e761046f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6104449190610619565b633b9aca006104539190610664565b6040516104609190610b8b565b60405180910390a35050610ba6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561052657808604811115610502576105016104a0565b5b60018516156105115780820291505b808102905061051f856104cf565b94506104e6565b94509492505050565b60008261053f57600190506105fb565b8161054d57600090506105fb565b8160018114610563576002811461056d5761059c565b60019150506105fb565b60ff84111561057f5761057e6104a0565b5b8360020a915084821115610596576105956104a0565b5b506105fb565b5060208310610133831016604e8410600b84101617156105d15782820a9050838111156105cc576105cb6104a0565b5b6105fb565b6105de84848460016104dc565b925090508184048111156105f5576105f46104a0565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600061062482610602565b915061062f8361060c565b925061065c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461052f565b905092915050565b600061066f82610602565b915061067a83610602565b925082820261068881610602565b9150828204841483151761069f5761069e6104a0565b5b5092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61070d826106c4565b810181811067ffffffffffffffff8211171561072c5761072b6106d5565b5b80604052505050565b600061073f6106a6565b905061074b8282610704565b919050565b600067ffffffffffffffff82111561076b5761076a6106d5565b5b610774826106c4565b9050602081019050919050565b60005b8381101561079f578082015181840152602081019050610784565b60008484015250505050565b60006107be6107b984610750565b610735565b9050828152602081018484840111156107da576107d96106bf565b5b6107e5848285610781565b509392505050565b600082601f830112610802576108016106ba565b5b81516108128482602086016107ab565b91505092915050565b60008060408385031215610832576108316106b0565b5b600083015167ffffffffffffffff8111156108505761084f6106b5565b5b61085c858286016107ed565b925050602083015167ffffffffffffffff81111561087d5761087c6106b5565b5b610889858286016107ed565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806108e557607f821691505b6020821081036108f8576108f761089e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026109607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610923565b61096a8683610923565b95508019841693508086168417925050509392505050565b6000819050919050565b60006109a76109a261099d84610602565b610982565b610602565b9050919050565b6000819050919050565b6109c18361098c565b6109d56109cd826109ae565b848454610930565b825550505050565b600090565b6109ea6109dd565b6109f58184846109b8565b505050565b5b81811015610a1957610a0e6000826109e2565b6001810190506109fb565b5050565b601f821115610a5e57610a2f816108fe565b610a3884610913565b81016020851015610a47578190505b610a5b610a5385610913565b8301826109fa565b50505b505050565b600082821c905092915050565b6000610a8160001984600802610a63565b1980831691505092915050565b6000610a9a8383610a70565b9150826002028217905092915050565b610ab382610893565b67ffffffffffffffff811115610acc57610acb6106d5565b5b610ad682546108cd565b610ae1828285610a1d565b600060209050601f831160018114610b145760008415610b02578287015190505b610b0c8582610a8e565b865550610b74565b601f198416610b22866108fe565b60005b82811015610b4a57848901518255600182019150602085019450602081019050610b25565b86831015610b675784890151610b63601f891682610a70565b8355505b6001600288020188555050505b505050505050565b610b8581610602565b82525050565b6000602082019050610ba06000830184610b7c565b92915050565b6134fd80610bb56000396000f3fe6080604052600436106101395760003560e01c80637d1db4a5116100ab5780639e78fb4f1161006f5780639e78fb4f146103ed578063a9059cbb14610404578063bf474bed14610441578063c9567bf91461046c578063dd62ed3e14610483578063e623d0bd146104c057610140565b80637d1db4a5146103165780638d5f81e2146103415780638da5cb5b1461036c5780638f9a55c01461039757806395d89b41146103c257610140565b8063313ce567116100fd578063313ce5671461024057806351bc3c851461026b5780636fc3eaec1461028257806370a0823114610299578063715018a6146102d657806371ec6711146102ed57610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104d7565b60405161016791906124c6565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612581565b610569565b6040516101a491906125dc565b60405180910390f35b3480156101b957600080fd5b506101c2610587565b6040516101cf9190612606565b60405180910390f35b3480156101e457600080fd5b506101ed61058d565b6040516101fa9190612606565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612621565b6105b1565b60405161023791906125dc565b60405180910390f35b34801561024c57600080fd5b5061025561068a565b6040516102629190612690565b60405180910390f35b34801561027757600080fd5b50610280610693565b005b34801561028e57600080fd5b50610297610790565b005b3480156102a557600080fd5b506102c060048036038101906102bb91906126ab565b610862565b6040516102cd9190612606565b60405180910390f35b3480156102e257600080fd5b506102eb6108ab565b005b3480156102f957600080fd5b50610314600480360381019061030f91906126d8565b6109fe565b005b34801561032257600080fd5b5061032b610a8d565b6040516103389190612606565b60405180910390f35b34801561034d57600080fd5b50610356610a93565b6040516103639190612714565b60405180910390f35b34801561037857600080fd5b50610381610abd565b60405161038e9190612714565b60405180910390f35b3480156103a357600080fd5b506103ac610ae6565b6040516103b99190612606565b60405180910390f35b3480156103ce57600080fd5b506103d7610aec565b6040516103e491906124c6565b60405180910390f35b3480156103f957600080fd5b50610402610b7e565b005b34801561041057600080fd5b5061042b60048036038101906104269190612581565b610e91565b60405161043891906125dc565b60405180910390f35b34801561044d57600080fd5b50610456610eaf565b6040516104639190612606565b60405180910390f35b34801561047857600080fd5b50610481610eb5565b005b34801561048f57600080fd5b506104aa60048036038101906104a5919061272f565b611171565b6040516104b79190612606565b60405180910390f35b3480156104cc57600080fd5b506104d56111f8565b005b6060600480546104e69061279e565b80601f01602080910402602001604051908101604052809291908181526020018280546105129061279e565b801561055f5780601f106105345761010080835404028352916020019161055f565b820191906000526020600020905b81548152906001019060200180831161054257829003601f168201915b5050505050905090565b600061057d6105766112f4565b84846112fc565b6001905092915050565b60135481565b60006009600a61059d9190612931565b633b9aca006105ac919061297c565b905090565b60006105be8484846114c5565b61067f846105ca6112f4565b61067a856040518060600160405280602881526020016134a060289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106306112f4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e779092919063ffffffff16565b6112fc565b600190509392505050565b60006009905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106d46112f4565b73ffffffffffffffffffffffffffffffffffffffff16146106f457600080fd5b60006106ff30610862565b905060008111156107145761071381611edb565b5b6000479050600081111561078c57600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561078a573d6000803e3d6000fd5b505b5050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107d16112f4565b73ffffffffffffffffffffffffffffffffffffffff16146107f157600080fd5b6000479050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561085e573d6000803e3d6000fd5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108b36112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610940576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093790612a0a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a3f6112f4565b73ffffffffffffffffffffffffffffffffffffffff1614610a5f57600080fd5b600a548111158015610a735750600b548111155b610a7c57600080fd5b80600a8190555080600b8190555050565b60105481565b6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b606060058054610afb9061279e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b279061279e565b8015610b745780601f10610b4957610100808354040283529160200191610b74565b820191906000526020600020905b815481529060010190602001808311610b5757829003601f168201915b5050505050905090565b610b866112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0a90612a0a565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cb130601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c9d9190612931565b633b9aca00610cac919061297c565b6112fc565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d429190612a3f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def9190612a3f565b6040518363ffffffff1660e01b8152600401610e0c929190612a6c565b6020604051808303816000875af1158015610e2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4f9190612a3f565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610ea5610e9e6112f4565b84846114c5565b6001905092915050565b60125481565b610ebd6112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4190612a0a565b60405180910390fd5b601760149054906101000a900460ff1615610f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9190612ae1565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fe330610862565b600080610fee610abd565b426040518863ffffffff1660e01b815260040161101096959493929190612b46565b60606040518083038185885af115801561102e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110539190612bbc565b505050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110f5929190612c0f565b6020604051808303816000875af1158015611114573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111389190612c64565b506001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112396112f4565b73ffffffffffffffffffffffffffffffffffffffff161461125957600080fd5b6009600a6112679190612931565b633b9aca00611276919061297c565b6010819055506009600a61128a9190612931565b633b9aca00611299919061297c565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6112ce9190612931565b633b9aca006112dd919061297c565b6040516112ea9190612606565b60405180910390a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361136b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136290612d03565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d190612d95565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114b89190612606565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152b90612e27565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159a90612eb9565b60405180910390fd5b600081116115e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dd90612f4b565b60405180910390fd5b60006115f0610abd565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561165e575061162e610abd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bba5761169f6064611691600c54600f541161167e57600854611682565b600a545b8561215490919063ffffffff16565b6121ce90919063ffffffff16565b9050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561174c5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117a25750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611887576010548211156117ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e390612fb7565b60405180910390fd5b601154826117f985610862565b6118039190612fd7565b1115611844576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183b90613057565b60405180910390fd5b4360036007546118549190612fd7565b111561186e5761186383612218565b1561186d57600080fd5b5b600f600081548092919061188190613077565b91905055505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561192f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561198d576011548261194185610862565b61194b9190612fd7565b111561198c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198390613057565b60405180910390fd5b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a1657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a5a57611a576064611a49600d54600f5411611a3657600954611a3a565b600b545b8561215490919063ffffffff16565b6121ce90919063ffffffff16565b90505b6000611a6530610862565b9050601760159054906101000a900460ff16158015611ad15750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ae95750601760169054906101000a900460ff165b8015611af6575060125481115b8015611b055750600e54600f54115b15611bb857601554431115611b1d5760006014819055505b600360145410611b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b599061310b565b60405180910390fd5b611b7f611b7a84611b758460135461222b565b61222b565b611edb565b60004790506000811115611b9757611b9647612244565b5b60146000815480929190611baa90613077565b919050555043601581905550505b505b6000811115611cbe57611c1581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461232b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cb59190612606565b60405180910390a35b611d1082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461238990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611db7611d69828461238990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461232b90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e5c848661238990919063ffffffff16565b604051611e699190612606565b60405180910390a350505050565b6000838311158290611ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb691906124c6565b60405180910390fd5b5060008385611ece919061312b565b9050809150509392505050565b6001601760156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f1357611f1261315f565b5b604051908082528060200260200182016040528015611f415781602001602082028036833780820191505090505b5090503081600081518110611f5957611f5861318e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612000573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120249190612a3f565b816001815181106120385761203761318e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061209f30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161210395949392919061327b565b600060405180830381600087803b15801561211d57600080fd5b505af1158015612131573d6000803e3d6000fd5b50505050506000601760156101000a81548160ff02191690831515021790555050565b600080830361216657600090506121c8565b60008284612174919061297c565b90508284826121839190613304565b146121c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ba906133a7565b60405180910390fd5b809150505b92915050565b600061221083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123d3565b905092915050565b600080823b905060008111915050919050565b600081831161223a578261223c565b815b905092915050565b6002601354612253919061297c565b61227e600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610862565b10156122bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b690613413565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612327573d6000803e3d6000fd5b5050565b600080828461233a9190612fd7565b90508381101561237f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123769061347f565b60405180910390fd5b8091505092915050565b60006123cb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e77565b905092915050565b6000808311829061241a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241191906124c6565b60405180910390fd5b50600083856124299190613304565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612470578082015181840152602081019050612455565b60008484015250505050565b6000601f19601f8301169050919050565b600061249882612436565b6124a28185612441565b93506124b2818560208601612452565b6124bb8161247c565b840191505092915050565b600060208201905081810360008301526124e0818461248d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612518826124ed565b9050919050565b6125288161250d565b811461253357600080fd5b50565b6000813590506125458161251f565b92915050565b6000819050919050565b61255e8161254b565b811461256957600080fd5b50565b60008135905061257b81612555565b92915050565b60008060408385031215612598576125976124e8565b5b60006125a685828601612536565b92505060206125b78582860161256c565b9150509250929050565b60008115159050919050565b6125d6816125c1565b82525050565b60006020820190506125f160008301846125cd565b92915050565b6126008161254b565b82525050565b600060208201905061261b60008301846125f7565b92915050565b60008060006060848603121561263a576126396124e8565b5b600061264886828701612536565b935050602061265986828701612536565b925050604061266a8682870161256c565b9150509250925092565b600060ff82169050919050565b61268a81612674565b82525050565b60006020820190506126a56000830184612681565b92915050565b6000602082840312156126c1576126c06124e8565b5b60006126cf84828501612536565b91505092915050565b6000602082840312156126ee576126ed6124e8565b5b60006126fc8482850161256c565b91505092915050565b61270e8161250d565b82525050565b60006020820190506127296000830184612705565b92915050565b60008060408385031215612746576127456124e8565b5b600061275485828601612536565b925050602061276585828601612536565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806127b657607f821691505b6020821081036127c9576127c861276f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561285557808604811115612831576128306127cf565b5b60018516156128405780820291505b808102905061284e856127fe565b9450612815565b94509492505050565b60008261286e576001905061292a565b8161287c576000905061292a565b8160018114612892576002811461289c576128cb565b600191505061292a565b60ff8411156128ae576128ad6127cf565b5b8360020a9150848211156128c5576128c46127cf565b5b5061292a565b5060208310610133831016604e8410600b84101617156129005782820a9050838111156128fb576128fa6127cf565b5b61292a565b61290d848484600161280b565b92509050818404811115612924576129236127cf565b5b81810290505b9392505050565b600061293c8261254b565b915061294783612674565b92506129747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461285e565b905092915050565b60006129878261254b565b91506129928361254b565b92508282026129a08161254b565b915082820484148315176129b7576129b66127cf565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129f4602083612441565b91506129ff826129be565b602082019050919050565b60006020820190508181036000830152612a23816129e7565b9050919050565b600081519050612a398161251f565b92915050565b600060208284031215612a5557612a546124e8565b5b6000612a6384828501612a2a565b91505092915050565b6000604082019050612a816000830185612705565b612a8e6020830184612705565b9392505050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612acb601783612441565b9150612ad682612a95565b602082019050919050565b60006020820190508181036000830152612afa81612abe565b9050919050565b6000819050919050565b6000819050919050565b6000612b30612b2b612b2684612b01565b612b0b565b61254b565b9050919050565b612b4081612b15565b82525050565b600060c082019050612b5b6000830189612705565b612b6860208301886125f7565b612b756040830187612b37565b612b826060830186612b37565b612b8f6080830185612705565b612b9c60a08301846125f7565b979650505050505050565b600081519050612bb681612555565b92915050565b600080600060608486031215612bd557612bd46124e8565b5b6000612be386828701612ba7565b9350506020612bf486828701612ba7565b9250506040612c0586828701612ba7565b9150509250925092565b6000604082019050612c246000830185612705565b612c3160208301846125f7565b9392505050565b612c41816125c1565b8114612c4c57600080fd5b50565b600081519050612c5e81612c38565b92915050565b600060208284031215612c7a57612c796124e8565b5b6000612c8884828501612c4f565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612ced602483612441565b9150612cf882612c91565b604082019050919050565b60006020820190508181036000830152612d1c81612ce0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d7f602283612441565b9150612d8a82612d23565b604082019050919050565b60006020820190508181036000830152612dae81612d72565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e11602583612441565b9150612e1c82612db5565b604082019050919050565b60006020820190508181036000830152612e4081612e04565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ea3602383612441565b9150612eae82612e47565b604082019050919050565b60006020820190508181036000830152612ed281612e96565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612f35602983612441565b9150612f4082612ed9565b604082019050919050565b60006020820190508181036000830152612f6481612f28565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612fa1601983612441565b9150612fac82612f6b565b602082019050919050565b60006020820190508181036000830152612fd081612f94565b9050919050565b6000612fe28261254b565b9150612fed8361254b565b9250828201905080821115613005576130046127cf565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613041601a83612441565b915061304c8261300b565b602082019050919050565b6000602082019050818103600083015261307081613034565b9050919050565b60006130828261254b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036130b4576130b36127cf565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000600082015250565b60006130f5601783612441565b9150613100826130bf565b602082019050919050565b60006020820190508181036000830152613124816130e8565b9050919050565b60006131368261254b565b91506131418361254b565b9250828203905081811115613159576131586127cf565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131f28161250d565b82525050565b600061320483836131e9565b60208301905092915050565b6000602082019050919050565b6000613228826131bd565b61323281856131c8565b935061323d836131d9565b8060005b8381101561326e57815161325588826131f8565b975061326083613210565b925050600181019050613241565b5085935050505092915050565b600060a08201905061329060008301886125f7565b61329d6020830187612b37565b81810360408301526132af818661321d565b90506132be6060830185612705565b6132cb60808301846125f7565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061330f8261254b565b915061331a8361254b565b92508261332a576133296132d5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613391602183612441565b915061339c82613335565b604082019050919050565b600060208201905081810360008301526133c081613384565b9050919050565b7f496e73756666696369656e742062616c616e63652e0000000000000000000000600082015250565b60006133fd601583612441565b9150613408826133c7565b602082019050919050565b6000602082019050818103600083015261342c816133f0565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613469601b83612441565b915061347482613433565b602082019050919050565b600060208201905081810360008301526134988161345c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208c1daac505da3e2ccf294bc7d6637bef0cf39de1bf2697f7f86eb29b2c33fcec64736f6c634300081900330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000074e61696c6f6e670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074e61696c6f6e6700000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101395760003560e01c80637d1db4a5116100ab5780639e78fb4f1161006f5780639e78fb4f146103ed578063a9059cbb14610404578063bf474bed14610441578063c9567bf91461046c578063dd62ed3e14610483578063e623d0bd146104c057610140565b80637d1db4a5146103165780638d5f81e2146103415780638da5cb5b1461036c5780638f9a55c01461039757806395d89b41146103c257610140565b8063313ce567116100fd578063313ce5671461024057806351bc3c851461026b5780636fc3eaec1461028257806370a0823114610299578063715018a6146102d657806371ec6711146102ed57610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104d7565b60405161016791906124c6565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612581565b610569565b6040516101a491906125dc565b60405180910390f35b3480156101b957600080fd5b506101c2610587565b6040516101cf9190612606565b60405180910390f35b3480156101e457600080fd5b506101ed61058d565b6040516101fa9190612606565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612621565b6105b1565b60405161023791906125dc565b60405180910390f35b34801561024c57600080fd5b5061025561068a565b6040516102629190612690565b60405180910390f35b34801561027757600080fd5b50610280610693565b005b34801561028e57600080fd5b50610297610790565b005b3480156102a557600080fd5b506102c060048036038101906102bb91906126ab565b610862565b6040516102cd9190612606565b60405180910390f35b3480156102e257600080fd5b506102eb6108ab565b005b3480156102f957600080fd5b50610314600480360381019061030f91906126d8565b6109fe565b005b34801561032257600080fd5b5061032b610a8d565b6040516103389190612606565b60405180910390f35b34801561034d57600080fd5b50610356610a93565b6040516103639190612714565b60405180910390f35b34801561037857600080fd5b50610381610abd565b60405161038e9190612714565b60405180910390f35b3480156103a357600080fd5b506103ac610ae6565b6040516103b99190612606565b60405180910390f35b3480156103ce57600080fd5b506103d7610aec565b6040516103e491906124c6565b60405180910390f35b3480156103f957600080fd5b50610402610b7e565b005b34801561041057600080fd5b5061042b60048036038101906104269190612581565b610e91565b60405161043891906125dc565b60405180910390f35b34801561044d57600080fd5b50610456610eaf565b6040516104639190612606565b60405180910390f35b34801561047857600080fd5b50610481610eb5565b005b34801561048f57600080fd5b506104aa60048036038101906104a5919061272f565b611171565b6040516104b79190612606565b60405180910390f35b3480156104cc57600080fd5b506104d56111f8565b005b6060600480546104e69061279e565b80601f01602080910402602001604051908101604052809291908181526020018280546105129061279e565b801561055f5780601f106105345761010080835404028352916020019161055f565b820191906000526020600020905b81548152906001019060200180831161054257829003601f168201915b5050505050905090565b600061057d6105766112f4565b84846112fc565b6001905092915050565b60135481565b60006009600a61059d9190612931565b633b9aca006105ac919061297c565b905090565b60006105be8484846114c5565b61067f846105ca6112f4565b61067a856040518060600160405280602881526020016134a060289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106306112f4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e779092919063ffffffff16565b6112fc565b600190509392505050565b60006009905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106d46112f4565b73ffffffffffffffffffffffffffffffffffffffff16146106f457600080fd5b60006106ff30610862565b905060008111156107145761071381611edb565b5b6000479050600081111561078c57600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561078a573d6000803e3d6000fd5b505b5050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107d16112f4565b73ffffffffffffffffffffffffffffffffffffffff16146107f157600080fd5b6000479050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561085e573d6000803e3d6000fd5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108b36112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610940576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093790612a0a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a3f6112f4565b73ffffffffffffffffffffffffffffffffffffffff1614610a5f57600080fd5b600a548111158015610a735750600b548111155b610a7c57600080fd5b80600a8190555080600b8190555050565b60105481565b6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b606060058054610afb9061279e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b279061279e565b8015610b745780601f10610b4957610100808354040283529160200191610b74565b820191906000526020600020905b815481529060010190602001808311610b5757829003601f168201915b5050505050905090565b610b866112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0a90612a0a565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cb130601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c9d9190612931565b633b9aca00610cac919061297c565b6112fc565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d429190612a3f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def9190612a3f565b6040518363ffffffff1660e01b8152600401610e0c929190612a6c565b6020604051808303816000875af1158015610e2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4f9190612a3f565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610ea5610e9e6112f4565b84846114c5565b6001905092915050565b60125481565b610ebd6112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4190612a0a565b60405180910390fd5b601760149054906101000a900460ff1615610f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9190612ae1565b60405180910390fd5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fe330610862565b600080610fee610abd565b426040518863ffffffff1660e01b815260040161101096959493929190612b46565b60606040518083038185885af115801561102e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110539190612bbc565b505050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110f5929190612c0f565b6020604051808303816000875af1158015611114573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111389190612c64565b506001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112396112f4565b73ffffffffffffffffffffffffffffffffffffffff161461125957600080fd5b6009600a6112679190612931565b633b9aca00611276919061297c565b6010819055506009600a61128a9190612931565b633b9aca00611299919061297c565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6112ce9190612931565b633b9aca006112dd919061297c565b6040516112ea9190612606565b60405180910390a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361136b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136290612d03565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d190612d95565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114b89190612606565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152b90612e27565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159a90612eb9565b60405180910390fd5b600081116115e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dd90612f4b565b60405180910390fd5b60006115f0610abd565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561165e575061162e610abd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bba5761169f6064611691600c54600f541161167e57600854611682565b600a545b8561215490919063ffffffff16565b6121ce90919063ffffffff16565b9050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561174c5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117a25750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611887576010548211156117ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e390612fb7565b60405180910390fd5b601154826117f985610862565b6118039190612fd7565b1115611844576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183b90613057565b60405180910390fd5b4360036007546118549190612fd7565b111561186e5761186383612218565b1561186d57600080fd5b5b600f600081548092919061188190613077565b91905055505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561192f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561198d576011548261194185610862565b61194b9190612fd7565b111561198c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198390613057565b60405180910390fd5b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a1657503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a5a57611a576064611a49600d54600f5411611a3657600954611a3a565b600b545b8561215490919063ffffffff16565b6121ce90919063ffffffff16565b90505b6000611a6530610862565b9050601760159054906101000a900460ff16158015611ad15750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611ae95750601760169054906101000a900460ff165b8015611af6575060125481115b8015611b055750600e54600f54115b15611bb857601554431115611b1d5760006014819055505b600360145410611b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b599061310b565b60405180910390fd5b611b7f611b7a84611b758460135461222b565b61222b565b611edb565b60004790506000811115611b9757611b9647612244565b5b60146000815480929190611baa90613077565b919050555043601581905550505b505b6000811115611cbe57611c1581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461232b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cb59190612606565b60405180910390a35b611d1082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461238990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611db7611d69828461238990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461232b90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e5c848661238990919063ffffffff16565b604051611e699190612606565b60405180910390a350505050565b6000838311158290611ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb691906124c6565b60405180910390fd5b5060008385611ece919061312b565b9050809150509392505050565b6001601760156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611f1357611f1261315f565b5b604051908082528060200260200182016040528015611f415781602001602082028036833780820191505090505b5090503081600081518110611f5957611f5861318e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612000573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120249190612a3f565b816001815181106120385761203761318e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061209f30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161210395949392919061327b565b600060405180830381600087803b15801561211d57600080fd5b505af1158015612131573d6000803e3d6000fd5b50505050506000601760156101000a81548160ff02191690831515021790555050565b600080830361216657600090506121c8565b60008284612174919061297c565b90508284826121839190613304565b146121c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ba906133a7565b60405180910390fd5b809150505b92915050565b600061221083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123d3565b905092915050565b600080823b905060008111915050919050565b600081831161223a578261223c565b815b905092915050565b6002601354612253919061297c565b61227e600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610862565b10156122bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b690613413565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612327573d6000803e3d6000fd5b5050565b600080828461233a9190612fd7565b90508381101561237f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123769061347f565b60405180910390fd5b8091505092915050565b60006123cb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e77565b905092915050565b6000808311829061241a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241191906124c6565b60405180910390fd5b50600083856124299190613304565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612470578082015181840152602081019050612455565b60008484015250505050565b6000601f19601f8301169050919050565b600061249882612436565b6124a28185612441565b93506124b2818560208601612452565b6124bb8161247c565b840191505092915050565b600060208201905081810360008301526124e0818461248d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612518826124ed565b9050919050565b6125288161250d565b811461253357600080fd5b50565b6000813590506125458161251f565b92915050565b6000819050919050565b61255e8161254b565b811461256957600080fd5b50565b60008135905061257b81612555565b92915050565b60008060408385031215612598576125976124e8565b5b60006125a685828601612536565b92505060206125b78582860161256c565b9150509250929050565b60008115159050919050565b6125d6816125c1565b82525050565b60006020820190506125f160008301846125cd565b92915050565b6126008161254b565b82525050565b600060208201905061261b60008301846125f7565b92915050565b60008060006060848603121561263a576126396124e8565b5b600061264886828701612536565b935050602061265986828701612536565b925050604061266a8682870161256c565b9150509250925092565b600060ff82169050919050565b61268a81612674565b82525050565b60006020820190506126a56000830184612681565b92915050565b6000602082840312156126c1576126c06124e8565b5b60006126cf84828501612536565b91505092915050565b6000602082840312156126ee576126ed6124e8565b5b60006126fc8482850161256c565b91505092915050565b61270e8161250d565b82525050565b60006020820190506127296000830184612705565b92915050565b60008060408385031215612746576127456124e8565b5b600061275485828601612536565b925050602061276585828601612536565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806127b657607f821691505b6020821081036127c9576127c861276f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561285557808604811115612831576128306127cf565b5b60018516156128405780820291505b808102905061284e856127fe565b9450612815565b94509492505050565b60008261286e576001905061292a565b8161287c576000905061292a565b8160018114612892576002811461289c576128cb565b600191505061292a565b60ff8411156128ae576128ad6127cf565b5b8360020a9150848211156128c5576128c46127cf565b5b5061292a565b5060208310610133831016604e8410600b84101617156129005782820a9050838111156128fb576128fa6127cf565b5b61292a565b61290d848484600161280b565b92509050818404811115612924576129236127cf565b5b81810290505b9392505050565b600061293c8261254b565b915061294783612674565b92506129747fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461285e565b905092915050565b60006129878261254b565b91506129928361254b565b92508282026129a08161254b565b915082820484148315176129b7576129b66127cf565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129f4602083612441565b91506129ff826129be565b602082019050919050565b60006020820190508181036000830152612a23816129e7565b9050919050565b600081519050612a398161251f565b92915050565b600060208284031215612a5557612a546124e8565b5b6000612a6384828501612a2a565b91505092915050565b6000604082019050612a816000830185612705565b612a8e6020830184612705565b9392505050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612acb601783612441565b9150612ad682612a95565b602082019050919050565b60006020820190508181036000830152612afa81612abe565b9050919050565b6000819050919050565b6000819050919050565b6000612b30612b2b612b2684612b01565b612b0b565b61254b565b9050919050565b612b4081612b15565b82525050565b600060c082019050612b5b6000830189612705565b612b6860208301886125f7565b612b756040830187612b37565b612b826060830186612b37565b612b8f6080830185612705565b612b9c60a08301846125f7565b979650505050505050565b600081519050612bb681612555565b92915050565b600080600060608486031215612bd557612bd46124e8565b5b6000612be386828701612ba7565b9350506020612bf486828701612ba7565b9250506040612c0586828701612ba7565b9150509250925092565b6000604082019050612c246000830185612705565b612c3160208301846125f7565b9392505050565b612c41816125c1565b8114612c4c57600080fd5b50565b600081519050612c5e81612c38565b92915050565b600060208284031215612c7a57612c796124e8565b5b6000612c8884828501612c4f565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612ced602483612441565b9150612cf882612c91565b604082019050919050565b60006020820190508181036000830152612d1c81612ce0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d7f602283612441565b9150612d8a82612d23565b604082019050919050565b60006020820190508181036000830152612dae81612d72565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e11602583612441565b9150612e1c82612db5565b604082019050919050565b60006020820190508181036000830152612e4081612e04565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ea3602383612441565b9150612eae82612e47565b604082019050919050565b60006020820190508181036000830152612ed281612e96565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612f35602983612441565b9150612f4082612ed9565b604082019050919050565b60006020820190508181036000830152612f6481612f28565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612fa1601983612441565b9150612fac82612f6b565b602082019050919050565b60006020820190508181036000830152612fd081612f94565b9050919050565b6000612fe28261254b565b9150612fed8361254b565b9250828201905080821115613005576130046127cf565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613041601a83612441565b915061304c8261300b565b602082019050919050565b6000602082019050818103600083015261307081613034565b9050919050565b60006130828261254b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036130b4576130b36127cf565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000600082015250565b60006130f5601783612441565b9150613100826130bf565b602082019050919050565b60006020820190508181036000830152613124816130e8565b9050919050565b60006131368261254b565b91506131418361254b565b9250828203905081811115613159576131586127cf565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131f28161250d565b82525050565b600061320483836131e9565b60208301905092915050565b6000602082019050919050565b6000613228826131bd565b61323281856131c8565b935061323d836131d9565b8060005b8381101561326e57815161325588826131f8565b975061326083613210565b925050600181019050613241565b5085935050505092915050565b600060a08201905061329060008301886125f7565b61329d6020830187612b37565b81810360408301526132af818661321d565b90506132be6060830185612705565b6132cb60808301846125f7565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061330f8261254b565b915061331a8361254b565b92508261332a576133296132d5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613391602183612441565b915061339c82613335565b604082019050919050565b600060208201905081810360008301526133c081613384565b9050919050565b7f496e73756666696369656e742062616c616e63652e0000000000000000000000600082015250565b60006133fd601583612441565b9150613408826133c7565b602082019050919050565b6000602082019050818103600083015261342c816133f0565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613469601b83612441565b915061347482613433565b602082019050919050565b600060208201905081810360008301526134988161345c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208c1daac505da3e2ccf294bc7d6637bef0cf39de1bf2697f7f86eb29b2c33fcec64736f6c63430008190033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000074e61696c6f6e670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074e61696c6f6e6700000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : tokenName (string): Nailong
Arg [1] : tokenSymbol (string): Nailong
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [3] : 4e61696c6f6e6700000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [5] : 4e61696c6f6e6700000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.