ETH Price: $3,116.14 (+0.26%)
Gas: 2.85 Gwei
 

Overview

Max Total Supply

749,865.782925907037411768 ERC20 ***

Holders

153

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
229.835390760408993707 ERC20 ***

Value
$0.00
0xea5032c9721a609210a3b9d03d8a4e14e3c6cdbd
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
RootedToken

Compiler Version
v0.7.4+commit.3f05b770

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 29 of 35: RootedToken.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
/* ROOTKIT: upTether
An upToken is a token that gains in value
against whatever token it is paired with.
- Raise Tether using the Market Generation
and Market Distribution contracts
- An equal amount of upTether will be minted
- combine with an ERC-31337 version of the
raised token.
- Send LP tokens to the Liquidity Controller
for efficent access to market features
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 1 of 35: Address.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* [IMPORTANT]
* ====
* It is unsafe to assume that an address for which this function returns
* false is an externally-owned account (EOA) and not a contract.
*
* Among others, `isContract` will return false for the following
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 2 of 35: EliteFloorCalculator.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
/* ROOTKIT:
A floor calculator to use with ERC31337 AMM pairs
Ensures 100% of accessible funds are backed at all times
*/
import "./IFloorCalculator.sol";
import "./SafeMath.sol";
import "./UniswapV2Library.sol";
import "./IUniswapV2Factory.sol";
import "./TokensRecoverable.sol";
import "./EnumerableSet.sol";
contract EliteFloorCalculator is IFloorCalculator, TokensRecoverable
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 3 of 35: EliteToken.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import "./ERC31337.sol";
import "./IERC20.sol";
contract EliteToken is ERC31337
{
using Address for address;
using SafeMath for uint256;
mapping (address => bool) public freeParticipantControllers;
mapping (address => bool) public freeParticipants;
mapping (address => bool) public burnRateControllers;
uint16 burnRate;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 4 of 35: EnumerableSet.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity >=0.6.0 <0.8.0;
/**
* @dev Library for managing
* https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive
* types.
*
* Sets have the following properties:
*
* - Elements are added, removed, and checked for existence in constant time
* (O(1)).
* - Elements are enumerated in O(n). No guarantees are made on the ordering.
*
* ```
* contract Example {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 5 of 35: ERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
/* ROOTKIT:
Simplified thanks to higher solidity version
But same functionality
*/
import "./IERC20.sol";
import "./SafeMath.sol";
/**
* @dev Implementation of the {IERC20} interface.
*
* This implementation is agnostic to the way tokens are created. This means
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 6 of 35: ERC31337.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
/* ROOTKIT:
A wrapped token, where the underlying token can be swept
and used for other purposes
Governed by an installable floor calculator contract
Sweepable by designated sweeper addresses
*/
import "./IERC20.sol";
import "./SafeERC20.sol";
import "./IFloorCalculator.sol";
import "./WrappedERC20.sol";
import "./IERC31337.sol";
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 7 of 35: FeeSplitter.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
pragma experimental ABIEncoderV2;
import "./IERC20.sol";
import "./IGatedERC20.sol";
import "./SafeMath.sol";
import "./SafeERC20.sol";
import "./Address.sol";
import "./TokensRecoverable.sol";
contract FeeSplitter is TokensRecoverable
{
using SafeMath for uint256;
using SafeERC20 for IERC20;
using Address for address;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 8 of 35: GatedERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
pragma experimental ABIEncoderV2;
/* ROOTKIT:
A standard ERC20 with an extra hook: An installable transfer
gate allowing for token tax and burn on transfer
*/
import "./ERC20.sol";
import "./ITransferGate.sol";
import "./SafeMath.sol";
import "./TokensRecoverable.sol";
import "./IGatedERC20.sol";
abstract contract GatedERC20 is ERC20, TokensRecoverable, IGatedERC20
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 9 of 35: IERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
interface IERC20
{
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
function totalSupply() external view returns (uint256);
function balanceOf(address _account) external view returns (uint256);
function transfer(address _recipient, uint256 _amount) external returns (bool);
function allowance(address _owner, address _spender) external view returns (uint256);
function approve(address _spender, uint256 _amount) external returns (bool);
function transferFrom(address _sender, address _recipient, uint256 _amount) external returns (bool);
function name() external view returns (string memory);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 10 of 35: IERC31337.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import "./IWrappedERC20.sol";
import "./IFloorCalculator.sol";
interface IERC31337 is IWrappedERC20
{
function floorCalculator() external view returns (IFloorCalculator);
function sweepers(address _sweeper) external view returns (bool);
function setFloorCalculator(IFloorCalculator _floorCalculator) external;
function setSweeper(address _sweeper, bool _allow) external;
function sweepFloor(address _to) external returns (uint256 amountSwept);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 11 of 35: IFloorCalculator.sol
1
2
3
4
5
6
7
8
9
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import "./IERC20.sol";
interface IFloorCalculator
{
function calculateSubFloor(IERC20 baseToken, IERC20 eliteToken) external view returns (uint256);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 12 of 35: IGatedERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import "./IERC20.sol";
import "./ITransferGate.sol";
interface IGatedERC20 is IERC20
{
function transferGate() external view returns (ITransferGate);
function setTransferGate(ITransferGate _transferGate) external;
function burn(address account, uint256 amount) external;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 13 of 35: ILiquidityLockedERC20.sol
1
2
3
4
5
6
7
8
9
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import "./IUniswapV2Pair.sol";
interface ILiquidityLockedERC20
{
function setLiquidityLock(IUniswapV2Pair _liquidityPair, bool _locked) external;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 14 of 35: IMarketDistribution.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
interface IMarketDistribution
{
function distributionComplete() external view returns (bool);
function vestingPeriodStartTime() external view returns (uint256);
function vestingPeriodEndTime() external view returns (uint256);
function distribute() external;
function claim(address account) external;
function claimReferralRewards(address account, uint256 referralShare) external;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 15 of 35: IMarketGeneration.sol
1
2
3
4
5
6
7
8
9
10
11
12
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
interface IMarketGeneration
{
function totalContributionPerRound(uint8 round) external view returns (uint256);
function referralPoints(address) external view returns (uint256);
function totalContribution(address) external view returns (uint256);
function contributionPerRound(address, uint8) external view returns (uint256);
function totalReferralPoints() external view returns (uint256);
function buyRoundsCount() external view returns (uint8);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 16 of 35: IOwned.sol
1
2
3
4
5
6
7
8
9
10
11
12
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
interface IOwned
{
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
function owner() external view returns (address);
function transferOwnership(address newOwner) external;
function claimOwnership() external;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 17 of 35: ITokensRecoverable.sol
1
2
3
4
5
6
7
8
9
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import "./IERC20.sol";
interface ITokensRecoverable
{
function recoverTokens(IERC20 token) external;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 18 of 35: ITransferGate.sol
1
2
3
4
5
6
7
8
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
interface ITransferGate
{
function feeSplitter() external view returns (address);
function handleTransfer(address msgSender, address from, address to, uint256 amount) external returns (uint256);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 19 of 35: IUniswapV2Factory.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
interface IUniswapV2Factory {
event PairCreated(address indexed token0, address indexed token1, address pair, uint);
function feeTo() external view returns (address);
function feeToSetter() external view returns (address);
function getPair(address tokenA, address tokenB) external view returns (address pair);
function allPairs(uint) external view returns (address pair);
function allPairsLength() external view returns (uint);
function createPair(address tokenA, address tokenB) external returns (address pair);
function setFeeTo(address) external;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 20 of 35: IUniswapV2Pair.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
interface IUniswapV2Pair {
event Approval(address indexed owner, address indexed spender, uint value);
event Transfer(address indexed from, address indexed to, uint value);
function name() external pure returns (string memory);
function symbol() external pure returns (string memory);
function decimals() external pure returns (uint8);
function totalSupply() external view returns (uint);
function balanceOf(address owner) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function approve(address spender, uint value) external returns (bool);
function transfer(address to, uint value) external returns (bool);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 21 of 35: IUniswapV2Router01.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
interface IUniswapV2Router01 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 22 of 35: IUniswapV2Router02.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import './IUniswapV2Router01.sol';
interface IUniswapV2Router02 is IUniswapV2Router01 {
function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountETH);
function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
address token,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 23 of 35: IWrappedERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import "./IERC20.sol";
import "./IWrappedERC20Events.sol";
interface IWrappedERC20 is IERC20, IWrappedERC20Events
{
function wrappedToken() external view returns (IERC20);
function depositTokens(uint256 _amount) external;
function withdrawTokens(uint256 _amount) external;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 24 of 35: IWrappedERC20Events.sol
1
2
3
4
5
6
7
8
9
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
interface IWrappedERC20Events
{
event Deposit(address indexed from, uint256 amount);
event Withdrawal(address indexed to, uint256 amount);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 25 of 35: LiquidityLockedERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import "./ERC20.sol";
import "./Owned.sol";
import "./IUniswapV2Pair.sol";
import "./GatedERC20.sol";
import "./ILiquidityLockedERC20.sol";
abstract contract LiquidityLockedERC20 is GatedERC20, ILiquidityLockedERC20
{
mapping (IUniswapV2Pair => bool) public liquidityPairLocked;
mapping (address => bool) public liquidityController;
struct CallRecord
{
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 26 of 35: MarketDistribution.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import "./IMarketDistribution.sol";
import "./IMarketGeneration.sol";
import "./RootedToken.sol";
import "./RootedTransferGate.sol";
import "./TokensRecoverable.sol";
import "./SafeMath.sol";
import "./IERC31337.sol";
import "./IERC20.sol";
import "./IUniswapV2Router02.sol";
import "./IUniswapV2Factory.sol";
import "./IUniswapV2Pair.sol";
import "./SafeERC20.sol";
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 27 of 35: MarketGeneration.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import "./IMarketDistribution.sol";
import "./IMarketGeneration.sol";
import "./TokensRecoverable.sol";
import "./SafeERC20.sol";
import "./SafeMath.sol";
import "./IERC20.sol";
contract MarketGeneration is TokensRecoverable, IMarketGeneration
{
using SafeERC20 for IERC20;
using SafeMath for uint256;
mapping (address => mapping (uint8 => uint256)) public override contributionPerRound;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 28 of 35: Owned.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
/* ROOTKIT:
Provides ownerOnly() modifier
Allows for ownership transfer but requires the new
owner to claim (accept) ownership
Safer because no accidental transfers or renouncing
*/
import "./IOwned.sol";
abstract contract Owned is IOwned
{
address public override owner = msg.sender;
address internal pendingOwner;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 30 of 35: RootedTransferGate.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
pragma experimental ABIEncoderV2;
/* ROOTKIT:
A transfer gate (GatedERC20) for use with upTokens
It:
Allows customization of tax and burn rates
Allows transfer to/from approved pools
Disallows transfer to/from non-approved pools
Allows transfer to/from anywhere else
Allows for free transfers if permission granted
Allows for unrestricted transfers if permission granted
Allows for a pool to have an extra tax
Allows for a temporary declining tax
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 31 of 35: SafeERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
/* ROOTKIT:
Modified to remove some junk
Also modified to remove silly restrictions (traps!) within safeApprove
*/
import "./IERC20.sol";
import "./SafeMath.sol";
import "./Address.sol";
/**
* @title SafeERC20
* @dev Wrappers around ERC20 operations that throw on failure (when the token
* contract returns false). Tokens that return no value (and instead revert or
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 32 of 35: SafeMath.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
library SafeMath
{
function add(uint256 a, uint256 b) internal pure returns (uint256)
{
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256)
{
return sub(a, b, "SafeMath: subtraction overflow");
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 33 of 35: TokensRecoverable.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
/* ROOTKIT:
Allows recovery of unexpected tokens (airdrops, etc)
Inheriters can customize logic by overriding canRecoverTokens
*/
import "./IERC20.sol";
import "./SafeERC20.sol";
import "./Owned.sol";
import "./ITokensRecoverable.sol";
abstract contract TokensRecoverable is Owned, ITokensRecoverable
{
using SafeERC20 for IERC20;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 34 of 35: UniswapV2Library.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
import "./IUniswapV2Pair.sol";
import "./SafeMath.sol";
library UniswapV2Library {
using SafeMath for uint;
// returns sorted token addresses, used to handle return values from pairs sorted in this order
function sortTokens(address tokenA, address tokenB) internal pure returns (address token0, address token1) {
require(tokenA != tokenB, 'UniswapV2Library: IDENTICAL_ADDRESSES');
(token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
require(token0 != address(0), 'UniswapV2Library: ZERO_ADDRESS');
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

File 35 of 35: WrappedERC20.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// SPDX-License-Identifier: U-U-U-UPPPPP!!!
pragma solidity ^0.7.4;
/* ROOTKIT:
Wraps any ERC20
Similar to WETH except for ERC20 tokens instead of ETH
depositTokens/withdrawTokens are like deposit/withdraw in WETH
Inheriters can hook into depositTokens and withdrawTokens
by overriding _beforeDepositTokens and _beforeWithdrawTokens
*/
import "./IERC20.sol";
import "./ERC20.sol";
import "./IWrappedERC20.sol";
import "./TokensRecoverable.sol";
import "./SafeERC20.sol";
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

[{"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"liquidityController","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IUniswapV2Pair","name":"","type":"address"}],"name":"liquidityPairLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_liquidityController","type":"address"},{"internalType":"bool","name":"_canControl","type":"bool"}],"name":"setLiquidityController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IUniswapV2Pair","name":"_liquidityPair","type":"address"},{"internalType":"bool","name":"_locked","type":"bool"}],"name":"setLiquidityLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ITransferGate","name":"_transferGate","type":"address"}],"name":"setTransferGate","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferGate","outputs":[{"internalType":"contract ITransferGate","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526012600560006101000a81548160ff021916908360ff16021790555033600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006e57600080fd5b506040518060400160405280600881526020017f75705465746865720000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f7570555344540000000000000000000000000000000000000000000000000000815250818181818160039080519060200190620000f79291906200011d565b508060049080519060200190620001109291906200011d565b50505050505050620001d3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620001555760008555620001a1565b82601f106200017057805160ff1916838001178555620001a1565b82800160010185558215620001a1579182015b82811115620001a057825182559160200191906001019062000183565b5b509050620001b09190620001b4565b5090565b5b80821115620001cf576000816000905550600101620001b5565b5090565b613a6980620001e36000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de578063a9059cbb11610097578063b834aa2011610071578063b834aa20146107cd578063dd62ed3e14610827578063f2fde38b1461089f578063fca3b5aa146108e357610173565b8063a9059cbb146106db578063ab27c58b1461073f578063b49753431461079957610173565b806370a08231146104ec5780638da5cb5b1461054457806395d89b41146105785780639dc29fac146105fb578063a0712d6814610649578063a457c2d71461067757610173565b8063313ce56711610130578063313ce56714610379578063395093511461039a578063449113f2146103fe5780634e71e0c81461044e578063528d8b211461045857806361d8c817146104a857610173565b806306fdde031461017857806307546172146101fb578063095ea7b31461022f57806316114acd1461029357806318160ddd146102d757806323b872dd146102f5575b600080fd5b610180610927565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c05780820151818401526020810190506101a5565b50505050905090810190601f1680156101ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102036109c5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61027b6004803603604081101561024557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109eb565b60405180821515815260200191505060405180910390f35b6102d5600480360360208110156102a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a02565b005b6102df610ba6565b6040518082815260200191505060405180910390f35b6103616004803603606081101561030b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bac565b60405180821515815260200191505060405180910390f35b610381610cf3565b604051808260ff16815260200191505060405180910390f35b6103e6600480360360408110156103b057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d06565b60405180821515815260200191505060405180910390f35b61044c6004803603604081101561041457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610dab565b005b61045661109c565b005b6104a66004803603604081101561046e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506111f7565b005b6104ea600480360360208110156104be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611315565b005b61052e6004803603602081101561050257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061141c565b6040518082815260200191505060405180910390f35b61054c611a25565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610580611a4b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105c05780820151818401526020810190506105a5565b50505050905090810190601f1680156105ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106476004803603604081101561061157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ae9565b005b6106756004803603602081101561065f57600080fd5b8101908080359060200190929190505050611af7565b005b6106c36004803603604081101561068d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cc4565b60405180821515815260200191505060405180910390f35b610727600480360360408110156106f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d83565b60405180821515815260200191505060405180910390f35b6107816004803603602081101561075557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ec8565b60405180821515815260200191505060405180910390f35b6107a1611ee8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61080f600480360360208110156107e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f0e565b60405180821515815260200191505060405180910390f35b6108896004803603604081101561083d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f2e565b6040518082815260200191505060405180910390f35b6108e1600480360360208110156108b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f53565b005b610925600480360360208110156108f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061205a565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109bd5780601f10610992576101008083540402835291602001916109bd565b820191906000526020600020905b8154815290600101906020018083116109a057829003601f168201915b505050505081565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006109f8338484612161565b6001905092915050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ac5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610ace81612358565b610ad757600080fd5b610ba3338273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b4257600080fd5b505afa158015610b56573d6000803e3d6000fd5b505050506040513d6020811015610b6c57600080fd5b81019080805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff166123919092919063ffffffff16565b50565b60025481565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610c0f57610c0a6001612433565b610cdf565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff16815260200160001515815250600a60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160186101000a81548160ff0219169083151502179055509050505b610cea848484612680565b90509392505050565b600560009054906101000a900460ff1681565b6000610da13384610d9c85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277990919063ffffffff16565b612161565b6001905092915050565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e6a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4c697175696469747920636f6e74726f6c6c6572206f6e6c790000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec757600080fd5b505afa158015610edb573d6000803e3d6000fd5b505050506040513d6020811015610ef157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161480610fcf57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7c57600080fd5b505afa158015610f90573d6000803e3d6000fd5b505050506040513d6020811015610fa657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16145b611041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f556e72656c61746564207061697200000000000000000000000000000000000081525060200191505060405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f657600080fd5b6000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a333600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080339050600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a145761147c6135b1565b600a6040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160189054906101000a900460ff16151515158152505090503273ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614801561156a575043816020015163ffffffff16145b6115dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4c6971756964697479206973206c6f636b65640000000000000000000000000081525060200191505060405180910390fd5b806040015115611a12576000808373ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561162f57600080fd5b505afa158015611643573d6000803e3d6000fd5b505050506040513d606081101561165957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff16915060008473ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156116eb57600080fd5b505afa1580156116ff573d6000803e3d6000fd5b505050506040513d602081101561171557600080fd5b810190808051906020019092919050505090503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118f757818573ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a357600080fd5b505afa1580156117b7573d6000803e3d6000fd5b505050506040513d60208110156117cd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561184457600080fd5b505afa158015611858573d6000803e3d6000fd5b505050506040513d602081101561186e57600080fd5b8101908080519060200190929190505050106118f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4c6971756964697479206973206c6f636b65640000000000000000000000000081525060200191505060405180910390fd5b611a0e565b828173ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561195f57600080fd5b505afa158015611973573d6000803e3d6000fd5b505050506040513d602081101561198957600080fd5b810190808051906020019092919050505010611a0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4c6971756964697479206973206c6f636b65640000000000000000000000000081525060200191505060405180910390fd5b5b5050505b505b611a1d83612801565b915050919050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ae15780601f10611ab657610100808354040283529160200191611ae1565b820191906000526020600020905b815481529060010190602001808311611ac457829003601f168201915b505050505081565b611af38282612849565b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f4e6f742061206d696e746572000000000000000000000000000000000000000081525060200191505060405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0257600080fd5b505afa158015611c16573d6000803e3d6000fd5b505050506040513d6020811015611c2c57600080fd5b810190808051906020019092919050505014611cb0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f416c7265616479206d696e74656400000000000000000000000000000000000081525060200191505060405180910390fd5b611cc13364e8d4a510008302612a0d565b50565b6000611d793384611d7485604051806060016040528060258152602001613a0f60259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd49092919063ffffffff16565b612161565b6001905092915050565b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611de657611de16000612433565b611eb6565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff16815260200160001515815250600a60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160186101000a81548160ff0219169083151502179055509050505b611ec08383612c94565b905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b6001602052816000526040600020602052806000526040600020600091509150505481565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461211d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806139c16024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561226d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b61242e8363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612cab565b505050565b61243b6135b1565b600a6040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160189054906101000a900460ff16151515158152505090506124e96135b1565b60405180606001604052803273ffffffffffffffffffffffffffffffffffffffff1681526020014363ffffffff1681526020018415158152509050806000015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614158061257b5750806020015163ffffffff16826020015163ffffffff1614155b806125925750806040015115158260400151151514155b6125e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806139216031913960400191505060405180910390fd5b80600a60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160186101000a81548160ff021916908315150217905550905050505050565b600061268d848484612d9a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461276d5761276c8533612767866040518060600160405280602881526020016139786028913986612bd49092919063ffffffff16565b612161565b5b60019150509392505050565b6000808284019050838110156127f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156128cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806139a06021913960400191505060405180910390fd5b6128db826000836132c2565b612946816040518060600160405280602281526020016138b7602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd49092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061299d816002546132c790919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ab0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b612abc600083836132c2565b612ad18160025461277990919063ffffffff16565b600281905550612b28816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000838311158290612c81576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c46578082015181840152602081019050612c2b565b50505050905090810190601f168015612c735780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000612ca1338484612d9a565b6001905092915050565b6060612d0d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166133119092919063ffffffff16565b9050600081511115612d9557808060200190516020811015612d2e57600080fd5b8101908080519060200190929190505050612d94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806139e5602a913960400191505060405180910390fd5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612e0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e01906137ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e71906137aa565b60405180910390fd5b612e858383836132c2565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000829050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146131165760008273ffffffffffffffffffffffffffffffffffffffff16636052970c6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f2d57600080fd5b505afa158015612f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f65919061361a565b905060008373ffffffffffffffffffffffffffffffffffffffff166395c47d06338989896040518563ffffffff1660e01b8152600401612fa89493929190613765565b602060405180830381600087803b158015612fc257600080fd5b505af1158015612fd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ffa9190613643565b9050600081111561311357613056816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516130f591906137ea565b60405180910390a361311081846132c790919063ffffffff16565b92505b50505b613181836040518060600160405280602681526020016138fb602691396000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd49092919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613214816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132b391906137ea565b60405180910390a35050505050565b505050565b600061330983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612bd4565b905092915050565b60606133208484600085613329565b90509392505050565b606082471015613384576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806139526026913960400191505060405180910390fd5b61338d856134d2565b6133ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081525060200191505060405180910390fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061344f578051825260208201915060208101905060208303925061342c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146134b1576040519150601f19603f3d011682016040523d82523d6000602084013e6134b6565b606091505b50915091506134c68282866134e5565b92505050949350505050565b600080823b905060008111915050919050565b606083156134f5578290506135aa565b6000835111156135085782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561356f578082015181840152602081019050613554565b50505050905090810190601f16801561359c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b9392505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff1681526020016000151581525090565b6000815190506135ff81613888565b92915050565b6000815190506136148161389f565b92915050565b60006020828403121561362c57600080fd5b600061363a848285016135f0565b91505092915050565b60006020828403121561365557600080fd5b600061366384828501613605565b91505092915050565b61367581613852565b82525050565b61368481613816565b82525050565b6000613697602383613805565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006136fd602583613805565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61375f81613848565b82525050565b600060808201905061377a600083018761366c565b613787602083018661367b565b613794604083018561367b565b6137a16060830184613756565b95945050505050565b600060208201905081810360008301526137c38161368a565b9050919050565b600060208201905081810360008301526137e3816136f0565b9050919050565b60006020820190506137ff6000830184613756565b92915050565b600082825260208201905092915050565b600061382182613828565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061385d82613864565b9050919050565b600061386f82613876565b9050919050565b600061388182613828565b9050919050565b61389181613816565b811461389c57600080fd5b50565b6138a881613848565b81146138b357600080fd5b5056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654c6971756964697479206973206c6f636b65642028506c656173652074727920616761696e206e65787420626c6f636b29416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122025b89b9b0bb9be0968ddff927338de4a5217d300e63bcf24d307af1f92b0068764736f6c63430007040033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de578063a9059cbb11610097578063b834aa2011610071578063b834aa20146107cd578063dd62ed3e14610827578063f2fde38b1461089f578063fca3b5aa146108e357610173565b8063a9059cbb146106db578063ab27c58b1461073f578063b49753431461079957610173565b806370a08231146104ec5780638da5cb5b1461054457806395d89b41146105785780639dc29fac146105fb578063a0712d6814610649578063a457c2d71461067757610173565b8063313ce56711610130578063313ce56714610379578063395093511461039a578063449113f2146103fe5780634e71e0c81461044e578063528d8b211461045857806361d8c817146104a857610173565b806306fdde031461017857806307546172146101fb578063095ea7b31461022f57806316114acd1461029357806318160ddd146102d757806323b872dd146102f5575b600080fd5b610180610927565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c05780820151818401526020810190506101a5565b50505050905090810190601f1680156101ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102036109c5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61027b6004803603604081101561024557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109eb565b60405180821515815260200191505060405180910390f35b6102d5600480360360208110156102a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a02565b005b6102df610ba6565b6040518082815260200191505060405180910390f35b6103616004803603606081101561030b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bac565b60405180821515815260200191505060405180910390f35b610381610cf3565b604051808260ff16815260200191505060405180910390f35b6103e6600480360360408110156103b057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d06565b60405180821515815260200191505060405180910390f35b61044c6004803603604081101561041457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610dab565b005b61045661109c565b005b6104a66004803603604081101561046e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506111f7565b005b6104ea600480360360208110156104be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611315565b005b61052e6004803603602081101561050257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061141c565b6040518082815260200191505060405180910390f35b61054c611a25565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610580611a4b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105c05780820151818401526020810190506105a5565b50505050905090810190601f1680156105ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106476004803603604081101561061157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ae9565b005b6106756004803603602081101561065f57600080fd5b8101908080359060200190929190505050611af7565b005b6106c36004803603604081101561068d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cc4565b60405180821515815260200191505060405180910390f35b610727600480360360408110156106f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d83565b60405180821515815260200191505060405180910390f35b6107816004803603602081101561075557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ec8565b60405180821515815260200191505060405180910390f35b6107a1611ee8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61080f600480360360208110156107e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f0e565b60405180821515815260200191505060405180910390f35b6108896004803603604081101561083d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f2e565b6040518082815260200191505060405180910390f35b6108e1600480360360208110156108b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f53565b005b610925600480360360208110156108f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061205a565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109bd5780601f10610992576101008083540402835291602001916109bd565b820191906000526020600020905b8154815290600101906020018083116109a057829003601f168201915b505050505081565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006109f8338484612161565b6001905092915050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ac5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610ace81612358565b610ad757600080fd5b610ba3338273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b4257600080fd5b505afa158015610b56573d6000803e3d6000fd5b505050506040513d6020811015610b6c57600080fd5b81019080805190602001909291905050508373ffffffffffffffffffffffffffffffffffffffff166123919092919063ffffffff16565b50565b60025481565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610c0f57610c0a6001612433565b610cdf565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff16815260200160001515815250600a60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160186101000a81548160ff0219169083151502179055509050505b610cea848484612680565b90509392505050565b600560009054906101000a900460ff1681565b6000610da13384610d9c85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277990919063ffffffff16565b612161565b6001905092915050565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e6a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4c697175696469747920636f6e74726f6c6c6572206f6e6c790000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec757600080fd5b505afa158015610edb573d6000803e3d6000fd5b505050506040513d6020811015610ef157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161480610fcf57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7c57600080fd5b505afa158015610f90573d6000803e3d6000fd5b505050506040513d6020811015610fa657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16145b611041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f556e72656c61746564207061697200000000000000000000000000000000000081525060200191505060405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b3373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110f657600080fd5b6000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a333600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080339050600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a145761147c6135b1565b600a6040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160189054906101000a900460ff16151515158152505090503273ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614801561156a575043816020015163ffffffff16145b6115dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4c6971756964697479206973206c6f636b65640000000000000000000000000081525060200191505060405180910390fd5b806040015115611a12576000808373ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561162f57600080fd5b505afa158015611643573d6000803e3d6000fd5b505050506040513d606081101561165957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff16915060008473ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156116eb57600080fd5b505afa1580156116ff573d6000803e3d6000fd5b505050506040513d602081101561171557600080fd5b810190808051906020019092919050505090503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118f757818573ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a357600080fd5b505afa1580156117b7573d6000803e3d6000fd5b505050506040513d60208110156117cd57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561184457600080fd5b505afa158015611858573d6000803e3d6000fd5b505050506040513d602081101561186e57600080fd5b8101908080519060200190929190505050106118f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4c6971756964697479206973206c6f636b65640000000000000000000000000081525060200191505060405180910390fd5b611a0e565b828173ffffffffffffffffffffffffffffffffffffffff166370a08231876040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561195f57600080fd5b505afa158015611973573d6000803e3d6000fd5b505050506040513d602081101561198957600080fd5b810190808051906020019092919050505010611a0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4c6971756964697479206973206c6f636b65640000000000000000000000000081525060200191505060405180910390fd5b5b5050505b505b611a1d83612801565b915050919050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ae15780601f10611ab657610100808354040283529160200191611ae1565b820191906000526020600020905b815481529060010190602001808311611ac457829003601f168201915b505050505081565b611af38282612849565b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f4e6f742061206d696e746572000000000000000000000000000000000000000081525060200191505060405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0257600080fd5b505afa158015611c16573d6000803e3d6000fd5b505050506040513d6020811015611c2c57600080fd5b810190808051906020019092919050505014611cb0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f416c7265616479206d696e74656400000000000000000000000000000000000081525060200191505060405180910390fd5b611cc13364e8d4a510008302612a0d565b50565b6000611d793384611d7485604051806060016040528060258152602001613a0f60259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd49092919063ffffffff16565b612161565b6001905092915050565b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611de657611de16000612433565b611eb6565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff16815260200160001515815250600a60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160186101000a81548160ff0219169083151502179055509050505b611ec08383612c94565b905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b6001602052816000526040600020602052806000526040600020600091509150505481565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461211d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f4f776e6572206f6e6c790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806139c16024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561226d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138d96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b61242e8363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612cab565b505050565b61243b6135b1565b600a6040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160189054906101000a900460ff16151515158152505090506124e96135b1565b60405180606001604052803273ffffffffffffffffffffffffffffffffffffffff1681526020014363ffffffff1681526020018415158152509050806000015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614158061257b5750806020015163ffffffff16826020015163ffffffff1614155b806125925750806040015115158260400151151514155b6125e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806139216031913960400191505060405180910390fd5b80600a60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160186101000a81548160ff021916908315150217905550905050505050565b600061268d848484612d9a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461276d5761276c8533612767866040518060600160405280602881526020016139786028913986612bd49092919063ffffffff16565b612161565b5b60019150509392505050565b6000808284019050838110156127f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156128cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806139a06021913960400191505060405180910390fd5b6128db826000836132c2565b612946816040518060600160405280602281526020016138b7602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd49092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061299d816002546132c790919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ab0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b612abc600083836132c2565b612ad18160025461277990919063ffffffff16565b600281905550612b28816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000838311158290612c81576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c46578082015181840152602081019050612c2b565b50505050905090810190601f168015612c735780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000612ca1338484612d9a565b6001905092915050565b6060612d0d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166133119092919063ffffffff16565b9050600081511115612d9557808060200190516020811015612d2e57600080fd5b8101908080519060200190929190505050612d94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806139e5602a913960400191505060405180910390fd5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612e0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e01906137ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e71906137aa565b60405180910390fd5b612e858383836132c2565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000829050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146131165760008273ffffffffffffffffffffffffffffffffffffffff16636052970c6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f2d57600080fd5b505afa158015612f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f65919061361a565b905060008373ffffffffffffffffffffffffffffffffffffffff166395c47d06338989896040518563ffffffff1660e01b8152600401612fa89493929190613765565b602060405180830381600087803b158015612fc257600080fd5b505af1158015612fd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ffa9190613643565b9050600081111561311357613056816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516130f591906137ea565b60405180910390a361311081846132c790919063ffffffff16565b92505b50505b613181836040518060600160405280602681526020016138fb602691396000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bd49092919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613214816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132b391906137ea565b60405180910390a35050505050565b505050565b600061330983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612bd4565b905092915050565b60606133208484600085613329565b90509392505050565b606082471015613384576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806139526026913960400191505060405180910390fd5b61338d856134d2565b6133ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081525060200191505060405180910390fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061344f578051825260208201915060208101905060208303925061342c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146134b1576040519150601f19603f3d011682016040523d82523d6000602084013e6134b6565b606091505b50915091506134c68282866134e5565b92505050949350505050565b600080823b905060008111915050919050565b606083156134f5578290506135aa565b6000835111156135085782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561356f578082015181840152602081019050613554565b50505050905090810190601f16801561359c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b9392505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600063ffffffff1681526020016000151581525090565b6000815190506135ff81613888565b92915050565b6000815190506136148161389f565b92915050565b60006020828403121561362c57600080fd5b600061363a848285016135f0565b91505092915050565b60006020828403121561365557600080fd5b600061366384828501613605565b91505092915050565b61367581613852565b82525050565b61368481613816565b82525050565b6000613697602383613805565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006136fd602583613805565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61375f81613848565b82525050565b600060808201905061377a600083018761366c565b613787602083018661367b565b613794604083018561367b565b6137a16060830184613756565b95945050505050565b600060208201905081810360008301526137c38161368a565b9050919050565b600060208201905081810360008301526137e3816136f0565b9050919050565b60006020820190506137ff6000830184613756565b92915050565b600082825260208201905092915050565b600061382182613828565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061385d82613864565b9050919050565b600061386f82613876565b9050919050565b600061388182613828565b9050919050565b61389181613816565b811461389c57600080fd5b50565b6138a881613848565b81146138b357600080fd5b5056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654c6971756964697479206973206c6f636b65642028506c656173652074727920616761696e206e65787420626c6f636b29416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122025b89b9b0bb9be0968ddff927338de4a5217d300e63bcf24d307af1f92b0068764736f6c63430007040033

Deployed Bytecode Sourcemap

503:434:28:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1663:27:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;578:21:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2866:167:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;428:196:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1619:35:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3133:426:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1733:35:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4344:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;698:360:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;653:222:27;;;:::i;:::-;;1066:178:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;647:134:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1252:930:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;330:42:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1697:29:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1928:109:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;711:223:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5059:263:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2712:413:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;303:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;497:42:7;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;369:52:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1535:75:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;525:120:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;608:95:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1663:27:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;578:21:28:-;;;;;;;;;;;;;:::o;2866:167:1:-;2949:4;2966:37;2975:10;2987:7;2996:6;2966:8;:37::i;:::-;3021:4;3014:11;;2866:167;;;;:::o;428:196:32:-;477:5:27;;;;;;;;;;;463:19;;:10;:19;;;454:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;519:23:32::1;536:5;519:16;:23::i;:::-;510:33;;;::::0;::::1;;554:62;573:10;585:5;:15;;;609:4;585:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;554:5;:18;;;;:62;;;;;:::i;:::-;428:196:::0;:::o;1619:35:1:-;;;;:::o;3133:426:24:-;3239:4;3266:19;:46;3301:9;3266:46;;;;;;;;;;;;;;;;;;;;;;;;;3262:227;;;3329:18;3342:4;3329:12;:18::i;:::-;3262:227;;;3406:71;;;;;;;;3435:1;3406:71;;;;;;3452:1;3406:71;;;;;;3469:5;3406:71;;;;;3389:14;:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3262:227;3506:45;3525:6;3533:9;3544:6;3506:18;:45::i;:::-;3499:52;;3133:426;;;;;:::o;1733:35:1:-;;;;;;;;;;;;;:::o;4344:212::-;4432:4;4449:77;4458:10;4470:7;4479:46;4514:10;4479:9;:21;4489:10;4479:21;;;;;;;;;;;;;;;:30;4501:7;4479:30;;;;;;;;;;;;;;;;:34;;:46;;;;:::i;:::-;4449:8;:77::i;:::-;4544:4;4537:11;;4344:212;;;;:::o;698:360:24:-;810:19;:31;830:10;810:31;;;;;;;;;;;;;;;;;;;;;;;;;801:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;926:4;891:40;;:14;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;:84;;;;970:4;935:40;;:14;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;891:84;882:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1043:7;1005:19;:35;1025:14;1005:35;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;698:360;;:::o;653:222:27:-;736:10;720:26;;:12;;;;;;;;;;;:26;;;711:36;;;;;;781:1;758:12;;:25;;;;;;;;;;;;;;;;;;827:10;799:39;;820:5;;;;;;;;;;;799:39;;;;;;;;;;;;857:10;849:5;;:18;;;;;;;;;;;;;;;;;;653:222::o;1066:178:24:-;477:5:27;;;;;;;;;;;463:19;;:10;:19;;;454:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1225:11:24::1;1181:19;:41;1201:20;1181:41;;;;;;;;;;;;;;;;:55;;;;;;;;;;;;;;;;;;1066:178:::0;;:::o;647:134:7:-;477:5:27;;;;;;;;;;;463:19;;:10;:19;;;454:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;760:13:7::1;745:12;;:28;;;;;;;;;;;;;;;;;;647:134:::0;:::o;1252:930:24:-;1318:7;1344:19;1389:10;1344:57;;1416:19;:25;1436:4;1416:25;;;;;;;;;;;;;;;;;;;;;;;;;1412:721;;;1458:22;;:::i;:::-;1483:14;1458:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1536:9;1521:24;;:4;:11;;;:24;;;:60;;;;;1569:12;1549:4;:16;;;:32;;;1521:60;1512:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1624:4;:17;;;1620:502;;;1663:16;1681;1702:4;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1662:58;;;;;;;;;1739:13;1762:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1739:37;;1826:4;1799:32;;1807:6;1799:32;;;1795:312;;;1914:8;1872:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1865:31;;;1905:4;1865:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:57;1856:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1795:312;;;2055:8;2021:6;:16;;;2046:4;2021:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:42;2012:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1795:312;1620:502;;;;1412:721;;2150:24;2166:7;2150:15;:24::i;:::-;2143:31;;;1252:930;;;:::o;330:42:27:-;;;;;;;;;;;;;:::o;1697:29:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1928:109:7:-;2007:22;2013:7;2022:6;2007:5;:22::i;:::-;1928:109;;:::o;711:223:28:-;786:6;;;;;;;;;;;772:20;;:10;:20;;;764:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;850:1;828:4;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;820:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;881:32;887:10;908:4;899:6;:13;881:5;:32::i;:::-;711:223;:::o;5059:263:1:-;5152:4;5169:123;5178:10;5190:7;5199:92;5234:15;5199:92;;;;;;;;;;;;;;;;;:9;:21;5209:10;5199:21;;;;;;;;;;;;;;;:30;5221:7;5199:30;;;;;;;;;;;;;;;;:34;;:92;;;;;:::i;:::-;5169:8;:123::i;:::-;5310:4;5303:11;;5059:263;;;;:::o;2712:413:24:-;2798:4;2833:19;:56;2876:10;2833:56;;;;;;;;;;;;;;;;;;;;;;;;;2829:238;;;2906:19;2919:5;2906:12;:19::i;:::-;2829:238;;;2984:71;;;;;;;;3013:1;2984:71;;;;;;3030:1;2984:71;;;;;;3047:5;2984:71;;;;;2967:14;:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2829:238;3084:33;3099:9;3110:6;3084:14;:33::i;:::-;3077:40;;2712:413;;;;:::o;303:59::-;;;;;;;;;;;;;;;;;;;;;;:::o;497:42:7:-;;;;;;;;;;;;;:::o;369:52:24:-;;;;;;;;;;;;;;;;;;;;;;:::o;1535:75:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;525:120:27:-;477:5;;;;;;;;;;;463:19;;:10;:19;;;454:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;629:8:::1;614:12;;:23;;;;;;;;;;;;;;;;;;525:120:::0;:::o;608:95:28:-;477:5:27;;;;;;;;;;;463:19;;:10;:19;;;454:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;688:7:28::1;679:6;;:16;;;;;;;;;;;;;;;;;;608:95:::0;:::o;8204:344:1:-;8323:1;8306:19;;:5;:19;;;;8298:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8404:1;8385:21;;:7;:21;;;;8377:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8486:6;8458:9;:16;8468:5;8458:16;;;;;;;;;;;;;;;:25;8475:7;8458:25;;;;;;;;;;;;;;;:34;;;;8524:7;8508:32;;8517:5;8508:32;;;8533:6;8508:32;;;;;;;;;;;;;;;;;;8204:344;;;:::o;632:142:32:-;703:4;760;734:31;;742:5;734:31;;;;727:38;;632:142;;;:::o;829:177:30:-;912:86;932:5;962:23;;;987:2;991:5;939:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;912:19;:86::i;:::-;829:177;;;:::o;2190:514:24:-;2256:22;;:::i;:::-;2281:14;2256:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2306:23;;:::i;:::-;2332:146;;;;;;;;2367:9;2332:146;;;;;;2411:12;2332:146;;;;;;2453:13;2332:146;;;;;2306:172;;2513:5;:12;;;2498:27;;:4;:11;;;:27;;;;:68;;;;2549:5;:17;;;2529:37;;:4;:16;;;:37;;;;2498:68;:111;;;;2591:5;:18;;;2570:39;;:4;:17;;;:39;;;;2498:111;2489:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2691:5;2674:14;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2190:514;;;:::o;3515:420:1:-;3621:4;3638:36;3648:6;3656:9;3667:6;3638:9;:36::i;:::-;3685:20;3708:9;:17;3718:6;3708:17;;;;;;;;;;;;;;;:29;3726:10;3708:29;;;;;;;;;;;;;;;;3685:52;;3776:2;3752:12;:27;3748:158;;3796:98;3805:6;3813:10;3825:68;3842:6;3825:68;;;;;;;;;;;;;;;;;:12;:16;;:68;;;;;:::i;:::-;3796:8;:98::i;:::-;3748:158;3923:4;3916:11;;;3515:420;;;;;:::o;98:185:31:-;156:7;182:9;198:1;194;:5;182:17;;223:1;218;:6;;210:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;274:1;267:8;;;98:185;;;;:::o;2231:102:1:-;2299:7;2317:10;:13;2328:1;2317:13;;;;;;;;;;;;;;;;2310:20;;2231:102;;;:::o;7348:418::-;7451:1;7432:21;;:7;:21;;;;7424:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7504:49;7525:7;7542:1;7546:6;7504:20;:49::i;:::-;7588:69;7612:6;7588:69;;;;;;;;;;;;;;;;;:10;:19;7599:7;7588:19;;;;;;;;;;;;;;;;:23;;:69;;;;;:::i;:::-;7566:10;:19;7577:7;7566:19;;;;;;;;;;;;;;;:91;;;;7682:23;7698:6;7682:11;;:15;;:23;;;;:::i;:::-;7668:11;:37;;;;7747:1;7721:37;;7730:7;7721:37;;;7751:6;7721:37;;;;;;;;;;;;;;;;;;7348:418;;:::o;6637:378::-;6740:1;6721:21;;:7;:21;;;;6713:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6791:49;6820:1;6824:7;6833:6;6791:20;:49::i;:::-;6867:23;6883:6;6867:11;;:15;;:23;;;;:::i;:::-;6853:11;:37;;;;6923:31;6947:6;6923:10;:19;6934:7;6923:19;;;;;;;;;;;;;;;;:23;;:31;;;;:::i;:::-;6901:10;:19;6912:7;6901:19;;;;;;;;;;;;;;;:53;;;;6991:7;6970:37;;6987:1;6970:37;;;7000:6;6970:37;;;;;;;;;;;;;;;;;;6637:378;;:::o;441:196:31:-;527:7;566:1;561;:6;;569:12;553:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;593:9;609:1;605;:5;593:17;;628:1;621:8;;;441:196;;;;;:::o;2546:173:1:-;2632:4;2649:40;2659:10;2671:9;2682:6;2649:9;:40::i;:::-;2707:4;2700:11;;2546:173;;;;:::o;2072:761:30:-;2496:23;2522:69;2550:4;2522:69;;;;;;;;;;;;;;;;;2530:5;2522:27;;;;:69;;;;;:::i;:::-;2496:95;;2626:1;2606:10;:17;:21;2602:224;;;2748:10;2737:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2729:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2602:224;2072:761;;;:::o;789:1131:7:-;928:1;910:20;;:6;:20;;;;902:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;1012:1;991:23;;:9;:23;;;;983:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1067:47;1088:6;1096:9;1107:6;1067:20;:47::i;:::-;1127:27;1157:12;;;;;;;;;;;1127:42;;1180:17;1200:6;1180:26;;1255:1;1221:36;;1229:13;1221:36;;;1217:467;;1284:16;1303:13;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1284:46;;1345:12;1360:13;:28;;;1389:10;1401:6;1409:9;1420:6;1360:67;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1345:82;;1453:1;1446:4;:8;1442:220;;;1510:30;1535:4;1510:10;:20;1521:8;1510:20;;;;;;;;;;;;;;;;:24;;:30;;;;:::i;:::-;1487:10;:20;1498:8;1487:20;;;;;;;;;;;;;;;:53;;;;1581:8;1564:32;;1573:6;1564:32;;;1591:4;1564:32;;;;;;:::i;:::-;;;;;;;;1627:19;1641:4;1627:9;:13;;:19;;;;:::i;:::-;1615:31;;1442:220;1217:467;;;1715:72;1738:6;1715:72;;;;;;;;;;;;;;;;;:10;:18;1726:6;1715:18;;;;;;;;;;;;;;;;:22;;:72;;;;;:::i;:::-;1694:10;:18;1705:6;1694:18;;;;;;;;;;;;;;;:93;;;;1822:36;1848:9;1822:10;:21;1833:9;1822:21;;;;;;;;;;;;;;;;:25;;:36;;;;:::i;:::-;1798:10;:21;1809:9;1798:21;;;;;;;;;;;;;;;:60;;;;1891:9;1874:38;;1883:6;1874:38;;;1902:9;1874:38;;;;;;:::i;:::-;;;;;;;;789:1131;;;;;:::o;9572:92:1:-;;;;:::o;291:142:31:-;349:7;382:43;386:1;389;382:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;375:50;;291:142;;;;:::o;3671:195:0:-;3774:12;3806:52;3828:6;3836:4;3842:1;3845:12;3806:21;:52::i;:::-;3799:59;;3671:195;;;;;:::o;4723:530::-;4850:12;4908:5;4883:21;:30;;4875:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4975:18;4986:6;4975:10;:18::i;:::-;4967:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5101:12;5115:23;5142:6;:11;;5162:5;5170:4;5142:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5100:75;;;;5193:52;5211:7;5220:10;5232:12;5193:17;:52::i;:::-;5186:59;;;;4723:530;;;;;;:::o;753:422::-;813:4;1021:12;1132:7;1120:20;1112:28;;1166:1;1159:4;:8;1152:15;;;753:422;;;:::o;7263:742::-;7378:12;7407:7;7403:595;;;7438:10;7431:17;;;;7403:595;7572:1;7552:10;:17;:21;7548:439;;;7815:10;7809:17;7876:15;7863:10;7859:2;7855:19;7848:44;7763:148;7958:12;7951:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7263:742;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:143:35:-;;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;70:80;;;;:::o;156:143::-;;244:6;238:13;229:22;;260:33;287:5;260:33;:::i;:::-;219:80;;;;:::o;305:282::-;;424:2;412:9;403:7;399:23;395:32;392:2;;;440:1;437;430:12;392:2;482:1;506:64;562:7;553:6;542:9;538:22;506:64;:::i;:::-;496:74;;454:126;382:205;;;;:::o;593:282::-;;712:2;700:9;691:7;687:23;683:32;680:2;;;728:1;725;718:12;680:2;770:1;794:64;850:7;841:6;830:9;826:22;794:64;:::i;:::-;784:74;;742:126;670:205;;;;:::o;881:147::-;976:45;1015:5;976:45;:::i;:::-;971:3;964:58;954:74;;:::o;1034:118::-;1121:24;1139:5;1121:24;:::i;:::-;1116:3;1109:37;1099:53;;:::o;1158:367::-;;1321:67;1385:2;1380:3;1321:67;:::i;:::-;1314:74;;1418:34;1414:1;1409:3;1405:11;1398:55;1484:5;1479:2;1474:3;1470:12;1463:27;1516:2;1511:3;1507:12;1500:19;;1304:221;;;:::o;1531:369::-;;1694:67;1758:2;1753:3;1694:67;:::i;:::-;1687:74;;1791:34;1787:1;1782:3;1778:11;1771:55;1857:7;1852:2;1847:3;1843:12;1836:29;1891:2;1886:3;1882:12;1875:19;;1677:223;;;:::o;1906:118::-;1993:24;2011:5;1993:24;:::i;:::-;1988:3;1981:37;1971:53;;:::o;2030:569::-;;2253:3;2242:9;2238:19;2230:27;;2267:79;2343:1;2332:9;2328:17;2319:6;2267:79;:::i;:::-;2356:72;2424:2;2413:9;2409:18;2400:6;2356:72;:::i;:::-;2438;2506:2;2495:9;2491:18;2482:6;2438:72;:::i;:::-;2520;2588:2;2577:9;2573:18;2564:6;2520:72;:::i;:::-;2220:379;;;;;;;:::o;2605:419::-;;2809:2;2798:9;2794:18;2786:26;;2858:9;2852:4;2848:20;2844:1;2833:9;2829:17;2822:47;2886:131;3012:4;2886:131;:::i;:::-;2878:139;;2776:248;;;:::o;3030:419::-;;3234:2;3223:9;3219:18;3211:26;;3283:9;3277:4;3273:20;3269:1;3258:9;3254:17;3247:47;3311:131;3437:4;3311:131;:::i;:::-;3303:139;;3201:248;;;:::o;3455:222::-;;3586:2;3575:9;3571:18;3563:26;;3599:71;3667:1;3656:9;3652:17;3643:6;3599:71;:::i;:::-;3553:124;;;;:::o;3683:169::-;;3801:6;3796:3;3789:19;3841:4;3836:3;3832:14;3817:29;;3779:73;;;;:::o;3858:96::-;;3924:24;3942:5;3924:24;:::i;:::-;3913:35;;3903:51;;;:::o;3960:126::-;;4037:42;4030:5;4026:54;4015:65;;4005:81;;;:::o;4092:77::-;;4158:5;4147:16;;4137:32;;;:::o;4175:134::-;;4266:37;4297:5;4266:37;:::i;:::-;4253:50;;4243:66;;;:::o;4315:126::-;;4398:37;4429:5;4398:37;:::i;:::-;4385:50;;4375:66;;;:::o;4447:113::-;;4530:24;4548:5;4530:24;:::i;:::-;4517:37;;4507:53;;;:::o;4566:122::-;4639:24;4657:5;4639:24;:::i;:::-;4632:5;4629:35;4619:2;;4678:1;4675;4668:12;4619:2;4609:79;:::o;4694:122::-;4767:24;4785:5;4767:24;:::i;:::-;4760:5;4757:35;4747:2;;4806:1;4803;4796:12;4747:2;4737:79;:::o

Swarm Source

ipfs://25b89b9b0bb9be0968ddff927338de4a5217d300e63bcf24d307af1f92b00687
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.