ERC-20
Overview
Max Total Supply
393,889,223,019,999.114159414060445942 TOAD
Holders
84
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,311,582,540,391.827509765625 TOADValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ToadToken
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-10 */ // Sources flattened with hardhat v2.7.0 https://hardhat.org // File @openzeppelin/contracts/utils/[email protected] // SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.0 (utils/Context.sol) pragma solidity ^0.8.0; library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with 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/[email protected] // OpenZeppelin Contracts v4.4.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 Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public 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/[email protected] // OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * 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 `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File @openzeppelin/contracts/token/ERC20/extensions/[email protected] // OpenZeppelin Contracts v4.4.0 (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/[email protected] // OpenZeppelin Contracts v4.4.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.zeppelin.solutions/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: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, 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}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), 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}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - 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) { _approve(_msgSender(), spender, _allowances[_msgSender()][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) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `sender` to `recipient`. * * 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: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); uint256 amountForRecipient; amountForRecipient = _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amountForRecipient; _balances[address(0x000000000000000000000000000000000000dEaD)] += (amount - amountForRecipient); _totalSupply -= (amount - amountForRecipient); emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `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; _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"); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); _totalSupply -= 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 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 returns (uint256) {} /** * @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/ToadToken.sol pragma solidity ^0.8.0; contract ToadToken is Ownable, ERC20 { using SafeMath for uint256; bool public limited = true; bool public earlySellTax = true; uint256 public maxHoldingAmount = 4000000000000 * 10**18; uint256 public maxTxnAmount = 1320000000000 * 10**18; address public uniswapV2Pair; mapping(address => bool) public blacklists; mapping(address => bool) public allowedToExceed; constructor() ERC20("TOAD", "TOAD") { _mint(msg.sender, 400000000000000 * 10**18); } function blacklist(address _address, bool _isBlacklisting) external onlyOwner { blacklists[_address] = _isBlacklisting; } function allowToExceed(address _address, bool _isAllowedToExceed) external onlyOwner { allowedToExceed[_address] = _isAllowedToExceed; } function setPair(address _uniswapV2Pair) external onlyOwner { uniswapV2Pair = _uniswapV2Pair; } function updateLimitations(uint256 _maxHoldingAmount, uint256 _maxTxnAmount) external onlyOwner { maxHoldingAmount = _maxHoldingAmount; maxTxnAmount = _maxTxnAmount; } function disableEarlySellTax() external onlyOwner { earlySellTax = false; } function removeLimitations() external onlyOwner { limited = false; } function _beforeTokenTransfer( address from, address to, uint256 amount ) override internal virtual returns (uint256) { require(!blacklists[to] && !blacklists[from], "Blacklisted"); if (uniswapV2Pair == address(0)) { require(from == owner() || to == owner(), "trading is not started"); } if (limited && !allowedToExceed[to] && to != uniswapV2Pair && to != owner() && from != owner()) { require(super.balanceOf(to) + amount <= maxHoldingAmount, "Exceeds current maximum amount allowed in a wallet"); require(amount <= maxTxnAmount, "Exceeds current maximum amount allowed in a transaction"); } if (to == uniswapV2Pair && earlySellTax) { uint256 amountToBurn = amount.div(4); amount = amount.sub(amountToBurn); } return amount; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isAllowedToExceed","type":"bool"}],"name":"allowToExceed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allowedToExceed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisting","type":"bool"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"disableEarlySellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"earlySellTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limited","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxnAmount","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":"removeLimitations","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Pair","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_maxTxnAmount","type":"uint256"}],"name":"updateLimitations","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff0219169083151502179055506c327cb2734119d3b7a9000000006007556c10a92668980b153a0c400000006008553480156200006957600080fd5b506040518060400160405280600481526020017f544f4144000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f544f414400000000000000000000000000000000000000000000000000000000815250620000f6620000ea6200014260201b60201c565b6200014a60201b60201c565b816004908162000107919062000cb7565b50806005908162000119919062000cb7565b5050506200013c336d13b8b5b5056e16b3be04000000006200020e60201b60201c565b62001211565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000280576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002779062000dff565b60405180910390fd5b62000294600083836200038860201b60201c565b508060036000828254620002a9919062000e50565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000301919062000e50565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000368919062000e9c565b60405180910390a362000384600083836200085160201b60201c565b5050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156200042f5750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b62000471576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004689062000f09565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200058f57620004d86200085660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806200054c57506200051d6200085660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b6200058e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005859062000f7b565b60405180910390fd5b5b600660009054906101000a900460ff168015620005f65750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015620006515750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015620006995750620006696200085660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015620006e15750620006b16200085660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156200079a576007548262000701856200087f60201b620009461760201c565b6200070d919062000e50565b111562000751576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007489062001013565b60405180910390fd5b60085482111562000799576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200079090620010ab565b60405180910390fd5b5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015620008045750600660019054906101000a900460ff165b156200084757600062000827600484620008c860201b620010741790919060201c565b90506200084381846200091a60201b620010be1790919060201c565b9250505b8190509392505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006200091283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200096c60201b60201c565b905092915050565b60006200096483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620009d460201b60201c565b905092915050565b60008083118290620009b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009ad91906200114b565b60405180910390fd5b5060008385620009c791906200119e565b9050809150509392505050565b600083831115829062000a1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a1691906200114b565b60405180910390fd5b506000838562000a309190620011d6565b9050809150509392505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000abf57607f821691505b60208210810362000ad55762000ad462000a77565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000b3f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b00565b62000b4b868362000b00565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000b9862000b9262000b8c8462000b63565b62000b6d565b62000b63565b9050919050565b6000819050919050565b62000bb48362000b77565b62000bcc62000bc38262000b9f565b84845462000b0d565b825550505050565b600090565b62000be362000bd4565b62000bf081848462000ba9565b505050565b5b8181101562000c185762000c0c60008262000bd9565b60018101905062000bf6565b5050565b601f82111562000c675762000c318162000adb565b62000c3c8462000af0565b8101602085101562000c4c578190505b62000c6462000c5b8562000af0565b83018262000bf5565b50505b505050565b600082821c905092915050565b600062000c8c6000198460080262000c6c565b1980831691505092915050565b600062000ca7838362000c79565b9150826002028217905092915050565b62000cc28262000a3d565b67ffffffffffffffff81111562000cde5762000cdd62000a48565b5b62000cea825462000aa6565b62000cf782828562000c1c565b600060209050601f83116001811462000d2f576000841562000d1a578287015190505b62000d26858262000c99565b86555062000d96565b601f19841662000d3f8662000adb565b60005b8281101562000d695784890151825560018201915060208501945060208101905062000d42565b8683101562000d89578489015162000d85601f89168262000c79565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000de7601f8362000d9e565b915062000df48262000daf565b602082019050919050565b6000602082019050818103600083015262000e1a8162000dd8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000e5d8262000b63565b915062000e6a8362000b63565b925082820190508082111562000e855762000e8462000e21565b5b92915050565b62000e968162000b63565b82525050565b600060208201905062000eb3600083018462000e8b565b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600062000ef1600b8362000d9e565b915062000efe8262000eb9565b602082019050919050565b6000602082019050818103600083015262000f248162000ee2565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600062000f6360168362000d9e565b915062000f708262000f2b565b602082019050919050565b6000602082019050818103600083015262000f968162000f54565b9050919050565b7f457863656564732063757272656e74206d6178696d756d20616d6f756e74206160008201527f6c6c6f77656420696e20612077616c6c65740000000000000000000000000000602082015250565b600062000ffb60328362000d9e565b9150620010088262000f9d565b604082019050919050565b600060208201905081810360008301526200102e8162000fec565b9050919050565b7f457863656564732063757272656e74206d6178696d756d20616d6f756e74206160008201527f6c6c6f77656420696e2061207472616e73616374696f6e000000000000000000602082015250565b60006200109360378362000d9e565b9150620010a08262001035565b604082019050919050565b60006020820190508181036000830152620010c68162001084565b9050919050565b60005b83811015620010ed578082015181840152602081019050620010d0565b60008484015250505050565b6000601f19601f8301169050919050565b6000620011178262000a3d565b62001123818562000d9e565b935062001135818560208601620010cd565b6200114081620010f9565b840191505092915050565b600060208201905081810360008301526200116781846200110a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620011ab8262000b63565b9150620011b88362000b63565b925082620011cb57620011ca6200116f565b5b828204905092915050565b6000620011e38262000b63565b9150620011f08362000b63565b92508282039050818111156200120b576200120a62000e21565b5b92915050565b61282a80620012216000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80638187f516116100f9578063bd1d51d311610097578063dd62ed3e11610071578063dd62ed3e1461049c578063e0ea56d8146104cc578063e4cbe589146104fc578063f2fde38b14610518576101a9565b8063bd1d51d314610456578063bfe9876a14610474578063cf46f24c1461047e576101a9565b80638da5cb5b116100d35780638da5cb5b146103ba57806395d89b41146103d8578063a457c2d7146103f6578063a9059cbb14610426576101a9565b80638187f51614610362578063860a32ec1461037e57806389f9a1d31461039c576101a9565b806339509351116101665780634f97b70d116101405780634f97b70d1461030257806370a082311461031e578063715018a61461034e5780637e82d36c14610358576101a9565b80633950935114610298578063404e5129146102c857806349bd5a5e146102e4576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806316c02129146101fc57806318160ddd1461022c57806323b872dd1461024a578063313ce5671461027a575b600080fd5b6101b6610534565b6040516101c39190611c7d565b60405180910390f35b6101e660048036038101906101e19190611d38565b6105c6565b6040516101f39190611d93565b60405180910390f35b61021660048036038101906102119190611dae565b6105e4565b6040516102239190611d93565b60405180910390f35b610234610604565b6040516102419190611dea565b60405180910390f35b610264600480360381019061025f9190611e05565b61060e565b6040516102719190611d93565b60405180910390f35b610282610706565b60405161028f9190611e74565b60405180910390f35b6102b260048036038101906102ad9190611d38565b61070f565b6040516102bf9190611d93565b60405180910390f35b6102e260048036038101906102dd9190611ebb565b6107bb565b005b6102ec610892565b6040516102f99190611f0a565b60405180910390f35b61031c60048036038101906103179190611f25565b6108b8565b005b61033860048036038101906103339190611dae565b610946565b6040516103459190611dea565b60405180910390f35b61035661098f565b005b610360610a17565b005b61037c60048036038101906103779190611dae565b610ab0565b005b610386610b70565b6040516103939190611d93565b60405180910390f35b6103a4610b83565b6040516103b19190611dea565b60405180910390f35b6103c2610b89565b6040516103cf9190611f0a565b60405180910390f35b6103e0610bb2565b6040516103ed9190611c7d565b60405180910390f35b610410600480360381019061040b9190611d38565b610c44565b60405161041d9190611d93565b60405180910390f35b610440600480360381019061043b9190611d38565b610d2f565b60405161044d9190611d93565b60405180910390f35b61045e610d4d565b60405161046b9190611d93565b60405180910390f35b61047c610d60565b005b610486610df9565b6040516104939190611dea565b60405180910390f35b6104b660048036038101906104b19190611f65565b610dff565b6040516104c39190611dea565b60405180910390f35b6104e660048036038101906104e19190611dae565b610e86565b6040516104f39190611d93565b60405180910390f35b61051660048036038101906105119190611ebb565b610ea6565b005b610532600480360381019061052d9190611dae565b610f7d565b005b60606004805461054390611fd4565b80601f016020809104026020016040519081016040528092919081815260200182805461056f90611fd4565b80156105bc5780601f10610591576101008083540402835291602001916105bc565b820191906000526020600020905b81548152906001019060200180831161059f57829003601f168201915b5050505050905090565b60006105da6105d3611108565b8484611110565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b600061061b8484846112d9565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610666611108565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd90612077565b60405180910390fd5b6106fa856106f2611108565b858403611110565b60019150509392505050565b60006012905090565b60006107b161071c611108565b84846002600061072a611108565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107ac91906120c6565b611110565b6001905092915050565b6107c3611108565b73ffffffffffffffffffffffffffffffffffffffff166107e1610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082e90612146565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108c0611108565b73ffffffffffffffffffffffffffffffffffffffff166108de610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092b90612146565b60405180910390fd5b81600781905550806008819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610997611108565b73ffffffffffffffffffffffffffffffffffffffff166109b5610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610a0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0290612146565b60405180910390fd5b610a1560006115e7565b565b610a1f611108565b73ffffffffffffffffffffffffffffffffffffffff16610a3d610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90612146565b60405180910390fd5b6000600660006101000a81548160ff021916908315150217905550565b610ab8611108565b73ffffffffffffffffffffffffffffffffffffffff16610ad6610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390612146565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610bc190611fd4565b80601f0160208091040260200160405190810160405280929190818152602001828054610bed90611fd4565b8015610c3a5780601f10610c0f57610100808354040283529160200191610c3a565b820191906000526020600020905b815481529060010190602001808311610c1d57829003601f168201915b5050505050905090565b60008060026000610c53611108565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d07906121d8565b60405180910390fd5b610d24610d1b611108565b85858403611110565b600191505092915050565b6000610d43610d3c611108565b84846112d9565b6001905092915050565b600660019054906101000a900460ff1681565b610d68611108565b73ffffffffffffffffffffffffffffffffffffffff16610d86610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390612146565b60405180910390fd5b6000600660016101000a81548160ff021916908315150217905550565b60085481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b610eae611108565b73ffffffffffffffffffffffffffffffffffffffff16610ecc610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610f22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1990612146565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610f85611108565b73ffffffffffffffffffffffffffffffffffffffff16610fa3610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090612146565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f9061226a565b60405180910390fd5b611071816115e7565b50565b60006110b683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ab565b905092915050565b600061110083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170e565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361117f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611176906122fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e59061238e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112cc9190611dea565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90612420565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ae906124b2565b60405180910390fd5b60006113c4848484611772565b90506000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561144d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144490612544565b60405180910390fd5b828103600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114e291906120c6565b9250508190555081836114f59190612564565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461154591906120c6565b9250508190555081836115589190612564565b600360008282546115699190612564565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115cd9190611dea565b60405180910390a36115e0858585611be8565b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080831182906116f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e99190611c7d565b60405180910390fd5b506000838561170191906125c7565b9050809150509392505050565b6000838311158290611756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174d9190611c7d565b60405180910390fd5b50600083856117659190612564565b9050809150509392505050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118185750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184e90612644565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611960576118b5610b89565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061192057506118f1610b89565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b61195f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611956906126b0565b60405180910390fd5b5b600660009054906101000a900460ff1680156119c65750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a205750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a5f5750611a2f610b89565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a9e5750611a6e610b89565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b415760075482611ab085610946565b611aba91906120c6565b1115611afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af290612742565b60405180910390fd5b600854821115611b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b37906127d4565b60405180910390fd5b5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611baa5750600660019054906101000a900460ff165b15611bde576000611bc560048461107490919063ffffffff16565b9050611bda81846110be90919063ffffffff16565b9250505b8190509392505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c27578082015181840152602081019050611c0c565b60008484015250505050565b6000601f19601f8301169050919050565b6000611c4f82611bed565b611c598185611bf8565b9350611c69818560208601611c09565b611c7281611c33565b840191505092915050565b60006020820190508181036000830152611c978184611c44565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ccf82611ca4565b9050919050565b611cdf81611cc4565b8114611cea57600080fd5b50565b600081359050611cfc81611cd6565b92915050565b6000819050919050565b611d1581611d02565b8114611d2057600080fd5b50565b600081359050611d3281611d0c565b92915050565b60008060408385031215611d4f57611d4e611c9f565b5b6000611d5d85828601611ced565b9250506020611d6e85828601611d23565b9150509250929050565b60008115159050919050565b611d8d81611d78565b82525050565b6000602082019050611da86000830184611d84565b92915050565b600060208284031215611dc457611dc3611c9f565b5b6000611dd284828501611ced565b91505092915050565b611de481611d02565b82525050565b6000602082019050611dff6000830184611ddb565b92915050565b600080600060608486031215611e1e57611e1d611c9f565b5b6000611e2c86828701611ced565b9350506020611e3d86828701611ced565b9250506040611e4e86828701611d23565b9150509250925092565b600060ff82169050919050565b611e6e81611e58565b82525050565b6000602082019050611e896000830184611e65565b92915050565b611e9881611d78565b8114611ea357600080fd5b50565b600081359050611eb581611e8f565b92915050565b60008060408385031215611ed257611ed1611c9f565b5b6000611ee085828601611ced565b9250506020611ef185828601611ea6565b9150509250929050565b611f0481611cc4565b82525050565b6000602082019050611f1f6000830184611efb565b92915050565b60008060408385031215611f3c57611f3b611c9f565b5b6000611f4a85828601611d23565b9250506020611f5b85828601611d23565b9150509250929050565b60008060408385031215611f7c57611f7b611c9f565b5b6000611f8a85828601611ced565b9250506020611f9b85828601611ced565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611fec57607f821691505b602082108103611fff57611ffe611fa5565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612061602883611bf8565b915061206c82612005565b604082019050919050565b6000602082019050818103600083015261209081612054565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006120d182611d02565b91506120dc83611d02565b92508282019050808211156120f4576120f3612097565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612130602083611bf8565b915061213b826120fa565b602082019050919050565b6000602082019050818103600083015261215f81612123565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006121c2602583611bf8565b91506121cd82612166565b604082019050919050565b600060208201905081810360008301526121f1816121b5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612254602683611bf8565b915061225f826121f8565b604082019050919050565b6000602082019050818103600083015261228381612247565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006122e6602483611bf8565b91506122f18261228a565b604082019050919050565b60006020820190508181036000830152612315816122d9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612378602283611bf8565b91506123838261231c565b604082019050919050565b600060208201905081810360008301526123a78161236b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061240a602583611bf8565b9150612415826123ae565b604082019050919050565b60006020820190508181036000830152612439816123fd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061249c602383611bf8565b91506124a782612440565b604082019050919050565b600060208201905081810360008301526124cb8161248f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061252e602683611bf8565b9150612539826124d2565b604082019050919050565b6000602082019050818103600083015261255d81612521565b9050919050565b600061256f82611d02565b915061257a83611d02565b925082820390508181111561259257612591612097565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125d282611d02565b91506125dd83611d02565b9250826125ed576125ec612598565b5b828204905092915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600061262e600b83611bf8565b9150612639826125f8565b602082019050919050565b6000602082019050818103600083015261265d81612621565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600061269a601683611bf8565b91506126a582612664565b602082019050919050565b600060208201905081810360008301526126c98161268d565b9050919050565b7f457863656564732063757272656e74206d6178696d756d20616d6f756e74206160008201527f6c6c6f77656420696e20612077616c6c65740000000000000000000000000000602082015250565b600061272c603283611bf8565b9150612737826126d0565b604082019050919050565b6000602082019050818103600083015261275b8161271f565b9050919050565b7f457863656564732063757272656e74206d6178696d756d20616d6f756e74206160008201527f6c6c6f77656420696e2061207472616e73616374696f6e000000000000000000602082015250565b60006127be603783611bf8565b91506127c982612762565b604082019050919050565b600060208201905081810360008301526127ed816127b1565b905091905056fea2646970667358221220787303a07d9c1b05c7ee1ac0578f76f19436cd8d478ba1412519c1a687de0bd564736f6c63430008120033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101a95760003560e01c80638187f516116100f9578063bd1d51d311610097578063dd62ed3e11610071578063dd62ed3e1461049c578063e0ea56d8146104cc578063e4cbe589146104fc578063f2fde38b14610518576101a9565b8063bd1d51d314610456578063bfe9876a14610474578063cf46f24c1461047e576101a9565b80638da5cb5b116100d35780638da5cb5b146103ba57806395d89b41146103d8578063a457c2d7146103f6578063a9059cbb14610426576101a9565b80638187f51614610362578063860a32ec1461037e57806389f9a1d31461039c576101a9565b806339509351116101665780634f97b70d116101405780634f97b70d1461030257806370a082311461031e578063715018a61461034e5780637e82d36c14610358576101a9565b80633950935114610298578063404e5129146102c857806349bd5a5e146102e4576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806316c02129146101fc57806318160ddd1461022c57806323b872dd1461024a578063313ce5671461027a575b600080fd5b6101b6610534565b6040516101c39190611c7d565b60405180910390f35b6101e660048036038101906101e19190611d38565b6105c6565b6040516101f39190611d93565b60405180910390f35b61021660048036038101906102119190611dae565b6105e4565b6040516102239190611d93565b60405180910390f35b610234610604565b6040516102419190611dea565b60405180910390f35b610264600480360381019061025f9190611e05565b61060e565b6040516102719190611d93565b60405180910390f35b610282610706565b60405161028f9190611e74565b60405180910390f35b6102b260048036038101906102ad9190611d38565b61070f565b6040516102bf9190611d93565b60405180910390f35b6102e260048036038101906102dd9190611ebb565b6107bb565b005b6102ec610892565b6040516102f99190611f0a565b60405180910390f35b61031c60048036038101906103179190611f25565b6108b8565b005b61033860048036038101906103339190611dae565b610946565b6040516103459190611dea565b60405180910390f35b61035661098f565b005b610360610a17565b005b61037c60048036038101906103779190611dae565b610ab0565b005b610386610b70565b6040516103939190611d93565b60405180910390f35b6103a4610b83565b6040516103b19190611dea565b60405180910390f35b6103c2610b89565b6040516103cf9190611f0a565b60405180910390f35b6103e0610bb2565b6040516103ed9190611c7d565b60405180910390f35b610410600480360381019061040b9190611d38565b610c44565b60405161041d9190611d93565b60405180910390f35b610440600480360381019061043b9190611d38565b610d2f565b60405161044d9190611d93565b60405180910390f35b61045e610d4d565b60405161046b9190611d93565b60405180910390f35b61047c610d60565b005b610486610df9565b6040516104939190611dea565b60405180910390f35b6104b660048036038101906104b19190611f65565b610dff565b6040516104c39190611dea565b60405180910390f35b6104e660048036038101906104e19190611dae565b610e86565b6040516104f39190611d93565b60405180910390f35b61051660048036038101906105119190611ebb565b610ea6565b005b610532600480360381019061052d9190611dae565b610f7d565b005b60606004805461054390611fd4565b80601f016020809104026020016040519081016040528092919081815260200182805461056f90611fd4565b80156105bc5780601f10610591576101008083540402835291602001916105bc565b820191906000526020600020905b81548152906001019060200180831161059f57829003601f168201915b5050505050905090565b60006105da6105d3611108565b8484611110565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b600061061b8484846112d9565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610666611108565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd90612077565b60405180910390fd5b6106fa856106f2611108565b858403611110565b60019150509392505050565b60006012905090565b60006107b161071c611108565b84846002600061072a611108565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107ac91906120c6565b611110565b6001905092915050565b6107c3611108565b73ffffffffffffffffffffffffffffffffffffffff166107e1610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082e90612146565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108c0611108565b73ffffffffffffffffffffffffffffffffffffffff166108de610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092b90612146565b60405180910390fd5b81600781905550806008819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610997611108565b73ffffffffffffffffffffffffffffffffffffffff166109b5610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610a0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0290612146565b60405180910390fd5b610a1560006115e7565b565b610a1f611108565b73ffffffffffffffffffffffffffffffffffffffff16610a3d610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90612146565b60405180910390fd5b6000600660006101000a81548160ff021916908315150217905550565b610ab8611108565b73ffffffffffffffffffffffffffffffffffffffff16610ad6610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390612146565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610bc190611fd4565b80601f0160208091040260200160405190810160405280929190818152602001828054610bed90611fd4565b8015610c3a5780601f10610c0f57610100808354040283529160200191610c3a565b820191906000526020600020905b815481529060010190602001808311610c1d57829003601f168201915b5050505050905090565b60008060026000610c53611108565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d07906121d8565b60405180910390fd5b610d24610d1b611108565b85858403611110565b600191505092915050565b6000610d43610d3c611108565b84846112d9565b6001905092915050565b600660019054906101000a900460ff1681565b610d68611108565b73ffffffffffffffffffffffffffffffffffffffff16610d86610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390612146565b60405180910390fd5b6000600660016101000a81548160ff021916908315150217905550565b60085481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b610eae611108565b73ffffffffffffffffffffffffffffffffffffffff16610ecc610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610f22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1990612146565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610f85611108565b73ffffffffffffffffffffffffffffffffffffffff16610fa3610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090612146565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f9061226a565b60405180910390fd5b611071816115e7565b50565b60006110b683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ab565b905092915050565b600061110083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170e565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361117f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611176906122fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e59061238e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112cc9190611dea565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90612420565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ae906124b2565b60405180910390fd5b60006113c4848484611772565b90506000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561144d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144490612544565b60405180910390fd5b828103600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114e291906120c6565b9250508190555081836114f59190612564565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461154591906120c6565b9250508190555081836115589190612564565b600360008282546115699190612564565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115cd9190611dea565b60405180910390a36115e0858585611be8565b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080831182906116f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e99190611c7d565b60405180910390fd5b506000838561170191906125c7565b9050809150509392505050565b6000838311158290611756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174d9190611c7d565b60405180910390fd5b50600083856117659190612564565b9050809150509392505050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118185750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184e90612644565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611960576118b5610b89565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061192057506118f1610b89565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b61195f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611956906126b0565b60405180910390fd5b5b600660009054906101000a900460ff1680156119c65750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a205750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a5f5750611a2f610b89565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a9e5750611a6e610b89565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b415760075482611ab085610946565b611aba91906120c6565b1115611afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af290612742565b60405180910390fd5b600854821115611b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b37906127d4565b60405180910390fd5b5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611baa5750600660019054906101000a900460ff165b15611bde576000611bc560048461107490919063ffffffff16565b9050611bda81846110be90919063ffffffff16565b9250505b8190509392505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c27578082015181840152602081019050611c0c565b60008484015250505050565b6000601f19601f8301169050919050565b6000611c4f82611bed565b611c598185611bf8565b9350611c69818560208601611c09565b611c7281611c33565b840191505092915050565b60006020820190508181036000830152611c978184611c44565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ccf82611ca4565b9050919050565b611cdf81611cc4565b8114611cea57600080fd5b50565b600081359050611cfc81611cd6565b92915050565b6000819050919050565b611d1581611d02565b8114611d2057600080fd5b50565b600081359050611d3281611d0c565b92915050565b60008060408385031215611d4f57611d4e611c9f565b5b6000611d5d85828601611ced565b9250506020611d6e85828601611d23565b9150509250929050565b60008115159050919050565b611d8d81611d78565b82525050565b6000602082019050611da86000830184611d84565b92915050565b600060208284031215611dc457611dc3611c9f565b5b6000611dd284828501611ced565b91505092915050565b611de481611d02565b82525050565b6000602082019050611dff6000830184611ddb565b92915050565b600080600060608486031215611e1e57611e1d611c9f565b5b6000611e2c86828701611ced565b9350506020611e3d86828701611ced565b9250506040611e4e86828701611d23565b9150509250925092565b600060ff82169050919050565b611e6e81611e58565b82525050565b6000602082019050611e896000830184611e65565b92915050565b611e9881611d78565b8114611ea357600080fd5b50565b600081359050611eb581611e8f565b92915050565b60008060408385031215611ed257611ed1611c9f565b5b6000611ee085828601611ced565b9250506020611ef185828601611ea6565b9150509250929050565b611f0481611cc4565b82525050565b6000602082019050611f1f6000830184611efb565b92915050565b60008060408385031215611f3c57611f3b611c9f565b5b6000611f4a85828601611d23565b9250506020611f5b85828601611d23565b9150509250929050565b60008060408385031215611f7c57611f7b611c9f565b5b6000611f8a85828601611ced565b9250506020611f9b85828601611ced565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611fec57607f821691505b602082108103611fff57611ffe611fa5565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612061602883611bf8565b915061206c82612005565b604082019050919050565b6000602082019050818103600083015261209081612054565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006120d182611d02565b91506120dc83611d02565b92508282019050808211156120f4576120f3612097565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612130602083611bf8565b915061213b826120fa565b602082019050919050565b6000602082019050818103600083015261215f81612123565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006121c2602583611bf8565b91506121cd82612166565b604082019050919050565b600060208201905081810360008301526121f1816121b5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612254602683611bf8565b915061225f826121f8565b604082019050919050565b6000602082019050818103600083015261228381612247565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006122e6602483611bf8565b91506122f18261228a565b604082019050919050565b60006020820190508181036000830152612315816122d9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612378602283611bf8565b91506123838261231c565b604082019050919050565b600060208201905081810360008301526123a78161236b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061240a602583611bf8565b9150612415826123ae565b604082019050919050565b60006020820190508181036000830152612439816123fd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061249c602383611bf8565b91506124a782612440565b604082019050919050565b600060208201905081810360008301526124cb8161248f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061252e602683611bf8565b9150612539826124d2565b604082019050919050565b6000602082019050818103600083015261255d81612521565b9050919050565b600061256f82611d02565b915061257a83611d02565b925082820390508181111561259257612591612097565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125d282611d02565b91506125dd83611d02565b9250826125ed576125ec612598565b5b828204905092915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600061262e600b83611bf8565b9150612639826125f8565b602082019050919050565b6000602082019050818103600083015261265d81612621565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600061269a601683611bf8565b91506126a582612664565b602082019050919050565b600060208201905081810360008301526126c98161268d565b9050919050565b7f457863656564732063757272656e74206d6178696d756d20616d6f756e74206160008201527f6c6c6f77656420696e20612077616c6c65740000000000000000000000000000602082015250565b600061272c603283611bf8565b9150612737826126d0565b604082019050919050565b6000602082019050818103600083015261275b8161271f565b9050919050565b7f457863656564732063757272656e74206d6178696d756d20616d6f756e74206160008201527f6c6c6f77656420696e2061207472616e73616374696f6e000000000000000000602082015250565b60006127be603783611bf8565b91506127c982612762565b604082019050919050565b600060208201905081810360008301526127ed816127b1565b905091905056fea2646970667358221220787303a07d9c1b05c7ee1ac0578f76f19436cd8d478ba1412519c1a687de0bd564736f6c63430008120033
Deployed Bytecode Sourcemap
24047:2230:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14035:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16202:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24352:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15155:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16853:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14997:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17754:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24563:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24317:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24981:190;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15326:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7436:103;;;:::i;:::-;;25276:82;;;:::i;:::-;;24864:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24124:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24195:56;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6785:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14254:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18472:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15666:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24157:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25179:89;;;:::i;:::-;;24258:52;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15904:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24401:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24706:150;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7694:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14035:100;14089:13;14122:5;14115:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14035:100;:::o;16202:169::-;16285:4;16302:39;16311:12;:10;:12::i;:::-;16325:7;16334:6;16302:8;:39::i;:::-;16359:4;16352:11;;16202:169;;;;:::o;24352:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;15155:108::-;15216:7;15243:12;;15236:19;;15155:108;:::o;16853:492::-;16993:4;17010:36;17020:6;17028:9;17039:6;17010:9;:36::i;:::-;17059:24;17086:11;:19;17098:6;17086:19;;;;;;;;;;;;;;;:33;17106:12;:10;:12::i;:::-;17086:33;;;;;;;;;;;;;;;;17059:60;;17158:6;17138:16;:26;;17130:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;17245:57;17254:6;17262:12;:10;:12::i;:::-;17295:6;17276:16;:25;17245:8;:57::i;:::-;17333:4;17326:11;;;16853:492;;;;;:::o;14997:93::-;15055:5;15080:2;15073:9;;14997:93;:::o;17754:215::-;17842:4;17859:80;17868:12;:10;:12::i;:::-;17882:7;17928:10;17891:11;:25;17903:12;:10;:12::i;:::-;17891:25;;;;;;;;;;;;;;;:34;17917:7;17891:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;17859:8;:80::i;:::-;17957:4;17950:11;;17754:215;;;;:::o;24563:135::-;7016:12;:10;:12::i;:::-;7005:23;;:7;:5;:7::i;:::-;:23;;;6997:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24675:15:::1;24652:10;:20;24663:8;24652:20;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;24563:135:::0;;:::o;24317:28::-;;;;;;;;;;;;;:::o;24981:190::-;7016:12;:10;:12::i;:::-;7005:23;;:7;:5;:7::i;:::-;:23;;;6997:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25107:17:::1;25088:16;:36;;;;25150:13;25135:12;:28;;;;24981:190:::0;;:::o;15326:127::-;15400:7;15427:9;:18;15437:7;15427:18;;;;;;;;;;;;;;;;15420:25;;15326:127;;;:::o;7436:103::-;7016:12;:10;:12::i;:::-;7005:23;;:7;:5;:7::i;:::-;:23;;;6997:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7501:30:::1;7528:1;7501:18;:30::i;:::-;7436:103::o:0;25276:82::-;7016:12;:10;:12::i;:::-;7005:23;;:7;:5;:7::i;:::-;:23;;;6997:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25345:5:::1;25335:7;;:15;;;;;;;;;;;;;;;;;;25276:82::o:0;24864:109::-;7016:12;:10;:12::i;:::-;7005:23;;:7;:5;:7::i;:::-;:23;;;6997:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24951:14:::1;24935:13;;:30;;;;;;;;;;;;;;;;;;24864:109:::0;:::o;24124:26::-;;;;;;;;;;;;;:::o;24195:56::-;;;;:::o;6785:87::-;6831:7;6858:6;;;;;;;;;;;6851:13;;6785:87;:::o;14254:104::-;14310:13;14343:7;14336:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14254:104;:::o;18472:413::-;18565:4;18582:24;18609:11;:25;18621:12;:10;:12::i;:::-;18609:25;;;;;;;;;;;;;;;:34;18635:7;18609:34;;;;;;;;;;;;;;;;18582:61;;18682:15;18662:16;:35;;18654:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;18775:67;18784:12;:10;:12::i;:::-;18798:7;18826:15;18807:16;:34;18775:8;:67::i;:::-;18873:4;18866:11;;;18472:413;;;;:::o;15666:175::-;15752:4;15769:42;15779:12;:10;:12::i;:::-;15793:9;15804:6;15769:9;:42::i;:::-;15829:4;15822:11;;15666:175;;;;:::o;24157:31::-;;;;;;;;;;;;;:::o;25179:89::-;7016:12;:10;:12::i;:::-;7005:23;;:7;:5;:7::i;:::-;:23;;;6997:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;25255:5:::1;25240:12;;:20;;;;;;;;;;;;;;;;;;25179:89::o:0;24258:52::-;;;;:::o;15904:151::-;15993:7;16020:11;:18;16032:5;16020:18;;;;;;;;;;;;;;;:27;16039:7;16020:27;;;;;;;;;;;;;;;;16013:34;;15904:151;;;;:::o;24401:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;24706:150::-;7016:12;:10;:12::i;:::-;7005:23;;:7;:5;:7::i;:::-;:23;;;6997:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24830:18:::1;24802:15;:25;24818:8;24802:25;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;24706:150:::0;;:::o;7694:201::-;7016:12;:10;:12::i;:::-;7005:23;;:7;:5;:7::i;:::-;:23;;;6997:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7803:1:::1;7783:22;;:8;:22;;::::0;7775:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;7859:28;7878:8;7859:18;:28::i;:::-;7694:201:::0;:::o;2804:132::-;2862:7;2889:39;2893:1;2896;2889:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2882:46;;2804:132;;;;:::o;967:136::-;1025:7;1052:43;1056:1;1059;1052:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1045:50;;967:136;;;;:::o;5503:98::-;5556:7;5583:10;5576:17;;5503:98;:::o;22119:380::-;22272:1;22255:19;;:5;:19;;;22247:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22353:1;22334:21;;:7;:21;;;22326:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22437:6;22407:11;:18;22419:5;22407:18;;;;;;;;;;;;;;;:27;22426:7;22407:27;;;;;;;;;;;;;;;:36;;;;22475:7;22459:32;;22468:5;22459:32;;;22484:6;22459:32;;;;;;:::i;:::-;;;;;;;;22119:380;;;:::o;19375:965::-;19533:1;19515:20;;:6;:20;;;19507:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;19617:1;19596:23;;:9;:23;;;19588:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;19670:26;19730:47;19751:6;19759:9;19770:6;19730:20;:47::i;:::-;19709:68;;19790:21;19814:9;:17;19824:6;19814:17;;;;;;;;;;;;;;;;19790:41;;19867:6;19850:13;:23;;19842:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;19988:6;19972:13;:22;19952:9;:17;19962:6;19952:17;;;;;;;;;;;;;;;:42;;;;20040:18;20016:9;:20;20026:9;20016:20;;;;;;;;;;;;;;;;:42;;;;;;;:::i;:::-;;;;;;;;20145:18;20136:6;:27;;;;:::i;:::-;20069:9;:62;20087:42;20069:62;;;;;;;;;;;;;;;;:95;;;;;;;:::i;:::-;;;;;;;;20201:18;20192:6;:27;;;;:::i;:::-;20175:12;;:45;;;;;;;:::i;:::-;;;;;;;;20255:9;20238:35;;20247:6;20238:35;;;20266:6;20238:35;;;;;;:::i;:::-;;;;;;;;20286:46;20306:6;20314:9;20325:6;20286:19;:46::i;:::-;19496:844;;19375:965;;;:::o;8055:191::-;8129:16;8148:6;;;;;;;;;;;8129:25;;8174:8;8165:6;;:17;;;;;;;;;;;;;;;;;;8229:8;8198:40;;8219:8;8198:40;;;;;;;;;;;;8118:128;8055:191;:::o;3432:278::-;3518:7;3550:1;3546;:5;3553:12;3538:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3577:9;3593:1;3589;:5;;;;:::i;:::-;3577:17;;3701:1;3694:8;;;3432:278;;;;;:::o;1406:192::-;1492:7;1525:1;1520;:6;;1528:12;1512:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1552:9;1568:1;1564;:5;;;;:::i;:::-;1552:17;;1589:1;1582:8;;;1406:192;;;;;:::o;25366:908::-;25507:7;25536:10;:14;25547:2;25536:14;;;;;;;;;;;;;;;;;;;;;;;;;25535:15;:36;;;;;25555:10;:16;25566:4;25555:16;;;;;;;;;;;;;;;;;;;;;;;;;25554:17;25535:36;25527:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;25629:1;25604:27;;:13;;;;;;;;;;;:27;;;25600:127;;25664:7;:5;:7::i;:::-;25656:15;;:4;:15;;;:32;;;;25681:7;:5;:7::i;:::-;25675:13;;:2;:13;;;25656:32;25648:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;25600:127;25743:7;;;;;;;;;;;:31;;;;;25755:15;:19;25771:2;25755:19;;;;;;;;;;;;;;;;;;;;;;;;;25754:20;25743:31;:54;;;;;25784:13;;;;;;;;;;;25778:19;;:2;:19;;;;25743:54;:71;;;;;25807:7;:5;:7::i;:::-;25801:13;;:2;:13;;;;25743:71;:90;;;;;25826:7;:5;:7::i;:::-;25818:15;;:4;:15;;;;25743:90;25739:339;;;25890:16;;25880:6;25858:19;25874:2;25858:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;25850:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;25994:12;;25984:6;:22;;25976:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;25739:339;26099:13;;;;;;;;;;;26093:19;;:2;:19;;;:35;;;;;26116:12;;;;;;;;;;;26093:35;26089:152;;;26145:20;26168:13;26179:1;26168:6;:10;;:13;;;;:::i;:::-;26145:36;;26205:24;26216:12;26205:6;:10;;:24;;;;:::i;:::-;26196:33;;26130:111;26089:152;26260:6;26253:13;;25366:908;;;;;:::o;23846:124::-;;;;:::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:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:116::-;5258:21;5273:5;5258:21;:::i;:::-;5251:5;5248:32;5238:60;;5294:1;5291;5284:12;5238:60;5188:116;:::o;5310:133::-;5353:5;5391:6;5378:20;5369:29;;5407:30;5431:5;5407:30;:::i;:::-;5310:133;;;;:::o;5449:468::-;5514:6;5522;5571:2;5559:9;5550:7;5546:23;5542:32;5539:119;;;5577:79;;:::i;:::-;5539:119;5697:1;5722:53;5767:7;5758:6;5747:9;5743:22;5722:53;:::i;:::-;5712:63;;5668:117;5824:2;5850:50;5892:7;5883:6;5872:9;5868:22;5850:50;:::i;:::-;5840:60;;5795:115;5449:468;;;;;:::o;5923:118::-;6010:24;6028:5;6010:24;:::i;:::-;6005:3;5998:37;5923:118;;:::o;6047:222::-;6140:4;6178:2;6167:9;6163:18;6155:26;;6191:71;6259:1;6248:9;6244:17;6235:6;6191:71;:::i;:::-;6047:222;;;;:::o;6275:474::-;6343:6;6351;6400:2;6388:9;6379:7;6375:23;6371:32;6368:119;;;6406:79;;:::i;:::-;6368:119;6526:1;6551:53;6596:7;6587:6;6576:9;6572:22;6551:53;:::i;:::-;6541:63;;6497:117;6653:2;6679:53;6724:7;6715:6;6704:9;6700:22;6679:53;:::i;:::-;6669:63;;6624:118;6275:474;;;;;:::o;6755:::-;6823:6;6831;6880:2;6868:9;6859:7;6855:23;6851:32;6848:119;;;6886:79;;:::i;:::-;6848:119;7006:1;7031:53;7076:7;7067:6;7056:9;7052:22;7031:53;:::i;:::-;7021:63;;6977:117;7133:2;7159:53;7204:7;7195:6;7184:9;7180:22;7159:53;:::i;:::-;7149:63;;7104:118;6755:474;;;;;:::o;7235:180::-;7283:77;7280:1;7273:88;7380:4;7377:1;7370:15;7404:4;7401:1;7394:15;7421:320;7465:6;7502:1;7496:4;7492:12;7482:22;;7549:1;7543:4;7539:12;7570:18;7560:81;;7626:4;7618:6;7614:17;7604:27;;7560:81;7688:2;7680:6;7677:14;7657:18;7654:38;7651:84;;7707:18;;:::i;:::-;7651:84;7472:269;7421:320;;;:::o;7747:227::-;7887:34;7883:1;7875:6;7871:14;7864:58;7956:10;7951:2;7943:6;7939:15;7932:35;7747:227;:::o;7980:366::-;8122:3;8143:67;8207:2;8202:3;8143:67;:::i;:::-;8136:74;;8219:93;8308:3;8219:93;:::i;:::-;8337:2;8332:3;8328:12;8321:19;;7980:366;;;:::o;8352:419::-;8518:4;8556:2;8545:9;8541:18;8533:26;;8605:9;8599:4;8595:20;8591:1;8580:9;8576:17;8569:47;8633:131;8759:4;8633:131;:::i;:::-;8625:139;;8352:419;;;:::o;8777:180::-;8825:77;8822:1;8815:88;8922:4;8919:1;8912:15;8946:4;8943:1;8936:15;8963:191;9003:3;9022:20;9040:1;9022:20;:::i;:::-;9017:25;;9056:20;9074:1;9056:20;:::i;:::-;9051:25;;9099:1;9096;9092:9;9085:16;;9120:3;9117:1;9114:10;9111:36;;;9127:18;;:::i;:::-;9111:36;8963:191;;;;:::o;9160:182::-;9300:34;9296:1;9288:6;9284:14;9277:58;9160:182;:::o;9348:366::-;9490:3;9511:67;9575:2;9570:3;9511:67;:::i;:::-;9504:74;;9587:93;9676:3;9587:93;:::i;:::-;9705:2;9700:3;9696:12;9689:19;;9348:366;;;:::o;9720:419::-;9886:4;9924:2;9913:9;9909:18;9901:26;;9973:9;9967:4;9963:20;9959:1;9948:9;9944:17;9937:47;10001:131;10127:4;10001:131;:::i;:::-;9993:139;;9720:419;;;:::o;10145:224::-;10285:34;10281:1;10273:6;10269:14;10262:58;10354:7;10349:2;10341:6;10337:15;10330:32;10145:224;:::o;10375:366::-;10517:3;10538:67;10602:2;10597:3;10538:67;:::i;:::-;10531:74;;10614:93;10703:3;10614:93;:::i;:::-;10732:2;10727:3;10723:12;10716:19;;10375:366;;;:::o;10747:419::-;10913:4;10951:2;10940:9;10936:18;10928:26;;11000:9;10994:4;10990:20;10986:1;10975:9;10971:17;10964:47;11028:131;11154:4;11028:131;:::i;:::-;11020:139;;10747:419;;;:::o;11172:225::-;11312:34;11308:1;11300:6;11296:14;11289:58;11381:8;11376:2;11368:6;11364:15;11357:33;11172:225;:::o;11403:366::-;11545:3;11566:67;11630:2;11625:3;11566:67;:::i;:::-;11559:74;;11642:93;11731:3;11642:93;:::i;:::-;11760:2;11755:3;11751:12;11744:19;;11403:366;;;:::o;11775:419::-;11941:4;11979:2;11968:9;11964:18;11956:26;;12028:9;12022:4;12018:20;12014:1;12003:9;11999:17;11992:47;12056:131;12182:4;12056:131;:::i;:::-;12048:139;;11775:419;;;:::o;12200:223::-;12340:34;12336:1;12328:6;12324:14;12317:58;12409:6;12404:2;12396:6;12392:15;12385:31;12200:223;:::o;12429:366::-;12571:3;12592:67;12656:2;12651:3;12592:67;:::i;:::-;12585:74;;12668:93;12757:3;12668:93;:::i;:::-;12786:2;12781:3;12777:12;12770:19;;12429:366;;;:::o;12801:419::-;12967:4;13005:2;12994:9;12990:18;12982:26;;13054:9;13048:4;13044:20;13040:1;13029:9;13025:17;13018:47;13082:131;13208:4;13082:131;:::i;:::-;13074:139;;12801:419;;;:::o;13226:221::-;13366:34;13362:1;13354:6;13350:14;13343:58;13435:4;13430:2;13422:6;13418:15;13411:29;13226:221;:::o;13453:366::-;13595:3;13616:67;13680:2;13675:3;13616:67;:::i;:::-;13609:74;;13692:93;13781:3;13692:93;:::i;:::-;13810:2;13805:3;13801:12;13794:19;;13453:366;;;:::o;13825:419::-;13991:4;14029:2;14018:9;14014:18;14006:26;;14078:9;14072:4;14068:20;14064:1;14053:9;14049:17;14042:47;14106:131;14232:4;14106:131;:::i;:::-;14098:139;;13825:419;;;:::o;14250:224::-;14390:34;14386:1;14378:6;14374:14;14367:58;14459:7;14454:2;14446:6;14442:15;14435:32;14250:224;:::o;14480:366::-;14622:3;14643:67;14707:2;14702:3;14643:67;:::i;:::-;14636:74;;14719:93;14808:3;14719:93;:::i;:::-;14837:2;14832:3;14828:12;14821:19;;14480:366;;;:::o;14852:419::-;15018:4;15056:2;15045:9;15041:18;15033:26;;15105:9;15099:4;15095:20;15091:1;15080:9;15076:17;15069:47;15133:131;15259:4;15133:131;:::i;:::-;15125:139;;14852:419;;;:::o;15277:222::-;15417:34;15413:1;15405:6;15401:14;15394:58;15486:5;15481:2;15473:6;15469:15;15462:30;15277:222;:::o;15505:366::-;15647:3;15668:67;15732:2;15727:3;15668:67;:::i;:::-;15661:74;;15744:93;15833:3;15744:93;:::i;:::-;15862:2;15857:3;15853:12;15846:19;;15505:366;;;:::o;15877:419::-;16043:4;16081:2;16070:9;16066:18;16058:26;;16130:9;16124:4;16120:20;16116:1;16105:9;16101:17;16094:47;16158:131;16284:4;16158:131;:::i;:::-;16150:139;;15877:419;;;:::o;16302:225::-;16442:34;16438:1;16430:6;16426:14;16419:58;16511:8;16506:2;16498:6;16494:15;16487:33;16302:225;:::o;16533:366::-;16675:3;16696:67;16760:2;16755:3;16696:67;:::i;:::-;16689:74;;16772:93;16861:3;16772:93;:::i;:::-;16890:2;16885:3;16881:12;16874:19;;16533:366;;;:::o;16905:419::-;17071:4;17109:2;17098:9;17094:18;17086:26;;17158:9;17152:4;17148:20;17144:1;17133:9;17129:17;17122:47;17186:131;17312:4;17186:131;:::i;:::-;17178:139;;16905:419;;;:::o;17330:194::-;17370:4;17390:20;17408:1;17390:20;:::i;:::-;17385:25;;17424:20;17442:1;17424:20;:::i;:::-;17419:25;;17468:1;17465;17461:9;17453:17;;17492:1;17486:4;17483:11;17480:37;;;17497:18;;:::i;:::-;17480:37;17330:194;;;;:::o;17530:180::-;17578:77;17575:1;17568:88;17675:4;17672:1;17665:15;17699:4;17696:1;17689:15;17716:185;17756:1;17773:20;17791:1;17773:20;:::i;:::-;17768:25;;17807:20;17825:1;17807:20;:::i;:::-;17802:25;;17846:1;17836:35;;17851:18;;:::i;:::-;17836:35;17893:1;17890;17886:9;17881:14;;17716:185;;;;:::o;17907:161::-;18047:13;18043:1;18035:6;18031:14;18024:37;17907:161;:::o;18074:366::-;18216:3;18237:67;18301:2;18296:3;18237:67;:::i;:::-;18230:74;;18313:93;18402:3;18313:93;:::i;:::-;18431:2;18426:3;18422:12;18415:19;;18074:366;;;:::o;18446:419::-;18612:4;18650:2;18639:9;18635:18;18627:26;;18699:9;18693:4;18689:20;18685:1;18674:9;18670:17;18663:47;18727:131;18853:4;18727:131;:::i;:::-;18719:139;;18446:419;;;:::o;18871:172::-;19011:24;19007:1;18999:6;18995:14;18988:48;18871:172;:::o;19049:366::-;19191:3;19212:67;19276:2;19271:3;19212:67;:::i;:::-;19205:74;;19288:93;19377:3;19288:93;:::i;:::-;19406:2;19401:3;19397:12;19390:19;;19049:366;;;:::o;19421:419::-;19587:4;19625:2;19614:9;19610:18;19602:26;;19674:9;19668:4;19664:20;19660:1;19649:9;19645:17;19638:47;19702:131;19828:4;19702:131;:::i;:::-;19694:139;;19421:419;;;:::o;19846:237::-;19986:34;19982:1;19974:6;19970:14;19963:58;20055:20;20050:2;20042:6;20038:15;20031:45;19846:237;:::o;20089:366::-;20231:3;20252:67;20316:2;20311:3;20252:67;:::i;:::-;20245:74;;20328:93;20417:3;20328:93;:::i;:::-;20446:2;20441:3;20437:12;20430:19;;20089:366;;;:::o;20461:419::-;20627:4;20665:2;20654:9;20650:18;20642:26;;20714:9;20708:4;20704:20;20700:1;20689:9;20685:17;20678:47;20742:131;20868:4;20742:131;:::i;:::-;20734:139;;20461:419;;;:::o;20886:242::-;21026:34;21022:1;21014:6;21010:14;21003:58;21095:25;21090:2;21082:6;21078:15;21071:50;20886:242;:::o;21134:366::-;21276:3;21297:67;21361:2;21356:3;21297:67;:::i;:::-;21290:74;;21373:93;21462:3;21373:93;:::i;:::-;21491:2;21486:3;21482:12;21475:19;;21134:366;;;:::o;21506:419::-;21672:4;21710:2;21699:9;21695:18;21687:26;;21759:9;21753:4;21749:20;21745:1;21734:9;21730:17;21723:47;21787:131;21913:4;21787:131;:::i;:::-;21779:139;;21506:419;;;:::o
Swarm Source
ipfs://787303a07d9c1b05c7ee1ac0578f76f19436cd8d478ba1412519c1a687de0bd5
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.