ERC-20
MEME
Overview
Max Total Supply
399,399,399,399 EGG
Holders
750 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
12,415,295,881.25458820308827016 EGGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
JustAnEgg
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-18 */ // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @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. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { 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 virtual onlyOwner { _transferOwnership(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 virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ 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); } // File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ 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); } // File: @openzeppelin/contracts/token/ERC20/ERC20.sol // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol) pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * NOTE: If `amount` 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 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * 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 `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `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. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; // Overflow not possible: amount <= accountBalance <= totalSupply. _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // File: contracts/JustAnEgg.sol pragma solidity ^0.8.4; contract JustAnEgg is ERC20, Ownable { uint256 public constant decimalFactor = 1e18; uint256 public maxBuy; uint256 public maxAmount; uint256 public immutable tax; bool public isMaxBuy; bool public isMaxAmount; bool private isAntiBot; address public immutable taxWallet; address private weth = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address public uniswapV2Pair; mapping(address => bool) public bots; constructor(uint256 _totalSupply, uint256 _tax, address _taxWallet) ERC20("JustAnEgg", "EGG") { _mint(msg.sender, _totalSupply); tax = _tax; taxWallet = _taxWallet; } function antiBot(address _account, bool _state) external onlyOwner { bots[_account] = _state; } function setRule(address _uniswapV2Pair, uint256 _maxAmount, uint256 _maxBuy, bool _isMaxBuy, bool _isMaxAmount, bool _isAntiBot) external onlyOwner { isMaxBuy = _isMaxBuy; isMaxAmount = _isMaxAmount; maxAmount = _maxAmount; maxBuy = _maxBuy; isAntiBot = _isAntiBot; uniswapV2Pair = _uniswapV2Pair; } function _convertMaxBuyInAmount() internal view returns (uint256){ uint256 _balance0 = IERC20(weth).balanceOf(uniswapV2Pair); uint256 _balance1 = IERC20(address(this)).balanceOf(uniswapV2Pair); return (maxBuy * _balance1 ) / _balance0; } function _getFee(uint256 _amount) internal view returns (uint256){ return (tax * _amount * 1e16 ) / decimalFactor; } function _transfer(address from, address to, uint256 amount) internal override { if ((((from != address(0)) && (from == uniswapV2Pair))) || (((to != address(0)) && (to == uniswapV2Pair)))) { uint256 tax_ = _getFee(amount); super._transfer(from, taxWallet, tax_); amount = amount - tax_ ; } super._transfer(from, to, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) override internal virtual { if (uniswapV2Pair == address(0)) { require(from == owner() || to == owner(), "trading is not started"); return; } if (isAntiBot){ require(bots[from] || bots[to], "blacklisted"); } if (isMaxAmount && (from == uniswapV2Pair)) { require(super.balanceOf(to) + amount <= maxAmount, "Max amount"); } if (isMaxBuy && (from == uniswapV2Pair)) { require(super.balanceOf(to) + amount <= _convertMaxBuyInAmount(), "Max Buy"); } } function burn(uint256 value) external { _burn(msg.sender, value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"uint256","name":"_tax","type":"uint256"},{"internalType":"address","name":"_taxWallet","type":"address"}],"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":"_account","type":"address"},{"internalType":"bool","name":"_state","type":"bool"}],"name":"antiBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimalFactor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isMaxAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isMaxBuy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxAmount","type":"uint256"},{"internalType":"uint256","name":"_maxBuy","type":"uint256"},{"internalType":"bool","name":"_isMaxBuy","type":"bool"},{"internalType":"bool","name":"_isMaxAmount","type":"bool"},{"internalType":"bool","name":"_isAntiBot","type":"bool"}],"name":"setRule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"amount","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":"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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60c060405273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600860036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006657600080fd5b50604051620039ed380380620039ed83398181016040528101906200008c919062000a64565b6040518060400160405280600981526020017f4a757374416e45676700000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4547470000000000000000000000000000000000000000000000000000000000815250816003908162000109919062000d30565b5080600490816200011b919062000d30565b5050506200013e620001326200019560201b60201c565b6200019d60201b60201c565b6200015033846200026360201b60201c565b81608081815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200120c565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002d5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002cc9062000e78565b60405180910390fd5b620002e960008383620003d060201b60201c565b8060026000828254620002fd919062000ec9565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003b0919062000f15565b60405180910390a3620003cc60008383620007b760201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603620004f35762000437620007bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480620004ab57506200047c620007bc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b620004ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e49062000f82565b60405180910390fd5b620007b2565b600860029054906101000a900460ff1615620005ee57600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680620005ab5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b620005ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005e49062000ff4565b60405180910390fd5b5b600860019054906101000a900460ff168015620006585750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15620006c957600754816200067884620007e660201b6200070d1760201c565b62000684919062000ec9565b1115620006c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006bf9062001066565b60405180910390fd5b5b600860009054906101000a900460ff168015620007335750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15620007b157620007496200082e60201b60201c565b816200076084620007e660201b6200070d1760201c565b6200076c919062000ec9565b1115620007b0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007a790620010d8565b60405180910390fd5b5b5b505050565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600860039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620008b091906200110b565b602060405180830381865afa158015620008ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008f4919062001128565b905060003073ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200095591906200110b565b602060405180830381865afa15801562000973573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000999919062001128565b90508181600654620009ac91906200115a565b620009b89190620011d4565b9250505090565b600080fd5b6000819050919050565b620009d981620009c4565b8114620009e557600080fd5b50565b600081519050620009f981620009ce565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a2c82620009ff565b9050919050565b62000a3e8162000a1f565b811462000a4a57600080fd5b50565b60008151905062000a5e8162000a33565b92915050565b60008060006060848603121562000a805762000a7f620009bf565b5b600062000a9086828701620009e8565b935050602062000aa386828701620009e8565b925050604062000ab68682870162000a4d565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b4257607f821691505b60208210810362000b585762000b5762000afa565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000bc27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b83565b62000bce868362000b83565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000c1162000c0b62000c0584620009c4565b62000be6565b620009c4565b9050919050565b6000819050919050565b62000c2d8362000bf0565b62000c4562000c3c8262000c18565b84845462000b90565b825550505050565b600090565b62000c5c62000c4d565b62000c6981848462000c22565b505050565b5b8181101562000c915762000c8560008262000c52565b60018101905062000c6f565b5050565b601f82111562000ce05762000caa8162000b5e565b62000cb58462000b73565b8101602085101562000cc5578190505b62000cdd62000cd48562000b73565b83018262000c6e565b50505b505050565b600082821c905092915050565b600062000d056000198460080262000ce5565b1980831691505092915050565b600062000d20838362000cf2565b9150826002028217905092915050565b62000d3b8262000ac0565b67ffffffffffffffff81111562000d575762000d5662000acb565b5b62000d63825462000b29565b62000d7082828562000c95565b600060209050601f83116001811462000da8576000841562000d93578287015190505b62000d9f858262000d12565b86555062000e0f565b601f19841662000db88662000b5e565b60005b8281101562000de25784890151825560018201915060208501945060208101905062000dbb565b8683101562000e02578489015162000dfe601f89168262000cf2565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000e60601f8362000e17565b915062000e6d8262000e28565b602082019050919050565b6000602082019050818103600083015262000e938162000e51565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ed682620009c4565b915062000ee383620009c4565b925082820190508082111562000efe5762000efd62000e9a565b5b92915050565b62000f0f81620009c4565b82525050565b600060208201905062000f2c600083018462000f04565b92915050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600062000f6a60168362000e17565b915062000f778262000f32565b602082019050919050565b6000602082019050818103600083015262000f9d8162000f5b565b9050919050565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600062000fdc600b8362000e17565b915062000fe98262000fa4565b602082019050919050565b600060208201905081810360008301526200100f8162000fcd565b9050919050565b7f4d617820616d6f756e7400000000000000000000000000000000000000000000600082015250565b60006200104e600a8362000e17565b91506200105b8262001016565b602082019050919050565b6000602082019050818103600083015262001081816200103f565b9050919050565b7f4d61782042757900000000000000000000000000000000000000000000000000600082015250565b6000620010c060078362000e17565b9150620010cd8262001088565b602082019050919050565b60006020820190508181036000830152620010f381620010b1565b9050919050565b620011058162000a1f565b82525050565b6000602082019050620011226000830184620010fa565b92915050565b600060208284031215620011415762001140620009bf565b5b60006200115184828501620009e8565b91505092915050565b60006200116782620009c4565b91506200117483620009c4565b92508282026200118481620009c4565b915082820484148315176200119e576200119d62000e9a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620011e182620009c4565b9150620011ee83620009c4565b925082620012015762001200620011a5565b5b828204905092915050565b60805160a0516127ad62001240600039600081816106660152610e760152600081816108da01526111e201526127ad6000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370db69d6116100de578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e1461048b578063e701ac67146104bb578063f2fde38b146104d9578063fc78692f146104f55761018e565b8063a457c2d7146103fb578063a9059cbb1461042b578063bfd792841461045b5761018e565b806370db69d61461035d578063715018a61461037b57806377855de4146103855780638da5cb5b146103a157806395d89b41146103bf57806399c8d556146103dd5761018e565b8063313ce5671161014b57806349bd5a5e1161012557806349bd5a5e146102d35780635f48f393146102f15780636d6a6a4d1461030f57806370a082311461032d5761018e565b8063313ce56714610269578063395093511461028757806342966c68146102b75761018e565b806306fdde0314610193578063095ea7b3146101b157806318160ddd146101e157806323b872dd146101ff5780632597e6e51461022f5780632dc0562d1461024b575b600080fd5b61019b610513565b6040516101a89190611a50565b60405180910390f35b6101cb60048036038101906101c69190611b0b565b6105a5565b6040516101d89190611b66565b60405180910390f35b6101e96105c8565b6040516101f69190611b90565b60405180910390f35b61021960048036038101906102149190611bab565b6105d2565b6040516102269190611b66565b60405180910390f35b61024960048036038101906102449190611c2a565b610601565b005b610253610664565b6040516102609190611c79565b60405180910390f35b610271610688565b60405161027e9190611cb0565b60405180910390f35b6102a1600480360381019061029c9190611b0b565b610691565b6040516102ae9190611b66565b60405180910390f35b6102d160048036038101906102cc9190611ccb565b6106c8565b005b6102db6106d5565b6040516102e89190611c79565b60405180910390f35b6102f96106fb565b6040516103069190611b90565b60405180910390f35b610317610701565b6040516103249190611b90565b60405180910390f35b61034760048036038101906103429190611cf8565b61070d565b6040516103549190611b90565b60405180910390f35b610365610755565b6040516103729190611b90565b60405180910390f35b61038361075b565b005b61039f600480360381019061039a9190611d25565b61076f565b005b6103a961081c565b6040516103b69190611c79565b60405180910390f35b6103c7610846565b6040516103d49190611a50565b60405180910390f35b6103e56108d8565b6040516103f29190611b90565b60405180910390f35b61041560048036038101906104109190611b0b565b6108fc565b6040516104229190611b66565b60405180910390f35b61044560048036038101906104409190611b0b565b610973565b6040516104529190611b66565b60405180910390f35b61047560048036038101906104709190611cf8565b610996565b6040516104829190611b66565b60405180910390f35b6104a560048036038101906104a09190611db2565b6109b6565b6040516104b29190611b90565b60405180910390f35b6104c3610a3d565b6040516104d09190611b66565b60405180910390f35b6104f360048036038101906104ee9190611cf8565b610a50565b005b6104fd610ad3565b60405161050a9190611b66565b60405180910390f35b60606003805461052290611e21565b80601f016020809104026020016040519081016040528092919081815260200182805461054e90611e21565b801561059b5780601f106105705761010080835404028352916020019161059b565b820191906000526020600020905b81548152906001019060200180831161057e57829003601f168201915b5050505050905090565b6000806105b0610ae6565b90506105bd818585610aee565b600191505092915050565b6000600254905090565b6000806105dd610ae6565b90506105ea858285610cb7565b6105f5858585610d43565b60019150509392505050565b610609610ebb565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006012905090565b60008061069c610ae6565b90506106bd8185856106ae85896109b6565b6106b89190611e81565b610aee565b600191505092915050565b6106d23382610f39565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b670de0b6b3a764000081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b610763610ebb565b61076d6000611106565b565b610777610ebb565b82600860006101000a81548160ff02191690831515021790555081600860016101000a81548160ff021916908315150217905550846007819055508360068190555080600860026101000a81548160ff02191690831515021790555085600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461085590611e21565b80601f016020809104026020016040519081016040528092919081815260200182805461088190611e21565b80156108ce5780601f106108a3576101008083540402835291602001916108ce565b820191906000526020600020905b8154815290600101906020018083116108b157829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080610907610ae6565b9050600061091582866109b6565b90508381101561095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190611f27565b60405180910390fd5b6109678286868403610aee565b60019250505092915050565b60008061097e610ae6565b905061098b818585610d43565b600191505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860019054906101000a900460ff1681565b610a58610ebb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abe90611fb9565b60405180910390fd5b610ad081611106565b50565b600860009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b549061204b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc3906120dd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610caa9190611b90565b60405180910390a3505050565b6000610cc384846109b6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d3d5781811015610d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2690612149565b60405180910390fd5b610d3c8484848403610aee565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610dcd5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80610e5e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610e5d5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b15610eab576000610e6e826111cc565b9050610e9b847f000000000000000000000000000000000000000000000000000000000000000083611226565b8082610ea79190612169565b9150505b610eb6838383611226565b505050565b610ec3610ae6565b73ffffffffffffffffffffffffffffffffffffffff16610ee161081c565b73ffffffffffffffffffffffffffffffffffffffff1614610f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2e906121e9565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f9061227b565b60405180910390fd5b610fb48260008361149c565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561103a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110319061230d565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110ed9190611b90565b60405180910390a361110183600084611838565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000670de0b6b3a7640000662386f26fc10000837f000000000000000000000000000000000000000000000000000000000000000061120b919061232d565b611215919061232d565b61121f919061239e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90612441565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb906124d3565b60405180910390fd5b61130f83838361149c565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c90612565565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114839190611b90565b60405180910390a3611496848484611838565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036115a9576114fa61081c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611565575061153661081c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b906125d1565b60405180910390fd5b611833565b600860029054906101000a900460ff161561169f57600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061165f5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61169e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116959061263d565b60405180910390fd5b5b600860019054906101000a900460ff1680156117085750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611766576007548161171a8461070d565b6117249190611e81565b1115611765576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175c906126a9565b60405180910390fd5b5b600860009054906101000a900460ff1680156117cf5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611832576117dc61183d565b816117e68461070d565b6117f09190611e81565b1115611831576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182890612715565b60405180910390fd5b5b5b505050565b505050565b600080600860039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016118bd9190611c79565b602060405180830381865afa1580156118da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fe919061274a565b905060003073ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161195d9190611c79565b602060405180830381865afa15801561197a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199e919061274a565b905081816006546119af919061232d565b6119b9919061239e565b9250505090565b600081519050919050565b600082825260208201905092915050565b60005b838110156119fa5780820151818401526020810190506119df565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a22826119c0565b611a2c81856119cb565b9350611a3c8185602086016119dc565b611a4581611a06565b840191505092915050565b60006020820190508181036000830152611a6a8184611a17565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611aa282611a77565b9050919050565b611ab281611a97565b8114611abd57600080fd5b50565b600081359050611acf81611aa9565b92915050565b6000819050919050565b611ae881611ad5565b8114611af357600080fd5b50565b600081359050611b0581611adf565b92915050565b60008060408385031215611b2257611b21611a72565b5b6000611b3085828601611ac0565b9250506020611b4185828601611af6565b9150509250929050565b60008115159050919050565b611b6081611b4b565b82525050565b6000602082019050611b7b6000830184611b57565b92915050565b611b8a81611ad5565b82525050565b6000602082019050611ba56000830184611b81565b92915050565b600080600060608486031215611bc457611bc3611a72565b5b6000611bd286828701611ac0565b9350506020611be386828701611ac0565b9250506040611bf486828701611af6565b9150509250925092565b611c0781611b4b565b8114611c1257600080fd5b50565b600081359050611c2481611bfe565b92915050565b60008060408385031215611c4157611c40611a72565b5b6000611c4f85828601611ac0565b9250506020611c6085828601611c15565b9150509250929050565b611c7381611a97565b82525050565b6000602082019050611c8e6000830184611c6a565b92915050565b600060ff82169050919050565b611caa81611c94565b82525050565b6000602082019050611cc56000830184611ca1565b92915050565b600060208284031215611ce157611ce0611a72565b5b6000611cef84828501611af6565b91505092915050565b600060208284031215611d0e57611d0d611a72565b5b6000611d1c84828501611ac0565b91505092915050565b60008060008060008060c08789031215611d4257611d41611a72565b5b6000611d5089828a01611ac0565b9650506020611d6189828a01611af6565b9550506040611d7289828a01611af6565b9450506060611d8389828a01611c15565b9350506080611d9489828a01611c15565b92505060a0611da589828a01611c15565b9150509295509295509295565b60008060408385031215611dc957611dc8611a72565b5b6000611dd785828601611ac0565b9250506020611de885828601611ac0565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e3957607f821691505b602082108103611e4c57611e4b611df2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e8c82611ad5565b9150611e9783611ad5565b9250828201905080821115611eaf57611eae611e52565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611f116025836119cb565b9150611f1c82611eb5565b604082019050919050565b60006020820190508181036000830152611f4081611f04565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611fa36026836119cb565b9150611fae82611f47565b604082019050919050565b60006020820190508181036000830152611fd281611f96565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006120356024836119cb565b915061204082611fd9565b604082019050919050565b6000602082019050818103600083015261206481612028565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006120c76022836119cb565b91506120d28261206b565b604082019050919050565b600060208201905081810360008301526120f6816120ba565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612133601d836119cb565b915061213e826120fd565b602082019050919050565b6000602082019050818103600083015261216281612126565b9050919050565b600061217482611ad5565b915061217f83611ad5565b925082820390508181111561219757612196611e52565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121d36020836119cb565b91506121de8261219d565b602082019050919050565b60006020820190508181036000830152612202816121c6565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006122656021836119cb565b915061227082612209565b604082019050919050565b6000602082019050818103600083015261229481612258565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006122f76022836119cb565b91506123028261229b565b604082019050919050565b60006020820190508181036000830152612326816122ea565b9050919050565b600061233882611ad5565b915061234383611ad5565b925082820261235181611ad5565b9150828204841483151761236857612367611e52565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006123a982611ad5565b91506123b483611ad5565b9250826123c4576123c361236f565b5b828204905092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061242b6025836119cb565b9150612436826123cf565b604082019050919050565b6000602082019050818103600083015261245a8161241e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006124bd6023836119cb565b91506124c882612461565b604082019050919050565b600060208201905081810360008301526124ec816124b0565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061254f6026836119cb565b915061255a826124f3565b604082019050919050565b6000602082019050818103600083015261257e81612542565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b60006125bb6016836119cb565b91506125c682612585565b602082019050919050565b600060208201905081810360008301526125ea816125ae565b9050919050565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000612627600b836119cb565b9150612632826125f1565b602082019050919050565b600060208201905081810360008301526126568161261a565b9050919050565b7f4d617820616d6f756e7400000000000000000000000000000000000000000000600082015250565b6000612693600a836119cb565b915061269e8261265d565b602082019050919050565b600060208201905081810360008301526126c281612686565b9050919050565b7f4d61782042757900000000000000000000000000000000000000000000000000600082015250565b60006126ff6007836119cb565b915061270a826126c9565b602082019050919050565b6000602082019050818103600083015261272e816126f2565b9050919050565b60008151905061274481611adf565b92915050565b6000602082840312156127605761275f611a72565b5b600061276e84828501612735565b9150509291505056fea2646970667358221220f6261cd3ebc0256003cae592dffee693c540884efc4e07ff4f407591a37855e964736f6c6343000812003300000000000000000000000000000000000000050a877099e3dbdeb3673c00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e53affa8172260f80ae20d2c4e82a0ee154bedf8
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061018e5760003560e01c806370db69d6116100de578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e1461048b578063e701ac67146104bb578063f2fde38b146104d9578063fc78692f146104f55761018e565b8063a457c2d7146103fb578063a9059cbb1461042b578063bfd792841461045b5761018e565b806370db69d61461035d578063715018a61461037b57806377855de4146103855780638da5cb5b146103a157806395d89b41146103bf57806399c8d556146103dd5761018e565b8063313ce5671161014b57806349bd5a5e1161012557806349bd5a5e146102d35780635f48f393146102f15780636d6a6a4d1461030f57806370a082311461032d5761018e565b8063313ce56714610269578063395093511461028757806342966c68146102b75761018e565b806306fdde0314610193578063095ea7b3146101b157806318160ddd146101e157806323b872dd146101ff5780632597e6e51461022f5780632dc0562d1461024b575b600080fd5b61019b610513565b6040516101a89190611a50565b60405180910390f35b6101cb60048036038101906101c69190611b0b565b6105a5565b6040516101d89190611b66565b60405180910390f35b6101e96105c8565b6040516101f69190611b90565b60405180910390f35b61021960048036038101906102149190611bab565b6105d2565b6040516102269190611b66565b60405180910390f35b61024960048036038101906102449190611c2a565b610601565b005b610253610664565b6040516102609190611c79565b60405180910390f35b610271610688565b60405161027e9190611cb0565b60405180910390f35b6102a1600480360381019061029c9190611b0b565b610691565b6040516102ae9190611b66565b60405180910390f35b6102d160048036038101906102cc9190611ccb565b6106c8565b005b6102db6106d5565b6040516102e89190611c79565b60405180910390f35b6102f96106fb565b6040516103069190611b90565b60405180910390f35b610317610701565b6040516103249190611b90565b60405180910390f35b61034760048036038101906103429190611cf8565b61070d565b6040516103549190611b90565b60405180910390f35b610365610755565b6040516103729190611b90565b60405180910390f35b61038361075b565b005b61039f600480360381019061039a9190611d25565b61076f565b005b6103a961081c565b6040516103b69190611c79565b60405180910390f35b6103c7610846565b6040516103d49190611a50565b60405180910390f35b6103e56108d8565b6040516103f29190611b90565b60405180910390f35b61041560048036038101906104109190611b0b565b6108fc565b6040516104229190611b66565b60405180910390f35b61044560048036038101906104409190611b0b565b610973565b6040516104529190611b66565b60405180910390f35b61047560048036038101906104709190611cf8565b610996565b6040516104829190611b66565b60405180910390f35b6104a560048036038101906104a09190611db2565b6109b6565b6040516104b29190611b90565b60405180910390f35b6104c3610a3d565b6040516104d09190611b66565b60405180910390f35b6104f360048036038101906104ee9190611cf8565b610a50565b005b6104fd610ad3565b60405161050a9190611b66565b60405180910390f35b60606003805461052290611e21565b80601f016020809104026020016040519081016040528092919081815260200182805461054e90611e21565b801561059b5780601f106105705761010080835404028352916020019161059b565b820191906000526020600020905b81548152906001019060200180831161057e57829003601f168201915b5050505050905090565b6000806105b0610ae6565b90506105bd818585610aee565b600191505092915050565b6000600254905090565b6000806105dd610ae6565b90506105ea858285610cb7565b6105f5858585610d43565b60019150509392505050565b610609610ebb565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b7f000000000000000000000000e53affa8172260f80ae20d2c4e82a0ee154bedf881565b60006012905090565b60008061069c610ae6565b90506106bd8185856106ae85896109b6565b6106b89190611e81565b610aee565b600191505092915050565b6106d23382610f39565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b670de0b6b3a764000081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b610763610ebb565b61076d6000611106565b565b610777610ebb565b82600860006101000a81548160ff02191690831515021790555081600860016101000a81548160ff021916908315150217905550846007819055508360068190555080600860026101000a81548160ff02191690831515021790555085600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461085590611e21565b80601f016020809104026020016040519081016040528092919081815260200182805461088190611e21565b80156108ce5780601f106108a3576101008083540402835291602001916108ce565b820191906000526020600020905b8154815290600101906020018083116108b157829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000181565b600080610907610ae6565b9050600061091582866109b6565b90508381101561095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095190611f27565b60405180910390fd5b6109678286868403610aee565b60019250505092915050565b60008061097e610ae6565b905061098b818585610d43565b600191505092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600860019054906101000a900460ff1681565b610a58610ebb565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abe90611fb9565b60405180910390fd5b610ad081611106565b50565b600860009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b549061204b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc3906120dd565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610caa9190611b90565b60405180910390a3505050565b6000610cc384846109b6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d3d5781811015610d2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2690612149565b60405180910390fd5b610d3c8484848403610aee565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610dcd5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80610e5e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610e5d5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b15610eab576000610e6e826111cc565b9050610e9b847f000000000000000000000000e53affa8172260f80ae20d2c4e82a0ee154bedf883611226565b8082610ea79190612169565b9150505b610eb6838383611226565b505050565b610ec3610ae6565b73ffffffffffffffffffffffffffffffffffffffff16610ee161081c565b73ffffffffffffffffffffffffffffffffffffffff1614610f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2e906121e9565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f9061227b565b60405180910390fd5b610fb48260008361149c565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561103a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110319061230d565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110ed9190611b90565b60405180910390a361110183600084611838565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000670de0b6b3a7640000662386f26fc10000837f000000000000000000000000000000000000000000000000000000000000000161120b919061232d565b611215919061232d565b61121f919061239e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128c90612441565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb906124d3565b60405180910390fd5b61130f83838361149c565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c90612565565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114839190611b90565b60405180910390a3611496848484611838565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036115a9576114fa61081c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611565575061153661081c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b906125d1565b60405180910390fd5b611833565b600860029054906101000a900460ff161561169f57600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061165f5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61169e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116959061263d565b60405180910390fd5b5b600860019054906101000a900460ff1680156117085750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611766576007548161171a8461070d565b6117249190611e81565b1115611765576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175c906126a9565b60405180910390fd5b5b600860009054906101000a900460ff1680156117cf5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611832576117dc61183d565b816117e68461070d565b6117f09190611e81565b1115611831576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182890612715565b60405180910390fd5b5b5b505050565b505050565b600080600860039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016118bd9190611c79565b602060405180830381865afa1580156118da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fe919061274a565b905060003073ffffffffffffffffffffffffffffffffffffffff166370a08231600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161195d9190611c79565b602060405180830381865afa15801561197a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199e919061274a565b905081816006546119af919061232d565b6119b9919061239e565b9250505090565b600081519050919050565b600082825260208201905092915050565b60005b838110156119fa5780820151818401526020810190506119df565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a22826119c0565b611a2c81856119cb565b9350611a3c8185602086016119dc565b611a4581611a06565b840191505092915050565b60006020820190508181036000830152611a6a8184611a17565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611aa282611a77565b9050919050565b611ab281611a97565b8114611abd57600080fd5b50565b600081359050611acf81611aa9565b92915050565b6000819050919050565b611ae881611ad5565b8114611af357600080fd5b50565b600081359050611b0581611adf565b92915050565b60008060408385031215611b2257611b21611a72565b5b6000611b3085828601611ac0565b9250506020611b4185828601611af6565b9150509250929050565b60008115159050919050565b611b6081611b4b565b82525050565b6000602082019050611b7b6000830184611b57565b92915050565b611b8a81611ad5565b82525050565b6000602082019050611ba56000830184611b81565b92915050565b600080600060608486031215611bc457611bc3611a72565b5b6000611bd286828701611ac0565b9350506020611be386828701611ac0565b9250506040611bf486828701611af6565b9150509250925092565b611c0781611b4b565b8114611c1257600080fd5b50565b600081359050611c2481611bfe565b92915050565b60008060408385031215611c4157611c40611a72565b5b6000611c4f85828601611ac0565b9250506020611c6085828601611c15565b9150509250929050565b611c7381611a97565b82525050565b6000602082019050611c8e6000830184611c6a565b92915050565b600060ff82169050919050565b611caa81611c94565b82525050565b6000602082019050611cc56000830184611ca1565b92915050565b600060208284031215611ce157611ce0611a72565b5b6000611cef84828501611af6565b91505092915050565b600060208284031215611d0e57611d0d611a72565b5b6000611d1c84828501611ac0565b91505092915050565b60008060008060008060c08789031215611d4257611d41611a72565b5b6000611d5089828a01611ac0565b9650506020611d6189828a01611af6565b9550506040611d7289828a01611af6565b9450506060611d8389828a01611c15565b9350506080611d9489828a01611c15565b92505060a0611da589828a01611c15565b9150509295509295509295565b60008060408385031215611dc957611dc8611a72565b5b6000611dd785828601611ac0565b9250506020611de885828601611ac0565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e3957607f821691505b602082108103611e4c57611e4b611df2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611e8c82611ad5565b9150611e9783611ad5565b9250828201905080821115611eaf57611eae611e52565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611f116025836119cb565b9150611f1c82611eb5565b604082019050919050565b60006020820190508181036000830152611f4081611f04565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611fa36026836119cb565b9150611fae82611f47565b604082019050919050565b60006020820190508181036000830152611fd281611f96565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006120356024836119cb565b915061204082611fd9565b604082019050919050565b6000602082019050818103600083015261206481612028565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006120c76022836119cb565b91506120d28261206b565b604082019050919050565b600060208201905081810360008301526120f6816120ba565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612133601d836119cb565b915061213e826120fd565b602082019050919050565b6000602082019050818103600083015261216281612126565b9050919050565b600061217482611ad5565b915061217f83611ad5565b925082820390508181111561219757612196611e52565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121d36020836119cb565b91506121de8261219d565b602082019050919050565b60006020820190508181036000830152612202816121c6565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006122656021836119cb565b915061227082612209565b604082019050919050565b6000602082019050818103600083015261229481612258565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006122f76022836119cb565b91506123028261229b565b604082019050919050565b60006020820190508181036000830152612326816122ea565b9050919050565b600061233882611ad5565b915061234383611ad5565b925082820261235181611ad5565b9150828204841483151761236857612367611e52565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006123a982611ad5565b91506123b483611ad5565b9250826123c4576123c361236f565b5b828204905092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061242b6025836119cb565b9150612436826123cf565b604082019050919050565b6000602082019050818103600083015261245a8161241e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006124bd6023836119cb565b91506124c882612461565b604082019050919050565b600060208201905081810360008301526124ec816124b0565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061254f6026836119cb565b915061255a826124f3565b604082019050919050565b6000602082019050818103600083015261257e81612542565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b60006125bb6016836119cb565b91506125c682612585565b602082019050919050565b600060208201905081810360008301526125ea816125ae565b9050919050565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000612627600b836119cb565b9150612632826125f1565b602082019050919050565b600060208201905081810360008301526126568161261a565b9050919050565b7f4d617820616d6f756e7400000000000000000000000000000000000000000000600082015250565b6000612693600a836119cb565b915061269e8261265d565b602082019050919050565b600060208201905081810360008301526126c281612686565b9050919050565b7f4d61782042757900000000000000000000000000000000000000000000000000600082015250565b60006126ff6007836119cb565b915061270a826126c9565b602082019050919050565b6000602082019050818103600083015261272e816126f2565b9050919050565b60008151905061274481611adf565b92915050565b6000602082840312156127605761275f611a72565b5b600061276e84828501612735565b9150509291505056fea2646970667358221220f6261cd3ebc0256003cae592dffee693c540884efc4e07ff4f407591a37855e964736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000050a877099e3dbdeb3673c00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e53affa8172260f80ae20d2c4e82a0ee154bedf8
-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 399399399399000000000000000000
Arg [1] : _tax (uint256): 1
Arg [2] : _taxWallet (address): 0xE53AFFa8172260F80AE20d2C4E82a0ee154bEDf8
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000050a877099e3dbdeb3673c0000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [2] : 000000000000000000000000e53affa8172260f80ae20d2c4e82a0ee154bedf8
Deployed Bytecode Sourcemap
20612:2829:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9351:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11702:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10471:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12483:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21290:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20890:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10313:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13187:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23357:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21003:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20737:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20658:44;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10642:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20709:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2776:103;;;:::i;:::-;;21414:359;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2128:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9570:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20768:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13928:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10975:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21038:36;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11231:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20831:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3034:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20804:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9351:100;9405:13;9438:5;9431:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9351:100;:::o;11702:201::-;11785:4;11802:13;11818:12;:10;:12::i;:::-;11802:28;;11841:32;11850:5;11857:7;11866:6;11841:8;:32::i;:::-;11891:4;11884:11;;;11702:201;;;;:::o;10471:108::-;10532:7;10559:12;;10552:19;;10471:108;:::o;12483:295::-;12614:4;12631:15;12649:12;:10;:12::i;:::-;12631:30;;12672:38;12688:4;12694:7;12703:6;12672:15;:38::i;:::-;12721:27;12731:4;12737:2;12741:6;12721:9;:27::i;:::-;12766:4;12759:11;;;12483:295;;;;;:::o;21290:109::-;2014:13;:11;:13::i;:::-;21385:6:::1;21368:4;:14;21373:8;21368:14;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;21290:109:::0;;:::o;20890:34::-;;;:::o;10313:93::-;10371:5;10396:2;10389:9;;10313:93;:::o;13187:238::-;13275:4;13292:13;13308:12;:10;:12::i;:::-;13292:28;;13331:64;13340:5;13347:7;13384:10;13356:25;13366:5;13373:7;13356:9;:25::i;:::-;:38;;;;:::i;:::-;13331:8;:64::i;:::-;13413:4;13406:11;;;13187:238;;;;:::o;23357:81::-;23406:24;23412:10;23424:5;23406;:24::i;:::-;23357:81;:::o;21003:28::-;;;;;;;;;;;;;:::o;20737:24::-;;;;:::o;20658:44::-;20698:4;20658:44;:::o;10642:127::-;10716:7;10743:9;:18;10753:7;10743:18;;;;;;;;;;;;;;;;10736:25;;10642:127;;;:::o;20709:21::-;;;;:::o;2776:103::-;2014:13;:11;:13::i;:::-;2841:30:::1;2868:1;2841:18;:30::i;:::-;2776:103::o:0;21414:359::-;2014:13;:11;:13::i;:::-;21585:9:::1;21574:8;;:20;;;;;;;;;;;;;;;;;;21619:12;21605:11;;:26;;;;;;;;;;;;;;;;;;21654:10;21642:9;:22;;;;21684:7;21675:6;:16;;;;21714:10;21702:9;;:22;;;;;;;;;;;;;;;;;;21751:14;21735:13;;:30;;;;;;;;;;;;;;;;;;21414:359:::0;;;;;;:::o;2128:87::-;2174:7;2201:6;;;;;;;;;;;2194:13;;2128:87;:::o;9570:104::-;9626:13;9659:7;9652:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9570:104;:::o;20768:28::-;;;:::o;13928:436::-;14021:4;14038:13;14054:12;:10;:12::i;:::-;14038:28;;14077:24;14104:25;14114:5;14121:7;14104:9;:25::i;:::-;14077:52;;14168:15;14148:16;:35;;14140:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14261:60;14270:5;14277:7;14305:15;14286:16;:34;14261:8;:60::i;:::-;14352:4;14345:11;;;;13928:436;;;;:::o;10975:193::-;11054:4;11071:13;11087:12;:10;:12::i;:::-;11071:28;;11110;11120:5;11127:2;11131:6;11110:9;:28::i;:::-;11156:4;11149:11;;;10975:193;;;;:::o;21038:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;11231:151::-;11320:7;11347:11;:18;11359:5;11347:18;;;;;;;;;;;;;;;:27;11366:7;11347:27;;;;;;;;;;;;;;;;11340:34;;11231:151;;;;:::o;20831:23::-;;;;;;;;;;;;;:::o;3034:201::-;2014:13;:11;:13::i;:::-;3143:1:::1;3123:22;;:8;:22;;::::0;3115:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3199:28;3218:8;3199:18;:28::i;:::-;3034:201:::0;:::o;20804:20::-;;;;;;;;;;;;;:::o;679:98::-;732:7;759:10;752:17;;679:98;:::o;17955:380::-;18108:1;18091:19;;:5;:19;;;18083:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18189:1;18170:21;;:7;:21;;;18162:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18273:6;18243:11;:18;18255:5;18243:18;;;;;;;;;;;;;;;:27;18262:7;18243:27;;;;;;;;;;;;;;;:36;;;;18311:7;18295:32;;18304:5;18295:32;;;18320:6;18295:32;;;;;;:::i;:::-;;;;;;;;17955:380;;;:::o;18626:453::-;18761:24;18788:25;18798:5;18805:7;18788:9;:25::i;:::-;18761:52;;18848:17;18828:16;:37;18824:248;;18910:6;18890:16;:26;;18882:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18994:51;19003:5;19010:7;19038:6;19019:16;:25;18994:8;:51::i;:::-;18824:248;18750:329;18626:453;;;:::o;22209:428::-;22328:1;22312:18;;:4;:18;;;;22311:47;;;;;22344:13;;;;;;;;;;;22336:21;;:4;:21;;;22311:47;22309:102;;;;22381:1;22367:16;;:2;:16;;;;22366:43;;;;;22395:13;;;;;;;;;;;22389:19;;:2;:19;;;22366:43;22309:102;22305:268;;;22432:12;22447:15;22455:6;22447:7;:15::i;:::-;22432:30;;22481:38;22497:4;22503:9;22514:4;22481:15;:38::i;:::-;22556:4;22547:6;:13;;;;:::i;:::-;22538:22;;22413:160;22305:268;22596:33;22612:4;22618:2;22622:6;22596:15;:33::i;:::-;22209:428;;;:::o;2293:132::-;2368:12;:10;:12::i;:::-;2357:23;;:7;:5;:7::i;:::-;:23;;;2349:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2293:132::o;16842:675::-;16945:1;16926:21;;:7;:21;;;16918:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16998:49;17019:7;17036:1;17040:6;16998:20;:49::i;:::-;17060:22;17085:9;:18;17095:7;17085:18;;;;;;;;;;;;;;;;17060:43;;17140:6;17122:14;:24;;17114:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;17259:6;17242:14;:23;17221:9;:18;17231:7;17221:18;;;;;;;;;;;;;;;:44;;;;17376:6;17360:12;;:22;;;;;;;;;;;17437:1;17411:37;;17420:7;17411:37;;;17441:6;17411:37;;;;;;:::i;:::-;;;;;;;;17461:48;17481:7;17498:1;17502:6;17461:19;:48::i;:::-;16907:610;16842:675;;:::o;3395:191::-;3469:16;3488:6;;;;;;;;;;;3469:25;;3514:8;3505:6;;:17;;;;;;;;;;;;;;;;;;3569:8;3538:40;;3559:8;3538:40;;;;;;;;;;;;3458:128;3395:191;:::o;22061:140::-;22118:7;20698:4;22171;22161:7;22155:3;:13;;;;:::i;:::-;:20;;;;:::i;:::-;22154:39;;;;:::i;:::-;22147:46;;22061:140;;;:::o;14834:840::-;14981:1;14965:18;;:4;:18;;;14957:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15058:1;15044:16;;:2;:16;;;15036:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15113:38;15134:4;15140:2;15144:6;15113:20;:38::i;:::-;15164:19;15186:9;:15;15196:4;15186:15;;;;;;;;;;;;;;;;15164:37;;15235:6;15220:11;:21;;15212:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15352:6;15338:11;:20;15320:9;:15;15330:4;15320:15;;;;;;;;;;;;;;;:38;;;;15555:6;15538:9;:13;15548:2;15538:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;15605:2;15590:26;;15599:4;15590:26;;;15609:6;15590:26;;;;;;:::i;:::-;;;;;;;;15629:37;15649:4;15655:2;15659:6;15629:19;:37::i;:::-;14946:728;14834:840;;;:::o;22645:704::-;22819:1;22794:27;;:13;;;;;;;;;;;:27;;;22790:148;;22854:7;:5;:7::i;:::-;22846:15;;:4;:15;;;:32;;;;22871:7;:5;:7::i;:::-;22865:13;;:2;:13;;;22846:32;22838:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22920:7;;22790:148;22954:9;;;;;;;;;;;22950:87;;;22987:4;:10;22992:4;22987:10;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;;23001:4;:8;23006:2;23001:8;;;;;;;;;;;;;;;;;;;;;;;;;22987:22;22979:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;22950:87;23055:11;;;;;;;;;;;:38;;;;;23079:13;;;;;;;;;;;23071:21;;:4;:21;;;23055:38;23051:135;;;23150:9;;23140:6;23118:19;23134:2;23118:15;:19::i;:::-;:28;;;;:::i;:::-;:41;;23110:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;23051:135;23202:8;;;;;;;;;;;:35;;;;;23223:13;;;;;;;;;;;23215:21;;:4;:21;;;23202:35;23198:144;;;23294:24;:22;:24::i;:::-;23284:6;23262:19;23278:2;23262:15;:19::i;:::-;:28;;;;:::i;:::-;:56;;23254:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;23198:144;22645:704;;;;:::o;20408:124::-;;;;:::o;21783:270::-;21841:7;21860:17;21887:4;;;;;;;;;;;21880:22;;;21903:13;;;;;;;;;;;21880:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21860:57;;21928:17;21963:4;21948:31;;;21980:13;;;;;;;;;;;21948:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21928:66;;22036:9;22022;22013:6;;:18;;;;:::i;:::-;22012:33;;;;:::i;:::-;22005:40;;;;21783:270;:::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:116::-;4493:21;4508:5;4493:21;:::i;:::-;4486:5;4483:32;4473:60;;4529:1;4526;4519:12;4473:60;4423:116;:::o;4545:133::-;4588:5;4626:6;4613:20;4604:29;;4642:30;4666:5;4642:30;:::i;:::-;4545:133;;;;:::o;4684:468::-;4749:6;4757;4806:2;4794:9;4785:7;4781:23;4777:32;4774:119;;;4812:79;;:::i;:::-;4774:119;4932:1;4957:53;5002:7;4993:6;4982:9;4978:22;4957:53;:::i;:::-;4947:63;;4903:117;5059:2;5085:50;5127:7;5118:6;5107:9;5103:22;5085:50;:::i;:::-;5075:60;;5030:115;4684:468;;;;;:::o;5158:118::-;5245:24;5263:5;5245:24;:::i;:::-;5240:3;5233:37;5158:118;;:::o;5282:222::-;5375:4;5413:2;5402:9;5398:18;5390:26;;5426:71;5494:1;5483:9;5479:17;5470:6;5426:71;:::i;:::-;5282:222;;;;:::o;5510:86::-;5545:7;5585:4;5578:5;5574:16;5563:27;;5510:86;;;:::o;5602:112::-;5685:22;5701:5;5685:22;:::i;:::-;5680:3;5673:35;5602:112;;:::o;5720:214::-;5809:4;5847:2;5836:9;5832:18;5824:26;;5860:67;5924:1;5913:9;5909:17;5900:6;5860:67;:::i;:::-;5720:214;;;;:::o;5940:329::-;5999:6;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;5940:329;;;;:::o;6275:::-;6334:6;6383:2;6371:9;6362:7;6358:23;6354:32;6351:119;;;6389:79;;:::i;:::-;6351:119;6509:1;6534:53;6579:7;6570:6;6559:9;6555:22;6534:53;:::i;:::-;6524:63;;6480:117;6275:329;;;;:::o;6610:1039::-;6705:6;6713;6721;6729;6737;6745;6794:3;6782:9;6773:7;6769:23;6765:33;6762:120;;;6801:79;;:::i;:::-;6762:120;6921:1;6946:53;6991:7;6982:6;6971:9;6967:22;6946:53;:::i;:::-;6936:63;;6892:117;7048:2;7074:53;7119:7;7110:6;7099:9;7095:22;7074:53;:::i;:::-;7064:63;;7019:118;7176:2;7202:53;7247:7;7238:6;7227:9;7223:22;7202:53;:::i;:::-;7192:63;;7147:118;7304:2;7330:50;7372:7;7363:6;7352:9;7348:22;7330:50;:::i;:::-;7320:60;;7275:115;7429:3;7456:50;7498:7;7489:6;7478:9;7474:22;7456:50;:::i;:::-;7446:60;;7400:116;7555:3;7582:50;7624:7;7615:6;7604:9;7600:22;7582:50;:::i;:::-;7572:60;;7526:116;6610:1039;;;;;;;;:::o;7655:474::-;7723:6;7731;7780:2;7768:9;7759:7;7755:23;7751:32;7748:119;;;7786:79;;:::i;:::-;7748:119;7906:1;7931:53;7976:7;7967:6;7956:9;7952:22;7931:53;:::i;:::-;7921:63;;7877:117;8033:2;8059:53;8104:7;8095:6;8084:9;8080:22;8059:53;:::i;:::-;8049:63;;8004:118;7655:474;;;;;:::o;8135:180::-;8183:77;8180:1;8173:88;8280:4;8277:1;8270:15;8304:4;8301:1;8294:15;8321:320;8365:6;8402:1;8396:4;8392:12;8382:22;;8449:1;8443:4;8439:12;8470:18;8460:81;;8526:4;8518:6;8514:17;8504:27;;8460:81;8588:2;8580:6;8577:14;8557:18;8554:38;8551:84;;8607:18;;:::i;:::-;8551:84;8372:269;8321:320;;;:::o;8647:180::-;8695:77;8692:1;8685:88;8792:4;8789:1;8782:15;8816:4;8813:1;8806:15;8833:191;8873:3;8892:20;8910:1;8892:20;:::i;:::-;8887:25;;8926:20;8944:1;8926:20;:::i;:::-;8921:25;;8969:1;8966;8962:9;8955:16;;8990:3;8987:1;8984:10;8981:36;;;8997:18;;:::i;:::-;8981:36;8833:191;;;;:::o;9030:224::-;9170:34;9166:1;9158:6;9154:14;9147:58;9239:7;9234:2;9226:6;9222:15;9215:32;9030:224;:::o;9260:366::-;9402:3;9423:67;9487:2;9482:3;9423:67;:::i;:::-;9416:74;;9499:93;9588:3;9499:93;:::i;:::-;9617:2;9612:3;9608:12;9601:19;;9260:366;;;:::o;9632:419::-;9798:4;9836:2;9825:9;9821:18;9813:26;;9885:9;9879:4;9875:20;9871:1;9860:9;9856:17;9849:47;9913:131;10039:4;9913:131;:::i;:::-;9905:139;;9632:419;;;:::o;10057:225::-;10197:34;10193:1;10185:6;10181:14;10174:58;10266:8;10261:2;10253:6;10249:15;10242:33;10057:225;:::o;10288:366::-;10430:3;10451:67;10515:2;10510:3;10451:67;:::i;:::-;10444:74;;10527:93;10616:3;10527:93;:::i;:::-;10645:2;10640:3;10636:12;10629:19;;10288:366;;;:::o;10660:419::-;10826:4;10864:2;10853:9;10849:18;10841:26;;10913:9;10907:4;10903:20;10899:1;10888:9;10884:17;10877:47;10941:131;11067:4;10941:131;:::i;:::-;10933:139;;10660:419;;;:::o;11085:223::-;11225:34;11221:1;11213:6;11209:14;11202:58;11294:6;11289:2;11281:6;11277:15;11270:31;11085:223;:::o;11314:366::-;11456:3;11477:67;11541:2;11536:3;11477:67;:::i;:::-;11470:74;;11553:93;11642:3;11553:93;:::i;:::-;11671:2;11666:3;11662:12;11655:19;;11314:366;;;:::o;11686:419::-;11852:4;11890:2;11879:9;11875:18;11867:26;;11939:9;11933:4;11929:20;11925:1;11914:9;11910:17;11903:47;11967:131;12093:4;11967:131;:::i;:::-;11959:139;;11686:419;;;:::o;12111:221::-;12251:34;12247:1;12239:6;12235:14;12228:58;12320:4;12315:2;12307:6;12303:15;12296:29;12111:221;:::o;12338:366::-;12480:3;12501:67;12565:2;12560:3;12501:67;:::i;:::-;12494:74;;12577:93;12666:3;12577:93;:::i;:::-;12695:2;12690:3;12686:12;12679:19;;12338:366;;;:::o;12710:419::-;12876:4;12914:2;12903:9;12899:18;12891:26;;12963:9;12957:4;12953:20;12949:1;12938:9;12934:17;12927:47;12991:131;13117:4;12991:131;:::i;:::-;12983:139;;12710:419;;;:::o;13135:179::-;13275:31;13271:1;13263:6;13259:14;13252:55;13135:179;:::o;13320:366::-;13462:3;13483:67;13547:2;13542:3;13483:67;:::i;:::-;13476:74;;13559:93;13648:3;13559:93;:::i;:::-;13677:2;13672:3;13668:12;13661:19;;13320:366;;;:::o;13692:419::-;13858:4;13896:2;13885:9;13881:18;13873:26;;13945:9;13939:4;13935:20;13931:1;13920:9;13916:17;13909:47;13973:131;14099:4;13973:131;:::i;:::-;13965:139;;13692:419;;;:::o;14117:194::-;14157:4;14177:20;14195:1;14177:20;:::i;:::-;14172:25;;14211:20;14229:1;14211:20;:::i;:::-;14206:25;;14255:1;14252;14248:9;14240:17;;14279:1;14273:4;14270:11;14267:37;;;14284:18;;:::i;:::-;14267:37;14117:194;;;;:::o;14317:182::-;14457:34;14453:1;14445:6;14441:14;14434:58;14317:182;:::o;14505:366::-;14647:3;14668:67;14732:2;14727:3;14668:67;:::i;:::-;14661:74;;14744:93;14833:3;14744:93;:::i;:::-;14862:2;14857:3;14853:12;14846:19;;14505:366;;;:::o;14877:419::-;15043:4;15081:2;15070:9;15066:18;15058:26;;15130:9;15124:4;15120:20;15116:1;15105:9;15101:17;15094:47;15158:131;15284:4;15158:131;:::i;:::-;15150:139;;14877:419;;;:::o;15302:220::-;15442:34;15438:1;15430:6;15426:14;15419:58;15511:3;15506:2;15498:6;15494:15;15487:28;15302:220;:::o;15528:366::-;15670:3;15691:67;15755:2;15750:3;15691:67;:::i;:::-;15684:74;;15767:93;15856:3;15767:93;:::i;:::-;15885:2;15880:3;15876:12;15869:19;;15528:366;;;:::o;15900:419::-;16066:4;16104:2;16093:9;16089:18;16081:26;;16153:9;16147:4;16143:20;16139:1;16128:9;16124:17;16117:47;16181:131;16307:4;16181:131;:::i;:::-;16173:139;;15900:419;;;:::o;16325:221::-;16465:34;16461:1;16453:6;16449:14;16442:58;16534:4;16529:2;16521:6;16517:15;16510:29;16325:221;:::o;16552:366::-;16694:3;16715:67;16779:2;16774:3;16715:67;:::i;:::-;16708:74;;16791:93;16880:3;16791:93;:::i;:::-;16909:2;16904:3;16900:12;16893:19;;16552:366;;;:::o;16924:419::-;17090:4;17128:2;17117:9;17113:18;17105:26;;17177:9;17171:4;17167:20;17163:1;17152:9;17148:17;17141:47;17205:131;17331:4;17205:131;:::i;:::-;17197:139;;16924:419;;;:::o;17349:410::-;17389:7;17412:20;17430:1;17412:20;:::i;:::-;17407:25;;17446:20;17464:1;17446:20;:::i;:::-;17441:25;;17501:1;17498;17494:9;17523:30;17541:11;17523:30;:::i;:::-;17512:41;;17702:1;17693:7;17689:15;17686:1;17683:22;17663:1;17656:9;17636:83;17613:139;;17732:18;;:::i;:::-;17613:139;17397:362;17349:410;;;;:::o;17765:180::-;17813:77;17810:1;17803:88;17910:4;17907:1;17900:15;17934:4;17931:1;17924:15;17951:185;17991:1;18008:20;18026:1;18008:20;:::i;:::-;18003:25;;18042:20;18060:1;18042:20;:::i;:::-;18037:25;;18081:1;18071:35;;18086:18;;:::i;:::-;18071:35;18128:1;18125;18121:9;18116:14;;17951:185;;;;:::o;18142:224::-;18282:34;18278:1;18270:6;18266:14;18259:58;18351:7;18346:2;18338:6;18334:15;18327:32;18142:224;:::o;18372:366::-;18514:3;18535:67;18599:2;18594:3;18535:67;:::i;:::-;18528:74;;18611:93;18700:3;18611:93;:::i;:::-;18729:2;18724:3;18720:12;18713:19;;18372:366;;;:::o;18744:419::-;18910:4;18948:2;18937:9;18933:18;18925:26;;18997:9;18991:4;18987:20;18983:1;18972:9;18968:17;18961:47;19025:131;19151:4;19025:131;:::i;:::-;19017:139;;18744:419;;;:::o;19169:222::-;19309:34;19305:1;19297:6;19293:14;19286:58;19378:5;19373:2;19365:6;19361:15;19354:30;19169:222;:::o;19397:366::-;19539:3;19560:67;19624:2;19619:3;19560:67;:::i;:::-;19553:74;;19636:93;19725:3;19636:93;:::i;:::-;19754:2;19749:3;19745:12;19738:19;;19397:366;;;:::o;19769:419::-;19935:4;19973:2;19962:9;19958:18;19950:26;;20022:9;20016:4;20012:20;20008:1;19997:9;19993:17;19986:47;20050:131;20176:4;20050:131;:::i;:::-;20042:139;;19769:419;;;:::o;20194:225::-;20334:34;20330:1;20322:6;20318:14;20311:58;20403:8;20398:2;20390:6;20386:15;20379:33;20194:225;:::o;20425:366::-;20567:3;20588:67;20652:2;20647:3;20588:67;:::i;:::-;20581:74;;20664:93;20753:3;20664:93;:::i;:::-;20782:2;20777:3;20773:12;20766:19;;20425:366;;;:::o;20797:419::-;20963:4;21001:2;20990:9;20986:18;20978:26;;21050:9;21044:4;21040:20;21036:1;21025:9;21021:17;21014:47;21078:131;21204:4;21078:131;:::i;:::-;21070:139;;20797:419;;;:::o;21222:172::-;21362:24;21358:1;21350:6;21346:14;21339:48;21222:172;:::o;21400:366::-;21542:3;21563:67;21627:2;21622:3;21563:67;:::i;:::-;21556:74;;21639:93;21728:3;21639:93;:::i;:::-;21757:2;21752:3;21748:12;21741:19;;21400:366;;;:::o;21772:419::-;21938:4;21976:2;21965:9;21961:18;21953:26;;22025:9;22019:4;22015:20;22011:1;22000:9;21996:17;21989:47;22053:131;22179:4;22053:131;:::i;:::-;22045:139;;21772:419;;;:::o;22197:161::-;22337:13;22333:1;22325:6;22321:14;22314:37;22197:161;:::o;22364:366::-;22506:3;22527:67;22591:2;22586:3;22527:67;:::i;:::-;22520:74;;22603:93;22692:3;22603:93;:::i;:::-;22721:2;22716:3;22712:12;22705:19;;22364:366;;;:::o;22736:419::-;22902:4;22940:2;22929:9;22925:18;22917:26;;22989:9;22983:4;22979:20;22975:1;22964:9;22960:17;22953:47;23017:131;23143:4;23017:131;:::i;:::-;23009:139;;22736:419;;;:::o;23161:160::-;23301:12;23297:1;23289:6;23285:14;23278:36;23161:160;:::o;23327:366::-;23469:3;23490:67;23554:2;23549:3;23490:67;:::i;:::-;23483:74;;23566:93;23655:3;23566:93;:::i;:::-;23684:2;23679:3;23675:12;23668:19;;23327:366;;;:::o;23699:419::-;23865:4;23903:2;23892:9;23888:18;23880:26;;23952:9;23946:4;23942:20;23938:1;23927:9;23923:17;23916:47;23980:131;24106:4;23980:131;:::i;:::-;23972:139;;23699:419;;;:::o;24124:157::-;24264:9;24260:1;24252:6;24248:14;24241:33;24124:157;:::o;24287:365::-;24429:3;24450:66;24514:1;24509:3;24450:66;:::i;:::-;24443:73;;24525:93;24614:3;24525:93;:::i;:::-;24643:2;24638:3;24634:12;24627:19;;24287:365;;;:::o;24658:419::-;24824:4;24862:2;24851:9;24847:18;24839:26;;24911:9;24905:4;24901:20;24897:1;24886:9;24882:17;24875:47;24939:131;25065:4;24939:131;:::i;:::-;24931:139;;24658:419;;;:::o;25083:143::-;25140:5;25171:6;25165:13;25156:22;;25187:33;25214:5;25187:33;:::i;:::-;25083:143;;;;:::o;25232:351::-;25302:6;25351:2;25339:9;25330:7;25326:23;25322:32;25319:119;;;25357:79;;:::i;:::-;25319:119;25477:1;25502:64;25558:7;25549:6;25538:9;25534:22;25502:64;:::i;:::-;25492:74;;25448:128;25232:351;;;;:::o
Swarm Source
ipfs://f6261cd3ebc0256003cae592dffee693c540884efc4e07ff4f407591a37855e9
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.