ERC-20
Overview
Max Total Supply
500,000,000 VXL
Holders
544
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Voxelxnetwork
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-18 */ /** *Submitted for verification at Etherscan.io on 2021-09-18 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the substraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // 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 (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @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) { return a + b; } /** * @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 a - b; } /** * @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) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting 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 a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting 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) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * 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) { unchecked { require(b > 0, errorMessage); return a % b; } } } /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://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"); require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: value }(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) { if (success) { return returndata; } else { // 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); } } } } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } } contract Voxelxnetwork is Context, IERC20, IERC20Metadata, Ownable { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping(address => bool) public _isBlacklisted; uint256 public maxWalletToken; uint256 public _maxTxAmount; uint256 private _totalSupply; string private _name; string private _symbol; uint private _decimals; /** * @dev Sets the values for {name} and {symbol}. * * The defaut value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor () { _name = "Voxel X Network"; _symbol = "VXL"; _decimals = 18; _mint(owner(), 500000000 * 10**(_decimals)); maxWalletToken = 500000000 * 10**(_decimals); _maxTxAmount = 500000000 * 10**(_decimals); } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5,05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override onlyOwner() returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual onlyOwner returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual onlyOwner returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ 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(!_isBlacklisted[sender] && !_isBlacklisted[recipient], 'Blacklisted address'); uint256 contractBalanceRecepient = balanceOf(recipient); require(contractBalanceRecepient + amount <= maxWalletToken,"Exceeds maximum wallet token amount."); if(sender != owner() && recipient != owner()) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `to` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); _balances[account] = accountBalance - amount; _totalSupply -= amount; emit Transfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ 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); } function blacklistAddress(address account, bool value) external onlyOwner{ _isBlacklisted[account] = value; } function setMaxWalletTokend(uint256 _maxToken) external onlyOwner { maxWalletToken = _maxToken * (10**18); } function setMaxTxPercent(uint256 maxTxAmout) external onlyOwner() { _maxTxAmount = maxTxAmout * (10**18); } string public VNetwork = "VNetwork"; string public VDex = "VDex"; function SetVNetwork(string memory _name1) public onlyOwner { VNetwork = _name1; } function SetVDex(string memory _name2) public onlyOwner { VDex = _name2; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"string","name":"_name2","type":"string"}],"name":"SetVDex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name1","type":"string"}],"name":"SetVNetwork","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"VDex","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VNetwork","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmout","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxToken","type":"uint256"}],"name":"setMaxWalletTokend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526040518060400160405280600881526020017f564e6574776f726b000000000000000000000000000000000000000000000000815250600a9080519060200190620000519291906200041d565b506040518060400160405280600481526020017f5644657800000000000000000000000000000000000000000000000000000000815250600b90805190602001906200009f9291906200041d565b50348015620000ad57600080fd5b506000620000c06200029a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600f81526020017f566f78656c2058204e6574776f726b000000000000000000000000000000000081525060079080519060200190620001ab9291906200041d565b506040518060400160405280600381526020017f56584c000000000000000000000000000000000000000000000000000000000081525060089080519060200190620001f99291906200041d565b5060126009819055506200024462000216620002a260201b60201c565b600954600a6200022791906200060d565b631dcd65006200023891906200074a565b620002cb60201b60201c565b600954600a6200025591906200060d565b631dcd65006200026691906200074a565b600481905550600954600a6200027d91906200060d565b631dcd65006200028e91906200074a565b6005819055506200087f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200033e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003359062000505565b60405180910390fd5b806006600082825462000352919062000555565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620003aa919062000555565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000411919062000527565b60405180910390a35050565b8280546200042b90620007b5565b90600052602060002090601f0160209004810192826200044f57600085556200049b565b82601f106200046a57805160ff19168380011785556200049b565b828001600101855582156200049b579182015b828111156200049a5782518255916020019190600101906200047d565b5b509050620004aa9190620004ae565b5090565b5b80821115620004c9576000816000905550600101620004af565b5090565b6000620004dc601f8362000544565b9150620004e98262000856565b602082019050919050565b620004ff81620007ab565b82525050565b600060208201905081810360008301526200052081620004cd565b9050919050565b60006020820190506200053e6000830184620004f4565b92915050565b600082825260208201905092915050565b60006200056282620007ab565b91506200056f83620007ab565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620005a757620005a6620007eb565b5b828201905092915050565b6000808291508390505b60018511156200060457808604811115620005dc57620005db620007eb565b5b6001851615620005ec5780820291505b8081029050620005fc8562000849565b9450620005bc565b94509492505050565b60006200061a82620007ab565b91506200062783620007ab565b9250620006567fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200065e565b905092915050565b60008262000670576001905062000743565b8162000680576000905062000743565b8160018114620006995760028114620006a457620006da565b600191505062000743565b60ff841115620006b957620006b8620007eb565b5b8360020a915084821115620006d357620006d2620007eb565b5b5062000743565b5060208310610133831016604e8410600b8410161715620007145782820a9050838111156200070e576200070d620007eb565b5b62000743565b620007238484846001620005b2565b925090508184048111156200073d576200073c620007eb565b5b81810290505b9392505050565b60006200075782620007ab565b91506200076483620007ab565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007a0576200079f620007eb565b5b828202905092915050565b6000819050919050565b60006002820490506001821680620007ce57607f821691505b60208210811415620007e557620007e46200081a565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6122f2806200088f6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80637d1db4a5116100b8578063a9059cbb1161007c578063a9059cbb1461038d578063bbe82e26146103bd578063d065cdd6146103db578063d543dbeb146103f7578063dd62ed3e14610413578063e6c75f711461044357610142565b80637d1db4a5146102e75780638da5cb5b1461030557806395d89b41146103235780639f34a5b414610341578063a457c2d71461035d57610142565b806328bc0d5c1161010a57806328bc0d5c14610213578063313ce5671461022f578063395093511461024d578063455a43961461027d5780635913ac891461029957806370a08231146102b757610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd146101955780631cdd3be3146101b357806323b872dd146101e3575b600080fd5b61014f610461565b60405161015c9190611ab8565b60405180910390f35b61017f600480360381019061017a91906117e6565b6104f3565b60405161018c9190611a9d565b60405180910390f35b61019d61058d565b6040516101aa9190611c3a565b60405180910390f35b6101cd60048036038101906101c891906116f6565b610597565b6040516101da9190611a9d565b60405180910390f35b6101fd60048036038101906101f8919061175b565b6105b7565b60405161020a9190611a9d565b60405180910390f35b61022d60048036038101906102289190611822565b6106b8565b005b61023761074e565b6040516102449190611c55565b60405180910390f35b610267600480360381019061026291906117e6565b610757565b6040516102749190611a9d565b60405180910390f35b610297600480360381019061029291906117aa565b61087f565b005b6102a1610956565b6040516102ae9190611ab8565b60405180910390f35b6102d160048036038101906102cc91906116f6565b6109e4565b6040516102de9190611c3a565b60405180910390f35b6102ef610a2d565b6040516102fc9190611c3a565b60405180910390f35b61030d610a33565b60405161031a9190611a82565b60405180910390f35b61032b610a5c565b6040516103389190611ab8565b60405180910390f35b61035b60048036038101906103569190611863565b610aee565b005b610377600480360381019061037291906117e6565b610b87565b6040516103849190611a9d565b60405180910390f35b6103a760048036038101906103a291906117e6565b610cf8565b6040516103b49190611a9d565b60405180910390f35b6103c5610d16565b6040516103d29190611ab8565b60405180910390f35b6103f560048036038101906103f09190611822565b610da4565b005b610411600480360381019061040c9190611863565b610e3a565b005b61042d6004803603810190610428919061171f565b610ed3565b60405161043a9190611c3a565b60405180910390f35b61044b610f5a565b6040516104589190611c3a565b60405180910390f35b60606007805461047090611e5d565b80601f016020809104026020016040519081016040528092919081815260200182805461049c90611e5d565b80156104e95780601f106104be576101008083540402835291602001916104e9565b820191906000526020600020905b8154815290600101906020018083116104cc57829003601f168201915b5050505050905090565b60006104fd610f60565b73ffffffffffffffffffffffffffffffffffffffff1661051b610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056890611bba565b60405180910390fd5b61058361057c610f60565b8484610f68565b6001905092915050565b6000600654905090565b60036020528060005260406000206000915054906101000a900460ff1681565b60006105c4848484611133565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061060f610f60565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561068f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068690611b9a565b60405180910390fd5b6106ac8561069b610f60565b85846106a79190611d92565b610f68565b60019150509392505050565b6106c0610f60565b73ffffffffffffffffffffffffffffffffffffffff166106de610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072b90611bba565b60405180910390fd5b80600a908051906020019061074a9291906115ac565b5050565b60006012905090565b6000610761610f60565b73ffffffffffffffffffffffffffffffffffffffff1661077f610a33565b73ffffffffffffffffffffffffffffffffffffffff16146107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc90611bba565b60405180910390fd5b6108756107e0610f60565b8484600260006107ee610f60565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108709190611ce2565b610f68565b6001905092915050565b610887610f60565b73ffffffffffffffffffffffffffffffffffffffff166108a5610a33565b73ffffffffffffffffffffffffffffffffffffffff16146108fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f290611bba565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b805461096390611e5d565b80601f016020809104026020016040519081016040528092919081815260200182805461098f90611e5d565b80156109dc5780601f106109b1576101008083540402835291602001916109dc565b820191906000526020600020905b8154815290600101906020018083116109bf57829003601f168201915b505050505081565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610a6b90611e5d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9790611e5d565b8015610ae45780601f10610ab957610100808354040283529160200191610ae4565b820191906000526020600020905b815481529060010190602001808311610ac757829003601f168201915b5050505050905090565b610af6610f60565b73ffffffffffffffffffffffffffffffffffffffff16610b14610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6190611bba565b60405180910390fd5b670de0b6b3a764000081610b7e9190611d38565b60048190555050565b6000610b91610f60565b73ffffffffffffffffffffffffffffffffffffffff16610baf610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfc90611bba565b60405180910390fd5b600060026000610c13610f60565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610cd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc790611c1a565b60405180910390fd5b610ced610cdb610f60565b858584610ce89190611d92565b610f68565b600191505092915050565b6000610d0c610d05610f60565b8484611133565b6001905092915050565b600a8054610d2390611e5d565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4f90611e5d565b8015610d9c5780601f10610d7157610100808354040283529160200191610d9c565b820191906000526020600020905b815481529060010190602001808311610d7f57829003601f168201915b505050505081565b610dac610f60565b73ffffffffffffffffffffffffffffffffffffffff16610dca610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1790611bba565b60405180910390fd5b80600b9080519060200190610e369291906115ac565b5050565b610e42610f60565b73ffffffffffffffffffffffffffffffffffffffff16610e60610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ead90611bba565b60405180910390fd5b670de0b6b3a764000081610eca9190611d38565b60058190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60045481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcf90611bfa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103f90611afa565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111269190611c3a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119a90611bda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120a90611ada565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112b75750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90611b3a565b60405180910390fd5b6000611301836109e4565b905060045482826113129190611ce2565b1115611353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134a90611b7a565b60405180910390fd5b61135b610a33565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113c95750611399610a33565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561141457600554821115611413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140a90611b5a565b60405180910390fd5b5b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561149b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149290611b1a565b60405180910390fd5b82816114a79190611d92565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115399190611ce2565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161159d9190611c3a565b60405180910390a35050505050565b8280546115b890611e5d565b90600052602060002090601f0160209004810192826115da5760008555611621565b82601f106115f357805160ff1916838001178555611621565b82800160010185558215611621579182015b82811115611620578251825591602001919060010190611605565b5b50905061162e9190611632565b5090565b5b8082111561164b576000816000905550600101611633565b5090565b600061166261165d84611c95565b611c70565b90508281526020810184848401111561167a57600080fd5b611685848285611e1b565b509392505050565b60008135905061169c81612277565b92915050565b6000813590506116b18161228e565b92915050565b600082601f8301126116c857600080fd5b81356116d884826020860161164f565b91505092915050565b6000813590506116f0816122a5565b92915050565b60006020828403121561170857600080fd5b60006117168482850161168d565b91505092915050565b6000806040838503121561173257600080fd5b60006117408582860161168d565b92505060206117518582860161168d565b9150509250929050565b60008060006060848603121561177057600080fd5b600061177e8682870161168d565b935050602061178f8682870161168d565b92505060406117a0868287016116e1565b9150509250925092565b600080604083850312156117bd57600080fd5b60006117cb8582860161168d565b92505060206117dc858286016116a2565b9150509250929050565b600080604083850312156117f957600080fd5b60006118078582860161168d565b9250506020611818858286016116e1565b9150509250929050565b60006020828403121561183457600080fd5b600082013567ffffffffffffffff81111561184e57600080fd5b61185a848285016116b7565b91505092915050565b60006020828403121561187557600080fd5b6000611883848285016116e1565b91505092915050565b61189581611dc6565b82525050565b6118a481611dd8565b82525050565b60006118b582611cc6565b6118bf8185611cd1565b93506118cf818560208601611e2a565b6118d881611f4d565b840191505092915050565b60006118f0602383611cd1565b91506118fb82611f5e565b604082019050919050565b6000611913602283611cd1565b915061191e82611fad565b604082019050919050565b6000611936602683611cd1565b915061194182611ffc565b604082019050919050565b6000611959601383611cd1565b91506119648261204b565b602082019050919050565b600061197c602883611cd1565b915061198782612074565b604082019050919050565b600061199f602483611cd1565b91506119aa826120c3565b604082019050919050565b60006119c2602883611cd1565b91506119cd82612112565b604082019050919050565b60006119e5602083611cd1565b91506119f082612161565b602082019050919050565b6000611a08602583611cd1565b9150611a138261218a565b604082019050919050565b6000611a2b602483611cd1565b9150611a36826121d9565b604082019050919050565b6000611a4e602583611cd1565b9150611a5982612228565b604082019050919050565b611a6d81611e04565b82525050565b611a7c81611e0e565b82525050565b6000602082019050611a97600083018461188c565b92915050565b6000602082019050611ab2600083018461189b565b92915050565b60006020820190508181036000830152611ad281846118aa565b905092915050565b60006020820190508181036000830152611af3816118e3565b9050919050565b60006020820190508181036000830152611b1381611906565b9050919050565b60006020820190508181036000830152611b3381611929565b9050919050565b60006020820190508181036000830152611b538161194c565b9050919050565b60006020820190508181036000830152611b738161196f565b9050919050565b60006020820190508181036000830152611b9381611992565b9050919050565b60006020820190508181036000830152611bb3816119b5565b9050919050565b60006020820190508181036000830152611bd3816119d8565b9050919050565b60006020820190508181036000830152611bf3816119fb565b9050919050565b60006020820190508181036000830152611c1381611a1e565b9050919050565b60006020820190508181036000830152611c3381611a41565b9050919050565b6000602082019050611c4f6000830184611a64565b92915050565b6000602082019050611c6a6000830184611a73565b92915050565b6000611c7a611c8b565b9050611c868282611e8f565b919050565b6000604051905090565b600067ffffffffffffffff821115611cb057611caf611f1e565b5b611cb982611f4d565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000611ced82611e04565b9150611cf883611e04565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d2d57611d2c611ec0565b5b828201905092915050565b6000611d4382611e04565b9150611d4e83611e04565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d8757611d86611ec0565b5b828202905092915050565b6000611d9d82611e04565b9150611da883611e04565b925082821015611dbb57611dba611ec0565b5b828203905092915050565b6000611dd182611de4565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b83811015611e48578082015181840152602081019050611e2d565b83811115611e57576000848401525b50505050565b60006002820490506001821680611e7557607f821691505b60208210811415611e8957611e88611eef565b5b50919050565b611e9882611f4d565b810181811067ffffffffffffffff82111715611eb757611eb6611f1e565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f426c61636b6c6973746564206164647265737300000000000000000000000000600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f60008201527f756e742e00000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61228081611dc6565b811461228b57600080fd5b50565b61229781611dd8565b81146122a257600080fd5b50565b6122ae81611e04565b81146122b957600080fd5b5056fea2646970667358221220b298bd124a879988c474ebe7ba40f1ae132a522bac4c21ed78b22ca6980a101964736f6c63430008040033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101425760003560e01c80637d1db4a5116100b8578063a9059cbb1161007c578063a9059cbb1461038d578063bbe82e26146103bd578063d065cdd6146103db578063d543dbeb146103f7578063dd62ed3e14610413578063e6c75f711461044357610142565b80637d1db4a5146102e75780638da5cb5b1461030557806395d89b41146103235780639f34a5b414610341578063a457c2d71461035d57610142565b806328bc0d5c1161010a57806328bc0d5c14610213578063313ce5671461022f578063395093511461024d578063455a43961461027d5780635913ac891461029957806370a08231146102b757610142565b806306fdde0314610147578063095ea7b31461016557806318160ddd146101955780631cdd3be3146101b357806323b872dd146101e3575b600080fd5b61014f610461565b60405161015c9190611ab8565b60405180910390f35b61017f600480360381019061017a91906117e6565b6104f3565b60405161018c9190611a9d565b60405180910390f35b61019d61058d565b6040516101aa9190611c3a565b60405180910390f35b6101cd60048036038101906101c891906116f6565b610597565b6040516101da9190611a9d565b60405180910390f35b6101fd60048036038101906101f8919061175b565b6105b7565b60405161020a9190611a9d565b60405180910390f35b61022d60048036038101906102289190611822565b6106b8565b005b61023761074e565b6040516102449190611c55565b60405180910390f35b610267600480360381019061026291906117e6565b610757565b6040516102749190611a9d565b60405180910390f35b610297600480360381019061029291906117aa565b61087f565b005b6102a1610956565b6040516102ae9190611ab8565b60405180910390f35b6102d160048036038101906102cc91906116f6565b6109e4565b6040516102de9190611c3a565b60405180910390f35b6102ef610a2d565b6040516102fc9190611c3a565b60405180910390f35b61030d610a33565b60405161031a9190611a82565b60405180910390f35b61032b610a5c565b6040516103389190611ab8565b60405180910390f35b61035b60048036038101906103569190611863565b610aee565b005b610377600480360381019061037291906117e6565b610b87565b6040516103849190611a9d565b60405180910390f35b6103a760048036038101906103a291906117e6565b610cf8565b6040516103b49190611a9d565b60405180910390f35b6103c5610d16565b6040516103d29190611ab8565b60405180910390f35b6103f560048036038101906103f09190611822565b610da4565b005b610411600480360381019061040c9190611863565b610e3a565b005b61042d6004803603810190610428919061171f565b610ed3565b60405161043a9190611c3a565b60405180910390f35b61044b610f5a565b6040516104589190611c3a565b60405180910390f35b60606007805461047090611e5d565b80601f016020809104026020016040519081016040528092919081815260200182805461049c90611e5d565b80156104e95780601f106104be576101008083540402835291602001916104e9565b820191906000526020600020905b8154815290600101906020018083116104cc57829003601f168201915b5050505050905090565b60006104fd610f60565b73ffffffffffffffffffffffffffffffffffffffff1661051b610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056890611bba565b60405180910390fd5b61058361057c610f60565b8484610f68565b6001905092915050565b6000600654905090565b60036020528060005260406000206000915054906101000a900460ff1681565b60006105c4848484611133565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061060f610f60565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561068f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068690611b9a565b60405180910390fd5b6106ac8561069b610f60565b85846106a79190611d92565b610f68565b60019150509392505050565b6106c0610f60565b73ffffffffffffffffffffffffffffffffffffffff166106de610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072b90611bba565b60405180910390fd5b80600a908051906020019061074a9291906115ac565b5050565b60006012905090565b6000610761610f60565b73ffffffffffffffffffffffffffffffffffffffff1661077f610a33565b73ffffffffffffffffffffffffffffffffffffffff16146107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc90611bba565b60405180910390fd5b6108756107e0610f60565b8484600260006107ee610f60565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108709190611ce2565b610f68565b6001905092915050565b610887610f60565b73ffffffffffffffffffffffffffffffffffffffff166108a5610a33565b73ffffffffffffffffffffffffffffffffffffffff16146108fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f290611bba565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b805461096390611e5d565b80601f016020809104026020016040519081016040528092919081815260200182805461098f90611e5d565b80156109dc5780601f106109b1576101008083540402835291602001916109dc565b820191906000526020600020905b8154815290600101906020018083116109bf57829003601f168201915b505050505081565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610a6b90611e5d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9790611e5d565b8015610ae45780601f10610ab957610100808354040283529160200191610ae4565b820191906000526020600020905b815481529060010190602001808311610ac757829003601f168201915b5050505050905090565b610af6610f60565b73ffffffffffffffffffffffffffffffffffffffff16610b14610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6190611bba565b60405180910390fd5b670de0b6b3a764000081610b7e9190611d38565b60048190555050565b6000610b91610f60565b73ffffffffffffffffffffffffffffffffffffffff16610baf610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfc90611bba565b60405180910390fd5b600060026000610c13610f60565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610cd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc790611c1a565b60405180910390fd5b610ced610cdb610f60565b858584610ce89190611d92565b610f68565b600191505092915050565b6000610d0c610d05610f60565b8484611133565b6001905092915050565b600a8054610d2390611e5d565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4f90611e5d565b8015610d9c5780601f10610d7157610100808354040283529160200191610d9c565b820191906000526020600020905b815481529060010190602001808311610d7f57829003601f168201915b505050505081565b610dac610f60565b73ffffffffffffffffffffffffffffffffffffffff16610dca610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1790611bba565b60405180910390fd5b80600b9080519060200190610e369291906115ac565b5050565b610e42610f60565b73ffffffffffffffffffffffffffffffffffffffff16610e60610a33565b73ffffffffffffffffffffffffffffffffffffffff1614610eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ead90611bba565b60405180910390fd5b670de0b6b3a764000081610eca9190611d38565b60058190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60045481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcf90611bfa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103f90611afa565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111269190611c3a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119a90611bda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120a90611ada565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156112b75750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90611b3a565b60405180910390fd5b6000611301836109e4565b905060045482826113129190611ce2565b1115611353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134a90611b7a565b60405180910390fd5b61135b610a33565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113c95750611399610a33565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561141457600554821115611413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140a90611b5a565b60405180910390fd5b5b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561149b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149290611b1a565b60405180910390fd5b82816114a79190611d92565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115399190611ce2565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161159d9190611c3a565b60405180910390a35050505050565b8280546115b890611e5d565b90600052602060002090601f0160209004810192826115da5760008555611621565b82601f106115f357805160ff1916838001178555611621565b82800160010185558215611621579182015b82811115611620578251825591602001919060010190611605565b5b50905061162e9190611632565b5090565b5b8082111561164b576000816000905550600101611633565b5090565b600061166261165d84611c95565b611c70565b90508281526020810184848401111561167a57600080fd5b611685848285611e1b565b509392505050565b60008135905061169c81612277565b92915050565b6000813590506116b18161228e565b92915050565b600082601f8301126116c857600080fd5b81356116d884826020860161164f565b91505092915050565b6000813590506116f0816122a5565b92915050565b60006020828403121561170857600080fd5b60006117168482850161168d565b91505092915050565b6000806040838503121561173257600080fd5b60006117408582860161168d565b92505060206117518582860161168d565b9150509250929050565b60008060006060848603121561177057600080fd5b600061177e8682870161168d565b935050602061178f8682870161168d565b92505060406117a0868287016116e1565b9150509250925092565b600080604083850312156117bd57600080fd5b60006117cb8582860161168d565b92505060206117dc858286016116a2565b9150509250929050565b600080604083850312156117f957600080fd5b60006118078582860161168d565b9250506020611818858286016116e1565b9150509250929050565b60006020828403121561183457600080fd5b600082013567ffffffffffffffff81111561184e57600080fd5b61185a848285016116b7565b91505092915050565b60006020828403121561187557600080fd5b6000611883848285016116e1565b91505092915050565b61189581611dc6565b82525050565b6118a481611dd8565b82525050565b60006118b582611cc6565b6118bf8185611cd1565b93506118cf818560208601611e2a565b6118d881611f4d565b840191505092915050565b60006118f0602383611cd1565b91506118fb82611f5e565b604082019050919050565b6000611913602283611cd1565b915061191e82611fad565b604082019050919050565b6000611936602683611cd1565b915061194182611ffc565b604082019050919050565b6000611959601383611cd1565b91506119648261204b565b602082019050919050565b600061197c602883611cd1565b915061198782612074565b604082019050919050565b600061199f602483611cd1565b91506119aa826120c3565b604082019050919050565b60006119c2602883611cd1565b91506119cd82612112565b604082019050919050565b60006119e5602083611cd1565b91506119f082612161565b602082019050919050565b6000611a08602583611cd1565b9150611a138261218a565b604082019050919050565b6000611a2b602483611cd1565b9150611a36826121d9565b604082019050919050565b6000611a4e602583611cd1565b9150611a5982612228565b604082019050919050565b611a6d81611e04565b82525050565b611a7c81611e0e565b82525050565b6000602082019050611a97600083018461188c565b92915050565b6000602082019050611ab2600083018461189b565b92915050565b60006020820190508181036000830152611ad281846118aa565b905092915050565b60006020820190508181036000830152611af3816118e3565b9050919050565b60006020820190508181036000830152611b1381611906565b9050919050565b60006020820190508181036000830152611b3381611929565b9050919050565b60006020820190508181036000830152611b538161194c565b9050919050565b60006020820190508181036000830152611b738161196f565b9050919050565b60006020820190508181036000830152611b9381611992565b9050919050565b60006020820190508181036000830152611bb3816119b5565b9050919050565b60006020820190508181036000830152611bd3816119d8565b9050919050565b60006020820190508181036000830152611bf3816119fb565b9050919050565b60006020820190508181036000830152611c1381611a1e565b9050919050565b60006020820190508181036000830152611c3381611a41565b9050919050565b6000602082019050611c4f6000830184611a64565b92915050565b6000602082019050611c6a6000830184611a73565b92915050565b6000611c7a611c8b565b9050611c868282611e8f565b919050565b6000604051905090565b600067ffffffffffffffff821115611cb057611caf611f1e565b5b611cb982611f4d565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000611ced82611e04565b9150611cf883611e04565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611d2d57611d2c611ec0565b5b828201905092915050565b6000611d4382611e04565b9150611d4e83611e04565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d8757611d86611ec0565b5b828202905092915050565b6000611d9d82611e04565b9150611da883611e04565b925082821015611dbb57611dba611ec0565b5b828203905092915050565b6000611dd182611de4565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b83811015611e48578082015181840152602081019050611e2d565b83811115611e57576000848401525b50505050565b60006002820490506001821680611e7557607f821691505b60208210811415611e8957611e88611eef565b5b50919050565b611e9882611f4d565b810181811067ffffffffffffffff82111715611eb757611eb6611f1e565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f426c61636b6c6973746564206164647265737300000000000000000000000000600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f45786365656473206d6178696d756d2077616c6c657420746f6b656e20616d6f60008201527f756e742e00000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61228081611dc6565b811461228b57600080fd5b50565b61229781611dd8565b81146122a257600080fd5b50565b6122ae81611e04565b81146122b957600080fd5b5056fea2646970667358221220b298bd124a879988c474ebe7ba40f1ae132a522bac4c21ed78b22ca6980a101964736f6c63430008040033
Deployed Bytecode Sourcemap
19100:10289:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20296:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22463:181;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21416:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19378:46;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23126:422;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29186:96;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21258:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23957:225;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28701:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;29146:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21587:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19473:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18789:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20515:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28836:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24684:387;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21927:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29104:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29294:88;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;28966:121;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22165:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19437:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20296:100;20350:13;20383:5;20376:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20296:100;:::o;22463:181::-;22558:4;19020:12;:10;:12::i;:::-;19009:23;;:7;:5;:7::i;:::-;:23;;;19001:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22575:39:::1;22584:12;:10;:12::i;:::-;22598:7;22607:6;22575:8;:39::i;:::-;22632:4;22625:11;;22463:181:::0;;;;:::o;21416:108::-;21477:7;21504:12;;21497:19;;21416:108;:::o;19378:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;23126:422::-;23232:4;23249:36;23259:6;23267:9;23278:6;23249:9;:36::i;:::-;23298:24;23325:11;:19;23337:6;23325:19;;;;;;;;;;;;;;;:33;23345:12;:10;:12::i;:::-;23325:33;;;;;;;;;;;;;;;;23298:60;;23397:6;23377:16;:26;;23369:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;23459:57;23468:6;23476:12;:10;:12::i;:::-;23509:6;23490:16;:25;;;;:::i;:::-;23459:8;:57::i;:::-;23536:4;23529:11;;;23126:422;;;;;:::o;29186:96::-;19020:12;:10;:12::i;:::-;19009:23;;:7;:5;:7::i;:::-;:23;;;19001:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29268:6:::1;29257:8;:17;;;;;;;;;;;;:::i;:::-;;29186:96:::0;:::o;21258:93::-;21316:5;21341:2;21334:9;;21258:93;:::o;23957:225::-;24055:4;19020:12;:10;:12::i;:::-;19009:23;;:7;:5;:7::i;:::-;:23;;;19001:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24072:80:::1;24081:12;:10;:12::i;:::-;24095:7;24141:10;24104:11;:25;24116:12;:10;:12::i;:::-;24104:25;;;;;;;;;;;;;;;:34;24130:7;24104:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;24072:8;:80::i;:::-;24170:4;24163:11;;23957:225:::0;;;;:::o;28701:123::-;19020:12;:10;:12::i;:::-;19009:23;;:7;:5;:7::i;:::-;:23;;;19001:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28811:5:::1;28785:14;:23;28800:7;28785:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;28701:123:::0;;:::o;29146:27::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;21587:127::-;21661:7;21688:9;:18;21698:7;21688:18;;;;;;;;;;;;;;;;21681:25;;21587:127;;;:::o;19473:27::-;;;;:::o;18789:87::-;18835:7;18862:6;;;;;;;;;;;18855:13;;18789:87;:::o;20515:104::-;20571:13;20604:7;20597:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20515:104;:::o;28836:120::-;19020:12;:10;:12::i;:::-;19009:23;;:7;:5;:7::i;:::-;:23;;;19001:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28942:6:::1;28929:9;:20;;;;:::i;:::-;28912:14;:37;;;;28836:120:::0;:::o;24684:387::-;24787:4;19020:12;:10;:12::i;:::-;19009:23;;:7;:5;:7::i;:::-;:23;;;19001:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24804:24:::1;24831:11;:25;24843:12;:10;:12::i;:::-;24831:25;;;;;;;;;;;;;;;:34;24857:7;24831:34;;;;;;;;;;;;;;;;24804:61;;24904:15;24884:16;:35;;24876:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;24972:67;24981:12;:10;:12::i;:::-;24995:7;25023:15;25004:16;:34;;;;:::i;:::-;24972:8;:67::i;:::-;25059:4;25052:11;;;24684:387:::0;;;;:::o;21927:175::-;22013:4;22030:42;22040:12;:10;:12::i;:::-;22054:9;22065:6;22030:9;:42::i;:::-;22090:4;22083:11;;21927:175;;;;:::o;29104:35::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;29294:88::-;19020:12;:10;:12::i;:::-;19009:23;;:7;:5;:7::i;:::-;:23;;;19001:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29368:6:::1;29361:4;:13;;;;;;;;;;;;:::i;:::-;;29294:88:::0;:::o;28966:121::-;19020:12;:10;:12::i;:::-;19009:23;;:7;:5;:7::i;:::-;:23;;;19001:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;29072:6:::1;29058:10;:21;;;;:::i;:::-;29043:12;:36;;;;28966:121:::0;:::o;22165:151::-;22254:7;22281:11;:18;22293:5;22281:18;;;;;;;;;;;;;;;:27;22300:7;22281:27;;;;;;;;;;;;;;;;22274:34;;22165:151;;;;:::o;19437:29::-;;;;:::o;167:98::-;220:7;247:10;240:17;;167:98;:::o;28343:346::-;28462:1;28445:19;;:5;:19;;;;28437:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28543:1;28524:21;;:7;:21;;;;28516:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;28627:6;28597:11;:18;28609:5;28597:18;;;;;;;;;;;;;;;:27;28616:7;28597:27;;;;;;;;;;;;;;;:36;;;;28665:7;28649:32;;28658:5;28649:32;;;28674:6;28649:32;;;;;;:::i;:::-;;;;;;;;28343:346;;;:::o;25561:995::-;25685:1;25667:20;;:6;:20;;;;25659:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;25769:1;25748:23;;:9;:23;;;;25740:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;25831:14;:22;25846:6;25831:22;;;;;;;;;;;;;;;;;;;;;;;;;25830:23;:53;;;;;25858:14;:25;25873:9;25858:25;;;;;;;;;;;;;;;;;;;;;;;;;25857:26;25830:53;25822:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;25918:32;25953:20;25963:9;25953;:20::i;:::-;25918:55;;26029:14;;26019:6;25992:24;:33;;;;:::i;:::-;:51;;25984:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;26107:7;:5;:7::i;:::-;26097:17;;:6;:17;;;;:41;;;;;26131:7;:5;:7::i;:::-;26118:20;;:9;:20;;;;26097:41;26094:148;;;26173:12;;26163:6;:22;;26155:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;26094:148;26275:21;26299:9;:17;26309:6;26299:17;;;;;;;;;;;;;;;;26275:41;;26352:6;26335:13;:23;;26327:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;26448:6;26432:13;:22;;;;:::i;:::-;26412:9;:17;26422:6;26412:17;;;;;;;;;;;;;;;:42;;;;26489:6;26465:9;:20;26475:9;26465:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;26530:9;26513:35;;26522:6;26513:35;;;26541:6;26513:35;;;;;;:::i;:::-;;;;;;;;25561:995;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;358:139::-;404:5;442:6;429:20;420:29;;458:33;485:5;458:33;:::i;:::-;410:87;;;;:::o;503:133::-;546:5;584:6;571:20;562:29;;600:30;624:5;600:30;:::i;:::-;552:84;;;;:::o;656:273::-;712:5;761:3;754:4;746:6;742:17;738:27;728:2;;779:1;776;769:12;728:2;819:6;806:20;844:79;919:3;911:6;904:4;896:6;892:17;844:79;:::i;:::-;835:88;;718:211;;;;;:::o;935:139::-;981:5;1019:6;1006:20;997:29;;1035:33;1062:5;1035:33;:::i;:::-;987:87;;;;:::o;1080:262::-;1139:6;1188:2;1176:9;1167:7;1163:23;1159:32;1156:2;;;1204:1;1201;1194:12;1156:2;1247:1;1272:53;1317:7;1308:6;1297:9;1293:22;1272:53;:::i;:::-;1262:63;;1218:117;1146:196;;;;:::o;1348:407::-;1416:6;1424;1473:2;1461:9;1452:7;1448:23;1444:32;1441:2;;;1489:1;1486;1479:12;1441:2;1532:1;1557:53;1602:7;1593:6;1582:9;1578:22;1557:53;:::i;:::-;1547:63;;1503:117;1659:2;1685:53;1730:7;1721:6;1710:9;1706:22;1685:53;:::i;:::-;1675:63;;1630:118;1431:324;;;;;:::o;1761:552::-;1838:6;1846;1854;1903:2;1891:9;1882:7;1878:23;1874:32;1871:2;;;1919:1;1916;1909:12;1871:2;1962:1;1987:53;2032:7;2023:6;2012:9;2008:22;1987:53;:::i;:::-;1977:63;;1933:117;2089:2;2115:53;2160:7;2151:6;2140:9;2136:22;2115:53;:::i;:::-;2105:63;;2060:118;2217:2;2243:53;2288:7;2279:6;2268:9;2264:22;2243:53;:::i;:::-;2233:63;;2188:118;1861:452;;;;;:::o;2319:401::-;2384:6;2392;2441:2;2429:9;2420:7;2416:23;2412:32;2409:2;;;2457:1;2454;2447:12;2409:2;2500:1;2525:53;2570:7;2561:6;2550:9;2546:22;2525:53;:::i;:::-;2515:63;;2471:117;2627:2;2653:50;2695:7;2686:6;2675:9;2671:22;2653:50;:::i;:::-;2643:60;;2598:115;2399:321;;;;;:::o;2726:407::-;2794:6;2802;2851:2;2839:9;2830:7;2826:23;2822:32;2819:2;;;2867:1;2864;2857:12;2819:2;2910:1;2935:53;2980:7;2971:6;2960:9;2956:22;2935:53;:::i;:::-;2925:63;;2881:117;3037:2;3063:53;3108:7;3099:6;3088:9;3084:22;3063:53;:::i;:::-;3053:63;;3008:118;2809:324;;;;;:::o;3139:375::-;3208:6;3257:2;3245:9;3236:7;3232:23;3228:32;3225:2;;;3273:1;3270;3263:12;3225:2;3344:1;3333:9;3329:17;3316:31;3374:18;3366:6;3363:30;3360:2;;;3406:1;3403;3396:12;3360:2;3434:63;3489:7;3480:6;3469:9;3465:22;3434:63;:::i;:::-;3424:73;;3287:220;3215:299;;;;:::o;3520:262::-;3579:6;3628:2;3616:9;3607:7;3603:23;3599:32;3596:2;;;3644:1;3641;3634:12;3596:2;3687:1;3712:53;3757:7;3748:6;3737:9;3733:22;3712:53;:::i;:::-;3702:63;;3658:117;3586:196;;;;:::o;3788:118::-;3875:24;3893:5;3875:24;:::i;:::-;3870:3;3863:37;3853:53;;:::o;3912:109::-;3993:21;4008:5;3993:21;:::i;:::-;3988:3;3981:34;3971:50;;:::o;4027:364::-;4115:3;4143:39;4176:5;4143:39;:::i;:::-;4198:71;4262:6;4257:3;4198:71;:::i;:::-;4191:78;;4278:52;4323:6;4318:3;4311:4;4304:5;4300:16;4278:52;:::i;:::-;4355:29;4377:6;4355:29;:::i;:::-;4350:3;4346:39;4339:46;;4119:272;;;;;:::o;4397:366::-;4539:3;4560:67;4624:2;4619:3;4560:67;:::i;:::-;4553:74;;4636:93;4725:3;4636:93;:::i;:::-;4754:2;4749:3;4745:12;4738:19;;4543:220;;;:::o;4769:366::-;4911:3;4932:67;4996:2;4991:3;4932:67;:::i;:::-;4925:74;;5008:93;5097:3;5008:93;:::i;:::-;5126:2;5121:3;5117:12;5110:19;;4915:220;;;:::o;5141:366::-;5283:3;5304:67;5368:2;5363:3;5304:67;:::i;:::-;5297:74;;5380:93;5469:3;5380:93;:::i;:::-;5498:2;5493:3;5489:12;5482:19;;5287:220;;;:::o;5513:366::-;5655:3;5676:67;5740:2;5735:3;5676:67;:::i;:::-;5669:74;;5752:93;5841:3;5752:93;:::i;:::-;5870:2;5865:3;5861:12;5854:19;;5659:220;;;:::o;5885:366::-;6027:3;6048:67;6112:2;6107:3;6048:67;:::i;:::-;6041:74;;6124:93;6213:3;6124:93;:::i;:::-;6242:2;6237:3;6233:12;6226:19;;6031:220;;;:::o;6257:366::-;6399:3;6420:67;6484:2;6479:3;6420:67;:::i;:::-;6413:74;;6496:93;6585:3;6496:93;:::i;:::-;6614:2;6609:3;6605:12;6598:19;;6403:220;;;:::o;6629:366::-;6771:3;6792:67;6856:2;6851:3;6792:67;:::i;:::-;6785:74;;6868:93;6957:3;6868:93;:::i;:::-;6986:2;6981:3;6977:12;6970:19;;6775:220;;;:::o;7001:366::-;7143:3;7164:67;7228:2;7223:3;7164:67;:::i;:::-;7157:74;;7240:93;7329:3;7240:93;:::i;:::-;7358:2;7353:3;7349:12;7342:19;;7147:220;;;:::o;7373:366::-;7515:3;7536:67;7600:2;7595:3;7536:67;:::i;:::-;7529:74;;7612:93;7701:3;7612:93;:::i;:::-;7730:2;7725:3;7721:12;7714:19;;7519:220;;;:::o;7745:366::-;7887:3;7908:67;7972:2;7967:3;7908:67;:::i;:::-;7901:74;;7984:93;8073:3;7984:93;:::i;:::-;8102:2;8097:3;8093:12;8086:19;;7891:220;;;:::o;8117:366::-;8259:3;8280:67;8344:2;8339:3;8280:67;:::i;:::-;8273:74;;8356:93;8445:3;8356:93;:::i;:::-;8474:2;8469:3;8465:12;8458:19;;8263:220;;;:::o;8489:118::-;8576:24;8594:5;8576:24;:::i;:::-;8571:3;8564:37;8554:53;;:::o;8613:112::-;8696:22;8712:5;8696:22;:::i;:::-;8691:3;8684:35;8674:51;;:::o;8731:222::-;8824:4;8862:2;8851:9;8847:18;8839:26;;8875:71;8943:1;8932:9;8928:17;8919:6;8875:71;:::i;:::-;8829:124;;;;:::o;8959:210::-;9046:4;9084:2;9073:9;9069:18;9061:26;;9097:65;9159:1;9148:9;9144:17;9135:6;9097:65;:::i;:::-;9051:118;;;;:::o;9175:313::-;9288:4;9326:2;9315:9;9311:18;9303:26;;9375:9;9369:4;9365:20;9361:1;9350:9;9346:17;9339:47;9403:78;9476:4;9467:6;9403:78;:::i;:::-;9395:86;;9293:195;;;;:::o;9494:419::-;9660:4;9698:2;9687:9;9683:18;9675:26;;9747:9;9741:4;9737:20;9733:1;9722:9;9718:17;9711:47;9775:131;9901:4;9775:131;:::i;:::-;9767:139;;9665:248;;;:::o;9919:419::-;10085:4;10123:2;10112:9;10108:18;10100:26;;10172:9;10166:4;10162:20;10158:1;10147:9;10143:17;10136:47;10200:131;10326:4;10200:131;:::i;:::-;10192:139;;10090:248;;;:::o;10344:419::-;10510:4;10548:2;10537:9;10533:18;10525:26;;10597:9;10591:4;10587:20;10583:1;10572:9;10568:17;10561:47;10625:131;10751:4;10625:131;:::i;:::-;10617:139;;10515:248;;;:::o;10769:419::-;10935:4;10973:2;10962:9;10958:18;10950:26;;11022:9;11016:4;11012:20;11008:1;10997:9;10993:17;10986:47;11050:131;11176:4;11050:131;:::i;:::-;11042:139;;10940:248;;;:::o;11194:419::-;11360:4;11398:2;11387:9;11383:18;11375:26;;11447:9;11441:4;11437:20;11433:1;11422:9;11418:17;11411:47;11475:131;11601:4;11475:131;:::i;:::-;11467:139;;11365:248;;;:::o;11619:419::-;11785:4;11823:2;11812:9;11808:18;11800:26;;11872:9;11866:4;11862:20;11858:1;11847:9;11843:17;11836:47;11900:131;12026:4;11900:131;:::i;:::-;11892:139;;11790:248;;;:::o;12044:419::-;12210:4;12248:2;12237:9;12233:18;12225:26;;12297:9;12291:4;12287:20;12283:1;12272:9;12268:17;12261:47;12325:131;12451:4;12325:131;:::i;:::-;12317:139;;12215:248;;;:::o;12469:419::-;12635:4;12673:2;12662:9;12658:18;12650:26;;12722:9;12716:4;12712:20;12708:1;12697:9;12693:17;12686:47;12750:131;12876:4;12750:131;:::i;:::-;12742:139;;12640:248;;;:::o;12894:419::-;13060:4;13098:2;13087:9;13083:18;13075:26;;13147:9;13141:4;13137:20;13133:1;13122:9;13118:17;13111:47;13175:131;13301:4;13175:131;:::i;:::-;13167:139;;13065:248;;;:::o;13319:419::-;13485:4;13523:2;13512:9;13508:18;13500:26;;13572:9;13566:4;13562:20;13558:1;13547:9;13543:17;13536:47;13600:131;13726:4;13600:131;:::i;:::-;13592:139;;13490:248;;;:::o;13744:419::-;13910:4;13948:2;13937:9;13933:18;13925:26;;13997:9;13991:4;13987:20;13983:1;13972:9;13968:17;13961:47;14025:131;14151:4;14025:131;:::i;:::-;14017:139;;13915:248;;;:::o;14169:222::-;14262:4;14300:2;14289:9;14285:18;14277:26;;14313:71;14381:1;14370:9;14366:17;14357:6;14313:71;:::i;:::-;14267:124;;;;:::o;14397:214::-;14486:4;14524:2;14513:9;14509:18;14501:26;;14537:67;14601:1;14590:9;14586:17;14577:6;14537:67;:::i;:::-;14491:120;;;;:::o;14617:129::-;14651:6;14678:20;;:::i;:::-;14668:30;;14707:33;14735:4;14727:6;14707:33;:::i;:::-;14658:88;;;:::o;14752:75::-;14785:6;14818:2;14812:9;14802:19;;14792:35;:::o;14833:308::-;14895:4;14985:18;14977:6;14974:30;14971:2;;;15007:18;;:::i;:::-;14971:2;15045:29;15067:6;15045:29;:::i;:::-;15037:37;;15129:4;15123;15119:15;15111:23;;14900:241;;;:::o;15147:99::-;15199:6;15233:5;15227:12;15217:22;;15206:40;;;:::o;15252:169::-;15336:11;15370:6;15365:3;15358:19;15410:4;15405:3;15401:14;15386:29;;15348:73;;;;:::o;15427:305::-;15467:3;15486:20;15504:1;15486:20;:::i;:::-;15481:25;;15520:20;15538:1;15520:20;:::i;:::-;15515:25;;15674:1;15606:66;15602:74;15599:1;15596:81;15593:2;;;15680:18;;:::i;:::-;15593:2;15724:1;15721;15717:9;15710:16;;15471:261;;;;:::o;15738:348::-;15778:7;15801:20;15819:1;15801:20;:::i;:::-;15796:25;;15835:20;15853:1;15835:20;:::i;:::-;15830:25;;16023:1;15955:66;15951:74;15948:1;15945:81;15940:1;15933:9;15926:17;15922:105;15919:2;;;16030:18;;:::i;:::-;15919:2;16078:1;16075;16071:9;16060:20;;15786:300;;;;:::o;16092:191::-;16132:4;16152:20;16170:1;16152:20;:::i;:::-;16147:25;;16186:20;16204:1;16186:20;:::i;:::-;16181:25;;16225:1;16222;16219:8;16216:2;;;16230:18;;:::i;:::-;16216:2;16275:1;16272;16268:9;16260:17;;16137:146;;;;:::o;16289:96::-;16326:7;16355:24;16373:5;16355:24;:::i;:::-;16344:35;;16334:51;;;:::o;16391:90::-;16425:7;16468:5;16461:13;16454:21;16443:32;;16433:48;;;:::o;16487:126::-;16524:7;16564:42;16557:5;16553:54;16542:65;;16532:81;;;:::o;16619:77::-;16656:7;16685:5;16674:16;;16664:32;;;:::o;16702:86::-;16737:7;16777:4;16770:5;16766:16;16755:27;;16745:43;;;:::o;16794:154::-;16878:6;16873:3;16868;16855:30;16940:1;16931:6;16926:3;16922:16;16915:27;16845:103;;;:::o;16954:307::-;17022:1;17032:113;17046:6;17043:1;17040:13;17032:113;;;17131:1;17126:3;17122:11;17116:18;17112:1;17107:3;17103:11;17096:39;17068:2;17065:1;17061:10;17056:15;;17032:113;;;17163:6;17160:1;17157:13;17154:2;;;17243:1;17234:6;17229:3;17225:16;17218:27;17154:2;17003:258;;;;:::o;17267:320::-;17311:6;17348:1;17342:4;17338:12;17328:22;;17395:1;17389:4;17385:12;17416:18;17406:2;;17472:4;17464:6;17460:17;17450:27;;17406:2;17534;17526:6;17523:14;17503:18;17500:38;17497:2;;;17553:18;;:::i;:::-;17497:2;17318:269;;;;:::o;17593:281::-;17676:27;17698:4;17676:27;:::i;:::-;17668:6;17664:40;17806:6;17794:10;17791:22;17770:18;17758:10;17755:34;17752:62;17749:2;;;17817:18;;:::i;:::-;17749:2;17857:10;17853:2;17846:22;17636:238;;;:::o;17880:180::-;17928:77;17925:1;17918:88;18025:4;18022:1;18015:15;18049:4;18046:1;18039:15;18066:180;18114:77;18111:1;18104:88;18211:4;18208:1;18201:15;18235:4;18232:1;18225:15;18252:180;18300:77;18297:1;18290:88;18397:4;18394:1;18387:15;18421:4;18418:1;18411:15;18438:102;18479:6;18530:2;18526:7;18521:2;18514:5;18510:14;18506:28;18496:38;;18486:54;;;:::o;18546:222::-;18686:34;18682:1;18674:6;18670:14;18663:58;18755:5;18750:2;18742:6;18738:15;18731:30;18652:116;:::o;18774:221::-;18914:34;18910:1;18902:6;18898:14;18891:58;18983:4;18978:2;18970:6;18966:15;18959:29;18880:115;:::o;19001:225::-;19141:34;19137:1;19129:6;19125:14;19118:58;19210:8;19205:2;19197:6;19193:15;19186:33;19107:119;:::o;19232:169::-;19372:21;19368:1;19360:6;19356:14;19349:45;19338:63;:::o;19407:227::-;19547:34;19543:1;19535:6;19531:14;19524:58;19616:10;19611:2;19603:6;19599:15;19592:35;19513:121;:::o;19640:223::-;19780:34;19776:1;19768:6;19764:14;19757:58;19849:6;19844:2;19836:6;19832:15;19825:31;19746:117;:::o;19869:227::-;20009:34;20005:1;19997:6;19993:14;19986:58;20078:10;20073:2;20065:6;20061:15;20054:35;19975:121;:::o;20102:182::-;20242:34;20238:1;20230:6;20226:14;20219:58;20208:76;:::o;20290:224::-;20430:34;20426:1;20418:6;20414:14;20407:58;20499:7;20494:2;20486:6;20482:15;20475:32;20396:118;:::o;20520:223::-;20660:34;20656:1;20648:6;20644:14;20637:58;20729:6;20724:2;20716:6;20712:15;20705:31;20626:117;:::o;20749:224::-;20889:34;20885:1;20877:6;20873:14;20866:58;20958:7;20953:2;20945:6;20941:15;20934:32;20855:118;:::o;20979:122::-;21052:24;21070:5;21052:24;:::i;:::-;21045:5;21042:35;21032:2;;21091:1;21088;21081:12;21032:2;21022:79;:::o;21107:116::-;21177:21;21192:5;21177:21;:::i;:::-;21170:5;21167:32;21157:2;;21213:1;21210;21203:12;21157:2;21147:76;:::o;21229:122::-;21302:24;21320:5;21302:24;:::i;:::-;21295:5;21292:35;21282:2;;21341:1;21338;21331:12;21282:2;21272:79;:::o
Swarm Source
ipfs://b298bd124a879988c474ebe7ba40f1ae132a522bac4c21ed78b22ca6980a1019
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.