ERC-20
Overview
Max Total Supply
101,101,101 SOROS
Holders
11
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
500,000 SOROSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Soros
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-15 */ // File: @openzeppelin/[email protected]/utils/Context.sol // t.me/soros_eth // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/[email protected]/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: @openzeppelin/[email protected]/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); } // File: @openzeppelin/[email protected]/token/ERC20/extensions/IERC20Metadata.sol // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. * * _Available since v4.1._ */ interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } // File: @openzeppelin/[email protected]/token/ERC20/ERC20.sol // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol) pragma solidity ^0.8.0; /** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * For a generic mechanism see {ERC20PresetMinterPauser}. * * TIP: For a detailed writeup see our guide * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} * functions have been added to mitigate the well-known issues around setting * allowances. See {IERC20-approve}. */ contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The default value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. * - the caller must have allowance for ``from``'s tokens of at least * `amount`. */ function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } /** * @dev Moves `amount` of tokens from `from` to `to`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `from` must have a balance of at least `amount`. */ function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[from] = fromBalance - amount; // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by // decrementing then incrementing. _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a {Transfer} event with `from` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. */ function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } /** * @dev Destroys `amount` tokens from `account`, reducing the * total supply. * * Emits a {Transfer} event with `to` set to the zero address. * * Requirements: * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; // Overflow not possible: amount <= accountBalance <= totalSupply. _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Updates `owner` s allowance for `spender` based on spent `amount`. * * Does not update the allowance amount in case of infinite allowance. * Revert if not enough allowance is available. * * Might emit an {Approval} event. */ function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: insufficient allowance"); unchecked { _approve(owner, spender, currentAllowance - amount); } } } /** * @dev Hook that is called before any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be transferred to `to`. * - when `from` is zero, `amount` tokens will be minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} /** * @dev Hook that is called after any transfer of tokens. This includes * minting and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * has been transferred to `to`. * - when `from` is zero, `amount` tokens have been minted for `to`. * - when `to` is zero, `amount` of ``from``'s tokens have been burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } // SPDX-License-Identifier: MIT pragma solidity ^0.8.9; interface IUniswapV3Pool { function token0() external view returns (address); } interface INonfungiblePositionManager { struct CollectParams { uint256 tokenId; address recipient; uint128 amount0Max; uint128 amount1Max; } function collect(CollectParams calldata params) external returns (uint256 amount0, uint256 amount1); function transferFrom(address from, address to, uint256 tokenId) external; function WETH9() external view returns (address); } contract Soros is ERC20, Ownable { bool public paused = true; uint256 public maxWallet; bool public lpLocked; address private collector; uint256 private tokenId; IUniswapV3Pool public pool; INonfungiblePositionManager public position; constructor(address _collector) ERC20("George Soros", "SOROS") { _mint(msg.sender, 101101101 * 10 ** decimals()); collector = _collector; } function setPool(address _pool, address _position, uint256 _tokenId) public onlyOwner { pool = IUniswapV3Pool(_pool); position = INonfungiblePositionManager(_position); tokenId = _tokenId; } function lockLiquidity() public onlyOwner { lpLocked = true; } function recoverNFT() public onlyOwner { require(!lpLocked, "Liquidity locked"); position.transferFrom(address(this), msg.sender, tokenId); } function burnFees() public { uint128 amount0 = type(uint128).max; uint128 amount1 = type(uint128).max; if (pool.token0() == position.WETH9()) amount0 = 0; else amount1 = 0; INonfungiblePositionManager.CollectParams memory params = INonfungiblePositionManager.CollectParams( tokenId, 0x000000000000000000000000000000000000dEaD, amount0, amount1 ); position.collect(params); } function collect(address _recipient) public { require(msg.sender == collector, "Unauthorized"); uint128 amount0 = type(uint128).max; uint128 amount1 = type(uint128).max; if (pool.token0() != position.WETH9()) amount0 = 0; else amount1 = 0; INonfungiblePositionManager.CollectParams memory params = INonfungiblePositionManager.CollectParams( tokenId, _recipient, amount0, amount1 ); position.collect(params); } function _beforeTokenTransfer( address from, address to, uint256 amount ) override internal virtual { if (paused) require(tx.origin == owner() || from == owner() || to == owner(), "Token not live"); if (tx.origin != owner()) require(super.balanceOf(to) + amount <= maxWallet, "Token amount exceeds maximum balance"); } function openTrading(uint256 _maxWallet) public onlyOwner { paused = false; maxWallet = _maxWallet; } function renounce() public onlyOwner { renounceOwnership(); maxWallet = type(uint256).max; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_collector","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"name":"burnFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"}],"name":"collect","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":"lockLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lpLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pool","outputs":[{"internalType":"contract IUniswapV3Pool","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"position","outputs":[{"internalType":"contract INonfungiblePositionManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoverNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pool","type":"address"},{"internalType":"address","name":"_position","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"setPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526001600560146101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506040516200322b3803806200322b833981810160405281019062000052919062000746565b6040518060400160405280600c81526020017f47656f72676520536f726f7300000000000000000000000000000000000000008152506040518060400160405280600581526020017f534f524f530000000000000000000000000000000000000000000000000000008152508160039080519060200190620000d69291906200062c565b508060049080519060200190620000ef9291906200062c565b50505062000112620001066200019a60201b60201c565b620001a260201b60201c565b6200015233620001276200026860201b60201c565b600a62000135919062000912565b630606ae2d62000146919062000963565b6200027160201b60201c565b80600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000c41565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002db9062000a25565b60405180910390fd5b620002f860008383620003df60201b60201c565b80600260008282546200030c919062000a47565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003bf919062000ab5565b60405180910390a3620003db60008383620005b560201b60201c565b5050565b600560149054906101000a900460ff1615620005025762000405620005ba60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614806200047957506200044a620005ba60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80620004bf575062000490620005ba60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b62000501576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004f89062000b22565b60405180910390fd5b5b62000512620005ba60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614620005b057600654816200055f84620005e460201b62000bf21760201c565b6200056b919062000a47565b1115620005af576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005a69062000bba565b60405180910390fd5b5b505050565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b8280546200063a9062000c0b565b90600052602060002090601f0160209004810192826200065e5760008555620006aa565b82601f106200067957805160ff1916838001178555620006aa565b82800160010185558215620006aa579182015b82811115620006a95782518255916020019190600101906200068c565b5b509050620006b99190620006bd565b5090565b5b80821115620006d8576000816000905550600101620006be565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200070e82620006e1565b9050919050565b620007208162000701565b81146200072c57600080fd5b50565b600081519050620007408162000715565b92915050565b6000602082840312156200075f576200075e620006dc565b5b60006200076f848285016200072f565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200080657808604811115620007de57620007dd62000778565b5b6001851615620007ee5780820291505b8081029050620007fe85620007a7565b9450620007be565b94509492505050565b600082620008215760019050620008f4565b81620008315760009050620008f4565b81600181146200084a576002811462000855576200088b565b6001915050620008f4565b60ff8411156200086a576200086962000778565b5b8360020a91508482111562000884576200088362000778565b5b50620008f4565b5060208310610133831016604e8410600b8410161715620008c55782820a905083811115620008bf57620008be62000778565b5b620008f4565b620008d48484846001620007b4565b92509050818404811115620008ee57620008ed62000778565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200091f82620008fb565b91506200092c8362000905565b92506200095b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200080f565b905092915050565b60006200097082620008fb565b91506200097d83620008fb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009b957620009b862000778565b5b828202905092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000a0d601f83620009c4565b915062000a1a82620009d5565b602082019050919050565b6000602082019050818103600083015262000a4081620009fe565b9050919050565b600062000a5482620008fb565b915062000a6183620008fb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000a995762000a9862000778565b5b828201905092915050565b62000aaf81620008fb565b82525050565b600060208201905062000acc600083018462000aa4565b92915050565b7f546f6b656e206e6f74206c697665000000000000000000000000000000000000600082015250565b600062000b0a600e83620009c4565b915062000b178262000ad2565b602082019050919050565b6000602082019050818103600083015262000b3d8162000afb565b9050919050565b7f546f6b656e20616d6f756e742065786365656473206d6178696d756d2062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b600062000ba2602483620009c4565b915062000baf8262000b44565b604082019050919050565b6000602082019050818103600083015262000bd58162000b93565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c2457607f821691505b6020821081141562000c3b5762000c3a62000bdc565b5b50919050565b6125da8062000c516000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80637ccc0078116100de578063b217a5a211610097578063d163364911610071578063d16336491461042b578063dd62ed3e14610447578063f2fde38b14610477578063f8b45b05146104935761018e565b8063b217a5a2146103f9578063bb2f719914610403578063cf53154c1461040d5761018e565b80637ccc0078146103375780638da5cb5b1461035357806395d89b4114610371578063a457c2d71461038f578063a9059cbb146103bf578063b15be2f5146103ef5761018e565b806323b872dd1161014b57806340f6ac311161012557806340f6ac31146102d55780635c975abb146102df57806370a08231146102fd578063715018a61461032d5761018e565b806323b872dd14610257578063313ce5671461028757806339509351146102a55761018e565b806306ec16f81461019357806306fdde03146101af57806309218e91146101cd578063095ea7b3146101eb57806316f0115b1461021b57806318160ddd14610239575b600080fd5b6101ad60048036038101906101a891906118f6565b6104b1565b005b6101b76107d2565b6040516101c491906119bc565b60405180910390f35b6101d5610864565b6040516101e29190611a3d565b60405180910390f35b61020560048036038101906102009190611a8e565b61088a565b6040516102129190611ae9565b60405180910390f35b6102236108ad565b6040516102309190611b25565b60405180910390f35b6102416108d3565b60405161024e9190611b4f565b60405180910390f35b610271600480360381019061026c9190611b6a565b6108dd565b60405161027e9190611ae9565b60405180910390f35b61028f61090c565b60405161029c9190611bd9565b60405180910390f35b6102bf60048036038101906102ba9190611a8e565b610915565b6040516102cc9190611ae9565b60405180910390f35b6102dd61094c565b005b6102e7610bdf565b6040516102f49190611ae9565b60405180910390f35b610317600480360381019061031291906118f6565b610bf2565b6040516103249190611b4f565b60405180910390f35b610335610c3a565b005b610351600480360381019061034c9190611b6a565b610c4e565b005b61035b610ce4565b6040516103689190611c03565b60405180910390f35b610379610d0e565b60405161038691906119bc565b60405180910390f35b6103a960048036038101906103a49190611a8e565b610da0565b6040516103b69190611ae9565b60405180910390f35b6103d960048036038101906103d49190611a8e565b610e17565b6040516103e69190611ae9565b60405180910390f35b6103f7610e3a565b005b610401610e73565b005b61040b610f60565b005b610415610f85565b6040516104229190611ae9565b60405180910390f35b61044560048036038101906104409190611c1e565b610f98565b005b610461600480360381019061045c9190611c4b565b610fc5565b60405161046e9190611b4f565b60405180910390f35b610491600480360381019061048c91906118f6565b61104c565b005b61049b6110d0565b6040516104a89190611b4f565b60405180910390f35b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053890611cd7565b60405180910390fd5b60006fffffffffffffffffffffffffffffffff905060006fffffffffffffffffffffffffffffffff9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fc9190611d0c565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a39190611d0c565b73ffffffffffffffffffffffffffffffffffffffff16146106c757600091506106cc565b600090505b6000604051806080016040528060085481526020018573ffffffffffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152509050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fc6f7865826040518263ffffffff1660e01b81526004016107889190611dd7565b60408051808303816000875af11580156107a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ca9190611e07565b505050505050565b6060600380546107e190611e76565b80601f016020809104026020016040519081016040528092919081815260200182805461080d90611e76565b801561085a5780601f1061082f5761010080835404028352916020019161085a565b820191906000526020600020905b81548152906001019060200180831161083d57829003601f168201915b5050505050905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806108956110d6565b90506108a28185856110de565b600191505092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b6000806108e86110d6565b90506108f58582856112a9565b610900858585611335565b60019150509392505050565b60006012905090565b6000806109206110d6565b90506109418185856109328589610fc5565b61093c9190611ed7565b6110de565b600191505092915050565b60006fffffffffffffffffffffffffffffffff905060006fffffffffffffffffffffffffffffffff9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a079190611d0c565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190611d0c565b73ffffffffffffffffffffffffffffffffffffffff161415610ad35760009150610ad8565b600090505b60006040518060800160405280600854815260200161dead73ffffffffffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152509050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fc6f7865826040518263ffffffff1660e01b8152600401610b969190611dd7565b60408051808303816000875af1158015610bb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd89190611e07565b5050505050565b600560149054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c426115ad565b610c4c600061162b565b565b610c566115ad565b82600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600881905550505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610d1d90611e76565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4990611e76565b8015610d965780601f10610d6b57610100808354040283529160200191610d96565b820191906000526020600020905b815481529060010190602001808311610d7957829003601f168201915b5050505050905090565b600080610dab6110d6565b90506000610db98286610fc5565b905083811015610dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df590611f9f565b60405180910390fd5b610e0b82868684036110de565b60019250505092915050565b600080610e226110d6565b9050610e2f818585611335565b600191505092915050565b610e426115ad565b610e4a610c3a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600681905550565b610e7b6115ad565b600760009054906101000a900460ff1615610ecb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec29061200b565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd30336008546040518463ffffffff1660e01b8152600401610f2c9392919061202b565b600060405180830381600087803b158015610f4657600080fd5b505af1158015610f5a573d6000803e3d6000fd5b50505050565b610f686115ad565b6001600760006101000a81548160ff021916908315150217905550565b600760009054906101000a900460ff1681565b610fa06115ad565b6000600560146101000a81548160ff0219169083151502179055508060068190555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110546115ad565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb906120d4565b60405180910390fd5b6110cd8161162b565b50565b60065481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114590612166565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b5906121f8565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161129c9190611b4f565b60405180910390a3505050565b60006112b58484610fc5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461132f5781811015611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890612264565b60405180910390fd5b61132e84848484036110de565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c906122f6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140c90612388565b60405180910390fd5b6114208383836116f1565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149d9061241a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115949190611b4f565b60405180910390a36115a784848461188e565b50505050565b6115b56110d6565b73ffffffffffffffffffffffffffffffffffffffff166115d3610ce4565b73ffffffffffffffffffffffffffffffffffffffff1614611629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162090612486565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600560149054906101000a900460ff16156117f65761170e610ce4565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161480611779575061174a610ce4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806117b65750611787610ce4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6117f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ec906124f2565b60405180910390fd5b5b6117fe610ce4565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611889576006548161183d84610bf2565b6118479190611ed7565b1115611888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187f90612584565b60405180910390fd5b5b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118c382611898565b9050919050565b6118d3816118b8565b81146118de57600080fd5b50565b6000813590506118f0816118ca565b92915050565b60006020828403121561190c5761190b611893565b5b600061191a848285016118e1565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561195d578082015181840152602081019050611942565b8381111561196c576000848401525b50505050565b6000601f19601f8301169050919050565b600061198e82611923565b611998818561192e565b93506119a881856020860161193f565b6119b181611972565b840191505092915050565b600060208201905081810360008301526119d68184611983565b905092915050565b6000819050919050565b6000611a036119fe6119f984611898565b6119de565b611898565b9050919050565b6000611a15826119e8565b9050919050565b6000611a2782611a0a565b9050919050565b611a3781611a1c565b82525050565b6000602082019050611a526000830184611a2e565b92915050565b6000819050919050565b611a6b81611a58565b8114611a7657600080fd5b50565b600081359050611a8881611a62565b92915050565b60008060408385031215611aa557611aa4611893565b5b6000611ab3858286016118e1565b9250506020611ac485828601611a79565b9150509250929050565b60008115159050919050565b611ae381611ace565b82525050565b6000602082019050611afe6000830184611ada565b92915050565b6000611b0f82611a0a565b9050919050565b611b1f81611b04565b82525050565b6000602082019050611b3a6000830184611b16565b92915050565b611b4981611a58565b82525050565b6000602082019050611b646000830184611b40565b92915050565b600080600060608486031215611b8357611b82611893565b5b6000611b91868287016118e1565b9350506020611ba2868287016118e1565b9250506040611bb386828701611a79565b9150509250925092565b600060ff82169050919050565b611bd381611bbd565b82525050565b6000602082019050611bee6000830184611bca565b92915050565b611bfd816118b8565b82525050565b6000602082019050611c186000830184611bf4565b92915050565b600060208284031215611c3457611c33611893565b5b6000611c4284828501611a79565b91505092915050565b60008060408385031215611c6257611c61611893565b5b6000611c70858286016118e1565b9250506020611c81858286016118e1565b9150509250929050565b7f556e617574686f72697a65640000000000000000000000000000000000000000600082015250565b6000611cc1600c8361192e565b9150611ccc82611c8b565b602082019050919050565b60006020820190508181036000830152611cf081611cb4565b9050919050565b600081519050611d06816118ca565b92915050565b600060208284031215611d2257611d21611893565b5b6000611d3084828501611cf7565b91505092915050565b611d4281611a58565b82525050565b611d51816118b8565b82525050565b60006fffffffffffffffffffffffffffffffff82169050919050565b611d7c81611d57565b82525050565b608082016000820151611d986000850182611d39565b506020820151611dab6020850182611d48565b506040820151611dbe6040850182611d73565b506060820151611dd16060850182611d73565b50505050565b6000608082019050611dec6000830184611d82565b92915050565b600081519050611e0181611a62565b92915050565b60008060408385031215611e1e57611e1d611893565b5b6000611e2c85828601611df2565b9250506020611e3d85828601611df2565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e8e57607f821691505b60208210811415611ea257611ea1611e47565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ee282611a58565b9150611eed83611a58565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611f2257611f21611ea8565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611f8960258361192e565b9150611f9482611f2d565b604082019050919050565b60006020820190508181036000830152611fb881611f7c565b9050919050565b7f4c6971756964697479206c6f636b656400000000000000000000000000000000600082015250565b6000611ff560108361192e565b915061200082611fbf565b602082019050919050565b6000602082019050818103600083015261202481611fe8565b9050919050565b60006060820190506120406000830186611bf4565b61204d6020830185611bf4565b61205a6040830184611b40565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006120be60268361192e565b91506120c982612062565b604082019050919050565b600060208201905081810360008301526120ed816120b1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061215060248361192e565b915061215b826120f4565b604082019050919050565b6000602082019050818103600083015261217f81612143565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006121e260228361192e565b91506121ed82612186565b604082019050919050565b60006020820190508181036000830152612211816121d5565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061224e601d8361192e565b915061225982612218565b602082019050919050565b6000602082019050818103600083015261227d81612241565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122e060258361192e565b91506122eb82612284565b604082019050919050565b6000602082019050818103600083015261230f816122d3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061237260238361192e565b915061237d82612316565b604082019050919050565b600060208201905081810360008301526123a181612365565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061240460268361192e565b915061240f826123a8565b604082019050919050565b60006020820190508181036000830152612433816123f7565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061247060208361192e565b915061247b8261243a565b602082019050919050565b6000602082019050818103600083015261249f81612463565b9050919050565b7f546f6b656e206e6f74206c697665000000000000000000000000000000000000600082015250565b60006124dc600e8361192e565b91506124e7826124a6565b602082019050919050565b6000602082019050818103600083015261250b816124cf565b9050919050565b7f546f6b656e20616d6f756e742065786365656473206d6178696d756d2062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b600061256e60248361192e565b915061257982612512565b604082019050919050565b6000602082019050818103600083015261259d81612561565b905091905056fea264697066735822122069e4379d011b47c041ca93b7fc42e4868e6f7d78c07eb78f304fbf5a4fcd313e64736f6c634300080b0033000000000000000000000000694163b69e881fc2f8e82a38964783dbe2cb7e5c
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061018e5760003560e01c80637ccc0078116100de578063b217a5a211610097578063d163364911610071578063d16336491461042b578063dd62ed3e14610447578063f2fde38b14610477578063f8b45b05146104935761018e565b8063b217a5a2146103f9578063bb2f719914610403578063cf53154c1461040d5761018e565b80637ccc0078146103375780638da5cb5b1461035357806395d89b4114610371578063a457c2d71461038f578063a9059cbb146103bf578063b15be2f5146103ef5761018e565b806323b872dd1161014b57806340f6ac311161012557806340f6ac31146102d55780635c975abb146102df57806370a08231146102fd578063715018a61461032d5761018e565b806323b872dd14610257578063313ce5671461028757806339509351146102a55761018e565b806306ec16f81461019357806306fdde03146101af57806309218e91146101cd578063095ea7b3146101eb57806316f0115b1461021b57806318160ddd14610239575b600080fd5b6101ad60048036038101906101a891906118f6565b6104b1565b005b6101b76107d2565b6040516101c491906119bc565b60405180910390f35b6101d5610864565b6040516101e29190611a3d565b60405180910390f35b61020560048036038101906102009190611a8e565b61088a565b6040516102129190611ae9565b60405180910390f35b6102236108ad565b6040516102309190611b25565b60405180910390f35b6102416108d3565b60405161024e9190611b4f565b60405180910390f35b610271600480360381019061026c9190611b6a565b6108dd565b60405161027e9190611ae9565b60405180910390f35b61028f61090c565b60405161029c9190611bd9565b60405180910390f35b6102bf60048036038101906102ba9190611a8e565b610915565b6040516102cc9190611ae9565b60405180910390f35b6102dd61094c565b005b6102e7610bdf565b6040516102f49190611ae9565b60405180910390f35b610317600480360381019061031291906118f6565b610bf2565b6040516103249190611b4f565b60405180910390f35b610335610c3a565b005b610351600480360381019061034c9190611b6a565b610c4e565b005b61035b610ce4565b6040516103689190611c03565b60405180910390f35b610379610d0e565b60405161038691906119bc565b60405180910390f35b6103a960048036038101906103a49190611a8e565b610da0565b6040516103b69190611ae9565b60405180910390f35b6103d960048036038101906103d49190611a8e565b610e17565b6040516103e69190611ae9565b60405180910390f35b6103f7610e3a565b005b610401610e73565b005b61040b610f60565b005b610415610f85565b6040516104229190611ae9565b60405180910390f35b61044560048036038101906104409190611c1e565b610f98565b005b610461600480360381019061045c9190611c4b565b610fc5565b60405161046e9190611b4f565b60405180910390f35b610491600480360381019061048c91906118f6565b61104c565b005b61049b6110d0565b6040516104a89190611b4f565b60405180910390f35b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053890611cd7565b60405180910390fd5b60006fffffffffffffffffffffffffffffffff905060006fffffffffffffffffffffffffffffffff9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fc9190611d0c565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a39190611d0c565b73ffffffffffffffffffffffffffffffffffffffff16146106c757600091506106cc565b600090505b6000604051806080016040528060085481526020018573ffffffffffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152509050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fc6f7865826040518263ffffffff1660e01b81526004016107889190611dd7565b60408051808303816000875af11580156107a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ca9190611e07565b505050505050565b6060600380546107e190611e76565b80601f016020809104026020016040519081016040528092919081815260200182805461080d90611e76565b801561085a5780601f1061082f5761010080835404028352916020019161085a565b820191906000526020600020905b81548152906001019060200180831161083d57829003601f168201915b5050505050905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806108956110d6565b90506108a28185856110de565b600191505092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b6000806108e86110d6565b90506108f58582856112a9565b610900858585611335565b60019150509392505050565b60006012905090565b6000806109206110d6565b90506109418185856109328589610fc5565b61093c9190611ed7565b6110de565b600191505092915050565b60006fffffffffffffffffffffffffffffffff905060006fffffffffffffffffffffffffffffffff9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a079190611d0c565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aae9190611d0c565b73ffffffffffffffffffffffffffffffffffffffff161415610ad35760009150610ad8565b600090505b60006040518060800160405280600854815260200161dead73ffffffffffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152509050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fc6f7865826040518263ffffffff1660e01b8152600401610b969190611dd7565b60408051808303816000875af1158015610bb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd89190611e07565b5050505050565b600560149054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c426115ad565b610c4c600061162b565b565b610c566115ad565b82600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600881905550505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610d1d90611e76565b80601f0160208091040260200160405190810160405280929190818152602001828054610d4990611e76565b8015610d965780601f10610d6b57610100808354040283529160200191610d96565b820191906000526020600020905b815481529060010190602001808311610d7957829003601f168201915b5050505050905090565b600080610dab6110d6565b90506000610db98286610fc5565b905083811015610dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df590611f9f565b60405180910390fd5b610e0b82868684036110de565b60019250505092915050565b600080610e226110d6565b9050610e2f818585611335565b600191505092915050565b610e426115ad565b610e4a610c3a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600681905550565b610e7b6115ad565b600760009054906101000a900460ff1615610ecb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec29061200b565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd30336008546040518463ffffffff1660e01b8152600401610f2c9392919061202b565b600060405180830381600087803b158015610f4657600080fd5b505af1158015610f5a573d6000803e3d6000fd5b50505050565b610f686115ad565b6001600760006101000a81548160ff021916908315150217905550565b600760009054906101000a900460ff1681565b610fa06115ad565b6000600560146101000a81548160ff0219169083151502179055508060068190555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6110546115ad565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb906120d4565b60405180910390fd5b6110cd8161162b565b50565b60065481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114590612166565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b5906121f8565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161129c9190611b4f565b60405180910390a3505050565b60006112b58484610fc5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461132f5781811015611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890612264565b60405180910390fd5b61132e84848484036110de565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c906122f6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140c90612388565b60405180910390fd5b6114208383836116f1565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156114a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149d9061241a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115949190611b4f565b60405180910390a36115a784848461188e565b50505050565b6115b56110d6565b73ffffffffffffffffffffffffffffffffffffffff166115d3610ce4565b73ffffffffffffffffffffffffffffffffffffffff1614611629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162090612486565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600560149054906101000a900460ff16156117f65761170e610ce4565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161480611779575061174a610ce4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806117b65750611787610ce4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b6117f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ec906124f2565b60405180910390fd5b5b6117fe610ce4565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611889576006548161183d84610bf2565b6118479190611ed7565b1115611888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187f90612584565b60405180910390fd5b5b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118c382611898565b9050919050565b6118d3816118b8565b81146118de57600080fd5b50565b6000813590506118f0816118ca565b92915050565b60006020828403121561190c5761190b611893565b5b600061191a848285016118e1565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561195d578082015181840152602081019050611942565b8381111561196c576000848401525b50505050565b6000601f19601f8301169050919050565b600061198e82611923565b611998818561192e565b93506119a881856020860161193f565b6119b181611972565b840191505092915050565b600060208201905081810360008301526119d68184611983565b905092915050565b6000819050919050565b6000611a036119fe6119f984611898565b6119de565b611898565b9050919050565b6000611a15826119e8565b9050919050565b6000611a2782611a0a565b9050919050565b611a3781611a1c565b82525050565b6000602082019050611a526000830184611a2e565b92915050565b6000819050919050565b611a6b81611a58565b8114611a7657600080fd5b50565b600081359050611a8881611a62565b92915050565b60008060408385031215611aa557611aa4611893565b5b6000611ab3858286016118e1565b9250506020611ac485828601611a79565b9150509250929050565b60008115159050919050565b611ae381611ace565b82525050565b6000602082019050611afe6000830184611ada565b92915050565b6000611b0f82611a0a565b9050919050565b611b1f81611b04565b82525050565b6000602082019050611b3a6000830184611b16565b92915050565b611b4981611a58565b82525050565b6000602082019050611b646000830184611b40565b92915050565b600080600060608486031215611b8357611b82611893565b5b6000611b91868287016118e1565b9350506020611ba2868287016118e1565b9250506040611bb386828701611a79565b9150509250925092565b600060ff82169050919050565b611bd381611bbd565b82525050565b6000602082019050611bee6000830184611bca565b92915050565b611bfd816118b8565b82525050565b6000602082019050611c186000830184611bf4565b92915050565b600060208284031215611c3457611c33611893565b5b6000611c4284828501611a79565b91505092915050565b60008060408385031215611c6257611c61611893565b5b6000611c70858286016118e1565b9250506020611c81858286016118e1565b9150509250929050565b7f556e617574686f72697a65640000000000000000000000000000000000000000600082015250565b6000611cc1600c8361192e565b9150611ccc82611c8b565b602082019050919050565b60006020820190508181036000830152611cf081611cb4565b9050919050565b600081519050611d06816118ca565b92915050565b600060208284031215611d2257611d21611893565b5b6000611d3084828501611cf7565b91505092915050565b611d4281611a58565b82525050565b611d51816118b8565b82525050565b60006fffffffffffffffffffffffffffffffff82169050919050565b611d7c81611d57565b82525050565b608082016000820151611d986000850182611d39565b506020820151611dab6020850182611d48565b506040820151611dbe6040850182611d73565b506060820151611dd16060850182611d73565b50505050565b6000608082019050611dec6000830184611d82565b92915050565b600081519050611e0181611a62565b92915050565b60008060408385031215611e1e57611e1d611893565b5b6000611e2c85828601611df2565b9250506020611e3d85828601611df2565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e8e57607f821691505b60208210811415611ea257611ea1611e47565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611ee282611a58565b9150611eed83611a58565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611f2257611f21611ea8565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611f8960258361192e565b9150611f9482611f2d565b604082019050919050565b60006020820190508181036000830152611fb881611f7c565b9050919050565b7f4c6971756964697479206c6f636b656400000000000000000000000000000000600082015250565b6000611ff560108361192e565b915061200082611fbf565b602082019050919050565b6000602082019050818103600083015261202481611fe8565b9050919050565b60006060820190506120406000830186611bf4565b61204d6020830185611bf4565b61205a6040830184611b40565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006120be60268361192e565b91506120c982612062565b604082019050919050565b600060208201905081810360008301526120ed816120b1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061215060248361192e565b915061215b826120f4565b604082019050919050565b6000602082019050818103600083015261217f81612143565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006121e260228361192e565b91506121ed82612186565b604082019050919050565b60006020820190508181036000830152612211816121d5565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061224e601d8361192e565b915061225982612218565b602082019050919050565b6000602082019050818103600083015261227d81612241565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006122e060258361192e565b91506122eb82612284565b604082019050919050565b6000602082019050818103600083015261230f816122d3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061237260238361192e565b915061237d82612316565b604082019050919050565b600060208201905081810360008301526123a181612365565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061240460268361192e565b915061240f826123a8565b604082019050919050565b60006020820190508181036000830152612433816123f7565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061247060208361192e565b915061247b8261243a565b602082019050919050565b6000602082019050818103600083015261249f81612463565b9050919050565b7f546f6b656e206e6f74206c697665000000000000000000000000000000000000600082015250565b60006124dc600e8361192e565b91506124e7826124a6565b602082019050919050565b6000602082019050818103600083015261250b816124cf565b9050919050565b7f546f6b656e20616d6f756e742065786365656473206d6178696d756d2062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b600061256e60248361192e565b915061257982612512565b604082019050919050565b6000602082019050818103600083015261259d81612561565b905091905056fea264697066735822122069e4379d011b47c041ca93b7fc42e4868e6f7d78c07eb78f304fbf5a4fcd313e64736f6c634300080b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000694163b69e881fc2f8e82a38964783dbe2cb7e5c
-----Decoded View---------------
Arg [0] : _collector (address): 0x694163B69E881fC2f8E82a38964783DBe2cB7E5c
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000694163b69e881fc2f8e82a38964783dbe2cb7e5c
Deployed Bytecode Sourcemap
21177:2607:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22613:529;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9400:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21403:43;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11751:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21369:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10520:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12532:295;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10362:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13236:238;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22120:485;;;:::i;:::-;;21217:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10691:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2807:103;;;:::i;:::-;;21634:222;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2159:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9619:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13977:436;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11024:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23664:115;;;:::i;:::-;;21948:164;;;:::i;:::-;;21864:76;;;:::i;:::-;;21280:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23532:124;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11280:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3065:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21249:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22613:529;22690:9;;;;;;;;;;;22676:23;;:10;:23;;;22668:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;22727:15;22745:17;22727:35;;22773:15;22791:17;22773:35;;22840:8;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22823:33;;:4;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:33;;;22819:68;;22868:1;22858:11;;22819:68;;;22886:1;22876:11;;22819:68;22898:55;22956:143;;;;;;;;23012:7;;22956:143;;;;23034:10;22956:143;;;;;;23059:7;22956:143;;;;;;23081:7;22956:143;;;;;22898:201;;23110:8;;;;;;;;;;;:16;;;23127:6;23110:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;22657:485;;;22613:529;:::o;9400:100::-;9454:13;9487:5;9480:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9400:100;:::o;21403:43::-;;;;;;;;;;;;;:::o;11751:201::-;11834:4;11851:13;11867:12;:10;:12::i;:::-;11851:28;;11890:32;11899:5;11906:7;11915:6;11890:8;:32::i;:::-;11940:4;11933:11;;;11751:201;;;;:::o;21369:26::-;;;;;;;;;;;;;:::o;10520:108::-;10581:7;10608:12;;10601:19;;10520:108;:::o;12532:295::-;12663:4;12680:15;12698:12;:10;:12::i;:::-;12680:30;;12721:38;12737:4;12743:7;12752:6;12721:15;:38::i;:::-;12770:27;12780:4;12786:2;12790:6;12770:9;:27::i;:::-;12815:4;12808:11;;;12532:295;;;;;:::o;10362:93::-;10420:5;10445:2;10438:9;;10362:93;:::o;13236:238::-;13324:4;13341:13;13357:12;:10;:12::i;:::-;13341:28;;13380:64;13389:5;13396:7;13433:10;13405:25;13415:5;13422:7;13405:9;:25::i;:::-;:38;;;;:::i;:::-;13380:8;:64::i;:::-;13462:4;13455:11;;;13236:238;;;;:::o;22120:485::-;22158:15;22176:17;22158:35;;22204:15;22222:17;22204:35;;22271:8;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22254:33;;:4;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:33;;;22250:68;;;22299:1;22289:11;;22250:68;;;22317:1;22307:11;;22250:68;22329:55;22387:175;;;;;;;;22443:7;;22387:175;;;;22465:42;22387:175;;;;;;22522:7;22387:175;;;;;;22544:7;22387:175;;;;;22329:233;;22573:8;;;;;;;;;;;:16;;;22590:6;22573:24;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;22147:458;;;22120:485::o;21217:25::-;;;;;;;;;;;;;:::o;10691:127::-;10765:7;10792:9;:18;10802:7;10792:18;;;;;;;;;;;;;;;;10785:25;;10691:127;;;:::o;2807:103::-;2045:13;:11;:13::i;:::-;2872:30:::1;2899:1;2872:18;:30::i;:::-;2807:103::o:0;21634:222::-;2045:13;:11;:13::i;:::-;21753:5:::1;21731:4;;:28;;;;;;;;;;;;;;;;;;21809:9;21770:8;;:49;;;;;;;;;;;;;;;;;;21840:8;21830:7;:18;;;;21634:222:::0;;;:::o;2159:87::-;2205:7;2232:6;;;;;;;;;;;2225:13;;2159:87;:::o;9619:104::-;9675:13;9708:7;9701:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9619:104;:::o;13977:436::-;14070:4;14087:13;14103:12;:10;:12::i;:::-;14087:28;;14126:24;14153:25;14163:5;14170:7;14153:9;:25::i;:::-;14126:52;;14217:15;14197:16;:35;;14189:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14310:60;14319:5;14326:7;14354:15;14335:16;:34;14310:8;:60::i;:::-;14401:4;14394:11;;;;13977:436;;;;:::o;11024:193::-;11103:4;11120:13;11136:12;:10;:12::i;:::-;11120:28;;11159;11169:5;11176:2;11180:6;11159:9;:28::i;:::-;11205:4;11198:11;;;11024:193;;;;:::o;23664:115::-;2045:13;:11;:13::i;:::-;23712:19:::1;:17;:19::i;:::-;23754:17;23742:9;:29;;;;23664:115::o:0;21948:164::-;2045:13;:11;:13::i;:::-;22007:8:::1;;;;;;;;;;;22006:9;21998:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;22047:8;;;;;;;;;;;:21;;;22077:4;22084:10;22096:7;;22047:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;21948:164::o:0;21864:76::-;2045:13;:11;:13::i;:::-;21928:4:::1;21917:8;;:15;;;;;;;;;;;;;;;;;;21864:76::o:0;21280:20::-;;;;;;;;;;;;;:::o;23532:124::-;2045:13;:11;:13::i;:::-;23610:5:::1;23601:6;;:14;;;;;;;;;;;;;;;;;;23638:10;23626:9;:22;;;;23532:124:::0;:::o;11280:151::-;11369:7;11396:11;:18;11408:5;11396:18;;;;;;;;;;;;;;;:27;11415:7;11396:27;;;;;;;;;;;;;;;;11389:34;;11280:151;;;;:::o;3065:201::-;2045:13;:11;:13::i;:::-;3174:1:::1;3154:22;;:8;:22;;;;3146:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3230:28;3249:8;3230:18;:28::i;:::-;3065:201:::0;:::o;21249:24::-;;;;:::o;704:98::-;757:7;784:10;777:17;;704:98;:::o;18004:380::-;18157:1;18140:19;;:5;:19;;;;18132:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18238:1;18219:21;;:7;:21;;;;18211:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18322:6;18292:11;:18;18304:5;18292:18;;;;;;;;;;;;;;;:27;18311:7;18292:27;;;;;;;;;;;;;;;:36;;;;18360:7;18344:32;;18353:5;18344:32;;;18369:6;18344:32;;;;;;:::i;:::-;;;;;;;;18004:380;;;:::o;18675:453::-;18810:24;18837:25;18847:5;18854:7;18837:9;:25::i;:::-;18810:52;;18897:17;18877:16;:37;18873:248;;18959:6;18939:16;:26;;18931:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19043:51;19052:5;19059:7;19087:6;19068:16;:25;19043:8;:51::i;:::-;18873:248;18799:329;18675:453;;;:::o;14883:840::-;15030:1;15014:18;;:4;:18;;;;15006:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15107:1;15093:16;;:2;:16;;;;15085:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15162:38;15183:4;15189:2;15193:6;15162:20;:38::i;:::-;15213:19;15235:9;:15;15245:4;15235:15;;;;;;;;;;;;;;;;15213:37;;15284:6;15269:11;:21;;15261:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15401:6;15387:11;:20;15369:9;:15;15379:4;15369:15;;;;;;;;;;;;;;;:38;;;;15604:6;15587:9;:13;15597:2;15587:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;15654:2;15639:26;;15648:4;15639:26;;;15658:6;15639:26;;;;;;:::i;:::-;;;;;;;;15678:37;15698:4;15704:2;15708:6;15678:19;:37::i;:::-;14995:728;14883:840;;;:::o;2324:132::-;2399:12;:10;:12::i;:::-;2388:23;;:7;:5;:7::i;:::-;:23;;;2380:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2324:132::o;3426:191::-;3500:16;3519:6;;;;;;;;;;;3500:25;;3545:8;3536:6;;:17;;;;;;;;;;;;;;;;;;3600:8;3569:40;;3590:8;3569:40;;;;;;;;;;;;3489:128;3426:191;:::o;23150:373::-;23297:6;;;;;;;;;;;23293:95;;;23326:7;:5;:7::i;:::-;23313:20;;:9;:20;;;:39;;;;23345:7;:5;:7::i;:::-;23337:15;;:4;:15;;;23313:39;:56;;;;23362:7;:5;:7::i;:::-;23356:13;;:2;:13;;;23313:56;23305:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;23293:95;23416:7;:5;:7::i;:::-;23403:20;;:9;:20;;;23399:116;;23465:9;;23455:6;23433:19;23449:2;23433:15;:19::i;:::-;:28;;;;:::i;:::-;:41;;23425:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;23399:116;23150:373;;;:::o;20457:124::-;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:99::-;1228:6;1262:5;1256:12;1246:22;;1176:99;;;:::o;1281:169::-;1365:11;1399:6;1394:3;1387:19;1439:4;1434:3;1430:14;1415:29;;1281:169;;;;:::o;1456:307::-;1524:1;1534:113;1548:6;1545:1;1542:13;1534:113;;;1633:1;1628:3;1624:11;1618:18;1614:1;1609:3;1605:11;1598:39;1570:2;1567:1;1563:10;1558:15;;1534:113;;;1665:6;1662:1;1659:13;1656:101;;;1745:1;1736:6;1731:3;1727:16;1720:27;1656:101;1505:258;1456:307;;;:::o;1769:102::-;1810:6;1861:2;1857:7;1852:2;1845:5;1841:14;1837:28;1827:38;;1769:102;;;:::o;1877:364::-;1965:3;1993:39;2026:5;1993:39;:::i;:::-;2048:71;2112:6;2107:3;2048:71;:::i;:::-;2041:78;;2128:52;2173:6;2168:3;2161:4;2154:5;2150:16;2128:52;:::i;:::-;2205:29;2227:6;2205:29;:::i;:::-;2200:3;2196:39;2189:46;;1969:272;1877:364;;;;:::o;2247:313::-;2360:4;2398:2;2387:9;2383:18;2375:26;;2447:9;2441:4;2437:20;2433:1;2422:9;2418:17;2411:47;2475:78;2548:4;2539:6;2475:78;:::i;:::-;2467:86;;2247:313;;;;:::o;2566:60::-;2594:3;2615:5;2608:12;;2566:60;;;:::o;2632:142::-;2682:9;2715:53;2733:34;2742:24;2760:5;2742:24;:::i;:::-;2733:34;:::i;:::-;2715:53;:::i;:::-;2702:66;;2632:142;;;:::o;2780:126::-;2830:9;2863:37;2894:5;2863:37;:::i;:::-;2850:50;;2780:126;;;:::o;2912:161::-;2997:9;3030:37;3061:5;3030:37;:::i;:::-;3017:50;;2912:161;;;:::o;3079:201::-;3201:72;3267:5;3201:72;:::i;:::-;3196:3;3189:85;3079:201;;:::o;3286:292::-;3414:4;3452:2;3441:9;3437:18;3429:26;;3465:106;3568:1;3557:9;3553:17;3544:6;3465:106;:::i;:::-;3286:292;;;;:::o;3584:77::-;3621:7;3650:5;3639:16;;3584:77;;;:::o;3667:122::-;3740:24;3758:5;3740:24;:::i;:::-;3733:5;3730:35;3720:63;;3779:1;3776;3769:12;3720:63;3667:122;:::o;3795:139::-;3841:5;3879:6;3866:20;3857:29;;3895:33;3922:5;3895:33;:::i;:::-;3795:139;;;;:::o;3940:474::-;4008:6;4016;4065:2;4053:9;4044:7;4040:23;4036:32;4033:119;;;4071:79;;:::i;:::-;4033:119;4191:1;4216:53;4261:7;4252:6;4241:9;4237:22;4216:53;:::i;:::-;4206:63;;4162:117;4318:2;4344:53;4389:7;4380:6;4369:9;4365:22;4344:53;:::i;:::-;4334:63;;4289:118;3940:474;;;;;:::o;4420:90::-;4454:7;4497:5;4490:13;4483:21;4472:32;;4420:90;;;:::o;4516:109::-;4597:21;4612:5;4597:21;:::i;:::-;4592:3;4585:34;4516:109;;:::o;4631:210::-;4718:4;4756:2;4745:9;4741:18;4733:26;;4769:65;4831:1;4820:9;4816:17;4807:6;4769:65;:::i;:::-;4631:210;;;;:::o;4847:148::-;4919:9;4952:37;4983:5;4952:37;:::i;:::-;4939:50;;4847:148;;;:::o;5001:175::-;5110:59;5163:5;5110:59;:::i;:::-;5105:3;5098:72;5001:175;;:::o;5182:266::-;5297:4;5335:2;5324:9;5320:18;5312:26;;5348:93;5438:1;5427:9;5423:17;5414:6;5348:93;:::i;:::-;5182:266;;;;:::o;5454:118::-;5541:24;5559:5;5541:24;:::i;:::-;5536:3;5529:37;5454:118;;:::o;5578:222::-;5671:4;5709:2;5698:9;5694:18;5686:26;;5722:71;5790:1;5779:9;5775:17;5766:6;5722:71;:::i;:::-;5578:222;;;;:::o;5806:619::-;5883:6;5891;5899;5948:2;5936:9;5927:7;5923:23;5919:32;5916:119;;;5954:79;;:::i;:::-;5916:119;6074:1;6099:53;6144:7;6135:6;6124:9;6120:22;6099:53;:::i;:::-;6089:63;;6045:117;6201:2;6227:53;6272:7;6263:6;6252:9;6248:22;6227:53;:::i;:::-;6217:63;;6172:118;6329:2;6355:53;6400:7;6391:6;6380:9;6376:22;6355:53;:::i;:::-;6345:63;;6300:118;5806:619;;;;;:::o;6431:86::-;6466:7;6506:4;6499:5;6495:16;6484:27;;6431:86;;;:::o;6523:112::-;6606:22;6622:5;6606:22;:::i;:::-;6601:3;6594:35;6523:112;;:::o;6641:214::-;6730:4;6768:2;6757:9;6753:18;6745:26;;6781:67;6845:1;6834:9;6830:17;6821:6;6781:67;:::i;:::-;6641:214;;;;:::o;6861:118::-;6948:24;6966:5;6948:24;:::i;:::-;6943:3;6936:37;6861:118;;:::o;6985:222::-;7078:4;7116:2;7105:9;7101:18;7093:26;;7129:71;7197:1;7186:9;7182:17;7173:6;7129:71;:::i;:::-;6985:222;;;;:::o;7213:329::-;7272:6;7321:2;7309:9;7300:7;7296:23;7292:32;7289:119;;;7327:79;;:::i;:::-;7289:119;7447:1;7472:53;7517:7;7508:6;7497:9;7493:22;7472:53;:::i;:::-;7462:63;;7418:117;7213:329;;;;:::o;7548:474::-;7616:6;7624;7673:2;7661:9;7652:7;7648:23;7644:32;7641:119;;;7679:79;;:::i;:::-;7641:119;7799:1;7824:53;7869:7;7860:6;7849:9;7845:22;7824:53;:::i;:::-;7814:63;;7770:117;7926:2;7952:53;7997:7;7988:6;7977:9;7973:22;7952:53;:::i;:::-;7942:63;;7897:118;7548:474;;;;;:::o;8028:162::-;8168:14;8164:1;8156:6;8152:14;8145:38;8028:162;:::o;8196:366::-;8338:3;8359:67;8423:2;8418:3;8359:67;:::i;:::-;8352:74;;8435:93;8524:3;8435:93;:::i;:::-;8553:2;8548:3;8544:12;8537:19;;8196:366;;;:::o;8568:419::-;8734:4;8772:2;8761:9;8757:18;8749:26;;8821:9;8815:4;8811:20;8807:1;8796:9;8792:17;8785:47;8849:131;8975:4;8849:131;:::i;:::-;8841:139;;8568:419;;;:::o;8993:143::-;9050:5;9081:6;9075:13;9066:22;;9097:33;9124:5;9097:33;:::i;:::-;8993:143;;;;:::o;9142:351::-;9212:6;9261:2;9249:9;9240:7;9236:23;9232:32;9229:119;;;9267:79;;:::i;:::-;9229:119;9387:1;9412:64;9468:7;9459:6;9448:9;9444:22;9412:64;:::i;:::-;9402:74;;9358:128;9142:351;;;;:::o;9499:108::-;9576:24;9594:5;9576:24;:::i;:::-;9571:3;9564:37;9499:108;;:::o;9613:::-;9690:24;9708:5;9690:24;:::i;:::-;9685:3;9678:37;9613:108;;:::o;9727:118::-;9764:7;9804:34;9797:5;9793:46;9782:57;;9727:118;;;:::o;9851:108::-;9928:24;9946:5;9928:24;:::i;:::-;9923:3;9916:37;9851:108;;:::o;10073:885::-;10230:4;10225:3;10221:14;10320:4;10313:5;10309:16;10303:23;10339:63;10396:4;10391:3;10387:14;10373:12;10339:63;:::i;:::-;10245:167;10499:4;10492:5;10488:16;10482:23;10518:63;10575:4;10570:3;10566:14;10552:12;10518:63;:::i;:::-;10422:169;10679:4;10672:5;10668:16;10662:23;10698:63;10755:4;10750:3;10746:14;10732:12;10698:63;:::i;:::-;10601:170;10859:4;10852:5;10848:16;10842:23;10878:63;10935:4;10930:3;10926:14;10912:12;10878:63;:::i;:::-;10781:170;10199:759;10073:885;;:::o;10964:343::-;11117:4;11155:3;11144:9;11140:19;11132:27;;11169:131;11297:1;11286:9;11282:17;11273:6;11169:131;:::i;:::-;10964:343;;;;:::o;11313:143::-;11370:5;11401:6;11395:13;11386:22;;11417:33;11444:5;11417:33;:::i;:::-;11313:143;;;;:::o;11462:507::-;11541:6;11549;11598:2;11586:9;11577:7;11573:23;11569:32;11566:119;;;11604:79;;:::i;:::-;11566:119;11724:1;11749:64;11805:7;11796:6;11785:9;11781:22;11749:64;:::i;:::-;11739:74;;11695:128;11862:2;11888:64;11944:7;11935:6;11924:9;11920:22;11888:64;:::i;:::-;11878:74;;11833:129;11462:507;;;;;:::o;11975:180::-;12023:77;12020:1;12013:88;12120:4;12117:1;12110:15;12144:4;12141:1;12134:15;12161:320;12205:6;12242:1;12236:4;12232:12;12222:22;;12289:1;12283:4;12279:12;12310:18;12300:81;;12366:4;12358:6;12354:17;12344:27;;12300:81;12428:2;12420:6;12417:14;12397:18;12394:38;12391:84;;;12447:18;;:::i;:::-;12391:84;12212:269;12161:320;;;:::o;12487:180::-;12535:77;12532:1;12525:88;12632:4;12629:1;12622:15;12656:4;12653:1;12646:15;12673:305;12713:3;12732:20;12750:1;12732:20;:::i;:::-;12727:25;;12766:20;12784:1;12766:20;:::i;:::-;12761:25;;12920:1;12852:66;12848:74;12845:1;12842:81;12839:107;;;12926:18;;:::i;:::-;12839:107;12970:1;12967;12963:9;12956:16;;12673:305;;;;:::o;12984:224::-;13124:34;13120:1;13112:6;13108:14;13101:58;13193:7;13188:2;13180:6;13176:15;13169:32;12984:224;:::o;13214:366::-;13356:3;13377:67;13441:2;13436:3;13377:67;:::i;:::-;13370:74;;13453:93;13542:3;13453:93;:::i;:::-;13571:2;13566:3;13562:12;13555:19;;13214:366;;;:::o;13586:419::-;13752:4;13790:2;13779:9;13775:18;13767:26;;13839:9;13833:4;13829:20;13825:1;13814:9;13810:17;13803:47;13867:131;13993:4;13867:131;:::i;:::-;13859:139;;13586:419;;;:::o;14011:166::-;14151:18;14147:1;14139:6;14135:14;14128:42;14011:166;:::o;14183:366::-;14325:3;14346:67;14410:2;14405:3;14346:67;:::i;:::-;14339:74;;14422:93;14511:3;14422:93;:::i;:::-;14540:2;14535:3;14531:12;14524:19;;14183:366;;;:::o;14555:419::-;14721:4;14759:2;14748:9;14744:18;14736:26;;14808:9;14802:4;14798:20;14794:1;14783:9;14779:17;14772:47;14836:131;14962:4;14836:131;:::i;:::-;14828:139;;14555:419;;;:::o;14980:442::-;15129:4;15167:2;15156:9;15152:18;15144:26;;15180:71;15248:1;15237:9;15233:17;15224:6;15180:71;:::i;:::-;15261:72;15329:2;15318:9;15314:18;15305:6;15261:72;:::i;:::-;15343;15411:2;15400:9;15396:18;15387:6;15343:72;:::i;:::-;14980:442;;;;;;:::o;15428:225::-;15568:34;15564:1;15556:6;15552:14;15545:58;15637:8;15632:2;15624:6;15620:15;15613:33;15428:225;:::o;15659:366::-;15801:3;15822:67;15886:2;15881:3;15822:67;:::i;:::-;15815:74;;15898:93;15987:3;15898:93;:::i;:::-;16016:2;16011:3;16007:12;16000:19;;15659:366;;;:::o;16031:419::-;16197:4;16235:2;16224:9;16220:18;16212:26;;16284:9;16278:4;16274:20;16270:1;16259:9;16255:17;16248:47;16312:131;16438:4;16312:131;:::i;:::-;16304:139;;16031:419;;;:::o;16456:223::-;16596:34;16592:1;16584:6;16580:14;16573:58;16665:6;16660:2;16652:6;16648:15;16641:31;16456:223;:::o;16685:366::-;16827:3;16848:67;16912:2;16907:3;16848:67;:::i;:::-;16841:74;;16924:93;17013:3;16924:93;:::i;:::-;17042:2;17037:3;17033:12;17026:19;;16685:366;;;:::o;17057:419::-;17223:4;17261:2;17250:9;17246:18;17238:26;;17310:9;17304:4;17300:20;17296:1;17285:9;17281:17;17274:47;17338:131;17464:4;17338:131;:::i;:::-;17330:139;;17057:419;;;:::o;17482:221::-;17622:34;17618:1;17610:6;17606:14;17599:58;17691:4;17686:2;17678:6;17674:15;17667:29;17482:221;:::o;17709:366::-;17851:3;17872:67;17936:2;17931:3;17872:67;:::i;:::-;17865:74;;17948:93;18037:3;17948:93;:::i;:::-;18066:2;18061:3;18057:12;18050:19;;17709:366;;;:::o;18081:419::-;18247:4;18285:2;18274:9;18270:18;18262:26;;18334:9;18328:4;18324:20;18320:1;18309:9;18305:17;18298:47;18362:131;18488:4;18362:131;:::i;:::-;18354:139;;18081:419;;;:::o;18506:179::-;18646:31;18642:1;18634:6;18630:14;18623:55;18506:179;:::o;18691:366::-;18833:3;18854:67;18918:2;18913:3;18854:67;:::i;:::-;18847:74;;18930:93;19019:3;18930:93;:::i;:::-;19048:2;19043:3;19039:12;19032:19;;18691:366;;;:::o;19063:419::-;19229:4;19267:2;19256:9;19252:18;19244:26;;19316:9;19310:4;19306:20;19302:1;19291:9;19287:17;19280:47;19344:131;19470:4;19344:131;:::i;:::-;19336:139;;19063:419;;;:::o;19488:224::-;19628:34;19624:1;19616:6;19612:14;19605:58;19697:7;19692:2;19684:6;19680:15;19673:32;19488:224;:::o;19718:366::-;19860:3;19881:67;19945:2;19940:3;19881:67;:::i;:::-;19874:74;;19957:93;20046:3;19957:93;:::i;:::-;20075:2;20070:3;20066:12;20059:19;;19718:366;;;:::o;20090:419::-;20256:4;20294:2;20283:9;20279:18;20271:26;;20343:9;20337:4;20333:20;20329:1;20318:9;20314:17;20307:47;20371:131;20497:4;20371:131;:::i;:::-;20363:139;;20090:419;;;:::o;20515:222::-;20655:34;20651:1;20643:6;20639:14;20632:58;20724:5;20719:2;20711:6;20707:15;20700:30;20515:222;:::o;20743:366::-;20885:3;20906:67;20970:2;20965:3;20906:67;:::i;:::-;20899:74;;20982:93;21071:3;20982:93;:::i;:::-;21100:2;21095:3;21091:12;21084:19;;20743:366;;;:::o;21115:419::-;21281:4;21319:2;21308:9;21304:18;21296:26;;21368:9;21362:4;21358:20;21354:1;21343:9;21339:17;21332:47;21396:131;21522:4;21396:131;:::i;:::-;21388:139;;21115:419;;;:::o;21540:225::-;21680:34;21676:1;21668:6;21664:14;21657:58;21749:8;21744:2;21736:6;21732:15;21725:33;21540:225;:::o;21771:366::-;21913:3;21934:67;21998:2;21993:3;21934:67;:::i;:::-;21927:74;;22010:93;22099:3;22010:93;:::i;:::-;22128:2;22123:3;22119:12;22112:19;;21771:366;;;:::o;22143:419::-;22309:4;22347:2;22336:9;22332:18;22324:26;;22396:9;22390:4;22386:20;22382:1;22371:9;22367:17;22360:47;22424:131;22550:4;22424:131;:::i;:::-;22416:139;;22143:419;;;:::o;22568:182::-;22708:34;22704:1;22696:6;22692:14;22685:58;22568:182;:::o;22756:366::-;22898:3;22919:67;22983:2;22978:3;22919:67;:::i;:::-;22912:74;;22995:93;23084:3;22995:93;:::i;:::-;23113:2;23108:3;23104:12;23097:19;;22756:366;;;:::o;23128:419::-;23294:4;23332:2;23321:9;23317:18;23309:26;;23381:9;23375:4;23371:20;23367:1;23356:9;23352:17;23345:47;23409:131;23535:4;23409:131;:::i;:::-;23401:139;;23128:419;;;:::o;23553:164::-;23693:16;23689:1;23681:6;23677:14;23670:40;23553:164;:::o;23723:366::-;23865:3;23886:67;23950:2;23945:3;23886:67;:::i;:::-;23879:74;;23962:93;24051:3;23962:93;:::i;:::-;24080:2;24075:3;24071:12;24064:19;;23723:366;;;:::o;24095:419::-;24261:4;24299:2;24288:9;24284:18;24276:26;;24348:9;24342:4;24338:20;24334:1;24323:9;24319:17;24312:47;24376:131;24502:4;24376:131;:::i;:::-;24368:139;;24095:419;;;:::o;24520:223::-;24660:34;24656:1;24648:6;24644:14;24637:58;24729:6;24724:2;24716:6;24712:15;24705:31;24520:223;:::o;24749:366::-;24891:3;24912:67;24976:2;24971:3;24912:67;:::i;:::-;24905:74;;24988:93;25077:3;24988:93;:::i;:::-;25106:2;25101:3;25097:12;25090:19;;24749:366;;;:::o;25121:419::-;25287:4;25325:2;25314:9;25310:18;25302:26;;25374:9;25368:4;25364:20;25360:1;25349:9;25345:17;25338:47;25402:131;25528:4;25402:131;:::i;:::-;25394:139;;25121:419;;;:::o
Swarm Source
ipfs://69e4379d011b47c041ca93b7fc42e4868e6f7d78c07eb78f304fbf5a4fcd313e
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.