ERC-20
Overview
Max Total Supply
100,000,000 JEETS
Holders
195
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
27,111.122185658245649399 JEETSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
JEETS
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-21 */ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } 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 ); } /** * @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 * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== * * [IMPORTANT] * ==== * You shouldn't rely on `isContract` to protect against flash loan attacks! * * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract * constructor. * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize/address.code.length, which returns 0 // for contracts in construction, since the code is only stored at the end // of the constructor execution. return account.code.length > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ 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" ); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain `call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCallWithValue( target, data, 0, "Address: low-level call failed" ); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ 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" ); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ 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" ); (bool success, bytes memory returndata) = target.call{value: value}( data ); return verifyCallResultFromTarget( target, success, returndata, errorMessage ); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall( target, data, "Address: low-level static call failed" ); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResultFromTarget( target, success, returndata, errorMessage ); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall( target, data, "Address: low-level delegate call failed" ); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResultFromTarget( target, success, returndata, errorMessage ); } /** * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract. * * _Available since v4.8._ */ function verifyCallResultFromTarget( address target, bool success, bytes memory returndata, string memory errorMessage ) internal view returns (bytes memory) { if (success) { if (returndata.length == 0) { // only check isContract if the call was successful and the return data is empty // otherwise we already know that it was a contract require(isContract(target), "Address: call to non-contract"); } return returndata; } else { _revert(returndata, errorMessage); } } /** * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason or using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { _revert(returndata, errorMessage); } } function _revert(bytes memory returndata, string memory errorMessage) private pure { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly /// @solidity memory-safe-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); 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(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); 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, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 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 (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 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 (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); 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 (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 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, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IDistributor { function getMinHoldingAmount() external view returns (uint256); function createShareHolder(address _address) external; function removeShareHolder(address _address) external; } contract JEETS is Context, IERC20, Ownable { using Address for address; //Marketing or team wallet. address payable public marketingWallet = payable(0x124842f0ba72c26D2f6aF22EEf6ffA41784734b9); //Dead Wallet address public constant deadWallet = 0x000000000000000000000000000000000000dEaD; //Mapping section for better tracking. mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; //Loging and Event Information for better troubleshooting. event Log(string, uint256); event AuditLog(string, address); event RewardLiquidityProviders(uint256 tokenAmount); event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapTokensForETH(uint256 amountIn, address[] path); //Supply Definition. uint256 private theTotalSupply = 100_000_000 ether; uint256 private _tFeeTotal; //Token Definition. string public constant name = "Jeets Bot"; string public constant symbol = "JEETS"; uint8 public constant decimals = 18; //Taxes Definition. uint256 public buyFee = 4; uint256 public sellFee = 4; uint256 public minimumTokensBeforeSwap = 10_000 ether; //Oracle Price Update, Manual Process. uint256 public swapOutput = 0; //Router and Pair Configuration. IUniswapV2Router02 public immutable uniswapV2Router; address public uniswapV2Pair; address private immutable WETH; //Tracking of Automatic Swap vs Manual Swap. bool public inSwapAndLiquify; bool public swapAndLiquifyEnabled = false; bool public normalTransfer = true; bool public rewardEnabled = true; IDistributor public Distributor; bool public removeHolderByASell = true; modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor(address _Distributor) { _tOwned[_msgSender()] = theTotalSupply; address currentRouter; currentRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; //Router Distributor = IDistributor(_Distributor); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(currentRouter); WETH = _uniswapV2Router.WETH(); uniswapV2Router = _uniswapV2Router; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[currentRouter] = true; emit Transfer(address(0), _msgSender(), theTotalSupply); } //Readable Functions. function totalSupply() public view override returns (uint256) { return theTotalSupply; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } //ERC 20 Standard Transfer Functions function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } //ERC 20 Standard Allowance Function function allowance(address _owner, address spender) public view override returns (uint256) { return _allowances[_owner][spender]; } //ERC 20 Standard Approve Function function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } //ERC 20 Standard Transfer From function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); _transfer(sender, recipient, amount); _approve(sender, _msgSender(), currentAllowance - amount); return true; } //ERC 20 Standard increase Allowance function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } //ERC 20 Standard decrease Allowance function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue ); return true; } //Approve Function function _approve( address _owner, address spender, uint256 amount ) private { require(_owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[_owner][spender] = amount; emit Approval(_owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require( _tOwned[from] >= amount, "ERC20: transfer amount exceeds balance" ); if ( to != uniswapV2Pair && from != uniswapV2Pair && normalTransfer == true ) { return _tokenTransfer(from, to, amount); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; uint256 fee = 0; if ( !inSwapAndLiquify && from != uniswapV2Pair && overMinimumTokenBalance && swapAndLiquifyEnabled ) { swapAndLiquify(); } if (to == uniswapV2Pair && !_isExcludedFromFee[from]) { fee = (sellFee * amount) / 100; } if (from == uniswapV2Pair && !_isExcludedFromFee[to]) { fee = (buyFee * amount) / 100; } amount -= fee; if (fee > 0) { _tokenTransfer(from, address(this), fee); } processShareHolder(from, to, amount); _tokenTransfer(from, to, amount); } function setPair() external onlyOwner{ uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); } function processShareHolder( address _from, address _to, uint256 _amount ) internal { if (rewardEnabled) { //is buying if (_from == uniswapV2Pair) { uint256 userBalance = balanceOf(_to) + _amount; if (userBalance >= Distributor.getMinHoldingAmount()) { Distributor.createShareHolder(_to); } } //is selling if (_to == uniswapV2Pair) { uint256 userBalance = balanceOf(_from) - _amount; if (removeHolderByASell == true) { Distributor.removeShareHolder(_from); } else if ( removeHolderByASell == false && userBalance < Distributor.getMinHoldingAmount() ) { Distributor.removeShareHolder(_from); } } } } function swapAndLiquify() public lockTheSwap { uint256 totalTokens = balanceOf(address(this)); swapTokensForEth(totalTokens); uint256 ethBalance = address(this).balance; transferToAddressETH(marketingWallet, ethBalance); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function _tokenTransfer( address sender, address recipient, uint256 amount ) private { _tOwned[sender] -= amount; _tOwned[recipient] += amount; emit Transfer(sender, recipient, amount); } function isExcludedFromFee(address account) external view returns (bool) { return _isExcludedFromFee[account]; } function excludeFromFee(address account, bool _status) external onlyOwner { _isExcludedFromFee[account] = _status; } function setTokensToSwap(uint256 _minimumTokensBeforeSwap) external onlyOwner { require( _minimumTokensBeforeSwap >= 100 ether, "You need to enter more than 100 tokens." ); minimumTokensBeforeSwap = _minimumTokensBeforeSwap; } function setSwapAndLiquifyEnabled(bool _enabled) external onlyOwner { require(swapAndLiquifyEnabled != _enabled, "Value already set"); swapAndLiquifyEnabled = _enabled; } function setMarketingWallet(address _marketingWallet) external onlyOwner { require(_marketingWallet != address(0), "setmarketingWallet: ZERO"); marketingWallet = payable(_marketingWallet); } function removeHolderBySell(bool _status) external onlyOwner { removeHolderByASell = _status; } function setNormalTransfer(bool _status) external onlyOwner { normalTransfer = _status; } function setRewardEnabled(bool _status) external onlyOwner { rewardEnabled = _status; } function setDistributor(address _distributor) external onlyOwner { Distributor = IDistributor(_distributor); } function transferToAddressETH(address payable recipient, uint256 amount) private { (bool succ, ) = recipient.call{value: amount}(""); require(succ, "Transfer failed."); } receive() external payable {} // Withdraw ETH that's potentially stuck in the Contract function recoverETHfromContract() external onlyOwner { uint256 ethBalance = address(this).balance; (bool succ, ) = payable(marketingWallet).call{value: ethBalance}(""); require(succ, "Transfer failed"); } // Withdraw ERC20 tokens that are potentially stuck in Contract function recoverTokensFromContract(address _tokenAddress, uint256 _amount) external onlyOwner { bool succ = IERC20(_tokenAddress).transfer(marketingWallet, _amount); require(succ, "Transfer failed"); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_Distributor","type":"address"}],"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":false,"internalType":"string","name":"","type":"string"},{"indexed":false,"internalType":"address","name":"","type":"address"}],"name":"AuditLog","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"","type":"string"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"Log","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":"tokenAmount","type":"uint256"}],"name":"RewardLiquidityProviders","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":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"Distributor","outputs":[{"internalType":"contract IDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"spender","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":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"account","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"normalTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverETHfromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverTokensFromContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeHolderByASell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"removeHolderBySell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_distributor","type":"address"}],"name":"setDistributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"setNormalTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"setRewardEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minimumTokensBeforeSwap","type":"uint256"}],"name":"setTokensToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapOutput","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"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
60c0604052600180546001600160a01b03191673124842f0ba72c26d2f6af22eef6ffa41784734b91790556a52b7d2dcc80cd2e40000006005556004600781905560085569021e19e0c9bab24000006009556000600a55600b805461010160b01b62ffffff60a81b19909116179055600c805460ff60a01b1916600160a01b1790553480156200008e57600080fd5b506040516200209f3803806200209f833981016040819052620000b19162000299565b620000bc3362000249565b6005543360009081526002602090815260409182902092909255600c80546001600160a01b0319166001600160a01b03851617905580516315ab88c960e31b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d928392839263ad5c4648926004808401939192918290030181865afa15801562000142573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000168919062000299565b6001600160a01b0390811660a0528116608052600160046000620001946000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526004909352818320805485166001908117909155908616835291208054909216179055620001f03390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200023891815260200190565b60405180910390a3505050620002cb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620002ac57600080fd5b81516001600160a01b0381168114620002c457600080fd5b9392505050565b60805160a051611d926200030d60003960006114e80152600081816102e30152818161097201528181610a0301528181611540015261157c0152611d926000f3fe60806040526004361061024a5760003560e01c8063715018a611610139578063b63eddb1116100b6578063dd62ed3e1161007a578063dd62ed3e14610709578063df8408fe1461074f578063e6be4a721461076f578063ee32dafc1461078f578063ee5c02a2146107b0578063f2fde38b146107d057600080fd5b8063b63eddb11461067d578063c49b9a801461069d578063ce831ed5146106bd578063d2d7ad83146106d2578063d345e5f1146106e857600080fd5b80638da5cb5b116100fd5780638da5cb5b146105d957806395d89b41146105f7578063a457c2d714610628578063a9059cbb14610648578063b29ad50a1461066857600080fd5b8063715018a61461054e57806375619ab51461056357806375f0a8741461058357806385141a77146105a3578063889a101c146105b957600080fd5b806339509351116101c75780634bdc18de1161018b5780634bdc18de146104945780635342acb4146104a95780635d098b38146104e25780635eaa82471461050257806370a082311461051857600080fd5b806339509351146103fb578063461d94761461041b578063470624021461043d57806349bd5a5e146104535780634a74bb021461047357600080fd5b80632039d8901161020e5780632039d8901461035d578063220f66961461037d57806323b872dd1461039e5780632b14ca56146103be578063313ce567146103d457600080fd5b806306fdde0314610256578063095ea7b3146102a15780631694505e146102d157806317ee69951461031d57806318160ddd1461033e57600080fd5b3661025157005b600080fd5b34801561026257600080fd5b5061028b604051806040016040528060098152602001681299595d1cc8109bdd60ba1b81525081565b6040516102989190611a3e565b60405180910390f35b3480156102ad57600080fd5b506102c16102bc366004611aa1565b6107f0565b6040519015158152602001610298565b3480156102dd57600080fd5b506103057f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610298565b34801561032957600080fd5b50600b546102c190600160b81b900460ff1681565b34801561034a57600080fd5b506005545b604051908152602001610298565b34801561036957600080fd5b50600c54610305906001600160a01b031681565b34801561038957600080fd5b50600b546102c190600160a01b900460ff1681565b3480156103aa57600080fd5b506102c16103b9366004611acd565b610807565b3480156103ca57600080fd5b5061034f60085481565b3480156103e057600080fd5b506103e9601281565b60405160ff9091168152602001610298565b34801561040757600080fd5b506102c1610416366004611aa1565b6108bb565b34801561042757600080fd5b5061043b610436366004611b0e565b6108f2565b005b34801561044957600080fd5b5061034f60075481565b34801561045f57600080fd5b50600b54610305906001600160a01b031681565b34801561047f57600080fd5b50600b546102c190600160a81b900460ff1681565b3480156104a057600080fd5b5061043b610968565b3480156104b557600080fd5b506102c16104c4366004611b27565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156104ee57600080fd5b5061043b6104fd366004611b27565b610b16565b34801561050e57600080fd5b5061034f600a5481565b34801561052457600080fd5b5061034f610533366004611b27565b6001600160a01b031660009081526002602052604090205490565b34801561055a57600080fd5b5061043b610b96565b34801561056f57600080fd5b5061043b61057e366004611b27565b610baa565b34801561058f57600080fd5b50600154610305906001600160a01b031681565b3480156105af57600080fd5b5061030561dead81565b3480156105c557600080fd5b5061043b6105d4366004611b59565b610bd4565b3480156105e557600080fd5b506000546001600160a01b0316610305565b34801561060357600080fd5b5061028b604051806040016040528060058152602001644a4545545360d81b81525081565b34801561063457600080fd5b506102c1610643366004611aa1565b610bfa565b34801561065457600080fd5b506102c1610663366004611aa1565b610c31565b34801561067457600080fd5b5061043b610c3e565b34801561068957600080fd5b5061043b610698366004611b59565b610c95565b3480156106a957600080fd5b5061043b6106b8366004611b59565b610cbb565b3480156106c957600080fd5b5061043b610d37565b3480156106de57600080fd5b5061034f60095481565b3480156106f457600080fd5b50600b546102c190600160b01b900460ff1681565b34801561071557600080fd5b5061034f610724366004611b76565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561075b57600080fd5b5061043b61076a366004611baf565b610ddc565b34801561077b57600080fd5b5061043b61078a366004611aa1565b610e0f565b34801561079b57600080fd5b50600c546102c190600160a01b900460ff1681565b3480156107bc57600080fd5b5061043b6107cb366004611b59565b610ed6565b3480156107dc57600080fd5b5061043b6107eb366004611b27565b610efc565b60006107fd338484610f75565b5060015b92915050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054828110156108915760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61089c85858561109a565b6108b085336108ab8685611bf3565b610f75565b506001949350505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916107fd9185906108ab908690611c06565b6108fa6113e7565b68056bc75e2d631000008110156109635760405162461bcd60e51b815260206004820152602760248201527f596f75206e65656420746f20656e746572206d6f7265207468616e20313030206044820152663a37b5b2b7399760c91b6064820152608401610888565b600955565b6109706113e7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f29190611c19565b6001600160a01b031663c9c65396307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a839190611c19565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af49190611c19565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b610b1e6113e7565b6001600160a01b038116610b745760405162461bcd60e51b815260206004820152601860248201527f7365746d61726b6574696e6757616c6c65743a205a45524f00000000000000006044820152606401610888565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b610b9e6113e7565b610ba86000611441565b565b610bb26113e7565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b610bdc6113e7565b600c8054911515600160a01b0260ff60a01b19909216919091179055565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916107fd9185906108ab908690611bf3565b60006107fd33848461109a565b600b805460ff60a01b1916600160a01b179055306000908152600260205260408120549050610c6c81611491565b6001544790610c84906001600160a01b031682611629565b5050600b805460ff60a01b19169055565b610c9d6113e7565b600b8054911515600160b01b0260ff60b01b19909216919091179055565b610cc36113e7565b801515600b60159054906101000a900460ff16151503610d195760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b6044820152606401610888565b600b8054911515600160a81b0260ff60a81b19909216919091179055565b610d3f6113e7565b60015460405147916000916001600160a01b039091169083908381818185875af1925050503d8060008114610d90576040519150601f19603f3d011682016040523d82523d6000602084013e610d95565b606091505b5050905080610dd85760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401610888565b5050565b610de46113e7565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b610e176113e7565b60015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905260009184169063a9059cbb906044016020604051808303816000875af1158015610e6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e909190611c36565b905080610ed15760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401610888565b505050565b610ede6113e7565b600b8054911515600160b81b0260ff60b81b19909216919091179055565b610f046113e7565b6001600160a01b038116610f695760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610888565b610f7281611441565b50565b6001600160a01b038316610fd75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610888565b6001600160a01b0382166110385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610888565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166110fe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610888565b6001600160a01b0382166111605760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610888565b600081116111c25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610888565b6001600160a01b0383166000908152600260205260409020548111156112395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610888565b600b546001600160a01b038381169116148015906112655750600b546001600160a01b03848116911614155b801561127f5750600b54600160b01b900460ff1615156001145b1561128f57610ed18383836116bf565b30600090815260026020526040812054600954600b5491929083101591600160a01b900460ff161580156112d15750600b546001600160a01b03878116911614155b80156112da5750815b80156112ef5750600b54600160a81b900460ff165b156112fc576112fc610c3e565b600b546001600160a01b03868116911614801561133257506001600160a01b03861660009081526004602052604090205460ff16155b15611354576064846008546113479190611c53565b6113519190611c6a565b90505b600b546001600160a01b03878116911614801561138a57506001600160a01b03851660009081526004602052604090205460ff16155b156113ac5760648460075461139f9190611c53565b6113a99190611c6a565b90505b6113b68185611bf3565b935080156113c9576113c98630836116bf565b6113d4868686611760565b6113df8686866116bf565b505050505050565b6000546001600160a01b03163314610ba85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610888565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114c6576114c6611c8c565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061151a5761151a611c8c565b60200260200101906001600160a01b031690816001600160a01b031681525050611565307f000000000000000000000000000000000000000000000000000000000000000084610f75565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906115ba908590600090869030904290600401611ce6565b600060405180830381600087803b1580156115d457600080fd5b505af11580156115e8573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161161d929190611d22565b60405180910390a15050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611676576040519150601f19603f3d011682016040523d82523d6000602084013e61167b565b606091505b5050905080610ed15760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b6044820152606401610888565b6001600160a01b038316600090815260026020526040812080548392906116e7908490611bf3565b90915550506001600160a01b03821660009081526002602052604081208054839290611714908490611c06565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161108d91815260200190565b600b54600160b81b900460ff1615610ed157600b546001600160a01b039081169084160361188d576001600160a01b0382166000908152600260205260408120546117ac908390611c06565b9050600c60009054906101000a90046001600160a01b03166001600160a01b0316631f34e7726040518163ffffffff1660e01b8152600401602060405180830381865afa158015611801573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118259190611d43565b811061188b57600c54604051632dd2210d60e21b81526001600160a01b0385811660048301529091169063b748843490602401600060405180830381600087803b15801561187257600080fd5b505af1158015611886573d6000803e3d6000fd5b505050505b505b600b546001600160a01b0390811690831603610ed1576001600160a01b0383166000908152600260205260408120546118c7908390611bf3565b600c54909150600160a01b900460ff16151560010361194457600c546040516302d5acb960e51b81526001600160a01b03868116600483015290911690635ab5972090602401600060405180830381600087803b15801561192757600080fd5b505af115801561193b573d6000803e3d6000fd5b50505050611a38565b600c54600160a01b900460ff161580156119d35750600c60009054906101000a90046001600160a01b03166001600160a01b0316631f34e7726040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d09190611d43565b81105b15611a3857600c546040516302d5acb960e51b81526001600160a01b03868116600483015290911690635ab5972090602401600060405180830381600087803b158015611a1f57600080fd5b505af1158015611a33573d6000803e3d6000fd5b505050505b50505050565b600060208083528351808285015260005b81811015611a6b57858101830151858201604001528201611a4f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f7257600080fd5b60008060408385031215611ab457600080fd5b8235611abf81611a8c565b946020939093013593505050565b600080600060608486031215611ae257600080fd5b8335611aed81611a8c565b92506020840135611afd81611a8c565b929592945050506040919091013590565b600060208284031215611b2057600080fd5b5035919050565b600060208284031215611b3957600080fd5b8135611b4481611a8c565b9392505050565b8015158114610f7257600080fd5b600060208284031215611b6b57600080fd5b8135611b4481611b4b565b60008060408385031215611b8957600080fd5b8235611b9481611a8c565b91506020830135611ba481611a8c565b809150509250929050565b60008060408385031215611bc257600080fd5b8235611bcd81611a8c565b91506020830135611ba481611b4b565b634e487b7160e01b600052601160045260246000fd5b8181038181111561080157610801611bdd565b8082018082111561080157610801611bdd565b600060208284031215611c2b57600080fd5b8151611b4481611a8c565b600060208284031215611c4857600080fd5b8151611b4481611b4b565b808202811582820484141761080157610801611bdd565b600082611c8757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611cdb5781516001600160a01b031687529582019590820190600101611cb6565b509495945050505050565b85815284602082015260a060408201526000611d0560a0830186611ca2565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000611d3b6040830184611ca2565b949350505050565b600060208284031215611d5557600080fd5b505191905056fea2646970667358221220452dda89c77fb41e87abdb3216559f1a16f848ead5b0366ca39cfc7b3d4c348064736f6c634300081300330000000000000000000000005688f69c9cb53f5b09ab22dbacd7eb8d812274a1
Deployed Bytecode
0x60806040526004361061024a5760003560e01c8063715018a611610139578063b63eddb1116100b6578063dd62ed3e1161007a578063dd62ed3e14610709578063df8408fe1461074f578063e6be4a721461076f578063ee32dafc1461078f578063ee5c02a2146107b0578063f2fde38b146107d057600080fd5b8063b63eddb11461067d578063c49b9a801461069d578063ce831ed5146106bd578063d2d7ad83146106d2578063d345e5f1146106e857600080fd5b80638da5cb5b116100fd5780638da5cb5b146105d957806395d89b41146105f7578063a457c2d714610628578063a9059cbb14610648578063b29ad50a1461066857600080fd5b8063715018a61461054e57806375619ab51461056357806375f0a8741461058357806385141a77146105a3578063889a101c146105b957600080fd5b806339509351116101c75780634bdc18de1161018b5780634bdc18de146104945780635342acb4146104a95780635d098b38146104e25780635eaa82471461050257806370a082311461051857600080fd5b806339509351146103fb578063461d94761461041b578063470624021461043d57806349bd5a5e146104535780634a74bb021461047357600080fd5b80632039d8901161020e5780632039d8901461035d578063220f66961461037d57806323b872dd1461039e5780632b14ca56146103be578063313ce567146103d457600080fd5b806306fdde0314610256578063095ea7b3146102a15780631694505e146102d157806317ee69951461031d57806318160ddd1461033e57600080fd5b3661025157005b600080fd5b34801561026257600080fd5b5061028b604051806040016040528060098152602001681299595d1cc8109bdd60ba1b81525081565b6040516102989190611a3e565b60405180910390f35b3480156102ad57600080fd5b506102c16102bc366004611aa1565b6107f0565b6040519015158152602001610298565b3480156102dd57600080fd5b506103057f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610298565b34801561032957600080fd5b50600b546102c190600160b81b900460ff1681565b34801561034a57600080fd5b506005545b604051908152602001610298565b34801561036957600080fd5b50600c54610305906001600160a01b031681565b34801561038957600080fd5b50600b546102c190600160a01b900460ff1681565b3480156103aa57600080fd5b506102c16103b9366004611acd565b610807565b3480156103ca57600080fd5b5061034f60085481565b3480156103e057600080fd5b506103e9601281565b60405160ff9091168152602001610298565b34801561040757600080fd5b506102c1610416366004611aa1565b6108bb565b34801561042757600080fd5b5061043b610436366004611b0e565b6108f2565b005b34801561044957600080fd5b5061034f60075481565b34801561045f57600080fd5b50600b54610305906001600160a01b031681565b34801561047f57600080fd5b50600b546102c190600160a81b900460ff1681565b3480156104a057600080fd5b5061043b610968565b3480156104b557600080fd5b506102c16104c4366004611b27565b6001600160a01b031660009081526004602052604090205460ff1690565b3480156104ee57600080fd5b5061043b6104fd366004611b27565b610b16565b34801561050e57600080fd5b5061034f600a5481565b34801561052457600080fd5b5061034f610533366004611b27565b6001600160a01b031660009081526002602052604090205490565b34801561055a57600080fd5b5061043b610b96565b34801561056f57600080fd5b5061043b61057e366004611b27565b610baa565b34801561058f57600080fd5b50600154610305906001600160a01b031681565b3480156105af57600080fd5b5061030561dead81565b3480156105c557600080fd5b5061043b6105d4366004611b59565b610bd4565b3480156105e557600080fd5b506000546001600160a01b0316610305565b34801561060357600080fd5b5061028b604051806040016040528060058152602001644a4545545360d81b81525081565b34801561063457600080fd5b506102c1610643366004611aa1565b610bfa565b34801561065457600080fd5b506102c1610663366004611aa1565b610c31565b34801561067457600080fd5b5061043b610c3e565b34801561068957600080fd5b5061043b610698366004611b59565b610c95565b3480156106a957600080fd5b5061043b6106b8366004611b59565b610cbb565b3480156106c957600080fd5b5061043b610d37565b3480156106de57600080fd5b5061034f60095481565b3480156106f457600080fd5b50600b546102c190600160b01b900460ff1681565b34801561071557600080fd5b5061034f610724366004611b76565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561075b57600080fd5b5061043b61076a366004611baf565b610ddc565b34801561077b57600080fd5b5061043b61078a366004611aa1565b610e0f565b34801561079b57600080fd5b50600c546102c190600160a01b900460ff1681565b3480156107bc57600080fd5b5061043b6107cb366004611b59565b610ed6565b3480156107dc57600080fd5b5061043b6107eb366004611b27565b610efc565b60006107fd338484610f75565b5060015b92915050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054828110156108915760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61089c85858561109a565b6108b085336108ab8685611bf3565b610f75565b506001949350505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916107fd9185906108ab908690611c06565b6108fa6113e7565b68056bc75e2d631000008110156109635760405162461bcd60e51b815260206004820152602760248201527f596f75206e65656420746f20656e746572206d6f7265207468616e20313030206044820152663a37b5b2b7399760c91b6064820152608401610888565b600955565b6109706113e7565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f29190611c19565b6001600160a01b031663c9c65396307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a839190611c19565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af49190611c19565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b610b1e6113e7565b6001600160a01b038116610b745760405162461bcd60e51b815260206004820152601860248201527f7365746d61726b6574696e6757616c6c65743a205a45524f00000000000000006044820152606401610888565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b610b9e6113e7565b610ba86000611441565b565b610bb26113e7565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b610bdc6113e7565b600c8054911515600160a01b0260ff60a01b19909216919091179055565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916107fd9185906108ab908690611bf3565b60006107fd33848461109a565b600b805460ff60a01b1916600160a01b179055306000908152600260205260408120549050610c6c81611491565b6001544790610c84906001600160a01b031682611629565b5050600b805460ff60a01b19169055565b610c9d6113e7565b600b8054911515600160b01b0260ff60b01b19909216919091179055565b610cc36113e7565b801515600b60159054906101000a900460ff16151503610d195760405162461bcd60e51b815260206004820152601160248201527015985b1d5948185b1c9958591e481cd95d607a1b6044820152606401610888565b600b8054911515600160a81b0260ff60a81b19909216919091179055565b610d3f6113e7565b60015460405147916000916001600160a01b039091169083908381818185875af1925050503d8060008114610d90576040519150601f19603f3d011682016040523d82523d6000602084013e610d95565b606091505b5050905080610dd85760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401610888565b5050565b610de46113e7565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b610e176113e7565b60015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905260009184169063a9059cbb906044016020604051808303816000875af1158015610e6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e909190611c36565b905080610ed15760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401610888565b505050565b610ede6113e7565b600b8054911515600160b81b0260ff60b81b19909216919091179055565b610f046113e7565b6001600160a01b038116610f695760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610888565b610f7281611441565b50565b6001600160a01b038316610fd75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610888565b6001600160a01b0382166110385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610888565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166110fe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610888565b6001600160a01b0382166111605760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610888565b600081116111c25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610888565b6001600160a01b0383166000908152600260205260409020548111156112395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610888565b600b546001600160a01b038381169116148015906112655750600b546001600160a01b03848116911614155b801561127f5750600b54600160b01b900460ff1615156001145b1561128f57610ed18383836116bf565b30600090815260026020526040812054600954600b5491929083101591600160a01b900460ff161580156112d15750600b546001600160a01b03878116911614155b80156112da5750815b80156112ef5750600b54600160a81b900460ff165b156112fc576112fc610c3e565b600b546001600160a01b03868116911614801561133257506001600160a01b03861660009081526004602052604090205460ff16155b15611354576064846008546113479190611c53565b6113519190611c6a565b90505b600b546001600160a01b03878116911614801561138a57506001600160a01b03851660009081526004602052604090205460ff16155b156113ac5760648460075461139f9190611c53565b6113a99190611c6a565b90505b6113b68185611bf3565b935080156113c9576113c98630836116bf565b6113d4868686611760565b6113df8686866116bf565b505050505050565b6000546001600160a01b03163314610ba85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610888565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114c6576114c6611c8c565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061151a5761151a611c8c565b60200260200101906001600160a01b031690816001600160a01b031681525050611565307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610f75565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906115ba908590600090869030904290600401611ce6565b600060405180830381600087803b1580156115d457600080fd5b505af11580156115e8573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a7828260405161161d929190611d22565b60405180910390a15050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611676576040519150601f19603f3d011682016040523d82523d6000602084013e61167b565b606091505b5050905080610ed15760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b6044820152606401610888565b6001600160a01b038316600090815260026020526040812080548392906116e7908490611bf3565b90915550506001600160a01b03821660009081526002602052604081208054839290611714908490611c06565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161108d91815260200190565b600b54600160b81b900460ff1615610ed157600b546001600160a01b039081169084160361188d576001600160a01b0382166000908152600260205260408120546117ac908390611c06565b9050600c60009054906101000a90046001600160a01b03166001600160a01b0316631f34e7726040518163ffffffff1660e01b8152600401602060405180830381865afa158015611801573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118259190611d43565b811061188b57600c54604051632dd2210d60e21b81526001600160a01b0385811660048301529091169063b748843490602401600060405180830381600087803b15801561187257600080fd5b505af1158015611886573d6000803e3d6000fd5b505050505b505b600b546001600160a01b0390811690831603610ed1576001600160a01b0383166000908152600260205260408120546118c7908390611bf3565b600c54909150600160a01b900460ff16151560010361194457600c546040516302d5acb960e51b81526001600160a01b03868116600483015290911690635ab5972090602401600060405180830381600087803b15801561192757600080fd5b505af115801561193b573d6000803e3d6000fd5b50505050611a38565b600c54600160a01b900460ff161580156119d35750600c60009054906101000a90046001600160a01b03166001600160a01b0316631f34e7726040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d09190611d43565b81105b15611a3857600c546040516302d5acb960e51b81526001600160a01b03868116600483015290911690635ab5972090602401600060405180830381600087803b158015611a1f57600080fd5b505af1158015611a33573d6000803e3d6000fd5b505050505b50505050565b600060208083528351808285015260005b81811015611a6b57858101830151858201604001528201611a4f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f7257600080fd5b60008060408385031215611ab457600080fd5b8235611abf81611a8c565b946020939093013593505050565b600080600060608486031215611ae257600080fd5b8335611aed81611a8c565b92506020840135611afd81611a8c565b929592945050506040919091013590565b600060208284031215611b2057600080fd5b5035919050565b600060208284031215611b3957600080fd5b8135611b4481611a8c565b9392505050565b8015158114610f7257600080fd5b600060208284031215611b6b57600080fd5b8135611b4481611b4b565b60008060408385031215611b8957600080fd5b8235611b9481611a8c565b91506020830135611ba481611a8c565b809150509250929050565b60008060408385031215611bc257600080fd5b8235611bcd81611a8c565b91506020830135611ba481611b4b565b634e487b7160e01b600052601160045260246000fd5b8181038181111561080157610801611bdd565b8082018082111561080157610801611bdd565b600060208284031215611c2b57600080fd5b8151611b4481611a8c565b600060208284031215611c4857600080fd5b8151611b4481611b4b565b808202811582820484141761080157610801611bdd565b600082611c8757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611cdb5781516001600160a01b031687529582019590820190600101611cb6565b509495945050505050565b85815284602082015260a060408201526000611d0560a0830186611ca2565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000611d3b6040830184611ca2565b949350505050565b600060208284031215611d5557600080fd5b505191905056fea2646970667358221220452dda89c77fb41e87abdb3216559f1a16f848ead5b0366ca39cfc7b3d4c348064736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005688f69c9cb53f5b09ab22dbacd7eb8d812274a1
-----Decoded View---------------
Arg [0] : _Distributor (address): 0x5688F69c9CB53F5B09Ab22dBAcD7Eb8d812274a1
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005688f69c9cb53f5b09ab22dbacd7eb8d812274a1
Deployed Bytecode Sourcemap
23290:11565:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24466:41;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24466:41:0;;;;;;;;;;;;:::i;:::-;;;;;;;;26882:193;;;;;;;;;;-1:-1:-1;26882:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;26882:193:0;1023:187:1;24878:51:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1406:32:1;;;1388:51;;1376:2;1361:18;24878:51:0;1215:230:1;25186:32:0;;;;;;;;;;-1:-1:-1;25186:32:0;;;;-1:-1:-1;;;25186:32:0;;;;;;26122:102;;;;;;;;;;-1:-1:-1;26202:14:0;;26122:102;;;1596:25:1;;;1584:2;1569:18;26122:102:0;1450:177:1;25227:31:0;;;;;;;;;;-1:-1:-1;25227:31:0;;;;-1:-1:-1;;;;;25227:31:0;;;25059:28;;;;;;;;;;-1:-1:-1;25059:28:0;;;;-1:-1:-1;;;25059:28:0;;;;;;27120:481;;;;;;;;;;-1:-1:-1;27120:481:0;;;;;:::i;:::-;;:::i;24661:26::-;;;;;;;;;;;;;;;;24560:35;;;;;;;;;;;;24593:2;24560:35;;;;;2494:4:1;2482:17;;;2464:36;;2452:2;2437:18;24560:35:0;2322:184:1;27651:297:0;;;;;;;;;;-1:-1:-1;27651:297:0;;;;;:::i;:::-;;:::i;32772:307::-;;;;;;;;;;-1:-1:-1;32772:307:0;;;;;:::i;:::-;;:::i;:::-;;24627:25;;;;;;;;;;;;;;;;24936:29;;;;;;;;;;-1:-1:-1;24936:29:0;;;;-1:-1:-1;;;;;24936:29:0;;;25094:41;;;;;;;;;;-1:-1:-1;25094:41:0;;;;-1:-1:-1;;;25094:41:0;;;;;;30255:183;;;;;;;;;;;;;:::i;32498:126::-;;;;;;;;;;-1:-1:-1;32498:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;32589:27:0;32565:4;32589:27;;;:18;:27;;;;;;;;;32498:126;33288:213;;;;;;;;;;-1:-1:-1;33288:213:0;;;;;:::i;:::-;;:::i;24802:29::-;;;;;;;;;;;;;;;;26232:117;;;;;;;;;;-1:-1:-1;26232:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;26325:16:0;26298:7;26325:16;;;:7;:16;;;;;;;26232:117;13013:103;;;;;;;;;;;;;:::i;33846:124::-;;;;;;;;;;-1:-1:-1;33846:124:0;;;;;:::i;:::-;;:::i;23407:101::-;;;;;;;;;;-1:-1:-1;23407:101:0;;;;-1:-1:-1;;;;;23407:101:0;;;23536:88;;;;;;;;;;;;23582:42;23536:88;;33509:109;;;;;;;;;;-1:-1:-1;33509:109:0;;;;;:::i;:::-;;:::i;12365:87::-;;;;;;;;;;-1:-1:-1;12411:7:0;12438:6;-1:-1:-1;;;;;12438:6:0;12365:87;;24514:39;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24514:39:0;;;;;27998:307;;;;;;;;;;-1:-1:-1;27998:307:0;;;;;:::i;:::-;;:::i;26399:199::-;;;;;;;;;;-1:-1:-1;26399:199:0;;;;;:::i;:::-;;:::i;31432:271::-;;;;;;;;;;;;;:::i;33626:103::-;;;;;;;;;;-1:-1:-1;33626:103:0;;;;;:::i;:::-;;:::i;33087:193::-;;;;;;;;;;-1:-1:-1;33087:193:0;;;;;:::i;:::-;;:::i;34292:236::-;;;;;;;;;;;;;:::i;24696:53::-;;;;;;;;;;;;;;;;25144:33;;;;;;;;;;-1:-1:-1;25144:33:0;;;;-1:-1:-1;;;25144:33:0;;;;;;26648:186;;;;;;;;;;-1:-1:-1;26648:186:0;;;;;:::i;:::-;-1:-1:-1;;;;;26798:19:0;;;26766:7;26798:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;26648:186;32632:132;;;;;;;;;;-1:-1:-1;32632:132:0;;;;;:::i;:::-;;:::i;34605:247::-;;;;;;;;;;-1:-1:-1;34605:247:0;;;;;:::i;:::-;;:::i;25267:38::-;;;;;;;;;;-1:-1:-1;25267:38:0;;;;-1:-1:-1;;;25267:38:0;;;;;;33737:101;;;;;;;;;;-1:-1:-1;33737:101:0;;;;;:::i;:::-;;:::i;13271:238::-;;;;;;;;;;-1:-1:-1;13271:238:0;;;;;:::i;:::-;;:::i;26882:193::-;26984:4;27006:39;180:10;27029:7;27038:6;27006:8;:39::i;:::-;-1:-1:-1;27063:4:0;26882:193;;;;;:::o;27120:481::-;-1:-1:-1;;;;;27296:19:0;;27252:4;27296:19;;;:11;:19;;;;;;;;180:10;27296:33;;;;;;;;27362:26;;;;27340:116;;;;-1:-1:-1;;;27340:116:0;;4731:2:1;27340:116:0;;;4713:21:1;4770:2;4750:18;;;4743:30;4809:34;4789:18;;;4782:62;-1:-1:-1;;;4860:18:1;;;4853:38;4908:19;;27340:116:0;;;;;;;;;27467:36;27477:6;27485:9;27496:6;27467:9;:36::i;:::-;27514:57;27523:6;180:10;27545:25;27564:6;27545:16;:25;:::i;:::-;27514:8;:57::i;:::-;-1:-1:-1;27589:4:0;;27120:481;-1:-1:-1;;;;27120:481:0:o;27651:297::-;180:10;27766:4;27860:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;27860:34:0;;;;;;;;;;27766:4;;27788:130;;27838:7;;27860:47;;27897:10;;27860:47;:::i;32772:307::-;12251:13;:11;:13::i;:::-;32934:9:::1;32906:24;:37;;32884:126;;;::::0;-1:-1:-1;;;32884:126:0;;5535:2:1;32884:126:0::1;::::0;::::1;5517:21:1::0;5574:2;5554:18;;;5547:30;5613:34;5593:18;;;5586:62;-1:-1:-1;;;5664:18:1;;;5657:37;5711:19;;32884:126:0::1;5333:403:1::0;32884:126:0::1;33021:23;:50:::0;32772:307::o;30255:183::-;12251:13;:11;:13::i;:::-;30344:15:::1;-1:-1:-1::0;;;;;30344:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;30326:55:0::1;;30390:4;30397:15;-1:-1:-1::0;;;;;30397:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30326:94;::::0;-1:-1:-1;;;;;;30326:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6227:15:1;;;30326:94:0::1;::::0;::::1;6209:34:1::0;6279:15;;6259:18;;;6252:43;6144:18;;30326:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30310:13;:110:::0;;-1:-1:-1;;;;;;30310:110:0::1;-1:-1:-1::0;;;;;30310:110:0;;;::::1;::::0;;;::::1;::::0;;30255:183::o;33288:213::-;12251:13;:11;:13::i;:::-;-1:-1:-1;;;;;33380:30:0;::::1;33372:67;;;::::0;-1:-1:-1;;;33372:67:0;;6508:2:1;33372:67:0::1;::::0;::::1;6490:21:1::0;6547:2;6527:18;;;6520:30;6586:26;6566:18;;;6559:54;6630:18;;33372:67:0::1;6306:348:1::0;33372:67:0::1;33450:15;:43:::0;;-1:-1:-1;;;;;;33450:43:0::1;-1:-1:-1::0;;;;;33450:43:0;;;::::1;::::0;;;::::1;::::0;;33288:213::o;13013:103::-;12251:13;:11;:13::i;:::-;13078:30:::1;13105:1;13078:18;:30::i;:::-;13013:103::o:0;33846:124::-;12251:13;:11;:13::i;:::-;33922:11:::1;:40:::0;;-1:-1:-1;;;;;;33922:40:0::1;-1:-1:-1::0;;;;;33922:40:0;;;::::1;::::0;;;::::1;::::0;;33846:124::o;33509:109::-;12251:13;:11;:13::i;:::-;33581:19:::1;:29:::0;;;::::1;;-1:-1:-1::0;;;33581:29:0::1;-1:-1:-1::0;;;;33581:29:0;;::::1;::::0;;;::::1;::::0;;33509:109::o;27998:307::-;180:10;28118:4;28212:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;28212:34:0;;;;;;;;;;28118:4;;28140:135;;28190:7;;28212:52;;28249:15;;28212:52;:::i;26399:199::-;26504:4;26526:42;180:10;26550:9;26561:6;26526:9;:42::i;31432:271::-;25348:16;:23;;-1:-1:-1;;;;25348:23:0;-1:-1:-1;;;25348:23:0;;;31530:4:::1;-1:-1:-1::0;26325:16:0;;;:7;:16;;;;;;31490:46:::1;;31549:29;31566:11;31549:16;:29::i;:::-;31667:15;::::0;31612:21:::1;::::0;31646:49:::1;::::0;-1:-1:-1;;;;;31667:15:0::1;31612:21:::0;31646:20:::1;:49::i;:::-;-1:-1:-1::0;;25394:16:0;:24;;-1:-1:-1;;;;25394:24:0;;;31432:271::o;33626:103::-;12251:13;:11;:13::i;:::-;33697:14:::1;:24:::0;;;::::1;;-1:-1:-1::0;;;33697:24:0::1;-1:-1:-1::0;;;;33697:24:0;;::::1;::::0;;;::::1;::::0;;33626:103::o;33087:193::-;12251:13;:11;:13::i;:::-;33199:8:::1;33174:33;;:21;;;;;;;;;;;:33;;::::0;33166:63:::1;;;::::0;-1:-1:-1;;;33166:63:0;;6861:2:1;33166:63:0::1;::::0;::::1;6843:21:1::0;6900:2;6880:18;;;6873:30;-1:-1:-1;;;6919:18:1;;;6912:47;6976:18;;33166:63:0::1;6659:341:1::0;33166:63:0::1;33240:21;:32:::0;;;::::1;;-1:-1:-1::0;;;33240:32:0::1;-1:-1:-1::0;;;;33240:32:0;;::::1;::::0;;;::::1;::::0;;33087:193::o;34292:236::-;12251:13;:11;:13::i;:::-;34433:15:::1;::::0;34425:52:::1;::::0;34377:21:::1;::::0;34356:18:::1;::::0;-1:-1:-1;;;;;34433:15:0;;::::1;::::0;34377:21;;34356:18;34425:52;34356:18;34425:52;34377:21;34433:15;34425:52:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34409:68;;;34496:4;34488:32;;;::::0;-1:-1:-1;;;34488:32:0;;7417:2:1;34488:32:0::1;::::0;::::1;7399:21:1::0;7456:2;7436:18;;;7429:30;-1:-1:-1;;;7475:18:1;;;7468:45;7530:18;;34488:32:0::1;7215:339:1::0;34488:32:0::1;34345:183;;34292:236::o:0;32632:132::-;12251:13;:11;:13::i;:::-;-1:-1:-1;;;;;32717:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:37;;-1:-1:-1;;32717:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;32632:132::o;34605:247::-;12251:13;:11;:13::i;:::-;34776:15:::1;::::0;34745:56:::1;::::0;-1:-1:-1;;;34745:56:0;;-1:-1:-1;;;;;34776:15:0;;::::1;34745:56;::::0;::::1;7741:51:1::0;7808:18;;;7801:34;;;34733:9:0::1;::::0;34745:30;::::1;::::0;::::1;::::0;7714:18:1;;34745:56:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;34733:68;;34820:4;34812:32;;;::::0;-1:-1:-1;;;34812:32:0;;7417:2:1;34812:32:0::1;::::0;::::1;7399:21:1::0;7456:2;7436:18;;;7429:30;-1:-1:-1;;;7475:18:1;;;7468:45;7530:18;;34812:32:0::1;7215:339:1::0;34812:32:0::1;34722:130;34605:247:::0;;:::o;33737:101::-;12251:13;:11;:13::i;:::-;33807::::1;:23:::0;;;::::1;;-1:-1:-1::0;;;33807:23:0::1;-1:-1:-1::0;;;;33807:23:0;;::::1;::::0;;;::::1;::::0;;33737:101::o;13271:238::-;12251:13;:11;:13::i;:::-;-1:-1:-1;;;;;13374:22:0;::::1;13352:110;;;::::0;-1:-1:-1;;;13352:110:0;;8298:2:1;13352:110:0::1;::::0;::::1;8280:21:1::0;8337:2;8317:18;;;8310:30;8376:34;8356:18;;;8349:62;-1:-1:-1;;;8427:18:1;;;8420:36;8473:19;;13352:110:0::1;8096:402:1::0;13352:110:0::1;13473:28;13492:8;13473:18;:28::i;:::-;13271:238:::0;:::o;28337:375::-;-1:-1:-1;;;;;28465:20:0;;28457:69;;;;-1:-1:-1;;;28457:69:0;;8705:2:1;28457:69:0;;;8687:21:1;8744:2;8724:18;;;8717:30;8783:34;8763:18;;;8756:62;-1:-1:-1;;;8834:18:1;;;8827:34;8878:19;;28457:69:0;8503:400:1;28457:69:0;-1:-1:-1;;;;;28545:21:0;;28537:68;;;;-1:-1:-1;;;28537:68:0;;9110:2:1;28537:68:0;;;9092:21:1;9149:2;9129:18;;;9122:30;9188:34;9168:18;;;9161:62;-1:-1:-1;;;9239:18:1;;;9232:32;9281:19;;28537:68:0;8908:398:1;28537:68:0;-1:-1:-1;;;;;28618:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;28671:33;;1596:25:1;;;28671:33:0;;1569:18:1;28671:33:0;;;;;;;;28337:375;;;:::o;28720:1527::-;-1:-1:-1;;;;;28842:18:0;;28834:68;;;;-1:-1:-1;;;28834:68:0;;9513:2:1;28834:68:0;;;9495:21:1;9552:2;9532:18;;;9525:30;9591:34;9571:18;;;9564:62;-1:-1:-1;;;9642:18:1;;;9635:35;9687:19;;28834:68:0;9311:401:1;28834:68:0;-1:-1:-1;;;;;28921:16:0;;28913:64;;;;-1:-1:-1;;;28913:64:0;;9919:2:1;28913:64:0;;;9901:21:1;9958:2;9938:18;;;9931:30;9997:34;9977:18;;;9970:62;-1:-1:-1;;;10048:18:1;;;10041:33;10091:19;;28913:64:0;9717:399:1;28913:64:0;29005:1;28996:6;:10;28988:64;;;;-1:-1:-1;;;28988:64:0;;10323:2:1;28988:64:0;;;10305:21:1;10362:2;10342:18;;;10335:30;10401:34;10381:18;;;10374:62;-1:-1:-1;;;10452:18:1;;;10445:39;10501:19;;28988:64:0;10121:405:1;28988:64:0;-1:-1:-1;;;;;29085:13:0;;;;;;:7;:13;;;;;;:23;-1:-1:-1;29085:23:0;29063:111;;;;-1:-1:-1;;;29063:111:0;;10733:2:1;29063:111:0;;;10715:21:1;10772:2;10752:18;;;10745:30;10811:34;10791:18;;;10784:62;-1:-1:-1;;;10862:18:1;;;10855:36;10908:19;;29063:111:0;10531:402:1;29063:111:0;29211:13;;-1:-1:-1;;;;;29205:19:0;;;29211:13;;29205:19;;;;:57;;-1:-1:-1;29249:13:0;;-1:-1:-1;;;;;29241:21:0;;;29249:13;;29241:21;;29205:57;:96;;;;-1:-1:-1;29279:14:0;;-1:-1:-1;;;29279:14:0;;;;:22;;29297:4;29279:22;29205:96;29187:192;;;29335:32;29350:4;29356:2;29360:6;29335:14;:32::i;29187:192::-;29440:4;29391:28;26325:16;;;:7;:16;;;;;;29527:23;;29608:16;;26325;;29490:60;;;;;-1:-1:-1;;;29608:16:0;;;;29607:17;:55;;;;-1:-1:-1;29649:13:0;;-1:-1:-1;;;;;29641:21:0;;;29649:13;;29641:21;;29607:55;:95;;;;;29679:23;29607:95;:133;;;;-1:-1:-1;29719:21:0;;-1:-1:-1;;;29719:21:0;;;;29607:133;29589:206;;;29767:16;:14;:16::i;:::-;29815:13;;-1:-1:-1;;;;;29809:19:0;;;29815:13;;29809:19;:48;;;;-1:-1:-1;;;;;;29833:24:0;;;;;;:18;:24;;;;;;;;29832:25;29809:48;29805:111;;;29901:3;29891:6;29881:7;;:16;;;;:::i;:::-;29880:24;;;;:::i;:::-;29874:30;;29805:111;29938:13;;-1:-1:-1;;;;;29930:21:0;;;29938:13;;29930:21;:48;;;;-1:-1:-1;;;;;;29956:22:0;;;;;;:18;:22;;;;;;;;29955:23;29930:48;29926:110;;;30021:3;30011:6;30002;;:15;;;;:::i;:::-;30001:23;;;;:::i;:::-;29995:29;;29926:110;30046:13;30056:3;30046:13;;:::i;:::-;;-1:-1:-1;30074:7:0;;30070:80;;30098:40;30113:4;30127;30134:3;30098:14;:40::i;:::-;30160:36;30179:4;30185:2;30189:6;30160:18;:36::i;:::-;30207:32;30222:4;30228:2;30232:6;30207:14;:32::i;:::-;28823:1424;;;28720:1527;;;:::o;12530:132::-;12411:7;12438:6;-1:-1:-1;;;;;12438:6:0;180:10;12594:23;12586:68;;;;-1:-1:-1;;;12586:68:0;;11535:2:1;12586:68:0;;;11517:21:1;;;11554:18;;;11547:30;11613:34;11593:18;;;11586:62;11665:18;;12586:68:0;11333:356:1;13669:191:0;13743:16;13762:6;;-1:-1:-1;;;;;13779:17:0;;;-1:-1:-1;;;;;;13779:17:0;;;;;;13812:40;;13762:6;;;;;;;13812:40;;13743:16;13812:40;13732:128;13669:191;:::o;31711:518::-;31810:16;;;31824:1;31810:16;;;;;;;;31786:21;;31810:16;;;;;;;;;;-1:-1:-1;31810:16:0;31786:40;;31855:4;31837;31842:1;31837:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;31837:23:0;;;-1:-1:-1;;;;;31837:23:0;;;;;31881:4;31871;31876:1;31871:7;;;;;;;;:::i;:::-;;;;;;:14;-1:-1:-1;;;;;31871:14:0;;;-1:-1:-1;;;;;31871:14:0;;;;;31896:62;31913:4;31928:15;31946:11;31896:8;:62::i;:::-;31971:197;;-1:-1:-1;;;31971:197:0;;-1:-1:-1;;;;;31971:15:0;:66;;;;:197;;32052:11;;32078:1;;32095:4;;32122;;32142:15;;31971:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32186:35;32203:11;32216:4;32186:35;;;;;;;:::i;:::-;;;;;;;;31766:463;31711:518;:::o;33978:207::-;34085:9;34100;-1:-1:-1;;;;;34100:14:0;34122:6;34100:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34084:49;;;34152:4;34144:33;;;;-1:-1:-1;;;34144:33:0;;13550:2:1;34144:33:0;;;13532:21:1;13589:2;13569:18;;;13562:30;-1:-1:-1;;;13608:18:1;;;13601:46;13664:18;;34144:33:0;13348:340:1;32237:253:0;-1:-1:-1;;;;;32365:15:0;;;;;;:7;:15;;;;;:25;;32384:6;;32365:15;:25;;32384:6;;32365:25;:::i;:::-;;;;-1:-1:-1;;;;;;;32401:18:0;;;;;;:7;:18;;;;;:28;;32423:6;;32401:18;:28;;32423:6;;32401:28;:::i;:::-;;;;;;;;32464:9;-1:-1:-1;;;;;32447:35:0;32456:6;-1:-1:-1;;;;;32447:35:0;;32475:6;32447:35;;;;1596:25:1;;1584:2;1569:18;;1450:177;30446:978:0;30577:13;;-1:-1:-1;;;30577:13:0;;;;30573:844;;;30645:13;;-1:-1:-1;;;;;30645:13:0;;;30636:22;;;;30632:260;;-1:-1:-1;;;;;26325:16:0;;30679:19;26325:16;;;:7;:16;;;;;;30701:24;;30718:7;;30701:24;:::i;:::-;30679:46;;30765:11;;;;;;;;;-1:-1:-1;;;;;30765:11:0;-1:-1:-1;;;;;30765:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30750:11;:48;30746:131;;30823:11;;:34;;-1:-1:-1;;;30823:34:0;;-1:-1:-1;;;;;1406:32:1;;;30823:34:0;;;1388:51:1;30823:11:0;;;;:29;;1361:18:1;;30823:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30746:131;30660:232;30632:260;30945:13;;-1:-1:-1;;;;;30945:13:0;;;30938:20;;;;30934:472;;-1:-1:-1;;;;;26325:16:0;;30979:19;26325:16;;;:7;:16;;;;;;31001:26;;31020:7;;31001:26;:::i;:::-;31052:19;;30979:48;;-1:-1:-1;;;;31052:19:0;;;;:27;;31075:4;31052:27;31048:343;;31104:11;;:36;;-1:-1:-1;;;31104:36:0;;-1:-1:-1;;;;;1406:32:1;;;31104:36:0;;;1388:51:1;31104:11:0;;;;:29;;1361:18:1;;31104:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31048:343;;;31192:19;;-1:-1:-1;;;31192:19:0;;;;:28;;;:100;;;31259:11;;;;;;;;;-1:-1:-1;;;;;31259:11:0;-1:-1:-1;;;;;31259:31:0;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31245:11;:47;31192:100;31166:225;;;31335:11;;:36;;-1:-1:-1;;;31335:36:0;;-1:-1:-1;;;;;1406:32:1;;;31335:36:0;;;1388:51:1;31335:11:0;;;;:29;;1361:18:1;;31335:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31166:225;30960:446;30446:978;;;:::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;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;1861:456::-;1938:6;1946;1954;2007:2;1995:9;1986:7;1982:23;1978:32;1975:52;;;2023:1;2020;2013:12;1975:52;2062:9;2049:23;2081:31;2106:5;2081:31;:::i;:::-;2131:5;-1:-1:-1;2188:2:1;2173:18;;2160:32;2201:33;2160:32;2201:33;:::i;:::-;1861:456;;2253:7;;-1:-1:-1;;;2307:2:1;2292:18;;;;2279:32;;1861:456::o;2511:180::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;-1:-1:-1;2662:23:1;;2511:180;-1:-1:-1;2511:180:1:o;2904:247::-;2963:6;3016:2;3004:9;2995:7;2991:23;2987:32;2984:52;;;3032:1;3029;3022:12;2984:52;3071:9;3058:23;3090:31;3115:5;3090:31;:::i;:::-;3140:5;2904:247;-1:-1:-1;;;2904:247:1:o;3380:118::-;3466:5;3459:13;3452:21;3445:5;3442:32;3432:60;;3488:1;3485;3478:12;3503:241;3559:6;3612:2;3600:9;3591:7;3587:23;3583:32;3580:52;;;3628:1;3625;3618:12;3580:52;3667:9;3654:23;3686:28;3708:5;3686:28;:::i;3749:388::-;3817:6;3825;3878:2;3866:9;3857:7;3853:23;3849:32;3846:52;;;3894:1;3891;3884:12;3846:52;3933:9;3920:23;3952:31;3977:5;3952:31;:::i;:::-;4002:5;-1:-1:-1;4059:2:1;4044:18;;4031:32;4072:33;4031:32;4072:33;:::i;:::-;4124:7;4114:17;;;3749:388;;;;;:::o;4142:382::-;4207:6;4215;4268:2;4256:9;4247:7;4243:23;4239:32;4236:52;;;4284:1;4281;4274:12;4236:52;4323:9;4310:23;4342:31;4367:5;4342:31;:::i;:::-;4392:5;-1:-1:-1;4449:2:1;4434:18;;4421:32;4462:30;4421:32;4462:30;:::i;4938:127::-;4999:10;4994:3;4990:20;4987:1;4980:31;5030:4;5027:1;5020:15;5054:4;5051:1;5044:15;5070:128;5137:9;;;5158:11;;;5155:37;;;5172:18;;:::i;5203:125::-;5268:9;;;5289:10;;;5286:36;;;5302:18;;:::i;5741:251::-;5811:6;5864:2;5852:9;5843:7;5839:23;5835:32;5832:52;;;5880:1;5877;5870:12;5832:52;5912:9;5906:16;5931:31;5956:5;5931:31;:::i;7846:245::-;7913:6;7966:2;7954:9;7945:7;7941:23;7937:32;7934:52;;;7982:1;7979;7972:12;7934:52;8014:9;8008:16;8033:28;8055:5;8033:28;:::i;10938:168::-;11011:9;;;11042;;11059:15;;;11053:22;;11039:37;11029:71;;11080:18;;:::i;11111:217::-;11151:1;11177;11167:132;;11221:10;11216:3;11212:20;11209:1;11202:31;11256:4;11253:1;11246:15;11284:4;11281:1;11274:15;11167:132;-1:-1:-1;11313:9:1;;11111:217::o;11826:127::-;11887:10;11882:3;11878:20;11875:1;11868:31;11918:4;11915:1;11908:15;11942:4;11939:1;11932:15;11958:461;12011:3;12049:5;12043:12;12076:6;12071:3;12064:19;12102:4;12131:2;12126:3;12122:12;12115:19;;12168:2;12161:5;12157:14;12189:1;12199:195;12213:6;12210:1;12207:13;12199:195;;;12278:13;;-1:-1:-1;;;;;12274:39:1;12262:52;;12334:12;;;;12369:15;;;;12310:1;12228:9;12199:195;;;-1:-1:-1;12410:3:1;;11958:461;-1:-1:-1;;;;;11958:461:1:o;12424:582::-;12723:6;12712:9;12705:25;12766:6;12761:2;12750:9;12746:18;12739:34;12809:3;12804:2;12793:9;12789:18;12782:31;12686:4;12830:57;12882:3;12871:9;12867:19;12859:6;12830:57;:::i;:::-;-1:-1:-1;;;;;12923:32:1;;;;12918:2;12903:18;;12896:60;-1:-1:-1;12987:3:1;12972:19;12965:35;12822:65;12424:582;-1:-1:-1;;;12424:582:1:o;13011:332::-;13218:6;13207:9;13200:25;13261:2;13256;13245:9;13241:18;13234:30;13181:4;13281:56;13333:2;13322:9;13318:18;13310:6;13281:56;:::i;:::-;13273:64;13011:332;-1:-1:-1;;;;13011:332:1:o;13693:184::-;13763:6;13816:2;13804:9;13795:7;13791:23;13787:32;13784:52;;;13832:1;13829;13822:12;13784:52;-1:-1:-1;13855:16:1;;13693:184;-1:-1:-1;13693:184:1:o
Swarm Source
ipfs://452dda89c77fb41e87abdb3216559f1a16f848ead5b0366ca39cfc7b3d4c3480
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.