Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Betero
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-03-01 */ pragma solidity ^0.8.4; /** BETERO TOKEN */ interface IERC20 { /** * @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 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 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) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () {address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Betero is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; uint8 private _decimals; string private _symbol; string private _name; constructor() public{ _name = "Betero"; _symbol = "BTE"; _decimals = 18; _totalSupply = 25 * 10**8 * 10**18; //100m tokens _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } /** * @dev Returns the erc token owner. */ function getOwner() external view returns (address) {return owner();} /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8) {return _decimals;} /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory) { return _symbol;} /** * @dev Returns the token name. */ function name() external view returns (string memory) {return _name; } /** * @dev See {ERC20-totalSupply}. */ function totalSupply() external view returns (uint256) {return _totalSupply; } /** * @dev See {ERC20-balanceOf}. */ function balanceOf(address account) external view returns (uint256) { return _balances[account]; } /** * @dev See {ERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) external override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {ERC20-allowance}. */ function allowance(address owner, address spender) external view override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {ERC20-approve}. * * Requirements: * * 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. * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) external returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {ERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}; * * Requirements: * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for `sender`'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); 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 {ERC20-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(_msgSender(), spender, _allowances[_msgSender()][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 {ERC20-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(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } /** * @dev Destroys `amount` tokens from the caller. * * See {ERC20-_burn}. */ function burn(uint256 amount) external virtual { _burn(_msgSender(), amount); } /** * @dev Destroys `amount` tokens from `account`, deducting from the caller's * allowance. * * See {ERC20-_burn} and {ERC20-allowance}. * * Requirements: * * - the caller must have allowance for ``accounts``'s tokens of at least * `amount`. */ function burnFrom(address account, uint256 amount) external virtual { uint256 decreasedAllowance = _allowances[account][_msgSender()].sub( amount, 'ERC20: burn amount exceeds allowance' ); _approve(account, _msgSender(), decreasedAllowance); _burn(account, amount); } /** * @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, "ERC20: transfer amount exceeds balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal { require(account != address(0), "ERC20: burn from the zero address"); _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance"); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } /** * @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 amount) internal { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506000620000246200024360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600681526020017f42657465726f0000000000000000000000000000000000000000000000000000815250600690805190602001906200010f9291906200024b565b506040518060400160405280600381526020017f4254450000000000000000000000000000000000000000000000000000000000815250600590805190602001906200015d9291906200024b565b506012600460006101000a81548160ff021916908360ff1602179055506b0813f3978f89409844000000600381905550600354600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516200023591906200030c565b60405180910390a362000398565b600033905090565b828054620002599062000333565b90600052602060002090601f0160209004810192826200027d5760008555620002c9565b82601f106200029857805160ff1916838001178555620002c9565b82800160010185558215620002c9579182015b82811115620002c8578251825591602001919060010190620002ab565b5b509050620002d89190620002dc565b5090565b5b80821115620002f7576000816000905550600101620002dd565b5090565b620003068162000329565b82525050565b6000602082019050620003236000830184620002fb565b92915050565b6000819050919050565b600060028204905060018216806200034c57607f821691505b6020821081141562000363576200036262000369565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b611ce580620003a86000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a257806395d89b411161007157806395d89b41146102a8578063a457c2d7146102c6578063a9059cbb146102f6578063dd62ed3e14610326578063f2fde38b146103565761010b565b8063715018a61461024657806379cc679014610250578063893d20e81461026c5780638da5cb5b1461028a5761010b565b8063313ce567116100de578063313ce567146101ac57806339509351146101ca57806342966c68146101fa57806370a08231146102165761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610372565b6040516101259190611675565b60405180910390f35b6101486004803603810190610143919061144d565b610404565b604051610155919061165a565b60405180910390f35b610166610422565b6040516101739190611797565b60405180910390f35b610196600480360381019061019191906113fe565b61042c565b6040516101a3919061165a565b60405180910390f35b6101b4610505565b6040516101c191906117b2565b60405180910390f35b6101e460048036038101906101df919061144d565b61051c565b6040516101f1919061165a565b60405180910390f35b610214600480360381019061020f9190611489565b6105cf565b005b610230600480360381019061022b9190611399565b6105e3565b60405161023d9190611797565b60405180910390f35b61024e61062c565b005b61026a6004803603810190610265919061144d565b61077f565b005b610274610854565b604051610281919061163f565b60405180910390f35b610292610863565b60405161029f919061163f565b60405180910390f35b6102b061088c565b6040516102bd9190611675565b60405180910390f35b6102e060048036038101906102db919061144d565b61091e565b6040516102ed919061165a565b60405180910390f35b610310600480360381019061030b919061144d565b6109eb565b60405161031d919061165a565b60405180910390f35b610340600480360381019061033b91906113c2565b610a09565b60405161034d9190611797565b60405180910390f35b610370600480360381019061036b9190611399565b610a90565b005b606060068054610381906118fb565b80601f01602080910402602001604051908101604052809291908181526020018280546103ad906118fb565b80156103fa5780601f106103cf576101008083540402835291602001916103fa565b820191906000526020600020905b8154815290600101906020018083116103dd57829003601f168201915b5050505050905090565b6000610418610411610b31565b8484610b39565b6001905092915050565b6000600354905090565b6000610439848484610d04565b6104fa84610445610b31565b6104f585604051806060016040528060288152602001611c3f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104ab610b31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f929092919063ffffffff16565b610b39565b600190509392505050565b6000600460009054906101000a900460ff16905090565b60006105c5610529610b31565b846105c0856002600061053a610b31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff690919063ffffffff16565b610b39565b6001905092915050565b6105e06105da610b31565b82611054565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610634610b31565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b890611717565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600061083182604051806060016040528060248152602001611c6760249139600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107e7610b31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f929092919063ffffffff16565b90506108458361083f610b31565b83610b39565b61084f8383611054565b505050565b600061085e610863565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461089b906118fb565b80601f01602080910402602001604051908101604052809291908181526020018280546108c7906118fb565b80156109145780601f106108e957610100808354040283529160200191610914565b820191906000526020600020905b8154815290600101906020018083116108f757829003601f168201915b5050505050905090565b60006109e161092b610b31565b846109dc85604051806060016040528060258152602001611c8b6025913960026000610955610b31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f929092919063ffffffff16565b610b39565b6001905092915050565b60006109ff6109f8610b31565b8484610d04565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a98610b31565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c90611717565b60405180910390fd5b610b2e816111f8565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba090611777565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c10906116d7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cf79190611797565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6b90611757565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddb90611697565b60405180910390fd5b610e5081604051806060016040528060268152602001611c1960269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f929092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ee581600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff690919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f859190611797565b60405180910390a3505050565b6000838311158290610fda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd19190611675565b60405180910390fd5b5060008385610fe9919061183f565b9050809150509392505050565b600080828461100591906117e9565b90508381101561104a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611041906116f7565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb90611737565b60405180910390fd5b61113081604051806060016040528060228152602001611bf760229139600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f929092919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111888160035461132590919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111ec9190611797565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125f906116b7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061136783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f92565b905092915050565b60008135905061137e81611bc8565b92915050565b60008135905061139381611bdf565b92915050565b6000602082840312156113ab57600080fd5b60006113b98482850161136f565b91505092915050565b600080604083850312156113d557600080fd5b60006113e38582860161136f565b92505060206113f48582860161136f565b9150509250929050565b60008060006060848603121561141357600080fd5b60006114218682870161136f565b93505060206114328682870161136f565b925050604061144386828701611384565b9150509250925092565b6000806040838503121561146057600080fd5b600061146e8582860161136f565b925050602061147f85828601611384565b9150509250929050565b60006020828403121561149b57600080fd5b60006114a984828501611384565b91505092915050565b6114bb81611873565b82525050565b6114ca81611885565b82525050565b60006114db826117cd565b6114e581856117d8565b93506114f58185602086016118c8565b6114fe8161198b565b840191505092915050565b60006115166023836117d8565b91506115218261199c565b604082019050919050565b60006115396026836117d8565b9150611544826119eb565b604082019050919050565b600061155c6022836117d8565b915061156782611a3a565b604082019050919050565b600061157f601b836117d8565b915061158a82611a89565b602082019050919050565b60006115a26020836117d8565b91506115ad82611ab2565b602082019050919050565b60006115c56021836117d8565b91506115d082611adb565b604082019050919050565b60006115e86025836117d8565b91506115f382611b2a565b604082019050919050565b600061160b6024836117d8565b915061161682611b79565b604082019050919050565b61162a816118b1565b82525050565b611639816118bb565b82525050565b600060208201905061165460008301846114b2565b92915050565b600060208201905061166f60008301846114c1565b92915050565b6000602082019050818103600083015261168f81846114d0565b905092915050565b600060208201905081810360008301526116b081611509565b9050919050565b600060208201905081810360008301526116d08161152c565b9050919050565b600060208201905081810360008301526116f08161154f565b9050919050565b6000602082019050818103600083015261171081611572565b9050919050565b6000602082019050818103600083015261173081611595565b9050919050565b60006020820190508181036000830152611750816115b8565b9050919050565b60006020820190508181036000830152611770816115db565b9050919050565b60006020820190508181036000830152611790816115fe565b9050919050565b60006020820190506117ac6000830184611621565b92915050565b60006020820190506117c76000830184611630565b92915050565b600081519050919050565b600082825260208201905092915050565b60006117f4826118b1565b91506117ff836118b1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156118345761183361192d565b5b828201905092915050565b600061184a826118b1565b9150611855836118b1565b9250828210156118685761186761192d565b5b828203905092915050565b600061187e82611891565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156118e65780820151818401526020810190506118cb565b838111156118f5576000848401525b50505050565b6000600282049050600182168061191357607f821691505b602082108114156119275761192661195c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b611bd181611873565b8114611bdc57600080fd5b50565b611be8816118b1565b8114611bf357600080fd5b5056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e656de650750290a4fdfec01a92c5de8f6f1e7f95d2b9a2efca17d17d1e59dc864736f6c63430008040033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a257806395d89b411161007157806395d89b41146102a8578063a457c2d7146102c6578063a9059cbb146102f6578063dd62ed3e14610326578063f2fde38b146103565761010b565b8063715018a61461024657806379cc679014610250578063893d20e81461026c5780638da5cb5b1461028a5761010b565b8063313ce567116100de578063313ce567146101ac57806339509351146101ca57806342966c68146101fa57806370a08231146102165761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610372565b6040516101259190611675565b60405180910390f35b6101486004803603810190610143919061144d565b610404565b604051610155919061165a565b60405180910390f35b610166610422565b6040516101739190611797565b60405180910390f35b610196600480360381019061019191906113fe565b61042c565b6040516101a3919061165a565b60405180910390f35b6101b4610505565b6040516101c191906117b2565b60405180910390f35b6101e460048036038101906101df919061144d565b61051c565b6040516101f1919061165a565b60405180910390f35b610214600480360381019061020f9190611489565b6105cf565b005b610230600480360381019061022b9190611399565b6105e3565b60405161023d9190611797565b60405180910390f35b61024e61062c565b005b61026a6004803603810190610265919061144d565b61077f565b005b610274610854565b604051610281919061163f565b60405180910390f35b610292610863565b60405161029f919061163f565b60405180910390f35b6102b061088c565b6040516102bd9190611675565b60405180910390f35b6102e060048036038101906102db919061144d565b61091e565b6040516102ed919061165a565b60405180910390f35b610310600480360381019061030b919061144d565b6109eb565b60405161031d919061165a565b60405180910390f35b610340600480360381019061033b91906113c2565b610a09565b60405161034d9190611797565b60405180910390f35b610370600480360381019061036b9190611399565b610a90565b005b606060068054610381906118fb565b80601f01602080910402602001604051908101604052809291908181526020018280546103ad906118fb565b80156103fa5780601f106103cf576101008083540402835291602001916103fa565b820191906000526020600020905b8154815290600101906020018083116103dd57829003601f168201915b5050505050905090565b6000610418610411610b31565b8484610b39565b6001905092915050565b6000600354905090565b6000610439848484610d04565b6104fa84610445610b31565b6104f585604051806060016040528060288152602001611c3f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104ab610b31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f929092919063ffffffff16565b610b39565b600190509392505050565b6000600460009054906101000a900460ff16905090565b60006105c5610529610b31565b846105c0856002600061053a610b31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff690919063ffffffff16565b610b39565b6001905092915050565b6105e06105da610b31565b82611054565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610634610b31565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b890611717565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600061083182604051806060016040528060248152602001611c6760249139600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107e7610b31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f929092919063ffffffff16565b90506108458361083f610b31565b83610b39565b61084f8383611054565b505050565b600061085e610863565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461089b906118fb565b80601f01602080910402602001604051908101604052809291908181526020018280546108c7906118fb565b80156109145780601f106108e957610100808354040283529160200191610914565b820191906000526020600020905b8154815290600101906020018083116108f757829003601f168201915b5050505050905090565b60006109e161092b610b31565b846109dc85604051806060016040528060258152602001611c8b6025913960026000610955610b31565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f929092919063ffffffff16565b610b39565b6001905092915050565b60006109ff6109f8610b31565b8484610d04565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610a98610b31565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1c90611717565b60405180910390fd5b610b2e816111f8565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba090611777565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c10906116d7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cf79190611797565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6b90611757565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddb90611697565b60405180910390fd5b610e5081604051806060016040528060268152602001611c1960269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f929092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ee581600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff690919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f859190611797565b60405180910390a3505050565b6000838311158290610fda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd19190611675565b60405180910390fd5b5060008385610fe9919061183f565b9050809150509392505050565b600080828461100591906117e9565b90508381101561104a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611041906116f7565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb90611737565b60405180910390fd5b61113081604051806060016040528060228152602001611bf760229139600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f929092919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111888160035461132590919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111ec9190611797565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125f906116b7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061136783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f92565b905092915050565b60008135905061137e81611bc8565b92915050565b60008135905061139381611bdf565b92915050565b6000602082840312156113ab57600080fd5b60006113b98482850161136f565b91505092915050565b600080604083850312156113d557600080fd5b60006113e38582860161136f565b92505060206113f48582860161136f565b9150509250929050565b60008060006060848603121561141357600080fd5b60006114218682870161136f565b93505060206114328682870161136f565b925050604061144386828701611384565b9150509250925092565b6000806040838503121561146057600080fd5b600061146e8582860161136f565b925050602061147f85828601611384565b9150509250929050565b60006020828403121561149b57600080fd5b60006114a984828501611384565b91505092915050565b6114bb81611873565b82525050565b6114ca81611885565b82525050565b60006114db826117cd565b6114e581856117d8565b93506114f58185602086016118c8565b6114fe8161198b565b840191505092915050565b60006115166023836117d8565b91506115218261199c565b604082019050919050565b60006115396026836117d8565b9150611544826119eb565b604082019050919050565b600061155c6022836117d8565b915061156782611a3a565b604082019050919050565b600061157f601b836117d8565b915061158a82611a89565b602082019050919050565b60006115a26020836117d8565b91506115ad82611ab2565b602082019050919050565b60006115c56021836117d8565b91506115d082611adb565b604082019050919050565b60006115e86025836117d8565b91506115f382611b2a565b604082019050919050565b600061160b6024836117d8565b915061161682611b79565b604082019050919050565b61162a816118b1565b82525050565b611639816118bb565b82525050565b600060208201905061165460008301846114b2565b92915050565b600060208201905061166f60008301846114c1565b92915050565b6000602082019050818103600083015261168f81846114d0565b905092915050565b600060208201905081810360008301526116b081611509565b9050919050565b600060208201905081810360008301526116d08161152c565b9050919050565b600060208201905081810360008301526116f08161154f565b9050919050565b6000602082019050818103600083015261171081611572565b9050919050565b6000602082019050818103600083015261173081611595565b9050919050565b60006020820190508181036000830152611750816115b8565b9050919050565b60006020820190508181036000830152611770816115db565b9050919050565b60006020820190508181036000830152611790816115fe565b9050919050565b60006020820190506117ac6000830184611621565b92915050565b60006020820190506117c76000830184611630565b92915050565b600081519050919050565b600082825260208201905092915050565b60006117f4826118b1565b91506117ff836118b1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156118345761183361192d565b5b828201905092915050565b600061184a826118b1565b9150611855836118b1565b9250828210156118685761186761192d565b5b828203905092915050565b600061187e82611891565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156118e65780820151818401526020810190506118cb565b838111156118f5576000848401525b50505050565b6000600282049050600182168061191357607f821691505b602082108114156119275761192661195c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b611bd181611873565b8114611bdc57600080fd5b50565b611be8816118b1565b8114611bf357600080fd5b5056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e656de650750290a4fdfec01a92c5de8f6f1e7f95d2b9a2efca17d17d1e59dc864736f6c63430008040033
Deployed Bytecode Sourcemap
9331:7893:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10348:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11932:144;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10477:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12521:304;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10095:69;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13209:200;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14237:87;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10612:106;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8633:130;;;:::i;:::-;;14621:319;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9967:69;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8031:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10221:74;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13881:251;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10912:159;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11125:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8908:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10348:73;10387:13;10410:5;10403:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10348:73;:::o;11932:144::-;12000:4;12013:39;12022:12;:10;:12::i;:::-;12036:7;12045:6;12013:8;:39::i;:::-;12066:4;12059:11;;11932:144;;;;:::o;10477:81::-;10523:7;10540:12;;10533:19;;10477:81;:::o;12521:304::-;12610:4;12627:36;12637:6;12645:9;12656:6;12627:9;:36::i;:::-;12674:121;12683:6;12691:12;:10;:12::i;:::-;12705:89;12743:6;12705:89;;;;;;;;;;;;;;;;;:11;:19;12717:6;12705:19;;;;;;;;;;;;;;;:33;12725:12;:10;:12::i;:::-;12705:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;12674:8;:121::i;:::-;12813:4;12806:11;;12521:304;;;;;:::o;10095:69::-;10138:5;10153:9;;;;;;;;;;;10146:16;;10095:69;:::o;13209:200::-;13289:4;13302:83;13311:12;:10;:12::i;:::-;13325:7;13334:50;13373:10;13334:11;:25;13346:12;:10;:12::i;:::-;13334:25;;;;;;;;;;;;;;;:34;13360:7;13334:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;13302:8;:83::i;:::-;13399:4;13392:11;;13209:200;;;;:::o;14237:87::-;14291:27;14297:12;:10;:12::i;:::-;14311:6;14291:5;:27::i;:::-;14237:87;:::o;10612:106::-;10671:7;10694:9;:18;10704:7;10694:18;;;;;;;;;;;;;;;;10687:25;;10612:106;;;:::o;8633:130::-;8235:12;:10;:12::i;:::-;8225:22;;:6;;;;;;;;;;:22;;;8217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8728:1:::1;8691:40;;8712:6;::::0;::::1;;;;;;;;8691:40;;;;;;;;;;;;8755:1;8738:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;8633:130::o:0;14621:319::-;14696:26;14732:113;14781:6;14732:113;;;;;;;;;;;;;;;;;:11;:20;14744:7;14732:20;;;;;;;;;;;;;;;:34;14753:12;:10;:12::i;:::-;14732:34;;;;;;;;;;;;;;;;:38;;:113;;;;;:::i;:::-;14696:149;;14854:51;14863:7;14872:12;:10;:12::i;:::-;14886:18;14854:8;:51::i;:::-;14912:22;14918:7;14927:6;14912:5;:22::i;:::-;14621:319;;;:::o;9967:69::-;10010:7;10027;:5;:7::i;:::-;10020:14;;9967:69;:::o;8031:73::-;8069:7;8092:6;;;;;;;;;;;8085:13;;8031:73;:::o;10221:74::-;10262:13;10286:7;10279:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10221:74;:::o;13881:251::-;13966:4;13979:129;13988:12;:10;:12::i;:::-;14002:7;14011:96;14050:15;14011:96;;;;;;;;;;;;;;;;;:11;:25;14023:12;:10;:12::i;:::-;14011:25;;;;;;;;;;;;;;;:34;14037:7;14011:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;13979:8;:129::i;:::-;14122:4;14115:11;;13881:251;;;;:::o;10912:159::-;10992:4;11005:42;11015:12;:10;:12::i;:::-;11029:9;11040:6;11005:9;:42::i;:::-;11061:4;11054:11;;10912:159;;;;:::o;11125:139::-;11208:7;11231:11;:18;11243:5;11231:18;;;;;;;;;;;;;;;:27;11250:7;11231:27;;;;;;;;;;;;;;;;11224:34;;11125:139;;;;:::o;8908:103::-;8235:12;:10;:12::i;:::-;8225:22;;:6;;;;;;;;;;:22;;;8217:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8977:28:::1;8996:8;8977:18;:28::i;:::-;8908:103:::0;:::o;6742:92::-;6795:7;6818:10;6811:17;;6742:92;:::o;16901:320::-;17008:1;16991:19;;:5;:19;;;;16983:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17085:1;17066:21;;:7;:21;;;;17058:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17165:6;17135:11;:18;17147:5;17135:18;;;;;;;;;;;;;;;:27;17154:7;17135:27;;;;;;;;;;;;;;;:36;;;;17199:7;17183:32;;17192:5;17183:32;;;17208:6;17183:32;;;;;;:::i;:::-;;;;;;;;16901:320;;;:::o;15400:449::-;15512:1;15494:20;;:6;:20;;;;15486:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;15592:1;15571:23;;:9;:23;;;;15563:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15663;15685:6;15663:71;;;;;;;;;;;;;;;;;:9;:17;15673:6;15663:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;15643:9;:17;15653:6;15643:17;;;;;;;;;;;;;;;:91;;;;15764:32;15789:6;15764:9;:20;15774:9;15764:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15741:9;:20;15751:9;15741:20;;;;;;;;;;;;;;;:55;;;;15825:9;15808:35;;15817:6;15808:35;;;15836:6;15808:35;;;;;;:::i;:::-;;;;;;;;15400:449;;;:::o;2831:178::-;2917:7;2946:1;2941;:6;;2949:12;2933:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2969:9;2985:1;2981;:5;;;;:::i;:::-;2969:17;;3002:1;2995:8;;;2831:178;;;;;:::o;2004:167::-;2062:7;2078:9;2094:1;2090;:5;;;;:::i;:::-;2078:17;;2115:1;2110;:6;;2102:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2164:1;2157:8;;;2004:167;;;;:::o;16159:330::-;16250:1;16231:21;;:7;:21;;;;16223:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16320:68;16343:6;16320:68;;;;;;;;;;;;;;;;;:9;:18;16330:7;16320:18;;;;;;;;;;;;;;;;:22;;:68;;;;;:::i;:::-;16299:9;:18;16309:7;16299:18;;;;;;;;;;;;;;;:89;;;;16410:24;16427:6;16410:12;;:16;;:24;;;;:::i;:::-;16395:12;:39;;;;16472:1;16446:37;;16455:7;16446:37;;;16476:6;16446:37;;;;;;:::i;:::-;;;;;;;;16159:330;;:::o;9109:215::-;9199:1;9179:22;;:8;:22;;;;9171:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9285:8;9256:38;;9277:6;;;;;;;;;;9256:38;;;;;;;;;;;;9310:8;9301:6;;:17;;;;;;;;;;;;;;;;;;9109:215;:::o;2426:130::-;2484:7;2507:43;2511:1;2514;2507:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2500:50;;2426:130;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;633:6;641;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;1055:6;1063;1071;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;1604:6;1612;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:262::-;2008:6;2057:2;2045:9;2036:7;2032:23;2028:32;2025:2;;;2073:1;2070;2063:12;2025:2;2116:1;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2087:117;2015:196;;;;:::o;2217:118::-;2304:24;2322:5;2304:24;:::i;:::-;2299:3;2292:37;2282:53;;:::o;2341:109::-;2422:21;2437:5;2422:21;:::i;:::-;2417:3;2410:34;2400:50;;:::o;2456:364::-;2544:3;2572:39;2605:5;2572:39;:::i;:::-;2627:71;2691:6;2686:3;2627:71;:::i;:::-;2620:78;;2707:52;2752:6;2747:3;2740:4;2733:5;2729:16;2707:52;:::i;:::-;2784:29;2806:6;2784:29;:::i;:::-;2779:3;2775:39;2768:46;;2548:272;;;;;:::o;2826:366::-;2968:3;2989:67;3053:2;3048:3;2989:67;:::i;:::-;2982:74;;3065:93;3154:3;3065:93;:::i;:::-;3183:2;3178:3;3174:12;3167:19;;2972:220;;;:::o;3198:366::-;3340:3;3361:67;3425:2;3420:3;3361:67;:::i;:::-;3354:74;;3437:93;3526:3;3437:93;:::i;:::-;3555:2;3550:3;3546:12;3539:19;;3344:220;;;:::o;3570:366::-;3712:3;3733:67;3797:2;3792:3;3733:67;:::i;:::-;3726:74;;3809:93;3898:3;3809:93;:::i;:::-;3927:2;3922:3;3918:12;3911:19;;3716:220;;;:::o;3942:366::-;4084:3;4105:67;4169:2;4164:3;4105:67;:::i;:::-;4098:74;;4181:93;4270:3;4181:93;:::i;:::-;4299:2;4294:3;4290:12;4283:19;;4088:220;;;:::o;4314:366::-;4456:3;4477:67;4541:2;4536:3;4477:67;:::i;:::-;4470:74;;4553:93;4642:3;4553:93;:::i;:::-;4671:2;4666:3;4662:12;4655:19;;4460:220;;;:::o;4686:366::-;4828:3;4849:67;4913:2;4908:3;4849:67;:::i;:::-;4842:74;;4925:93;5014:3;4925:93;:::i;:::-;5043:2;5038:3;5034:12;5027:19;;4832:220;;;:::o;5058:366::-;5200:3;5221:67;5285:2;5280:3;5221:67;:::i;:::-;5214:74;;5297:93;5386:3;5297:93;:::i;:::-;5415:2;5410:3;5406:12;5399:19;;5204:220;;;:::o;5430:366::-;5572:3;5593:67;5657:2;5652:3;5593:67;:::i;:::-;5586:74;;5669:93;5758:3;5669:93;:::i;:::-;5787:2;5782:3;5778:12;5771:19;;5576:220;;;:::o;5802:118::-;5889:24;5907:5;5889:24;:::i;:::-;5884:3;5877:37;5867:53;;:::o;5926:112::-;6009:22;6025:5;6009:22;:::i;:::-;6004:3;5997:35;5987:51;;:::o;6044:222::-;6137:4;6175:2;6164:9;6160:18;6152:26;;6188:71;6256:1;6245:9;6241:17;6232:6;6188:71;:::i;:::-;6142:124;;;;:::o;6272:210::-;6359:4;6397:2;6386:9;6382:18;6374:26;;6410:65;6472:1;6461:9;6457:17;6448:6;6410:65;:::i;:::-;6364:118;;;;:::o;6488:313::-;6601:4;6639:2;6628:9;6624:18;6616:26;;6688:9;6682:4;6678:20;6674:1;6663:9;6659:17;6652:47;6716:78;6789:4;6780:6;6716:78;:::i;:::-;6708:86;;6606:195;;;;:::o;6807:419::-;6973:4;7011:2;7000:9;6996:18;6988:26;;7060:9;7054:4;7050:20;7046:1;7035:9;7031:17;7024:47;7088:131;7214:4;7088:131;:::i;:::-;7080:139;;6978:248;;;:::o;7232:419::-;7398:4;7436:2;7425:9;7421:18;7413:26;;7485:9;7479:4;7475:20;7471:1;7460:9;7456:17;7449:47;7513:131;7639:4;7513:131;:::i;:::-;7505:139;;7403:248;;;:::o;7657:419::-;7823:4;7861:2;7850:9;7846:18;7838:26;;7910:9;7904:4;7900:20;7896:1;7885:9;7881:17;7874:47;7938:131;8064:4;7938:131;:::i;:::-;7930:139;;7828:248;;;:::o;8082:419::-;8248:4;8286:2;8275:9;8271:18;8263:26;;8335:9;8329:4;8325:20;8321:1;8310:9;8306:17;8299:47;8363:131;8489:4;8363:131;:::i;:::-;8355:139;;8253:248;;;:::o;8507:419::-;8673:4;8711:2;8700:9;8696:18;8688:26;;8760:9;8754:4;8750:20;8746:1;8735:9;8731:17;8724:47;8788:131;8914:4;8788:131;:::i;:::-;8780:139;;8678:248;;;:::o;8932:419::-;9098:4;9136:2;9125:9;9121:18;9113:26;;9185:9;9179:4;9175:20;9171:1;9160:9;9156:17;9149:47;9213:131;9339:4;9213:131;:::i;:::-;9205:139;;9103:248;;;:::o;9357:419::-;9523:4;9561:2;9550:9;9546:18;9538:26;;9610:9;9604:4;9600:20;9596:1;9585:9;9581:17;9574:47;9638:131;9764:4;9638:131;:::i;:::-;9630:139;;9528:248;;;:::o;9782:419::-;9948:4;9986:2;9975:9;9971:18;9963:26;;10035:9;10029:4;10025:20;10021:1;10010:9;10006:17;9999:47;10063:131;10189:4;10063:131;:::i;:::-;10055:139;;9953:248;;;:::o;10207:222::-;10300:4;10338:2;10327:9;10323:18;10315:26;;10351:71;10419:1;10408:9;10404:17;10395:6;10351:71;:::i;:::-;10305:124;;;;:::o;10435:214::-;10524:4;10562:2;10551:9;10547:18;10539:26;;10575:67;10639:1;10628:9;10624:17;10615:6;10575:67;:::i;:::-;10529:120;;;;:::o;10655:99::-;10707:6;10741:5;10735:12;10725:22;;10714:40;;;:::o;10760:169::-;10844:11;10878:6;10873:3;10866:19;10918:4;10913:3;10909:14;10894:29;;10856:73;;;;:::o;10935:305::-;10975:3;10994:20;11012:1;10994:20;:::i;:::-;10989:25;;11028:20;11046:1;11028:20;:::i;:::-;11023:25;;11182:1;11114:66;11110:74;11107:1;11104:81;11101:2;;;11188:18;;:::i;:::-;11101:2;11232:1;11229;11225:9;11218:16;;10979:261;;;;:::o;11246:191::-;11286:4;11306:20;11324:1;11306:20;:::i;:::-;11301:25;;11340:20;11358:1;11340:20;:::i;:::-;11335:25;;11379:1;11376;11373:8;11370:2;;;11384:18;;:::i;:::-;11370:2;11429:1;11426;11422:9;11414:17;;11291:146;;;;:::o;11443:96::-;11480:7;11509:24;11527:5;11509:24;:::i;:::-;11498:35;;11488:51;;;:::o;11545:90::-;11579:7;11622:5;11615:13;11608:21;11597:32;;11587:48;;;:::o;11641:126::-;11678:7;11718:42;11711:5;11707:54;11696:65;;11686:81;;;:::o;11773:77::-;11810:7;11839:5;11828:16;;11818:32;;;:::o;11856:86::-;11891:7;11931:4;11924:5;11920:16;11909:27;;11899:43;;;:::o;11948:307::-;12016:1;12026:113;12040:6;12037:1;12034:13;12026:113;;;12125:1;12120:3;12116:11;12110:18;12106:1;12101:3;12097:11;12090:39;12062:2;12059:1;12055:10;12050:15;;12026:113;;;12157:6;12154:1;12151:13;12148:2;;;12237:1;12228:6;12223:3;12219:16;12212:27;12148:2;11997:258;;;;:::o;12261:320::-;12305:6;12342:1;12336:4;12332:12;12322:22;;12389:1;12383:4;12379:12;12410:18;12400:2;;12466:4;12458:6;12454:17;12444:27;;12400:2;12528;12520:6;12517:14;12497:18;12494:38;12491:2;;;12547:18;;:::i;:::-;12491:2;12312:269;;;;:::o;12587:180::-;12635:77;12632:1;12625:88;12732:4;12729:1;12722:15;12756:4;12753:1;12746:15;12773:180;12821:77;12818:1;12811:88;12918:4;12915:1;12908:15;12942:4;12939:1;12932:15;12959:102;13000:6;13051:2;13047:7;13042:2;13035:5;13031:14;13027:28;13017:38;;13007:54;;;:::o;13067:222::-;13207:34;13203:1;13195:6;13191:14;13184:58;13276:5;13271:2;13263:6;13259:15;13252:30;13173:116;:::o;13295:225::-;13435:34;13431:1;13423:6;13419:14;13412:58;13504:8;13499:2;13491:6;13487:15;13480:33;13401:119;:::o;13526:221::-;13666:34;13662:1;13654:6;13650:14;13643:58;13735:4;13730:2;13722:6;13718:15;13711:29;13632:115;:::o;13753:177::-;13893:29;13889:1;13881:6;13877:14;13870:53;13859:71;:::o;13936:182::-;14076:34;14072:1;14064:6;14060:14;14053:58;14042:76;:::o;14124:220::-;14264:34;14260:1;14252:6;14248:14;14241:58;14333:3;14328:2;14320:6;14316:15;14309:28;14230:114;:::o;14350:224::-;14490:34;14486:1;14478:6;14474:14;14467:58;14559:7;14554:2;14546:6;14542:15;14535:32;14456:118;:::o;14580:223::-;14720:34;14716:1;14708:6;14704:14;14697:58;14789:6;14784:2;14776:6;14772:15;14765:31;14686:117;:::o;14809:122::-;14882:24;14900:5;14882:24;:::i;:::-;14875:5;14872:35;14862:2;;14921:1;14918;14911:12;14862:2;14852:79;:::o;14937:122::-;15010:24;15028:5;15010:24;:::i;:::-;15003:5;15000:35;14990:2;;15049:1;15046;15039:12;14990:2;14980:79;:::o
Swarm Source
ipfs://e656de650750290a4fdfec01a92c5de8f6f1e7f95d2b9a2efca17d17d1e59dc8
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ 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.