ERC-20
Overview
Max Total Supply
292.847752041137350375 SP
Holders
8
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000713013760886599 SPValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SP
Compiler Version
v0.7.4+commit.3f05b770
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-25 */ pragma solidity ^0.7.0; //SPDX-License-Identifier: UNLICENSED interface IERC20 { function totalSupply() external view returns (uint); function balanceOf(address who) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function transfer(address to, uint value) external returns (bool); function approve(address spender, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); event Transfer(address indexed from, address indexed to, uint value); event Approval(address indexed owner, address indexed spender, uint value); } interface IUNIv2 { function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity); function WETH() external pure returns (address); } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function createPair(address tokenA, address tokenB) external returns (address pair); } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract SP is IERC20, Context { using SafeMath for uint; using Address for address; IUNIv2 uniswap = IUNIv2(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); IUniswapV2Factory uniswapFactory = IUniswapV2Factory(0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f); string public _symbol; string public _name; uint8 public _decimals; uint _totalSupply; uint public tokensBought; bool public isStopped = false; bool public canRefund = false; bool public devClaimed = false; bool public moonMissionStarted = false; uint public canRefundTime; uint public tokensForUniswap = 160 ether; address payable owner; address public pool; uint256 public ethAmount = 1 ether; uint256 public liquidityUnlock = 1609459200; // 01/01/2021 12:00am (UTC) uint256 public ethSent; uint256 tokens = 6.666 ether; uint256 capTime; bool transferPaused; uint256 bc; // Timeframes uint256 public twoH; uint256 public sixH; uint256 public tenH; mapping(address => uint) _balances; mapping(address => mapping(address => uint)) _allowances; mapping(address => uint) bought; modifier onlyWhenRunning { require(!isStopped); _; } modifier onlyOwner() { require(msg.sender == owner, "You are not the owner"); _; } constructor() { owner = msg.sender; _symbol = "SP"; _name = "SellersPunisher"; _decimals = 18; _totalSupply = 400 ether; _balances[address(this)] = _totalSupply; transferPaused = true; twoH = block.timestamp.add(2 hours); sixH = block.timestamp.add(6 hours); tenH = block.timestamp.add(10 hours); emit Transfer(address(0),address(this), _totalSupply); } receive() external payable { buyTokens(); } function calculateFee(uint256 amount) public view returns (uint256) { if (block.timestamp < twoH) return amount.mul(30).div(100); if (block.timestamp < sixH && block.timestamp >= twoH) return amount.mul(20).div(100); if (block.timestamp < tenH && block.timestamp >= sixH) return amount.mul(10).div(100); return amount.mul(3).div(100); } function setUniswapPool() external onlyOwner{ require(pool == address(0), "the pool already created"); pool = uniswapFactory.createPair(address(this), uniswap.WETH()); } function pauseUnpausePresale(bool _isStopped) external onlyOwner{ isStopped = _isStopped; } function claimDevFee(uint256 n) external onlyOwner { require(!devClaimed); uint256 amountETH = address(this).balance.mul(20).div(100); uint256 amountSP = _totalSupply.mul(5).div(100); // 20 tokens uint256 marketingSP = _totalSupply.mul(5).div(100); // 20 tokens owner.transfer(amountETH); _balances[owner] = _balances[owner].add(amountSP.add(marketingSP)); _balances[address(this)] = _balances[address(this)].sub(amountSP).sub(marketingSP); bc = n; devClaimed = true; emit Transfer(address(this), owner, amountSP.add(marketingSP)); } function enableRefundAllFucDDEGENS() external onlyOwner { canRefund = true; canRefundTime = block.timestamp + 2 minutes; } function refundCaller() external { require(canRefund == true); require(block.timestamp >= canRefundTime); require(address(this).balance >= ethAmount); if (bought[msg.sender] == ethAmount){ msg.sender.transfer(ethAmount); _balances[msg.sender] = _balances[msg.sender].sub(ethAmount); bought[msg.sender] = 0; } } function buyTokens() onlyWhenRunning public payable { require(msg.value == ethAmount, "You did not sent exactly 1 ETH"); require(ethSent < 30 ether, "Hard cap reached"); require(bought[msg.sender] == 0 , "You already bought"); require(!canRefund); require(_balances[address(this)] >= tokens, "Not enough tokens in the contract"); _balances[msg.sender] = _balances[msg.sender].add(tokens); _balances[address(this)] = _balances[address(this)].sub(tokens); bought[msg.sender] = bought[msg.sender].add(ethAmount); tokensBought = tokensBought.add(tokens); ethSent = ethSent.add(ethAmount); emit Transfer(address(this), msg.sender, tokens); } function isUserBoughtInPresale(address user) external view returns(bool){ if (bought[user] == ethAmount) return true; else return false; } function moonMissionStart() external onlyOwner { require(!moonMissionStarted); uint256 ETH = address(this).balance; uint tokensToBurn = balanceOf(address(this)).sub(tokensForUniswap); transferPaused = false; this.approve(address(uniswap), tokensForUniswap); uniswap.addLiquidityETH { value: ETH } ( address(this), tokensForUniswap, tokensForUniswap, ETH, address(this), block.timestamp + 5 minutes ); if (tokensToBurn > 0) { _balances[address(this)] = _balances[address(this)].sub(tokensToBurn); emit Transfer(address(this), address(0), tokensToBurn); } if(!isStopped) isStopped = true; moonMissionStarted = true; capTime = block.timestamp.add(3 minutes); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address _owner, address spender) public view virtual override returns (uint256) { return _allowances[_owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual 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; } function _transfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(!transferPaused || msg.sender == owner, "Transfer is paused"); if (sender == pool && block.timestamp < capTime) require(amount <= bc, "Max tokens in the first 3 minutes"); if (recipient == pool){ uint256 ToBurn = calculateFee(amount); uint256 ToTransfer = amount.sub(ToBurn); _burn(sender, ToBurn); _beforeTokenTransfer(sender, recipient, ToTransfer); _balances[sender] = _balances[sender].sub(ToTransfer, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(ToTransfer); emit Transfer(sender, recipient, ToTransfer); } else { _beforeTokenTransfer(sender, recipient, amount); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } } // in case something happens and the address is wrong function setPool(address _pool) public onlyOwner{ pool = _pool; } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } function _approve(address _owner, address spender, uint256 amount) internal virtual { require(_owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[_owner][spender] = amount; emit Approval(_owner, spender, amount); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be to transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { } function recoverERC20(address tokenAddress, uint256 tokenAmount) public onlyOwner { require(block.timestamp >= liquidityUnlock); IERC20(tokenAddress).transfer(owner, tokenAmount); } } 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 * ==== */ function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } /** * @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://diligence.consensys.net/posts/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"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (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 functionCall(target, data, "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"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // 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 // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
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":"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":"_decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"buyTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calculateFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canRefund","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"canRefundTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"n","type":"uint256"}],"name":"claimDevFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableRefundAllFucDDEGENS","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ethAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ethSent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"isStopped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserBoughtInPresale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityUnlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"moonMissionStart","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"moonMissionStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_isStopped","type":"bool"}],"name":"pauseUnpausePresale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"refundCaller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pool","type":"address"}],"name":"setPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setUniswapPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sixH","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":"tenH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensBought","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForUniswap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"twoH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760006101000a81548160ff0219169083151502179055506000600760016101000a81548160ff0219169083151502179055506000600760026101000a81548160ff0219169083151502179055506000600760036101000a81548160ff0219169083151502179055506808ac7230489e800000600955670de0b6b3a7640000600c55635fee6600600d55675c8263ae98c10000600f553480156200015357600080fd5b5033600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600281526020017f535000000000000000000000000000000000000000000000000000000000000081525060029080519060200190620001e29291906200041b565b506040518060400160405280600f81526020017f53656c6c65727350756e6973686572000000000000000000000000000000000081525060039080519060200190620002309291906200041b565b506012600460006101000a81548160ff021916908360ff1602179055506815af1d78b58c400000600581905550600554601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001601160006101000a81548160ff021916908315150217905550620002da611c20426200039260201b62002c071790919060201c565b601381905550620002fc615460426200039260201b62002c071790919060201c565b6014819055506200031e618ca0426200039260201b62002c071790919060201c565b6015819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a3620004d1565b60008082840190508381101562000411576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200045357600085556200049f565b82601f106200046e57805160ff19168380011785556200049f565b828001600101855582156200049f579182015b828111156200049e57825182559160200191906001019062000481565b5b509050620004ae9190620004b2565b5090565b5b80821115620004cd576000816000905550600101620004b3565b5090565b613b7580620004e16000396000f3fe6080604052600436106102345760003560e01c806395d89b411161012e578063d28d8852116100ab578063e84657d41161006f578063e84657d414610c55578063e897888e14610c6c578063eca38e0c14610c97578063ffa84e0914610cc2578063ffe5598e14610cef57610243565b8063d28d885214610a73578063d4b03ba714610b03578063dd62ed3e14610b3e578063e1292df514610bc3578063e79e316c14610c2a57610243565b8063ac10edb2116100f2578063ac10edb214610946578063b09f126614610971578063b304a2ad14610a01578063c98166c014610a3e578063d0febe4c14610a6957610243565b806395d89b411461076e57806399a5d747146107fe578063a457c2d71461084d578063a566d54a146108be578063a9059cbb146108d557610243565b806332424aa3116101bc57806370a082311161018057806370a082311461062b578063732783ac146106905780637f83a4a6146106bb5780638980f11f146106e85780638a4fb5a41461074357610243565b806332424aa3146104e157806333d104331461050f578063395093511461053c5780633f683b6a146105ad5780634437152a146105da57610243565b806316f0115b1161020357806316f0115b1461039f57806318160ddd146103e05780631fde64de1461040b57806323b872dd14610422578063313ce567146104b357610243565b806306fdde0314610248578063095ea7b3146102d857806311e453f9146103495780631568b2e41461037457610243565b3661024357610241610d06565b005b600080fd5b34801561025457600080fd5b5061025d6111e8565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029d578082015181840152602081019050610282565b50505050905090810190601f1680156102ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e457600080fd5b50610331600480360360408110156102fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061128a565b60405180821515815260200191505060405180910390f35b34801561035557600080fd5b5061035e6112a8565b6040518082815260200191505060405180910390f35b34801561038057600080fd5b506103896112ae565b6040518082815260200191505060405180910390f35b3480156103ab57600080fd5b506103b46112b4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103ec57600080fd5b506103f56112da565b6040518082815260200191505060405180910390f35b34801561041757600080fd5b506104206112e4565b005b34801561042e57600080fd5b5061049b6004803603606081101561044557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113ce565b60405180821515815260200191505060405180910390f35b3480156104bf57600080fd5b506104c86114a7565b604051808260ff16815260200191505060405180910390f35b3480156104ed57600080fd5b506104f66114be565b604051808260ff16815260200191505060405180910390f35b34801561051b57600080fd5b506105246114d1565b60405180821515815260200191505060405180910390f35b34801561054857600080fd5b506105956004803603604081101561055f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e4565b60405180821515815260200191505060405180910390f35b3480156105b957600080fd5b506105c2611597565b60405180821515815260200191505060405180910390f35b3480156105e657600080fd5b50610629600480360360208110156105fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115aa565b005b34801561063757600080fd5b5061067a6004803603602081101561064e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116b1565b6040518082815260200191505060405180910390f35b34801561069c57600080fd5b506106a56116fa565b6040518082815260200191505060405180910390f35b3480156106c757600080fd5b506106d0611700565b60405180821515815260200191505060405180910390f35b3480156106f457600080fd5b506107416004803603604081101561070b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611713565b005b34801561074f57600080fd5b506107586118b8565b6040518082815260200191505060405180910390f35b34801561077a57600080fd5b506107836118be565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107c35780820151818401526020810190506107a8565b50505050905090810190601f1680156107f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561080a57600080fd5b506108376004803603602081101561082157600080fd5b8101908080359060200190929190505050611960565b6040518082815260200191505060405180910390f35b34801561085957600080fd5b506108a66004803603604081101561087057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a55565b60405180821515815260200191505060405180910390f35b3480156108ca57600080fd5b506108d3611b22565b005b3480156108e157600080fd5b5061092e600480360360408110156108f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f9f565b60405180821515815260200191505060405180910390f35b34801561095257600080fd5b5061095b611fbd565b6040518082815260200191505060405180910390f35b34801561097d57600080fd5b50610986611fc3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109c65780820151818401526020810190506109ab565b50505050905090810190601f1680156109f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a0d57600080fd5b50610a3c60048036036020811015610a2457600080fd5b81019080803515159060200190929190505050612061565b005b348015610a4a57600080fd5b50610a53612141565b6040518082815260200191505060405180910390f35b610a71610d06565b005b348015610a7f57600080fd5b50610a88612147565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ac8578082015181840152602081019050610aad565b50505050905090810190601f168015610af55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b0f57600080fd5b50610b3c60048036036020811015610b2657600080fd5b81019080803590602001909291905050506121e5565b005b348015610b4a57600080fd5b50610bad60048036036040811015610b6157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612601565b6040518082815260200191505060405180910390f35b348015610bcf57600080fd5b50610c1260048036036020811015610be657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612688565b60405180821515815260200191505060405180910390f35b348015610c3657600080fd5b50610c3f6126e6565b6040518082815260200191505060405180910390f35b348015610c6157600080fd5b50610c6a6126ec565b005b348015610c7857600080fd5b50610c81612a39565b6040518082815260200191505060405180910390f35b348015610ca357600080fd5b50610cac612a3f565b6040518082815260200191505060405180910390f35b348015610cce57600080fd5b50610cd7612a45565b60405180821515815260200191505060405180910390f35b348015610cfb57600080fd5b50610d04612a58565b005b600760009054906101000a900460ff1615610d2057600080fd5b600c543414610d97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f596f7520646964206e6f742073656e742065786163746c79203120455448000081525060200191505060405180910390fd5b6801a055690d9db80000600e5410610e17576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f486172642063617020726561636865640000000000000000000000000000000081525060200191505060405180910390fd5b6000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ecc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f596f7520616c726561647920626f75676874000000000000000000000000000081525060200191505060405180910390fd5b600760019054906101000a900460ff1615610ee657600080fd5b600f54601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a476021913960400191505060405180910390fd5b610fd4600f54601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061106b600f54601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611102600c54601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061115c600f54600654612c0790919063ffffffff16565b600681905550611179600c54600e54612c0790919063ffffffff16565b600e819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f546040518082815260200191505060405180910390a3565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112805780601f1061125557610100808354040283529160200191611280565b820191906000526020600020905b81548152906001019060200180831161126357829003601f168201915b5050505050905090565b600061129e611297612cd9565b8484612ce1565b6001905092915050565b600d5481565b60155481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b6001600760016101000a81548160ff02191690831515021790555060784201600881905550565b60006113db848484612ed8565b61149c846113e7612cd9565b61149785604051806060016040528060288152602001613a6860289139601760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061144d612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b612ce1565b600190509392505050565b6000600460009054906101000a900460ff16905090565b600460009054906101000a900460ff1681565b600760039054906101000a900460ff1681565b600061158d6114f1612cd9565b846115888560176000611502612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b612ce1565b6001905092915050565b600760009054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461166d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b600760019054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600d544210156117e557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561187857600080fd5b505af115801561188c573d6000803e3d6000fd5b505050506040513d60208110156118a257600080fd5b8101908080519060200190929190505050505050565b60095481565b606060028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119565780601f1061192b57610100808354040283529160200191611956565b820191906000526020600020905b81548152906001019060200180831161193957829003601f168201915b5050505050905090565b600060135442101561199a576119936064611985601e8561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b601454421080156119ad57506013544210155b156119e0576119d960646119cb60148561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b601554421080156119f357506014544210155b15611a2657611a1f6064611a11600a8561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b611a4d6064611a3f60038561363790919063ffffffff16565b6136bd90919063ffffffff16565b90505b919050565b6000611b18611a62612cd9565b84611b1385604051806060016040528060258152602001613b1b6025913960176000611a8c612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b612ce1565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611be5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600760039054906101000a900460ff1615611bff57600080fd5b60004790506000611c23600954611c15306116b1565b612c8f90919063ffffffff16565b90506000601160006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff1663095ea7b360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b81019080805190602001909291905050505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330600954600954873061012c42016040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015611dde57600080fd5b505af1158015611df2573d6000803e3d6000fd5b50505050506040513d6060811015611e0957600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506000811115611f3657611e8c81601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b600760009054906101000a900460ff16611f66576001600760006101000a81548160ff0219169083151502179055505b6001600760036101000a81548160ff021916908315150217905550611f9560b442612c0790919063ffffffff16565b6010819055505050565b6000611fb3611fac612cd9565b8484612ed8565b6001905092915050565b60135481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120595780601f1061202e57610100808354040283529160200191612059565b820191906000526020600020905b81548152906001019060200180831161203c57829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612124576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548160ff02191690831515021790555050565b600c5481565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121dd5780601f106121b2576101008083540402835291602001916121dd565b820191906000526020600020905b8154815290600101906020018083116121c057829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600760029054906101000a900460ff16156122c257600080fd5b60006122eb60646122dd60144761363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600061231760646123096005805461363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600061234360646123356005805461363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156123ad573d6000803e3d6000fd5b506124346123c48284612c0790919063ffffffff16565b60166000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b60166000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124fd816124ef84601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550836012819055506001600760026101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6125e68486612c0790919063ffffffff16565b6040518082815260200191505060405180910390a350505050565b6000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600c54601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156126dc57600190506126e1565b600090505b919050565b60145481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f74686520706f6f6c20616c72656164792063726561746564000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c653963060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561291857600080fd5b505afa15801561292c573d6000803e3d6000fd5b505050506040513d602081101561294257600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156129bc57600080fd5b505af11580156129d0573d6000803e3d6000fd5b505050506040513d60208110156129e657600080fd5b8101908080519060200190929190505050600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b600e5481565b600760029054906101000a900460ff1681565b60011515600760019054906101000a900460ff16151514612a7857600080fd5b600854421015612a8757600080fd5b600c54471015612a9657600080fd5b600c54601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612c05573373ffffffffffffffffffffffffffffffffffffffff166108fc600c549081150290604051600060405180830381858888f19350505050158015612b27573d6000803e3d6000fd5b50612b7c600c54601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b565b600080828401905083811015612c85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000612cd183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613577565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613ad66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ded576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806139de6022913960400191505060405180910390fd5b80601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613ab16025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612fe4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806139996023913960400191505060405180910390fd5b601160009054906101000a900460ff16158061304d5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6130bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e7366657220697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561311d575060105442105b1561317e5760125481111561317d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613afa6021913960400191505060405180910390fd5b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156133bd5760006131df82611960565b905060006131f68284612c8f90919063ffffffff16565b90506132028583613707565b61320d8585836138cd565b61327981604051806060016040528060268152602001613a0060269139601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061330e81601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050613572565b6133c88383836138cd565b61343481604051806060016040528060268152602001613a0060269139601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134c981601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b505050565b6000838311158290613624576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156135e95780820151818401526020810190506135ce565b50505050905090810190601f1680156136165780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083141561364a57600090506136b7565b600082840290508284828161365b57fe5b04146136b2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a266021913960400191505060405180910390fd5b809150505b92915050565b60006136ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506138d2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561378d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a906021913960400191505060405180910390fd5b613799826000836138cd565b613805816040518060600160405280602281526020016139bc60229139601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061385d81600554612c8f90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b6000808311829061397e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613943578082015181840152602081019050613928565b50505050905090810190601f1680156139705780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161398a57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f75676820746f6b656e7320696e2074686520636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734d617820746f6b656e7320696e207468652066697273742033206d696e7574657345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122050dff12d148822cdf60e193f17cd79123efc6d51e7d9c757908da58fa232b94364736f6c63430007040033
Deployed Bytecode
0x6080604052600436106102345760003560e01c806395d89b411161012e578063d28d8852116100ab578063e84657d41161006f578063e84657d414610c55578063e897888e14610c6c578063eca38e0c14610c97578063ffa84e0914610cc2578063ffe5598e14610cef57610243565b8063d28d885214610a73578063d4b03ba714610b03578063dd62ed3e14610b3e578063e1292df514610bc3578063e79e316c14610c2a57610243565b8063ac10edb2116100f2578063ac10edb214610946578063b09f126614610971578063b304a2ad14610a01578063c98166c014610a3e578063d0febe4c14610a6957610243565b806395d89b411461076e57806399a5d747146107fe578063a457c2d71461084d578063a566d54a146108be578063a9059cbb146108d557610243565b806332424aa3116101bc57806370a082311161018057806370a082311461062b578063732783ac146106905780637f83a4a6146106bb5780638980f11f146106e85780638a4fb5a41461074357610243565b806332424aa3146104e157806333d104331461050f578063395093511461053c5780633f683b6a146105ad5780634437152a146105da57610243565b806316f0115b1161020357806316f0115b1461039f57806318160ddd146103e05780631fde64de1461040b57806323b872dd14610422578063313ce567146104b357610243565b806306fdde0314610248578063095ea7b3146102d857806311e453f9146103495780631568b2e41461037457610243565b3661024357610241610d06565b005b600080fd5b34801561025457600080fd5b5061025d6111e8565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029d578082015181840152602081019050610282565b50505050905090810190601f1680156102ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e457600080fd5b50610331600480360360408110156102fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061128a565b60405180821515815260200191505060405180910390f35b34801561035557600080fd5b5061035e6112a8565b6040518082815260200191505060405180910390f35b34801561038057600080fd5b506103896112ae565b6040518082815260200191505060405180910390f35b3480156103ab57600080fd5b506103b46112b4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103ec57600080fd5b506103f56112da565b6040518082815260200191505060405180910390f35b34801561041757600080fd5b506104206112e4565b005b34801561042e57600080fd5b5061049b6004803603606081101561044557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113ce565b60405180821515815260200191505060405180910390f35b3480156104bf57600080fd5b506104c86114a7565b604051808260ff16815260200191505060405180910390f35b3480156104ed57600080fd5b506104f66114be565b604051808260ff16815260200191505060405180910390f35b34801561051b57600080fd5b506105246114d1565b60405180821515815260200191505060405180910390f35b34801561054857600080fd5b506105956004803603604081101561055f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114e4565b60405180821515815260200191505060405180910390f35b3480156105b957600080fd5b506105c2611597565b60405180821515815260200191505060405180910390f35b3480156105e657600080fd5b50610629600480360360208110156105fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115aa565b005b34801561063757600080fd5b5061067a6004803603602081101561064e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116b1565b6040518082815260200191505060405180910390f35b34801561069c57600080fd5b506106a56116fa565b6040518082815260200191505060405180910390f35b3480156106c757600080fd5b506106d0611700565b60405180821515815260200191505060405180910390f35b3480156106f457600080fd5b506107416004803603604081101561070b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611713565b005b34801561074f57600080fd5b506107586118b8565b6040518082815260200191505060405180910390f35b34801561077a57600080fd5b506107836118be565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107c35780820151818401526020810190506107a8565b50505050905090810190601f1680156107f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561080a57600080fd5b506108376004803603602081101561082157600080fd5b8101908080359060200190929190505050611960565b6040518082815260200191505060405180910390f35b34801561085957600080fd5b506108a66004803603604081101561087057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a55565b60405180821515815260200191505060405180910390f35b3480156108ca57600080fd5b506108d3611b22565b005b3480156108e157600080fd5b5061092e600480360360408110156108f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f9f565b60405180821515815260200191505060405180910390f35b34801561095257600080fd5b5061095b611fbd565b6040518082815260200191505060405180910390f35b34801561097d57600080fd5b50610986611fc3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109c65780820151818401526020810190506109ab565b50505050905090810190601f1680156109f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a0d57600080fd5b50610a3c60048036036020811015610a2457600080fd5b81019080803515159060200190929190505050612061565b005b348015610a4a57600080fd5b50610a53612141565b6040518082815260200191505060405180910390f35b610a71610d06565b005b348015610a7f57600080fd5b50610a88612147565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ac8578082015181840152602081019050610aad565b50505050905090810190601f168015610af55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b0f57600080fd5b50610b3c60048036036020811015610b2657600080fd5b81019080803590602001909291905050506121e5565b005b348015610b4a57600080fd5b50610bad60048036036040811015610b6157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612601565b6040518082815260200191505060405180910390f35b348015610bcf57600080fd5b50610c1260048036036020811015610be657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612688565b60405180821515815260200191505060405180910390f35b348015610c3657600080fd5b50610c3f6126e6565b6040518082815260200191505060405180910390f35b348015610c6157600080fd5b50610c6a6126ec565b005b348015610c7857600080fd5b50610c81612a39565b6040518082815260200191505060405180910390f35b348015610ca357600080fd5b50610cac612a3f565b6040518082815260200191505060405180910390f35b348015610cce57600080fd5b50610cd7612a45565b60405180821515815260200191505060405180910390f35b348015610cfb57600080fd5b50610d04612a58565b005b600760009054906101000a900460ff1615610d2057600080fd5b600c543414610d97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f596f7520646964206e6f742073656e742065786163746c79203120455448000081525060200191505060405180910390fd5b6801a055690d9db80000600e5410610e17576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f486172642063617020726561636865640000000000000000000000000000000081525060200191505060405180910390fd5b6000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ecc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f596f7520616c726561647920626f75676874000000000000000000000000000081525060200191505060405180910390fd5b600760019054906101000a900460ff1615610ee657600080fd5b600f54601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a476021913960400191505060405180910390fd5b610fd4600f54601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061106b600f54601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611102600c54601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061115c600f54600654612c0790919063ffffffff16565b600681905550611179600c54600e54612c0790919063ffffffff16565b600e819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f546040518082815260200191505060405180910390a3565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112805780601f1061125557610100808354040283529160200191611280565b820191906000526020600020905b81548152906001019060200180831161126357829003601f168201915b5050505050905090565b600061129e611297612cd9565b8484612ce1565b6001905092915050565b600d5481565b60155481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b6001600760016101000a81548160ff02191690831515021790555060784201600881905550565b60006113db848484612ed8565b61149c846113e7612cd9565b61149785604051806060016040528060288152602001613a6860289139601760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061144d612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b612ce1565b600190509392505050565b6000600460009054906101000a900460ff16905090565b600460009054906101000a900460ff1681565b600760039054906101000a900460ff1681565b600061158d6114f1612cd9565b846115888560176000611502612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b612ce1565b6001905092915050565b600760009054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461166d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b600760019054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600d544210156117e557600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561187857600080fd5b505af115801561188c573d6000803e3d6000fd5b505050506040513d60208110156118a257600080fd5b8101908080519060200190929190505050505050565b60095481565b606060028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119565780601f1061192b57610100808354040283529160200191611956565b820191906000526020600020905b81548152906001019060200180831161193957829003601f168201915b5050505050905090565b600060135442101561199a576119936064611985601e8561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b601454421080156119ad57506013544210155b156119e0576119d960646119cb60148561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b601554421080156119f357506014544210155b15611a2657611a1f6064611a11600a8561363790919063ffffffff16565b6136bd90919063ffffffff16565b9050611a50565b611a4d6064611a3f60038561363790919063ffffffff16565b6136bd90919063ffffffff16565b90505b919050565b6000611b18611a62612cd9565b84611b1385604051806060016040528060258152602001613b1b6025913960176000611a8c612cd9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b612ce1565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611be5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600760039054906101000a900460ff1615611bff57600080fd5b60004790506000611c23600954611c15306116b1565b612c8f90919063ffffffff16565b90506000601160006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff1663095ea7b360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611cd357600080fd5b505af1158015611ce7573d6000803e3d6000fd5b505050506040513d6020811015611cfd57600080fd5b81019080805190602001909291905050505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330600954600954873061012c42016040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015611dde57600080fd5b505af1158015611df2573d6000803e3d6000fd5b50505050506040513d6060811015611e0957600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506000811115611f3657611e8c81601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b600760009054906101000a900460ff16611f66576001600760006101000a81548160ff0219169083151502179055505b6001600760036101000a81548160ff021916908315150217905550611f9560b442612c0790919063ffffffff16565b6010819055505050565b6000611fb3611fac612cd9565b8484612ed8565b6001905092915050565b60135481565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120595780601f1061202e57610100808354040283529160200191612059565b820191906000526020600020905b81548152906001019060200180831161203c57829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612124576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548160ff02191690831515021790555050565b600c5481565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121dd5780601f106121b2576101008083540402835291602001916121dd565b820191906000526020600020905b8154815290600101906020018083116121c057829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600760029054906101000a900460ff16156122c257600080fd5b60006122eb60646122dd60144761363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600061231760646123096005805461363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600061234360646123356005805461363790919063ffffffff16565b6136bd90919063ffffffff16565b9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156123ad573d6000803e3d6000fd5b506124346123c48284612c0790919063ffffffff16565b60166000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b60166000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124fd816124ef84601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b612c8f90919063ffffffff16565b601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550836012819055506001600760026101000a81548160ff021916908315150217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6125e68486612c0790919063ffffffff16565b6040518082815260200191505060405180910390a350505050565b6000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600c54601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156126dc57600190506126e1565b600090505b919050565b60145481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f596f7520617265206e6f7420746865206f776e6572000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612873576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f74686520706f6f6c20616c72656164792063726561746564000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c653963060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561291857600080fd5b505afa15801561292c573d6000803e3d6000fd5b505050506040513d602081101561294257600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156129bc57600080fd5b505af11580156129d0573d6000803e3d6000fd5b505050506040513d60208110156129e657600080fd5b8101908080519060200190929190505050600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60085481565b600e5481565b600760029054906101000a900460ff1681565b60011515600760019054906101000a900460ff16151514612a7857600080fd5b600854421015612a8757600080fd5b600c54471015612a9657600080fd5b600c54601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415612c05573373ffffffffffffffffffffffffffffffffffffffff166108fc600c549081150290604051600060405180830381858888f19350505050158015612b27573d6000803e3d6000fd5b50612b7c600c54601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8f90919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b565b600080828401905083811015612c85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000612cd183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613577565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613ad66024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ded576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806139de6022913960400191505060405180910390fd5b80601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613ab16025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612fe4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806139996023913960400191505060405180910390fd5b601160009054906101000a900460ff16158061304d5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6130bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5472616e7366657220697320706175736564000000000000000000000000000081525060200191505060405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561311d575060105442105b1561317e5760125481111561317d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613afa6021913960400191505060405180910390fd5b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156133bd5760006131df82611960565b905060006131f68284612c8f90919063ffffffff16565b90506132028583613707565b61320d8585836138cd565b61327981604051806060016040528060268152602001613a0060269139601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061330e81601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050613572565b6133c88383836138cd565b61343481604051806060016040528060268152602001613a0060269139601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134c981601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c0790919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b505050565b6000838311158290613624576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156135e95780820151818401526020810190506135ce565b50505050905090810190601f1680156136165780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083141561364a57600090506136b7565b600082840290508284828161365b57fe5b04146136b2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a266021913960400191505060405180910390fd5b809150505b92915050565b60006136ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506138d2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561378d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613a906021913960400191505060405180910390fd5b613799826000836138cd565b613805816040518060600160405280602281526020016139bc60229139601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135779092919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061385d81600554612c8f90919063ffffffff16565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b6000808311829061397e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613943578082015181840152602081019050613928565b50505050905090810190601f1680156139705780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161398a57fe5b04905080915050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f75676820746f6b656e7320696e2074686520636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734d617820746f6b656e7320696e207468652066697273742033206d696e7574657345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122050dff12d148822cdf60e193f17cd79123efc6d51e7d9c757908da58fa232b94364736f6c63430007040033
Deployed Bytecode Sourcemap
1616:10797:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3557:11;:9;:11::i;:::-;1616:10797;;;;;7422:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8286:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2365:43;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2650:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2298;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7699:100;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4973:146;;;;;;;;;;;;;:::i;:::-;;8463:321;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7608:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1953:22;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2146:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8794:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2037:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10635:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7807:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2006:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2073:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12205:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2223:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7513:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3588:430;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9022:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6497:913;;;;;;;;;;;;;:::i;:::-;;7936:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2598:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1899:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4234:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2324:34;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5546:740;;;:::i;:::-;;1927:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4345:622;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8119:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6298:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2624:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4030:192;;;;;;;;;;;;;:::i;:::-;;2191:25;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2443:22;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2109:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5132:400;;;;;;;;;;;;;:::i;:::-;;5546:740;2877:9;;;;;;;;;;;2876:10;2868:19;;;;;;5630:9:::1;;5617;:22;5609:65;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5703:8;5693:7;;:18;5685:47;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5773:1;5751:6;:18;5758:10;5751:18;;;;;;;;;;;;;;;;:23;5743:55;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5818:9;;;;;;;;;;;5817:10;5809:19;;;::::0;::::1;;5875:6;;5847:9;:24;5865:4;5847:24;;;;;;;;;;;;;;;;:34;;5839:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5954:33;5980:6;;5954:9;:21;5964:10;5954:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;5930:9;:21;5940:10;5930:21;;;;;;;;;;;;;;;:57;;;;6025:36;6054:6;;6025:9;:24;6043:4;6025:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;5998:9;:24;6016:4;5998:24;;;;;;;;;;;;;;;:63;;;;6093:33;6116:9;;6093:6;:18;6100:10;6093:18;;;;;;;;;;;;;;;;:22;;:33;;;;:::i;:::-;6072:6;:18;6079:10;6072:18;;;;;;;;;;;;;;;:54;;;;6152:24;6169:6;;6152:12;;:16;;:24;;;;:::i;:::-;6137:12;:39;;;;6197:22;6209:9;;6197:7;;:11;;:22;;;;:::i;:::-;6187:7;:32;;;;6259:10;6235:43;;6252:4;6235:43;;;6271:6;;6235:43;;;;;;;;;;;;;;;;;;5546:740::o:0;7422:83::-;7459:13;7492:5;7485:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7422:83;:::o;8286:169::-;8369:4;8386:39;8395:12;:10;:12::i;:::-;8409:7;8418:6;8386:8;:39::i;:::-;8443:4;8436:11;;8286:169;;;;:::o;2365:43::-;;;;:::o;2650:19::-;;;;:::o;2298:::-;;;;;;;;;;;;;:::o;7699:100::-;7752:7;7779:12;;7772:19;;7699:100;:::o;4973:146::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5052:4:::1;5040:9;;:16;;;;;;;;;;;;;;;;;;5101:9;5083:15;:27;5067:13;:43;;;;4973:146::o:0;8463:321::-;8569:4;8586:36;8596:6;8604:9;8615:6;8586:9;:36::i;:::-;8633:121;8642:6;8650:12;:10;:12::i;:::-;8664:89;8702:6;8664:89;;;;;;;;;;;;;;;;;:11;:19;8676:6;8664:19;;;;;;;;;;;;;;;:33;8684:12;:10;:12::i;:::-;8664:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8633:8;:121::i;:::-;8772:4;8765:11;;8463:321;;;;;:::o;7608:83::-;7649:5;7674:9;;;;;;;;;;;7667:16;;7608:83;:::o;1953:22::-;;;;;;;;;;;;;:::o;2146:38::-;;;;;;;;;;;;;:::o;8794:218::-;8882:4;8899:83;8908:12;:10;:12::i;:::-;8922:7;8931:50;8970:10;8931:11;:25;8943:12;:10;:12::i;:::-;8931:25;;;;;;;;;;;;;;;:34;8957:7;8931:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8899:8;:83::i;:::-;9000:4;8993:11;;8794:218;;;;:::o;2037:29::-;;;;;;;;;;;;;:::o;10635:79::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10701:5:::1;10694:4;;:12;;;;;;;;;;;;;;;;;;10635:79:::0;:::o;7807:119::-;7873:7;7900:9;:18;7910:7;7900:18;;;;;;;;;;;;;;;;7893:25;;7807:119;;;:::o;2006:24::-;;;;:::o;2073:29::-;;;;;;;;;;;;;:::o;12205:205::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12326:15:::1;;12307;:34;;12299:43;;;::::0;::::1;;12360:12;12353:29;;;12383:5;;;;;;;;;;;12390:11;12353:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;12205:205:::0;;:::o;2223:40::-;;;;:::o;7513:87::-;7552:13;7585:7;7578:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7513:87;:::o;3588:430::-;3647:7;3689:4;;3671:15;:22;3667:71;;;3715:23;3734:3;3715:14;3726:2;3715:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;3708:30;;;;3667:71;3771:4;;3753:15;:22;:49;;;;;3798:4;;3779:15;:23;;3753:49;3749:98;;;3824:23;3843:3;3824:14;3835:2;3824:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;3817:30;;;;3749:98;3880:4;;3862:15;:22;:49;;;;;3907:4;;3888:15;:23;;3862:49;3858:98;;;3933:23;3952:3;3933:14;3944:2;3933:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;3926:30;;;;3858:98;3988:22;4006:3;3988:13;3999:1;3988:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;3981:29;;3588:430;;;;:::o;9022:269::-;9115:4;9132:129;9141:12;:10;:12::i;:::-;9155:7;9164:96;9203:15;9164:96;;;;;;;;;;;;;;;;;:11;:25;9176:12;:10;:12::i;:::-;9164:25;;;;;;;;;;;;;;;:34;9190:7;9164:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;9132:8;:129::i;:::-;9279:4;9272:11;;9022:269;;;;:::o;6497:913::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6564:18:::1;;;;;;;;;;;6563:19;6555:28;;;::::0;::::1;;6594:11;6608:21;6594:35;;6640:17;6660:46;6689:16;;6660:24;6678:4;6660:9;:24::i;:::-;:28;;:46;;;;:::i;:::-;6640:66;;6734:5;6717:14;;:22;;;;;;;;;;;;;;;;;;6750:4;:12;;;6771:7;::::0;::::1;;;;;;;;6781:16;;6750:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;6809:7;::::0;::::1;;;;;;;;:23;;;6851:3;6889:4;6909:16;;6940;;6971:3;6997:4;7035:9;7017:15;:27;6809:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7085:1;7070:12;:16;7066:182;;;7127:42;7156:12;7127:9;:24;7145:4;7127:24;;;;;;;;;;;;;;;;:28;;:42;;;;:::i;:::-;7100:9;:24;7118:4;7100:24;;;;;;;;;;;;;;;:69;;;;7219:1;7187:49;;7204:4;7187:49;;;7223:12;7187:49;;;;;;;;;;;;;;;;;;7066:182;7262:9;;;;;;;;;;;7258:44;;7298:4;7286:9;;:16;;;;;;;;;;;;;;;;;;7258:44;7348:4;7327:18;;:25;;;;;;;;;;;;;;;;;;7373:30;7393:9;7373:15;:19;;:30;;;;:::i;:::-;7363:7;:40;;;;3012:1;;6497:913::o:0;7936:175::-;8022:4;8039:42;8049:12;:10;:12::i;:::-;8063:9;8074:6;8039:9;:42::i;:::-;8099:4;8092:11;;7936:175;;;;:::o;2598:19::-;;;;:::o;1899:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4234:105::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4321:10:::1;4309:9;;:22;;;;;;;;;;;;;;;;;;4234:105:::0;:::o;2324:34::-;;;;:::o;1927:19::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4345:622::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4415:10:::1;;;;;;;;;;;4414:11;4406:20;;;::::0;::::1;;4436:17;4456:38;4490:3;4456:29;4482:2;4456:21;:25;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;4436:58;;4504:16;4523:28;4547:3;4523:19;4540:1;4523:12:::0;::::1;:16;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;4504:47;;4575:19;4597:28;4621:3;4597:19;4614:1;4597:12:::0;::::1;:16;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;4575:50;;4651:5;;;;;;;;;;;:14;;:25;4666:9;4651:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;4705:47;4726:25;4739:11;4726:8;:12;;:25;;;;:::i;:::-;4705:9;:16;4715:5;;;;;;;;;;;4705:16;;;;;;;;;;;;;;;;:20;;:47;;;;:::i;:::-;4686:9;:16;4696:5;;;;;;;;;;;4686:16;;;;;;;;;;;;;;;:66;;;;4789:55;4832:11;4789:38;4818:8;4789:9;:24;4807:4;4789:24;;;;;;;;;;;;;;;;:28;;:38;;;;:::i;:::-;:42;;:55;;;;:::i;:::-;4762:9;:24;4780:4;4762:24;;;;;;;;;;;;;;;:82;;;;4859:1;4854:2;:6;;;;4883:4;4870:10;;:17;;;;;;;;;;;;;;;;;;4926:5;;;;;;;;;;;4902:57;;4919:4;4902:57;;;4933:25;4946:11;4933:8;:12;;:25;;;;:::i;:::-;4902:57;;;;;;;;;;;;;;;;;;3012:1;;;4345:622:::0;:::o;8119:153::-;8209:7;8236:11;:19;8248:6;8236:19;;;;;;;;;;;;;;;:28;8256:7;8236:28;;;;;;;;;;;;;;;;8229:35;;8119:153;;;;:::o;6298:187::-;6365:4;6401:9;;6385:6;:12;6392:4;6385:12;;;;;;;;;;;;;;;;:25;6381:96;;;6432:4;6425:11;;;;6381:96;6472:5;6465:12;;6298:187;;;;:::o;2624:19::-;;;;:::o;4030:192::-;2970:5;;;;;;;;;;;2956:19;;:10;:19;;;2948:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4109:1:::1;4093:18;;:4;;;;;;;;;;;:18;;;4085:55;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4158:14;;;;;;;;;;;:25;;;4192:4;4199:7;::::0;::::1;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;4158:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;4151:4;;:63;;;;;;;;;;;;;;;;;;4030:192::o:0;2191:25::-;;;;:::o;2443:22::-;;;;:::o;2109:30::-;;;;;;;;;;;;;:::o;5132:400::-;5197:4;5184:17;;:9;;;;;;;;;;;:17;;;5176:26;;;;;;5240:13;;5221:15;:32;;5213:41;;;;;;5298:9;;5273:21;:34;;5265:43;;;;;;5345:9;;5323:6;:18;5330:10;5323:18;;;;;;;;;;;;;;;;:31;5319:206;;;5370:10;:19;;:30;5390:9;;5370:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5439:36;5465:9;;5439;:21;5449:10;5439:21;;;;;;;;;;;;;;;;:25;;:36;;;;:::i;:::-;5415:9;:21;5425:10;5415:21;;;;;;;;;;;;;;;:60;;;;5512:1;5491:6;:18;5498:10;5491:18;;;;;;;;;;;;;;;:22;;;;5319:206;5132:400::o;18768:181::-;18826:7;18846:9;18862:1;18858;:5;18846:17;;18887:1;18882;:6;;18874:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18940:1;18933:8;;;18768:181;;;;:::o;19232:136::-;19290:7;19317:43;19321:1;19324;19317:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;19310:50;;19232:136;;;;:::o;1262:106::-;1315:15;1350:10;1343:17;;1262:106;:::o;11148:350::-;11269:1;11251:20;;:6;:20;;;;11243:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11350:1;11331:21;;:7;:21;;;;11323:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11435:6;11404:11;:19;11416:6;11404:19;;;;;;;;;;;;;;;:28;11424:7;11404:28;;;;;;;;;;;;;;;:37;;;;11474:7;11457:33;;11466:6;11457:33;;;11483:6;11457:33;;;;;;;;;;;;;;;;;;11148:350;;;:::o;9305:1264::-;9429:1;9411:20;;:6;:20;;;;9403:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9513:1;9492:23;;:9;:23;;;;9484:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9575:14;;;;;;;;;;;9574:15;:38;;;;9607:5;;;;;;;;;;;9593:19;;:10;:19;;;9574:38;9566:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9660:4;;;;;;;;;;;9650:14;;:6;:14;;;:43;;;;;9686:7;;9668:15;:25;9650:43;9646:120;;;9726:2;;9716:6;:12;;9708:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9646:120;9808:4;;;;;;;;;;;9795:17;;:9;:17;;;9791:771;;;9824:14;9841:20;9854:6;9841:12;:20::i;:::-;9824:37;;9872:18;9893;9904:6;9893;:10;;:18;;;;:::i;:::-;9872:39;;9932:21;9938:6;9946;9932:5;:21::i;:::-;9964:51;9985:6;9993:9;10004:10;9964:20;:51::i;:::-;10048:75;10070:10;10048:75;;;;;;;;;;;;;;;;;:9;:17;10058:6;10048:17;;;;;;;;;;;;;;;;:21;;:75;;;;;:::i;:::-;10028:9;:17;10038:6;10028:17;;;;;;;;;;;;;;;:95;;;;10157:36;10182:10;10157:9;:20;10167:9;10157:20;;;;;;;;;;;;;;;;:24;;:36;;;;:::i;:::-;10134:9;:20;10144:9;10134:20;;;;;;;;;;;;;;;:59;;;;10226:9;10209:39;;10218:6;10209:39;;;10237:10;10209:39;;;;;;;;;;;;;;;;;;9791:771;;;;;10282:47;10303:6;10311:9;10322:6;10282:20;:47::i;:::-;10362:71;10384:6;10362:71;;;;;;;;;;;;;;;;;:9;:17;10372:6;10362:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;10342:9;:17;10352:6;10342:17;;;;;;;;;;;;;;;:91;;;;10467:32;10492:6;10467:9;:20;10477:9;10467:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10444:9;:20;10454:9;10444:20;;;;;;;;;;;;;;;:55;;;;10532:9;10515:35;;10524:6;10515:35;;;10543:6;10515:35;;;;;;;;;;;;;;;;;;9791:771;9305:1264;;;:::o;19671:192::-;19757:7;19790:1;19785;:6;;19793:12;19777:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19817:9;19833:1;19829;:5;19817:17;;19854:1;19847:8;;;19671:192;;;;;:::o;20122:471::-;20180:7;20430:1;20425;:6;20421:47;;;20455:1;20448:8;;;;20421:47;20480:9;20496:1;20492;:5;20480:17;;20525:1;20520;20516;:5;;;;;;:10;20508:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20584:1;20577:8;;;20122:471;;;;;:::o;21069:132::-;21127:7;21154:39;21158:1;21161;21154:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;21147:46;;21069:132;;;;:::o;10722:418::-;10825:1;10806:21;;:7;:21;;;;10798:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10878:49;10899:7;10916:1;10920:6;10878:20;:49::i;:::-;10961:68;10984:6;10961:68;;;;;;;;;;;;;;;;;:9;:18;10971:7;10961:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;10940:9;:18;10950:7;10940:18;;;;;;;;;;;;;;;:89;;;;11055:24;11072:6;11055:12;;:16;;:24;;;;:::i;:::-;11040:12;:39;;;;11121:1;11095:37;;11104:7;11095:37;;;11125:6;11095:37;;;;;;;;;;;;;;;;;;10722:418;;:::o;12101:92::-;;;;:::o;21697:278::-;21783:7;21815:1;21811;:5;21818:12;21803:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21842:9;21858:1;21854;:5;;;;;;21842:17;;21966:1;21959:8;;;21697:278;;;;;:::o
Swarm Source
ipfs://50dff12d148822cdf60e193f17cd79123efc6d51e7d9c757908da58fa232b943
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.