Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 5 from a total of 5 transactions
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
abcdefg
Compiler Version
v0.8.22+commit.4fc1097e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-01-07 */ // SPDX-License-Identifier: MIT // website: www.test123.com // twitter: @test123 pragma solidity ^0.8.9; interface IERC20 { /** * @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); /** * @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 `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` 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 from, address to, uint256 amount) external returns (bool); } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IERC20Errors { /** * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. * @param balance Current balance for the interacting account. * @param needed Minimum amount required to perform a transfer. */ error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed); /** * @dev Indicates a failure with the token `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. */ error ERC20InvalidSender(address sender); /** * @dev Indicates a failure with the token `receiver`. Used in transfers. * @param receiver Address to which tokens are being transferred. */ error ERC20InvalidReceiver(address receiver); /** * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers. * @param spender Address that may be allowed to operate on tokens without being their owner. * @param allowance Amount of tokens a `spender` is allowed to operate with. * @param needed Minimum amount required to perform a transfer. */ error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed); /** * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals. * @param approver Address initiating an approval operation. */ error ERC20InvalidApprover(address approver); /** * @dev Indicates a failure with the `spender` to be approved. Used in approvals. * @param spender Address that may be allowed to operate on tokens without being their owner. */ error ERC20InvalidSpender(address spender); } abstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors { mapping(address account => uint256) private _balances; mapping(address account => mapping(address spender => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the default value returned by this function, unless * it's overridden. * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `value`. */ function transfer(address to, uint256 value) public virtual returns (bool) { address owner = _msgSender(); _transfer(owner, to, value); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 value) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, 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}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `value`. * - the caller must have allowance for ``from``'s tokens of at least * `value`. */ function transferFrom(address from, address to, uint256 value) public virtual returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, value); _transfer(from, to, value); return true; } /** * @dev Moves a `value` amount of tokens from `from` to `to`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * NOTE: This function is not virtual, {_update} should be overridden instead. */ function _transfer(address from, address to, uint256 value) internal { if (from == address(0)) { revert ERC20InvalidSender(address(0)); } if (to == address(0)) { revert ERC20InvalidReceiver(address(0)); } _update(from, to, value); } /** * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from` * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding * this function. * * Emits a {Transfer} event. */ function _update(address from, address to, uint256 value) internal virtual { if (from == address(0)) { // Overflow check required: The rest of the code assumes that totalSupply never overflows _totalSupply += value; } else { uint256 fromBalance = _balances[from]; if (fromBalance < value) { revert ERC20InsufficientBalance(from, fromBalance, value); } unchecked { // Overflow not possible: value <= fromBalance <= totalSupply. _balances[from] = fromBalance - value; } } if (to == address(0)) { unchecked { // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply. _totalSupply -= value; } } else { unchecked { // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256. _balances[to] += value; } } emit Transfer(from, to, value); } /** * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0). * Relies on the `_update` mechanism * * Emits a {Transfer} event with `from` set to the zero address. * * NOTE: This function is not virtual, {_update} should be overridden instead. */ function _mint(address account, uint256 value) internal { if (account == address(0)) { revert ERC20InvalidReceiver(address(0)); } _update(address(0), account, value); } /** * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply. * Relies on the `_update` mechanism. * * Emits a {Transfer} event with `to` set to the zero address. * * NOTE: This function is not virtual, {_update} should be overridden instead */ function _burn(address account, uint256 value) internal { if (account == address(0)) { revert ERC20InvalidSender(address(0)); } _update(account, address(0), value); } /** * @dev Sets `value` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. * * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument. */ function _approve(address owner, address spender, uint256 value) internal { _approve(owner, spender, value, true); } /** * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event. * * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any * `Approval` event during `transferFrom` operations. * * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to * true using the following override: * ``` * function _approve(address owner, address spender, uint256 value, bool) internal virtual override { * super._approve(owner, spender, value, true); * } * ``` * * Requirements are the same as {_approve}. */ function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual { if (owner == address(0)) { revert ERC20InvalidApprover(address(0)); } if (spender == address(0)) { revert ERC20InvalidSpender(address(0)); } _allowances[owner][spender] = value; if (emitEvent) { emit Approval(owner, spender, value); } } /** * @dev Updates `owner` s allowance for `spender` based on spent `value`. * * Does not update the allowance value in case of infinite allowance. * Revert if not enough allowance is available. * * Does not emit an {Approval} event. */ function _spendAllowance(address owner, address spender, uint256 value) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { if (currentAllowance < value) { revert ERC20InsufficientAllowance(spender, currentAllowance, value); } unchecked { _approve(owner, spender, currentAllowance - value, false); } } } } contract abcdefg is ERC20 { address private _owner; uint256 public INITIAL_PRICE = 0.01 * 10 ** 18; // Initial token price uint256 public TOKEN_PRICE = INITIAL_PRICE; // Current token price uint256 public constant INITIAL_SUPPLY = 100000 * 10 ** 18; // Total initial supply uint256 public constant CREATOR_SUPPLY = INITIAL_SUPPLY * 20 / 100; // 20% of initial supply for the creator uint256 public constant MINTABLE_SUPPLY = INITIAL_SUPPLY - CREATOR_SUPPLY; // Remaining supply that can be minted event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event TokenPriceChanged(uint256 newPrice); modifier onlyOwner() { require(_owner == msg.sender, "Caller is not the owner"); _; } constructor(string memory name, string memory symbol) ERC20(name, symbol) { _mint(msg.sender, CREATOR_SUPPLY); // Mint initial supply for the creator _owner = msg.sender; emit OwnershipTransferred(address(0), msg.sender); } function buyToken() public payable { require(msg.value >= TOKEN_PRICE, "Insufficient ETH sent"); uint256 tokensToBuy = msg.value / TOKEN_PRICE; // Ensure we are not exceeding the mintable supply require(totalSupply() + (tokensToBuy * 10 ** uint256(decimals())) <= MINTABLE_SUPPLY, "Maximum supply exceeded"); // Mint the tokens that can be bought with the provided ETH _mint(msg.sender, tokensToBuy * 10 ** uint256(decimals())); } function setTokenPrice(uint256 newPrice) public onlyOwner { TOKEN_PRICE = newPrice; emit TokenPriceChanged(newPrice); } function withdraw() public onlyOwner { uint balance = address(this).balance; payable(owner()).transfer(balance); } function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } receive() external payable { buyToken(); } function owner() public view returns (address) { return _owner; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"TokenPriceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"CREATOR_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INITIAL_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTABLE_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":[],"name":"buyToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"setTokenPrice","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052662386f26fc1000060065560065460075534801562000021575f80fd5b50604051620024553803806200245583398181016040528101906200004791906200057c565b818181600390816200005a919062000836565b5080600490816200006c919062000836565b505050620000a7336064601469152d02c7e14af68000006200008f919062000947565b6200009b9190620009be565b6200014960201b60201c565b3360055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505062000af4565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620001bc575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620001b3919062000a38565b60405180910390fd5b620001cf5f8383620001d360201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000227578060025f8282546200021a919062000a53565b92505081905550620002f8565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015620002b3578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620002aa9392919062000a9e565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000341578060025f82825403925050819055506200038b565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003ea919062000ad9565b60405180910390a3505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620004588262000410565b810181811067ffffffffffffffff821117156200047a576200047962000420565b5b80604052505050565b5f6200048e620003f7565b90506200049c82826200044d565b919050565b5f67ffffffffffffffff821115620004be57620004bd62000420565b5b620004c98262000410565b9050602081019050919050565b5f5b83811015620004f5578082015181840152602081019050620004d8565b5f8484015250505050565b5f620005166200051084620004a1565b62000483565b9050828152602081018484840111156200053557620005346200040c565b5b62000542848285620004d6565b509392505050565b5f82601f83011262000561576200056062000408565b5b81516200057384826020860162000500565b91505092915050565b5f806040838503121562000595576200059462000400565b5b5f83015167ffffffffffffffff811115620005b557620005b462000404565b5b620005c3858286016200054a565b925050602083015167ffffffffffffffff811115620005e757620005e662000404565b5b620005f5858286016200054a565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200064e57607f821691505b60208210810362000664576200066362000609565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620006c87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200068b565b620006d486836200068b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200071e620007186200071284620006ec565b620006f5565b620006ec565b9050919050565b5f819050919050565b6200073983620006fe565b62000751620007488262000725565b84845462000697565b825550505050565b5f90565b6200076762000759565b620007748184846200072e565b505050565b5b818110156200079b576200078f5f826200075d565b6001810190506200077a565b5050565b601f821115620007ea57620007b4816200066a565b620007bf846200067c565b81016020851015620007cf578190505b620007e7620007de856200067c565b83018262000779565b50505b505050565b5f82821c905092915050565b5f6200080c5f1984600802620007ef565b1980831691505092915050565b5f620008268383620007fb565b9150826002028217905092915050565b6200084182620005ff565b67ffffffffffffffff8111156200085d576200085c62000420565b5b62000869825462000636565b620008768282856200079f565b5f60209050601f831160018114620008ac575f841562000897578287015190505b620008a3858262000819565b86555062000912565b601f198416620008bc866200066a565b5f5b82811015620008e557848901518255600182019150602085019450602081019050620008be565b8683101562000905578489015162000901601f891682620007fb565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200095382620006ec565b91506200096083620006ec565b92508282026200097081620006ec565b915082820484148315176200098a57620009896200091a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620009ca82620006ec565b9150620009d783620006ec565b925082620009ea57620009e962000991565b5b828204905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000a2082620009f5565b9050919050565b62000a328162000a14565b82525050565b5f60208201905062000a4d5f83018462000a27565b92915050565b5f62000a5f82620006ec565b915062000a6c83620006ec565b925082820190508082111562000a875762000a866200091a565b5b92915050565b62000a9881620006ec565b82525050565b5f60608201905062000ab35f83018662000a27565b62000ac2602083018562000a8d565b62000ad1604083018462000a8d565b949350505050565b5f60208201905062000aee5f83018462000a8d565b92915050565b6119538062000b025f395ff3fe608060405260043610610117575f3560e01c806370a082311161009f578063a482171911610063578063a482171914610382578063a9059cbb1461038c578063d2d8cb67146103c8578063dd62ed3e146103f2578063dfc2c53c1461042e57610126565b806370a08231146102b2578063715018a6146102ee5780637c5e2795146103045780638da5cb5b1461032e57806395d89b411461035857610126565b80632a455d79116100e65780632a455d79146101f65780632ff2e9dc14610220578063313ce5671461024a5780633ccfd60b146102745780636a61e5fc1461028a57610126565b806306fdde031461012a578063095ea7b31461015457806318160ddd1461019057806323b872dd146101ba57610126565b3661012657610124610458565b005b5f80fd5b348015610135575f80fd5b5061013e610589565b60405161014b919061121f565b60405180910390f35b34801561015f575f80fd5b5061017a600480360381019061017591906112d0565b610619565b6040516101879190611328565b60405180910390f35b34801561019b575f80fd5b506101a461063b565b6040516101b19190611350565b60405180910390f35b3480156101c5575f80fd5b506101e060048036038101906101db9190611369565b610644565b6040516101ed9190611328565b60405180910390f35b348015610201575f80fd5b5061020a610672565b6040516102179190611350565b60405180910390f35b34801561022b575f80fd5b50610234610698565b6040516102419190611350565b60405180910390f35b348015610255575f80fd5b5061025e6106a6565b60405161026b91906113d4565b60405180910390f35b34801561027f575f80fd5b506102886106ae565b005b348015610295575f80fd5b506102b060048036038101906102ab91906113ed565b61078f565b005b3480156102bd575f80fd5b506102d860048036038101906102d39190611418565b61085f565b6040516102e59190611350565b60405180910390f35b3480156102f9575f80fd5b506103026108a4565b005b34801561030f575f80fd5b506103186109f0565b6040516103259190611350565b60405180910390f35b348015610339575f80fd5b506103426109f6565b60405161034f9190611452565b60405180910390f35b348015610363575f80fd5b5061036c610a1e565b604051610379919061121f565b60405180910390f35b61038a610458565b005b348015610397575f80fd5b506103b260048036038101906103ad91906112d0565b610aae565b6040516103bf9190611328565b60405180910390f35b3480156103d3575f80fd5b506103dc610ad0565b6040516103e99190611350565b60405180910390f35b3480156103fd575f80fd5b506104186004803603810190610413919061146b565b610ad6565b6040516104259190611350565b60405180910390f35b348015610439575f80fd5b50610442610b58565b60405161044f9190611350565b60405180910390f35b60075434101561049d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610494906114f3565b60405180910390fd5b5f600754346104ac919061156b565b90506064601469152d02c7e14af68000006104c7919061159b565b6104d1919061156b565b69152d02c7e14af68000006104e691906115dc565b6104ee6106a6565b60ff16600a6104fd919061173e565b82610508919061159b565b61051061063b565b61051a9190611788565b111561055b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055290611805565b60405180910390fd5b610586336105676106a6565b60ff16600a610576919061173e565b83610581919061159b565b610b93565b50565b60606003805461059890611850565b80601f01602080910402602001604051908101604052809291908181526020018280546105c490611850565b801561060f5780601f106105e65761010080835404028352916020019161060f565b820191905f5260205f20905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b5f80610623610c12565b9050610630818585610c19565b600191505092915050565b5f600254905090565b5f8061064e610c12565b905061065b858285610c2b565b610666858585610cbd565b60019150509392505050565b6064601469152d02c7e14af680000061068b919061159b565b610695919061156b565b81565b69152d02c7e14af680000081565b5f6012905090565b3373ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461073d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610734906118ca565b60405180910390fd5b5f4790506107496109f6565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561078b573d5f803e3d5ffd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461081e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610815906118ca565b60405180910390fd5b806007819055507fac21bacd333b316c6640fca5086322638b0a7aa4367179afd5dfcbe0a5427bc7816040516108549190611350565b60405180910390a150565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092a906118ca565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610a2d90611850565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5990611850565b8015610aa45780601f10610a7b57610100808354040283529160200191610aa4565b820191905f5260205f20905b815481529060010190602001808311610a8757829003601f168201915b5050505050905090565b5f80610ab8610c12565b9050610ac5818585610cbd565b600191505092915050565b60075481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6064601469152d02c7e14af6800000610b71919061159b565b610b7b919061156b565b69152d02c7e14af6800000610b9091906115dc565b81565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c03575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610bfa9190611452565b60405180910390fd5b610c0e5f8383610dad565b5050565b5f33905090565b610c268383836001610fc6565b505050565b5f610c368484610ad6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610cb75781811015610ca8578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610c9f939291906118e8565b60405180910390fd5b610cb684848484035f610fc6565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d2d575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610d249190611452565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d9d575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610d949190611452565b60405180910390fd5b610da8838383610dad565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dfd578060025f828254610df19190611788565b92505081905550610ecb565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610e86578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610e7d939291906118e8565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f12578060025f8282540392505081905550610f5c565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fb99190611350565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611036575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161102d9190611452565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a6575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161109d9190611452565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561118f578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516111869190611350565b60405180910390a35b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156111cc5780820151818401526020810190506111b1565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6111f182611195565b6111fb818561119f565b935061120b8185602086016111af565b611214816111d7565b840191505092915050565b5f6020820190508181035f83015261123781846111e7565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61126c82611243565b9050919050565b61127c81611262565b8114611286575f80fd5b50565b5f8135905061129781611273565b92915050565b5f819050919050565b6112af8161129d565b81146112b9575f80fd5b50565b5f813590506112ca816112a6565b92915050565b5f80604083850312156112e6576112e561123f565b5b5f6112f385828601611289565b9250506020611304858286016112bc565b9150509250929050565b5f8115159050919050565b6113228161130e565b82525050565b5f60208201905061133b5f830184611319565b92915050565b61134a8161129d565b82525050565b5f6020820190506113635f830184611341565b92915050565b5f805f606084860312156113805761137f61123f565b5b5f61138d86828701611289565b935050602061139e86828701611289565b92505060406113af868287016112bc565b9150509250925092565b5f60ff82169050919050565b6113ce816113b9565b82525050565b5f6020820190506113e75f8301846113c5565b92915050565b5f602082840312156114025761140161123f565b5b5f61140f848285016112bc565b91505092915050565b5f6020828403121561142d5761142c61123f565b5b5f61143a84828501611289565b91505092915050565b61144c81611262565b82525050565b5f6020820190506114655f830184611443565b92915050565b5f80604083850312156114815761148061123f565b5b5f61148e85828601611289565b925050602061149f85828601611289565b9150509250929050565b7f496e73756666696369656e74204554482073656e7400000000000000000000005f82015250565b5f6114dd60158361119f565b91506114e8826114a9565b602082019050919050565b5f6020820190508181035f83015261150a816114d1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6115758261129d565b91506115808361129d565b9250826115905761158f611511565b5b828204905092915050565b5f6115a58261129d565b91506115b08361129d565b92508282026115be8161129d565b915082820484148315176115d5576115d461153e565b5b5092915050565b5f6115e68261129d565b91506115f18361129d565b92508282039050818111156116095761160861153e565b5b92915050565b5f8160011c9050919050565b5f808291508390505b6001851115611664578086048111156116405761163f61153e565b5b600185161561164f5780820291505b808102905061165d8561160f565b9450611624565b94509492505050565b5f8261167c5760019050611737565b81611689575f9050611737565b816001811461169f57600281146116a9576116d8565b6001915050611737565b60ff8411156116bb576116ba61153e565b5b8360020a9150848211156116d2576116d161153e565b5b50611737565b5060208310610133831016604e8410600b841016171561170d5782820a9050838111156117085761170761153e565b5b611737565b61171a848484600161161b565b925090508184048111156117315761173061153e565b5b81810290505b9392505050565b5f6117488261129d565b91506117538361129d565b92506117807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461166d565b905092915050565b5f6117928261129d565b915061179d8361129d565b92508282019050808211156117b5576117b461153e565b5b92915050565b7f4d6178696d756d20737570706c792065786365656465640000000000000000005f82015250565b5f6117ef60178361119f565b91506117fa826117bb565b602082019050919050565b5f6020820190508181035f83015261181c816117e3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061186757607f821691505b60208210810361187a57611879611823565b5b50919050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6118b460178361119f565b91506118bf82611880565b602082019050919050565b5f6020820190508181035f8301526118e1816118a8565b9050919050565b5f6060820190506118fb5f830186611443565b6119086020830185611341565b6119156040830184611341565b94935050505056fea2646970667358221220f20e921ac0db1de8ce375b96f4de59fe9208f57246b66bf6c54752d07679f4bf64736f6c63430008160033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000007616263646566670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076162636465666700000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405260043610610117575f3560e01c806370a082311161009f578063a482171911610063578063a482171914610382578063a9059cbb1461038c578063d2d8cb67146103c8578063dd62ed3e146103f2578063dfc2c53c1461042e57610126565b806370a08231146102b2578063715018a6146102ee5780637c5e2795146103045780638da5cb5b1461032e57806395d89b411461035857610126565b80632a455d79116100e65780632a455d79146101f65780632ff2e9dc14610220578063313ce5671461024a5780633ccfd60b146102745780636a61e5fc1461028a57610126565b806306fdde031461012a578063095ea7b31461015457806318160ddd1461019057806323b872dd146101ba57610126565b3661012657610124610458565b005b5f80fd5b348015610135575f80fd5b5061013e610589565b60405161014b919061121f565b60405180910390f35b34801561015f575f80fd5b5061017a600480360381019061017591906112d0565b610619565b6040516101879190611328565b60405180910390f35b34801561019b575f80fd5b506101a461063b565b6040516101b19190611350565b60405180910390f35b3480156101c5575f80fd5b506101e060048036038101906101db9190611369565b610644565b6040516101ed9190611328565b60405180910390f35b348015610201575f80fd5b5061020a610672565b6040516102179190611350565b60405180910390f35b34801561022b575f80fd5b50610234610698565b6040516102419190611350565b60405180910390f35b348015610255575f80fd5b5061025e6106a6565b60405161026b91906113d4565b60405180910390f35b34801561027f575f80fd5b506102886106ae565b005b348015610295575f80fd5b506102b060048036038101906102ab91906113ed565b61078f565b005b3480156102bd575f80fd5b506102d860048036038101906102d39190611418565b61085f565b6040516102e59190611350565b60405180910390f35b3480156102f9575f80fd5b506103026108a4565b005b34801561030f575f80fd5b506103186109f0565b6040516103259190611350565b60405180910390f35b348015610339575f80fd5b506103426109f6565b60405161034f9190611452565b60405180910390f35b348015610363575f80fd5b5061036c610a1e565b604051610379919061121f565b60405180910390f35b61038a610458565b005b348015610397575f80fd5b506103b260048036038101906103ad91906112d0565b610aae565b6040516103bf9190611328565b60405180910390f35b3480156103d3575f80fd5b506103dc610ad0565b6040516103e99190611350565b60405180910390f35b3480156103fd575f80fd5b506104186004803603810190610413919061146b565b610ad6565b6040516104259190611350565b60405180910390f35b348015610439575f80fd5b50610442610b58565b60405161044f9190611350565b60405180910390f35b60075434101561049d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610494906114f3565b60405180910390fd5b5f600754346104ac919061156b565b90506064601469152d02c7e14af68000006104c7919061159b565b6104d1919061156b565b69152d02c7e14af68000006104e691906115dc565b6104ee6106a6565b60ff16600a6104fd919061173e565b82610508919061159b565b61051061063b565b61051a9190611788565b111561055b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055290611805565b60405180910390fd5b610586336105676106a6565b60ff16600a610576919061173e565b83610581919061159b565b610b93565b50565b60606003805461059890611850565b80601f01602080910402602001604051908101604052809291908181526020018280546105c490611850565b801561060f5780601f106105e65761010080835404028352916020019161060f565b820191905f5260205f20905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b5f80610623610c12565b9050610630818585610c19565b600191505092915050565b5f600254905090565b5f8061064e610c12565b905061065b858285610c2b565b610666858585610cbd565b60019150509392505050565b6064601469152d02c7e14af680000061068b919061159b565b610695919061156b565b81565b69152d02c7e14af680000081565b5f6012905090565b3373ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461073d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610734906118ca565b60405180910390fd5b5f4790506107496109f6565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561078b573d5f803e3d5ffd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461081e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610815906118ca565b60405180910390fd5b806007819055507fac21bacd333b316c6640fca5086322638b0a7aa4367179afd5dfcbe0a5427bc7816040516108549190611350565b60405180910390a150565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092a906118ca565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610a2d90611850565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5990611850565b8015610aa45780601f10610a7b57610100808354040283529160200191610aa4565b820191905f5260205f20905b815481529060010190602001808311610a8757829003601f168201915b5050505050905090565b5f80610ab8610c12565b9050610ac5818585610cbd565b600191505092915050565b60075481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6064601469152d02c7e14af6800000610b71919061159b565b610b7b919061156b565b69152d02c7e14af6800000610b9091906115dc565b81565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c03575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610bfa9190611452565b60405180910390fd5b610c0e5f8383610dad565b5050565b5f33905090565b610c268383836001610fc6565b505050565b5f610c368484610ad6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610cb75781811015610ca8578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610c9f939291906118e8565b60405180910390fd5b610cb684848484035f610fc6565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d2d575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610d249190611452565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d9d575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610d949190611452565b60405180910390fd5b610da8838383610dad565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dfd578060025f828254610df19190611788565b92505081905550610ecb565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610e86578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610e7d939291906118e8565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f12578060025f8282540392505081905550610f5c565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fb99190611350565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611036575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161102d9190611452565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a6575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161109d9190611452565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561118f578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516111869190611350565b60405180910390a35b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156111cc5780820151818401526020810190506111b1565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6111f182611195565b6111fb818561119f565b935061120b8185602086016111af565b611214816111d7565b840191505092915050565b5f6020820190508181035f83015261123781846111e7565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61126c82611243565b9050919050565b61127c81611262565b8114611286575f80fd5b50565b5f8135905061129781611273565b92915050565b5f819050919050565b6112af8161129d565b81146112b9575f80fd5b50565b5f813590506112ca816112a6565b92915050565b5f80604083850312156112e6576112e561123f565b5b5f6112f385828601611289565b9250506020611304858286016112bc565b9150509250929050565b5f8115159050919050565b6113228161130e565b82525050565b5f60208201905061133b5f830184611319565b92915050565b61134a8161129d565b82525050565b5f6020820190506113635f830184611341565b92915050565b5f805f606084860312156113805761137f61123f565b5b5f61138d86828701611289565b935050602061139e86828701611289565b92505060406113af868287016112bc565b9150509250925092565b5f60ff82169050919050565b6113ce816113b9565b82525050565b5f6020820190506113e75f8301846113c5565b92915050565b5f602082840312156114025761140161123f565b5b5f61140f848285016112bc565b91505092915050565b5f6020828403121561142d5761142c61123f565b5b5f61143a84828501611289565b91505092915050565b61144c81611262565b82525050565b5f6020820190506114655f830184611443565b92915050565b5f80604083850312156114815761148061123f565b5b5f61148e85828601611289565b925050602061149f85828601611289565b9150509250929050565b7f496e73756666696369656e74204554482073656e7400000000000000000000005f82015250565b5f6114dd60158361119f565b91506114e8826114a9565b602082019050919050565b5f6020820190508181035f83015261150a816114d1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6115758261129d565b91506115808361129d565b9250826115905761158f611511565b5b828204905092915050565b5f6115a58261129d565b91506115b08361129d565b92508282026115be8161129d565b915082820484148315176115d5576115d461153e565b5b5092915050565b5f6115e68261129d565b91506115f18361129d565b92508282039050818111156116095761160861153e565b5b92915050565b5f8160011c9050919050565b5f808291508390505b6001851115611664578086048111156116405761163f61153e565b5b600185161561164f5780820291505b808102905061165d8561160f565b9450611624565b94509492505050565b5f8261167c5760019050611737565b81611689575f9050611737565b816001811461169f57600281146116a9576116d8565b6001915050611737565b60ff8411156116bb576116ba61153e565b5b8360020a9150848211156116d2576116d161153e565b5b50611737565b5060208310610133831016604e8410600b841016171561170d5782820a9050838111156117085761170761153e565b5b611737565b61171a848484600161161b565b925090508184048111156117315761173061153e565b5b81810290505b9392505050565b5f6117488261129d565b91506117538361129d565b92506117807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461166d565b905092915050565b5f6117928261129d565b915061179d8361129d565b92508282019050808211156117b5576117b461153e565b5b92915050565b7f4d6178696d756d20737570706c792065786365656465640000000000000000005f82015250565b5f6117ef60178361119f565b91506117fa826117bb565b602082019050919050565b5f6020820190508181035f83015261181c816117e3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061186757607f821691505b60208210810361187a57611879611823565b5b50919050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6118b460178361119f565b91506118bf82611880565b602082019050919050565b5f6020820190508181035f8301526118e1816118a8565b9050919050565b5f6060820190506118fb5f830186611443565b6119086020830185611341565b6119156040830184611341565b94935050505056fea2646970667358221220f20e921ac0db1de8ce375b96f4de59fe9208f57246b66bf6c54752d07679f4bf64736f6c63430008160033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000007616263646566670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076162636465666700000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): abcdefg
Arg [1] : symbol (string): abcdefg
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [3] : 6162636465666700000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [5] : 6162636465666700000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
15240:2143:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17275:10;:8;:10::i;:::-;15240:2143;;;;;5910:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8203:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7012:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8971:249;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15539:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15450:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6863:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16944:137;;;;;;;;;;;;;:::i;:::-;;16794:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7174:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17089:140;;;;;;;;;;;;;:::i;:::-;;15302:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17301:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6120:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16293:493;;;:::i;:::-;;7497:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15378:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7742:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15653:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16293:493;16360:11;;16347:9;:24;;16339:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;16408:19;16442:11;;16430:9;:23;;;;:::i;:::-;16408:45;;15602:3;15597:2;15491:17;15580:19;;;;:::i;:::-;:25;;;;:::i;:::-;15491:17;15695:31;;;;:::i;:::-;16579:10;:8;:10::i;:::-;16571:19;;16565:2;:25;;;;:::i;:::-;16551:11;:39;;;;:::i;:::-;16534:13;:11;:13::i;:::-;:57;;;;:::i;:::-;:76;;16526:112;;;;;;;;;;;;:::i;:::-;;;;;;;;;16720:58;16726:10;16766;:8;:10::i;:::-;16758:19;;16752:2;:25;;;;:::i;:::-;16738:11;:39;;;;:::i;:::-;16720:5;:58::i;:::-;16328:458;16293:493::o;5910:91::-;5955:13;5988:5;5981:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:91;:::o;8203:190::-;8276:4;8293:13;8309:12;:10;:12::i;:::-;8293:28;;8332:31;8341:5;8348:7;8357:5;8332:8;:31::i;:::-;8381:4;8374:11;;;8203:190;;;;:::o;7012:99::-;7064:7;7091:12;;7084:19;;7012:99;:::o;8971:249::-;9058:4;9075:15;9093:12;:10;:12::i;:::-;9075:30;;9116:37;9132:4;9138:7;9147:5;9116:15;:37::i;:::-;9164:26;9174:4;9180:2;9184:5;9164:9;:26::i;:::-;9208:4;9201:11;;;8971:249;;;;;:::o;15539:66::-;15602:3;15597:2;15491:17;15580:19;;;;:::i;:::-;:25;;;;:::i;:::-;15539:66;:::o;15450:58::-;15491:17;15450:58;:::o;6863:84::-;6912:5;6937:2;6930:9;;6863:84;:::o;16944:137::-;15964:10;15954:20;;:6;;;;;;;;;;;:20;;;15946:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;16992:12:::1;17007:21;16992:36;;17047:7;:5;:7::i;:::-;17039:25;;:34;17065:7;17039:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;16981:100;16944:137::o:0;16794:142::-;15964:10;15954:20;;:6;;;;;;;;;;;:20;;;15946:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;16877:8:::1;16863:11;:22;;;;16901:27;16919:8;16901:27;;;;;;:::i;:::-;;;;;;;;16794:142:::0;:::o;7174:118::-;7239:7;7266:9;:18;7276:7;7266:18;;;;;;;;;;;;;;;;7259:25;;7174:118;;;:::o;17089:140::-;15964:10;15954:20;;:6;;;;;;;;;;;:20;;;15946:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;17188:1:::1;17151:40;;17172:6;;;;;;;;;;;17151:40;;;;;;;;;;;;17219:1;17202:6;;:19;;;;;;;;;;;;;;;;;;17089:140::o:0;15302:46::-;;;;:::o;17301:79::-;17339:7;17366:6;;;;;;;;;;;17359:13;;17301:79;:::o;6120:95::-;6167:13;6200:7;6193:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:95;:::o;7497:182::-;7566:4;7583:13;7599:12;:10;:12::i;:::-;7583:28;;7622:27;7632:5;7639:2;7643:5;7622:9;:27::i;:::-;7667:4;7660:11;;;7497:182;;;;:::o;15378:42::-;;;;:::o;7742:142::-;7822:7;7849:11;:18;7861:5;7849:18;;;;;;;;;;;;;;;:27;7868:7;7849:27;;;;;;;;;;;;;;;;7842:34;;7742:142;;;;:::o;15653:73::-;15602:3;15597:2;15491:17;15580:19;;;;:::i;:::-;:25;;;;:::i;:::-;15491:17;15695:31;;;;:::i;:::-;15653:73;:::o;11725:213::-;11815:1;11796:21;;:7;:21;;;11792:93;;11870:1;11841:32;;;;;;;;;;;:::i;:::-;;;;;;;;11792:93;11895:35;11911:1;11915:7;11924:5;11895:7;:35::i;:::-;11725:213;;:::o;3187:98::-;3240:7;3267:10;3260:17;;3187:98;:::o;13030:130::-;13115:37;13124:5;13131:7;13140:5;13147:4;13115:8;:37::i;:::-;13030:130;;;:::o;14746:487::-;14846:24;14873:25;14883:5;14890:7;14873:9;:25::i;:::-;14846:52;;14933:17;14913:16;:37;14909:317;;14990:5;14971:16;:24;14967:132;;;15050:7;15059:16;15077:5;15023:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;14967:132;15142:57;15151:5;15158:7;15186:5;15167:16;:24;15193:5;15142:8;:57::i;:::-;14909:317;14835:398;14746:487;;;:::o;9605:308::-;9705:1;9689:18;;:4;:18;;;9685:88;;9758:1;9731:30;;;;;;;;;;;:::i;:::-;;;;;;;;9685:88;9801:1;9787:16;;:2;:16;;;9783:88;;9856:1;9827:32;;;;;;;;;;;:::i;:::-;;;;;;;;9783:88;9881:24;9889:4;9895:2;9899:5;9881:7;:24::i;:::-;9605:308;;;:::o;10237:1135::-;10343:1;10327:18;;:4;:18;;;10323:552;;10481:5;10465:12;;:21;;;;;;;:::i;:::-;;;;;;;;10323:552;;;10519:19;10541:9;:15;10551:4;10541:15;;;;;;;;;;;;;;;;10519:37;;10589:5;10575:11;:19;10571:117;;;10647:4;10653:11;10666:5;10622:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;10571:117;10843:5;10829:11;:19;10811:9;:15;10821:4;10811:15;;;;;;;;;;;;;;;:37;;;;10504:371;10323:552;10905:1;10891:16;;:2;:16;;;10887:435;;11073:5;11057:12;;:21;;;;;;;;;;;10887:435;;;11290:5;11273:9;:13;11283:2;11273:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;10887:435;11354:2;11339:25;;11348:4;11339:25;;;11358:5;11339:25;;;;;;:::i;:::-;;;;;;;;10237:1135;;;:::o;14011:443::-;14141:1;14124:19;;:5;:19;;;14120:91;;14196:1;14167:32;;;;;;;;;;;:::i;:::-;;;;;;;;14120:91;14244:1;14225:21;;:7;:21;;;14221:92;;14298:1;14270:31;;;;;;;;;;;:::i;:::-;;;;;;;;14221:92;14353:5;14323:11;:18;14335:5;14323:18;;;;;;;;;;;;;;;:27;14342:7;14323:27;;;;;;;;;;;;;;;:35;;;;14373:9;14369:78;;;14420:7;14404:31;;14413:5;14404:31;;;14429:5;14404:31;;;;;;:::i;:::-;;;;;;;;14369:78;14011:443;;;;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:171::-;6495:23;6491:1;6483:6;6479:14;6472:47;6355:171;:::o;6532:366::-;6674:3;6695:67;6759:2;6754:3;6695:67;:::i;:::-;6688:74;;6771:93;6860:3;6771:93;:::i;:::-;6889:2;6884:3;6880:12;6873:19;;6532:366;;;:::o;6904:419::-;7070:4;7108:2;7097:9;7093:18;7085:26;;7157:9;7151:4;7147:20;7143:1;7132:9;7128:17;7121:47;7185:131;7311:4;7185:131;:::i;:::-;7177:139;;6904:419;;;:::o;7329:180::-;7377:77;7374:1;7367:88;7474:4;7471:1;7464:15;7498:4;7495:1;7488:15;7515:180;7563:77;7560:1;7553:88;7660:4;7657:1;7650:15;7684:4;7681:1;7674:15;7701:185;7741:1;7758:20;7776:1;7758:20;:::i;:::-;7753:25;;7792:20;7810:1;7792:20;:::i;:::-;7787:25;;7831:1;7821:35;;7836:18;;:::i;:::-;7821:35;7878:1;7875;7871:9;7866:14;;7701:185;;;;:::o;7892:410::-;7932:7;7955:20;7973:1;7955:20;:::i;:::-;7950:25;;7989:20;8007:1;7989:20;:::i;:::-;7984:25;;8044:1;8041;8037:9;8066:30;8084:11;8066:30;:::i;:::-;8055:41;;8245:1;8236:7;8232:15;8229:1;8226:22;8206:1;8199:9;8179:83;8156:139;;8275:18;;:::i;:::-;8156:139;7940:362;7892:410;;;;:::o;8308:194::-;8348:4;8368:20;8386:1;8368:20;:::i;:::-;8363:25;;8402:20;8420:1;8402:20;:::i;:::-;8397:25;;8446:1;8443;8439:9;8431:17;;8470:1;8464:4;8461:11;8458:37;;;8475:18;;:::i;:::-;8458:37;8308:194;;;;:::o;8508:102::-;8550:8;8597:5;8594:1;8590:13;8569:34;;8508:102;;;:::o;8616:848::-;8677:5;8684:4;8708:6;8699:15;;8732:5;8723:14;;8746:712;8767:1;8757:8;8754:15;8746:712;;;8862:4;8857:3;8853:14;8847:4;8844:24;8841:50;;;8871:18;;:::i;:::-;8841:50;8921:1;8911:8;8907:16;8904:451;;;9336:4;9329:5;9325:16;9316:25;;8904:451;9386:4;9380;9376:15;9368:23;;9416:32;9439:8;9416:32;:::i;:::-;9404:44;;8746:712;;;8616:848;;;;;;;:::o;9470:1073::-;9524:5;9715:8;9705:40;;9736:1;9727:10;;9738:5;;9705:40;9764:4;9754:36;;9781:1;9772:10;;9783:5;;9754:36;9850:4;9898:1;9893:27;;;;9934:1;9929:191;;;;9843:277;;9893:27;9911:1;9902:10;;9913:5;;;9929:191;9974:3;9964:8;9961:17;9958:43;;;9981:18;;:::i;:::-;9958:43;10030:8;10027:1;10023:16;10014:25;;10065:3;10058:5;10055:14;10052:40;;;10072:18;;:::i;:::-;10052:40;10105:5;;;9843:277;;10229:2;10219:8;10216:16;10210:3;10204:4;10201:13;10197:36;10179:2;10169:8;10166:16;10161:2;10155:4;10152:12;10148:35;10132:111;10129:246;;;10285:8;10279:4;10275:19;10266:28;;10320:3;10313:5;10310:14;10307:40;;;10327:18;;:::i;:::-;10307:40;10360:5;;10129:246;10400:42;10438:3;10428:8;10422:4;10419:1;10400:42;:::i;:::-;10385:57;;;;10474:4;10469:3;10465:14;10458:5;10455:25;10452:51;;;10483:18;;:::i;:::-;10452:51;10532:4;10525:5;10521:16;10512:25;;9470:1073;;;;;;:::o;10549:285::-;10609:5;10633:23;10651:4;10633:23;:::i;:::-;10625:31;;10677:27;10695:8;10677:27;:::i;:::-;10665:39;;10723:104;10760:66;10750:8;10744:4;10723:104;:::i;:::-;10714:113;;10549:285;;;;:::o;10840:191::-;10880:3;10899:20;10917:1;10899:20;:::i;:::-;10894:25;;10933:20;10951:1;10933:20;:::i;:::-;10928:25;;10976:1;10973;10969:9;10962:16;;10997:3;10994:1;10991:10;10988:36;;;11004:18;;:::i;:::-;10988:36;10840:191;;;;:::o;11037:173::-;11177:25;11173:1;11165:6;11161:14;11154:49;11037:173;:::o;11216:366::-;11358:3;11379:67;11443:2;11438:3;11379:67;:::i;:::-;11372:74;;11455:93;11544:3;11455:93;:::i;:::-;11573:2;11568:3;11564:12;11557:19;;11216:366;;;:::o;11588:419::-;11754:4;11792:2;11781:9;11777:18;11769:26;;11841:9;11835:4;11831:20;11827:1;11816:9;11812:17;11805:47;11869:131;11995:4;11869:131;:::i;:::-;11861:139;;11588:419;;;:::o;12013:180::-;12061:77;12058:1;12051:88;12158:4;12155:1;12148:15;12182:4;12179:1;12172:15;12199:320;12243:6;12280:1;12274:4;12270:12;12260:22;;12327:1;12321:4;12317:12;12348:18;12338:81;;12404:4;12396:6;12392:17;12382:27;;12338:81;12466:2;12458:6;12455:14;12435:18;12432:38;12429:84;;12485:18;;:::i;:::-;12429:84;12250:269;12199:320;;;:::o;12525:173::-;12665:25;12661:1;12653:6;12649:14;12642:49;12525:173;:::o;12704:366::-;12846:3;12867:67;12931:2;12926:3;12867:67;:::i;:::-;12860:74;;12943:93;13032:3;12943:93;:::i;:::-;13061:2;13056:3;13052:12;13045:19;;12704:366;;;:::o;13076:419::-;13242:4;13280:2;13269:9;13265:18;13257:26;;13329:9;13323:4;13319:20;13315:1;13304:9;13300:17;13293:47;13357:131;13483:4;13357:131;:::i;:::-;13349:139;;13076:419;;;:::o;13501:442::-;13650:4;13688:2;13677:9;13673:18;13665:26;;13701:71;13769:1;13758:9;13754:17;13745:6;13701:71;:::i;:::-;13782:72;13850:2;13839:9;13835:18;13826:6;13782:72;:::i;:::-;13864;13932:2;13921:9;13917:18;13908:6;13864:72;:::i;:::-;13501:442;;;;;;:::o
Swarm Source
ipfs://f20e921ac0db1de8ce375b96f4de59fe9208f57246b66bf6c54752d07679f4bf
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.