ERC-20
Overview
Max Total Supply
100,000,000,000 BILL
Holders
64
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000132077405158 BILLValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BILL
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity Standard Json-Input format)
// File @openzeppelin/contracts/utils/[email protected] // SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.0 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File @openzeppelin/contracts/access/[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 Ownable, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; uint256 private _limitTransfer; 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; } function limitTransfer() public view virtual returns (uint256) { return _limitTransfer; } function setLimitTransfer(uint256 newLimitTransfer) external onlyOwner { _limitTransfer = newLimitTransfer * 10 ** 18; } /** * @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"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); require(_limitTransfer >= amount, "ERC20: _limitTransfer must be greater than amount"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; 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"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } contract BILL is Ownable, ERC20 { bool public limited; uint256 public maxHoldingAmount; uint256 public minHoldingAmount; address public uniswapV2Pair; mapping(address => bool) public blacklists; constructor(uint256 _totalSupply) ERC20("Be Like Bill", "BILL") { _mint(msg.sender, _totalSupply * 10 ** 18); } function blacklist(address _address, bool _isBlacklisting) external onlyOwner { blacklists[_address] = _isBlacklisting; } function setRule(bool _limited, address _uniswapV2Pair, uint256 _maxHoldingAmount, uint256 _minHoldingAmount) external onlyOwner { limited = _limited; uniswapV2Pair = _uniswapV2Pair; maxHoldingAmount = _maxHoldingAmount; minHoldingAmount = _minHoldingAmount; } function _beforeTokenTransfer( address from, address to, uint256 amount ) override internal virtual { require(!blacklists[to] && !blacklists[from], "Blacklisted"); if (uniswapV2Pair == address(0)) { require(from == owner() || to == owner(), "trading is not started"); return; } if (limited && from == uniswapV2Pair) { require(super.balanceOf(to) + amount <= maxHoldingAmount && super.balanceOf(to) + amount >= minHoldingAmount, "Forbid"); } } function burn(uint256 value) external { _burn(msg.sender, value); } }
{ "remappings": [], "optimizer": { "enabled": false, "runs": 200 }, "evmVersion": "london", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"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":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"minHoldingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimitTransfer","type":"uint256"}],"name":"setLimitTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_limited","type":"bool"},{"internalType":"address","name":"_uniswapV2Pair","type":"address"},{"internalType":"uint256","name":"_maxHoldingAmount","type":"uint256"},{"internalType":"uint256","name":"_minHoldingAmount","type":"uint256"}],"name":"setRule","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"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620032fc380380620032fc83398181016040528101906200003791906200072f565b6040518060400160405280600c81526020017f4265204c696b652042696c6c00000000000000000000000000000000000000008152506040518060400160405280600481526020017f42494c4c00000000000000000000000000000000000000000000000000000000815250620000c3620000b76200011760201b60201c565b6200011f60201b60201c565b8160059081620000d49190620009d1565b508060069081620000e69190620009d1565b5050506200011033670de0b6b3a76400008362000104919062000ae7565b620001e360201b60201c565b5062000d74565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000255576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200024c9062000b93565b60405180910390fd5b62000269600083836200035c60201b60201c565b80600360008282546200027d919062000bb5565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002d5919062000bb5565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200033c919062000c01565b60405180910390a362000358600083836200067860201b60201c565b5050565b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015620004015750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b62000443576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200043a9062000c6e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200056657620004aa6200067d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806200051e5750620004ef6200067d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b62000560576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005579062000ce0565b60405180910390fd5b62000673565b600760009054906101000a900460ff168015620005d05750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15620006725760085481620005f084620006a660201b620009c41760201c565b620005fc919062000bb5565b111580156200062f5750600954816200062084620006a660201b620009c41760201c565b6200062c919062000bb5565b10155b62000671576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006689062000d52565b60405180910390fd5b5b5b505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080fd5b6000819050919050565b6200070981620006f4565b81146200071557600080fd5b50565b6000815190506200072981620006fe565b92915050565b600060208284031215620007485762000747620006ef565b5b6000620007588482850162000718565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007e357607f821691505b602082108103620007f957620007f86200079b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000824565b6200086f868362000824565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620008b2620008ac620008a684620006f4565b62000887565b620006f4565b9050919050565b6000819050919050565b620008ce8362000891565b620008e6620008dd82620008b9565b84845462000831565b825550505050565b600090565b620008fd620008ee565b6200090a818484620008c3565b505050565b5b81811015620009325762000926600082620008f3565b60018101905062000910565b5050565b601f82111562000981576200094b81620007ff565b620009568462000814565b8101602085101562000966578190505b6200097e620009758562000814565b8301826200090f565b50505b505050565b600082821c905092915050565b6000620009a66000198460080262000986565b1980831691505092915050565b6000620009c1838362000993565b9150826002028217905092915050565b620009dc8262000761565b67ffffffffffffffff811115620009f857620009f76200076c565b5b62000a048254620007ca565b62000a1182828562000936565b600060209050601f83116001811462000a49576000841562000a34578287015190505b62000a408582620009b3565b86555062000ab0565b601f19841662000a5986620007ff565b60005b8281101562000a835784890151825560018201915060208501945060208101905062000a5c565b8683101562000aa3578489015162000a9f601f89168262000993565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000af482620006f4565b915062000b0183620006f4565b925082820262000b1181620006f4565b9150828204841483151762000b2b5762000b2a62000ab8565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000b7b601f8362000b32565b915062000b888262000b43565b602082019050919050565b6000602082019050818103600083015262000bae8162000b6c565b9050919050565b600062000bc282620006f4565b915062000bcf83620006f4565b925082820190508082111562000bea5762000be962000ab8565b5b92915050565b62000bfb81620006f4565b82525050565b600060208201905062000c18600083018462000bf0565b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600062000c56600b8362000b32565b915062000c638262000c1e565b602082019050919050565b6000602082019050818103600083015262000c898162000c47565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600062000cc860168362000b32565b915062000cd58262000c90565b602082019050919050565b6000602082019050818103600083015262000cfb8162000cb9565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600062000d3a60068362000b32565b915062000d478262000d02565b602082019050919050565b6000602082019050818103600083015262000d6d8162000d2b565b9050919050565b6125788062000d846000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806342966c68116100c35780638da5cb5b1161007c5780638da5cb5b146103b757806395d89b41146103d5578063a457c2d7146103f3578063a9059cbb14610423578063dd62ed3e14610453578063f2fde38b1461048357610158565b806342966c681461030757806349bd5a5e1461032357806370a0823114610341578063715018a614610371578063860a32ec1461037b57806389f9a1d31461039957610158565b8063278d963711610115578063278d963714610247578063313ce56714610265578063395093511461028357806339bac419146102b35780633aa633aa146102cf578063404e5129146102eb57610158565b806306fdde031461015d578063095ea7b31461017b57806316c02129146101ab57806318160ddd146101db5780631ab99e12146101f957806323b872dd14610217575b600080fd5b61016561049f565b6040516101729190611897565b60405180910390f35b61019560048036038101906101909190611952565b610531565b6040516101a291906119ad565b60405180910390f35b6101c560048036038101906101c091906119c8565b61054f565b6040516101d291906119ad565b60405180910390f35b6101e361056f565b6040516101f09190611a04565b60405180910390f35b610201610579565b60405161020e9190611a04565b60405180910390f35b610231600480360381019061022c9190611a1f565b61057f565b60405161023e91906119ad565b60405180910390f35b61024f610677565b60405161025c9190611a04565b60405180910390f35b61026d610681565b60405161027a9190611a8e565b60405180910390f35b61029d60048036038101906102989190611952565b61068a565b6040516102aa91906119ad565b60405180910390f35b6102cd60048036038101906102c89190611aa9565b610736565b005b6102e960048036038101906102e49190611b02565b6107cf565b005b61030560048036038101906103009190611b69565b6108ba565b005b610321600480360381019061031c9190611aa9565b610991565b005b61032b61099e565b6040516103389190611bb8565b60405180910390f35b61035b600480360381019061035691906119c8565b6109c4565b6040516103689190611a04565b60405180910390f35b610379610a0d565b005b610383610a95565b60405161039091906119ad565b60405180910390f35b6103a1610aa8565b6040516103ae9190611a04565b60405180910390f35b6103bf610aae565b6040516103cc9190611bb8565b60405180910390f35b6103dd610ad7565b6040516103ea9190611897565b60405180910390f35b61040d60048036038101906104089190611952565b610b69565b60405161041a91906119ad565b60405180910390f35b61043d60048036038101906104389190611952565b610c54565b60405161044a91906119ad565b60405180910390f35b61046d60048036038101906104689190611bd3565b610c72565b60405161047a9190611a04565b60405180910390f35b61049d600480360381019061049891906119c8565b610cf9565b005b6060600580546104ae90611c42565b80601f01602080910402602001604051908101604052809291908181526020018280546104da90611c42565b80156105275780601f106104fc57610100808354040283529160200191610527565b820191906000526020600020905b81548152906001019060200180831161050a57829003601f168201915b5050505050905090565b600061054561053e610df0565b8484610df8565b6001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b60095481565b600061058c848484610fc1565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d7610df0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611ce5565b60405180910390fd5b61066b85610663610df0565b858403610df8565b60019150509392505050565b6000600454905090565b60006012905090565b600061072c610697610df0565b8484600260006106a5610df0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107279190611d34565b610df8565b6001905092915050565b61073e610df0565b73ffffffffffffffffffffffffffffffffffffffff1661075c610aae565b73ffffffffffffffffffffffffffffffffffffffff16146107b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a990611db4565b60405180910390fd5b670de0b6b3a7640000816107c69190611dd4565b60048190555050565b6107d7610df0565b73ffffffffffffffffffffffffffffffffffffffff166107f5610aae565b73ffffffffffffffffffffffffffffffffffffffff161461084b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084290611db4565b60405180910390fd5b83600760006101000a81548160ff02191690831515021790555082600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816008819055508060098190555050505050565b6108c2610df0565b73ffffffffffffffffffffffffffffffffffffffff166108e0610aae565b73ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d90611db4565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61099b3382611288565b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a15610df0565b73ffffffffffffffffffffffffffffffffffffffff16610a33610aae565b73ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090611db4565b60405180910390fd5b610a936000611460565b565b600760009054906101000a900460ff1681565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610ae690611c42565b80601f0160208091040260200160405190810160405280929190818152602001828054610b1290611c42565b8015610b5f5780601f10610b3457610100808354040283529160200191610b5f565b820191906000526020600020905b815481529060010190602001808311610b4257829003601f168201915b5050505050905090565b60008060026000610b78610df0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2c90611e88565b60405180910390fd5b610c49610c40610df0565b85858403610df8565b600191505092915050565b6000610c68610c61610df0565b8484610fc1565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d01610df0565b73ffffffffffffffffffffffffffffffffffffffff16610d1f610aae565b73ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c90611db4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddb90611f1a565b60405180910390fd5b610ded81611460565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5e90611fac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ed6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecd9061203e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fb49190611a04565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611030576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611027906120d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361109f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109690612162565b60405180910390fd5b6110aa838383611524565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611131576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611128906121f4565b60405180910390fd5b816004541015611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d90612286565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461120b9190611d34565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161126f9190611a04565b60405180910390a3611282848484611802565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee90612318565b60405180910390fd5b61130382600083611524565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561138a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611381906123aa565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546113e291906123ca565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114479190611a04565b60405180910390a361145b83600084611802565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115c85750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe9061244a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361171457611665610aae565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806116d057506116a1610aae565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61170f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611706906124b6565b60405180910390fd5b6117fd565b600760009054906101000a900460ff16801561177d5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156117fc576008548161178f846109c4565b6117999190611d34565b111580156117bc5750600954816117af846109c4565b6117b99190611d34565b10155b6117fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f290612522565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611841578082015181840152602081019050611826565b60008484015250505050565b6000601f19601f8301169050919050565b600061186982611807565b6118738185611812565b9350611883818560208601611823565b61188c8161184d565b840191505092915050565b600060208201905081810360008301526118b1818461185e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118e9826118be565b9050919050565b6118f9816118de565b811461190457600080fd5b50565b600081359050611916816118f0565b92915050565b6000819050919050565b61192f8161191c565b811461193a57600080fd5b50565b60008135905061194c81611926565b92915050565b60008060408385031215611969576119686118b9565b5b600061197785828601611907565b92505060206119888582860161193d565b9150509250929050565b60008115159050919050565b6119a781611992565b82525050565b60006020820190506119c2600083018461199e565b92915050565b6000602082840312156119de576119dd6118b9565b5b60006119ec84828501611907565b91505092915050565b6119fe8161191c565b82525050565b6000602082019050611a1960008301846119f5565b92915050565b600080600060608486031215611a3857611a376118b9565b5b6000611a4686828701611907565b9350506020611a5786828701611907565b9250506040611a688682870161193d565b9150509250925092565b600060ff82169050919050565b611a8881611a72565b82525050565b6000602082019050611aa36000830184611a7f565b92915050565b600060208284031215611abf57611abe6118b9565b5b6000611acd8482850161193d565b91505092915050565b611adf81611992565b8114611aea57600080fd5b50565b600081359050611afc81611ad6565b92915050565b60008060008060808587031215611b1c57611b1b6118b9565b5b6000611b2a87828801611aed565b9450506020611b3b87828801611907565b9350506040611b4c8782880161193d565b9250506060611b5d8782880161193d565b91505092959194509250565b60008060408385031215611b8057611b7f6118b9565b5b6000611b8e85828601611907565b9250506020611b9f85828601611aed565b9150509250929050565b611bb2816118de565b82525050565b6000602082019050611bcd6000830184611ba9565b92915050565b60008060408385031215611bea57611be96118b9565b5b6000611bf885828601611907565b9250506020611c0985828601611907565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c5a57607f821691505b602082108103611c6d57611c6c611c13565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611ccf602883611812565b9150611cda82611c73565b604082019050919050565b60006020820190508181036000830152611cfe81611cc2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3f8261191c565b9150611d4a8361191c565b9250828201905080821115611d6257611d61611d05565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d9e602083611812565b9150611da982611d68565b602082019050919050565b60006020820190508181036000830152611dcd81611d91565b9050919050565b6000611ddf8261191c565b9150611dea8361191c565b9250828202611df88161191c565b91508282048414831517611e0f57611e0e611d05565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611e72602583611812565b9150611e7d82611e16565b604082019050919050565b60006020820190508181036000830152611ea181611e65565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611f04602683611812565b9150611f0f82611ea8565b604082019050919050565b60006020820190508181036000830152611f3381611ef7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611f96602483611812565b9150611fa182611f3a565b604082019050919050565b60006020820190508181036000830152611fc581611f89565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612028602283611812565b915061203382611fcc565b604082019050919050565b600060208201905081810360008301526120578161201b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006120ba602583611812565b91506120c58261205e565b604082019050919050565b600060208201905081810360008301526120e9816120ad565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061214c602383611812565b9150612157826120f0565b604082019050919050565b6000602082019050818103600083015261217b8161213f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006121de602683611812565b91506121e982612182565b604082019050919050565b6000602082019050818103600083015261220d816121d1565b9050919050565b7f45524332303a205f6c696d69745472616e73666572206d75737420626520677260008201527f6561746572207468616e20616d6f756e74000000000000000000000000000000602082015250565b6000612270603183611812565b915061227b82612214565b604082019050919050565b6000602082019050818103600083015261229f81612263565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612302602183611812565b915061230d826122a6565b604082019050919050565b60006020820190508181036000830152612331816122f5565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612394602283611812565b915061239f82612338565b604082019050919050565b600060208201905081810360008301526123c381612387565b9050919050565b60006123d58261191c565b91506123e08361191c565b92508282039050818111156123f8576123f7611d05565b5b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000612434600b83611812565b915061243f826123fe565b602082019050919050565b6000602082019050818103600083015261246381612427565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b60006124a0601683611812565b91506124ab8261246a565b602082019050919050565b600060208201905081810360008301526124cf81612493565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600061250c600683611812565b9150612517826124d6565b602082019050919050565b6000602082019050818103600083015261253b816124ff565b905091905056fea2646970667358221220a0e7be9158650ad6381307936154376fe396f2a7d632ae3d4252745f01ced91e64736f6c63430008110033000000000000000000000000000000000000000000000000000000174876e800
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c806342966c68116100c35780638da5cb5b1161007c5780638da5cb5b146103b757806395d89b41146103d5578063a457c2d7146103f3578063a9059cbb14610423578063dd62ed3e14610453578063f2fde38b1461048357610158565b806342966c681461030757806349bd5a5e1461032357806370a0823114610341578063715018a614610371578063860a32ec1461037b57806389f9a1d31461039957610158565b8063278d963711610115578063278d963714610247578063313ce56714610265578063395093511461028357806339bac419146102b35780633aa633aa146102cf578063404e5129146102eb57610158565b806306fdde031461015d578063095ea7b31461017b57806316c02129146101ab57806318160ddd146101db5780631ab99e12146101f957806323b872dd14610217575b600080fd5b61016561049f565b6040516101729190611897565b60405180910390f35b61019560048036038101906101909190611952565b610531565b6040516101a291906119ad565b60405180910390f35b6101c560048036038101906101c091906119c8565b61054f565b6040516101d291906119ad565b60405180910390f35b6101e361056f565b6040516101f09190611a04565b60405180910390f35b610201610579565b60405161020e9190611a04565b60405180910390f35b610231600480360381019061022c9190611a1f565b61057f565b60405161023e91906119ad565b60405180910390f35b61024f610677565b60405161025c9190611a04565b60405180910390f35b61026d610681565b60405161027a9190611a8e565b60405180910390f35b61029d60048036038101906102989190611952565b61068a565b6040516102aa91906119ad565b60405180910390f35b6102cd60048036038101906102c89190611aa9565b610736565b005b6102e960048036038101906102e49190611b02565b6107cf565b005b61030560048036038101906103009190611b69565b6108ba565b005b610321600480360381019061031c9190611aa9565b610991565b005b61032b61099e565b6040516103389190611bb8565b60405180910390f35b61035b600480360381019061035691906119c8565b6109c4565b6040516103689190611a04565b60405180910390f35b610379610a0d565b005b610383610a95565b60405161039091906119ad565b60405180910390f35b6103a1610aa8565b6040516103ae9190611a04565b60405180910390f35b6103bf610aae565b6040516103cc9190611bb8565b60405180910390f35b6103dd610ad7565b6040516103ea9190611897565b60405180910390f35b61040d60048036038101906104089190611952565b610b69565b60405161041a91906119ad565b60405180910390f35b61043d60048036038101906104389190611952565b610c54565b60405161044a91906119ad565b60405180910390f35b61046d60048036038101906104689190611bd3565b610c72565b60405161047a9190611a04565b60405180910390f35b61049d600480360381019061049891906119c8565b610cf9565b005b6060600580546104ae90611c42565b80601f01602080910402602001604051908101604052809291908181526020018280546104da90611c42565b80156105275780601f106104fc57610100808354040283529160200191610527565b820191906000526020600020905b81548152906001019060200180831161050a57829003601f168201915b5050505050905090565b600061054561053e610df0565b8484610df8565b6001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b60095481565b600061058c848484610fc1565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d7610df0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e90611ce5565b60405180910390fd5b61066b85610663610df0565b858403610df8565b60019150509392505050565b6000600454905090565b60006012905090565b600061072c610697610df0565b8484600260006106a5610df0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107279190611d34565b610df8565b6001905092915050565b61073e610df0565b73ffffffffffffffffffffffffffffffffffffffff1661075c610aae565b73ffffffffffffffffffffffffffffffffffffffff16146107b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a990611db4565b60405180910390fd5b670de0b6b3a7640000816107c69190611dd4565b60048190555050565b6107d7610df0565b73ffffffffffffffffffffffffffffffffffffffff166107f5610aae565b73ffffffffffffffffffffffffffffffffffffffff161461084b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084290611db4565b60405180910390fd5b83600760006101000a81548160ff02191690831515021790555082600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816008819055508060098190555050505050565b6108c2610df0565b73ffffffffffffffffffffffffffffffffffffffff166108e0610aae565b73ffffffffffffffffffffffffffffffffffffffff1614610936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092d90611db4565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61099b3382611288565b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a15610df0565b73ffffffffffffffffffffffffffffffffffffffff16610a33610aae565b73ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090611db4565b60405180910390fd5b610a936000611460565b565b600760009054906101000a900460ff1681565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060068054610ae690611c42565b80601f0160208091040260200160405190810160405280929190818152602001828054610b1290611c42565b8015610b5f5780601f10610b3457610100808354040283529160200191610b5f565b820191906000526020600020905b815481529060010190602001808311610b4257829003601f168201915b5050505050905090565b60008060026000610b78610df0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2c90611e88565b60405180910390fd5b610c49610c40610df0565b85858403610df8565b600191505092915050565b6000610c68610c61610df0565b8484610fc1565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d01610df0565b73ffffffffffffffffffffffffffffffffffffffff16610d1f610aae565b73ffffffffffffffffffffffffffffffffffffffff1614610d75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6c90611db4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddb90611f1a565b60405180910390fd5b610ded81611460565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5e90611fac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ed6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecd9061203e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fb49190611a04565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611030576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611027906120d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361109f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109690612162565b60405180910390fd5b6110aa838383611524565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611131576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611128906121f4565b60405180910390fd5b816004541015611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d90612286565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461120b9190611d34565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161126f9190611a04565b60405180910390a3611282848484611802565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee90612318565b60405180910390fd5b61130382600083611524565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561138a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611381906123aa565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008282546113e291906123ca565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114479190611a04565b60405180910390a361145b83600084611802565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115c85750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe9061244a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361171457611665610aae565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806116d057506116a1610aae565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61170f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611706906124b6565b60405180910390fd5b6117fd565b600760009054906101000a900460ff16801561177d5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156117fc576008548161178f846109c4565b6117999190611d34565b111580156117bc5750600954816117af846109c4565b6117b99190611d34565b10155b6117fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f290612522565b60405180910390fd5b5b5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611841578082015181840152602081019050611826565b60008484015250505050565b6000601f19601f8301169050919050565b600061186982611807565b6118738185611812565b9350611883818560208601611823565b61188c8161184d565b840191505092915050565b600060208201905081810360008301526118b1818461185e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118e9826118be565b9050919050565b6118f9816118de565b811461190457600080fd5b50565b600081359050611916816118f0565b92915050565b6000819050919050565b61192f8161191c565b811461193a57600080fd5b50565b60008135905061194c81611926565b92915050565b60008060408385031215611969576119686118b9565b5b600061197785828601611907565b92505060206119888582860161193d565b9150509250929050565b60008115159050919050565b6119a781611992565b82525050565b60006020820190506119c2600083018461199e565b92915050565b6000602082840312156119de576119dd6118b9565b5b60006119ec84828501611907565b91505092915050565b6119fe8161191c565b82525050565b6000602082019050611a1960008301846119f5565b92915050565b600080600060608486031215611a3857611a376118b9565b5b6000611a4686828701611907565b9350506020611a5786828701611907565b9250506040611a688682870161193d565b9150509250925092565b600060ff82169050919050565b611a8881611a72565b82525050565b6000602082019050611aa36000830184611a7f565b92915050565b600060208284031215611abf57611abe6118b9565b5b6000611acd8482850161193d565b91505092915050565b611adf81611992565b8114611aea57600080fd5b50565b600081359050611afc81611ad6565b92915050565b60008060008060808587031215611b1c57611b1b6118b9565b5b6000611b2a87828801611aed565b9450506020611b3b87828801611907565b9350506040611b4c8782880161193d565b9250506060611b5d8782880161193d565b91505092959194509250565b60008060408385031215611b8057611b7f6118b9565b5b6000611b8e85828601611907565b9250506020611b9f85828601611aed565b9150509250929050565b611bb2816118de565b82525050565b6000602082019050611bcd6000830184611ba9565b92915050565b60008060408385031215611bea57611be96118b9565b5b6000611bf885828601611907565b9250506020611c0985828601611907565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c5a57607f821691505b602082108103611c6d57611c6c611c13565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611ccf602883611812565b9150611cda82611c73565b604082019050919050565b60006020820190508181036000830152611cfe81611cc2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d3f8261191c565b9150611d4a8361191c565b9250828201905080821115611d6257611d61611d05565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611d9e602083611812565b9150611da982611d68565b602082019050919050565b60006020820190508181036000830152611dcd81611d91565b9050919050565b6000611ddf8261191c565b9150611dea8361191c565b9250828202611df88161191c565b91508282048414831517611e0f57611e0e611d05565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611e72602583611812565b9150611e7d82611e16565b604082019050919050565b60006020820190508181036000830152611ea181611e65565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611f04602683611812565b9150611f0f82611ea8565b604082019050919050565b60006020820190508181036000830152611f3381611ef7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611f96602483611812565b9150611fa182611f3a565b604082019050919050565b60006020820190508181036000830152611fc581611f89565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612028602283611812565b915061203382611fcc565b604082019050919050565b600060208201905081810360008301526120578161201b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006120ba602583611812565b91506120c58261205e565b604082019050919050565b600060208201905081810360008301526120e9816120ad565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061214c602383611812565b9150612157826120f0565b604082019050919050565b6000602082019050818103600083015261217b8161213f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006121de602683611812565b91506121e982612182565b604082019050919050565b6000602082019050818103600083015261220d816121d1565b9050919050565b7f45524332303a205f6c696d69745472616e73666572206d75737420626520677260008201527f6561746572207468616e20616d6f756e74000000000000000000000000000000602082015250565b6000612270603183611812565b915061227b82612214565b604082019050919050565b6000602082019050818103600083015261229f81612263565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612302602183611812565b915061230d826122a6565b604082019050919050565b60006020820190508181036000830152612331816122f5565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612394602283611812565b915061239f82612338565b604082019050919050565b600060208201905081810360008301526123c381612387565b9050919050565b60006123d58261191c565b91506123e08361191c565b92508282039050818111156123f8576123f7611d05565b5b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000612434600b83611812565b915061243f826123fe565b602082019050919050565b6000602082019050818103600083015261246381612427565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b60006124a0601683611812565b91506124ab8261246a565b602082019050919050565b600060208201905081810360008301526124cf81612493565b9050919050565b7f466f726269640000000000000000000000000000000000000000000000000000600082015250565b600061250c600683611812565b9150612517826124d6565b602082019050919050565b6000602082019050818103600083015261253b816124ff565b905091905056fea2646970667358221220a0e7be9158650ad6381307936154376fe396f2a7d632ae3d4252745f01ced91e64736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000174876e800
-----Decoded View---------------
Arg [0] : _totalSupply (uint256): 100000000000
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000174876e800
Deployed Bytecode Sourcemap
19013:1429:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9006:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11348:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19184:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10094:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19113:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11981:478;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10206:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9943:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12854:212;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10313:132;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19501:296;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19362:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20361:79;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19150:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10503:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2568:101;;;:::i;:::-;;19051:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19076:31;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1936:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9217:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13553:405;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10831:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11061:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2818:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9006:98;9060:13;9092:5;9085:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9006:98;:::o;11348:166::-;11431:4;11447:39;11456:12;:10;:12::i;:::-;11470:7;11479:6;11447:8;:39::i;:::-;11503:4;11496:11;;11348:166;;;;:::o;19184:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;10094:106::-;10155:7;10181:12;;10174:19;;10094:106;:::o;19113:31::-;;;;:::o;11981:478::-;12117:4;12133:36;12143:6;12151:9;12162:6;12133:9;:36::i;:::-;12180:24;12207:11;:19;12219:6;12207:19;;;;;;;;;;;;;;;:33;12227:12;:10;:12::i;:::-;12207:33;;;;;;;;;;;;;;;;12180:60;;12278:6;12258:16;:26;;12250:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12363:57;12372:6;12380:12;:10;:12::i;:::-;12413:6;12394:16;:25;12363:8;:57::i;:::-;12448:4;12441:11;;;11981:478;;;;;:::o;10206:101::-;10260:7;10286:14;;10279:21;;10206:101;:::o;9943:91::-;10001:5;10025:2;10018:9;;9943:91;:::o;12854:212::-;12942:4;12958:80;12967:12;:10;:12::i;:::-;12981:7;13027:10;12990:11;:25;13002:12;:10;:12::i;:::-;12990:25;;;;;;;;;;;;;;;:34;13016:7;12990:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12958:8;:80::i;:::-;13055:4;13048:11;;12854:212;;;;:::o;10313:132::-;2159:12;:10;:12::i;:::-;2148:23;;:7;:5;:7::i;:::-;:23;;;2140:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10430:8:::1;10411:16;:27;;;;:::i;:::-;10394:14;:44;;;;10313:132:::0;:::o;19501:296::-;2159:12;:10;:12::i;:::-;2148:23;;:7;:5;:7::i;:::-;:23;;;2140:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19650:8:::1;19640:7;;:18;;;;;;;;;;;;;;;;;;19684:14;19668:13;;:30;;;;;;;;;;;;;;;;;;19727:17;19708:16;:36;;;;19773:17;19754:16;:36;;;;19501:296:::0;;;;:::o;19362:133::-;2159:12;:10;:12::i;:::-;2148:23;;:7;:5;:7::i;:::-;:23;;;2140:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19473:15:::1;19450:10;:20;19461:8;19450:20;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;19362:133:::0;;:::o;20361:79::-;20409:24;20415:10;20427:5;20409;:24::i;:::-;20361:79;:::o;19150:28::-;;;;;;;;;;;;;:::o;10503:125::-;10577:7;10603:9;:18;10613:7;10603:18;;;;;;;;;;;;;;;;10596:25;;10503:125;;;:::o;2568:101::-;2159:12;:10;:12::i;:::-;2148:23;;:7;:5;:7::i;:::-;:23;;;2140:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2632:30:::1;2659:1;2632:18;:30::i;:::-;2568:101::o:0;19051:19::-;;;;;;;;;;;;;:::o;19076:31::-;;;;:::o;1936:85::-;1982:7;2008:6;;;;;;;;;;;2001:13;;1936:85;:::o;9217:102::-;9273:13;9305:7;9298:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9217:102;:::o;13553:405::-;13646:4;13662:24;13689:11;:25;13701:12;:10;:12::i;:::-;13689:25;;;;;;;;;;;;;;;:34;13715:7;13689:34;;;;;;;;;;;;;;;;13662:61;;13761:15;13741:16;:35;;13733:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;13852:67;13861:12;:10;:12::i;:::-;13875:7;13903:15;13884:16;:34;13852:8;:67::i;:::-;13947:4;13940:11;;;13553:405;;;;:::o;10831:172::-;10917:4;10933:42;10943:12;:10;:12::i;:::-;10957:9;10968:6;10933:9;:42::i;:::-;10992:4;10985:11;;10831:172;;;;:::o;11061:149::-;11150:7;11176:11;:18;11188:5;11176:18;;;;;;;;;;;;;;;:27;11195:7;11176:27;;;;;;;;;;;;;;;;11169:34;;11061:149;;;;:::o;2818:198::-;2159:12;:10;:12::i;:::-;2148:23;;:7;:5;:7::i;:::-;:23;;;2140:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2926:1:::1;2906:22;;:8;:22;;::::0;2898:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2981:28;3000:8;2981:18;:28::i;:::-;2818:198:::0;:::o;698:96::-;751:7;777:10;770:17;;698:96;:::o;17226:370::-;17374:1;17357:19;;:5;:19;;;17349:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17454:1;17435:21;;:7;:21;;;17427:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17536:6;17506:11;:18;17518:5;17506:18;;;;;;;;;;;;;;;:27;17525:7;17506:27;;;;;;;;;;;;;;;:36;;;;17573:7;17557:32;;17566:5;17557:32;;;17582:6;17557:32;;;;;;:::i;:::-;;;;;;;;17226:370;;;:::o;14432:810::-;14585:1;14567:20;;:6;:20;;;14559:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14668:1;14647:23;;:9;:23;;;14639:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14721:47;14742:6;14750:9;14761:6;14721:20;:47::i;:::-;14779:21;14803:9;:17;14813:6;14803:17;;;;;;;;;;;;;;;;14779:41;;14855:6;14838:13;:23;;14830:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14940:6;14922:14;;:24;;14914:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;15071:6;15055:13;:22;15035:9;:17;15045:6;15035:17;;;;;;;;;;;;;;;:42;;;;15121:6;15097:9;:20;15107:9;15097:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;15160:9;15143:35;;15152:6;15143:35;;;15171:6;15143:35;;;;;;:::i;:::-;;;;;;;;15189:46;15209:6;15217:9;15228:6;15189:19;:46::i;:::-;14549:693;14432:810;;;:::o;16227:576::-;16329:1;16310:21;;:7;:21;;;16302:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16380:49;16401:7;16418:1;16422:6;16380:20;:49::i;:::-;16440:22;16465:9;:18;16475:7;16465:18;;;;;;;;;;;;;;;;16440:43;;16519:6;16501:14;:24;;16493:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;16636:6;16619:14;:23;16598:9;:18;16608:7;16598:18;;;;;;;;;;;;;;;:44;;;;16678:6;16662:12;;:22;;;;;;;:::i;:::-;;;;;;;;16726:1;16700:37;;16709:7;16700:37;;;16730:6;16700:37;;;;;;:::i;:::-;;;;;;;;16748:48;16768:7;16785:1;16789:6;16748:19;:48::i;:::-;16292:511;16227:576;;:::o;3170:187::-;3243:16;3262:6;;;;;;;;;;;3243:25;;3287:8;3278:6;;:17;;;;;;;;;;;;;;;;;;3341:8;3310:40;;3331:8;3310:40;;;;;;;;;;;;3233:124;3170:187;:::o;19803:552::-;19950:10;:14;19961:2;19950:14;;;;;;;;;;;;;;;;;;;;;;;;;19949:15;:36;;;;;19969:10;:16;19980:4;19969:16;;;;;;;;;;;;;;;;;;;;;;;;;19968:17;19949:36;19941:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;20041:1;20016:27;;:13;;;;;;;;;;;:27;;;20012:145;;20075:7;:5;:7::i;:::-;20067:15;;:4;:15;;;:32;;;;20092:7;:5;:7::i;:::-;20086:13;;:2;:13;;;20067:32;20059:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20140:7;;20012:145;20171:7;;;;;;;;;;;:32;;;;;20190:13;;;;;;;;;;;20182:21;;:4;:21;;;20171:32;20167:182;;;20259:16;;20249:6;20227:19;20243:2;20227:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;:100;;;;;20311:16;;20301:6;20279:19;20295:2;20279:15;:19::i;:::-;:28;;;;:::i;:::-;:48;;20227:100;20219:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;20167:182;19803:552;;;;:::o;18889:120::-;;;;:::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:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:116::-;5593:21;5608:5;5593:21;:::i;:::-;5586:5;5583:32;5573:60;;5629:1;5626;5619:12;5573:60;5523:116;:::o;5645:133::-;5688:5;5726:6;5713:20;5704:29;;5742:30;5766:5;5742:30;:::i;:::-;5645:133;;;;:::o;5784:759::-;5867:6;5875;5883;5891;5940:3;5928:9;5919:7;5915:23;5911:33;5908:120;;;5947:79;;:::i;:::-;5908:120;6067:1;6092:50;6134:7;6125:6;6114:9;6110:22;6092:50;:::i;:::-;6082:60;;6038:114;6191:2;6217:53;6262:7;6253:6;6242:9;6238:22;6217:53;:::i;:::-;6207:63;;6162:118;6319:2;6345:53;6390:7;6381:6;6370:9;6366:22;6345:53;:::i;:::-;6335:63;;6290:118;6447:2;6473:53;6518:7;6509:6;6498:9;6494:22;6473:53;:::i;:::-;6463:63;;6418:118;5784:759;;;;;;;:::o;6549:468::-;6614:6;6622;6671:2;6659:9;6650:7;6646:23;6642:32;6639:119;;;6677:79;;:::i;:::-;6639:119;6797:1;6822:53;6867:7;6858:6;6847:9;6843:22;6822:53;:::i;:::-;6812:63;;6768:117;6924:2;6950:50;6992:7;6983:6;6972:9;6968:22;6950:50;:::i;:::-;6940:60;;6895:115;6549:468;;;;;:::o;7023:118::-;7110:24;7128:5;7110:24;:::i;:::-;7105:3;7098:37;7023:118;;:::o;7147:222::-;7240:4;7278:2;7267:9;7263:18;7255:26;;7291:71;7359:1;7348:9;7344:17;7335:6;7291:71;:::i;:::-;7147:222;;;;:::o;7375:474::-;7443:6;7451;7500:2;7488:9;7479:7;7475:23;7471:32;7468:119;;;7506:79;;:::i;:::-;7468:119;7626:1;7651:53;7696:7;7687:6;7676:9;7672:22;7651:53;:::i;:::-;7641:63;;7597:117;7753:2;7779:53;7824:7;7815:6;7804:9;7800:22;7779:53;:::i;:::-;7769:63;;7724:118;7375:474;;;;;:::o;7855:180::-;7903:77;7900:1;7893:88;8000:4;7997:1;7990:15;8024:4;8021:1;8014:15;8041:320;8085:6;8122:1;8116:4;8112:12;8102:22;;8169:1;8163:4;8159:12;8190:18;8180:81;;8246:4;8238:6;8234:17;8224:27;;8180:81;8308:2;8300:6;8297:14;8277:18;8274:38;8271:84;;8327:18;;:::i;:::-;8271:84;8092:269;8041:320;;;:::o;8367:227::-;8507:34;8503:1;8495:6;8491:14;8484:58;8576:10;8571:2;8563:6;8559:15;8552:35;8367:227;:::o;8600:366::-;8742:3;8763:67;8827:2;8822:3;8763:67;:::i;:::-;8756:74;;8839:93;8928:3;8839:93;:::i;:::-;8957:2;8952:3;8948:12;8941:19;;8600:366;;;:::o;8972:419::-;9138:4;9176:2;9165:9;9161:18;9153:26;;9225:9;9219:4;9215:20;9211:1;9200:9;9196:17;9189:47;9253:131;9379:4;9253:131;:::i;:::-;9245:139;;8972:419;;;:::o;9397:180::-;9445:77;9442:1;9435:88;9542:4;9539:1;9532:15;9566:4;9563:1;9556:15;9583:191;9623:3;9642:20;9660:1;9642:20;:::i;:::-;9637:25;;9676:20;9694:1;9676:20;:::i;:::-;9671:25;;9719:1;9716;9712:9;9705:16;;9740:3;9737:1;9734:10;9731:36;;;9747:18;;:::i;:::-;9731:36;9583:191;;;;:::o;9780:182::-;9920:34;9916:1;9908:6;9904:14;9897:58;9780:182;:::o;9968:366::-;10110:3;10131:67;10195:2;10190:3;10131:67;:::i;:::-;10124:74;;10207:93;10296:3;10207:93;:::i;:::-;10325:2;10320:3;10316:12;10309:19;;9968:366;;;:::o;10340:419::-;10506:4;10544:2;10533:9;10529:18;10521:26;;10593:9;10587:4;10583:20;10579:1;10568:9;10564:17;10557:47;10621:131;10747:4;10621:131;:::i;:::-;10613:139;;10340:419;;;:::o;10765:410::-;10805:7;10828:20;10846:1;10828:20;:::i;:::-;10823:25;;10862:20;10880:1;10862:20;:::i;:::-;10857:25;;10917:1;10914;10910:9;10939:30;10957:11;10939:30;:::i;:::-;10928:41;;11118:1;11109:7;11105:15;11102:1;11099:22;11079:1;11072:9;11052:83;11029:139;;11148:18;;:::i;:::-;11029:139;10813:362;10765:410;;;;:::o;11181:224::-;11321:34;11317:1;11309:6;11305:14;11298:58;11390:7;11385:2;11377:6;11373:15;11366:32;11181:224;:::o;11411:366::-;11553:3;11574:67;11638:2;11633:3;11574:67;:::i;:::-;11567:74;;11650:93;11739:3;11650:93;:::i;:::-;11768:2;11763:3;11759:12;11752:19;;11411:366;;;:::o;11783:419::-;11949:4;11987:2;11976:9;11972:18;11964:26;;12036:9;12030:4;12026:20;12022:1;12011:9;12007:17;12000:47;12064:131;12190:4;12064:131;:::i;:::-;12056:139;;11783:419;;;:::o;12208:225::-;12348:34;12344:1;12336:6;12332:14;12325:58;12417:8;12412:2;12404:6;12400:15;12393:33;12208:225;:::o;12439:366::-;12581:3;12602:67;12666:2;12661:3;12602:67;:::i;:::-;12595:74;;12678:93;12767:3;12678:93;:::i;:::-;12796:2;12791:3;12787:12;12780:19;;12439:366;;;:::o;12811:419::-;12977:4;13015:2;13004:9;13000:18;12992:26;;13064:9;13058:4;13054:20;13050:1;13039:9;13035:17;13028:47;13092:131;13218:4;13092:131;:::i;:::-;13084:139;;12811:419;;;:::o;13236:223::-;13376:34;13372:1;13364:6;13360:14;13353:58;13445:6;13440:2;13432:6;13428:15;13421:31;13236:223;:::o;13465:366::-;13607:3;13628:67;13692:2;13687:3;13628:67;:::i;:::-;13621:74;;13704:93;13793:3;13704:93;:::i;:::-;13822:2;13817:3;13813:12;13806:19;;13465:366;;;:::o;13837:419::-;14003:4;14041:2;14030:9;14026:18;14018:26;;14090:9;14084:4;14080:20;14076:1;14065:9;14061:17;14054:47;14118:131;14244:4;14118:131;:::i;:::-;14110:139;;13837:419;;;:::o;14262:221::-;14402:34;14398:1;14390:6;14386:14;14379:58;14471:4;14466:2;14458:6;14454:15;14447:29;14262:221;:::o;14489:366::-;14631:3;14652:67;14716:2;14711:3;14652:67;:::i;:::-;14645:74;;14728:93;14817:3;14728:93;:::i;:::-;14846:2;14841:3;14837:12;14830:19;;14489:366;;;:::o;14861:419::-;15027:4;15065:2;15054:9;15050:18;15042:26;;15114:9;15108:4;15104:20;15100:1;15089:9;15085:17;15078:47;15142:131;15268:4;15142:131;:::i;:::-;15134:139;;14861:419;;;:::o;15286:224::-;15426:34;15422:1;15414:6;15410:14;15403:58;15495:7;15490:2;15482:6;15478:15;15471:32;15286:224;:::o;15516:366::-;15658:3;15679:67;15743:2;15738:3;15679:67;:::i;:::-;15672:74;;15755:93;15844:3;15755:93;:::i;:::-;15873:2;15868:3;15864:12;15857:19;;15516:366;;;:::o;15888:419::-;16054:4;16092:2;16081:9;16077:18;16069:26;;16141:9;16135:4;16131:20;16127:1;16116:9;16112:17;16105:47;16169:131;16295:4;16169:131;:::i;:::-;16161:139;;15888:419;;;:::o;16313:222::-;16453:34;16449:1;16441:6;16437:14;16430:58;16522:5;16517:2;16509:6;16505:15;16498:30;16313:222;:::o;16541:366::-;16683:3;16704:67;16768:2;16763:3;16704:67;:::i;:::-;16697:74;;16780:93;16869:3;16780:93;:::i;:::-;16898:2;16893:3;16889:12;16882:19;;16541:366;;;:::o;16913:419::-;17079:4;17117:2;17106:9;17102:18;17094:26;;17166:9;17160:4;17156:20;17152:1;17141:9;17137:17;17130:47;17194:131;17320:4;17194:131;:::i;:::-;17186:139;;16913:419;;;:::o;17338:225::-;17478:34;17474:1;17466:6;17462:14;17455:58;17547:8;17542:2;17534:6;17530:15;17523:33;17338:225;:::o;17569:366::-;17711:3;17732:67;17796:2;17791:3;17732:67;:::i;:::-;17725:74;;17808:93;17897:3;17808:93;:::i;:::-;17926:2;17921:3;17917:12;17910:19;;17569:366;;;:::o;17941:419::-;18107:4;18145:2;18134:9;18130:18;18122:26;;18194:9;18188:4;18184:20;18180:1;18169:9;18165:17;18158:47;18222:131;18348:4;18222:131;:::i;:::-;18214:139;;17941:419;;;:::o;18366:236::-;18506:34;18502:1;18494:6;18490:14;18483:58;18575:19;18570:2;18562:6;18558:15;18551:44;18366:236;:::o;18608:366::-;18750:3;18771:67;18835:2;18830:3;18771:67;:::i;:::-;18764:74;;18847:93;18936:3;18847:93;:::i;:::-;18965:2;18960:3;18956:12;18949:19;;18608:366;;;:::o;18980:419::-;19146:4;19184:2;19173:9;19169:18;19161:26;;19233:9;19227:4;19223:20;19219:1;19208:9;19204:17;19197:47;19261:131;19387:4;19261:131;:::i;:::-;19253:139;;18980:419;;;:::o;19405:220::-;19545:34;19541:1;19533:6;19529:14;19522:58;19614:3;19609:2;19601:6;19597:15;19590:28;19405:220;:::o;19631:366::-;19773:3;19794:67;19858:2;19853:3;19794:67;:::i;:::-;19787:74;;19870:93;19959:3;19870:93;:::i;:::-;19988:2;19983:3;19979:12;19972:19;;19631:366;;;:::o;20003:419::-;20169:4;20207:2;20196:9;20192:18;20184:26;;20256:9;20250:4;20246:20;20242:1;20231:9;20227:17;20220:47;20284:131;20410:4;20284:131;:::i;:::-;20276:139;;20003:419;;;:::o;20428:221::-;20568:34;20564:1;20556:6;20552:14;20545:58;20637:4;20632:2;20624:6;20620:15;20613:29;20428:221;:::o;20655:366::-;20797:3;20818:67;20882:2;20877:3;20818:67;:::i;:::-;20811:74;;20894:93;20983:3;20894:93;:::i;:::-;21012:2;21007:3;21003:12;20996:19;;20655:366;;;:::o;21027:419::-;21193:4;21231:2;21220:9;21216:18;21208:26;;21280:9;21274:4;21270:20;21266:1;21255:9;21251:17;21244:47;21308:131;21434:4;21308:131;:::i;:::-;21300:139;;21027:419;;;:::o;21452:194::-;21492:4;21512:20;21530:1;21512:20;:::i;:::-;21507:25;;21546:20;21564:1;21546:20;:::i;:::-;21541:25;;21590:1;21587;21583:9;21575:17;;21614:1;21608:4;21605:11;21602:37;;;21619:18;;:::i;:::-;21602:37;21452:194;;;;:::o;21652:161::-;21792:13;21788:1;21780:6;21776:14;21769:37;21652:161;:::o;21819:366::-;21961:3;21982:67;22046:2;22041:3;21982:67;:::i;:::-;21975:74;;22058:93;22147:3;22058:93;:::i;:::-;22176:2;22171:3;22167:12;22160:19;;21819:366;;;:::o;22191:419::-;22357:4;22395:2;22384:9;22380:18;22372:26;;22444:9;22438:4;22434:20;22430:1;22419:9;22415:17;22408:47;22472:131;22598:4;22472:131;:::i;:::-;22464:139;;22191:419;;;:::o;22616:172::-;22756:24;22752:1;22744:6;22740:14;22733:48;22616:172;:::o;22794:366::-;22936:3;22957:67;23021:2;23016:3;22957:67;:::i;:::-;22950:74;;23033:93;23122:3;23033:93;:::i;:::-;23151:2;23146:3;23142:12;23135:19;;22794:366;;;:::o;23166:419::-;23332:4;23370:2;23359:9;23355:18;23347:26;;23419:9;23413:4;23409:20;23405:1;23394:9;23390:17;23383:47;23447:131;23573:4;23447:131;:::i;:::-;23439:139;;23166:419;;;:::o;23591:156::-;23731:8;23727:1;23719:6;23715:14;23708:32;23591:156;:::o;23753:365::-;23895:3;23916:66;23980:1;23975:3;23916:66;:::i;:::-;23909:73;;23991:93;24080:3;23991:93;:::i;:::-;24109:2;24104:3;24100:12;24093:19;;23753:365;;;:::o;24124:419::-;24290:4;24328:2;24317:9;24313:18;24305:26;;24377:9;24371:4;24367:20;24363:1;24352:9;24348:17;24341:47;24405:131;24531:4;24405:131;:::i;:::-;24397:139;;24124:419;;;:::o
Swarm Source
ipfs://a0e7be9158650ad6381307936154376fe396f2a7d632ae3d4252745f01ced91e
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.