ERC-20
Overview
Max Total Supply
45,000,000 MILO
Holders
13
Market
Price
$0.00 @ 0.000000 APE
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
6,798,988.575098201290882128 MILOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Milo
Compiler Version
v0.8.28+commit.7893614a
Contract Source Code (Solidity)
/** *Submitted for verification at apescan.io on 2024-10-27 */ /** *Submitted for verification at Etherscan.io on 2021-02-26 */ /** *Submitted for verification at Etherscan.io on 2019-08-02 */ // SPDX-License-Identifier: UNLICENSE // File: contracts\open-zeppelin-contracts\token\ERC20\IERC20.sol pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see `ERC20Detailed`. */ 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. * * > 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); } // File: contracts\open-zeppelin-contracts\math\SafeMath.sol /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } } // File: contracts\open-zeppelin-contracts\token\ERC20\ERC20.sol /** * @dev Implementation of the `IERC20` interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using `_mint`. * For a generic mechanism see `ERC20Mintable`. * * *For a detailed writeup see our guide [How to implement supply * mechanisms](https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226).* * * We have followed general OpenZeppelin guidelines: functions revert instead * of returning `false` on failure. This behavior is nonetheless conventional * and does not conflict with the expectations of ERC20 applications. * * Additionally, an `Approval` event is emitted on calls to `transferFrom`. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard `decreaseAllowance` and `increaseAllowance` * functions have been added to mitigate the well-known issues around setting * allowances. See `IERC20.approve`. */ contract ERC20 is IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; /** * @dev See `IERC20.totalSupply`. */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @dev See `IERC20.balanceOf`. */ function balanceOf(address account) public view 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 returns (bool) { _transfer(msg.sender, recipient, amount); return true; } /** * @dev See `IERC20.allowance`. */ function allowance(address owner, address spender) public view returns (uint256) { return _allowances[owner][spender]; } /** * @dev See `IERC20.approve`. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 value) public returns (bool) { _approve(msg.sender, spender, value); 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 `value`. * - the caller must have allowance for `sender`'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(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 returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].add(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 returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(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 { 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); _balances[recipient] = _balances[recipient].add(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 { 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); } /** * @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 value) internal { require(account != address(0), "ERC20: burn from the zero address"); _totalSupply = _totalSupply.sub(value); _balances[account] = _balances[account].sub(value); emit Transfer(account, address(0), value); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens. * * This is 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 value) internal { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = value; emit Approval(owner, spender, value); } /** * @dev Destoys `amount` tokens from `account`.`amount` is then deducted * from the caller's allowance. * * See `_burn` and `_approve`. */ function _burnFrom(address account, uint256 amount) internal { _burn(account, amount); _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount)); } } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } contract Ownable is Context { address private _owner; address private _previousOwner; uint256 private _lockTime; event OwnershipTransferred( address indexed previousOwner, address indexed newOwnr ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwnr) public virtual onlyOwner { require( newOwnr != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwnr); _owner = newOwnr; } } contract Milo is ERC20, Ownable { string private _name; string private _symbol; uint8 private _decimals; constructor( uint256 totalSupply) { _name = "Milo"; _symbol = "MILO"; _decimals = 18; _mint(msg.sender, totalSupply); } /** * @dev Burns a specific amount of tokens. * @param value The amount of lowest token units to be burned. */ function burn(uint256 value) public { _burn(msg.sender, value); } function name() public view returns (string memory) { return _name; } /** * @return the symbol of the token. */ function symbol() public view returns (string memory) { return _symbol; } /** * @return the number of decimals of the token. */ function decimals() public view returns (uint8) { return _decimals; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"totalSupply","type":"uint256"}],"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":"newOwnr","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":"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":"value","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":"uint256","name":"value","type":"uint256"}],"name":"burn","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":"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":[],"name":"renounceOwnership","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"},{"inputs":[{"internalType":"address","name":"newOwnr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561000f575f5ffd5b506040516121f23803806121f2833981810160405281019061003191906103b4565b5f61004061019860201b60201c565b90508060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600481526020017f4d696c6f00000000000000000000000000000000000000000000000000000000815250600690816101219190610613565b506040518060400160405280600481526020017f4d494c4f00000000000000000000000000000000000000000000000000000000815250600790816101669190610613565b50601260085f6101000a81548160ff021916908360ff160217905550610192338261019f60201b60201c565b5061084a565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361020d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102049061073c565b60405180910390fd5b6102228160025461032060201b90919060201c565b600281905550610277815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461032060201b90919060201c565b5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516103149190610769565b60405180910390a35050565b5f5f828461032e91906107af565b905083811015610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036a9061082c565b60405180910390fd5b8091505092915050565b5f5ffd5b5f819050919050565b61039381610381565b811461039d575f5ffd5b50565b5f815190506103ae8161038a565b92915050565b5f602082840312156103c9576103c861037d565b5b5f6103d6848285016103a0565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061045a57607f821691505b60208210810361046d5761046c610416565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610494565b6104d98683610494565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61051461050f61050a84610381565b6104f1565b610381565b9050919050565b5f819050919050565b61052d836104fa565b6105416105398261051b565b8484546104a0565b825550505050565b5f5f905090565b610558610549565b610563818484610524565b505050565b5b818110156105865761057b5f82610550565b600181019050610569565b5050565b601f8211156105cb5761059c81610473565b6105a584610485565b810160208510156105b4578190505b6105c86105c085610485565b830182610568565b50505b505050565b5f82821c905092915050565b5f6105eb5f19846008026105d0565b1980831691505092915050565b5f61060383836105dc565b9150826002028217905092915050565b61061c826103df565b67ffffffffffffffff811115610635576106346103e9565b5b61063f8254610443565b61064a82828561058a565b5f60209050601f83116001811461067b575f8415610669578287015190505b61067385826105f8565b8655506106da565b601f19841661068986610473565b5f5b828110156106b05784890151825560018201915060208501945060208101905061068b565b868310156106cd57848901516106c9601f8916826105dc565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f610726601f836106e2565b9150610731826106f2565b602082019050919050565b5f6020820190508181035f8301526107538161071a565b9050919050565b61076381610381565b82525050565b5f60208201905061077c5f83018461075a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6107b982610381565b91506107c483610381565b92508282019050808211156107dc576107db610782565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f610816601b836106e2565b9150610821826107e2565b602082019050919050565b5f6020820190508181035f8301526108438161080a565b9050919050565b61199b806108575f395ff3fe608060405234801561000f575f5ffd5b50600436106100f3575f3560e01c806370a0823111610095578063a457c2d711610064578063a457c2d714610273578063a9059cbb146102a3578063dd62ed3e146102d3578063f2fde38b14610303576100f3565b806370a08231146101fd578063715018a61461022d5780638da5cb5b1461023757806395d89b4114610255576100f3565b806323b872dd116100d157806323b872dd14610163578063313ce5671461019357806339509351146101b157806342966c68146101e1576100f3565b806306fdde03146100f7578063095ea7b31461011557806318160ddd14610145575b5f5ffd5b6100ff61031f565b60405161010c919061115f565b60405180910390f35b61012f600480360381019061012a9190611210565b6103af565b60405161013c9190611268565b60405180910390f35b61014d6103c5565b60405161015a9190611290565b60405180910390f35b61017d600480360381019061017891906112a9565b6103ce565b60405161018a9190611268565b60405180910390f35b61019b61047a565b6040516101a89190611314565b60405180910390f35b6101cb60048036038101906101c69190611210565b61048f565b6040516101d89190611268565b60405180910390f35b6101fb60048036038101906101f6919061132d565b61052f565b005b61021760048036038101906102129190611358565b61053c565b6040516102249190611290565b60405180910390f35b610235610581565b005b61023f6106d4565b60405161024c9190611392565b60405180910390f35b61025d6106fc565b60405161026a919061115f565b60405180910390f35b61028d60048036038101906102889190611210565b61078c565b60405161029a9190611268565b60405180910390f35b6102bd60048036038101906102b89190611210565b61082c565b6040516102ca9190611268565b60405180910390f35b6102ed60048036038101906102e891906113ab565b610842565b6040516102fa9190611290565b60405180910390f35b61031d60048036038101906103189190611358565b6108c4565b005b60606006805461032e90611416565b80601f016020809104026020016040519081016040528092919081815260200182805461035a90611416565b80156103a55780601f1061037c576101008083540402835291602001916103a5565b820191905f5260205f20905b81548152906001019060200180831161038857829003601f168201915b5050505050905090565b5f6103bb338484610a86565b6001905092915050565b5f600254905090565b5f6103da848484610c49565b61046f843361046a8560015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ead90919063ffffffff16565b610a86565b600190509392505050565b5f60085f9054906101000a900460ff16905090565b5f61052533846105208560015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f0a90919063ffffffff16565b610a86565b6001905092915050565b6105393382610f67565b50565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105896110e8565b73ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060e90611490565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606007805461070b90611416565b80601f016020809104026020016040519081016040528092919081815260200182805461073790611416565b80156107825780601f1061075957610100808354040283529160200191610782565b820191905f5260205f20905b81548152906001019060200180831161076557829003601f168201915b5050505050905090565b5f610822338461081d8560015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ead90919063ffffffff16565b610a86565b6001905092915050565b5f610838338484610c49565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6108cc6110e8565b73ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190611490565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf9061151e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aeb906115ac565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b599061163a565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c3c9190611290565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cae906116c8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c90611756565b60405180910390fd5b610d74815f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ead90919063ffffffff16565b5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610e03815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f0a90919063ffffffff16565b5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ea09190611290565b60405180910390a3505050565b5f82821115610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee8906117be565b60405180910390fd5b5f8284610efe9190611809565b90508091505092915050565b5f5f8284610f18919061183c565b905083811015610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f54906118b9565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc90611947565b60405180910390fd5b610fea81600254610ead90919063ffffffff16565b60028190555061103f815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ead90919063ffffffff16565b5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110dc9190611290565b60405180910390a35050565b5f33905090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611131826110ef565b61113b81856110f9565b935061114b818560208601611109565b61115481611117565b840191505092915050565b5f6020820190508181035f8301526111778184611127565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6111ac82611183565b9050919050565b6111bc816111a2565b81146111c6575f5ffd5b50565b5f813590506111d7816111b3565b92915050565b5f819050919050565b6111ef816111dd565b81146111f9575f5ffd5b50565b5f8135905061120a816111e6565b92915050565b5f5f604083850312156112265761122561117f565b5b5f611233858286016111c9565b9250506020611244858286016111fc565b9150509250929050565b5f8115159050919050565b6112628161124e565b82525050565b5f60208201905061127b5f830184611259565b92915050565b61128a816111dd565b82525050565b5f6020820190506112a35f830184611281565b92915050565b5f5f5f606084860312156112c0576112bf61117f565b5b5f6112cd868287016111c9565b93505060206112de868287016111c9565b92505060406112ef868287016111fc565b9150509250925092565b5f60ff82169050919050565b61130e816112f9565b82525050565b5f6020820190506113275f830184611305565b92915050565b5f602082840312156113425761134161117f565b5b5f61134f848285016111fc565b91505092915050565b5f6020828403121561136d5761136c61117f565b5b5f61137a848285016111c9565b91505092915050565b61138c816111a2565b82525050565b5f6020820190506113a55f830184611383565b92915050565b5f5f604083850312156113c1576113c061117f565b5b5f6113ce858286016111c9565b92505060206113df858286016111c9565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061142d57607f821691505b6020821081036114405761143f6113e9565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61147a6020836110f9565b915061148582611446565b602082019050919050565b5f6020820190508181035f8301526114a78161146e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6115086026836110f9565b9150611513826114ae565b604082019050919050565b5f6020820190508181035f830152611535816114fc565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6115966024836110f9565b91506115a18261153c565b604082019050919050565b5f6020820190508181035f8301526115c38161158a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6116246022836110f9565b915061162f826115ca565b604082019050919050565b5f6020820190508181035f83015261165181611618565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6116b26025836110f9565b91506116bd82611658565b604082019050919050565b5f6020820190508181035f8301526116df816116a6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6117406023836110f9565b915061174b826116e6565b604082019050919050565b5f6020820190508181035f83015261176d81611734565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f6117a8601e836110f9565b91506117b382611774565b602082019050919050565b5f6020820190508181035f8301526117d58161179c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611813826111dd565b915061181e836111dd565b9250828203905081811115611836576118356117dc565b5b92915050565b5f611846826111dd565b9150611851836111dd565b9250828201905080821115611869576118686117dc565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6118a3601b836110f9565b91506118ae8261186f565b602082019050919050565b5f6020820190508181035f8301526118d081611897565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6119316021836110f9565b915061193c826118d7565b604082019050919050565b5f6020820190508181035f83015261195e81611925565b905091905056fea2646970667358221220e1db9091e2b231addbef8224074d6f3ffeb30fd3460f1052cf5d0eb16385f83464736f6c634300081c00330000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Deployed Bytecode
0x608060405234801561000f575f5ffd5b50600436106100f3575f3560e01c806370a0823111610095578063a457c2d711610064578063a457c2d714610273578063a9059cbb146102a3578063dd62ed3e146102d3578063f2fde38b14610303576100f3565b806370a08231146101fd578063715018a61461022d5780638da5cb5b1461023757806395d89b4114610255576100f3565b806323b872dd116100d157806323b872dd14610163578063313ce5671461019357806339509351146101b157806342966c68146101e1576100f3565b806306fdde03146100f7578063095ea7b31461011557806318160ddd14610145575b5f5ffd5b6100ff61031f565b60405161010c919061115f565b60405180910390f35b61012f600480360381019061012a9190611210565b6103af565b60405161013c9190611268565b60405180910390f35b61014d6103c5565b60405161015a9190611290565b60405180910390f35b61017d600480360381019061017891906112a9565b6103ce565b60405161018a9190611268565b60405180910390f35b61019b61047a565b6040516101a89190611314565b60405180910390f35b6101cb60048036038101906101c69190611210565b61048f565b6040516101d89190611268565b60405180910390f35b6101fb60048036038101906101f6919061132d565b61052f565b005b61021760048036038101906102129190611358565b61053c565b6040516102249190611290565b60405180910390f35b610235610581565b005b61023f6106d4565b60405161024c9190611392565b60405180910390f35b61025d6106fc565b60405161026a919061115f565b60405180910390f35b61028d60048036038101906102889190611210565b61078c565b60405161029a9190611268565b60405180910390f35b6102bd60048036038101906102b89190611210565b61082c565b6040516102ca9190611268565b60405180910390f35b6102ed60048036038101906102e891906113ab565b610842565b6040516102fa9190611290565b60405180910390f35b61031d60048036038101906103189190611358565b6108c4565b005b60606006805461032e90611416565b80601f016020809104026020016040519081016040528092919081815260200182805461035a90611416565b80156103a55780601f1061037c576101008083540402835291602001916103a5565b820191905f5260205f20905b81548152906001019060200180831161038857829003601f168201915b5050505050905090565b5f6103bb338484610a86565b6001905092915050565b5f600254905090565b5f6103da848484610c49565b61046f843361046a8560015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ead90919063ffffffff16565b610a86565b600190509392505050565b5f60085f9054906101000a900460ff16905090565b5f61052533846105208560015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f0a90919063ffffffff16565b610a86565b6001905092915050565b6105393382610f67565b50565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105896110e8565b73ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060e90611490565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606007805461070b90611416565b80601f016020809104026020016040519081016040528092919081815260200182805461073790611416565b80156107825780601f1061075957610100808354040283529160200191610782565b820191905f5260205f20905b81548152906001019060200180831161076557829003601f168201915b5050505050905090565b5f610822338461081d8560015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ead90919063ffffffff16565b610a86565b6001905092915050565b5f610838338484610c49565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6108cc6110e8565b73ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190611490565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf9061151e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610af4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aeb906115ac565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b599061163a565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c3c9190611290565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cae906116c8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c90611756565b60405180910390fd5b610d74815f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ead90919063ffffffff16565b5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610e03815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f0a90919063ffffffff16565b5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ea09190611290565b60405180910390a3505050565b5f82821115610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee8906117be565b60405180910390fd5b5f8284610efe9190611809565b90508091505092915050565b5f5f8284610f18919061183c565b905083811015610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f54906118b9565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcc90611947565b60405180910390fd5b610fea81600254610ead90919063ffffffff16565b60028190555061103f815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ead90919063ffffffff16565b5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110dc9190611290565b60405180910390a35050565b5f33905090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611131826110ef565b61113b81856110f9565b935061114b818560208601611109565b61115481611117565b840191505092915050565b5f6020820190508181035f8301526111778184611127565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6111ac82611183565b9050919050565b6111bc816111a2565b81146111c6575f5ffd5b50565b5f813590506111d7816111b3565b92915050565b5f819050919050565b6111ef816111dd565b81146111f9575f5ffd5b50565b5f8135905061120a816111e6565b92915050565b5f5f604083850312156112265761122561117f565b5b5f611233858286016111c9565b9250506020611244858286016111fc565b9150509250929050565b5f8115159050919050565b6112628161124e565b82525050565b5f60208201905061127b5f830184611259565b92915050565b61128a816111dd565b82525050565b5f6020820190506112a35f830184611281565b92915050565b5f5f5f606084860312156112c0576112bf61117f565b5b5f6112cd868287016111c9565b93505060206112de868287016111c9565b92505060406112ef868287016111fc565b9150509250925092565b5f60ff82169050919050565b61130e816112f9565b82525050565b5f6020820190506113275f830184611305565b92915050565b5f602082840312156113425761134161117f565b5b5f61134f848285016111fc565b91505092915050565b5f6020828403121561136d5761136c61117f565b5b5f61137a848285016111c9565b91505092915050565b61138c816111a2565b82525050565b5f6020820190506113a55f830184611383565b92915050565b5f5f604083850312156113c1576113c061117f565b5b5f6113ce858286016111c9565b92505060206113df858286016111c9565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061142d57607f821691505b6020821081036114405761143f6113e9565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61147a6020836110f9565b915061148582611446565b602082019050919050565b5f6020820190508181035f8301526114a78161146e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6115086026836110f9565b9150611513826114ae565b604082019050919050565b5f6020820190508181035f830152611535816114fc565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6115966024836110f9565b91506115a18261153c565b604082019050919050565b5f6020820190508181035f8301526115c38161158a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6116246022836110f9565b915061162f826115ca565b604082019050919050565b5f6020820190508181035f83015261165181611618565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6116b26025836110f9565b91506116bd82611658565b604082019050919050565b5f6020820190508181035f8301526116df816116a6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6117406023836110f9565b915061174b826116e6565b604082019050919050565b5f6020820190508181035f83015261176d81611734565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f6117a8601e836110f9565b91506117b382611774565b602082019050919050565b5f6020820190508181035f8301526117d58161179c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611813826111dd565b915061181e836111dd565b9250828203905081811115611836576118356117dc565b5b92915050565b5f611846826111dd565b9150611851836111dd565b9250828201905080821115611869576118686117dc565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6118a3601b836110f9565b91506118ae8261186f565b602082019050919050565b5f6020820190508181035f8301526118d081611897565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6119316021836110f9565b915061193c826118d7565b604082019050919050565b5f6020820190508181035f83015261195e81611925565b905091905056fea2646970667358221220e1db9091e2b231addbef8224074d6f3ffeb30fd3460f1052cf5d0eb16385f83464736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
-----Decoded View---------------
Arg [0] : totalSupply (uint256): 1000000000000000000000000000
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000
Deployed Bytecode Sourcemap
16112:918:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16634:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9253:148;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8276:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9872:256;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16946:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10537:206;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16543:77;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8430:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15666:148;;;:::i;:::-;;15452:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16782:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11246:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8753:156;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8972:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15822:277;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16634:81;16671:13;16702:5;16695:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16634:81;:::o;9253:148::-;9318:4;9335:36;9344:10;9356:7;9365:5;9335:8;:36::i;:::-;9389:4;9382:11;;9253:148;;;;:::o;8276:91::-;8320:7;8347:12;;8340:19;;8276:91;:::o;9872:256::-;9961:4;9978:36;9988:6;9996:9;10007:6;9978:9;:36::i;:::-;10025:73;10034:6;10042:10;10054:43;10090:6;10054:11;:19;10066:6;10054:19;;;;;;;;;;;;;;;:31;10074:10;10054:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;10025:8;:73::i;:::-;10116:4;10109:11;;9872:256;;;;;:::o;16946:81::-;16987:5;17010:9;;;;;;;;;;;17003:16;;16946:81;:::o;10537:206::-;10617:4;10634:79;10643:10;10655:7;10664:48;10701:10;10664:11;:23;10676:10;10664:23;;;;;;;;;;;;;;;:32;10688:7;10664:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;10634:8;:79::i;:::-;10731:4;10724:11;;10537:206;;;;:::o;16543:77::-;16588:24;16594:10;16606:5;16588;:24::i;:::-;16543:77;:::o;8430:110::-;8487:7;8514:9;:18;8524:7;8514:18;;;;;;;;;;;;;;;;8507:25;;8430:110;;;:::o;15666:148::-;15589:12;:10;:12::i;:::-;15579:22;;:6;;;;;;;;;;;:22;;;15571:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15773:1:::1;15736:40;;15757:6;;;;;;;;;;;15736:40;;;;;;;;;;;;15804:1;15787:6;;:19;;;;;;;;;;;;;;;;;;15666:148::o:0;15452:79::-;15490:7;15517:6;;;;;;;;;;;15510:13;;15452:79;:::o;16782:85::-;16821:13;16852:7;16845:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16782:85;:::o;11246:216::-;11331:4;11348:84;11357:10;11369:7;11378:53;11415:15;11378:11;:23;11390:10;11378:23;;;;;;;;;;;;;;;:32;11402:7;11378:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;11348:8;:84::i;:::-;11450:4;11443:11;;11246:216;;;;:::o;8753:156::-;8822:4;8839:40;8849:10;8861:9;8872:6;8839:9;:40::i;:::-;8897:4;8890:11;;8753:156;;;;:::o;8972:134::-;9044:7;9071:11;:18;9083:5;9071:18;;;;;;;;;;;;;;;:27;9090:7;9071:27;;;;;;;;;;;;;;;;9064:34;;8972:134;;;;:::o;15822:277::-;15589:12;:10;:12::i;:::-;15579:22;;:6;;;;;;;;;;;:22;;;15571:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15943:1:::1;15924:21;;:7;:21;;::::0;15902:109:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;16056:7;16027:37;;16048:6;;;;;;;;;;;16027:37;;;;;;;;;;;;16084:7;16075:6;;:16;;;;;;;;;;;;;;;;;;15822:277:::0;:::o;14049:335::-;14159:1;14142:19;;:5;:19;;;14134:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14240:1;14221:21;;:7;:21;;;14213:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14324:5;14294:11;:18;14306:5;14294:18;;;;;;;;;;;;;;;:27;14313:7;14294:27;;;;;;;;;;;;;;;:35;;;;14361:7;14345:31;;14354:5;14345:31;;;14370:5;14345:31;;;;;;:::i;:::-;;;;;;;;14049:335;;;:::o;11952:429::-;12068:1;12050:20;;:6;:20;;;12042:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12152:1;12131:23;;:9;:23;;;12123:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12227:29;12249:6;12227:9;:17;12237:6;12227:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;12207:9;:17;12217:6;12207:17;;;;;;;;;;;;;;;:49;;;;12290:32;12315:6;12290:9;:20;12300:9;12290:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;12267:9;:20;12277:9;12267:20;;;;;;;;;;;;;;;:55;;;;12355:9;12338:35;;12347:6;12338:35;;;12366:6;12338:35;;;;;;:::i;:::-;;;;;;;;11952:429;;;:::o;4414:184::-;4472:7;4505:1;4500;:6;;4492:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;4552:9;4568:1;4564;:5;;;;:::i;:::-;4552:17;;4589:1;4582:8;;;4414:184;;;;:::o;3958:181::-;4016:7;4036:9;4052:1;4048;:5;;;;:::i;:::-;4036:17;;4077:1;4072;:6;;4064:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4130:1;4123:8;;;3958:181;;;;:::o;13303:306::-;13397:1;13378:21;;:7;:21;;;13370:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13465:23;13482:5;13465:12;;:16;;:23;;;;:::i;:::-;13450:12;:38;;;;13520:29;13543:5;13520:9;:18;13530:7;13520:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;13499:9;:18;13509:7;13499:18;;;;;;;;;;;;;;;:50;;;;13591:1;13565:36;;13574:7;13565:36;;;13595:5;13565:36;;;;;;:::i;:::-;;;;;;;;13303:306;;:::o;14795:115::-;14848:15;14891:10;14876:26;;14795:115;:::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;1323:117::-;1432:1;1429;1422: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:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:::-;5140:6;5189:2;5177:9;5168:7;5164:23;5160:32;5157:119;;;5195:79;;:::i;:::-;5157:119;5315:1;5340:53;5385:7;5376:6;5365:9;5361:22;5340:53;:::i;:::-;5330:63;;5286:117;5081:329;;;;:::o;5416:118::-;5503:24;5521:5;5503:24;:::i;:::-;5498:3;5491:37;5416:118;;:::o;5540:222::-;5633:4;5671:2;5660:9;5656:18;5648:26;;5684:71;5752:1;5741:9;5737:17;5728:6;5684:71;:::i;:::-;5540:222;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:180::-;6296:77;6293:1;6286:88;6393:4;6390:1;6383:15;6417:4;6414:1;6407:15;6434:320;6478:6;6515:1;6509:4;6505:12;6495:22;;6562:1;6556:4;6552:12;6583:18;6573:81;;6639:4;6631:6;6627:17;6617:27;;6573:81;6701:2;6693:6;6690:14;6670:18;6667:38;6664:84;;6720:18;;:::i;:::-;6664:84;6485:269;6434:320;;;:::o;6760:182::-;6900:34;6896:1;6888:6;6884:14;6877:58;6760:182;:::o;6948:366::-;7090:3;7111:67;7175:2;7170:3;7111:67;:::i;:::-;7104:74;;7187:93;7276:3;7187:93;:::i;:::-;7305:2;7300:3;7296:12;7289:19;;6948:366;;;:::o;7320:419::-;7486:4;7524:2;7513:9;7509:18;7501:26;;7573:9;7567:4;7563:20;7559:1;7548:9;7544:17;7537:47;7601:131;7727:4;7601:131;:::i;:::-;7593:139;;7320:419;;;:::o;7745:225::-;7885:34;7881:1;7873:6;7869:14;7862:58;7954:8;7949:2;7941:6;7937:15;7930:33;7745:225;:::o;7976:366::-;8118:3;8139:67;8203:2;8198:3;8139:67;:::i;:::-;8132:74;;8215:93;8304:3;8215:93;:::i;:::-;8333:2;8328:3;8324:12;8317:19;;7976:366;;;:::o;8348:419::-;8514:4;8552:2;8541:9;8537:18;8529:26;;8601:9;8595:4;8591:20;8587:1;8576:9;8572:17;8565:47;8629:131;8755:4;8629:131;:::i;:::-;8621:139;;8348:419;;;:::o;8773:223::-;8913:34;8909:1;8901:6;8897:14;8890:58;8982:6;8977:2;8969:6;8965:15;8958:31;8773:223;:::o;9002:366::-;9144:3;9165:67;9229:2;9224:3;9165:67;:::i;:::-;9158:74;;9241:93;9330:3;9241:93;:::i;:::-;9359:2;9354:3;9350:12;9343:19;;9002:366;;;:::o;9374:419::-;9540:4;9578:2;9567:9;9563:18;9555:26;;9627:9;9621:4;9617:20;9613:1;9602:9;9598:17;9591:47;9655:131;9781:4;9655:131;:::i;:::-;9647:139;;9374:419;;;:::o;9799:221::-;9939:34;9935:1;9927:6;9923:14;9916:58;10008:4;10003:2;9995:6;9991:15;9984:29;9799:221;:::o;10026:366::-;10168:3;10189:67;10253:2;10248:3;10189:67;:::i;:::-;10182:74;;10265:93;10354:3;10265:93;:::i;:::-;10383:2;10378:3;10374:12;10367:19;;10026:366;;;:::o;10398:419::-;10564:4;10602:2;10591:9;10587:18;10579:26;;10651:9;10645:4;10641:20;10637:1;10626:9;10622:17;10615:47;10679:131;10805:4;10679:131;:::i;:::-;10671:139;;10398:419;;;:::o;10823:224::-;10963:34;10959:1;10951:6;10947:14;10940:58;11032:7;11027:2;11019:6;11015:15;11008:32;10823:224;:::o;11053:366::-;11195:3;11216:67;11280:2;11275:3;11216:67;:::i;:::-;11209:74;;11292:93;11381:3;11292:93;:::i;:::-;11410:2;11405:3;11401:12;11394:19;;11053:366;;;:::o;11425:419::-;11591:4;11629:2;11618:9;11614:18;11606:26;;11678:9;11672:4;11668:20;11664:1;11653:9;11649:17;11642:47;11706:131;11832:4;11706:131;:::i;:::-;11698:139;;11425:419;;;:::o;11850:222::-;11990:34;11986:1;11978:6;11974:14;11967:58;12059:5;12054:2;12046:6;12042:15;12035:30;11850:222;:::o;12078:366::-;12220:3;12241:67;12305:2;12300:3;12241:67;:::i;:::-;12234:74;;12317:93;12406:3;12317:93;:::i;:::-;12435:2;12430:3;12426:12;12419:19;;12078:366;;;:::o;12450:419::-;12616:4;12654:2;12643:9;12639:18;12631:26;;12703:9;12697:4;12693:20;12689:1;12678:9;12674:17;12667:47;12731:131;12857:4;12731:131;:::i;:::-;12723:139;;12450:419;;;:::o;12875:180::-;13015:32;13011:1;13003:6;12999:14;12992:56;12875:180;:::o;13061:366::-;13203:3;13224:67;13288:2;13283:3;13224:67;:::i;:::-;13217:74;;13300:93;13389:3;13300:93;:::i;:::-;13418:2;13413:3;13409:12;13402:19;;13061:366;;;:::o;13433:419::-;13599:4;13637:2;13626:9;13622:18;13614:26;;13686:9;13680:4;13676:20;13672:1;13661:9;13657:17;13650:47;13714:131;13840:4;13714:131;:::i;:::-;13706:139;;13433:419;;;:::o;13858:180::-;13906:77;13903:1;13896:88;14003:4;14000:1;13993:15;14027:4;14024:1;14017:15;14044:194;14084:4;14104:20;14122:1;14104:20;:::i;:::-;14099:25;;14138:20;14156:1;14138:20;:::i;:::-;14133:25;;14182:1;14179;14175:9;14167:17;;14206:1;14200:4;14197:11;14194:37;;;14211:18;;:::i;:::-;14194:37;14044:194;;;;:::o;14244:191::-;14284:3;14303:20;14321:1;14303:20;:::i;:::-;14298:25;;14337:20;14355:1;14337:20;:::i;:::-;14332:25;;14380:1;14377;14373:9;14366:16;;14401:3;14398:1;14395:10;14392:36;;;14408:18;;:::i;:::-;14392:36;14244:191;;;;:::o;14441:177::-;14581:29;14577:1;14569:6;14565:14;14558:53;14441:177;:::o;14624:366::-;14766:3;14787:67;14851:2;14846:3;14787:67;:::i;:::-;14780:74;;14863:93;14952:3;14863:93;:::i;:::-;14981:2;14976:3;14972:12;14965:19;;14624:366;;;:::o;14996:419::-;15162:4;15200:2;15189:9;15185:18;15177:26;;15249:9;15243:4;15239:20;15235:1;15224:9;15220:17;15213:47;15277:131;15403:4;15277:131;:::i;:::-;15269:139;;14996:419;;;:::o;15421:220::-;15561:34;15557:1;15549:6;15545:14;15538:58;15630:3;15625:2;15617:6;15613:15;15606:28;15421:220;:::o;15647:366::-;15789:3;15810:67;15874:2;15869:3;15810:67;:::i;:::-;15803:74;;15886:93;15975:3;15886:93;:::i;:::-;16004:2;15999:3;15995:12;15988:19;;15647:366;;;:::o;16019:419::-;16185:4;16223:2;16212:9;16208:18;16200:26;;16272:9;16266:4;16262:20;16258:1;16247:9;16243:17;16236:47;16300:131;16426:4;16300:131;:::i;:::-;16292:139;;16019:419;;;:::o
Swarm Source
ipfs://e1db9091e2b231addbef8224074d6f3ffeb30fd3460f1052cf5d0eb16385f834
[ 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.